(58)【調査した分野】(Int.Cl.,DB名)
前記管理コントローラは、シフトレジスタクロックリンクを介して前記多重化スイッチに接続されており、前記サーバシステムの管理コントローラが前記特定の冷却ファンモジュールを選択する工程は、前記ファン選択リンク及び前記シフトレジスタクロックリンクを介して、前記特定の冷却ファンモジュールを選択する工程を含む、請求項1の方法。
前記管理コントローラは、シフトレジスタクロックリンクを介して前記多重化スイッチに接続されており、前記サーバシステムの管理コントローラが前記特定の冷却ファンモジュールを選択する工程は、前記ファン選択リンク及び前記シフトレジスタクロックリンクを介して、前記特定の冷却ファンモジュールを選択する工程を含む、請求項4のシステム。
【発明を実施するための形態】
【0019】
本発明は、多くの異なる形態で具体化することができる。代表的な実施形態が図面に示されており、本明細書で詳細に説明する。本開示は、本発明の原理の例示として考慮されるべきであり、本発明の広範な態様を図示した実施形態に限定することを意図するものではない。その範囲において、例えば、概要、要約及び詳細な説明で開示されているが、特許請求の範囲に明記されていない要素及び制限は、含意、推論若しくは他の方式によって単独又は集合的に特許請求の範囲に組み込まれるべきではない。詳細な説明の目的のために、特に断りのない限り、単数は複数を含み、その逆も同様である。「含む」という用語は、「制限なしに含む」ことを意味する。また、例えば、「約(about)」、「ほとんど(almost)」、「実質的に(substantially)」、「おおよそ(approximately)」等の近似の用語は、ここでは、例えば「…で(at)、…近くで(near)、…に近接して(nearly at)」、「…の3〜5%内で」、「製造誤差の許容範囲内で」、又は、これらの任意の論理的組み合わせの意味を含むことができる。
【0020】
本発明の各種例は、コントローラ(例えば、BMC又はラック管理コントローラ(RMC))及び多重化スイッチを用いて複数の冷却ファンモジュールを制御するシステム及び方法を提供する。多重化スイッチは、コントローラを複数の冷却ファンモジュールに接続する。多重化スイッチは、コントローラが複数の冷却ファンモジュールから特定の冷却ファンモジュールを選択するのを可能にする。多重化スイッチは、特定の冷却ファンモジュールが選択されると、特定の冷却ファンモジュールに接続し、特定の冷却ファンモジュールの動作特性(例えば、速度及びエラーメッセージ等)をコントローラに監視させ、特定の冷却ファンモジュールに供給される制御電力又は電流を制御することができる。
【0021】
図1Aは、本発明の一実施形態による、複数の冷却ファンモジュールを有するデータセンタの例示的なサーバシステム100Aを説明する概略ブロック図である。この例において、サーバシステム100Aは、少なくとも1つのマイクロプロセッサ又はプロセッサ104と、1つ以上の冷却ファンモジュール110と、メインメモリ(MEM)111と、AC電源101からAC電力を受信し、電力をサーバシステム100Aの各種コンポーネント(例えば、プロセッサ104、ノースブリッジ(NB)ロジック106、PCIeスロット160、サウスブリッジ(SB)ロジック108、ストレージデバイス109、ISAスロット150、PCIスロット170、多重化スイッチ112及び管理コントローラ又はデバイス103)に提供する少なくとも1つの電源供給ユニット(PSU)102と、を有する。サーバシステム100Aは、電源投入後、メモリ、コンピュータストレージデバイス又は外部ストレージデバイスからソフトウェアアプリケーションをロードして、各種動作を実行するように構成されている。ストレージデバイス109は、サーバシステム100Aのオペレーティングシステム及びアプリケーションに利用可能な論理ブロックに構成されている。構ストレージデバイス109は、サーバシステム100Aの電源がオフになってもサーバデータを保持するように構成されている。
【0022】
図1Aにおいて、メモリ111は、NBロジック106を介してプロセッサ104に接続されている。メモリ111は、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレートDRAM(DDR DRAM)、スタティックRAM(SRAM)又は他のタイプの適切なメモリを含むことができるが、これらに限定されない。メモリ111は、サーバシステム100Aのファームウェアデータを記憶するように構成されてもよい。いくつかの構成では、ファームウェアデータをストレージデバイス109に記憶することができる。
【0023】
いくつかの実施形態において、サーバシステム100Aは、フラッシュストレージデバイスをさらに備えることができる。フラッシュストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ(RAM)、不揮発性ランダムアクセスメモリ(NVRAM)又は電気的に消去可能なプログラマブルROM(EEPROM)であってもよい。フラッシュストレージデバイスは、システム構成(例えば、ファームウェアデータ等)を記憶するように構成されてもよい。
【0024】
プロセッサ104は、特定の機能のプログラム命令を実行するように構成された中央処理装置(CPU)であってもよい。例えば、プロセッサ104は、ブートプロセス中、管理デバイス103又はフラッシュストレージデバイスに記憶されたファームウェアデータにアクセスし、BIOS105を実行してサーバシステム100Aを初期化することができる。プロセッサ104は、ブートプロセス後、サーバシステム100Aの特定のタスクを実行及び管理するために、オペレーティングシステムを実行することができる。
【0025】
いくつかの構成において、プロセッサ104は、マルチコアプロセッサであってもよく、各プロセッサは、NBロジック106に接続されたCPUバスを介して互いに接続されている。いくつかの構成において、NBロジック106をプロセッサ104に統合することができる。また、NBロジック106は、複数の周辺機器相互接続エクスプレス(PCIe)スロット160及びSBロジック108(オプション)に接続され得る。複数のPCIeスロット160は、例えば、PCIエクスプレスx1、USB2.0、SMBus、SIMカード、他のPCIeレーンの将来の拡張、1.5V及び3.3Vの電力、並びに、サーバシステム100Aのシャーシ上の診断LEDへの配線等の接続及びバスに使用することができる。
【0026】
システム100Aにおいて、NBロジック106及びSBロジック108は、周辺機器相互接続(PCI)バス107によって接続されている。PCIバス107は、プロセッサ104上の機能をサポートすることができるが、プロセッサ104の何れかのネイティブバスから独立した標準化フォーマットである。さらに、PCIバス107は、複数のPCIスロット170(例えば、PCIスロット171)に接続され得る。PCIバス107に接続されたデバイスは、CPUバスに直接接続され、プロセッサ104のアドレス空間内のアドレスが割り当てられ、単一のバスクロックと同期されるように、バスコントローラ(図示省略)に現れてもよい。複数のPCIスロット170で使用可能なPCIカードは、ネットワークインタフェースカード(NIC)、サウンドカード、モデム、TVチューナーカード、ディスクコントローラ、ビデオカード、スカジ―(SCSI)アダプタ、及び、PCメモリカード国際協会(Personal Computer Memory Card International Association;PCMCIA)カードを含むが、これらに限定されない。
【0027】
SBロジック108は、拡張バスを介して、PCIバス107を、複数の拡張カード又はISAスロット150(例えば、ISAスロット151)に接続することができる。拡張バスは、SBロジック108と周辺デバイスとの間の通信に用いられるバスであってもよく、業界標準アーキテクチャ(Industry Standard Architecture;ISA)バス、PC/104バス、ローピンカウントバス(low pin count bus)、拡張ISA(EISA)バス、ユニバーサルシリアルバス(USB)、IDE(integrated drive electronics)バス、又は、周辺デバイスのデータ通信に使用可能な他の適切なバスを含んでもよいが、これらに限定されない。
【0028】
この例において、BIOS105は、サーバシステム100Aの各種コンポーネントを初期化又は識別するように構成された任意のプログラム命令又はファームウェアであってもよい。BIOSは、対応するサーバシステムのハードウェアコンポーネントの初期化及びテストを担当する重要なシステムコンポーネントである。BIOSは、ハードウェアコンポーネントに抽象化レイヤを提供することができるので、アプリケーション及びオペレーティングシステムは、例えば、キーボード、ディスプレイ及び他の入出力装置等の周辺機器と相互作用する一貫した方法を提供することができる。
【0029】
システム100Aにおいて、SBロジック108は、少なくとも1つのPSU102及び多重化スイッチ112に接続された管理デバイス103にさらに接続されている。いくつかの実施形態において、管理デバイス103は、ベースボード管理コントローラ(BMC)又はラック管理コントローラ(RMC)であってもよい。
【0030】
管理デバイス103(例えば、BMC)は、多重化スイッチ112を介して冷却ファンモジュール110と通信することができる。多重化スイッチ112は、管理デバイス103が冷却ファンモジュール110から特定の冷却ファンモジュールを選択して接続し、特定の冷却ファンモジュールの動作特性を監視し、特定の冷却ファンモジュールに供給される電力又は電流を制御することを可能にし得る。例えば、管理デバイス103は、特定の冷却ファンモジュールの動作特性に基づいて、パルス幅変調(PWM)信号を特定の冷却ファンモジュールに送信することによって、特定の冷却ファンモジュールに供給される電力又は電流を制御することができる。
【0031】
いくつかの構成において、管理デバイス103は、ファン選択リンク、ファン監視リンク及びファン電力制御リンクを含む3つの接続リンクを介して多重化スイッチ112に接続されている。この構成の一例は、
図1B及び
図1Cに示されている。いくつかの実施形態において、管理デバイス103は、シフトレジスタクロックリンクを介して多重化スイッチ112にさらに接続されている。この構成の一例は、
図1Dに示されている。
【0032】
以下でさらに詳細に説明する
図1Dの例において、多重化スイッチ112は、管理デバイス103からシリアル入力を受信し、冷却ファンモジュール110の並列出力シフト制御を行うことができる。例えば、多重化スイッチ112は、管理デバイス103が所定時間内に特定の冷却ファンモジュールを選択して接続し、その後、選択された冷却ファンモジュールを制御するのを可能にすることができる。
【0033】
いくつかの実施形態において、管理デバイス103は、サーバシステム100A上の冷却ファンモジュール110の動作及びメンテナンス履歴を監視及び記憶することができる。管理デバイス103は、冷却ファンモジュール110(例えば、
図1Bに示す110−0,110−1,110−2,110−3,…,110−N,110−N+1)をスマート且つ効果的に制御するために、複数の冷却ファンモジュールの動作及びメンテナンス履歴を使用することができる。例えば、管理デバイス103は、特定の冷却ファンモジュールの動作特性、並びに/又は、動作及びメンテナンス履歴に基づいて、特定の冷却ファンモジュールに供給される電力又は電流を制御することができる。
【0034】
図1Bは、本発明の一実施形態による、複数の冷却ファンモジュール110に接続された多重化スイッチ112を含む
図1Aの例示的なシステム100Aの一部を説明する概略ブロック
図100Bである。この例において、多重化スイッチ112は、3つの接続リンク、すなわち、Fan_Tech_Meter_Host、Fan_PWM_Host及びFan_Selectを介してBMC103に接続されており、冷却ファンモジュール(すなわち、110−0,110−1,110−2,110−3,…,110−N,110−N+1)を並列に接続する。
【0035】
図1Bの多重化スイッチ112は、
図1Cにさらに示されている。この例において、多重化スイッチ112は、第1選択ロジックチップ112−3と、第2選択ロジックチップ112−4と、第1マルチプレクサ112−1と、第2マルチプレクサ112−2と、を備える。第1及び第2選択ロジックチップ112−3,112−4は、ファン選択リンクFan_Selectを介してBMC103に接続されている。第1マルチプレクサ112−1は、ファン監視リンクFan_Tech_Meter_Hostを介してBMC103に接続されている。第2マルチプレクサ112−2は、ファン電力制御リンクFan_PWM_Hostを介してBMC103に接続されている。
【0036】
図1Cに示すように、BMC103は、ファン選択リンクFan_Selectと、第1及び第2選択ロジックチップ112−3,112−4とを介して、特定の冷却ファンモジュールを選択して接続することができる。BMC103は、特定の冷却ファンモジュールが選択されると、第1マルチプレクサ112−1及びファン監視リンクFan_Tech_Meter_Hostを介して、特定の冷却ファンモジュールの動作特性(例えば、速度及びエラーメッセージ等)を収集し、さらに、ファン電力制御リンクFan_PWM_Host及び第2マルチプレクサ112−2を介して、特定の冷却ファンモジュールに供給される電力又は電流を制御することができる。
【0037】
図1Dは、BMCが、Fan_Selectリンク及びシフトレジスタクロックリンクを介して、冷却ファンモジュール(すなわち、110−0,110−1,110−2,110−3,110−4,110−5,110−6,110−7)から特定の冷却ファンモジュールを選択するのを可能にする
図1Aの例示的なシステムを説明する概略ブロック
図100Dである。この例において、BMC103は、例示的なマルチプレクサ112−3,112−4のシリアル入力に接続されており、例示的なマルチプレクサ112−3,112−4のシフトレジスタクロック入力に接続されている。例示的なマルチプレクサ112−3,112−4は、複数のMOSFET113を介して冷却ファンモジュール(すなわち、110−0,110−1,110−2,110−3,110−4,110−5,110−6,110−7)に接続されている。
【0038】
この例において、複数のMOSFET113の各々は、冷却ファンモジュール(すなわち、110−0,110−1,110−2,110−3,110−4,110−5,110−6,110−7)のうち対応する冷却ファンモジュールに接続されている。BMC103は、ファン選択リンクFAN_SEL_SERを介して、特定の冷却ファンモジュールの対応するMOSFETをオンにすることによって、特定の冷却ファンモジュールを選択して接続することができる。コントローラは、対応するMOSFETがオンになると、特定の冷却ファンモジュールの動作特性(例えば、速度及びエラーメッセージ等)を監視し、特定の冷却ファンモジュールに供給される電力又は電流を制御することができる。
【0039】
図1Eは、本発明の一実施形態による、BMCが、8ビットシリアル入力及びシフトレジスタクロックを介して、複数の冷却ファンモジュールから特定の冷却ファンモジュールを選択するのを可能にする
図1Dの例示的なシステムを説明するタイミング
図100Eである。この例において、マルチプレクサ112−2の出力Q
Aは、ファン選択「SER」が「high」に切り替えられ、続いてシフトレジスタクロックRCLKが最初に「high」になるのに応じて、 「high」に切り替えられる。「high」出力Q
Aは、
図1Dにおける第1冷却ファンモジュール110−0の対応するMOSFETをオンにすることができる。次に、BMC103は、第1冷却ファンモジュール110−0の動作特性(例えば、速度及びエラーメッセージ等)を監視し、第1冷却ファンモジュール110−0に供給される制御電力又は電流を制御することができる。
【0040】
マルチプレクサ112−2の出力Q
Bは、ファン選択「SER」が「high」に切り替えられ、続いてシフトレジスタクロックRCLKが2回目に「high」に切り替わるのに応じて、「high」に切り替えられる。「high」出力Q
Bは、
図1Dの第2冷却ファンモジュール110−1の対応するMOSFETをオンにすることができる。次に、BMC103は、第2冷却ファンモジュール110−1の動作特性(例えば、速度及びエラーメッセージ等)を監視し、第2冷却ファンモジュール110−1に供給される制御電力又は電流を制御することができる。同様のプロセスを繰り返してQ
C〜Q
Hに適用することによって、BMC103が、対応する冷却ファンモジュール110−2〜110−7の各々を監視して制御するのを可能にする。
【0041】
図1Eに示すように、BMC103は、シフトレジスタクロックRCLKの8つのクロックサイクル内で8つの冷却ファンモジュールを監視及び制御することができる。その結果、サーバシステム100A内のBMC又はRMCは、本発明を実施することによって、冷却ファンモジュール110を効果的に監視及び制御することができる。
【0042】
図1A〜
図1Dの例示的なシステム100A〜100Dには特定のコンポーネントのみが示されているが、例示的なシステム100A〜100Dには、データを処理若しくは記憶し、信号を送受信し、又は、新鮮な空気を下流のコンポーネントに提供することができる様々なタイプの電子コンポーネント又はコンピュータコンポーネントが含まれてもよい。さらに、例示的なシステム100A〜100D内の電子コンポーネント又はコンピュータコンポーネントは、様々なタイプのアプリケーションを実行するように構成されてもよく、及び/又は、様々なタイプのオペレーティングシステムを使用することができる。これらのオペレーティングシステムには、Android(登録商標)、BSD(Berkeley Software Distribution)、iPhone(登録商標) OS(iOS)、Linux(登録商標)、OS X、Unix系リアルタイムオペレーティングシステム(例えば、QNX等)、Microsoft Windows(登録商標)、Window Phone、及び、IBM z/OS(登録商標)等が含まれるが、これらに限定されない。
【0043】
例示的なシステム100A〜100Dの所望の実施形態に従って、様々なネットワークプロトコル及びメッセーシングプロトコル(例えば、TCP/IP、開放型システム間相互接続(OSI)、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UpnP)、ネットワークファイルシステム(NFS)、コモンインターネットファイルシステム(CIFS)、AppleTalk(登録商標)等が含まれるが、これらに限定されない)が用いられる。当業者であれば理解できるように、
図1A〜
図1Dに示される例示的なシステム100A〜100Dは、説明の目的のために用いられている。よって、ネットワークシステムは、必要に応じて多くのバリエーションで実装することができるが、本発明の様々な実施形態によるネットワークプラットフォームの構成を提供する。
【0044】
図1A〜
図1Dの例示的な構成において、例示的なシステム100A〜100Dは、特定のワイヤレスチャネルの計算範囲内で1つ以上の電子デバイスと通信するように動作可能な1つ以上のワイヤレスコンポーネントを含むことができる。ワイヤレスチャネルは、デバイスが無線通信するために使用される任意の適切なチャネル(例えば、ブルートゥース(登録商標)、セルラー(cellular)、NFC又はWi−Fi(登録商標)チャネル等)であってもよい。このデバイスは、従来技術で知られているように、1つ以上の従来の有線通信接続を有し得ることを理解されたい。各種実施形態の範囲内において、様々な他の要素及び/又は組み合わせが可能である。
【0045】
上記の議論は、本発明の原理及び各種実施形態を例示することを意図している。上述した開示内容が完全に理解されると、各種の変更や修正がなされることが明らかになるであろう。
【0046】
図2は、本発明の一実施形態による、サーバシステムの冷却ファンモジュールを効果的に制御する例示的な方法200を示す図である。例示的な方法200は、説明を目的として示されており、本発明の他の方法において、類似若しくは代替の順序で又は並行して実行される追加の工程、より少ない工程、又は、代替の工程を含むことができることを理解されたい。例示的な方法200は、工程202において、サーバシステムをオンにすることから開始する。
【0047】
工程204において、サーバシステムの管理コントローラは、
図1A〜
図1Dに示すように、サーバシステムの多重化スイッチを介して、サーバシステムの複数の冷却ファンモジュールから特定の冷却ファンモジュールを選択することができる。いくつかの例において、管理コントローラは、ファン選択リンク及び多重化スイッチを介して特定の冷却ファンモジュールを選択することができる。多重化スイッチは、複数の冷却ファンモジュールに接続されている。
【0048】
工程206において、管理コントローラは、
図1A〜
図1Dに示すように、多重化スイッチを介して特定の冷却ファンモジュールに接続することができる。いくつかの例において、多重化スイッチは、第1選択ロジックチップと、第2選択ロジックチップと、第1マルチプレクサと、第2マルチプレクサと、を含む。第1及び第2選択ロジックチップは、ファン選択リンクを介して管理コントローラに接続されており、第1マルチプレクサは、ファン監視リンクを介して管理コントローラに接続されており、第2マルチプレクサは、ファン電力制御リンクを介して管理コントローラに接続されている。
【0049】
いくつかの例において、多重化スイッチは、管理コントローラからシリアル入力を受信し、複数の冷却ファンモジュールの並列出力シフト制御を提供することができる。例えば、多重化スイッチは、管理コントローラが所定時間内に特定の冷却ファンを選択して接続するのを可能にする。
【0050】
いくつかの実施形態において、多重化スイッチは、複数のMOSFETを有する。複数のMOSFETの各々は、複数の冷却ファンモジュールのうち対応する冷却ファンモジュールに接続されている。管理コントローラは、ファン選択リンクを介して、特定の冷却ファンモジュールの対応するMOSFETをオンにすることによって、特定の冷却ファンモジュールを選択することができる。管理コントローラは、対応するMOSFETがオンになると、特定の冷却ファンモジュールに接続することができる。
【0051】
工程208において、管理コントローラは、多重化スイッチ及びファン監視リンクを介して、特定の冷却ファンモジュールの動作特性(例えば、速度及びエラーメッセージ等)を監視することができる。
【0052】
工程210において、管理コントローラは、サーバシステム上の複数の冷却ファンモジュールの動作及びメンテナンス履歴をさらに取得することができる。工程212において、管理コントローラは、特定の冷却ファンモジュールの動作特性、並びに/又は、特定の冷却ファンモジュールの動作及びメンテナンス履歴に基づいて、特定の冷却ファンモジュールに供給される制御電力又は電流を制御することができる。
【0053】
例示的なシステム及びネットワークの簡単な説明は、
図3及び
図4に示すように、本明細書に開示される。様々な例が示されているので、これらの変形例を説明する。以下、
図3を参照して本発明の技術を説明する。
【0054】
図3は、コンピューティングシステムのコンポーネントがバス302を用いて互いに電気的に通信する例示的なコンピューティングシステム300を示す図である。システム300は、処理ユニット(CPU又はプロセッサ)330と、システムバス302と、を有する。システムバス302は、システムメモリ304(例えば、リードオンリメモリ(ROM)306及びランダムアクセスメモリ(RAM)308)を含む各種システムコンポーネントをプロセッサ430に接続する。システム300は、高速メモリのキャッシュを有し、キャッシュは、プロセッサ330に直接接続され、プロセッサ330に隣接して接続され、又は、プロセッサ330の一部として統合されてもよい。システム300は、プロセッサ330による高速アクセスのために、メモリ304及び/又はストレージデバイス312からキャッシュ328にデータをコピーしてもよい。この方法において、キャッシュは、プロセッサ330がデータを待つ間に遅延が生じるのを防止する性能向上を提供する。これら及び他のモジュールは、様々な動作を制御するためにプロセッサ330を制御するように構成される。別のシステムメモリ304も同様に使用可能である。メモリ304は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを有することができる。プロセッサ330は、任意の汎用目的プロセッサと、ストレージデバイス312に記憶された第1モジュール314、第2モジュール316及び第3モジュール318等のハードウェアモジュール又はソフトウェアモジュールを含むことができる。ハードウェアモジュール又はソフトウェアモジュールは、プロセッサ330、及び、ソフトウェア命令が実際のプロセッサ設計に組み込まれる汎用目的プロセッサを制御するように構成されている。プロセッサ330は、実質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に独立したコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【0055】
ユーザがコンピューティングデバイス300と対話するのを可能にするために、入力デバイス320が入力メカニズムとして設けられている。入力デバイス320は、例えば、スピーチ用のマイクロフォン、ジェスチャ又はグラフィカル入力用のタッチスクリーン、キーボード、マウス、モーション入力等を含んでもよい。場合によっては、マルチモーダルシステムは、ユーザが、システム300と通信するために複数のタイプの入力を提供できるようにする。この例では、出力デバイス322も設けられている。通信インタフェース324は、ユーザ入力及びシステム出力を統治及び管理することができる。
【0056】
ストレージデバイス312は、コンピュータによってアクセス可能なデータを記憶する不揮発性メモリであってもよい。ストレージデバイス312は、磁気カセット、フラッシュメモリカード、ソリッドステートメモリ装置、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)308、リードオンリメモリ(ROM)306、及び、これらの組み合わせ等であってもよい。
【0057】
コントローラ310は、システム300上の特殊なマイクロコントローラ又はプロセッサ(例えば、BMC(ベースボード管理コントローラ))であってもよい。場合によっては、コントローラ310は、インテリジェントプラットフォーム管理インタフェース(IPMI)の一部であってもよい。さらに、場合によっては、コントローラ310は、システム300のマザーボード又はメイン回路基板に組み込まれてもよい。コントローラ310は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。また、コントローラ310は、以下に説明するように、例えばコントローラ又は周辺機器等の各種システムデバイス及びコンポーネント(内部、及び/又は、外部)と通信することができる。
【0058】
コントローラ310は、通知、警告及び/又はイベントに対する特定の対応を生成し、遠隔装置又はコンポーネントと通信(例えば、電子メールメッセージ、ネットワークメッセージ等)し、自動ハードウェア障害回復工程等の指令や命令を生成する。システム管理者は、以下に更に説明するように、コントローラ310と遠隔通信して、特定のハードウェア障害回復工程又は操作を開始又は実行することができる。
【0059】
コントローラ310は、コントローラ310によって受信されたイベント、警告、通知を管理及び記憶するシステムイベントログコントローラ及び/又はストレージを有してもよい。例えば、コントローラ310又はシステムイベントログコントローラは、1つ以上の装置及びコンポーネントからの警告や通知を受信し、当該警告や通知をシステムイベントログストレージコンポーネント内で維持することができる。
【0060】
フラッシュメモリ332は、ストレージ及び/又はデータ転送に用いられるシステム300によって使用される電子不揮発性コンピュータストレージ媒体又はチップであってもよい。フラッシュメモリ332は、電気的に消去及び/又は再プログラムされ得る。フラッシュメモリ332は、例えば、消去可能なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、ROM、NVRAM、又は、相補型MOS(CMOS)を有する。フラッシュメモリ332は、システム300が起動するときに、システム300により実行されるファームウェア334を、ファームウェア334に指定されたセットとともに記憶することができる。さらに、フラッシュメモリ332は、ファームウェア334により用いられる構成を記憶することができる。
【0061】
ファームウェア334は、基本入力/出力システム(BIOS)又はその後継品、等価物(例えば、エクステンシブルファームウェアインタフェース(EFI)又はユニファイドエクステンシブルファームウェアインタフェース(UEFI))を有する。システム300が起動される毎に、ファームウェア334は、シーケンスプログラムとしてロードされ、実行される。ファームウェア334は、構成のセットに基づいて、システム300に存在するハードウェアを識別、初期化、テストする。ファームウェア334は、システム300上でのセルフテスト(例えば、パワーオンセルフテスト(POST))を実行する。このセルフテストは、各種ハードウェアコンポーネント(例えば、ハードディスクドライブ、光学読み取り装置、冷却装置、メモリモジュール、拡張カード等)の機能性をテストする。ファームウェア334は、オペレーティングシステム(OS)を記憶するために、メモリ304、ROM306、RAM308及び/又はストレージデバイス312内の領域をアドレス指定及び割り当てることができる。ファームウェア334は、ブートローダ及び/又はOSをロードし、システム300の制御をOSに渡すことができる。
【0062】
システム300のファームウェア334は、ファームウェア334がシステム300内の各種ハードウェアコンポーネントをどのように制御するかを定義するファームウェア構成を有することができる。ファームウェア構成は、システム300内の各種ハードウェアコンポーネントが起動される順序を判断する。ファームウェア334は、各種異なるパラメータの設定を許可するインタフェース(例えば、UEFI)を提供することができ、このパラメータは、ファームウェアのデフォルト設定のパラメータとは異なる。例えば、ユーザ(例えば、システム管理者)は、ファームウェア334を用いて、クロック及びバス速度を指定し、どの周辺機器をシステム300に取り付けるか指定し、監視の状態(例えば、ファン速度及びCPU温度制限)を指定し、システム300のパフォーマンス全体及び電力使用量に影響する多種の他のパラメータを指定する。ファームウェア334は、フラッシュメモリ332に記憶されているものとして説明されているが、当業者であれば、ファームウェア334を他のメモリコンポーネント(例えば、メモリ304又はROM306等)に記憶することができるのを容易に認識するであろう。
【0063】
システム300は1つ以上のセンサ326を有する。1つ以上のセンサ326は、例えば、1つ以上の温度センサ、熱センサ、酸素センサ、化学センサ、ノイズセンサ、ヒートセンサ、電流センサ、電圧検出器、気流センサ、流量センサ、赤外線放射温度計、熱流束センサ、温度計、高温計等を有する。1つ以上のセンサ326は、例えば、バス302を介して、プロセッサ、キャッシュ328、フラッシュメモリ332、通信インタフェース324、メモリ304、ROM306、RAM308、コントローラ310及びストレージデバイス312と通信する。また、1つ以上のセンサ326は、1つ以上の異なる手段(例えば、集積回路(I2C)、汎用出力(GPO)等)を介して、システム内の他のコンポーネントと通信することができる。システム300上の異なるタイプのセンサ(例えば、センサ326)は、パラメータ(例えば、冷却ファン速度、電力状態、オペレーティングシステム(OS)状態、ハードウェア状態等)をコントローラ310に報告するもできる。
【0064】
図4は、説明した方法又は操作の実行、並びに、グラフィカルユーザインタフェース(GUI)の生成及び表示に用いることができるチップセット機構を有する例示的なコンピュータシステム400を示す図である。コンピュータシステム400は、本発明の技術を実行するのに用いられるコンピュータハードウェア、ソフトウェア及びファームウェアを含むことができる。システム400は、識別された計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを実行することができる任意の数の物理的及び/又は論理的に異なるリソースを表すプロセッサ410を含むことができる。プロセッサ410は、プロセッサ410への入出力を制御することができるチップセット402と通信する。この例において、チップセット402は、情報を出力デバイス414(例えば、ディスプレイ)に出力し、ストレージデバイス416(磁気媒体、固体媒体を含む)に対して情報を読み書きする。また、チップセット402は、RAM418に対してデータをやり取りする。各種ユーザインタフェースコンポーネント406と相互作用するブリッジ404は、チップセット402と相互作用するために提供され得る。このようなユーザインタフェースコンポーネント406は、キーボード、マイクロフォン、タッチ検出及び処理回路、ポインティングデバイス(マウス等)を有する。一般に、システム400への入力は、機器及び/又は人間が生成した各種ソースの何れかから生じる。
【0065】
また、チップセット402は、異なる物理インタフェースを有する1つ以上の通信インタフェース408と相互作用する。このような通信インタフェースは、有線及び無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク及びパーソナルエリアネットワークのためのインタフェースを有する。さらに、機器は、ユーザインタフェースコンポーネント406を介して、ユーザからの入力を受信し、適当な機能(例えば、プロセッサ410を用いて、これらの入力を解釈することによりブラウズ機能を実行する)を実行する。
【0066】
さらに、チップセット402は、電源が投入されると、コンピュータシステム400によって実行され得るファームウェア412と通信することができる。ファームウェア412は、ファームウェア構成のセットに基づいて、コンピュータシステム400内に存在するハードウェアを認識、初期化及びテストすることができる。ファームウェア412は、システム400上でセルフテスト(例えば、POST)を実行する。セルフテストでは、各種ハードウェアコンポーネント402〜410の機能をテストすることができる。ファームウェア412は、OSを記憶するために、RAM418内の領域をアドレス指定及び割り当てることができる。ファームウェア412は、ブートローダ及び/又はOSをロードし、システム400の制御をOSに渡す。場合によっては、ファームウェア412は、ハードウェアコンポーネント402〜410,414〜418と通信する。ここで、ファームウェア412は、チップセット402及び/又は1つ以上の他のコンポーネントを介して、ハードウェアコンポーネント402〜410,414〜418と通信する。場合によっては、ファームウェア412は、ハードウェアコンポーネント402〜410,414〜418と直接通信することができる。
【0067】
例示的なシステム300,400は、より高い処理能力を提供するために、2つ以上のプロセッサ(例えば、330,410)を有することができ、又は、ネットワーク接続されたコンピューティングデバイスのグループ又はクラスタの一部であり得ることが理解されるであろう。
【0068】
説明をわかりやすくするために、ある実施形態において、装置、デバイスコンポーネント、ソフトウェアで実施される方法における工程やルーティン、又は、ハードウェアとソフトウェアの組み合わせを含む個々の機能ブロックを有するものとして提示することができる。
【0069】
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体及びメモリは、ビットストリーム等を含むケーブル又は無線信号を有する。しかし、言及されるとき、非一時的なコンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波及び信号そのもの等の媒体を明確に排除する。
【0070】
上記の例における方法は、コンピュータ可読媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令(例えば、アセンブリ言語)、ファームウェア又はソースコードである。
【0071】
これらの開示における方法を実行する装置は、ハードウェア、ファームウェア及び/又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、PDA、ラックマウント型装置、スタンドアロン装置等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【0072】
各種実施形態は、場合によっては、いくつかのアプリケーションの何れかを動作させるために用いられる1つ以上のサーバコンピュータ、ユーザコンピュータ又はコンピューティングデバイスを有する多種多様な動作環境で実行することができる。ユーザ又はクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップ又はラップトップコンピュータ等の多数の汎用パーソナルコンピュータ、並びに、モバイルソフトウェアを実行し、いくつかのネットワーク及びメッセージプロトコルをサポートすることができるセルラー、ワイヤレス及びハンドヘルド装置を含むことができる。このようなシステムは、さらに、開発及びデータベース管理等の目的のために様々な市販のオペレーティングシステム及び他の既知のアプリケーションを実行するいくつかのワークステーションを有する。これらの装置は、他の電子装置(例えば、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信可能な他の装置等)を有する。
【0073】
本発明のいくつかの実施態様又はその一部がハードウェアで実現される限り、本発明は、以下の技術の何れか又は組み合わせにより実現される。例えば、データ信号に基づきロジック機能を実行するロジックゲートを有する離散ロジック回路、適切な組み合わせのロジックゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)等のプログラマブルハードウェア、及び/又は、フィールドプログラマブルゲートアレイ(FPGA)等が含まれる。
【0074】
ほとんどの実施形態は、例えばTCP/IP、OSI、FTP、UPnP、NFS、CIFS、AppleTalk(登録商標)等の商用のプロトコルの何れかを用いて通信をサポートするために、当業者によく知られている少なくとも1つのネットワークを使用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及び、これらの任意の組み合わせである。
【0075】
これらの開示における方法を実行する装置は、ハードウェア、ファームウェア及び/又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、PDA等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
【0076】
ウェブサーバを用いた実施形態において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、及び、ビジネスアプリケーションサーバを有する任意の種類のサーバ又は中間層アプリケーションを実行することができる。ウェブサーバは、ユーザ装置からの要求に応じて、プログラム又はスクリプトを実行することもできる。例えば、ウェブサーバは、任意のプログラミング言語(例えば、Java(登録商標)、C、C#、C++)、任意のスクリプト言語(例えば、Perl、Python、TCL)、及びこれらの組み合わせで書き込まれる1つ以上のスクリプト又はプログラムとして実行される1つ以上のウェブアプリケーションを実行することができる。サーバは、公開市場で市販されているものを含むがこれに限定されないデータベースサーバを含むことができる。
【0077】
サーバシステムは、前述の様々なデータ記憶、他のメモリ、及び、ストレージ媒体を有する。これらは、例えば、ストレージ媒体が1つ以上のコンピュータにローカル接続され(及び/又は存在する)、又は、ネットワークにより、任意の若しくは全てのコンピュータから遠隔で連結される等のように、様々な場所に存在し得る。一組の特定の実施形態において、情報は、当業者によく知られているストレージエリアネットワーク(SAN)中に存在することができる。同様に、コンピュータ、サーバ又は他のネットワーク装置に起因する機能を実行するのに必要とされる任意のファイルは、必要に応じてローカル及び/又はリモートに記憶することができる。システムがコンピュータ化された装置を含む場合、このような装置は、バスを介して電気的に接続されるハードウェアコンポーネントを有し、コンポーネントは、例えば、少なくとも1つの中央処理ユニット(CPU)と、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチセンサディスプレイコンポーネント、又は、キーパッド)と、少なくとも1つの出力デバイス(例えば、ディスプレイ装置、プリンタ、又は、スピーカ)と、を有する。このようなシステムは、さらに、1つ以上のストレージデバイス(例えば、ディスクドライブ、光学ストレージデバイス、及び、ソリッドステートストレージデバイス(例えば、ランダムアクセスメモリ(RAM)又はリードオンリメモリ(ROM))、及び、除去可能な媒体装置、メモリカード、フラッシュカード等)を有する。
【0078】
コード又はコードの一部を含むストレージ媒体及びコンピュータ可読媒体は、従来技術で用いられる任意の適切な媒体(例えば、ストレージ媒体及びコンピューティング媒体)を含む。ストレージ媒体及びコンピューティング媒体は、データ若しくは情報の記憶及び/又は伝送のためのリムーバブル及び非リムーバブル媒体を含むことができるが、これらに限定されない。リムーバブル及び非リムーバブル媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、又は、他の任意の媒体を含み、必要な情報を記憶するのに用いられたり、システムデバイスによりアクセスされる。データ又は情報は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを含むことができる。本明細書で提供される技術及び教示に基づいて、当業者であれば、本発明の各種態様を実施する他のやり方及び/又は方法を理解するであろう。
【0079】
明細書及び図面は、限定的ではなく例示的なものとみなされるべきである。しかしながら、特許請求の範囲に記載された発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更を行うことができることは明らかであろう。