Nothing Special   »   [go: up one dir, main page]

JP2004272899A - コンピュータシステムにおけるリセット方法 - Google Patents

コンピュータシステムにおけるリセット方法 Download PDF

Info

Publication number
JP2004272899A
JP2004272899A JP2004055896A JP2004055896A JP2004272899A JP 2004272899 A JP2004272899 A JP 2004272899A JP 2004055896 A JP2004055896 A JP 2004055896A JP 2004055896 A JP2004055896 A JP 2004055896A JP 2004272899 A JP2004272899 A JP 2004272899A
Authority
JP
Japan
Prior art keywords
agent
reset
execution state
partition
hard
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.)
Pending
Application number
JP2004055896A
Other languages
English (en)
Inventor
Michael John Erickson
マイケル・ジョン・エリクソン
David L Tharp
ディビッド・エル・サープ
Daniel V Zilavy
ダニエル・ヴィ・ジラヴィイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2004272899A publication Critical patent/JP2004272899A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 コンピュータシステムも、パーティションもリセットすることを必要とせずに、コンピュータシステムのエージェントをリセットすること。
【解決手段】本発明の方法は、(A)第1のエージェントに向けられた第1のリセット信号を受信するステップと、(B)第2のエージェントが所定の一実行状態にあるかどうかを判定するステップを含み、該一実行状態は、前記第2のエージェントにリセットを要求せずに前記第1のエージェントに対してハードリセットを実行できる状態であり、(C)前記第2のエージェントが前記一実行状態と判定された場合に、前記第1のエージェントに対してハードリセットを実行するステップと、(D)前記第2のエージェントが、前記一実行状態にないと判定された場合、前記第1のエージェントに対してソフトリセットを実行するステップとを含む。
【選択図】図3

Description

本発明は、コンピュータシステムのコンポーネントをリセットする技法に関し、詳細には、コンピュータシステムのオペレーションを混乱させることなく、コンピュータシステムのエージェントをリセットする技法に関する。
すべてのコンピュータシステムは、ある種のリセットアーキテクチャを含む。コンピュータシステムのリセットアーキテクチャは、そのシステムのコンポーネントの一部または全部を初期状態にリセットする役割を有する。例えば、ユーザのハードウェアリセットボタンの押下に応答して、または、自動化されたソフトウェアリセット命令もしくはユーザが起動したソフトウェアリセット命令に応答して、コンピュータシステムがブートされる時に、リセットは起動され得る。例えば、コンピュータシステムがクラッシュすると、ユーザは、ハードウェアリセットボタンを押すことによりハードウェアリセットを起動することが必要となる場合があり、それによって、コンピュータシステムのメモリおよび他のコンポーネントは、再初期化されて、再び使用可能となる。多くの場合、コンピュータシステム内の多くのコンポーネントまたはすべてのコンポーネントは、同じリセット信号からリセットされ、それによって、システム全体は、所定の状態で起動することを確実にする。例えば、スタンドアロンのデスクトップコンピュータのリセットアーキテクチャは、通常、必要なすべてのコンポーネントのリセットを起動する単一のリセット信号を使用する。
より複雑なコンピュータシステムは、複数の自律的な装置、例えば、内蔵されたマイクロプロセッサ、システムプロセッサ、または複雑な論理回路の集合を含むことがある。本明細書では、これらの装置のそれぞれを「エージェント」と呼ぶことにする。これらのエージェントのそれぞれは、別個のリセット源を有することがある。「マルチエージェントシステム」という用語は、本明細書では、複数のエージェントを含む任意のコンピュータシステムについていう場合に使用される。
マルチエージェントのコンピュータシステムの一例は、分割可能サーバ(partitionable server)である。この分割可能サーバは、「統合体サーバ(consolidation server)」または「マルチパーティションコンピュータ(multi-partition computer)」とも呼ばれる。例えば、図1Aを参照して、従来技術の分割可能サーバ100の機能ブロック図が示されている。分割可能サーバ100は、複数のパーティション(partition、機能領域)104a〜104cに論理的に細分される単一の物理的コンピュータシステムであり、複数のパーティション104a〜104cのそれぞれには、サーバのハードウェアリソースおよび/またはソフトウェアリソースの一部が割り当てられる。パーティション104a〜104cのそれぞれは、それ自身のオペレーティングシステムおよびソフトウェアアプリケーションを実行することができる。例えば、図1Aに示すように、パーティション104a〜104cは、オペレーティングシステム114a〜114cをそれぞれ実行する。
より一般的には、パーティション104a〜104cのそれぞれは、個別のスタンドアロンコンピュータと機能的に同等となるように意図され、したがって、外部からは、個別のスタンドアロンコンピュータと区別がつかない。分割可能サーバは、いくつかの物理的なサーバを、複数のパーティションを有する1つの物理的なサーバに統合するのに使用されることがあるので、時に、「統合体サーバ」と呼ばれる。複数のパーティションのそれぞれは、当該パーティションが取って代わった物理的なサーバの機能を実行する。従来のデスクトップコンピュータまたはラップトップコンピュータは、マルチパーティションコンピュータのうち、パーティション数が1つである特別な場合とみなすことができる。
図1Aに示す特定の例において、分割可能サーバ100は、複数のエージェント108a〜108cも含む。パーティション104a〜104cは、主電源領域102の主システム電力により動作する一方、エージェント108a〜108cは、補助電源領域106の補助電力により動作する。これは、主電源領域102が電力を供給していない場合であっても、エージェント108a〜108cは、電力を受け続けることができることを意味する。図1Aに示す例では、エージェント108a〜108cのそれぞれは、パーティション104a〜104cのうちの対応するパーティションを監視し、サポートする。パーティション104a〜104cおよびエージェント108a〜108cは、それぞれ、通信リンク112a〜112cを介して相互に通信する。
エージェント108a〜108cのそれぞれは、それ自身のリセット回路を含み、エージェント108a〜108cは、リセット信号線110a〜110c上を伝送されるリセット信号によってそれぞれ独立してリセットすることができる。その結果、エージェント108a〜108cの一部は、パーティション104a〜104cのうちの対応するパーティションがまだ実行中に、リセットを進めることができる。場合によっては、エージェント108a〜108cの1つおよびパーティション104a〜104cのうちの対応するパーティションは、エージェントが予期せずリセットされた(例えば、リセットをトリガするウォッチドッグタイマまたはユーザの強制リセットの結果として)時に、相互に通信中の場合もある。
マルチパーティションコンピュータ、例えば図1Aに示す分割可能サーバ100などでは、パーティション104a〜104cが分離され、かつ、独立であり、その結果、パーティション104a〜104cのうちの1つパーティションの障害(例えばオペレーティングシステムのクラッシュなど)が、パーティション104a〜104cのうちの他のパーティションの障害を引き起こさないようになっていることが非常に望ましい。この目標を達成することは、多くの点でシステム設計者にとって難しいものとなる可能性がある。特に、エージェント108a〜108cの1つをリセットする動作が、パーティション104a〜104cのうちの対応するパーティションまたはサーバ100全体のリセットを必要とすることがないようにシステム100を設計することは、難しいものとなる可能性がある。
ほとんど場合、エージェント108a〜108cのうちの1つのエージェントの予期されないリセットは、対応するパーティションのオペレーションも混乱させないし、サーバ100のパーティション104a〜104cのうちの他のパーティションのオペレーションも混乱させない。実際には、分割可能サーバおよび他のマルチエージェントシステムは、通常、このようなイベントを優雅に処理するように設計される。しかしながら、ある特定の状況では、エージェント108a〜108cのうちの1つのエージェントの予期されないリセットにより、望ましくない影響が引き起こされることがある。例えばパーティション104a〜104cのうちの対応するパーティションのクラッシュが引き起こされたり、さらにはサーバ100全体のクラッシュが引き起こされたりすることがある。通常、サーバ100は、このようなクラッシュ後、サーバ100全体の電源を落とし、続いて、サーバ100全体に再び電源を投入することによってのみ、オペレーション状態に復帰することができる。これが、「ハードリセット」の一例である。完全なシステムクラッシュおよび再ブートは、特に、サーバ100が数百、さらには数千の他のコンピュータシステムおよび周辺機器によって一定の接続のために依拠されている場合に、極めて望ましくない。
一例として、エージェント108aおよび対応するパーティション104aについて考察する。エージェント108aの予期されないリセットによって、対応するパーティション104a(またはサーバ100全体)のクラッシュが引き起こされるという一連の状況は、パーティション104aが、ある実行状態の場合に発生する。その実行状態において、パーティション104a上で実行されているオペレーティングシステム114aでは、エージェント108aが通信リンク112aを介した通信に常に利用可能であるということが前提となっている。このような一定の可用性があるものとして信頼され得るエージェントの例には、例えば、入出力(I/O)コントローラ、ハードディスクドライブコントローラ、ローカルエリアネットワーク(LAN)コントローラ、管理可能性プロセッサ(manageability processor)、クロスバー回路、バスブリッジ、および冷却ファンなどのコンポーネントの監視および/または制御を行う回路が含まれる。オペレーティングシステム114aが、通信リンク112aを介してエージェント108aとの通信を試み、エージェント108aが応答しない(例えば、エージェント108aがリセット中であるので)場合、オペレーティングシステム114aは、クラッシュすることがあり、それによって、パーティション104aは、リセットされるまで動作不能になる。
したがって、このような状況では、エージェント108aをリセットすると、対応するパーティション104aのクラッシュが引き起こされることがある。従ってエージェント108aをリセットすることは安全でない。対応するエージェントをリセットすると、パーティションがクラッシュを引き起こす可能性があるか、または、確実に引き起こすというパーティションの実行状態を、本明細書では「安全でない実行状態」と呼ぶこととする。対応するエージェントをリセットしても、パーティションがクラッシュを引き起こす可能性もなく、また、確実に引き起こさないというパーティションの実行状態を、本明細書では「安全な実行状態」と呼ぶこととする。
例えば、パーティション104aが、安全な実行状態にある場合には、エージェント108aをリセットしても、パーティション104aも他のパーティション104b〜104cもクラッシュを引き起こさないので、従来の技法を使用して、エージェント108aをリセットすることができる。一方、パーティション104aが、安全でない実行状態にある場合には、異なるリセット方式を使用して、上述した望ましくない影響を回避しなければならない。
したがって、必要なものは、コンピュータシステムのエージェントをリセットする改良された技法である。
コンピュータシステムも、コンピュータシステムのパーティションもリセットすることを必要とせずに、コンピュータシステムのエージェントをリセットする技法が開示される。一実施の形態では、システムの各エージェントは、対応するパーティションに関連付けられる。エージェントに向けられたリセット信号は、リセットタイプセレクタに転送される。リセットタイプセレクタは、エージェントがリセットされると、そのエージェントに関連付けられたパーティションがクラッシュを引き起こすことになる実行状態(「安全でない実行状態」)にあるかどうかを判定する。パーティションが安全でない実行状態にある場合には、ソフトリセットがエージェントに対して実行される。そうでない場合には、ハードリセットがエージェントに対して実行される。ソフトリセットを実行しても、そのリセット信号の原動力となった問題が解決されない場合には、そのパーティションに対してハードリセットを実行する前に、パーティションを安全な実行状態に移行させることができる。
本発明の一態様では、第1のエージェントおよび第2のエージェントを含むコンピュータシステムに使用される方法が提供される。この方法は、(A)前記第1のエージェントに向けられた第1のリセット信号を受信するステップと、(B)前記第2のエージェントが所定の種類の実行状態のうちの一実行状態にあるかどうかを判定するステップを含み、該一実行状態は、前記第2のエージェントにリセットを要求せずに前記第1のエージェントに対してハードリセットを実行できる状態であり、(C)前記第2のエージェントが前記一実行状態と判定された場合に、前記第1のエージェントに対してハードリセットを実行するステップと、(D)前記第2のエージェントが、前記一実行状態にないと判定された場合、前記第1のエージェントに対してソフトリセットを実行するステップと、を含む。このコンピュータシステムは、例えば、複数のパーティションを含むことができ、第2のエージェントは、例えば、その複数のパーティションの1つであってもよい。
本発明の別の態様では、エージェントおよび該エージェントに関連付けられたパーティションを含むコンピュータシステムに使用される方法が提供される。この方法は、(A)前記エージェントに向けられた第1のリセット信号を受信するステップと、(B)前記機能領域が所定の種類の実行状態のうちの一実行状態にあるかどうかを判定するステップを含み、該一実行状態は、該機能領域にリセットを要求せずに前記第1のエージェントに対してハードリセットを実行できる状態であり、(C)前記機能領域が、前記一実行状態にあると判定されると、前記エージェントに第2のリセット信号を伝送することにより、該エージェントに対してハードリセットを実行するステップと、(D)前記機能領域が、前記一実行状態にないと判定されると、前記エージェントに割り込みを伝送することにより、該エージェントの複数のコンポーネントのすべてよりも少ないコンポーネントをリセットするステップと、を含む。ステップ(D)は、例えば、パーティションをリセットすることなく実行することができる。
本発明のさらに別の態様では、第1のエージェントおよび第2のエージェントを含むコンピュータシステムに使用される装置が提供される。この装置は、前記第1のエージェントに向けられた第1のリセット信号を受信する受信手段と、前記第2のエージェントが所定の種類の実行状態のうちの一実行状態にあるかどうかを判定する判定手段を含み、該一実行状態は、該第2のエージェントのリセットを必要とせずに、前記第1のエージェントに対してハードリセットを実行できる状態であり、前記第2のエージェントが、前記一実行状態にあると判定されると、前記第1のエージェントに対してハードリセットを実行するハードリセット手段と、前記第2のエージェントが、前記一実行状態にないと判定されると、前記第1のエージェントに対してソフトリセットを実行するソフトリセット手段とを備える。
本発明のさらに別の実施の形態では、第1のエージェントおよび第2のエージェントを含むコンピュータシステムに使用されるリセットアーキテクチャが提供される。このリセットアーキテクチャは、前記第2のエージェントに接続されて、該第2のエージェントの実行状態を示す実行状態信号を供給する出力を備える実行状態識別部と、多重分離装置であって、少なくとも1つのリセット源に接続されたデータ入力と、前記実行状態識別部の前記出力に接続された選択入力と、前記第1のエージェントの割り込み入力に接続された割り込み出力と、前記第1のエージェントのリセット入力に接続されたリセット出力と、を備える多重分離装置と、を備え、前記第1のエージェントは、前記リセット入力にリセット信号を受信したことに応答してハードリセットを実行する手段と、前記割り込み入力に割り込み信号を受信したことに応答してソフトリセットを実行する手段とを備える。
本発明の別の態様では、パーティションおよび該パーティションに関連付けられたエージェントを含むコンピュータシステムに使用される方法が提供される。この方法は、(A)前記エージェントに向けられた第1のリセット信号を受信するステップと、(B)前記第1のリセット信号に応答して、前記機能領域が第1の所定の種類の実行状態のうちの第1の実行状態にある間、前記エージェントに対してソフトリセットを実行するステップを含み、該第1の実行状態は、前記機能領域のリセットを必要とせずには前記エージェントに対してハードリセットを実行できない状態であり、(C)前記機能領域が、前記エージェントに対してハードリセットを実行できる第2の所定の種類の実行状態のうちの第2の実行状態にある間、該機能領域のリセットを要求せずに前記エージェントに対してハードリセットを実行するステップとを含む。
本発明のさらに別の態様では、パーティションおよび該パーティションに関連付けられたエージェントを含むコンピュータシステムに使用される方法が提供される。この方法は、(A)前記エージェントに向けられた第1のリセット信号を受信するステップと、(B)前記第1のリセット信号に応答して、前記機能領域が、第1の所定の種類の実行状態のうちの第1の実行状態にある間、前記エージェントに割り込み信号を伝送することにより、前記機能領域をリセットせずに前記エージェントに対してソフトリセットを実行するステップを含み、前記第1の実行状態は、前記機能領域にリセットを要求せずには前記エージェントに対してハードリセットを実行できない状態であり、(C)前記機能領域が第2の所定の種類の実行状態のうちの第2の実行状態かどうかを判定するステップを含み、該第2の実行状態は、前記機能領域にリセットを要求せずに前記エージェントに対してハードリセットを実行できる状態であり、(D)前記機能領域が、前記第2の実行状態にある間、前記エージェントに第2のリセット信号を伝送することにより、前記エージェントに対してハードリセットを実行するステップとを含む。
本発明のさらに別の態様では、パーティションおよび該パーティションに関連付けられたエージェントを含むコンピュータシステムに使用される装置が提供される。この装置は、前記エージェントに向けられた第1のリセット信号を受信する受信手段と、前記機能領域が第1の所定の種類の実行状態のうちの第1の実行状態にある間、前記エージェントに対してソフトリセットを実行するソフトリセット手段を含み、該第1の実行状態は、前記機能領域にリセットを要求せずには前記エージェントに対してハードリセットを実行できない状態であり、前記機能領域が第2の所定の種類の実行状態の第2の実行状態にある間、前記エージェントに対してハードリセットを実行するハードリセット手段を含み、該第2の実行状態は、該機能領域にリセットを要求せずに、前記エージェントに対してハードリセットを実行できる状態である。
本発明のさまざまな態様およびさまざまな実施の形態の他の特徴ならびに利点は、以下の説明および特許請求の範囲から明らかになる。
コンピュータシステムも、コンピュータシステムのパーティションもリセットすることを必要とせずに、コンピュータシステムのエージェントをリセットする技法が開示される。一実施の形態では、システムの各エージェントは、対応するパーティションに関連付けられる。エージェントに向けられたリセット信号は、リセットタイプセレクタに転送される。リセットタイプセレクタは、エージェントがリセットされると、そのエージェントに関連付けられたパーティションがクラッシュを引き起こすことになる実行状態(「安全でない実行状態」)にあるかどうかを判定する。パーティションが安全でない実行状態にある場合には、ソフトリセットがエージェントに対して実行される。そうでない場合には、ハードリセットがエージェントに対して実行される。ソフトリセットを実行しても、そのリセット信号の原動力となった問題が解決されない場合には、そのパーティションに対してハードリセットを実行する前に、パーティションを安全な実行状態に移行させることができる。
本発明の一態様では、コンピュータシステムを再ブートする必要なく、コンピュータシステムのエージェントをリセットする技法が提供される。特に、マルチエージェントでマルチパーティションのコンピュータシステムにおけるエージェントを、そのエージェントに関連付けられたパーティションを再ブートする必要なくリセットする技法が提供される。
本発明の特定の実施の形態を説明する前に、コンピュータシステムのエージェントをリセットする従来技術の技法について説明する。図2を参照して、図1Aの従来技術のサーバ100に使用される従来技術のリセットアーキテクチャ200が示されている。このリセットアーキテクチャ200は、エージェント108aのリセットを制御するために使用される。同じリセットアーキテクチャを、サーバ100の他のエージェント108b〜108cと共に使用することができる。
図2には、一例として、3つのリセット源202a〜202cが示されている。電力モニタ202aは、補助電源領域106のエージェント108aに供給されている電力を監視する。電力モニタ202aが、供給電力が途切れたこと、または、供給電力のレベルが所定の閾レベル未満に降下したことを検知すると、電力モニタ202aは、リセット信号線204aにリセット信号を生成することができる。電力モニタを実施する技法は、当業者に既知である。
ユーザ202bは、例えば、サーバ100のハードウェアリセットボタン(図示せず)を押すことにより、リセット信号線204bにリセット信号を生成することができる。ユーザ202bは、例えば、パーティション104aで実行されているオペレーティングシステム114aがクラッシュしたと判定した時にリセットボタンを押すことがある。また、ユーザ202bは、オペレーティングシステム114aにソフトウェアリセットコマンドを発行することにより、間接的にリセット信号204bを生成することもできる。これに応答して、オペレーティングシステム114aは、(例えば、パーティション104aで実行されているすべてのソフトウェアアプリケーションプログラムを終了することにより)ソフトウェアシャットダウンシーケンスを実行することができ、次に、リセット信号線204bにリセット信号を生成することができる。
エージェント108aが、所定の閾時間よりも長い間、アクティブでなかった場合には、ウォッチドッグタイマ202cが、リセット信号線204cにリセット信号を生成する。ウォッチドッグタイマ202cは、多くの方法で実施することができるが、一実施態様では、ウォッチドッグタイマ202cは、ゼロの値に初期化され、クロックサイクルごとにインクリメントされるタイマである。エージェント108aは、ウォッチドッグタイマ202cを定期的にゼロにリセットするプロセッサ210を含むことができる。プロセッサ210がウォッチドッグタイマ202cをリセットする頻度は、エージェント108aが正常に挙動している場合に、ウォッチドッグタイマ202cの値が、所定の特定の閾値に決して到達しないように選択される。ウォッチドッグタイマ202cの値が、この所定の閾値に到達すると、プロセッサ210は、クラッシュした可能性があるか、または、エージェント108aがそれ以外の機能不良を起こしている可能性がある。タイマ202cが所定の閾値に到達した場合には、ウォッチドッグタイマ202cは、リセット信号線204cにリセット信号を生成する。
リセット信号線204a〜204cは、ORゲート206の入力に接続され、ORゲート206の出力は、リセット信号線110aに接続される。エージェント108aは、リセット信号線110aにハイの論理値が検出されると、エージェント108aをリセットするリセット回路(図示せず)を含む。その結果、リセット源202a〜202cのいずれかが、リセット信号線204a〜204cのいずれかにリセット信号を生成すると、エージェント108aはリセットされることになる。エージェント108aをリセットするのに必要な特定の内部回路は、エージェントごとに変化し得る。このようなリセット回路を実施する技法は、当業者に既知である。
図2に示すリセットアーキテクチャ200に関する1つの問題は、対応するパーティション104aが、安全でない実行状態(すなわち、エージェント108aをリセットすることにより、パーティション104aがクラッシュを引き起こす可能性があるか、または、確実にクラッシュを引き起こす実行状態)にあっても、リセット源202a〜202cのいずれかによって生成されたリセット信号に応答して、エージェント108aのリセットが自動的に引き起こされるということである。その結果、リセット源202a〜202cの1つによって起動されたリセットは、このようなクラッシュが起こり得る警告も、このようなクラッシュに備える機会もユーザ202bに与えることなく、パーティション104aや、さらにはサーバ100全体をもクラッシュさせることがある。
図1Bを参照して、本発明の一実施の形態による分割可能サーバ150の機能ブロック図が示されている。従来技術の分割可能サーバ100と同様に、分割可能サーバ150は、主電源領域102で動作するパーティション104a〜104cを含む。また、分割可能サーバ150は、エージェント158a〜158cも含む。エージェント158a〜158cは、それぞれ、通信リンク112a〜112cを介してパーティション104a〜104cと通信する。エージェント158a〜158cは、エージェント108a〜108c(図1A)と同様に、リセット信号線160a〜160cの信号によりリセットされる。さらに、エージェント158a〜158cは、それぞれ、割り込み信号線162a〜162cの割り込みも受信する。以下にさらに詳細に説明するように、ハードリセットは、リセット信号線160a〜160cにリセット信号を伝送することにより、エージェント158a〜158cに対して実行することができる一方、「ソフト」リセットは、割り込み信号線162a〜162cに適切な割り込み信号を伝送することにより、エージェント158a〜158cに対して実行することができる。
図3を参照して、例えば、本発明の一実施の形態によるエージェント158aをリセットするリセットアーキテクチャ300のブロック図が示されている。リセットアーキテクチャ300は、他のエージェント158b〜158cにも等しく適用することができる。従来技術のリセットアーキテクチャ200(図2)のように、リセットアーキテクチャ300は、ORゲート206に接続されたリセット源202a〜202cを含む。しかしながら、ORゲート206の出力308は、エージェント158aに直接接続されるのではなく、リセットタイプセレクタ302に接続される。次にさらに詳細に説明するように、リセットタイプセレクタ302は、ORゲート206の出力308からリセット信号を受信すると、エージェント158aが、ハードリセットを実行すべきか、ソフトリセットを実行すべきかを、対応するパーティション104aの現在の実行状態の特性に基づいて判定する。
図4を参照して、方法400のフローチャートが示されている。この方法400は、本発明の一実施の形態のリセットタイプセレクタ302によって実行され、ORゲート206の出力308のリセット信号の伝送に応答して、エージェント158aにより実行される動作を制御するものである。
方法400は、次のように動作する。リセットタイプセレクタ302は、ORゲート206の出力308のリセット信号402を受信する(ステップ402)。このリセット信号の受信に応答して、リセットタイプセレクタ302は、パーティション104aが安全な実行状態にあるかどうかを判定する(ステップ404)。
リセットタイプセレクタ302は、パーティション104aが安全な実行状態にあるかどうかを、さまざまな方法の任意のもので判定することができる。例えば、一実施の形態では、リセットアーキテクチャ300は、実行状態識別部312を含む。この実行状態識別部312は、パーティション104aに接続されて、パーティション104aが安全な実行状態にあるのか、安全でない実行状態にあるのかを判定する。実行状態識別部312は、信号線314に実行状態信号を出力する。実行状態信号は、バイナリ信号とすることができる。この場合、実行状態信号線314の第1のバイナリ値は、パーティション104aが安全な実行状態にあることを示すことができる一方、実行状態信号線314の第2のバイナリ値は、パーティション104aが安全な実行状態にないことを示すことができる。実行状態信号314は、リセットタイプセレクタ302の選択制御入力304に提供することができる。したがって、リセットタイプセレクタ302は、信号線308がデータ入力であり、信号線314が選択(アドレス)入力であり、信号線160aおよび162aがデータ出力である多重分離装置の機能を含むことができるか、そうでない場合には、この多重分離装置の機能を実行することができる。
実行状態識別部312は、パーティション104aが安全な実行状態にあるかどうかを、さまざまな方法の任意のもので判定することができる。例えば、一実施の形態では、実行状態識別部312は、オペレーティングシステム114aがパーティション104aで実行されているかどうかを判定する。オペレーティングシステム114aがパーティション104aで実行されている場合、実行状態識別部312は、パーティション104aが安全な実行状態にないと判定する。逆に、オペレーティングシステム114aがパーティション104aで実行されていない場合、実行状態識別部は、パーティション104aが安全な実行状態にあると判定する。実行状態識別部312は、パーティション104aが安全な実行状態にあるかどうかを、他の判定基準に基づいて判定することができる。例えば、任意のソフトウェアアプリケーションプログラムがパーティション104aで実行されているかどうか、パーティション104aに任意のオープンネットワーク接続が存在するかどうか、または、パーティション104aが通信リンク112aを介してエージェント158aと通信中であるかどうかによって、判定することができる。
リセットタイプセレクタ302は、パーティション104aが安全な実行状態にあると判定すると(ステップ404)、リセット信号線160aにリセット信号を出力する(ステップ406)。エージェント158aは、リセット入力306aにリセット信号を受信し、それに応答して、図2について上述したように、「ハードリセット」とも呼ばれる従来のリセットを実行する。エージェント158aは、ウォッチドッグタイマ202cを定期的にリセットすることを含む機能を実行できるプロセッサ310を含む。エージェント158aに対するハードリセットは、例えば、プロセッサ310と、エージェント158aの他の必要なコンポーネントとをリセットすることができる。パーティション104aは、安全な実行状態にあるので、エージェント158aに対してハードリセットを実行することは、パーティション104aのオペレーションも混乱させないし、残りのパーティション104b〜104cのオペレーションも混乱させない。エージェント158aは、そのリセットを完了すると、正常なオペレーション、および、通信リンク112aを介したパーティション104aとの正常な通信を再開することができる。
リセットタイプセレクタ302は、パーティション104aが安全な実行状態にないと判定すると(ステップ404)、割り込み信号線162aに割り込み信号を出力して、エージェント158aの「ソフトリセット」を起動する(ステップ408)。図5を参照して、方法500のフローチャートが示されている。この方法500は、エージェント158aによって実行され、本発明の一実施の形態のソフトリセットを実行するものである。方法500は、例えば、図4に示す方法400のステップ408を実施することができる。
エージェント158aは、割り込み信号線162aにおいてリセットタイプセレクタ302から割り込みを受信する(ステップ502)。この割り込みは、エージェント158aにソフトリセットを実行するように指令するので、本明細書では「ソフトリセット」割り込みと呼ばれる。図3に示すように、一実施の形態では、エージェント158aは、割り込み入力306bを備え、この割り込み入力において、エージェント158aは、信号線162aのソフトリセット割り込みを受信することができる。
エージェント158aは、ソフトリセットを実行することにより、ソフトリセット割り込みを処理する。本明細書で使用されるように、「ソフトリセット」という用語は、エージェント158aのリソースのすべてではなく、それより少ないリソースをリセットすることをいう。「リソース」という用語は、プロセッサおよびメモリのようなハードウェアリソースと、オペレーティングシステムおよびアプリケーションプログラムのようなソフトウェアリソースとの双方を含む。ソフトリセットを実行する技法の例については、以下にさらに詳細に説明する。
一実施の形態では、エージェント158aは、所定の最低の優先順位から所定の最高の優先順位の範囲の優先順位を有する割り込みを処理するように構成される。リセットタイプセレクタ302により割り込み信号線162aに生成された割り込みは、最高の割り込み優先順位を有することができる。その結果、エージェント158aが割り込みを処理できないほど完全に無効にされていない限り、リセットタイプセレクタ302によって生成された割り込みは、エージェント158aによって処理される他の任意の割り込み、および、エージェント158aによって実行される他の任意のアクティビティに優先することが保証される。
本発明の一実施の形態では、エージェント158aは、エージェント−パーティションインターフェース316およびバックアップインターフェースコントローラ318を含む。エージェント−パーティションインターフェース316は、パーティション104aとエージェント158aとの間の通信を仲介する。エージェント158aの正常なオペレーション中では、プロセッサ310は、インターフェースコントローラの機能を実行して、エージェント−パーティションインターフェース316を通じてパーティション104aと通信する一方、バックアップインターフェースコントローラ318は、休止状態にある。バックアップインターフェースコントローラ318は、例えば、ソフトウェア、ファームウェア、特注設計の回路、またはそれらの任意の組み合わせにより実施することができる。
一実施の形態では、バックアップインターフェースコントローラ318は、基本通信機能を実行して、エージェント−パーティションインターフェース316を通じてパーティション104aと通信することができる。一実施の形態では、エージェント158aは、割り込み入力306aにおいてリセットタイプセレクタ302からソフトリセット割り込みを受信すると、プロセッサ310をリセットすることにより、その割り込みを処理する(ステップ504)。しかしながら、エージェント158aは、例えばバックアップインターフェースコントローラ318などの他の内部コンポーネントをリセットしない。バックアップインターフェースコントローラ318は、プロセッサ310がリセットを開始すると、パーティション−エージェントインターフェース316の制御を引き継いで、エージェント158aとパーティション104aとの間の通信を制御する(ステップ506)。
本発明の一実施の形態では、バックアップインターフェースコントローラ318は、パーティション104aのクラッシュを防止するのに必要な最小限の通信機能を実行することができる。例えば、プロセッサ310がリセット中である間に、パーティション104aが、エージェント158aにメッセージを伝送することにより、通信リンク112aを介したエージェント158aとの通信を開始した場合、バックアップインターフェースコントローラ318は、肯定応答メッセージ(ACK)によって応答することができ、かつ/または、パーティション104aが所定の時間を待ってからエージェント158aとの通信の再開を試みるべきであることを示すメッセージによって応答することができる。当業者は、通信リンク112aを介した通信に使用される特定の通信プロトコルに従って、このような通信をどのように実施するかをよく理解している。
バックアップインターフェースコントローラ318は、パーティション104aによって開始された通信に応答することにより、適用可能な通信プロトコルの要件に準拠することができ、それによって、障害の発生を防止することができる。上述したように、オペレーティングシステム114aは、例えば、エージェント158aが通信リンク112aを介した通信に常に利用可能であると予想するように設計され得る。パーティション104aによって開始された通信が、所定の時間内にエージェント158aによって応答されない場合、オペレーティングシステム114aは、クラッシュすることがある。バックアップインターフェースコントローラ318は、エージェント158aが自身のための実質的な通信に従事していないが、通信リンク112aに物理的にまだ接続されており、クラッシュしていないことを示すメッセージによってオペレーティングシステム114aに応答することにより、このようなクラッシュを避けることができる。
プロセッサ310は、リセットを終了すると(ステップ508)、バックアップインターフェースコントローラ318からインターフェース316の制御を取り戻すことができる(ステップ510)。ステップ602で受信されるリセット信号の生成を引き起こした問題が、プロセッサ310をリセットするプロセスによって解決されているものと仮定すると、プロセッサ310は、通信リンク112aを介したパーティション104aとの通信の制御を再開することができる。
要約すると、本発明の一実施の形態では、パーティション104aが安全でない実行状態にある間にリセットタイプセレクタ302に伝送されるあらゆるリセット信号を、ハイレベルの割り込みに置き換えることができる。リセット信号ではないこの割り込みが、エージェント158aに伝送される。これに応答して、エージェント158aは、「ソフト」リセットを実行することができる。このソフトリセットにおいて、エージェント158aは、ある特定のタスクまたはコンポーネント(例えばプロセッサ310など)を再ブートまたは再起動する。ただし、この再ブートまたは再起動は、エージェント158aとの通信を試みる他のあらゆるコンポーネント(例えばパーティション104aなど)に見えないように行われる。
さらに、図3および図4について先ほど説明した技法を使用すると、パーティション104a〜104cのいずれもクラッシュすることなく、かつ、個々のパーティション104a〜104cのいずれもリセットする必要なく、あるいはコンピュータシステム150全体もリセットする必要なく、エージェント158aを(「ソフト」リセットを使用して)リセットすることができる。
状況によっては、ソフトリセットが、エージェント158aを望ましくない状態から正常な動作状態に移行させるのに十分でないことがある。このような状態の一例として、エージェントの内部プロセッサ310が、何らかの理由により、エージェント−パーティションインターフェース316と通信できない状態がある。このような状況では、エージェント158aは、ハードリセットを必要とし得る。以下では、サーバ150のユーザに、このようなハードリセットに備える機会を与えた後に、当該ユーザがこのようなハードリセットを起動できる技法の例について開示する。このようなハードリセットに備える機会としては、例えば、データを保存すること、および、実行中のソフトウェアアプリケーションをパーティション104aから別のパーティション104b〜104cの一方に転送することなどがある。その後、エージェント158a、および、場合によってはパーティション104a全体に対して、ハードリセット(すなわち、電源の切断および電源の投入)を実行することができ、エージェント158aは、正しい初期状態で再起動することができる。このようなハードリセットは、パーティションで実行されているあらゆるソフトウェアプロセスを終了するが、これは、問題にしなくてよい。その理由は、ハードリセット時には、必要なあらゆるソフトウェアプロセスを、終了するかまたは別のパーティションに転送する機会、または、他の適切な動作を行う機会がユーザに与えられているからである。
図6を参照して、方法600のフローチャートが示されている。この方法600は、サーバ150によって実行されて、本発明の一実施の形態のエージェント158aおよびパーティション104aに対してハードリセットを実行するものである。方法600は、ハードリセットが必要とされる一組の状況につながり得る一連のイベントと、このようなハードリセットを実行するために行われる動作との双方を示すように意図されている。
リセットアーキテクチャ300は、リセット信号を受信する(ステップ602)。一例として、ユーザ202b(図2)は、エージェント158aが明らかにクラッシュしているか、または、それ以外で応答しないか、もしくは、最適でない挙動であることに気付いた後、サーバ150のハードウェアリセットボタンを押し、この時に、リセットアーキテクチャ300は、ユーザ202bからのリセット信号をリセット信号線204bで受信するものと仮定する。例えば、ユーザ202bは、パーティション104aがエージェント158aと通信できないことに気付くことがある。ユーザ202bは、このような状況に気付くと、パーティション104aが安全な実行状態にあるのか、安全でない実行状態にあるのかを判定するための容易に利用可能な方法を持たないことがある。それどころか、ユーザ202は、単に、エージェント158aをリセットする必要があることを確認して、それに応じてハードウェアリセットボタンを押すだけである。
図1Aについて上述した従来技術のシステムでは、このような動作は、パーティション104aが安全でない実行状態にある場合、パーティション104aまたはサーバ100全体のクラッシュを引き起こすことがある。しかしながら、本発明のさまざまな実施の形態では、図4について上述したように、パーティション104aが安全でない実行状態にある場合、エージェント158aに対してソフトリセットを実行することにより、このようなクラッシュは回避される。一例として、パーティション104aが安全でない実行状態にあり、したがって、ソフトリセットがエージェント158aに対して実行されると仮定する(ステップ604)。
ソフトリセットが完了すると、エージェント158aが正常な動作状態にあるかどうかの判定が行われる(ステップ606)。この判定は、例えば、エージェント158aを監視する回路および/またはソフトウェアによって自動的に行うことができる。しかしながら、本発明の一実施の形態では、ユーザ202bが、ステップ606で実行される判定を行う。例えば、エージェントのソフトリセットが完了時に、パーティション104aが、ソフトリセット前に示していたのと同じ最適でない挙動または他の最適でない挙動を示し続けている場合、ユーザ202bは、エージェント158aが正常な動作状態にないと判定することができる。
エージェント158aが正常な動作状態にあると判定されると(ステップ606)、方法600は終了し、ユーザ202bは、リセットを追加して実行することなく、パーティション104aを使用し続ける。
一方、エージェント158aが、正常な動作状態にないと判定されると、パーティション104aを安全な実行状態に移行させることができる(ステップ608)。上述したように、安全な実行状態の一例は、ソフトウェアプログラムがパーティション104aで実行されていない実行状態である。自動的に(例えば、オペレーティングシステム114aへのソフトウェアシャットダウンコマンドの発行により)またはユーザ202bによって、パーティション104aを安全な実行状態に移行させることができる。ユーザ202bは、例えば、パーティション104aで実行されているソフトウェアプログラムを他のパーティション104b〜104cに転送することができる。このような転送を実行することにより、このようなソフトウェアプログラムは、中断なく、実行を継続することができる。その後、ユーザ202bは、ソフトウェアシャットダウンコマンドをオペレーティングシステム114aに発行することにより、オペレーティングシステム114aを終了することができ、それによって、パーティション104aを安全な実行状態に移行させることができる。
その後、ユーザ202bは、例えば、ハードウェアリセットボタンを押すことにより、別のリセット信号をリセット信号線204bに生成することができる。このリセット信号が、リセットタイプセレクタ302によって受信されると(図4、ステップ402)、リセットタイプセレクタ302は、パーティション104aが安全な実行状態にあると判定し(ステップ404)、リセット信号線160aにリセット信号を出力する(ステップ406)。それによって、エージェント158aのハードウェアリセットの実行が引き起こされる(図6、ステップ610)。パーティション104aは安全な実行状態にあるので、このようなハードリセットは、パーティション104aのクラッシュを引き起こさない。
本発明の利点として、以下の1つまたは2つ以上のものが挙げられる。
上述した技法を使用すると、コンピュータシステムのエージェントを、そのコンピュータシステムの対応するパーティションのクラッシュを引き起こすことなく、リセットすることができる。この機能は、決してクラッシュしないものと予想され、かつ、信頼されている高可用性システム、例えばサーバなどにとって極めて重要である。この機能は、1つのパーティションのクラッシュが他のパーティションのクラッシュを引き起こすことがあり、それによって、事実上、複数のサーバのクラッシュが同時に引きこされることがある分割可能サーバにとって、とりわけ、極めて重要である。
上述した技法の関連した利点は、対応するパーティションが、通常では、エージェントのリセットによりパーティションのクラッシュを引き起こす実行状態にある場合であっても、上述した技法によると、エージェントをリセットできることである。この機能は、ハードリセットではなく、ソフトリセットを使用して、エージェントをリセットすることにより可能にされる。この特徴は有益である。その理由は、対応するパーティションが安全でない実行状態にあり、かつ、ユーザが、そのパーティションを安全な実行状態に移行させることができない状況のもとでは、エージェントが無効にされるか、または、それ以外にリセットを必要とすることがあるからである。例えば、パーティションは、終了できない重要なソフトウェアアプリケーション、または、それ以外に中断できない重要なソフトウェアアプリケーション(例えば、サーバのソフトウェアなど)を実行していることがある。パーティションのクラッシュを引き起こすことなくソフトリセットを使用してエージェントをリセットできる機能により、パーティションのオペレーションを中断することなく、エージェントを正常な動作状態に戻すことができる。
上記に開示した技法の別の利点は、ソフトリセットが、常に、エージェントを正常な動作状態に戻すのに十分であるとは限らないという認識を、当該技法が反映しており、それにより、このような状況では、エージェントに対してハードリセットを実行することが許容されるということである。一方、ハードリセットが、エージェントに対して実行される場合であっても、本明細書に開示した技法によると、ユーザは、ハードリセットを実行する前に、まず、対応するパーティションを安全な実行状態に移行させることができる。それによって、パーティションのクラッシュおよび本明細書で説明した他の問題を避けることができる。
本明細書に開示したリセットアーキテクチャ300の1つの利点は、当該リセットアーキテクチャ300が、従来技術のリセットアーキテクチャ200に対して内部変更を行うことにより実施でき、この内部変更が、ユーザ202bにも見えず、サーバ150の他のコンポーネントにも見えないように行われるということである。例えば、図3に示すように、リセット源202a〜202cは、リセットアーキテクチャ300および従来技術のリセットアーキテクチャ200(図2)の双方において同じようにORゲート206に接続される。同様に、パーティション104aは、リセットアーキテクチャ300および従来技術のリセットアーキテクチャ200の双方において同じように通信リンク112aを介してエージェント158aに接続される。その結果、本明細書に説明した実施の形態の特徴は、リセットアーキテクチャ300内だけで実施することができる。すなわち、サーバ150の残りの部分を変更する必要なく、実施することができる。これは、リセットアーキテクチャ300の設計および実施の双方を簡素化し、リセット源202a〜202c(ユーザ202bを含む)が、従来技術のリセットアーキテクチャ200とやり取りするのと同じように、リセットアーキテクチャ300とやり取りすることを可能にする。例えば、ユーザ202bは、エージェント158aがクラッシュしているか、または、それ以外でリセットを必要とすることに気付くと、従来技術と同じようにサーバ150のハードウェアリセットボタンを押すことができる。しかしながら、ユーザ202bに知られることなく、リセットアーキテクチャ300は、ハードリセットではなく、ソフトリセットをエージェント158aに対して自動的に実行することができる。リセットアーキテクチャ300をこのように構成することにより、サーバ150のオペレーションは、ユーザの観点から簡素化され、変更されたサーバ150を利用するために受ける必要のある、ユーザ202bの再教育する量が削減される。
本発明について、特定の実施の形態の観点で上述してきたが、上記実施の形態は、例示として提供されたものにすぎず、本発明の範囲を限定するものでもなく、規定するものでもないことが理解されるべきである。他のさまざまな実施の形態も、以下のものが含まれるが、これらに限定されるものではなく、添付の特許請求項の範囲内で存在する。
「エージェント」という用語は、本明細書では、リセットすることができるコンピュータシステムのあらゆるコンポーネント(または、コンポーネントの組)をいうために使用される。コンピュータシステムの複数のエージェントは、単一のリセット源または複数のリセット源からリセットすることができる。エージェントには、例えば、プロセッサ、対応するパーティションを監視して、そのパーティションの状態についてのデータを当該パーティションに戻す管理プロセッサ、またはそれ以外の回路が含まれ得る。「エージェント」という用語は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせの組を説明するために使用することができる。「エージェント」および「パーティション」という用語は、上記例では、互いに対照的に使用されているが、パーティション自体をエージェントとみなすことができる。したがって、マルチパーティションコンピュータシステムは、マルチエージェントコンピュータシステムの一例である。
図1Bに示すサーバ150は、1対1の対応で配置された3つのパーティション104a〜104cおよび3つのエージェント158a〜158cを含むが、これは、本発明を限定するものではない。それどころか、本明細書に開示した技法は、任意の個数のエージェントおよび/または任意の個数のパーティションを任意の構成で含むシステムに適用することができる。例えば、本明細書に開示した技法は、単一のパーティションのみを有するコンピュータシステムに適用することができる。さらに、本明細書に開示した技法は、パーティションおよびエージェントが通信リンクを介して互いに通信するコンピュータシステムに限定されるものではない。それどころか、他の構成も、本発明の範囲内に入る。例えば、本明細書に開示した技法は、エージェントがパーティション内に含まれるシステム、または、複数のエージェントが互いに接続されて通信するシステムに適用することができる。さらに、本明細書に開示した技法は、すべてのエージェントが単一の物理的なハウジング内に存在するコンピュータシステムに限定されるものではない。それどころか、本明細書に開示した技法は、1つまたは2つ以上のエージェントが、シリアル/パラレルケーブル、ネットワーク接続、または他の接続によってコンピュータシステムに接続されるコンピュータシステムに適用することができる。
システム150は、本明細書では「サーバ」として説明されるが、本明細書に開示した技法は、クライアント−サーバアーキテクチャで使用されるコンピュータシステムと共に使用することに限定されるものでもなく、それ以外にサーバとみなされるコンピュータシステムと共に使用することに限定されるものでもない。それどころか、本明細書に開示した技法は、あらゆる種類のコンピュータシステムに適用することができる。
上述した例では、ソフトリセットは、エージェント158aのプロセッサ310をリセットすることにより、エージェント158aに対して実行されるが、ソフトリセットは、本発明によると、それ以外の方法で実行することができる。一般に、ソフトリセットは、エージェントのコンポーネントの任意のサブセットをリセットすることを伴う。エージェントのコンポーネントは、さまざまな方法のいずれでもリセットすることができ、「リセット」という用語は、コンポーネントにハードウェアリセット信号を供給することにより、そのコンポーネントに対してハードリセットを実行することに限定されるものではない。それどころか、「リセット」という用語は、より包括的に、所定の初期状態にコンポーネントを移行させることをいう。例えば、デジタルメモリは、その内容をクリアすることによりリセットすることができるが、このリセットは、たとえ、その内容をクリアすることが、特定のハードウェアリセット信号をメモリに供給することを伴わず、メモリ内の特定のリセット回路を起動することを伴わない場合であっても行うことができる。
3つのリセット源202a〜202cについて上述したが、これは、本発明を限定するものではない。それどころか、任意の種類の任意の個数のリセット源が任意の組み合わせで存在できる。さらに、ORゲート206は、一例として開示されているにすぎない。より包括的に、リセット源を任意の方法で組み合わせることができ、かつ/または、選択することができる。
本明細書で説明したエレメントおよびコンポーネントは、別のコンポーネントにさらに分割することもできるし、それらを共に結合して、同じ機能を実行する、より少ないコンポーネントを形成することもできる。例えば、ORゲート、リセットタイプセレクタ302、および実行状態識別部312、またはそれらの任意のサブセットをさらに組み合わせて、同じ機能を実行する、より少ない個数のコンポーネントを形成することができる。同様に、パーティション−エージェントインターフェース316およびバックアップインターフェースコントローラ318を単一のコンポーネントに組み合わせることができる。
上述した技法は、例えば、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにより実施することができる。例えば、リセットタイプセレクタ302、実行状態識別部312、バックアップインターフェースコントローラ318、およびパーティション−エージェントインターフェース316は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにより実施することができる。上述した技法は、プログラミング可能なコンピュータで実行される1つまたは2つ以上のコンピュータプログラムにより実施することができる。このプログラミング可能なコンピュータは、プロセッサ、プロセッサによって読み出し可能な記憶媒体(例えば、揮発性メモリおよび不揮発性メモリ、ならびに/または記憶エレメントが含まれる)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。プログラムコードを入力に適用し、入力装置を使用して入力し、上述した機能を実行して、出力を生成することができる。この出力は、1つまたは2つ以上の出力装置に供給することができる。
添付の特許請求の範囲の範囲内の各コンピュータプログラムは、任意のプログラミング言語、例えば、アセンブリ言語、機械語、ハイレベルの手続き的プログラミング言語、またはオブジェクト指向プログラミング言語により実施することができる。プログラミング言語は、例えば、コンパイル型のプログラミング言語であってもよいし、インタープリット型のプログラミング言語であってもよい。
このような各コンピュータプログラムは、コンピュータプロセッサによる実行用に、機械読み取り可能記憶装置に有形物として具体化されたコンピュータプログラム製品により実施することができる。本発明の方法のステップは、コンピュータ読み取り可能媒体上に有形物として具体化されたプログラムを実行するコンピュータプロセッサによって実行され、入力の動作および出力の生成を行うことにより、本発明の機能を実行することができる。適切なプロセッサには、一例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの双方が含まれる。一般に、プロセッサは、読み出し専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受け取る。コンピュータプログラムの命令を有形物として具体化するのに適した記憶装置には、例えば、あらゆる形態の不揮発性メモリが含まれ、半導体メモリ装置、磁気ディスク、光磁気ディスク、およびCD−ROMといったものが含まれる。半導体メモリ装置には、EPROM、EEPROM、およびフラッシュメモリ装置が含まれる。磁気ディスクとしては、例えば、内部ハードディスクおよびリムーバブルディスクがある。上記のいずれも、特別設計されたASIC(特定用途向け集積回路)によって補うこともできるし、そのASICに実装することもできる。また、コンピュータは、一般に、内部ディスク(図示せず)またはリムーバブルディスクのような記憶媒体からもプログラムおよびデータを受け取ることができる。これらのエレメントは、従来のデスクトップコンピュータまたはワークステーションコンピュータにも見られ、さらには、本明細書で説明した方法を実施するコンピュータプログラムを実行するのに適した他のコンピュータにも見られる。これらのコンピュータは、任意のデジタル印刷エンジンもしくはマーキングエンジン、表示モニタ、またはカラーもしくはグレイスケールのピクセルを紙、フィルム、表示スクリーン、もしくは他の出力媒体に生成できる他のラスタ出力装置と共に使用することができる。
従来技術の分割可能サーバの機能ブロック図。 本発明の一実施の形態による分割可能サーバの機能ブロック図。 図1Aのサーバに使用される従来技術のリセットアーキテクチャの機能ブロック図。 本発明の一実施の形態による図1Bのサーバに使用されるリセットアーキテクチャの機能ブロック図。 本発明の第1の実施の形態による図3のエージェントをリセットする方法のフローチャート。 本発明の一実施の形態による図3のエージェントに対してソフトリセットを実行する方法のフローチャート。 本発明の第2の実施の形態による図3のエージェントをリセットする方法のフローチャート。

Claims (10)

  1. 第1のエージェントおよび第2のエージェントを含むコンピュータシステムにおいて、
    (A)前記第1のエージェントに向けられた第1のリセット信号を受信するステップと、
    (B)前記第2のエージェントが所定の種類の実行状態のうちの一実行状態にあるかどうかを判定するステップを含み、該一実行状態は、前記第2のエージェントにリセットを要求せずに前記第1のエージェントに対してハードリセットを実行できる状態であり、
    (C)前記第2のエージェントが前記一実行状態と判定された場合に、前記第1のエージェントに対してハードリセットを実行するステップと、
    (D)前記第2のエージェントが、前記一実行状態にないと判定された場合、前記第1のエージェントに対してソフトリセットを実行するステップと、を含む方法。
  2. 前記第2のエージェントは、前記コンピュータシステムの機能領域である請求項1に記載の方法。
  3. 前記第1のエージェントは、複数のコンポーネントを備え、前記ステップ(D)は、
    (D)(1)前記複数のコンポーネントのすべてよりも少ないコンポーネントをリセットするステップ、を含む請求項1に記載の方法。
  4. 前記ステップ(D)は、前記第2のエージェントをリセットすることなく実行される、請求項3に記載の方法。
  5. エージェントおよび該エージェントに関連付けられた機能領域を含むコンピュータシステムにおける方法であって、
    (A)前記エージェントに向けられた第1のリセット信号を受信するステップと、
    (B)前記機能領域が所定の種類の実行状態のうちの一実行状態にあるかどうかを判定するステップを含み、該一実行状態は、該機能領域にリセットを要求せずに前記第1のエージェントに対してハードリセットを実行できる状態であり、
    (C)前記機能領域が、前記一実行状態にあると判定されると、前記エージェントに第2のリセット信号を伝送することにより、該エージェントに対してハードリセットを実行するステップと、
    (D)前記機能領域が、前記一実行状態にないと判定されると、前記エージェントに割り込みを伝送することにより、該エージェントの複数のコンポーネントのすべてよりも少ないコンポーネントをリセットするステップと、を含む方法。
  6. 第1のエージェントおよび第2のエージェントを含むコンピュータシステムにおける装置であって、
    前記第1のエージェントに向けられた第1のリセット信号を受信する受信手段と、
    前記第2のエージェントが所定の種類の実行状態のうちの一実行状態にあるかどうかを判定する判定手段を含み、該一実行状態は、該第2のエージェントのリセットを必要とせずに、前記第1のエージェントに対してハードリセットを実行できる状態であり、
    前記第2のエージェントが、前記一実行状態にあると判定されると、前記第1のエージェントに対してハードリセットを実行するハードリセット手段と、
    前記第2のエージェントが、前記一実行状態にないと判定されると、前記第1のエージェントに対してソフトリセットを実行するソフトリセット手段と、を備える装置。
  7. 第1のエージェントおよび第2のエージェントを含むコンピュータシステムに使用されるリセットアーキテクチャであって、
    前記第2のエージェントに接続されて、該第2のエージェントの実行状態を示す実行状態信号を供給する出力を備える実行状態識別部と、
    多重分離装置であって、
    少なくとも1つのリセット源に接続されたデータ入力と、
    前記実行状態識別部の前記出力に接続された選択入力と、
    前記第1のエージェントの割り込み入力に接続された割り込み出力と、
    前記第1のエージェントのリセット入力に接続されたリセット出力と、
    を備える多重分離装置と、を備え、
    前記第1のエージェントは、前記リセット入力にリセット信号を受信したことに応答してハードリセットを実行する手段と、前記割り込み入力に割り込み信号を受信したことに応答してソフトリセットを実行する手段とを備える、リセットアーキテクチャ。
  8. 機能領域および該機能領域に関連付けられたエージェントを含むコンピュータシステムにおける方法であって、
    (A)前記エージェントに向けられた第1のリセット信号を受信するステップと、
    (B)前記第1のリセット信号に応答して、前記機能領域が第1の所定の種類の実行状態のうちの第1の実行状態にある間、前記エージェントに対してソフトリセットを実行するステップを含み、該第1の実行状態は、前記機能領域のリセットを必要とせずには前記エージェントに対してハードリセットを実行できない状態であり、
    (C)前記機能領域が、前記エージェントに対してハードリセットを実行できる第2の所定の種類の実行状態のうちの第2の実行状態にある間、該機能領域のリセットを要求せずに前記エージェントに対してハードリセットを実行するステップと、を含む方法。
  9. 機能領域および該機能領域に関連付けられたエージェントを含むコンピュータシステムにおける方法であって、
    (A)前記エージェントに向けられた第1のリセット信号を受信するステップと、
    (B)前記第1のリセット信号に応答して、前記機能領域が、第1の所定の種類の実行状態のうちの第1の実行状態にある間、前記エージェントに割り込み信号を伝送することにより、前記機能領域をリセットせずに前記エージェントに対してソフトリセットを実行するステップを含み、前記第1の実行状態は、前記機能領域にリセットを要求せずには前記エージェントに対してハードリセットを実行できない状態であり、
    (C)前記機能領域が第2の所定の種類の実行状態のうちの第2の実行状態かどうかを判定するステップを含み、該第2の実行状態は、前記機能領域にリセットを要求せずに前記エージェントに対してハードリセットを実行できる状態であり、
    (D)前記機能領域が、前記第2の実行状態にある間、前記エージェントに第2のリセット信号を伝送することにより、前記エージェントに対してハードリセットを実行するステップと、を含む前記方法。
  10. 機能領域および該機能領域に関連付けられたエージェントを含むコンピュータシステムにおける装置であって、
    前記エージェントに向けられた第1のリセット信号を受信する受信手段と、
    前記機能領域が第1の所定の種類の実行状態のうちの第1の実行状態にある間、前記エージェントに対してソフトリセットを実行するソフトリセット手段を含み、該第1の実行状態は、前記機能領域にリセットを要求せずには前記エージェントに対してハードリセットを実行できない状態であり、
    前記機能領域が第2の所定の種類の実行状態の第2の実行状態にある間、前記エージェントに対してハードリセットを実行するハードリセット手段を含み、該第2の実行状態は、該機能領域にリセットを要求せずに、前記エージェントに対してハードリセットを実行できる状態である、前記装置。

JP2004055896A 2003-03-05 2004-03-01 コンピュータシステムにおけるリセット方法 Pending JP2004272899A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/382,346 US7089413B2 (en) 2003-03-05 2003-03-05 Dynamic computer system reset architecture

Publications (1)

Publication Number Publication Date
JP2004272899A true JP2004272899A (ja) 2004-09-30

Family

ID=32926882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004055896A Pending JP2004272899A (ja) 2003-03-05 2004-03-01 コンピュータシステムにおけるリセット方法

Country Status (2)

Country Link
US (1) US7089413B2 (ja)
JP (1) JP2004272899A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
TWI313409B (en) * 2005-03-01 2009-08-11 Asustek Comp Inc Erasing control circuit and method for erasing bios configuration memory in computer system
US7631178B2 (en) * 2006-03-30 2009-12-08 Intel Corporation Independent main partition reset
TW200743355A (en) * 2006-05-05 2007-11-16 Hon Hai Prec Ind Co Ltd Network device and time synchronizing method thereof
US7756053B2 (en) * 2006-06-30 2010-07-13 Intel Corporation Memory agent with error hardware
US7921453B2 (en) * 2006-12-22 2011-04-05 Intel Corporation Authenticated distributed detection and inference
US7814301B2 (en) * 2007-04-11 2010-10-12 Hewlett-Packard Development Company, L.P. Clock architecture for multi-processor systems
CN101770268B (zh) * 2009-12-28 2014-06-11 中兴通讯股份有限公司 智能终端复位方法及装置
CN103238143B (zh) * 2010-09-27 2016-11-16 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
US9026842B2 (en) * 2012-03-20 2015-05-05 Blackberry Limited Selective fault recovery of subsystems
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
US9841795B2 (en) * 2014-09-22 2017-12-12 Nxp Usa, Inc. Method for resetting an electronic device having independent device domains
CN104768180A (zh) * 2014-12-31 2015-07-08 中兴仪器(深圳)有限公司 一种具有自复位功能的通信设备及通信系统
CN104991832A (zh) * 2015-06-20 2015-10-21 成都彬鸿科技有限公司 嵌入式处理器宕机的处理方法
US9712153B1 (en) 2016-03-03 2017-07-18 Nxp Usa, Inc. Method and device for reset modification based on system state
US10599199B1 (en) * 2017-12-20 2020-03-24 Apple Inc. Systems and methods for power management at device shutdown
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
US10817307B1 (en) 2017-12-20 2020-10-27 Apple Inc. API behavior modification based on power source health
US11385904B2 (en) * 2019-03-19 2022-07-12 Active-Semi, Inc. Methods and apparatus for selecting operating modes in a device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870602A (en) * 1987-11-03 1999-02-09 Compaq Computer Corporation Multi-processor system with system wide reset and partial system reset capabilities
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
US5333285A (en) 1991-11-21 1994-07-26 International Business Machines Corporation System crash detect and automatic reset mechanism for processor cards
US5379437A (en) * 1992-11-16 1995-01-03 International Business Machines Corp. Reset of peripheral printing devices after a hot plug state
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US6012154A (en) * 1997-09-18 2000-01-04 Intel Corporation Method and apparatus for detecting and recovering from computer system malfunction
US6697973B1 (en) * 1999-12-08 2004-02-24 International Business Machines Corporation High availability processor based systems
JP3431880B2 (ja) 2000-03-23 2003-07-28 三菱電機株式会社 基板及びプロセッサのリセット方式
US6718416B1 (en) 2000-08-21 2004-04-06 Intel Corporation Method and apparatus for removing and installing a computer system bus agent without powering down the computer system
US6633938B1 (en) 2000-10-06 2003-10-14 Broadcom Corporation Independent reset of arbiters and agents to allow for delayed agent reset
JP2002341973A (ja) * 2001-05-15 2002-11-29 Fujitsu Ltd 情報処理装置及びリセット制御方法
US7065078B2 (en) * 2002-02-12 2006-06-20 Intel Corporation Switched platform management architecture and related methods
US20030204708A1 (en) * 2002-04-24 2003-10-30 Colin Hulme Portable computer having hierarchical operating systems
US6896719B2 (en) * 2002-09-26 2005-05-24 The Hoover Company Dirt collecting system for a floor care appliance
US7039736B2 (en) * 2003-01-15 2006-05-02 Hewlett-Packard Development Company, L.P. Systems and methods for accessing bus-mastered system resources

Also Published As

Publication number Publication date
US7089413B2 (en) 2006-08-08
US20040177242A1 (en) 2004-09-09

Similar Documents

Publication Publication Date Title
JP2004272899A (ja) コンピュータシステムにおけるリセット方法
JP4934642B2 (ja) 計算機システム
US7802042B2 (en) Method and system for handling a management interrupt event in a multi-processor computing device
WO2016165304A1 (zh) 一种实例节点管理的方法及管理设备
US7865782B2 (en) I/O device fault processing method for use in virtual computer system
US20060085794A1 (en) Information processing system, information processing method, and program
WO2009092322A1 (zh) 一种多处理器系统故障恢复的方法及装置
JP2005011319A (ja) 非対称データ処理システムリソースの非介入動的ホット追加およびホット除去
US10379931B2 (en) Computer system
JP2004302632A (ja) コンピュータ処理方法及びその実施システム並びにその処理プログラム
CN110109782B (zh) 一种故障PCIe设备的更换方法、装置及系统
CN111026573A (zh) 一种多核处理系统的看门狗系统及控制方法
JP2007304845A (ja) 仮想計算機システムおよびソフトウェア更新方法
JP2007323631A (ja) Cpu暴走判定回路
KR20100108578A (ko) 컴퓨팅 장치 셧다운 방법, 컴퓨팅 장치 및 컴퓨터 판독가능 저장 매체
US20210048863A1 (en) System and Method for Controlling a Power-On Sequence and Power Throttling using Power Brake
KR101369430B1 (ko) 행 현상 관리 장치 및 방법
JP3690666B2 (ja) マルチコンピュータシステム
JP2000222376A (ja) 計算機システムとその運用方法
EP4443291A1 (en) Cluster management method and device, and computing system
US8522060B2 (en) Computer system, method for controlling the same, and program
US8312126B2 (en) Managing at least one computer node
JP6654662B2 (ja) サーバ装置およびサーバシステム
CN107423113B (zh) 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备
JP2008117268A (ja) 情報管理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060928

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626