本発明は、多くの異なる形態で具現化することができる。本発明は、本発明の原理の例示として考慮されるべきであり、本発明の広範な態様を限定することを意図するものではなく、図面に示され、本明細書において詳細に説明される。その範囲において、例えば、概要、要約及び詳細な説明で開示されているが、特許請求の範囲に明記されていない要素及び制限は、含意、推論若しくは他の方式によって単独又は集合的に特許請求の範囲に組み込まれるべきではない。詳細な説明の目的のために、特に断りのない限り、単数は複数を含み、その逆も同様である。「含む」という用語は、「制限なしに含む」ことを意味する。また、例えば、「約(about)」、「ほとんど(almost)」、「実質的に(substantially)」、「おおよそ(approximately)」等の近似の用語は、ここでは、例えば「…で(at)、…近くで(near)、…に近接して(nearly at)」、「…の3〜5%内で」、「製造誤差の許容範囲内で」、又は、これらの任意の論理的組み合わせの意味を含むことができる。
本発明の各種実施例は、ノードのマルチノードファン制御スイッチ及び特定のコントローラ(例えば、ベースボード管理コントローラ(BMC)又は特定のプロセッサ)を用いて、ノードの1つ以上の冷却ファンを制御する方法及びシステムを提供する。このノードには、ウォッチドッグ回路も含まれる。ウォッチドッグ回路は、特定のコントローラの健全性を監視することができ、特定のコントローラが異常であると判別したことに応じて、ファン制御スイッチを外部モードに設定し、ラックシステム内の隣接ノードのコントローラがノードの1つ以上の冷却ファンを制御できるようにする。
図1Aは、本発明の実施形態による、ラックシステム100A内の2つの例示的なサーバシステムを示すブロック図であり、各サーバシステムは、ウォッチドッグ回路及びファン制御スイッチを有している。この実施例では、システム100Aは、バックプレーン105と、2つのサーバシステム101−1,101−2と、を備える。各サーバシステムは、1つ以上の冷却ファン(例えば、102−1,102−2)と、ウォッチドッグ回路(例えば、103−1,103−2)と、ファン制御スイッチ(例えば、104−1,104−2)と、ベースボード管理コントローラ(BMC)(例えば、106−1,106−2)と、を備える。サーバシステム101−1のBMC106−1は、ファン制御スイッチ104−1を介して、1つ以上の冷却ファン102−1に接続されており、バックプレーン105及びファン制御スイッチ104−2を介して、隣接するサーバシステム101−2の1つ以上の冷却ファン102−2に接続されている。同様に、サーバシステム101−2のBMC106−2は、ファン制御スイッチ104−2を介して、1つ以上の冷却ファン102−2に接続されており、バックプレーン105及びファン制御スイッチ104−1を介して、隣接するサーバシステム101−1の1つ以上の冷却ファン102−1に接続されている。
この実施例では、特定のサーバシステムのBMC(例えば、106−1又は106−2)は、特定のサーバシステムの1つ以上の冷却ファンの状態情報(例えば、各冷却ファンのファン回転状態)を受信することができる。BMC(例えば、106−1又は106−2)は、特定のサーバシステムの温度情報(例えば、CPU又はBMCの温度)を受信することもできる。特定のサーバシステムのファン制御スイッチが内部モードに設定されている場合、BMCは、少なくとも受信した温度情報に基づいて、特定のサーバシステムの1つ以上の冷却ファンのファン速度を制御することができる。いくつかの実施形態においては、BMCは、パルス幅変調(PWM)信号を1つ以上の冷却ファンに送信することによって、1つ以上の冷却ファンの速度を制御する。
各ウォッチドッグ回路(例えば、103−1,103−2)は、同じサーバシステム上の対応するBMC(例えば、106−1,106−2)の健全性を監視することができ、対応するBMCが異常であると判別したことに応じて、同じサーバシステム上の対応するファン制御スイッチを外部モードに設定し、隣接するサーバシステムのBMCが同じサーバシステム上の対応する1つ以上の冷却ファンを制御できるようにする。例えば、特定のサーバシステムのウォッチドッグ回路は、特定のサーバシステムの対応するBMCからハートビート信号を受信することができる。ウォッチドッグ回路は、所定時間内にハートビート信号が受信されていないと判別したことに応じて、対応するBMCが異常であると判別して、特定のサーバシステムの対応するファン制御スイッチを外部モードにし、隣接するサーバシステムの異なるBMCが、特定のサーバシステムの対応する1つ以上の冷却ファンを制御できるようにする。このシナリオを図1Bに示す。ここでは、ファン制御スイッチ104−1が外部モードに設定され、隣接ノード101−2のBMC106−2が、ノード101−1の1つ以上の冷却ファンを制御することができる。
他の実施例では、ウォッチドッグ回路は、特定のサーバシステムの対応するBMCの健全性をアクティブに監視することができる。対応するBMCが異常動作した場合、ウォッチドッグ回路は、BMCが異常であると判別して、特定のサーバシステムのファン制御スイッチを外部モードに設定し、隣接するサーバシステムの異なるBMCが、特定のサーバシステムの1つ以上の冷却ファンを制御できるようにする。
いくつかの実施形態においては、各ウォッチドッグ回路(例えば、103−1,103−2)は、対応するサーバシステム又はラックシステム100Aの電源ユニット(PSU)にも接続されており、対応するサーバシステムのAC電源及びPSUの状態情報をPSUから受信することができる。ウォッチドッグ回路は、対応するサーバシステム上でAC電源及びPSUが正常である場合にのみ、対応するファン制御スイッチを外部モードに設定することができる。表1は、本発明の実施形態による、ウォッチドッグ回路(例えば、103−1,103−2)の例示的な論理真理値表(logic truth table)を示している。ウォッチドッグ回路は、対応するノードのAC電源及びPSUが正常(即ち、「1」)であり、対応するコントローラのハートビート信号が受信された(即ち、「1」)場合に、対応するファン制御スイッチを内部モードに設定(即ち、「1」)し、外部モードを無効(即ち、「0」)にする。ウォッチドッグ回路は、対応するノードのAC電源及びPSUが正常(即ち、「1」)であるが、対応するコントローラからハートビート信号が所定期間内に受信されなかった場合(即ち、「0」)に、対応するファン制御スイッチを外部モードに設定(即ち、「1」)し、内部モードを無効(即ち、「0」)にする。ウォッチドッグ回路は、対応するノードのAC電源又はPSUが全て異常(即ち、「0」)の場合に、対応するファン制御スイッチを内部モードに設定(即ち、「1」)し、外部モードを無効(即ち、「0」)にする。
いくつかの実施例においては、特定のサーバシステムのBMCは、隣接するサーバシステムの1つ以上の冷却ファンの状態情報(例えば、各冷却ファンのファン回転状態)を受信することができる。BMCは、隣接するサーバシステムのファン制御スイッチが外部モードに設定された場合、隣接するサーバシステムの温度情報(例えば、CPU、HDD又はBMCの温度)を更に受信することができる。BMCは、隣接するサーバシステムの受信した温度情報に少なくとも基づいて、隣接するサーバシステムの1つ以上の冷却ファンのファン速度を制御することができる。いくつかの実施例においては、BMCは、デフォルト又は所定のパラメータに従って、隣接するサーバシステムの1つ以上の冷却ファンのファン速度を制御することができる。
図1Cは、本発明の実施形態による、ラックシステム100C内の3つの例示的なサーバシステムを示すブロック図であり、各サーバシステムは、ウォッチドッグ回路及びファン制御スイッチを有している。この実施例では、システム100Cは、バックプレーン105と、3つのサーバシステム101−1,101−2,101−3と、を備える。各サーバシステムは、1つ以上の冷却ファン(例えば、102−1,102−2,102−3)と、ウォッチドッグ回路(例えば、103−1,103−2,103−3)と、ファン制御スイッチ(例えば、104−1,104−2,104−3)と、ベースボード管理コントローラ(BMC)(例えば、106−1,106−2,106−3)と、を備える。各サーバシステム(例えば、101−1,101−2又は101−3)のBMCは、ファン制御スイッチを介して、対応するサーバシステムの1つ以上の冷却ファンに接続されており、バックプレーン105及び隣接するサーバシステムのファン制御スイッチを介して、隣接するサーバシステムの1つ以上の冷却ファンに接続されている。
この実施例では、ラックシステム100C内の特定のサーバシステムのBMC(例えば、106−1,106−2又は106−3)は、特定のサーバシステムの1つ以上の冷却ファンの状態情報(例えば、各冷却ファンのファン回転状態)と、隣接するサーバシステムの1つ以上の冷却ファンの状態情報と、を受信することができる。特定のサーバシステムのBMCは、特定のサーバシステムの温度情報(例えば、CPU、HDD又はBMCの温度)を受信することもできる。特定のサーバシステムのファン制御スイッチが内部モードに設定されている場合、BMCは、受信した温度情報に少なくとも基づいて、特定のサーバシステムの1つ以上の冷却ファンのファン速度を制御することができる。
隣接するサーバシステムのファン制御スイッチが外部モードに設定された場合、BMCは、隣接するサーバシステムの温度情報(例えば、CPU、HDD又はBMCの温度)を更に受信することができる。BMCは、隣接するサーバシステムの受信した温度情報に少なくとも基づいて、隣接するサーバシステムの1つ以上の冷却ファンのファン速度を制御することができる。いくつかの実施例においては、BMCは、デフォルト又は所定のパラメータに従って、隣接するサーバシステムの1つ以上の冷却ファンのファン速度を制御することができる。
図1Dは、本発明の実施形態による、ラックシステム100E内の例示的なサーバシステム及び例示的なダミートレイを示すブロック図であり、例示的なサーバシステムは、ウォッチドッグ回路及びファン制御スイッチを有している。この実施例では、システム100Eは、バックプレーン105と、サーバシステム101−1と、ダミートレイ101−2と、を備える。サーバシステム101−1は、1つ以上の冷却ファン102−1と、ウォッチドッグ回路103−1と、ファン制御スイッチ104−1と、BMC106−1と、を備える。BMC106−1は、ファン制御スイッチ104−1を介して、1つ以上の冷却ファン102−1に接続されており、バックプレーン105及びダミートレイ101−2のファン制御スイッチ104−2を介して、ダミートレイ101−2の1つ以上の冷却ファン102−2に接続されている。
この実施例では、BMC106−1は、1つ以上の冷却ファン102−1の状態情報(例えば、各冷却ファンのファン回転状態)と、ダミートレイ101−2の1つ以上の冷却ファン102−2の状態情報と、を受信することができる。BMC106−1は、特定のサーバシステム101−1の温度情報(例えば、CPU又はBMCの温度)を受信することもできる。ファン制御スイッチ104−1が内部モードに設定された場合、BMC106−1は、受信した温度情報に少なくとも基づいて、1つ以上の冷却ファン102−1のファン速度を制御することができる。
いくつかの実施例においては、ダミートレイ101−2のファン制御スイッチ104−2は、ダミートレイ101−2内にサーバシステムが検出されたかったことに応じて、自動的に外部モードに設定されてもよい。BMC106−1は、ダミートレイ101−2の温度情報を更に受信してもよい。BMC106−1は、受信したダミートレイ101−2の温度情報に少なくとも基づいて、ダミートレイ101−2の1つ以上の冷却ファン102−2のファン速度を制御することができる。いくつかの実施例においては、BMC106−1は、デフォルト又は所定のパラメータに従って、ダミートレイ101−2の1つ以上の冷却ファン102−2のファン速度を制御することができる。
全体的に、本発明は、従来の解決手段よりも有利である。従来のBBUシステムでは、シャーシ管理コントローラ(CM)が、通常、ラックシステム内のファンを制御するのに用いられる。CMは、ラックシステムの各ノードから温度情報を受信し、次いで、ファンのファン速度を制御する。本発明は、ラックシステム内のより効率的なファン制御方法を提供する。本発明を実施するラックシステムでは、CMが除去される。コスト及びボードスペースを節約することができる。また、本開示は、ラックシステム内の個々のノードのファン速度の制御を可能にし、ラックシステムの各ノードのファンの冗長なファン速度の制御を可能にすることによって、ファン速度の制御方式の信頼性を向上させる。
図1Eは、本発明の実施形態による、ウォッチドッグ回路及びファン制御スイッチを有する例示的なシステム100Eを示すブロック図である。この実施例では、サーバシステム100Eは、少なくとも1つのマイクロプロセッサ又はプロセッサ114と、1つ以上の冷却コンポーネント102と、メインメモリ(MEM)113と、バッテリシステム110と、少なくとも1つの電源ユニット(PSU)108と、を含む。少なくとも1つの電源ユニット(PSU)108は、AC電源107からAC電力を受信し、電源を、サーバシステム100Eの各種コンポーネント(例えば、プロセッサ114、バッテリシステム110、ノースブリッジ(NB)ロジック115、PCIeスロット160、サウスブリッジ(SB)ロジック116、ストレージデバイス117、BIOS118、ISAスロット150、PCIスロット170、ウォッチドッグ回路103、冷却制御スイッチ104及びコントローラ106等)に供給する。電源投入後、サーバシステム100Eは、メモリ、コンピュータストレージデバイス又は外部ストレージデバイスからソフトウェアアプリケーションをロードして、各種操作を実行するように構成されている。ストレージデバイス117は、サーバシステム100Eのオペレーティングシステム及びアプリケーションに使用可能な論理ブロック内に構成されており、サーバシステム100Eの電源がオフになっても、サーバデータを保持するように構成されている。
バッテリシステム110は、電源107又は少なくとも1つのPSU108の何れかが場合に、電力をサーバシステム100Eに供給するように構成されている。メモリ113は、NBロジック115を介して、プロセッサ114に接続され得る。メモリ113は、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレートDRAM(DDR DRAM)、スタティックRAM(SRAM)又は他のタイプの適切なメモリを含むことができるが、これらに限定されない。メモリ113は、サーバシステム100EのBIOSデータを記憶するように構成されている。いくつかの構成においては、BIOSデータは、ストレージデバイス117に記憶され得る。
BIOS118は、サーバシステム100Eの各種コンポーネントを初期化及び識別するように構成された任意のプログラム命令又はファームウェアであってもよい。BIOS118は、サーバシステム100Eのハードウェアコンポーネントの初期化及びテストを担当する重要なシステムコンポーネントである。BIOSは、ハードウェアコンポーネントに抽象化レイヤを提供することができるので、アプリケーション及びオペレーティングシステムは、例えば、キーボード、ディスプレイ及び他の入力/出力装置等の周辺機器と相互作用する一貫した方法を提供することができる。
いくつかの構成において、BIOS118は、対応するサーバシステム上のオペレーティングシステム(OS)(例えば、Microsoft Windows(登録商標) OS、Linux(登録商標) OS又は任意のオペレーティングシステム)を起動する前に、システムチェックを実行することができる。システムチェックは、対応するサーバシステムの初期化中に実行される診断システム検査である。システムチェックの例には、パワーオンセルフテスト(POST)が含まれる。BIOSは、POSTの主な機能を処理することができ、特定の周辺装置(例えば、ビデオ及びスモールコンピュータシステムインタフェース(SCSI)初期化)を初期化するように設計された他のプログラムへの負荷をオフロードすることができる。POSTの主な機能は、CPUレジスタとBIOSコードの整合性の確認と、基本コンポーネントのチェックと、システムのメインメモリの検査と、他の専用のBIOS拡張に制御を渡すことと、を含んでもよい。いくつかの構成において、BIOSは、全てのシステムバス及びデバイスの発見、初期化及びカタログ化と、システム構成を更新するユーザインタフェースの提供と、オペレーティングシステムが必要とするシステム環境の構築と、を含むPOSTの追加機能を処理してもよい。
システム100Eにおいて、ストレージデバイス117は、ある期間のプログラム命令又はデータを記憶するように構成された任意の記憶媒体であってもよい。ストレージデバイスは、コントローラ106とプロセッサ114との間の共有メモリとすることができる。いくつかの構成において、ストレージデバイスは、独立したストレージデバイスとすることができる。ストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ(RAM)、不揮発性ランダムアクセスメモリ(NVRAM)、読み出し専用メモリ、又は、電気的に消去可能なプログラマブルROM(EEPROM)であってもよい。ストレージデバイスは、例えばBIOSデータ等のシステム構成を記憶するように構成されている。
プロセッサ114は、特定の機能のプログラム命令を実行するように構成された中央処理装置(CPU)であってもよい。例えば、プロセッサは、ブートプロセスの間、ストレージデバイス117に記憶されたBIOSデータにアクセスし、BIOS118を実行してサーバシステム100Eを初期化することができる。プロセッサ114は、ブートプロセスの後に、サーバシステム100Eの特定のタスクを実行して管理するために、オペレーティングシステムを実行することができる。
いくつかの構成では、プロセッサ114は、マルチコアプロセッサであってもよく、各プロセッサは、NBロジック115に接続されたCPUバスを介して互いに接続されている。いくつかの構成において、NBロジック115は、プロセッサ114に組み込まれ得る。NBロジック115は、複数の周辺機器相互接続エクスプレス(PCIe)スロット160及びSBロジック116(オプション)にも接続され得る。複数のPCIeスロット160は、例えば、PCIエクスプレスx1、USB2.0、SMBus、SIMカード、他のPCIeレーン用の将来の拡張、1.5V及び3.3Vの電源、並びに、サーバシステム100Eのシャーシ上の診断LEDへの配線等の接続及びバスに使用することができる。
システム100Eにおいて、NBロジック115及びSBロジック116は、周辺機器相互接続(PCI)バス112によって接続されている。PCIバス112は、プロセッサ114の何れかのネイティブバスから独立した標準化されたフォーマットであるが、プロセッサ114上の機能をサポートすることができる。PCIバス112は、複数のPCIスロット170(例えば、PCIスロット171)に接続され得る。PCIバス112に接続するデバイスは、CPUバスに直接接続され、プロセッサ114のアドレス空間のアドレスが割り当てられ、単一バスクロックと同期されるように、バスコントローラ(図示省略)に現れてもよい。複数のPCIスロット170で使用可能なPCIカードは、ネットワークインタフェースカード(NIC)、サウンドカード、モデム、TVチューナーカード、ディスクコントローラ、ビデオカード、スカジー(SCSI)アダプター、及び、PCメモリカード国際協会(Personal Computer Memory Card International Association;PCMCIA)を含むが、これらに限定されない。
SBロジック116は、拡張バスを介して、PCIバス112を、複数の拡張カード又はISAスロット150(例えば、ISAスロット151)に接続することができる。拡張バスは、SBロジック116と周辺装置との間の通信に用いられるバスであってもよく、ISA(Industry Standard Architecture)バス、PC/104バス、ローピンカウントバス(low pin count bus)、拡張ISA(Extended ISA(EISA))バス、ユニバーサルシリアルバス(USB)、IDE(Integrated Drive Electronics)バス、又は、周辺装置のデータ通信に使用可能な他の適切なバスを含んでもよいが、これらに限定されない。
システム100Eでは、SBロジック116は、少なくとも1つのPSU102に接続されたコントローラ106に接続されている。いくつかの実施形態において、コントローラ106は、ベースボード管理コントローラ(BMC)、ラック管理コントローラ(RMC)、又は、本明細書で開示された機能を実行するのに使用可能な、メイン中央処理装置(例えば、プロセッサ114)から独立した他のタイプのサービスコントローラであってもよい。
この実施例では、ウォッチドッグ回路103は、コントローラ106の健全性を監視することができ、コントローラ106が異常であると判別したことに応じて、冷却制御スイッチ104を外部モードに設定し、同じラックシステム内の隣接するサーバシステムのコントローラが冷却コンポーネント102を制御できるようにする。例えば、ウォッチドッグ回路103は、コントローラ106からハートビート信号を受信することができる。ウォッチドッグ回路103は、所定期間内にハートビート信号が受信されていないと判別したことに応じて、コントローラ106が異常であると判別し、冷却制御スイッチ104を外部モードに設定し、隣接するサーバシステムのコントローラが冷却コンポーネント102を制御できるようにする。
いくつかの実施形態においては、ウォッチドッグ回路103は、コントローラ106の健全性をアクティブに監視することができる。ウォッチドッグ回路103は、コントローラ106が異常動作した場合、コントローラ106が異常であると判別して、特定のサーバシステムのファン制御スイッチを外部モードに設定することができる。
いくつかの構成においては、コントローラ106及びウォッチドッグ回路103は、共に少なくとも1つのPSU108に接続されており、少なくとも1つのPSU102から電源107及びPSU108の状態情報を受信することができる。例えば、コントローラ106及びウォッチドッグ回路103は、少なくとも1つのPSU102から電圧、電流及び温度データを受信することができる。ウォッチドッグ回路103は、AC電源107及びPSU108が正常である場合にのみ、冷却制御スイッチ104を外部モードに設定する。
コントローラ106は、受信したデータに基づいて、少なくとも1つのPSU102の動作を管理することができる。例えば、コントローラ106は、少なくとも1つのPSU102の電源をオン又はオフにすることができ、又は、少なくとも1つのPSU108のうちいくつかの電源をオンにし、残りのPSUの電源をオフにすることができる。いくつかの実施例においては、コントローラ106は、SMBus、I2C又はPMBusを介して、少なくとも1つのPSU108と通信することができる。
コントローラ106は、冷却コンポーネント102の状態情報(例えば、各冷却コンポーネントの状態)と、サーバシステム100Eの温度情報(例えば、プロセッサ114、ストレージデバイス117、メモリ113又はコントローラ106の温度)と、を受信することができる。コントローラ106は、冷却制御スイッチ104が内部モードに設定された場合、受信した温度情報に少なくとも基づいて、冷却コンポーネント102を制御することができる。
いくつかの実施例においては、コントローラ106は、冷却コンポーネントの状態情報(例えば、各冷却コンポーネントの状態)と、隣接するサーバシステム(図示省略)の温度情報(例えば、プロセッサ、ストレージデバイス、メモリ又はコントローラの温度)と、を更に受信することができる。コントローラ106は、隣接するサーバシステムのファン制御スイッチが外部モードに設定された場合、受信した冷却コンポーネントの温度情報及び/又は隣接するサーバシステムの温度情報に少なくとも基づいて、隣接するサーバシステムの冷却コンポーネントを制御することができる。いくつかの他の実施例では、コントローラ106は、デフォルト又は所定のパラメータに従って、隣接するサーバシステムの冷却コンポーネントを制御することができる。
いくつかの構成においては、コントローラ106は、インテリジェントプラットフォーム管理バス/ブリッジ(IPMB)を用いたインテリジェントプラットフォーム管理インタフェース(IPMI)メッセージを介して、プロセッサ114及びストレージデバイス117と通信することができる。IPMBは、I2Cバスの拡張された実装(enhanced implementation)であり、メッセージベースでハードウェアレベルの基本インタフェース仕様である。
いくつかの実施形態においては、コントローラ106は、電源パターン、サーバラック及び/又はデータセンタの温度、データセンタに関連する停電警告、処理要求、並びに、サーバシステム100Eのコンポーネント及び/又は接続状態を監視するように構成されてもよい。潜在的な/想定される(potential/anticipated)AC停電に少なくとも基づいて、コントローラ106は、サーバシステムのプロセス100Eを、潜在的な/想定されるAC停電の影響を受けない他のサーバシステムに転送するように構成されてもよく、バッテリシステム110がサーバシステム100Eに電力を供給するように準備しておくことができる。
図1A、図1B、図1C、図1D及び図1Eの例示的なシステム100A,100B,100C,100D,100Eには特定のコンポーネントのみが示されているが、例示的なシステム100A,100B,100C,100D,100Eには、データを処理若しくは記憶することができ、又は、信号を受信若しくは送信することができる様々なタイプの電子コンポーネント又はコンピュータコンポーネントが含まれてもよい。さらに、例示的なシステム100A,100B,100C,100D,100E内の電子コンポーネント又はコンピュータコンポーネントは、様々なタイプのアプリケーションを実行するように構成されてもよく、及び/又は、様々なタイプのオペレーティングシステムを使用することができる。これらのオペレーティングシステムには、Android(登録商標)、バークレイソフトウェアディストリビューション(BSD)、iPhone(登録商標) OS(IOS)、Linux(登録商標)、OS X、Unix系リアルタイムオペレーティングシステム(例えば、QNX等)、Microsoft Windows(登録商標)、Window Phone、及び、IBM z/OS(登録商標)等が含まれるが、これらに限定されない。
例示的なシステム100A,100B,100C,100D,100Eの所望の実施形態に従って、様々なネットワークプロトコル及びメッセージプロトコル(例えば、TCP/IP、開放型システム間相互接続(OSI)、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UpnP)、ネットワークファイルシステム(NFS)、顧問インターネットファイルシステム(CIFS)、AppleTalk(登録商標)等が含まれるが、これらに限定されない)が用いられる。当業者であれば理解できるように、図1A,図1B,図1C,図1D,図1Eに示される例示的なシステム100A,100B,100C,100D,100Eは、説明の目的のために用いられている。従って、ネットワークシステムは、必要に応じて多くのバリエーションで実装することができるが、本発明の様々な実施例によるネットワークプラットフォームの構成を提供する。
図1A,図1B,図1C,図1D,図1Eでは、例示的なシステム100A,100B,100C,100D,100Eは、特定のワイヤレスチャネルの計算範囲内で1つ以上の電子デバイスと通信するように動作可能な1つ以上のワイヤレスコンポーネントを含むことができる。ワイヤレスチャネルは、デバイスが無線通信するために使用される任意の適切なチャネル(例えばブルートゥース(登録商標)、セルラー(cellular)、NFC又はWi−Fi(登録商標)チャネル等)であってもよい。このデバイスは、従来技術で知られているように、1つ以上の従来の有線通信接続を有し得ることを理解されたい。各種実施形態の範囲内において、様々な他の要素及び/又は組み合わせが可能である。
図2Aは、本技術の実施形態による、ラックシステム内の1つ以上の冷却装置を管理する例示的な方法200Aを示す図である。理解すべきことは、例示的な方法200Aは単なる例示であり、本発明による他の方法では、類似若しくは代替の順序で、又は、並行して実行される追加の、より少ない、若しくは、代替のステップを含み得ることを理解されたい。例示的な方法200Aは、ステップ202から開始する。ステップ204では、図1A〜図1Dに示すように、ウォッチドッグ回路は、ラックシステム内のサーバシステムの特定のコントローラ(例えば、BMC又はプロセッサ)の健全性情報を受信することができる。いくつかの実施例においては、ウォッチドッグ回路は、特定のコントローラからハートビート信号を受信することができる。いくつかの実施例においては、ウォッチドッグ回路は、特定のコントローラの健全性をアクティブにテストすることができる。
ステップ206では、ウォッチドッグ回路は、図1A〜図1Dに示すように、特定のコントローラが正常か否かを判別することができる。ウォッチドッグ回路は、サーバシステムのAC電源及び電源ユニット(PSU)の状態情報を更に受信することができる。ステップ208では、ウォッチドッグ回路は、特定のコントローラが異常である場合に、AC電源及びPSUが正常であるか否かを更に判別することができる。
ステップ210では、ウォッチドッグ回路は、図1A〜図1Dに示すように、特定のコントローラが異常であるか無応答であり、且つ、PSU及びAC電源が共に正常である場合に、サーバシステムの冷却制御スイッチを外部モードに設定することができ、さらに、ラックシステム内の隣接するサーバシステムの異なるコントローラが、サーバシステムの1つ以上の冷却コンポーネントを制御できるようにする。方法200Aは、ステップ216で終了する。
ステップ214では、ウォッチドッグ回路は、図1A〜図1Dに示すように、特定のコントローラが正常であるか、PSU又はAC電源の何れかが異常である場合に、サーバシステムの冷却制御スイッチを内部モードに設定することができる。次いで、方法200Aは、ステップ204に戻る。
図2Bは、本技術の実施形態による、ラックシステム内の1つ以上の冷却装置を管理する例示的な方法200Bを示す図である。例示的な方法200Aは、単なる一例であり、本開示の他の方法では、類似若しくは代替の順序で又は並行して実行される、追加のステップ、より少ないステップ、又は、代替のステップを含むことができることを理解されたい。例示的な方法200Bは、ステップ220から開始する。ステップ222では、図1A〜図1Dに示すように、ラックシステム内の特定のノードのコントローラ(例えば、BMC又はプロセッサ)は、特定のノードの1つ以上の冷却コンポーネントの状態情報を受信することができる。いくつかの実施例においては、コントローラは、特定のノードの温度情報(例えば、CPU、特定のコントローラ又はハードドライブ(HDD)の温度)を更に受信することができる。
ステップ224では、コントローラは、図1A〜図1Dに示すように、特定のノードの冷却制御スイッチが内部モードに設定された場合に、1つ以上の冷却コンポーネントの状態情報及び/又は特定のノードの温度情報に少なくとも基づいて、1つ以上の冷却コンポーネントを制御することができる。
ステップ226では、コントローラは、図1A〜図1Dに示すように、ラックシステム内の隣接ノードの1つ以上の冷却コンポーネントの状態情報を受信することができる。いくつかの実施例では、コントローラは、隣接ノードの温度情報(CPU、特定のコントローラ又ははハードドライブ(HDD)の温度)を更に受信することができる。
ステップ228では、コントローラは、隣接ノードの冷却制御スイッチが外部モードに設定されているか否かを更に判別することができる。コントローラは、隣接ノードの冷却制御スイッチが外部モードに設定されている場合に、少なくとも隣接ノードの1つ以上の冷却コンポーネントの状態情報又は隣接ノードの温度情報に基づいて命令を送信することによって、隣接ノードの1つ以上の冷却コンポーネントを制御することができる。方法200Bは、ステップ232で終了する。
上記の議論は、本発明の原理及び各種実施例を例示することを意図している。上述した開示内容が完全に理解されると、各種の変更や修正がなされることが明らかになるであろう。
(専門用語)
コンピュータネットワークは、エンドポイント(例えば、パーソナルコンピュータとワークステーション)間でデータを伝送するための通信リンク及びセグメントによって相互接続された、地理的に分散したノードの集合である。ローカルエリアネットワーク(LAN)及び広域ネットワーク(WAN)からオーバーレイ及びソフトウェア定義ネットワーク(例えば、仮想拡張可能ローカルエリアネットワーク(VXLAN))まで、多くのタイプのネットワークを利用することができる。
LANは、通常、同一の物理位置(例えば、ビルやキャンパス等)に位置する専用のプライベート通信リンクを介して、ノードと通信する。一方、WANは、通常、長距離通信リンク(例えば、一般的なキャリア電話回線、光路、同期型光学ネットワーク(SONET)又は同期デジタル階層(SDH)リンク等)を介して、地理的に分散したノードを接続する。LAN及びWANは、レイヤ2(L2)、及び/又は、レイヤ3(L3)ネットワークと装置とを含むことができる。
インターネットは、世界中の異なるネットワークを接続するWANの一例であり、各種ネットワークのノード間にグローバル通信を提供する。ノードは、通常、所定のプロトコル(例えば、通信制御プロトコル/インターネットプロトコル(TCP/IP))に従って、データの個別のフレーム又はパケットを交換することによって、ネットワークを介して通信する。この文脈では、プロトコルは、ノードが互いにどのように相互作用するかを定義する一組のルールを参照することができる。コンピュータネットワークは、中間ネットワークノード(例えば、ルータ)によってさらに相互接続されており、各ネットワークの有効な「サイズ」を拡張する。
オーバーレイネットワークは、通常、物理ネットワークインフラストラクチャ上に仮想ネットワークを生成し、階層化することを可能にする。オーバーレイネットワークプロトコル(例えば、仮想拡張可能LAN(VXLAN)、汎用ルーティングのカプセル化を用いたネットワーク仮想化(NVGRE)、ネットワーク仮想化オーバーレイ(NVO3)、及び、ステートレストランスポートトンネリング(STT)等)は、ネットワークトラフィックが、論理トンネルを介して、L2及びL3ネットワークで実行できるようにするトラフィックカプセル化スキームを提供する。このような論理トンネルは、仮想トンネルエンドポイント(VTEPs)を介して発信及び終了することができる。
さらに、オーバーレイネットワークは、VMが通信する仮想L2及び/又はL3オーバーレイネットワークを含むことの可能な仮想セグメント(例えば、VXLANオーバーレイネットワーク内のVXLANセグメント)を有することができる。仮想セグメントは、関連する仮想セグメント又はドメインを具体的に識別することができる例えばVXLANネットワーク識別子等の仮想ネットワーク識別子(VNI)を介して識別することができる。
ネットワーク仮想化は、ハードウェア及びソフトウェアリソースを仮想ネットワーク内で組み合わせることを可能にする。例えば、ネットワーク仮想化では、複数のVMを、各々の仮想LAN(VLAN)を介して物理ネットワークに接続することができるようにする。VMは、各々のVLANに従ってグループ化することができ、内部又は外部ネットワーク上の他の装置と同様に、他のVMと通信することができる。
ネットワークセグメント(例えば、物理セグメント若しくは仮想セグメント、ネットワーク、装置、ポート、物理リンク若しくは論理リンク、及び/又はトラフィック等)は、通常、ブリッジ又はフラッドドメイン(flood domain)にグループ化される。ブリッジドメイン又はフラッドドメインは、ブロードキャストドメイン(例えば、L2ブロードキャストドメイン)を表す。ブリッジドメイン又はフラッドドメインは、単一のサブネットを有し得るが、複数のサブネットを有してもよい。さらに、ブリッジドメインは、ネットワーク装置(例えば、スイッチ)上のブリッジドメインインタフェースに関連付けることができる。ブリッジドメインインタフェースは、L2ブリッジネットワークとL3ルーテッドネットワークとの間のトラフィックをサポートする論理インタフェースであってもよい。この他、ブリッジドメインインタフェースは、インターネットプロトコル(IP)ターミネーション、VPNターミネーション、アドレス解決処理、MACアドレッシング等をサポートしてもよい。ブリッジドメインとブリッジドメインインタフェースは、同じインデックス又は識別子により識別される。
また、アプリケーションをネットワークにマッピングするために、エンドポイントグループ(EPG)をネットワークで使用することができる。特に、EPGは、ネットワーク内のアプリケーションエンドポイントのグルーピングを用いて、接続性及びポリシーをアプリケーショングループに適用することができる。EPGは、バケットのコンテナ若しくはアプリケーションの集合、又は、アプリケーションコンポーネント、並びに、転送及びポリシーロジックを実行する段(tiers)として機能することができる。さらに、EPGは、論理的なアプリケーション境界を代わりに用いて、ネットワークポリシー、セキュリティ、及び、アドレッシングからの転送の分離を可能にする。
クラウドコンピューティングは、共有リソースを用いてコンピューティングサービスを提供するために、1つ以上のネットワーク中に提供され得る。クラウドコンピューティングは、通常、コンピューティングリソースが動的にプロビジョニングされ、ネットワーク(例えば、クラウド)を介して利用可能なリソースの集合からオンデマンドでクライアントコンピュータ若しくはユーザコンピュータ又は他の装置に割り当てられるインターネットベースのコンピューティングを含むことができる。クラウドコンピューティングリソースは、例えば、コンピューティング、ストレージ、ネットワーク装置及び仮想マシン(VM)等の任意のタイプのリソースを有することができる。例えば、リソースは、サービス装置(ファイヤウォール、ディープパケットインスペクタ、トラフィックモニタ、ロードバランサ等)、計算/処理装置(サーバ、CPU、メモリ、ブルートフォース処理機能)、ストレージデバイス(例えば、ネットワーク接続ストレージ、ストレージエリアネットワーク装置)等を有することができる。また、かかるリソースが用いられて、仮想ネットワーク、仮想マシン(VM)、データベース、アプリケーション(Apps)等をサポートすることができる。
クラウドコンピューティングリソースは、「プライベートクラウド」、「パブリッククラウド」及び/又は「ハイブリッドクラウド」を有することができる。「ハイブリッドクラウド」は、技術を介して相互運用(inter-operate)又は連携(federate)する2つ以上のクラウドから構成されるクラウドインフラストラクチャとすることができる。本質的に、ハイブリッドクラウドは、プライベートクラウドがパブリッククラウドに加わり、パブリッククラウドリソースを安全且つスケーラブルに利用する、プライベートクラウド及びパブリッククラウド間の相互作用である。また、クラウドコンピューティングリソースは、VXLAN等のオーバーレイネットワーク内の仮想ネットワークを介して、プロビジョニングすることができる。
ネットワークスイッチシステムにおいて、ルックアップデータベースを維持して、スイッチシステムに接続されたいくつかのエンドポイント間のルートを追跡することができる。しかしながら、エンドポイントは、様々な構成を有することができ、且つ、多数のテナントに関連付けられている。これらのエンドポイントは、各種識別子(例えば、IPv4、IPv6又はレイヤ2(layer-2)等)を有することができる。ルックアップデータベースは、異なるタイプのエンドポイント識別子を処理するために、異なるモードで構成される必要がある。ルックアップデータベースの容量は、着信パケットの異なるアドレスタイプを処理するように設計される。さらに、ネットワークスイッチシステム上のルックアップデータベースは、通常、1K仮想ルーティング及び転送(VRFs)によって制限される。これにより、各種タイプのエンドポイント識別子を処理するために、改善されたルックアップアルゴリズムが必要とされている。本発明の技術は、電気通信ネットワークにおけるアドレスルックアップに必要な技術を提供する。本発明は、エンドポイント識別子を一様な空間にマッピングし、異なる形式のルックアップを一様に処理することによって、様々なタイプのエンドポイント識別子を統合するためのシステム、方法及びコンピュータ可読記憶媒体を開示する。例示的なシステム及びネットワークの手短な前置きは、図3と図4に示されるように、本明細書に開示される。これらの変形例は各種実施形態において説明される。本技術について図3を参照する。
図3は、本発明を実行するのに適したコンピューティングデバイス300の一例を示す図である。コンピューティングデバイス300は、マスタ中央処理装置(CPU)362と、インタフェース368と、バス315(例えば、PCIバス)と、を有する。CPU362は、適切なソフトウェア又はファームウェアの制御下で動作する場合、パケット管理、エラー検出、及び/又は、例えば配線ミス検出機能等のルーティング機能の実行を担う。CPU362は、好ましくは、オペレーティングシステム及び任意の適切なアプリケーションソフトウェアを含むソフトウェアの制御下で、これらの全ての機能を実現する。CPU362は、Motorolaファミリのマイクロプロセッサ又はMIPSファミリのマイクロプロセッサ等の1つ以上のプロセッサ363を含むことができる。他の実施形態において、プロセッサ363は、コンピューティングデバイス300の操作を制御するために特別に設計されたハードウェアである。特定の実施形態において、メモリ361(例えば、不揮発性RAM及び/又はROM)は、さらに、CPU362の一部を形成する。しかし、メモリをシステムに接続し得る多くの異なる方法がある。
インタフェース368は、通常、インタフェースカード(「ラインカード」と呼ばれることもある)として提供される。一般に、それらは、ネットワークを介して、データパケットの送受信を制御し、コンピューティングデバイス300で使用される他の周辺装置をサポートすることがある。インタフェースの中から、イーサネット(登録商標)インタフェース、フレームリレーインタフェース、ケーブルインタフェース、DSLインタフェース、トークンリングインタフェース等を使用することができる。また、各種超高速インタフェースは、高速トークンリングインタフェース、ワイヤレスインタフェース、イーサネット(登録商標)インタフェース、ギガビットイーサネット(登録商標)インタフェース、ATMインタフェース、HSSIインタフェース、POSインタフェース、FDDIインタフェース等を使用することができる。一般に、これらのインタフェースは、適切な媒体と通信する適切なポートを有する。いくつかの実施形態において、インタフェースは、さらに、独立したプロセッサと、場合によっては揮発性RAMと、を有する。独立したプロセッサは、パケット交換、媒体制御及び管理等の通信集中型タスクを制御することができる。通信集中タスク型用に別個のプロセッサを提供することにより、これらのインタフェースは、マスタマイクロプロセッサ362が、ルーティング計算、ネットワーク診断、セキュリティ機能等を効率的に実行できるようにする。
図3に示されるシステムは、本発明の1つの特定コンピューティングデバイスであるが、本発明の唯一のネットワーク装置構造であることを意味するのではない。例えば、通信やルーティング計算等を処理する単一のプロセッサを有するアーキテクチャが頻繁に用いられる。さらに、別のタイプのインタフェース及び媒体も、ルータと共に使用することができる。
ネットワークデバイスの構成にかかわらず、本明細書に記載のローミング、ルート最適化及びルーティング機能を実行する汎用ネットワーク操作及びメカニズムのためのプログラム命令を記憶するように構成された1つ以上のメモリ又はメモリモジュール(メモリ361を有する)を使用することができる。プログラム命令は、オペレーティングシステム、及び/又は、1つ以上のアプリケーションの操作を制御することができる。メモリ又は複数のメモリは、モビリティバインディング、登録及び関連テーブル等のテーブルを記憶するように構成することができる。
図4及び図5は、本発明の実施形態による例示的なシステムを示す図である。本発明の技術を実施する場合、当業者であれば、より適切な実施形態を理解することができるであろう。当業者であれば、他のシステムの実施形態も可能であることが理解できるであろう。
図4は、システムバスコンピューティングシステム機構400を示す図であり、システムのコンポーネントは、バス402を用いて互いに電気的に通信する。例示的なシステム400は、処理ユニット(CPU又はプロセッサ)430と、システムバス402と、を有する。システムバス402は、システムメモリ404(例えば、リードオンリメモリ(ROM)406及びランダムアクセスメモリ(RAM)408)を含む各種システムコンポーネントをプロセッサ430に接続する。システム400は、高速メモリのキャッシュを有し、キャッシュは、プロセッサ430に直接接続され、プロセッサ430に隣接して接続され、又は、プロセッサ430の一部として統合されてもよい。システム400は、プロセッサ430による高速アクセスのために、メモリ404及び/又はストレージデバイス412からキャッシュ428にデータをコピーしてもよい。この方法において、キャッシュは、プロセッサ430がデータを待つ間に遅延が生じるのを防止する性能向上を提供する。これら及び他のモジュールは、様々な動作を制御するためにプロセッサ430を制御するように構成される。別のシステムメモリ404も同様に使用可能である。メモリ404は、異なるパフォーマンス特性を有する複数の異なるタイプのメモリを有することができる。プロセッサ430は、プロセッサ430を制御するように構成されたストレージデバイス412に記憶されたモジュール1 414、モジュール2 416及びモジュール3 418等の任意の汎用目的プロセッサ及びハードウェアモジュール又はソフトウェアモジュールを含むことができ、ソフトウェア命令は、実際のプロセッサ設計に組み込まれる。プロセッサ430は、実質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含む完全に独立したコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
ユーザがコンピューティングデバイス400と相互作用できるようにするため、入力デバイス420は、任意の数の入力メカニズム(例えば、スピーチ用のマイクロフォン、ジェスチャ又はグラフィカル入力用のタッチスクリーン、キーボード、マウス、モーション入力等)を表すことができる。出力デバイス422は、従来の技術で知られる1つ以上の数の出力メカニズムである。場合によっては、マルチモーダルシステムは、ユーザが、コンピューティングデバイス400と通信するために、複数のタイプの入力を提供できるようにする。通信インタフェース424は、通常、ユーザ入力及びシステム出力を支配及び管理することができる。特定のハードウェア構成における操作に制限がないため、ここでの基本的な特徴は、改良されたハードウェアやファームウェアの構成が開発されるときに容易に置き換えることができる。
ストレージデバイス412は不揮発性メモリであり、ハードディスク、又は、コンピュータがアクセス可能なデータを記憶することの可能な他のタイプのコンピュータ可読媒体(例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリ装置、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)408、リードオンリメモリ(ROM)406及びこれらの組み合わせ等)であってもよい。
ストレージデバイス412は、プロセッサ430を制御するためにソフトウェアモジュール414,416,418を有してもよい。他のハードウェア又はソフトウェアモジュールも含まれ得る。ストレージデバイス412は、システムバス402に接続されてもよい。一実施形態において、特定の機能を実行するハードウェアモジュールは、機能を実行するために、必要なハードウェアコンポーネント(例えば、プロセッサ430、バス402、ディスプレイ436等)と接続するコンピュータ読み取り可能媒体に記憶されたソフトウェアコンポーネントを含むことができる。
コントローラ410は、システム400上の特殊なマイクロコントローラ又はプロセッサ(例えば、BMC(ベースボード管理コントローラ))であってもよい。場合によっては、コントローラ410は、インテリジェントプラットフォーム管理インタフェース(IPMI)の一部であってもよい。さらに、場合によっては、コントローラ410は、システム400のマザーボード又はメイン回路基板に組み込まれてもよい。コントローラ410は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理することができる。また、コントローラ410は、以下に説明するように、例えばコントローラ又は周辺コンポーネント等の各種システムデバイス及びコンポーネント(内部、及び/又は、外部)と通信することができる。
コントローラ410は、通知、警告及び/又はイベントに対する特定の応答を生成し、遠隔装置又はコンポーネント(例えば、電子メールメッセージ、ネットワークメッセージ等)と通信し、自動ハードウェア障害回復工程等の指令や命令を生成する。システム管理者は、以下に更に説明するように、コントローラ410と遠隔通信して、特定のハードウェア障害回復工程又は操作を開始又は実行することができる。
システム400上の異なるタイプのセンサ(例えば、センサ426)は、例えば、冷却ファン速度、電源状態、オペレーティングシステム(OS)状態、ハードウェア状態等のパラメータをコントローラ410に報告することができる。コントローラ410は、コントローラ410により受信されたイベント、警告、通知を管理及び記憶するシステムイベントログコントローラ及び/又はストレージを有してもよい。例えば、コントローラ410又はシステムイベントログコントローラは、1つ以上の装置及びコンポーネントからの警告や通知を受信し、当該警告や通知をシステムイベントログストレージコンポーネント内に維持することができる。
フラッシュメモリ432は、ストレージ及び/又はデータ転送に用いられるシステム400によって使用される電子不揮発性コンピュータストレージ媒体又はチップであってもよい。フラッシュメモリ432は、電気的に消去及び/又は再プログラムされ得る。フラッシュメモリ432は、例えば、消去可能なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、ROM、NVRAM、又は、相補型MOS(CMOS)を有する。フラッシュメモリ432は、システム400が起動するときに、システム400により実行されるファームウェア434を、ファームウェア434に対して指定されたセットとともに記憶することができる。さらに、フラッシュメモリ432は、ファームウェア434により用いられる構成を記憶することができる。
ファームウェア434は、基本入力/出力システム(BIOS)又はその後継品、等価物(例えば、エクステンシブルファームウェアインタフェース(EFI)又はユニファイドエクステンシブルファームウェアインタフェース(UEFI))を有する。システム400が起動される毎に、ファームウェア434は、シーケンスプログラムとしてロードされ、実行される。ファームウェア134は、構成のセットに基づいて、システム400に存在するハードウェアを識別、初期化、テストする。ファームウェア434は、システム400上でのセルフテスト(例えば、パワーオンセルフテスト(POST))を実行する。このセルフテストは、各種ハードウェアコンポーネント(例えば、ハードディスクドライブ、光学読み取り装置、冷却装置、メモリモジュール、拡張カード等)の機能性をテストする。ファームウェア434は、オペレーティングシステム(OS)を記憶するために、メモリ404、ROM406、RAM408及び/又はストレージデバイス412内の領域をアドレス及び割り当てることができる。ファームウェア434は、ブートローダ及び/又はOSをロードし、システム400の制御をOSに与えることができる。
システム400のファームウェア434は、ファームウェア434がシステム400内の各種ハードウェアコンポーネントをどのように制御するかを定義するファームウェア構成を有することができる。ファームウェア構成は、システム400内の各種ハードウェアコンポーネントが起動される順序を判断する。ファームウェア434は、各種異なるパラメータの設定を許可するインタフェース(例えば、UEFI)を提供することができ、このパラメータは、ファームウェアのデフォルト設定のパラメータとは異なる。例えば、ユーザ(例えば、システム管理者)は、ファームウェア434を用いて、クロック及びバス速度を指定し、どの周辺機器をシステム400に取り付けるか指定し、監視の状態(例えば、ファン速度及びCPU温度制限)を指定し、システム400のパフォーマンス全体及び電力使用量に影響する多種の他のパラメータを指定する。
ファームウェア434は、フラッシュメモリ432に記憶されているものとして説明されているが、当業者は、ファームウェア434が、他のメモリ、コンポーネント(例えば、メモリ404又はROM406)に記憶することができるのを理解するであろう。しかし、示されたフラッシュメモリ432に記憶されたファームウェア434は説明の目的の例であり、これに限定されない。
システム400は1つ以上のセンサ426を有する。1つ以上のセンサ426は、例えば、1つ以上の温度センサ、熱センサ、酸素センサ、化学センサ、ノイズセンサ、ヒートセンサ、電流センサ、電圧検出器、気流センサ、流量センサ、赤外線放射温度計、熱流束センサ、温度計、高温計等を有する。1つ以上のセンサ426は、例えば、バス402を介して、プロセッサ、キャッシュ428、フラッシュメモリ432、通信インタフェース424、メモリ404、ROM406、RAM408、コントローラ410及びストレージデバイス412と通信する。また、1つ以上のセンサ426は、1つ以上の異なる手段(例えば、集積回路(I2C)、汎用出力(GPO)等)を介して、システム内の他のコンポーネントと通信することができる。
図5は、説明した方法又は操作の実行、並びに、グラフィカルユーザインターフェース(GUI)の生成及び表示に用いることができるチップセット機構を有する例示的なコンピュータシステム500を示す図である。コンピュータシステム500は、本発明の技術を実行するのに用いられるコンピュータハードウェア、ソフトウェア及びファームウェアを含むことができる。システム500は、識別された計算を実行するように構成されたソフトウェア、ファームウェア及びハードウェアを実行することができる任意の数の物理的及び/又は論理的に異なるリソースを表すプロセッサ510を含むことができる。プロセッサ510は、プロセッサ510への入出力を制御することができるチップセット502と通信する。この例において、チップセット502は、情報を出力デバイス514(例えば、ディスプレイ)に出力し、ストレージデバイス516(磁気媒体、固体媒体を含む)に対して情報を読み書きする。また、チップセット502は、RAM518に対してデータをやり取りする。各種ユーザインタフェースコンポーネント506と相互作用するブリッジ504は、チップセット502と相互作用するために提供され得る。このようなユーザインタフェースコンポーネント506は、キーボード、マイクロフォン、タッチ検出及び処理回路、ポインティングデバイス(マウス等)を有する。一般に、システム500への入力は、機器及び/又は人間が生成した各種ソースの何れかから生じる。
また、チップセット502は、異なる物理的インタフェースを有する1つ以上の通信インタフェース508と相互作用する。このような通信インタフェースは、有線及び無線のローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク及びパーソナルエリアネットワークのためのインタフェースを有する。本発明におけるGUIを生成、表示及び使用する方法のいくつかのアプリケーションは、ストレージデバイス516又は518に記憶されたデータを分析するプロセッサ510が、順序付けられたデータセットを、物理的インタフェースを介して又は機器自身により生成されることにより受信する工程を有する。さらに、機器は、ユーザインタフェースコンポーネント506を介して、ユーザからの入力を受信し、適切な機能(例えば、プロセッサ510を用いて、これらの入力を解釈することによりブラウズ機能を実行する)を実行する。
さらに、チップセット502は、電源が投入されると、コンピュータシステム500によって実行され得るファームウェア512と通信することができる。ファームウェア512は、ファームウェア構成のセットに基づいて、コンピュータシステム500内に存在するハードウェアを認識、初期化及びテストすることができる。ファームウェア512は、システム500上でセルフテスト(例えば、POST)を実行する。セルフテストでは、各種ハードウェアコンポーネント502〜510の機能をテストすることができる。ファームウェア512は、OSを記憶するために、メモリ518内の領域をアドレス指定及び割り当てることができる。ファームウェア512は、ブートローダ及び/又はOSをロードし、システム500の制御をOSに与える。場合によっては、ファームウェア512は、ハードウェアコンポーネント502〜510及び514〜518と通信する。ここで、ファームウェア512は、チップセット502及び/又は1つ以上の他のコンポーネントを介して、ハードウェアコンポーネント502〜510及び514〜518と通信する。場合によっては、ファームウェア512は、ハードウェアコンポーネント502〜510及び514〜518と直接通信することができる。
例示的なシステム300,400,500は、より高い処理能力を提供するために、2つ以上のプロセッサ(例えば、363,430,510)を有することができ、又は、ネットワーク接続されたコンピューティングデバイスのグループ又はクラスタの一部であり得ることが理解されるであろう。
説明をわかりやすくするために、ある実施形態において、装置、デバイスコンポーネント、ソフトウェアで実施される方法における工程やルーティン、又は、ハードウェアとソフトウェアの組み合わせを含む個々の機能ブロックを有するものとして提示することができる。
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体及びメモリは、ビットストリーム等を含むケーブル又は無線信号を有する。しかし、言及されるとき、非一時的なコンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波及び信号そのもの等の媒体を明確に排除する。
上記の例における方法は、コンピュータ可読媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令(例えば、アセンブリ言語)、ファームウェア又はソースコードである。命令、使用した情報、及び/又は、説明した例による方法において生成された情報を記憶するために用いることができるコンピュータ可読媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイス等を含む。
これらの開示における方法を実行する装置は、ハードウェア、ファームウェア及び/又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、PDA、ラックマウント型装置、スタンドアロン装置等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
命令、かかる命令を伝達する媒体、それらを実行するコンピューティングリソース、及び、かかるコンピューティングリソースをサポートする他の構造は、本明細書に記載の機能を提供する手段である。
本発明の各種実施形態は、ノードの冷却制御スイッチ及び特定のコントローラ(例えば、BMC又は特定のプロセッサ)を用いて、ノードの1つ以上の冷却コンポーネントを制御するシステム及び方法を提供する。特定の実施形態では、任意の操作を異なる命令でどのように実現するかを示しているが、他の実施形態では、任意の操作を異なる命令に組み込むことができる。説明を明瞭にするために、本発明のいくつかの実施形態において、デバイス、デバイスコンポーネント、ソフトウェア、又は、ハードウェアとソフトウェアの組み合わせで実現される方法におけるステップ若しくはルーティンを有する機能ブロックを含むものとして示される。
各種実施形態は、場合によっては、いくつかのアプリケーションの何れかを動作させるために用いられる1つ以上のサーバコンピュータ、ユーザコンピュータ又はコンピューティングデバイスを有する多種多様な動作環境で実行することができる。ユーザ又はクライアントデバイスは、標準のオペレーティングシステムを実行するデスクトップ又はラップトップコンピュータ等の多数の汎用パーソナルコンピュータ、並びに、モバイルソフトウェアを実行し、いくつかのネットワーク及びメッセージプロトコルをサポートすることができるセルラー、ワイヤレス及びハンドヘルド装置を含むことができる。このようなシステムは、さらに、開発及びデータベース管理等の目的のために様々な市販のオペレーティングシステム及び他の既知のアプリケーションを実行するいくつかのワークステーションを有する。これらの装置は、他の電子装置(例えば、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信可能な他の装置等)を有する。
本発明のいくつかの実施態様又はその一部がハードウェアで実現される限り、本発明は、以下の技術の何れか又は組み合わせにより実現される。例えば、データ信号に基づきロジック機能を実行するロジックゲートを有する離散ロジック回路、適切な組み合わせのロジックゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)等のプログラマブルハードウェア、フィールドプログラマブルゲートアレイ(FPGA)等が含まれる。
ほとんどの実施形態は、例えばTCP/IP、OSI、FTP、UPnP、NFS、CIFS、AppleTalk(登録商標)等の商用のプロトコルの何れかを用いて通信をサポートするために、当業者によく知られている少なくとも1つのネットワークを使用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及び、これらの任意の組み合わせである。
上記の例における方法は、コンピュータ可読媒体に記憶されるか利用可能なコンピュータ実行可能命令を用いて実施される。このような命令は、例えば、特定の機能又は機能グループを実行する汎用コンピュータ、専用コンピュータ又は特殊用途処理装置をもたらすか構成する命令及びデータを含むことができる。用いられるコンピュータリソースの一部は、ネットワークを介してアクセス可能である。コンピュータ実行可能命令は、例えば、バイナリ、中間フォーマット命令(例えば、アセンブリ言語)、ファームウェア又はソースコードである。命令、使用した情報、及び/又は、説明した例による方法において生成された情報を記憶するために用いることができるコンピュータ可読媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイス等を含む。
これらの開示における方法を実行する装置は、ハードウェア、ファームウェア及び/又はソフトウェアを有し、各種フォームファクタの何れかを利用する。このようなフォームファクタの一般的な例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、PDA等を有する。ここで説明される機能は、周辺装置又はアドインカードにも実装することができる。さらなる例として、このような機能は、単一の装置で実行される異なるチップ間又は異なるプロセス間の回路基板上で実行することができる。
ウェブサーバを用いた実施形態において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、及び、ビジネスアプリケーションサーバを有する任意の種類のサーバ又は中間層アプリケーションを実行することができる。サーバは、ユーザ装置からの要求に応じて、例えば、任意のプログラミング言語(例えば、Java(登録商標)、C、C#、C++)、任意のスクリプト言語(例えば、Perl、Python、TCL)、及びこれらの組み合わせで書き込まれる1つ以上のスクリプト又はプログラムとして実行される1つ以上のウェブアプリケーションを実行すること等により、プログラムやスクリプトを実行することができる。サーバは、公開市場で市販されているものを含むがこれに限定されないデータベースサーバを含むことができる。
サーバシステムは、前述の様々なデータ記憶、他のメモリ、及び、ストレージ媒体を有する。これらは、例えば、ストレージ媒体が1つ以上のコンピュータにローカル接続され(及び/又は存在する)、又は、ネットワークにより、任意の若しくは全てのコンピュータから遠隔で連結される等のように、様々な場所に存在し得る。一組の特定の実施形態において、情報は、当業者によく知られているストレージエリアネットワーク(SAN)中に存在することができる。同様に、コンピュータ、サーバ又は他のネットワーク装置に起因する機能を実行するのに必要とされる任意のファイルは、必要に応じてローカル及び/又はリモートに記憶することができる。システムがコンピュータ化された装置を含む場合、このような装置は、バスを介して電気的に接続されるハードウェアコンポーネントを有し、コンポーネントは、例えば、少なくとも1つの中央処理ユニット(CPU)と、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチセンサディスプレイコンポーネント、又は、キーパッド)と、少なくとも1つの出力デバイス(例えば、ディスプレイ装置、プリンタ、又は、スピーカ)と、を有する。このようなシステムは、さらに、1つ以上のストレージデバイス(例えば、ディスクドライブ、光学ストレージデバイス、及び、ソリッドステートストレージデバイス(例えば、ランダムアクセスメモリ(RAM)又はリードオンリメモリ(ROM))、及び、除去可能な媒体装置、メモリカード、フラッシュカード等)を有する。
このような装置は、さらに、上述したように、コンピュータ可読記憶媒体読み取り機、通信装置(例えば、モデム、ネットワークカード(有線又は無線)、赤外線コンピューティングデバイス)、及び、ワーキングメモリを有する。コンピュータ可読記憶媒体読み取り機は、コンピュータ可読記憶媒体に接続され、又は、コンピュータ可読記憶媒体を受け入れる。コンピュータ可読記憶媒体は、リモート、ローカル、固定、及び/又は、取り外し可能なストレージデバイスを表してもよく、一時的及び/又は永久的に、コンピュータ可読情報を含有、記憶、送信及び回収するストレージ媒体を表してもよい。システム及び各種デバイスは、一般に、少なくとも1つのワーキングメモリ装置に配置された複数のソフトウェアアプリケーション、モジュール、サービス、又は、他の素子を有し、当該他の素子は、オペレーティングシステム及びアプリケーションプログラム(例えば、クライアントアプリケーション又はウェブブラウザ)を有する。前述した例に基づいて、様々な変形例を有することができることを理解されたい。例えば、カスタマイズされたハードウェアを使用することもでき、及び/又は、特定の素子をハードウェア/ソフトウェア(ポータブルソフトウェア(例えば、アプレット)を含む)若しくはこれらの両方で実施することができる。さらに、その他のコンピューティングデバイス(例えば、ネットワーク入/出力装置)への接続も使用される。
コード又はコードの一部を含むストレージ媒体及びコンピュータ可読媒体は、従来技術で用いられる任意の適切な媒体(例えば、ストレージ媒体及びコンピューティング媒体)を含む。この媒体は、揮発性及び不揮発性、取り外し可能、並びに、非取り外し可能媒体に限定されず、任意の方法や技術で実現され、情報(例えば、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ)を記憶及び/又は送信する。この媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、又は、他の任意の媒体を含み、必要な情報を記憶するのに用いられたり、システムデバイスによりアクセスされる。本明細書で提供される技術及び教示に基づいて、当業者であれば、本発明の各種態様を実施する他のやり方及び/又は方法を理解するであろう。
明細書及び図面は、限定的ではなく例示的なものとみなされるべきである。しかしながら、特許請求の範囲に記載された発明のより広い趣旨及び範囲から逸脱することなく、様々な修正及び変更を行うことができることは明らかであろう。