(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】拡張デバイス調停装置、拡張デバイス調停方法、障害復旧システム装置、プログラム、及び記録媒体
(51)【国際特許分類】
G06F 11/07 20060101AFI20240903BHJP
G06F 13/10 20060101ALI20240903BHJP
G06F 13/14 20060101ALI20240903BHJP
G06F 11/14 20060101ALI20240903BHJP
【FI】
G06F11/07 193
G06F13/10 310B
G06F13/14 330E
G06F11/14 620
G06F11/14 638
G06F11/07 140Q
(21)【出願番号】P 2020177864
(22)【出願日】2020-10-23
【審査請求日】2023-09-04
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100115255
【氏名又は名称】辻丸 光一郎
(74)【代理人】
【識別番号】100201732
【氏名又は名称】松縄 正登
(74)【代理人】
【識別番号】100154081
【氏名又は名称】伊佐治 創
(72)【発明者】
【氏名】大川 顕太郎
【審査官】久々宇 篤志
(56)【参考文献】
【文献】特開2009-116642(JP,A)
【文献】特開平08-194628(JP,A)
【文献】特開2015-153075(JP,A)
【文献】国際公開第2015/008337(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 13/10
G06F 13/14
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
障害検出部、拡張デバイス切り離し部、拡張デバイス組み込み部、及び、復旧判定部を含み、
前記障害検出部は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し部は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み部は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し部は、前記復旧判定部により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする、拡張デバイス調停装置。
【請求項2】
前記障害検出部は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する、請求項1記載の拡張デバイス調停装置:
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出部により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
【請求項3】
さらに、記憶部を含み、
前記記憶部は、前記拡張デバイスごとの復旧閾値を記憶し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み部は、前記障害検出部により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない、請求項1又は2に記載の拡張デバイス調停装置。
【請求項4】
拡張カード切り離し部、及び拡張カード組み込み部を含み、
前記拡張カード切り離し部は、前記拡張デバイス切り離し部により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み部は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張カードが復旧したか否かを判定する、請求項1から3のいずれか一項に記載の拡張デバイス調停装置。
【請求項5】
記憶部、拡張カード切り離し部、及び拡張カード組み込み部を含み、
前記記憶部は、前記拡張デバイス毎に、拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを記憶し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し部は、前記復旧判定部により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み部は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張カードが復旧したか否かを判定する、請求項1から4のいずれか一項に記載の拡張デバイス調停装置。
【請求項6】
メインユニットと、拡張カードとを含み、
前記メインユニットは、拡張デバイスの調停装置を備え、
前記拡張カードは、拡張デバイスを複数備え、
前記メインユニットと、前記拡張カードと、前記拡張デバイスの調停装置とは、それぞれのI/Fを介して互いに接続可能であり、
前記拡張デバイスの調停装置は、請求項1から5のいずれか
一項に記載の拡張デバイス調停装置である、障害復旧システム装置。
【請求項7】
障害検出工程、拡張デバイス切り離し工程、拡張デバイス組み込み工程、及び、復旧判定工程を含み、
前記障害検出工程は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し工程は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み工程は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し工程は、前記復旧判定工程により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする、
各工程をコンピュータに実行させるための拡張デバイス調停方法。
【請求項8】
前記障害検出工程は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する、請求項7記載の拡張デバイス調停方法:
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出工程により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
【請求項9】
コンピュータに、障害検出手順、拡張デバイス切り離し手順、拡張デバイス組み込み手順、及び、復旧判定手順を実行させるためのプログラムであって、
前記障害検出手順は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し手順は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み手順は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し手順は、前記復旧判定手順により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする、プログラム。
【請求項10】
請求項9記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、拡張デバイス調停装置、拡張デバイス調停方法、障害復旧システム装置、プログラム、及び記録媒体に関する。
【背景技術】
【0002】
コンピュータの内部において、CPU(Central Processing Unit)等のメインユニットとI/O(Input/Output)デバイスとを接続するバス又は内部インターフェースの規格として、AGP(Accelerated Graphics Port)、SATA(Serial ATA)、PCI(Peripheral Component Interconnect)、PCI-e(Peripheral Component Interconnect-Express)等、様々なものが知られている。
【0003】
前記内部インターフェースに接続された拡張カードにおいて、障害が発生した場合、障害を検出し、復旧を行うシステムが知られている(特許文献1、2)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-128795号公報
【文献】特開2019-159439号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1及び2のような技術では、障害の検知及び復旧を、拡張カード単位で行う。このため、前記拡張カード上に複数の拡張デバイスが搭載されている場合、障害が発生した拡張デバイスだけでなく、同一カード上のすべての拡張デバイスが一時的に使用できなくなるという問題があった。
【0006】
そこで、本発明は、複数の拡張デバイスを備える拡張カードにおいて、拡張デバイスの障害を検出し、拡張デバイス単位で復旧を行うことができる拡張デバイス調停装置、調停方法、障害復旧システム装置、プログラム、及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するために、本発明の拡張デバイス調停装置は、障害検出部、拡張デバイス切り離し部、拡張デバイス組み込み部、及び、復旧判定部を含み、
前記障害検出部は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し部は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み部は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し部は、前記復旧判定部により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする装置である。
【0008】
本発明の調停方法は、障害検出工程、拡張デバイス切り離し工程、拡張デバイス組み込み工程、及び、復旧判定工程を含み、
前記障害検出工程は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し工程は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み工程は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し工程は、前記復旧判定工程により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする方法である。
【0009】
本発明の障害復旧システム装置は、メインユニットと、拡張カードとを含み、
前記メインユニットは、拡張デバイスの調停装置を備え、
前記拡張カードは、拡張デバイスを複数備え、
前記メインユニットと、前記拡張カードと、前記拡張デバイスの調停装置とは、それぞれのI/Fを介して互いに接続可能であり、
前記拡張デバイスの調停装置は、前記本発明の拡張デバイス調停装置であるシステム装置である。
【0010】
本発明のプログラムは、コンピュータに、障害検出手順、拡張デバイス切り離し手順、拡張デバイス組み込み手順、及び、復旧判定手順を実行させるためのプログラムであって、
前記障害検出手順は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し手順は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み手順は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し手順は、前記復旧判定手順により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とするプログラムである。
【0011】
本発明の記録媒体は、本発明のプログラムを記録しているコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0012】
本発明によれば、複数の拡張デバイスを備える拡張カードを備えるシステムにおいて、拡張デバイス単位での障害の検出及び復旧が可能となる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施形態1の調停装置の一例の構成を示すブロック図である。
【
図2】
図2は、実施形態1の調停装置のハードウェア構成の一例を示すブロック図である。
【
図3】
図3は、実施形態1の調停装置における処理の一例を示すフローチャートである。
【
図4】
図4は、実施形態2の調停装置の一例の構成を示すブロック図である。
【
図5】
図5は、実施形態2の調停装置における処理の一例を示すフローチャートである。
【
図6】
図6は、実施形態2の調停装置における処理の別の一例を示すフローチャートである。
【
図7】
図7は、実施形態1の調停装置を備える障害復旧システム装置の一例の構成を示す模式図である。
【発明を実施するための形態】
【0014】
本発明の拡張デバイス調停装置は、例えば、前記障害検出部は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する、という態様であってもよい。
(1)前記メインユニットから、拡張デバイス障害情報を受信する。
(2)前記障害検出部により、前記拡張デバイスにアクセスして障害を検出する。
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
【0015】
本発明の拡張デバイス調停装置は、例えば、さらに、記憶部を含み、
前記記憶部は、前記拡張デバイスごとの復旧閾値を記憶し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み部は、前記障害検出部により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない
という態様であってもよい。
【0016】
本発明の拡張デバイス調停装置は、例えば、拡張カード切り離し部、及び拡張カード組み込み部を含み、
前記拡張カード切り離し部は、前記拡張デバイス切り離し部により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み部は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張カードが復旧したか否かを判定する
という態様であってもよい。
【0017】
本発明の拡張デバイス調停装置は、例えば、記憶部、拡張カード切り離し部、及び拡張カード組み込み部を含み、
前記記憶部は、前記拡張デバイス毎に、拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを記憶し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し部は、前記復旧判定部により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み部は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張カードが復旧したか否かを判定する
という態様であってもよい。
【0018】
本発明の調停方法は、例えば、前記障害検出工程は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出するという態様であってもよい。
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出工程により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
【0019】
本発明の調停方法は、例えば、拡張デバイスごとの復旧閾値を使用し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み工程は、前記障害検出工程により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない
という態様であってもよい。
【0020】
本発明の調停方法は、例えば、拡張カード切り離し工程、及び拡張カード組み込み工程を含み、
前記拡張カード切り離し工程は、前記拡張デバイス切り離し工程により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み工程は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張カードが復旧したか否かを判定する
という態様であってもよい。
【0021】
本発明の調停方法は、例えば、拡張カード切り離し工程、及び拡張カード組み込み工程を含み、
拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを使用し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し工程は、前記復旧判定工程により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み工程は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張カードが復旧したか否かを判定する
という態様であってもよい。
【0022】
本発明のプログラムは、例えば、前記障害検出手順は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する
という態様であってもよい。
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出手順により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
【0023】
本発明のプログラムは、例えば、拡張デバイスごとの復旧閾値を使用し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み手順は、前記障害検出手順により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない
という態様であってもよい。
【0024】
本発明のプログラムは、例えば、拡張カード切り離し手順、及び拡張カード組み込み手順を含み、
前記拡張カード切り離し手順は、前記拡張デバイス切り離し手順により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み手順は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張カードが復旧したか否かを判定する
という態様であってもよい。
【0025】
本発明のプログラムは、例えば、拡張カード切り離し手順、及び拡張カード組み込み手順を含み、
前記拡張デバイス毎の拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを使用し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し手順は、前記復旧判定手順により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み手順は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張カードが復旧したか否かを判定する
という態様であってもよい。
【0026】
本発明において、拡張カードとは、例えば、メインユニットとバス接続され、メインユニットの機能を拡張するための部材である。前記接続の規格は、特に制限されず、例えば、AGP、SATA、PCI、PCIe等があげられる。また、本発明において、拡張デバイスとは、前記拡張カードに配置された、機能をつかさどる装置である。前記接続規格が、例えば、PCI又はPCIeである場合、前記拡張カードは、PCIカード又はPCIeカードともいい、前記拡張デバイスは、PCIデバイス、PCIeデバイス、又はエンドポイントともいう。
【0027】
本発明の実施形態について図を用いて説明する。本発明は、以下の実施形態には限定されない。以下の各図において、同一部分には、同一符号を付している。また、各実施形態の説明は、特に言及がない限り、互いの説明を援用でき、各実施形態の構成は、特に言及がない限り、組合せ可能である。
【0028】
[実施形態1]
図1は、本実施形態の調停装置10(以下、本装置10ともいう)の一例の構成を示すブロック図である。
図1に示すように、本装置10は、障害検出部11、拡張デバイス切り離し部12、拡張デバイス組み込み部13、及び、復旧判定部14を含む。また、本装置10は、例えば、任意の構成として、記憶部(図示せず)を含んでもよい。
【0029】
本装置10は、例えば、前記各部を含む1つの装置でもよいし、前記各部が、通信回線網を介して接続可能な装置でもよい。また、本装置10は、前記通信回線網を介して、後述する外部装置と接続可能である。前記通信回線網は、特に制限されず、公知のネットワークを使用でき、例えば、有線でも無線でもよい。前記通信回線網は、例えば、インターネット回線、WWW(World Wide Web)、電話回線、LAN(Local Area Network)、SAN(Storage Area Network)、DTN(Delay Tolerant Networking)等があげられる。無線通信としては、例えば、WiFi(Wireless Fidelity)、Bluetooth(登録商標)等が挙げられる。前記無線通信としては、各装置が直接通信する形態(Ad Hoc通信)、アクセスポイントを介した間接通信のいずれであってもよい。本装置10は、例えば、システムとしてサーバに組み込まれていてもよい。
【0030】
図2に、本装置10のハードウェア構成のブロック図を例示する。本装置10は、例えば、中央演算装置(CPU、GPU等)101、メモリ102、バス103、入力装置104、表示装置105、通信デバイス106、記憶部107等を有する。本装置10のハードウェア構成の各部は、それぞれのインタフェース(I/F)により、バス103を介して相互に接続されている。
【0031】
中央演算装置(中央処理装置)101は、本装置10の全体の制御を担う。本装置10において、中央演算装置101により、例えば、本発明のプログラムやその他のプログラムが実行され、また、各種情報の読み込みや書き込みが行われる。具体的には、例えば、中央演算装置101が、障害検出部11、拡張デバイス切り離し部12、拡張デバイス組み込み部13、及び、復旧判定部14として機能する。
【0032】
本装置10は、例えば、バス103により、メインユニット、及び拡張カードと接続できる。前記メインユニット及び前記拡張カードについては、後述する。バス103は、例えば、外部装置とも接続できる。前記外部装置は、例えば、外部データベース、プリンター等があげられる。本装置10は、例えば、バス103に接続された通信デバイス106により、前記通信回線網に接続でき、前記通信回線網を介して、外部装置と接続することもできる。また、例えば、後述する本発明の障害復旧システム装置が、複数の調停装置10を含む場合、本装置10は、例えば、通信デバイス106により、他の調停装置10と互いに通信可能であってもよい。
【0033】
メモリ102は、例えば、メインメモリ(主記憶装置)が挙げられる。中央演算装置101が処理を行う際には、例えば、後述する記憶部107に記憶されている本発明のプログラム等の種々の動作プログラムを、メモリ102が読み込み、中央演算装置101は、メモリ102からデータを受け取って、プログラムを実行する。前記メインメモリは、例えば、RAM(ランダムアクセスメモリ)である。また、メモリ102は、例えば、ROM(読み出し専用メモリ)であってもよい。
【0034】
記憶部107は、例えば、前記メインメモリ(主記憶装置)に対して、いわゆる補助記憶装置ともいう。前述のように、記憶部107には、本発明のプログラムを含む動作プログラムが格納されている。記憶部107は、例えば、記録媒体と、記録媒体に読み書きするドライブとの組合せであってもよい。前記記録媒体は、特に制限されず、例えば、内蔵型でも外付け型でもよく、HD(ハードディスク)、CD-ROM、CD-R、CD-RW、MO、DVD、フラッシュメモリー、メモリーカード等が挙げられる。記憶部107は、例えば、記録媒体とドライブとが一体化されたハードディスクドライブ(HDD)、及びソリッドステートドライブ(SSD)であってもよい。また、本装置10が前記記憶部を含む場合、例えば、記憶部107が前記記憶部として機能する。この場合、記憶部107は、復旧閾値を記憶していてもよい。前記復旧閾値は、例えば、前記拡張デバイスの復旧を行う回数である。前記復旧閾値は、例えば、前記拡張デバイス毎に異なる回数が設定されていてもよい。この場合、前記復旧閾値は、例えば、前記拡張デバイスの優先度に応じて適宜設定できる。具体的には、例えば、相対的により重要なデバイスほど、前記復旧閾値を高く設定できる。
【0035】
本装置10において、メモリ102及び記憶部107は、管理者からのアクセス情報及びログ情報、並びに、外部データベース(図示せず)から取得した情報を記憶することも可能である。
【0036】
本装置10は、例えば、さらに、入力装置104、表示装置105を有する。入力装置104は、例えば、タッチパネル、キーボード、マウス等である。表示装置105は、例えば、LEDディスプレイ、液晶ディスプレイ等が挙げられる。
【0037】
図7に、本実施形態の調停装置10を備える障害復旧システム装置の一例の構成を示す。
図7は、本実施形態の障害復旧システム装置20の構成の一例を示す模式図である。
図7に示すように、本実施形態の障害復旧システム装置20は、メインユニット21、バス22、及び拡張カードとして、PCIカード23を含む。メインユニット21及びPCIカード23は、それぞれ、それぞれのI/Fを介してバス22を通じて接続されており、互いに通信可能である。なお、
図7において、メインユニット21が調停装置10を備えているが、調停装置10は、例えば、メインユニットから独立した部材としてバス22に接続されていてもよい。この場合、調停装置10も、そのI/Fを介してバス22を通じて、メインユニット21及びPCIカード23と通信可能である。なお、
図7において、システム装置20は、前記拡張カードとして、PCIカードを備え、前記拡張デバイスとして、PCIデバイスA及びBを備えるが、本発明のシステム装置において、前記拡張カード及び前記拡張デバイスは、前述のように、PCI規格のものに限定されない。
【0038】
メインユニット21は、システム装置20の主要な制御を司るユニットであり、OS/バスドライバ、I/F、本発明の調停装置10等を有する。
【0039】
PCIカード(拡張カード)23は、バス22を通じてメインユニット21に接続されている。PCIカード23は、例えば、PCIスイッチ231、PCIデバイス232A、PCIデバイス232B等を含む。PCIスイッチ231は、例えば、PCIカード23上において、接続できるPCIデバイスを増やすための装置である。PCIデバイス232A、232Bは、例えば、PCIカード23上において、それぞれのI/Fを介して、PCIスイッチ231に接続され、PCIスイッチ231を経由して、メインユニット21と接続されている。なお、
図7において、PCIカード23が有するPCIデバイス232は、2つであるが、これには限定されず、2つ以上であってもよい。
【0040】
つぎに、本発明の調停方法の一例を、
図3のフローチャートに基づき説明する。本実施形態の調停方法は、例えば、
図1及び
図2の調停装置10を備える、
図7のシステム装置20を用いて、次のように実施する。なお、本実施形態の調停方法は、
図1及び
図2の調停装置10を備える、
図7のシステム装置20の使用には限定されない。
【0041】
まず、障害検出部11は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出する(S11、障害検出工程)。前記障害の検出は、例えば、下記(1)~(3)からなる群から選択された少なくとも一つの処理により検出できる。下記(1)~(3)の処理の選択及び組み合わせは、特に限定されず、例えば、本発明の調停装置を備えるコンピュータシステムの要件及び実装方法により、適切なものを選択できる。なお、障害検出部11による障害の検出方法は、下記(1)~(3)の処理に限定されず、本発明の調停装置を備えるコンピュータシステムの要件及び実装方法により、例えば、公知の障害検出方法が適宜採用できる。
(1)前記メインユニットから、拡張デバイス障害情報を受信する。
(2)前記障害検出部により、前記拡張デバイスにアクセスして障害を検出する。
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
【0042】
前記(1)の処理は、例えば、前記メインユニットが、メインユニットの拡張デバイスI/Fを経由して、前記拡張デバイスへの経路障害を検出する処理である。前記拡張デバイスの接続規格がPCI又はPCIeである場合、前記(1)の処理は、例えば、PCI(e)Specに準拠した検出方法を採用できる。前記メインユニットが前記拡張デバイスへの経路障害を検出した場合、前記メインユニットは、本発明の調停装置10の障害検出部11に、前記拡張デバイス障害情報を送信し、調停装置10の障害検出部11は、前記拡張デバイス障害情報を受信することで、前記拡張デバイスの障害を検出する。前記拡張デバイス障害情報は、例えば、前記拡張デバイスに障害が発生していることを意味する情報である。
【0043】
前記(2)の処理は、例えば、障害検出部11が、前記拡張デバイスのI/Fを経由して、前記拡張デバイスの性能に影響を与えない範囲で、前記拡張デバイスに定期的にReadアクセスを行い、Readの失敗を検出する処理である。前記(2)の処理においては、障害検出部11が、前記Readの失敗を検出したデバイスについて、障害が発生した拡張デバイスと判断する。
【0044】
前記(3)の処理は、例えば、前記拡張デバイスのドライバにより、前記拡張デバイス固有の障害検出処理と、復旧処理とを行い、前記復旧処理に失敗した場合に、前記ドライバが、調停装置10の障害検出部11に対し、前記拡張デバイス障害情報を送信し、障害検出部11は、前記拡張デバイス障害情報を受信することで、前記拡張デバイスの障害を検出する。なお、前記(3)の処理は、例えば、前記拡張デバイスのドライバを変更可能な場合に採用することが好ましい。
【0045】
つぎに、拡張デバイス切り離し部12は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離す(S12、拡張デバイス切り離し工程)。前記「拡張デバイスを切り離す」とは、例えば、前記デバイスのドライバをメインユニットから取り外し、拡張デバイスへのアクセス経路を無効化することにより、前記拡張デバイスにアクセスできないようにすることをいう。
【0046】
そして、切り離した前記拡張デバイスについて、公知の復旧処理手段により、復旧処理を行う。前記復旧処理は、例えば、メインユニットからの指示により、前記拡張デバイスを初期化又は再起動する処理があげられる。また、例えば、前記拡張デバイス自身が復旧処理機能を備える拡張デバイスである場合、前記拡張デバイス自身により、前記復旧処理を行ってもよい。
【0047】
つぎに、拡張デバイス組み込み部13は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込む(S13、拡張デバイス組み込み工程)。前記「拡張デバイスを組み込む」とは、例えば、取り外した前記拡張デバイスのドライバをメインユニットに取り付け、拡張デバイスへのアクセス経路を有効化することにより、前記拡張デバイスにアクセスできるようにすることをいう。
【0048】
つぎに、復旧判定部14は、組み込んだ拡張デバイスが復旧したか否かを判定する(S14、復旧判定工程)。前記復旧の判定は、例えば、組み込んだ拡張デバイスに対し、Readアクセスが可能か否か(Readアクセスの成否)、及び、前記ドライバの取り付けの成否(ドライバ組み込みの成否)により判定できる。具体的には、復旧判定部14は、まず、前記組み込んだ拡張デバイスに対し、Readアクセスを試みる。前記Readアクセスに失敗した場合、復旧判定部14は、前記組み込んだ拡張デバイスが復旧に失敗したと判定する。前記Readアクセスに成功した場合、つぎに、復旧判定部14は、前記ドライバの取り付けの成否を判定する。そして、前記ドライバの取り付けが失敗している場合、復旧判定部14は、前記拡張デバイスが復旧に失敗したと判定し、前記ドライバの取り付けが成功している場合、復旧判定部14は、前記拡張デバイスが復旧に成功したと判定する。また、復旧判定部14は、前記ドライバの取り付けが成功したと判定した場合、例えば、さらに、前記拡張デバイスの正常性を確認してもよい。この場合、復旧判定部14は、前記Readアクセスの成功及び前記ドライバ取り付けの成功に加えて、さらに、前記拡張デバイスの正常性が確認された場合に、前記拡張デバイスが復旧に成功したと判定する。なお、前記ドライバの取り付け時において、前記拡張デバイスの正常性を確認しない動作のドライバの場合、及び、障害検出工程において検出した障害が、前記ドライバの取り付け時の拡張デバイスの正常性の確認では復旧を判定できない種類の障害である場合は、例えば、前記拡張デバイスの正常性の確認は行わず、前記Readアクセスの成否及び前記ドライバの取り付け成否の判定により、前記拡張デバイスの復旧を判定してもよい。
【0049】
そして、前記復旧判定工程において、組み込んだ拡張デバイスが復旧していないと判定された場合(S14、No)、拡張デバイス切り離し部12により、前記拡張デバイスを再度切り離し、S12~S14工程を繰り返す。この際、本装置10の前記記憶部に、前記復旧閾値が記憶されている場合、前記障害検出工程において、復旧閾値を超えて障害を検出した、すなわち、復旧閾値を超えてS12~S14工程の処理を繰り返した拡張デバイスについては、前記拡張デバイス組み込み工程を行わず、処理を終了してもよい。他方、前記復旧判定において、前記拡張デバイスが復旧したと判定された場合(S14、Yes)、処理を終了する(END)。
【0050】
本実施形態の拡張デバイス調停方法によれば、複数の拡張デバイスを備える拡張カードを備えるシステムにおいて、拡張デバイス単位での障害の検出及び復旧が可能となる。このため、本発明によれば、例えば、拡張デバイスの障害発生によるシステム全体への影響をより局所化できるため、システムの可用性を向上できる。
【0051】
[実施形態2]
本実施形態の調停装置は、例えば、さらに、拡張カード切り離し部、及び拡張カード組み込み部を含むこと以外は、実施形態1と同様である。
【0052】
図4は、本実施形態の調停装置10Aの構成の一例を示すブロック図である。
図4に示すように、調停装置10Aは、実施形態の調停装置10に加えて、さらに拡張カード切り離し部15、及び拡張カード組み込み部16を含む。調停装置10Aのハードウェア構成は、中央処理装置101が、
図2の調停装置10の構成に加えて、さらに、拡張カード切り離し部15、及び拡張カード組み込み部16として機能する以外は同様である。
【0053】
つぎに、実施形態2の調停方法について、
図5のフローチャートを用いて説明する。実施形態2の調停方法は、例えば、
図4に示す実施形態2の調停装置10Aを用いて実施できる。なお、実施形態2の調停方法は、調停装置10Aの使用には限定されない。
【0054】
まず、実施形態1の調停方法におけるS11~S13と同様にして、S11~S13を実施する。
【0055】
つぎに、復旧判定部14は、組み込んだ拡張デバイスが復旧したか否かを判定する(S114)。組み込んだ拡張デバイスが復旧した場合(S14、Yes)、処理を終了する(END)。他方、組み込んだ拡張デバイスが復旧していない場合(S14、No)、拡張デバイス切り離し部12により、再度、前記拡張デバイスを切り離す(S12’、拡張デバイス切り離し工程)。
【0056】
つぎに、拡張カード切り離し部15は、拡張カードが備える複数の拡張デバイス全てが切り離されたか否かを判定し(S15A)、切り離されていない拡張デバイスがある場合(S15A、No)、S11~S14の処理を繰り返す。他方、前記拡張カードが備える複数の拡張デバイスすべてが切り離された場合(S15A、Yes)、拡張カード切り離し部15は、前記拡張カードを切り離す(S15B、拡張カード切り離し工程)。
【0057】
そして、切り離した前記拡張カードについて、公知の復旧処理手段により、復旧処理を行う。前記復旧処理は、例えば、メインユニットからの指示により、前記拡張カードを初期化又は再起動する処理があげられる。また、例えば、前記拡張カード自身が復旧処理機能を備える拡張カードである場合、前記拡張カード自身により、前記復旧処理を行ってもよい。
【0058】
つぎに、拡張カード組み込み部16は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込む(S16、拡張カード組み込み工程)。前記「拡張カードを組み込む」とは、例えば、取り外した前記拡張カードのドライバをメインユニットに取り付け、拡張カードへのアクセス経路を有効化することにより、前記拡張カードにアクセスできるようにすることをいう。
【0059】
つぎに、復旧判定部14は、組み込んだ拡張カードが復旧したか否かを判定する(S17、復旧判定工程)。前記復旧の判定は、例えば、前記拡張カードが備える拡張デバイスが復旧したか否かにより判定する。具体的に、例えば、S17において、前記拡張カードが復旧したかの判定は、前記拡張カードが備えるすべての拡張デバイスが復旧したと判定された場合に、前記拡張カードが復旧したと判定してもよいし、前記拡張カードが備える拡張デバイスのうち、少なくとも1つの拡張デバイスが復旧したと判定された場合に、前記拡張カードが復旧したと判定してもよいが、前者が好ましい。なお、後者の場合、前記拡張デバイス毎に、後述する優先度及び切り離し閾値が設定されている場合、例えば、前記優先度が、前記切り離し閾値を超えているデバイスについて復旧したと判定された場合、前記拡張カードが復旧したと判定してもよい。なお、S17において、前記各拡張デバイスが復旧したか否かの判定は、例えば、S14と同様にして、判定すればよい。
【0060】
そして、前記復旧判定工程において、組み込んだ拡張カードが復旧していないと判定された場合(S17、No)、拡張カード切り離し15により、前記拡張カードを再度切り離し、S15B~S17工程を繰り返す。この際、S14工程と同様に、本装置10の前記記憶部に、拡張カードごとに復旧閾値が記憶されている場合、復旧閾値を超えてS15B~S17工程の処理を繰り返した拡張カードについては、前記拡張カード組み込み工程を行わず、処理を終了してもよい。他方、前記復旧判定工程において、前記拡張カードが復旧したと判定された場合(S17、Yes)、処理を終了する(END)。
【0061】
本実施形態の拡張デバイス調停方法によれば、複数の拡張デバイスを備える拡張カードを備えるシステムにおいて、拡張デバイス単位での障害の検出及び復旧が可能となる。そして、拡張カードが備えるすべての拡張デバイスの復旧が不能な場合に、拡張カード単位での復旧処理を行うことができる。このため、本実施形態の調停方法によれば、例えば、拡張デバイスの障害発生によるシステム復旧処理を多段化できるため、システム全体への影響を軽減でき、システムの可用性を向上できる。
【0062】
[変形例]
拡張カード切り離し部15及び拡張カード組み込み部16による処理は、上記の例示には制限されず、例えば、障害が検出された拡張デバイスの優先度に応じて行ってもよい。
【0063】
変形例の調停方法について、
図6のフローチャートを用いて説明する。変形例の調停方法は、例えば、
図4に示す実施形態2の調停装置10Aを用いて実施できる。なお、変形例の調停方法は、調停装置10Aの使用には限定されない。
【0064】
まず、実施形態1の調停方法におけるS11~S13と同様にして、S11~S13を実施する。
【0065】
つぎに、復旧判定部14は、組み込んだ拡張デバイスが復旧したか否かを判定する(S114)。組み込んだ拡張デバイスが復旧した場合(S14、Yes)、処理を終了する(END)。他方、組み込んだ拡張デバイスが復旧していない場合(S14、No)、拡張カード切り離し部15は、前記復旧に失敗したと判定された拡張デバイスに設定された優先度が、拡張カード切り離し閾値を超えるか否かを判定する(S15A’)。前記優先度は、例えば、前記拡張カードが備える複数の拡張デバイスにおける、重要度を示す値である。前記優先度は、各拡張デバイス毎に高低が定義されていてもよいし、優先度として、本装置10Aの前記記憶部に、前記拡張デバイス毎に設定された任意の値が記憶されていてもよい。前記拡張カード切り離し閾値は、前記障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、例えば、各拡張カードが備える拡張デバイスの機能等に応じて適宜設定できる。そして、前記復旧に失敗した拡張デバイスに設定された前記優先度が、前記拡張カード切り離し閾値を超えない場合(S15A’、No)、S12~S14の復旧処理を繰り返す。他方、前記復旧に失敗した拡張デバイスに設定された前記優先度が、前記拡張カード切り離し閾値を超える場合(S15A’、YES)、拡張カード切り離し部15は、前記拡張デバイスを備える拡張カードを切り離す(S15B、拡張カード切り離し工程)。
【0066】
その後、前記実施形態2のS16~S17と同様にして、S16~S17を実施し、処理を終了する(END)。
【0067】
変形例の調停方法によれば、例えば、障害が発生した拡張カード上の拡張デバイスの優先度に応じて、拡張カードごとの復旧処理に切り替えられるため、重要な機能を備える拡張デバイスに障害が発生した場合、速やかに拡張カード単位の復旧処理を行うことができる。
【0068】
[実施形態3]
本実施形態のプログラムは、前記各実施形態の方法の各工程を、手順として、コンピュータに実行させるためのプログラムである。本発明において、「手順」は、「処理」と読み替えてもよい。また、本実施形態のプログラムは、例えば、コンピュータ読み取り可能な記録媒体に記録されていてもよい。前記記録媒体は、例えば、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)である。前記記録媒体としては、特に限定されず、例えば、HD(ハードディスク)、CD-ROM、CD-R、CD-RW、MO、DVD、フロッピー(登録商標)ディスク(FD)、フラッシュメモリー、メモリーカード等が挙げられる。
【0069】
以上、実施形態を参照して本発明を説明したが、本発明は、上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0070】
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載されうるが、以下には限られない。
(付記1)
障害検出部、拡張デバイス切り離し部、拡張デバイス組み込み部、及び、復旧判定部を含み、
前記障害検出部は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し部は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み部は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し部は、前記復旧判定部により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする、拡張デバイス調停装置。
(付記2)
前記障害検出部は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する、付記1記載の拡張デバイス調停装置:
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出部により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
(付記3)
さらに、記憶部を含み、
前記記憶部は、前記拡張デバイスごとの復旧閾値を記憶し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み部は、前記障害検出部により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない、付記1又は2に記載の拡張デバイス調停装置。
(付記4)
拡張カード切り離し部、及び拡張カード組み込み部を含み、
前記拡張カード切り離し部は、前記拡張デバイス切り離し部により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み部は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張カードが復旧したか否かを判定する、付記1から3のいずれかに記載の拡張デバイス調停装置。
(付記5)
記憶部、拡張カード切り離し部、及び拡張カード組み込み部を含み、
前記記憶部は、前記拡張デバイス毎に、拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを記憶し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し部は、前記復旧判定部により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み部は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定部は、組み込んだ拡張カードが復旧したか否かを判定する、付記1から4のいずれかに記載の拡張デバイス調停装置。
(付記6)
メインユニットと、拡張カードとを含み、
前記メインユニットは、拡張デバイスの調停装置を備え、
前記拡張カードは、拡張デバイスを複数備え、
前記メインユニットと、前記拡張カードと、前記拡張デバイスの調停装置とは、それぞれのI/Fを介して互いに接続可能であり、
前記拡張デバイスの調停装置は、付記1から5のいずれか一向に記載の拡張デバイス調停装置である、障害復旧システム装置。
(付記7)
障害検出工程、拡張デバイス切り離し工程、拡張デバイス組み込み工程、及び、復旧判定工程を含み、
前記障害検出工程は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し工程は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み工程は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し工程は、前記復旧判定工程により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする、拡張デバイス調停方法。
(付記8)
前記障害検出工程は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する、付記7記載の拡張デバイス調停方法:
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出工程により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
(付記9)
拡張デバイスごとの復旧閾値を使用し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み工程は、前記障害検出工程により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない、付記7又は8に記載の拡張デバイス調停方法。
(付記10)
拡張カード切り離し工程、及び拡張カード組み込み工程を含み、
前記拡張カード切り離し工程は、前記拡張デバイス切り離し工程により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み工程は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張カードが復旧したか否かを判定する、付記7から9のいずれかに記載の拡張デバイス調停方法。
(付記11)
拡張カード切り離し工程、及び拡張カード組み込み工程を含み、
拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを使用し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し工程は、前記復旧判定工程により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み工程は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定工程は、組み込んだ拡張カードが復旧したか否かを判定する、付記7から9のいずれかに記載の拡張デバイス調停方法。
(付記12)
コンピュータに、障害検出手順、拡張デバイス切り離し手順、拡張デバイス組み込み手順、及び、復旧判定手順を実行させるためのプログラムであって、
前記障害検出手順は、メインユニットに接続された拡張カードが備える、複数の拡張デバイスについて障害を検出し、
前記拡張デバイス切り離し手順は、前記拡張デバイスの障害が検出された場合、前記障害のある拡張デバイスを前記メインユニットから切り離し、
前記拡張デバイス組み込み手順は、前記障害のある拡張デバイスの復旧処理後、前記復旧処理後の拡張デバイスを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張デバイスが復旧したか否かを判定し、
前記拡張デバイス切り離し手順は、前記復旧判定手順により、組み込んだ拡張デバイスが復旧していないと判定された場合、前記拡張デバイスを再度切り離すことを特徴とする、プログラム。
(付記13)
前記障害検出手順は、下記(1)~(3)からなる群から選択された少なくとも1つの処理により、前記拡張デバイスの障害を検出する、付記12記載のプログラム:
(1)前記メインユニットから、拡張デバイス障害情報を受信する;
(2)前記障害検出手順により、前記拡張デバイスにアクセスして障害を検出する;
(3)前記拡張デバイスから、拡張デバイス障害情報を受信する。
(付記14)
拡張デバイスごとの復旧閾値を使用し、
前記復旧閾値は、前記拡張デバイスの復旧を行う回数であり、
前記拡張デバイス組み込み手順は、前記障害検出手順により、前記復旧閾値を超えて障害を検出した拡張デバイスについて、メインユニットへの組み込みを行わない、付記12又は13に記載のプログラム。
(付記15)
拡張カード切り離し手順、及び拡張カード組み込み手順を含み、
前記拡張カード切り離し手順は、前記拡張デバイス切り離し手順により、前記複数の拡張デバイスがすべて切り離された場合、前記拡張デバイスを備える前記拡張カードを切り離し、
前記拡張カード組み込み手順は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張カードが復旧したか否かを判定する、付記12から14のいずれかに記載のプログラム。
(付記16)
拡張カード切り離し手順、及び拡張カード組み込み手順を含み、
前記拡張デバイス毎の拡張カードの切り離しに関する優先度と、拡張カード切り離し閾値とを使用し、
前記拡張カード切り離し閾値は、障害が発生した拡張デバイスを備える拡張カードを切り離すか否かを判定するための閾値であり、
前記拡張カード切り離し手順は、前記復旧判定手順により復旧に失敗したと判定された前記拡張デバイスの前記優先度が、前記拡張カード切り離し閾値を超える場合、前記拡張デバイスを含む拡張カードを切り離し、
前記拡張カード組み込み手順は、前記拡張カードの復旧処理後、前記復旧処理後の拡張カードを前記メインユニットに組み込み、
前記復旧判定手順は、組み込んだ拡張カードが復旧したか否かを判定する、付記12から15のいずれかに記載のプログラム。
(付記17)
付記12から16のいずれかに記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【0071】
本発明によれば、複数の拡張デバイスを備える拡張カードを備えるシステムにおいて、拡張デバイス単位での障害の検出及び復旧が可能となる。このため、本発明によれば、例えば、拡張デバイスの障害発生によるシステム全体への影響をより局所化できるため、システムの可用性を向上できる。したがって、本発明は、例えば、コンピュータシステムに関する広範な分野において好適に利用可能である。
【符号の説明】
【0072】
10、10A 調停装置
11 障害検出部
12 拡張デバイス切り離し部
13 拡張デバイス組み込み部
14 復旧判定部
15 拡張カード切り離し部
16 拡張カード組み込み部
20 障害復旧システム装置
21 メインユニット
22 バス
23 拡張カード(PCIカード)
101 中央演算処理装置(CPU)
102 メモリ
103 バス
104 入力装置
105 表示装置
106 通信デバイス
107 記憶装置(記憶部)