JP6686266B2 - リモートシステム復旧のためのシステムおよび方法 - Google Patents

リモートシステム復旧のためのシステムおよび方法 Download PDF

Info

Publication number
JP6686266B2
JP6686266B2 JP2018171266A JP2018171266A JP6686266B2 JP 6686266 B2 JP6686266 B2 JP 6686266B2 JP 2018171266 A JP2018171266 A JP 2018171266A JP 2018171266 A JP2018171266 A JP 2018171266A JP 6686266 B2 JP6686266 B2 JP 6686266B2
Authority
JP
Japan
Prior art keywords
bmc
cpld
server system
wdt
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018171266A
Other languages
English (en)
Other versions
JP2019125339A (ja
Inventor
▲啓▼村 周
▲啓▼村 周
英哲 張
英哲 張
嚴之 張
嚴之 張
Original Assignee
廣達電脳股▲ふん▼有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 廣達電脳股▲ふん▼有限公司 filed Critical 廣達電脳股▲ふん▼有限公司
Publication of JP2019125339A publication Critical patent/JP2019125339A/ja
Application granted granted Critical
Publication of JP6686266B2 publication Critical patent/JP6686266B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は一般的に、コンピューティングシステムにおけるシステム復旧に関する。
サーバアーキテクチャにおいて、サーバシステムは典型的には、米国特許出願第20130205129号に開示されているBMCなどのベースボード管理コントローラ(BMC)を備える。BMCは、システム管理ステータス(例えば、温度および電源)のモニタリング、および、サーバシステムの制御に使用される。BMCによって制御されるシステム管理機能は、典型的には、サーバシステムにとって重要である。
しかしながら、BMCが誤動作、動作停止、または、ハングアップした場合、サーバシステムの性能および能力は大きな影響を受け得る。
本開示の様々な例によれば、システムおよび方法は、ハードウェアウォッチドッグタイマ(HW WDT)回路および/もしくはコンプレックスプログラマブルロジックデバイス(CPLD)を使用して、ハングアップしたベースボード管理コントローラ(BMC)、または、サーバシステムの別のコンポーネントをリセットすることによって、上記の問題に対する解決策を提供する。HW WDT回路は、BMCからのハートビート信号をモニタリングし、BMCの健全状態を判定できる。BMCの健全状態が、予め定められた基準を満たさない場合、HW WDT回路は、BMCをリセットするためのリセット信号を生成する。CPLDは、サーバシステムのコンポーネントの健全情報をBMCから収集し、BMCの健全状態をHW WDT回路から収集できる。CPLDは、サーバシステムのどの特定のコンポーネントがハングアップしているかを判定すると、特定のコンポーネントをリセットするためのリセット信号を生成できる。
いくつかの実装において、CPLDは、2またはより多くの部分(例えば、第1CPLD部および第2CPLD部)を含む。第1CPLD部は、サーバシステムのマザーボード上に配置でき、一方、第2CPLD部は、サーバシステムのバックプレーン上に配置できる。第1CPLD部および第2CPLD部の両方は、集積回路間(I2C)チャネルを介してBMCに接続される。第1CPLD部は、サーバシステムのコンポーネントの健全情報をBMCから収集し、BMCの健全状態をHW WDT回路から収集できる。第2CPLD部は、第1CPLD部の冗長バックアップとして機能し得て、および/または、サーバシステムの複数の電源ユニット(PSU)の健全情報を直接収集できる。いくつかの例において、第1CPLP部または第2CPLD部のいずれかは、再開および休止(RSM_RST)信号を受信後、リセット信号を送信できる。いくつかの例において、第1CPLPは、サーバシステムの電源投入およびリセットの手順を扱うことができる。
いくつかの実装において、サーバシステムは更に、ネットワークを介してリモートデバイスと通信するための物理層(PHY)集積回路(IC)を含む。PHY ICは、管理メッセージを管理者またはリモートデバイスから受信し、電源管理イベント(PME)信号を介して第1CPLD部およびBMCと通信できる。いくつかの例において、リモートデバイスまたは管理者は、PHY IC112および第1CPLD部を介してBMCまたはサーバシステムの特定のコンポーネントをリモートでリセットすることが可能であり得る。いくつかの例において、PHY ICは、BMCとRJ45コネクタとの間のブリッジとして働く。PHY ICは、PHY_MDIP信号を介してRJ45コネクタと通信しながら、RGMII信号を介してBMCと通信できる。
いくつかの実装において、BMCは、ソフトウェアWDTを含む。ソフトウェアWDTは、BMCのハートビート信号によってリセットされる。BMCのハートビート信号がソフトウェアWDTのリセットに失敗した場合、ソフトウェアWDTはタイムアウトし、BMCをリセットするためのタイムアウト信号を生成する。いくつかの実装において、ソフトウェアWDTは、システム電源サイクル、プラットフォームコントローラハブ(PCH)リセット、および、システムリセットを実行し得る。
いくつかの実装において、第1CPLD部および第2CPLD部の両方は、タイムアウト検出モジュールを含む。タイムアウト検出モジュールは、BMCまたはサーバシステムの別のコンポーネントへ送信されたリセット信号をモニタリングできる。タイムアウト検出モジュールは、リセット信号が目標コンポーネントのリセットに失敗したという判定に応答して、リセット信号を再送信するように、対応するCPLD部をトリガできる。
本開示の一態様によれば、サーバシステムのハングアップしたコンポーネントをリセットするためのコンピュータ実装方法は、サーバシステムのHW WDT回路によって、サーバシステムのBMCからハートビート信号を受信する段階と、HW WDT回路によって、ハートビート信号に基づいて、BMCの健全状態を判定する段階と、BMCの健全状態が予め定められた基準を下回る場合にBMCをリセットする段階とを備える。
いくつかの実装において、サーバシステムのハングアップしたコンポーネントをリセットするためのコンピュータ実装方法は更に、PHY ICによって、管理者またはリモートデバイスから管理メッセージを受信すると、PME信号を介して第1CPLDと通信する段階と、第1CPLDによって、サーバシステムのコンポーネントの健全情報をBMCから収集する段階と、第1CPLDによって、BMCの健全状態をHW WDT回路から収集する段階と、収集されたコンポーネントの健全情報およびBMCの健全状態に基づいて、サーバシステムが特定のコンポーネントがハングアップしたと判定する段階と、第1CPLDによって、特定のコンポーネントをリセットするためのリセット信号を生成する段階とを備える。
本開示の別の態様によれば、命令を記憶する非一時的コンピュータ可読記憶媒体が提供される。命令は、プロセッサによって実行されるとき、サーバシステムのHW WDT回路によって、サーバシステムのBMCからハートビート信号を受信すること、HW WDT回路によって、ハートビート信号に基づいて、BMCの健全状態を判定すること、および、BMCの健全状態が予め定められた基準を下回る場合にBMCをリセットすることを含む動作をプロセッサに実行させる。
いくつかの実装において、命令は、プロセッサによって実行されるとき、PHY ICによって、管理者またはリモートデバイスから管理メッセージを受信すると、PME信号を介して第1CPLDと通信すること、第1CPLDによって、サーバシステムのコンポーネントの健全情報をBMCから収集すること、第1CPLDによって、BMCの健全状態をHW WDT回路から収集すること、収集されたコンポーネントの健全情報、および、BMCの健全状態に基づいて、サーバシステムの特定のコンポーネントがハングアップしたと判定すること、ならびに、第1CPLDによって、特定のコンポーネントをリセットするためのリセット信号を生成することを更に含む動作をプロセッサに実行させる。
いくつかの構成によれば、サーバシステムのコンポーネントの動作状態は、サーバシステムのメモリ、ハードドライブ、または、フラッシュメモリデバイスに記憶できる。コンポーネントの動作状態は、サーバシステム上のBMC、ラック管理コントローラ(RMC)、または、中央処理装置(CPU)によってアクセスできる。フラッシュメモリデバイスは、プログラム命令またはデータを一定期間記憶するように構成された任意の記憶媒体であってよい。いくつかの例によれば、フラッシュストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ(RAM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、または、メールボックスレジスタであってよい。
本開示の更なる特徴および利点は、以下の記載において説明され、一部は記載から明らかとなり、または、本明細書において説明される原理の実践によって理解できる。本開示の特徴および利点は、添付の特許請求の範囲において特に指摘される手段および組み合わせを用いて実現および獲得できる。
本開示、ならびに、その利点および図面は、付属の図面を共に参照することによって、以下の例示的な実施形態の記載から、より良く理解されるであろう。これらの図面は、例示的な実施形態を描いているに過ぎず、従って、様々な実施形態の範囲または特許請求の範囲を限定するものと見なされるべきではない。
本開示の一実装例に係る例示的なシステムを示す概略ブロック図である。
本開示の一実装例に係る、BMC、および/または、例示的なシステムの別のコンポーネントをリセットするための例示的なHW WDT回路および例示的なCPLDを示す概略ブロック図である。
本開示の一実装例に係る、サーバシステムのハングアップしたコンポーネントをリセットするための例示的な方法である。
本開示の様々な例に係る例示的なシステムを示す。 本開示の様々な例に係る例示的なシステムを示す。
以下の詳細な説明では、説明の目的で、開示された実施形態の十分な理解を提供するために、多数の具体的な詳細が説明されている。しかしながら、これらの具体的な詳細を用いずに、1または複数の実施形態が実施され得ることは明らかであろう。他の例では、よく知られている構造およびデバイスが、図面を簡略化するべく、概略的に示されている。
本開示は、多くの異なる形式で具現化できる。代表的な実施形態が図面に示されており、本明細書において詳細に記載されることになる。これらの実施形態は、本開示の原理の例または解説であり、その広い態様を限定することを意図するものではない。その程度まで、例えば、要約、概要、詳細な説明の章において開示されているが、特許請求の範囲において明示的に説明されていない要素および限定は、暗示、推論、または、それ以外によって、単独または複数として、特許請求の範囲に組み込まれるべきでない。本発明の詳細な説明の目的のために、別段の指定が無い限り、単数形は複数形を含み、その逆も成り立つ。「含む」という文言は、「含むがそれに限定されない」ことを意味する。更に、本明細書において、「約」、「ほとんど」、「実質的に」、「およそ」、および同様のものなどの概算の文言は、例えば、「〜において」、「〜に近い」、もしくは、「〜の近くで」、または、「〜の3〜5%以内」、または、「許容可能な製作公差の範囲内」、または、それらの任意の論理的組み合わせを意味するために使用できる。
本開示の様々な例は、HW WDT回路および/またはCPLDを使用して、BMC、または、サーバシステムの別のコンポーネントをリセットするためのシステムおよび方法を提供する。HW WDT回路は、BMCからのハートビート信号をモニタリングし、BMCの健全状態を判定できる。BMCの健全状態が予め定められた基準を満たすことに失敗した場合、HW WDT回路はBMCをリセットできる。CPLDは、サーバシステムのコンポーネントの健全情報をBMCから収集し、BMCの健全状態をHW WDT回路から収集できる。サーバシステムのどの特定のコンポーネントが問題を引き起こしているか判定すると、CPLDは、特定のコンポーネントをリセットするためのリセット信号を送信できる。
図1Aは、本開示の一実装例に係る例示的なサーバシステム100Aを示す概略ブロック図である。この例において、サーバシステム100Aは、少なくとも1つのマイクロプロセッサまたはプロセッサ104、BMC103、PHY IC112、CPLD113、HW WDT回路115、1または複数の冷却モジュール110、メインメモリ(MEM)111、および、少なくとも1つの電源ユニット(PSU)102を備える。電源ユニット(PSU)102は、交流電源ユニット(PSU)101から交流電力を受信し、プロセッサ104、ノースブリッジ(NB)ロジック106、PCIeスロット160、サウスブリッジ(SB)ロジック108、ストレージデバイス109、ISAスロット150、PCIスロット170、BMC103、PHY IC112、CPLD113、および、HW WDT回路115など、サーバシステム100Aの様々なコンポーネントへ電力を提供する。サーバシステム100Aは、電源を投入された後に、様々な動作を実行するために、メモリ、コンピュータストレージデバイス、または、外部ストレージデバイスからソフトウェアアプリケーションをロードするように構成されている。ストレージデバイス109は、サーバシステム100Aのオペレーティングシステムおよびアプリケーションにとって利用可能な論理ブロックに構造化されている。ストレージデバイス109は、サーバシステム100Aの電源が切られているときでもサーバデータを保持するように構成されている。
図1Aにおいて、メモリ111は、NBロジック106を介してプロセッサ104と結合している。メモリ111は、これらに限定されないが、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレートDRAM(DDR DRAM)スタティックRAM(SRAM)、または、他の種類の適切なメモリなどを含み得る。メモリ111は、サーバシステム100Aのファームウェアデータを記憶するように構成され得る。いくつかの構成において、ファームウェアデータは、ストレージデバイス109上に記憶され得る。
いくつかの実装において、サーバシステム100Aは更に、フラッシュストレージデバイスを備えてよい。フラッシュストレージデバイスは、フラッシュドライブ、ランダムアクセスメモリ(RAM)、不揮発性ランダムアクセスメモリ(NVRAM)または電気的消去可能プログラマブルリードオンリメモリ(EEPROM)であってよい。フラッシュストレージデバイスは、ファームウェアデータなどのシステム構成を記憶するように構成されてよい。
プロセッサ104は、特定の機能のためのプログラム命令を実行するように構成された中央処理装置(CPU)であってよい。例えば、ブートプロセスの間、プロセッサ104は、BMC103またはフラッシュストレージデバイスに記憶されたファームウェアデータにアクセスし、サーバシステム100Aを初期化するためにBIOS105を実行できる。ブートプロセス後、プロセッサ104は、サーバシステム100Aのための特定のタスクを実行および管理するべく、オペレーティングシステムを実行できる。
いくつかの構成において、プロセッサ104は、マルチコアプロセッサであり得て、その各々は、NBロジック106に接続されたCPUバスに結合される。いくつかの構成において、NBロジック106は、プロセッサ104と一体化されてよい。NBロジック106はまた、複数のペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)スロット160およびSBロジック108(任意選択)と接続されてよい。PCIエクスプレスx1、USB2.0、SMBus、SIMカード、別のPCIeレーンのための将来の拡張、1.5Vおよび3.3V電源、および、サーバシステム100Aの筐体上の診断LEDへの配線など、接続およびバスのために、複数のPCIeスロット160を使用できる。
サーバシステム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)、サウンドカード、モデム、テレビチューナカード、ディスクコントローラ、ビデオカード、スモールコンピュータシステムインタフェース(SCSI)アダプタ、およびパーソナルコンピュータメモリカード国際協会(PCMCIA)カードが含まれる。
SBロジック108は、拡張バスを介して、PCIバス107を複数の拡張カードまたはISAスロット150(例えばISAスロット151)に結合させてよい。拡張バスは、SBロジック108とペリフェラルデバイスとの間の通信に使用されるバスであってよく、このようなものとしては、限定ではないが、業界標準アーキテクチャ(ISA)バス、PC/104バス、ローピンカウントバス、拡張ISA(EISA)バス、ユニバーサルシリアルバス(USB)、インテグレーテッドドライブエレクトロニクス(IDE)バス、またはペリフェラルデバイスのためのデータ通信に用いられてよい任意の他の適切なバスが含まれてよい。
この例において、BIOS105は、サーバシステム100Aの様々なコンポーネントを開始および識別するように構成されている任意のプログラム命令またはファームウェアであってよい。BIOSは、対応するサーバシステムのハードウェアコンポーネントの初期化およびテストを担う、重要なシステムコンポーネントである。BIOSは、ハードウェアコンポーネントの抽象化レイヤを提供することにより、アプリケーションおよびオペレーティングシステムが、キーボード、ディスプレイ、および他の入力/出力デバイスなどのペリフェラルデバイスとインタラクトするための、一貫した手段を提供してよい。
サーバシステム100Aにおいて、SBロジック108は更に、少なくとも1つのPSU102およびHW WDT回路115に接続されたBMC103に結合されている。いくつかの実装において、BMC103はまた、ラック管理コントローラ(RMC)であってよい。
BMC103は、サーバシステム100Aのコンポーネントの動作ステータスをモニタリングし、コンポーネントの動作ステータスに基づいてサーバシステム100Aを制御するように構成される。例えばBMC103は、PSU102に供給される電力、サーバシステム100Aのコンポーネントの消費電力、サーバシステム100Aの内部温度、および/または、サーバシステム100Aの特定のコンポーネントの温度をモニタリングできる。BMC103は、サーバシステム100Aの内部温度、または、特定のコンポーネントの温度に基づいて、サーバシステム100Aまたは特定のコンポーネントの冷却を強める、または、弱めるように冷却モジュール110を制御し得る。いくつかの実装において、BMC103は、サーバシステム100Aの特定のコンポーネント(例えば、プロセッサ104、メモリ111、ストレージデバイス109および/またはバス)の周波数および/または消費電力を減らし得る。
この例において、PHY IC112は、管理者またはリモートデバイス(図示せず)から管理メッセージを受信し、PME信号を介してCPLD113およびBMC103と通信するように構成されている。
HW WDT回路115は、BMC103からのハートビート信号をモニタリングし、BMC103の健全状態を判定するように構成されている。BMC103の健全状態が予め定められた基準を下回るとき、HW WDT回路115は、BMC103をリセットするためのリセット信号を生成できる。
いくつかの実装において、HW WDT回路115は、BMC103のハートビート信号によってリセットされるタイマであってよい。BMC103からのハートビート信号がHW WDT回路115のリセットに失敗した場合、または、BMC103からのハートビート信号が無い場合、HW WDT回路115はタイムアウトして、BMC103をリセットするためのタイムアウト信号を生成する。
CPLD113は、サーバシステム100Aのコンポーネントの健全情報をBMC103から収集し、BMC103の健全状態をHW WDT回路115から収集するように構成されている。サーバシステム100Aの特定のコンポーネントまたはBMC103がハングアップしたと判定すると、CPLD113は、特定のコンポーネントまたはBMC103をリセットするためのリセット信号を送信できる。
この構成の例は、図1Bにおいて更に示されている。図1Bは、本開示の一実装例に係る、BMC103および/または例示的なサーバシステム100Bの他のコンポーネントをリセットするための、例示的なHW WDT回路115および例示的なCPLD113−1および113−2を示す概略ブロック図である。
この例において、サーバシステム100Bは、PSU101、マザーボード116、および、バックプレーン117を備える。バックプレーンは、PSU101および第1CPLD113−1に接続されている。マザーボード116は、PHY IC112、BMC103、HW WDT回路115および第2CPLD113−2に接続されている。第1CPLD113−1および第2CPLD113−2はそれぞれ、第1タイムアウト検出モジュール113−1Aおよび第2タイムアウト検出モジュール113−2Aを含む。BMC103は、I2Cチャネルを介して、第1タイムアウト検出モジュール113−1Aおよび第2タイムアウト検出モジュール113−2Aに接続されている。BMC103はまた、通信チャネル(例えば、メディア非依存インタフェース(MII)、リデュースドメディア非依存インタフェース(RMII)、ギガビットメディア非依存インタフェース(GMII)、リデュースドギガビットメディア非依存インタフェース(RGMII)、10ギガビットメディア非依存インタフェース(XGMII)、および、シリアルギガビットメディア非依存インタフェース(SGMII))を介してしてPHY IC112に接続され、これにより、BMC103がPHY IC112を制御することが可能となる。
PHY IC112は、ネットワークを介してリモートデバイスに結合され、管理メッセージ/パケットをリモートデバイスまたは管理者から受信するように構成されている。PHY IC112は、PME信号を介して、BMC103および第2CPLD113−2と通信するように動作可能である。いくつかの実装において、リモートデバイスまたは管理者は、PHY IC112および第2CPLD113−2を介して、BMC103またはサーバシステム100Bの特定のコンポーネントをリモートでリセットすることが可能である。
この例において、BMC103はソフトウェアWDT103−1を含む。ソフトウェアWDT103−1は、BMC103のハートビート信号によってリセットされる。BMC103のハートビート信号がソフトウェアWDT103−1のリセットに失敗した場合、ソフトウェアWDT103−1は、タイムアウトして、BMC103をリセットするためのタイムアウト信号を生成するように動作可能である。
図1Aおよび図1Bではそれぞれ、例示的なサーバシステム100A‐100Bにおける、あるコンポーネントだけが示されているが、データの処理もしくは記憶、または、信号の受信または送信が可能な、様々な種類の電子コンポーネントまたはコンピューティングコンポーネントを例示的なサーバシステム100A‐100Bに含めることもできる。更に、例示的なサーバシステム100A−100Bにおける電子コンポーネントまたはコンピューティングコンポーネントは、様々な種類のアプリケーションを実行するように構成でき、および/または、様々な種類のオペレーティングシステムを使用できる。これらのオペレーティングシステムには、限定はされないが、Android(登録商標)、Berkeley Software Distribution(BSD)、iPhone(登録商標)OS(iOS)、Linux(登録商標)、OS X、Unix(登録商標)系リアルタイムオペレーティングシステム(例えば、QNX)、Microsoft Windows(登録商標)、Window PhoneおよびIBM z/OSを含めることができる。
例示的なサーバシステム100A−100Bについての所望の実装に応じて、これらに限定されないが、TCP/IP、オープンシステムインターコネクション(OSI)、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UpnP)、ネットワークファイルシステム(NFS)、共有インターネットファイルシステム(CIFS)、AppleTalk(登録商標)などを含む、様々なネットワーキングおよびメッセージングのプロトコルを使用できる。当業者であれば、図1Aおよび図1Bにおいてそれぞれ示される例示的なサーバシステム100A−100Bは、説明の目的で使用されていることを理解するであろう。従って、ネットワークシステムは多くの変形形態で適宜実装され得るが、それでもなお、本開示の様々な例に係るネットワークプラットフォームの構成を提供することができる。
図1Aおよび図1Bの例示的な構成において、それぞれ、例示的なサーバシステム100A−100Dは、特定の無線チャネルのコンピューティング範囲内で1または複数の電子デバイスと通信するように動作可能な1または複数の無線コンポーネントも含んでよい。無線チャネルは、デバイスによる無線通信を可能とするために使用される、Bluetooth(登録商標)、セルラ、NFCまたはWi−Fiチャネルなどの任意の適切なチャネルであってよい。デバイスは、当技術分野で知られているような、1または複数の従来の有線通信接続を有し得るものと理解すべきである。様々な他の要素および/または組み合わせも様々な例の範囲内で考えられる。
上の説明は、本開示の原理および様々な例を示すことを意図している。ひとたび上記の開示を十分に理解すれば、多数の変形形態および修正形態が明らかになるであろう。
図2は、本開示の一実装例に係る、サーバシステムのハングアップしたコンポーネントをリセットするための例示的な方法200である。例示的な方法200は、単に例示の目的で提示され、本開示に係る他の方法は、同様なまたは代替的な順序で、または並行して実行される、追加の、より少ない、または代替的な段階を含み得ることが、理解されるべきである。例示的な方法200は、段階202において、サーバシステムの電源を投入することによって開始する。
段階204において、HW WDT回路は、図1Aおよび図1Bにおいて示されるように、サーバシステムのBMCからハートビート信号を受信できる。HW WDT回路は、段階206において、ハートビート信号に基づいて、BMCの健全状態を判定でき、段階208において、BMCの健全状態が予め定められた基準を満たさない場合、BMCをリセットする。
いくつかの例において、BMCは、図1Bに示されるようにソフトウェアWDTを含む。ソフトウェアWDTは、BMCのハートビート信号によってリセットされる。BMCのハートビート信号がソフトウェアWDTのリセットに失敗した場合、ソフトウェアWDTは、BMCをリセットするためのタイムアウト信号を生成する。
段階210において、PHY ICは、図1Aおよび図1Bに示されるように、管理者またはリモートデバイスから管理メッセージを受信すると、PME信号を介して第1CPLDと通信できる。第1CPLDは、段階212において、サーバシステムのコンポーネントの健全情報をBMCから収集し、段階214において、BMCの健全状態をHW WDT回路から収集する。
段階216において、第1CPLDは、収集されたコンポーネントの健全情報、および、BMCの健全状態に基づいて、サーバシステムの特定のコンポーネントがハングアップしたと判定できる。段階218において、第1CPLDは、特定のコンポーネントをリセットするためのリセット信号を生成できる。いくつかの実装において、第1CPLDは、BMCにサーバシステムのコンポーネントをスキャンさせ、サーバシステムのコンポーネントの健全情報を収集させることができる。
いくつかの例において、第1CPLDは、I2Cチャネルを介してBMCに接続された第1タイムアウト検出モジュールを含む。第1タイムアウト検出モジュールは、BMC、または、サーバシステムの特定のコンポーネントへ送信されたタイムアウト信号をモニタリングできる。タイムアウト信号が目標コンポーネントのリセットに失敗したという判定に応答して、第1タイムアウト検出モジュールは、タイムアウト信号を再送信するように第1CPLDをトリガできる。
いくつかの実装において、サーバシステムは更に、第2CPLDを備える。第2CPLDは、別のI2Cチャネルを介してBMCに接続されている第2タイムアウト検出モジュールを含む。第2CPLD部は、サーバシステムのコンポーネントの健全情報をBMCから直接収集でき、第1CPLDの冗長バックアップとして機能し得る。
本明細書では、図3から図4に示されるように、例示的なシステムおよびネットワークの簡潔な導入的記載を開示する。本明細書では、様々な例を記載しながらこれらの変形形態について説明するものとする。ここで、本開示の図3を参照する。
図3は、コンピューティングシステムのコンポーネントがバス302を使用して互いに電気的に通信する、例示的コンピューティングシステム300を示す。コンピューティングシステム300は、処理ユニット(CPUまたはプロセッサ)330と、システムメモリ304(例えば、リードオンリメモリ(ROM)306、ランダムアクセスメモリ(RAM)308)を含む様々なシステムコンポーネントをプロセッサ330に結合するシステムバス302とを備える。コンピューティングシステム300は、プロセッサ330に直接接続された、または、それに近接している、または、その一部として一体化されている、高速メモリのキャッシュを備えてよい。コンピューティングシステム300は、メモリ304および/またはストレージデバイス312からのデータをキャッシュ328にコピーして、プロセッサ330が迅速にアクセスできるようにしてよい。このようにして、キャッシュは、データを待ちながら、プロセッサ330の性能の向上を提供できる。これらの、および他のモジュールは、様々な動作を実行するように、プロセッサ330を制御してよく、または、制御するように構成されてよい。他のシステムメモリ304も、使用のために利用可能であり得る。メモリ304は、異なる性能特性を有する複数の異なる種類のメモリを含んでよい。プロセッサ330は、任意の汎用プロセッサ、ならびに、ストレージデバイス312に埋め込まれたモジュール1 314、モジュール2 316、および、モジュール3 318などのハードウェアモジュールまたはソフトウェアモジュールを含んでよい。ハードウェアモジュールまたはソフトウェアモジュールは、プロセッサ330、および、ソフトウェア命令が実際のプロセッサ設計に組み込まれた特定用途向けプロセッサを制御するように構成されている。プロセッサ330は、本質的に、完全に自己完結型のコンピューティングシステムであり得て、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む。マルチコアプロセッサは、対称型または非対称型であり得る。
コンピューティングシステム300とのユーザインタラクションを可能にするために、入力デバイス320が入力機構として提供される。入力デバイス320は、音声のためのマイク、ジェスチャ入力もしくはグラフィカル入力のためのタッチセンシティブ画面、キーボード、マウス、モーション入力などを含んでよい。いくつかの例において、多モードシステムは、ユーザがコンピューティングシステム300と通信するための複数の種類の入力を提供することを可能にすることができる。この例において、出力デバイス322も提供される。通信インタフェース324は、ユーザ入力およびシステム出力を制御および管理できる。
ストレージデバイス312は、コンピュータによってアクセス可能なデータを記憶するための不揮発性メモリであってよい。ストレージデバイス312は、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタルバーサタイルディスク、カートリッジ、ランダムアクセスメモリ(RAM)308、リードオンリメモリ(ROM)306およびこれらの混成物であってよい。
コントローラ310は、BMC(ベースボード管理コントローラ)など、コンピューティングシステム300上の特殊化したマイクロコントローラまたはプロセッサであってよい。いくつかの場合において、コントローラ310は、インテリジェントプラットフォーム管理インタフェース(IPMI)の一部であってよい。更に、いくつかの場合において、コントローラ310は、コンピューティングシステム300のマザーボード、または、主回路基板に埋め込まれてよい。コントローラ310は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理できる。また、コントローラ310は、以下で更に記載するように、コントローラまたはペリフェラルコンポーネントなど、様々なシステムデバイスおよびコンポーネント(内部および/または外部)と通信できる。
コントローラ310は、通知、アラート、および/または、イベントに対する特定の応答を生成し、自動ハードウェア復旧手順などのための命令またはコマンドを生成するためにリモートデバイスまたはコンポーネントと通信できる(例えば、電子メールメッセージ、ネットワークメッセージなど)。以下に更に記載されるように、管理者がコントローラ310とリモートで通信して、特定のハードウェア復旧の手順または動作を開始または実行することもできる。
また、コントローラ310は、コントローラ310によって受信されるイベント、アラートおよび通知を管理および維持するために、システムイベントログコントローラおよび/またはストレージを含んでよい。例えば、コントローラ310またはシステムイベントログコントローラは、1または複数のデバイスおよびコンポーネントからアラートまたは通知を受信し、システムイベントログストレージコンポーネントにおいてアラートまたは通知を維持できる。
フラッシュメモリ332は、ストレージおよび/またはデータ移動のためにコンピューティングシステム300によって使用できる電子的な不揮発性コンピュータ記憶媒体またはチップであってよい。フラッシュメモリ332は、電気的に消去および/または再プログラムすることができる。フラッシュメモリ332は、例えば、EPROM(消去可能プログラマブルリードオンリメモリ)、EEPROM(電気的消去可能プログラマブルリードオンリメモリ)、ROM、NVRAM、またはCMOS(相補型金属酸化膜半導体)を含み得る。フラッシュメモリ332は、ファームウェア334について指定された一組の構成と共に、コンピューティングシステム300が最初に電源投入されたときにコンピューティングシステム300によって実行されるファームウェア334を記憶できる。フラッシュメモリ332はまた、ファームウェア334によって使用される構成を記憶できる。
ファームウェア334は、ベーシックインプット/アウトプットシステム、または、EFI(拡張可能ファームウェアインタフェース)もしくはUEFI(統一拡張ファームウェアインタフェース)などの均等物を含んでよい。ファームウェア334は、コンピューティングシステム300が起動されるたびにロードされ、シーケンスプログラムとして実行されてよい。ファームウェア334は、一組の構成に基づいて、コンピューティングシステム300に存在するハードウェアを認識、初期化およびテストできる。ファームウェア334は、コンピューティングシステム300上で、POST(パワーオンセルフテスト)などのセルフテストを実行できる。このセルフテストは、ハードディスクドライブ、光学読み取りデバイス、冷却デバイス、メモリモジュール、拡張カード、および同様のものなど、様々なハードウェアコンポーネントの機能をテストできる。ファームウェア334は、メモリ304、ROM306、RAM308および/またはストレージデバイス312において、オペレーティングシステム(OS)を記憶するための領域をアドレス指定し、割り当てることができる。ファームウェア334は、ブートローダおよび/またはOSをロードし、コンピューティングシステム300の制御権限をOSに付与できる。
コンピューティングシステム300のファームウェア334は、ファームウェア334がコンピューティングシステム300における様々なハードウェアコンポーネントをどのように制御するかを定義するファームウェア設定を含んでよい。ファームウェア設定は、コンピューティングシステム300における様々なハードウェアコンポーネントが起動される順序を決定できる。ファームウェア334は、ファームウェアデフォルト構成におけるパラメータとは異なり得る、様々な異なるパラメータが設定されることを可能にする、UEFIなどのインタフェースを提供できる。例えばユーザ(例えば管理者)は、ファームウェア334を使用して、クロックおよびバス速度を指定し、何のペリフェラルがコンピューティングシステム300に取り付けられるかを定義し、健全状態のモニタリング(例えば、ファン速度およびCPU温度の限度)を設定し、および/または、コンピューティングシステム300の全体的な性能および電力利用に影響する様々な他のパラメータを提供できる。ファームウェア334は、フラッシュメモリ332に記憶されるものとして示されているが、当業者であれば、ファームウェア334は、メモリ304またはROM306などの他のメモリコンポーネントに記憶されてもよいことを容易に認識するであろう。
コンピューティングシステム300は、1または複数のセンサ326を備えてよい。1または複数のセンサ326は、例えば、1または複数の気温センサ、温度センサ、酸素センサ、化学センサ、ノイズセンサ、熱センサ、電流センサ、電圧検出器、気流センサ、フローセンサ、赤外線温度計、熱流センサ、温度計、パイロメータなどを含んでよい。1または複数のセンサ326は、例えば、バス302を介して、プロセッサ、キャッシュ328、フラッシュメモリ332、通信インタフェース324、メモリ304、ROM306、RAM308、コントローラ310およびストレージデバイス312と通信することができる。1または複数のセンサ326は、また、集積回路間(I2C)、汎用出力(GPO)などの1または複数の異なる手段を介して、システム内の他のコンポーネントとも通信し得る。コンピューティングシステム300上の異なる種類のセンサ(例えば、センサ326)も、冷却ファン速度、電源ステータス、オペレーティングシステム(OS)ステータス、および、ハードウェアステータスなどのパラメータについてコントローラ310に報告できる。
図4は、記載された方法または動作の実行、ならびに、グラフィカルユーザインタフェース(GUI)の生成および表示に使用できるチップセットアーキテクチャを有する例示的コンピューティングシステム400を示す。コンピューティングシステム400は、開示された技術を実装するために使用できるコンピュータハードウェア、ソフトウェアおよびファームウェアを備えてよい。コンピューティングシステム400は、識別された計算を実行するように構成されているソフトウェア、ファームウェアおよびハードウェアを実行可能な、物理的および/または論理的に異なる様々なリソースを代表するプロセッサ410を備えてよい。プロセッサ410は、プロセッサ410との間の入力および出力を制御できるチップセット402と通信できる。この例において、チップセット402は、ディスプレイなどの出力デバイス414へ情報を出力し、例えば磁気媒体およびソリッドステート媒体を含んでよいストレージデバイス416との間で情報を読み書きできる。また、チップセット402は、RAM418との間でデータを読み書きできる。様々なユーザインタフェースコンポーネント406とインタフェース接続するためのブリッジ404は、チップセット402とインタフェース接続するために提供されてよい。そのようなユーザインタフェースコンポーネント406は、キーボード、マイク、タッチ検出および処理回路、マウスなどのポインティングデバイスなどを含んでよい。一般に、コンピューティングシステム400への入力は、機械によって生成された、および/または、人間によって生成された様々なソースのいずれかに由来してよい。
また、チップセット402は、異なる物理インタフェースを有してよい1または複数の通信インタフェース408とインタフェース接続してよい。そのような通信インタフェースは、有線および無線ローカルエリアネットワークのための、ブロードバンド無線ネットワークのための、およびパーソナルエリアネットワークのための、インタフェースを含んでよい。更に、機械は、ユーザインタフェースコンポーネント406を介してユーザからの入力を受信でき、プロセッサ410を使用してこれらの入力を解釈することによってブラウジング機能などの適切な機能を実行できる。
更に、チップセット402はまた、電源が投入されたときにコンピューティングシステム400によって実行されてよいファームウェア412と通信してよい。ファームウェア412は、一組のファームウェア設定に基づいて、コンピューティングシステム400に存在するハードウェアを認識、初期化、およびテストできる。ファームウェア412は、POSTなどのセルフテストをコンピューティングシステム400上で実行できる。セルフテストは、様々なハードウェアコンポーネント402−418の機能をテストできる。ファームウェア412は、メモリ418において、OSを記憶するための領域をアドレス指定し、割り当てることができる。ファームウェア412は、ブートローダおよび/またはOSをロードし、コンピューティングシステム400の制御権限をOSに付与できる。いくつかの場合において、ファームウェア412は、ハードウェアコンポーネント402−410および414−418と通信できる。ここで、ファームウェア412は、チップセット402を通して、および/または、1または複数の他のコンポーネントを通して、ハードウェアコンポーネント402−410および414−418と通信できる。いくつかの場合において、ファームウェア412は、ハードウェアコンポーネント402−410および414−418と直接通信できる。
例示的コンピューティングシステム300および400は、より大きな処理能力を提供するために、1つより多くのプロセッサ(例えば、330、410)を備えてよく、または、互いにネットワークで接続されたコンピューティングデバイスのグループまたは集団の一部であってよいことを理解されたい。
説明を分かりやすくするために、いくつかの例において、本開示は、デバイス、デバイスコンポーネント、ソフトウェアにおいて具現化される方法における段階もしくはルーチン、または、ハードウェアおよびソフトウェアの組み合わを含む、個別の機能ブロックとして示され得る。
いくつかの実施形態において、コンピュータ可読ストレージデバイス、媒体、およびメモリは、ビットストリームおよび同様のものを含むケーブルまたは無線信号を含んでよい。しかしながら、非一時的コンピュータ可読記憶媒体に言及するときは、エネルギー、キャリア信号、電磁波、および信号そのものなどの媒体を、明示的に除外する。
上記の例に係る方法は、記憶された、または、そうでない場合、コンピュータ可読媒体から入手可能なコンピュータ実行可能命令を使用して実装できる。そのような命令は、例えば、汎用コンピュータ、特定用途コンピュータ、または特定用途処理デバイスに、ある機能または一組の機能を実行させる、またはそうでなければ、それらを実行するように構成する、命令およびデータを含んでよい。使用されるコンピュータリソースの一部は、ネットワークを介してアクセス可能であってよい。コンピュータ実行可能命令は、例えば、アセンブリ言語、ファームウェア、またはソースコードなどの、バイナリおよび中間形式の命令であり得る。
これらの開示に係る方法を実装するデバイスは、ハードウェア、ファームウェア、および/または、ソフトウェアを備えてよく、様々なフォームファクタのいずれかを取ってよい。そのようなフォームファクタの典型的な例は、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、パーソナルデジタルアシスタント、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書に記載された機能は、また、ペリフェラルまたはアドインカードにおいても具現化されてよい。そのような機能は、また、更なる例として、異なるチップの間の回路基板上でも、または単一デバイスで実行する異なるプロセスでも、実装されてよい。
様々な例は、いくつかの場合において、複数のアプリケーションのいずれかを動作させるために使用できる、1または複数のサーバコンピュータ、ユーザコンピュータまたはコンピューティングデバイスを含んでよい幅広い様々な動作環境において更に実装できる。ユーザデバイスまたはクライアントデバイスは、標準的オペレーティングシステムを動作させるデスクトップまたはラップトップコンピュータなどの複数の汎用パーソナルコンピュータ、ならびに、モバイルソフトウェアを動作させ、複数のネットワーキングおよびメッセージングプロトコルをサポートすることが可能なセルラーデバイス、無線デバイス、およびハンドヘルドデバイスのいずれかを含んでよい。そのようなシステムは、様々な市販のオペレーティングシステム、および、開発およびデータベース管理などの目的の、他の知られているアプリケーションのいずれかを動作させる複数のワークステーションも含んでよい。これらのデバイスはまた、ダミー端末、シンクライアント、ゲームシステム、およびネットワークを介して通信可能な他のデバイスなどの、他の電子デバイスを含んでよい。
例またはその一部がハードウェアにおいて実装される限りでは、本開示は、データ信号に応じて論理機能を実装するための論理ゲートを有するディスクリートロジック回路、適切な組み合わせ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)などのプログラマブルハードウェア、および/または、フィールドプログラマブルゲートアレイ(FPGA)などの技術のいずれか、または、その組み合わせによって実装されてよい。
大部分の例は、TCP/IP、OSI、FTP、UpnP、NFS、CIFS、AppleTalk(登録商標)など、市場で利用できる様々なプロトコルのいずれかを使用する通信をサポートするための、当業者に知られているであろう少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆スイッチ電話ネットワーク、赤外線ネットワーク、無線ネットワーク、およびそれらの任意の組み合わせであってよい。
これらの技術に係る方法を実装するデバイスは、ハードウェア、ファームウェア、および/または、ソフトウェアを備えてよく、様々なフォームファクタのいずれかを取ってよい。そのようなフォームファクタの典型的な例は、サーバコンピュータ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、パーソナルデジタルアシスタントなどを含む。本明細書に記載される機能は、また、ペリフェラルまたはアドインカードにおいても具現化されてよい。そのような機能は、また、更なる例として、異なるチップの間の回路基板上でも、または単一デバイスで実行する異なるプロセスでも、実装されてよい。
ウェブサーバを利用する例において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、ビジネスアプリケーションサーバを含む、任意の様々なサーバまたは中間層アプリケーションを実行できる。ユーザデバイスからのリクエストに応答して、また、ウェブサーバは、プログラムまたはスクリプトを実行可能であってもよい。例えば、ウェブサーバは、1または複数のウェブアプリケーションを実行し得、それは、Java(登録商標)、C、C#、またはC++などの任意のプログラミング言語、または、Perl、Python、またはTCLなどの任意のスクリプト言語、および、それらの組み合わせで書かれた1または複数のスクリプトまたはプログラムとして実装されてよい。また、ウェブサーバは、自由市場で市販されるものを含むデータベースサーバを包含してもよい。
サーバシステムは、上で説明されたような、様々なデータストア、ならびに、他のメモリおよび記憶媒体を含んでよい。これらは、1または複数のコンピュータにローカルな(および/または、それらに常駐している)記憶媒体上、または、ネットワークにわたるコンピュータのいずれかまたはすべてからリモートな記憶媒体上などの、様々な位置に存在してよい。特定の組の例において、情報は、当業者によく知られるストレージエリアネットワーク(SAN)に存在してよい。同様に、コンピュータ、サーバ、またはその他のネットワークデバイスに帰属する機能を実行するための任意の必要なファイルが、適宜、ローカルに、および/またはリモートに記憶されてよい。システムがコンピュータ化されたデバイスを含む場合、そのような各デバイスは、バスを介して電気的に結合され得るハードウェア要素を含み得、それらの要素は、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチセンシティブディスプレイ要素、またはキーパッド)、および、少なくとも1つの出力デバイス(例えば、ディスプレイデバイス、プリンタ、またはスピーカ)を含む。そのようなシステムは、ディスクドライブ、光学ストレージデバイス、およびランダムアクセスメモリ(RAM)またはリードオンリメモリ(ROM)などのソリッドステートストレージデバイス、ならびに、リムーバブルメディアデバイス、メモリカード、フラッシュカードなどといった、1または複数のストレージデバイスも含んでよい。
コードまたはコードの一部を含む記憶媒体およびコンピュータ可読媒体は、これらに限定されないが、データまたは情報を記憶および/または伝送するための、リムーバブルおよび非リムーバブル媒体を含む、当該分野において知られている、または、使用されている任意の適切な媒体を含んでよい。リムーバブルおよび非リムーバブル媒体は、所望の情報を記憶するために使用され得て、かつ、システムデバイスによりアクセスされ得る、RAM、ROM、EPROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)、またはその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、またはその他の磁気ストレージデバイスを含む。データまたは情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを含んでよい。本明細書に提供される技術および教示に基づいて、当業者は、本開示の様々な態様を実装するための他の手段および/または方法を理解するであろう。
従って、本明細書および図面は、限定の意味ではなく、例示として見なされるべきである。しかしながら、特許請求の範囲において説明されるような、本特許出願の幅広い思想および範囲を逸脱することなく、様々な修正および変更が加えられることは明らかであろう。
開示された実施形態に対して様々な修正および変形が行われ得ることは、当業者には明らかであろう。本明細書および例は、単に例示的なものと見なされ、真の開示範囲は、以下の特許請求の範囲およびそれらの均等物によって示されることが意図されている。

Claims (8)

  1. サーバシステムのハングアップしたコンポーネントをリセットするためのコンピュータ実装方法であって、
    前記サーバシステムのハードウェアウォッチドッグタイマ(HW WDT)回路によって、前記サーバシステムのベースボード管理コントローラ(BMC)からハートビート信号を受信する段階と、
    前記HW WDT回路によって、前記ハートビート信号に基づいて、前記BMCの健全状態を判定する段階と、
    前記BMCの前記健全状態が、予め定められた基準を満たさない場合、前記BMCをリセットする段階と
    管理者またはリモートデバイスから管理メッセージを受信すると、物理層(PHY)集積回路(IC)によって、電源管理イベント(PME)信号を介して第1コンプレックスプログラマブルロジックデバイス(第1CPLD)と通信する段階と、
    前記第1CPLDによって、前記サーバシステムのコンポーネントの健全情報を前記BMCから収集する段階と、
    前記第1CPLDによって、前記BMCの前記健全状態を前記HW WDT回路から収集する段階と、
    収集された前記コンポーネントの健全情報、および、前記BMCの前記健全状態に基づいて、前記サーバシステムの特定のコンポーネントがハングアップしたと判定する段階と、
    前記第1CPLDによって、前記特定のコンポーネントをリセットするためのリセット信号を生成する段階と、
    を備えるコンピュータ実装方法。
  2. 前記第1CPLDは、前記特定のコンポーネントへ送信される前記リセット信号をモニタリングするように構成されている第1タイムアウト検出モジュールを含み、前記コンピュータ実装方法は、前記リセット信号が前記特定のコンポーネントのリセットに失敗したという判定に応答して、前記第1CPLDに前記リセット信号を再送信させる段階を備える、請求項に記載のコンピュータ実装方法。
  3. 前記サーバシステムは更に、第2CPLDを備え、前記第2CPLDは、前記第1CPLDの冗長バックアップとして機能するように、または、前記サーバシステムの前記コンポーネントの前記健全情報を直接収集するように構成され、前記第2CPLDは、第2タイムアウト検出モジュールを含む、請求項に記載のコンピュータ実装方法。
  4. 前記BMCに、前記サーバシステムの前記コンポーネントをスキャンさせ、前記サーバシステムの前記コンポーネントの健全情報を収集させる段階を更に備える、請求項1に記載のコンピュータ実装方法。
  5. 前記BMCは、前記BMCの前記ハートビート信号によってリセット可能なソフトウェアWDTを含み、前記ソフトウェアWDTは、前記BMCの前記ハートビート信号が前記ソフトウェアWDTのリセットに失敗した場合に、前記BMCをリセットするためのタイムアウト信号を生成するように構成されている、請求項1に記載のコンピュータ実装方法。
  6. プロセッサと、
    ベースボード管理コントローラ(BMC)と、
    ハードウェアウォッチドッグタイマ(HW WDT)回路と、
    物理層(PHY)集積回路(IC)と、
    第1コンプレックスプログラマブルロジックデバイス(第1CPLD)と、
    命令を記憶するコンピュータ可読媒体と
    を備えるシステムであって、前記命令は、前記プロセッサによって実行されるとき、前記システムに、
    前記HW WDT回路によって、前記BMCからハートビート信号を受信すること
    前記HW WDT回路によって、前記ハートビート信号に基づいて、前記BMCの健全状態を判定すること
    前記BMCの前記健全状態が予め定められた基準を満たさない場合、前記BMCをリセットすることと、
    管理者またはリモートデバイスから管理メッセージを受信すると、前記PHY ICによって、電源管理イベント(PME)信号を介して、前記第1CPLDと通信することと、
    前記第1CPLDによって、サーバシステムのコンポーネントの健全情報を前記BMCから収集することと、
    前記第1CPLDによって、前記BMCの前記健全状態を前記HW WDT回路から収集することと、
    収集された前記コンポーネントの健全情報、および、前記BMCの前記健全状態に基づいて、前記サーバシステムの特定のコンポーネントがハングアップしたと判定することと、
    前記第1CPLDによって、前記特定のコンポーネントをリセットするためのリセット信号を生成することと、
    を含む動作を実行させる、
    システム。
  7. 前記第1CPLDは、前記特定のコンポーネントへ送信された前記リセット信号をモニタリングするように構成されている第1タイムアウト検出モジュールを含み、前記コンピュータ可読媒体が記憶する命令は、前記プロセッサによって実行されるとき、前記システムに、
    前記リセット信号が前記特定のコンポーネントのリセットに失敗したという判定に応答して、前記第1CPLDに、前記リセット信号を再送信させること
    を含む動作を更に実行させる、請求項に記載のシステム。
  8. 前記サーバシステムは更に、第2CPLDを備え、前記第2CPLDは、前記第1CPLDの冗長バックアップとして機能するように、または、前記サーバシステムの前記コンポーネントの前記健全情報を直接収集させるように構成され、前記第2CPLDは、第2タイムアウト検出モジュールを含む、請求項に記載のシステム。
JP2018171266A 2018-01-12 2018-09-13 リモートシステム復旧のためのシステムおよび方法 Active JP6686266B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862616644P 2018-01-12 2018-01-12
US62/616,644 2018-01-12
US15/944,139 US10846160B2 (en) 2018-01-12 2018-04-03 System and method for remote system recovery
US15/944,139 2018-04-03

Publications (2)

Publication Number Publication Date
JP2019125339A JP2019125339A (ja) 2019-07-25
JP6686266B2 true JP6686266B2 (ja) 2020-04-22

Family

ID=63682966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018171266A Active JP6686266B2 (ja) 2018-01-12 2018-09-13 リモートシステム復旧のためのシステムおよび方法

Country Status (5)

Country Link
US (1) US10846160B2 (ja)
EP (1) EP3511831A1 (ja)
JP (1) JP6686266B2 (ja)
CN (1) CN110032462A (ja)
TW (1) TWI684859B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI679532B (zh) * 2018-10-05 2019-12-11 緯穎科技服務股份有限公司 監測系統與方法
CN110489367B (zh) * 2019-07-29 2020-10-02 苏州浪潮智能科技有限公司 一种灵活调配且易于cpld管理背板的方法与系统
TWI709045B (zh) * 2019-08-12 2020-11-01 神雲科技股份有限公司 遠端查看伺服器開機狀態的方法與伺服器
TWI742430B (zh) * 2019-09-17 2021-10-11 神雲科技股份有限公司 自動回復基板管理控制器之韌體的方法
CN111124849A (zh) * 2019-11-08 2020-05-08 苏州浪潮智能科技有限公司 一种服务器故障告警的方法、设备及介质
TWI734357B (zh) * 2020-01-21 2021-07-21 英業達股份有限公司 主機板及輔助測試主機板的方法
US11099838B1 (en) * 2020-02-26 2021-08-24 Quanta Computer Inc. Method and system for recovery for custom integrated circuit
JP7380403B2 (ja) * 2020-04-27 2023-11-15 富士通株式会社 情報処理装置及び連携方法
CN111858239B (zh) * 2020-06-30 2022-06-10 浪潮电子信息产业股份有限公司 一种服务器硬盘监测方法、装置、设备及介质
CN111949449A (zh) * 2020-08-12 2020-11-17 曙光信息产业(北京)有限公司 固件恢复方法、装置、系统、计算机设备和存储介质
US11226862B1 (en) * 2020-09-03 2022-01-18 Dell Products L.P. System and method for baseboard management controller boot first resiliency
CN112463222A (zh) * 2020-11-11 2021-03-09 苏州浪潮智能科技有限公司 一种服务器bios与bmc之间的数据交互方法、装置及设备
CN112511863A (zh) * 2020-11-20 2021-03-16 北京滴普科技有限公司 一种智能边缘计算系统
CN112764699A (zh) * 2020-12-28 2021-05-07 西安易朴通讯技术有限公司 双显示切换装置、方法、服务器及存储介质
CN113032182B (zh) * 2021-03-12 2022-11-29 山东英信计算机技术有限公司 一种计算机系统异常恢复的方法和设备
CN112860623B (zh) * 2021-03-15 2022-03-18 英业达科技有限公司 单处理器系统的伺服器主机板
CN113359967B (zh) * 2021-04-15 2022-04-22 山东英信计算机技术有限公司 一种设备启动方法和装置
CN113220524B (zh) * 2021-04-27 2024-10-15 北京百度网讯科技有限公司 微服务器的监控系统、方法、装置及电子设备
CN113204510B (zh) * 2021-04-29 2023-02-28 山东英信计算机技术有限公司 一种服务器管理架构和服务器
US11334452B1 (en) * 2021-06-08 2022-05-17 International Business Machines Corporation Performing remote part reseat actions
US11714696B2 (en) * 2021-06-14 2023-08-01 Dell Products, L.P. Custom baseboard management controller (BMC) firmware stack watchdog system and method
CN113656339B (zh) * 2021-07-14 2024-02-02 浪潮商用机器有限公司 Nvme热插拔的处理方法、bmc、装置、设备及介质
CN113625855B (zh) * 2021-07-25 2023-07-25 苏州浪潮智能科技有限公司 一种服务器系统的电源控制方法、系统、介质及设备
US11782791B2 (en) * 2021-08-25 2023-10-10 Western Digital Technologies, Inc. System and method for memory hang recovery using a distributed power management system
CN113872796B (zh) * 2021-08-26 2024-04-23 浪潮电子信息产业股份有限公司 服务器及其节点设备信息获取方法、装置、设备、介质
CN113867815B (zh) * 2021-09-17 2023-08-11 杭州当虹科技股份有限公司 服务器挂起监测和自动重启方法以及应用其的服务器
CN113849060B (zh) * 2021-09-26 2023-08-04 苏州浪潮智能科技有限公司 存储设备、cpld器件、存储设备的复位方法和存储介质
US11822505B2 (en) * 2021-10-28 2023-11-21 Quanta Computer Inc. Systems and methods for remote management of a network device
CN114296995B (zh) * 2021-11-30 2023-11-03 苏州浪潮智能科技有限公司 一种服务器自主修复bmc的方法、系统、设备及存储介质
US20230216607A1 (en) * 2021-12-30 2023-07-06 Microsoft Technology Licensing, Llc Systems and methods to initiate device recovery
CN114817096B (zh) * 2022-04-08 2023-07-25 苏州浪潮智能科技有限公司 Bmc和bios的串口切换系统、方法、设备及计算机可读介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3693226B2 (ja) 1999-06-30 2005-09-07 矢崎総業株式会社 マイコンのバックアップ装置及び自動車用パワーウインドウ制御装置
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
US7391237B2 (en) * 2005-04-29 2008-06-24 O2 Micro International Limited Robust and economic solution for FPGA bitfile upgrade
JP4955585B2 (ja) * 2008-02-18 2012-06-20 エヌイーシーコンピュータテクノ株式会社 コンピュータシステム、情報処理方法及びプログラム
US8155897B2 (en) * 2008-12-16 2012-04-10 Advantest Corporation Test apparatus, transmission system, program, and recording medium
JP5120664B2 (ja) * 2009-07-06 2013-01-16 日本電気株式会社 サーバシステム及びクラッシュダンプ採取方法
JP5509730B2 (ja) 2009-08-26 2014-06-04 日本電気株式会社 フォールトトレラントコンピュータ及び電源制御方法
TWI510917B (zh) 2009-11-18 2015-12-01 Insyde Software Corp 伺服器管理系統及其方法
CN102479141A (zh) * 2010-11-30 2012-05-30 英业达股份有限公司 监控上电自检信息的处理系统
JP5561622B2 (ja) * 2011-09-27 2014-07-30 日本電気株式会社 多重化システム、データ通信カード、状態異常検出方法、及びプログラム
US9229839B2 (en) * 2013-01-09 2016-01-05 Microsoft Technology Licensing, Llc Implementing rate controls to limit timeout-based faults
US20140201578A1 (en) * 2013-01-11 2014-07-17 Apple Inc. Multi-tier watchdog timer
TWI493458B (zh) 2013-04-22 2015-07-21 Acer Inc 電腦裝置及其重開機方法
CN103733180A (zh) * 2013-09-29 2014-04-16 华为技术有限公司 服务器的控制方法和服务器的控制设备
CN104679200B (zh) * 2013-11-28 2017-06-20 英业达科技有限公司 服务器系统及其通电后运作时序的控制方法
KR102537276B1 (ko) * 2014-05-16 2023-05-26 어플라이드 메디컬 리소시스 코포레이션 전기수술용 시스템
US10114438B2 (en) * 2014-08-04 2018-10-30 Dell Products, Lp Dynamic power budgeting in a chassis
TWI530778B (zh) 2014-12-02 2016-04-21 營邦企業股份有限公司 具有自動重置功能的機櫃及其自動重置方法
CN104598329A (zh) 2015-02-12 2015-05-06 浪潮电子信息产业股份有限公司 一种基于rmc管理的自动bmc故障解决方法
US9846617B2 (en) 2015-05-07 2017-12-19 Dell Products, Lp System and method for self-healing basic input/output system boot image and secure recovery
KR20170029929A (ko) * 2015-09-08 2017-03-16 현대자동차주식회사 차량 네트워크의 통신 노드에 대한 적합성 검사 방법
CN105224049B (zh) 2015-09-24 2018-10-09 浪潮电子信息产业股份有限公司 一种防止bmc失效后服务器系统过热的方法
TWI632453B (zh) 2015-10-02 2018-08-11 緯穎科技服務股份有限公司 監測伺服器的方法、監測裝置及監測系統
US10127095B2 (en) * 2015-11-04 2018-11-13 Quanta Computer Inc. Seamless automatic recovery of a switch device
US10346271B2 (en) 2015-12-28 2019-07-09 Quanta Computer Inc. Manage power supply units and modularized automatic transfer switches
US20170269984A1 (en) 2016-03-18 2017-09-21 Qualcomm Incorporated Systems and methods for improved detection of processor hang and improved recovery from processor hang in a computing device
US10310575B2 (en) * 2016-08-23 2019-06-04 Dell Products, L.P. Virtual AC cycling within an information handling system
CN107145428A (zh) 2017-05-26 2017-09-08 郑州云海信息技术有限公司 一种服务器及服务器监控方法

Also Published As

Publication number Publication date
JP2019125339A (ja) 2019-07-25
EP3511831A1 (en) 2019-07-17
TWI684859B (zh) 2020-02-11
US20190220340A1 (en) 2019-07-18
US10846160B2 (en) 2020-11-24
TW201931117A (zh) 2019-08-01
CN110032462A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
JP6686266B2 (ja) リモートシステム復旧のためのシステムおよび方法
TWI644259B (zh) 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體
JP6532142B2 (ja) サーバシステムにおける最大ファンデューティの動的調整
EP3255527B1 (en) Remote keyboard-video-mouse technologies
JP6864718B2 (ja) ハイブリッド電源のシステム及び方法
JP6633146B2 (ja) 複数のファンモジュールの管理
CN112181499A (zh) 用于计算机装置的可靠启动系统
EP3739446B1 (en) Method and system for communication channels to management controller
EP3441868B1 (en) High availability storage pool compose mechanism

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200311

R150 Certificate of patent or registration of utility model

Ref document number: 6686266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250