(57)【特許請求の範囲】
【請求項１】
共有ディスクと、複数のコンピュータとを有し、当該複数のコンピュータがハートビートにより相互の状態監視を行うシステムにおける入出力要求制御方式であって、
前記複数のコンピュータのそれぞれは、
前記共有ディスクへの入出力要求を受信する受信手段と、
時刻を保持する時刻保持部と、
前記時刻保持部が有する時刻の進行に遅延が生じている場合に、自コンピュータに実装されるＯＳに高負荷がかかっていると判断し、受信した前記共有ディスクへの入出力要求を遮断する遮断手段とを備えたことを特徴とする入出力要求遮断方式。
【請求項２】
前記時刻保持部は、
前記ＯＳが時刻管理するOS時計と、
ハードウェアが時刻管理するHW時計とを備えることで２種類の時刻を保持し、
前記遮断手段は、前記ＯＳ時計による時刻の進行が、前記ＨＷ時計による時刻の進行に比べて遅延した場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする請求項１記載の入出力要求遮断方式。
【請求項３】
前記複数のコンピュータのそれぞれは、
前記ＯＳ時計が基準にした所定の時間間隔で起動され、前記ＨＷ時計を基準にした現在の実時刻を記憶領域に書込むカウンタ更新手段をさらに備え、
前記遮断手段は、前記共有ディスクへの入出力要求を受信した時の前記ＨＷ時計を基準とした実時刻と前記記憶領域内の実時刻との差が所定の基準時間を超える場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする請求項２記載の入出力要求遮断方式。
【請求項４】
共有ディスクと、複数のコンピュータとを有し、当該複数のコンピュータがハートビートにより相互の状態監視を行うシステムにおける入出力要求遮断方法であって、
前記複数のコンピュータのそれぞれが、前記共有ディスクへの入出力要求を受信する受信ステップと、
時刻を保持する時刻保持ステップと、
前記時刻保持ステップにおいて保持する時刻の一方に遅延が生じている場合に、自コンピュータに実装されるＯＳに高負荷がかかっていると判断し、前記受信ステップで受信した前記共有ディスクへの入出力要求を遮断する遮断ステップとを含むことを特徴とする入出力要求遮断方法。
【請求項５】
前記時刻保持ステップは、
前記ＯＳが時刻管理をしているＯＳ時計の時刻と、
ハードウェアが時刻管理をしているＨＷ時計の時刻とを保持し、
前記遮断ステップは、
前記ＯＳ時計による時刻の進行が、前記ＨＷ時計による時刻の進行に比べて遅延した場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする請求項４記載の入出力要求遮断方法。
【請求項６】
前記複数のコンピュータのそれぞれは、
前記ＯＳ時計が基準にした所定の時間間隔で起動され、前記ＨＷ時計を基準とした現在の実時刻を記憶領域に書込むカウンタ更新ステップをさらに含み、
前記遮断ステップは、前記共有ディスクへの入出力要求を受信した時の前記ＨＷ時計を基準とした実時刻と前記記憶領域内の実時刻との差が所定の基準時間を超える場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする請求項５記載の入出力要求遮断方法。
【請求項７】
共有ディスクと、複数のコンピュータとを有し、当該複数のコンピュータがハートビートにより相互の状態監視を行うシステムにおける前記複数のコンピュータのそれぞれに、
前記共有ディスクへの入出力要求を受信する受信処理と、
時刻を保持する時刻保持処理と、
前記時刻保持処理において保持した時刻の一方に遅延が生じている場合に、自コンピュータに実装されるＯＳに高負荷がかかっていると判断し、前記受信処理で受信した前記共有ディスクへの入出力要求を遮断する遮断処理とを前記複数のコンピュータのそれぞれに実行させるプログラムを記録した記録媒体。
【請求項８】
前記時刻保持処理は、
前記ＯＳが時刻管理するＯＳ時計の時刻と、
ハードウェアが時刻管理するＨＷ時計の時刻とを保持し、
前記遮断処理は、
前記ＯＳ時計による時刻の進行が、前記ＨＷ時計による時刻の進行に比べて遅延した場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする請求項７記載の記録媒体。
【請求項９】
前記複数のコンピュータのそれぞれに、
前記ＯＳ時計が基準にした所定の時間間隔で起動され、前記ＨＷ時計を基準にした現在の実時刻を記憶領域に書込むカウンタ更新処理をさらに実行させ、
前記遮断処理は、前記共有ディスクへの入出力要求を受信した時の前記ＨＷ時計を基準とした実時刻と前記記憶領域内の実時刻との差が所定の基準時間を超える場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする請求項８記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入出力要求遮断方式、入出力要求遮断方法および入出力要求遮断用プログラムを記録した記録媒体に関し、特に、ＯＳが高負荷の場合に入出力要求を遮断する入出力要求遮断方式、入出力要求遮断方法および入出力要求遮断用プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
クラスタシステムは、図６のようにコンピュータ７００と、コンピュータ７００を二重化したコンピュータ８００と、共有ディスク装置９００とから構成される場合が多く、コンピュータ７００上の監視プログラム７２０とコンピュータ８００上の監視プログラム８２０との間のハートビート信号の送受信により、コンピュータ間相互の状態監視を行っている。
【０００３】
また、コンピュータ７００上では、アプリケーション７１０により発行された共有ディスク装置９００への入出力要求は、ＯＳ７３０経由でフィルタ７４０に転送され、フィルタ７４０では、下位のドライバ７５０に入出力要求を転送するか否かの判断が行われる。通常、正常運転時には、入出力要求は全てドライバ７５０に転送され、共有ディスク装置９００への入出力処理が行われる。
【０００４】
【発明が解決しようとする課題】
しかし、従来の技術では、ハートビート信号の受信が遅延した場合、監視プログラム８２０はコンピュータ７００に障害が発生したと認識し、アプリケーション８１０を起動して共有ディスク装置９００への入出力要求を発行する（図７参照）。しかし、コンピュータ７００のＯＳ７３０は高負荷であるが動作しているため、アプリケーション７２０から共有ディスク装置９００への入出力要求が発行された場合には入出力処理が行われる。この場合、両方のコンピュータから共有ディスク装置９００への入出力処理が行われるので、共有ディスク装置９００内のデータが破壊されるという問題が生じている。
【０００５】
本発明の目的は、ＯＳに高負荷がかかり動作が遅くなった場合に、共有ディスク装置９００への入出力要求を遮断する入出力要求遮断方式を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の第１の入出力要求遮断方式は、共有ディスクと、複数のコンピュータとを有し、当該複数のコンピュータがハートビートにより相互の状態監視を行うクラスタシステムにおいて、前記複数のコンピュータのそれぞれは、前記共有ディスクへの入出力要求を受信する受信手段と、自コンピュータに実装されるＯＳに高負荷がかかっている場合には、受信した前記共有ディスクへの入出力要求を遮断する遮断手段とを備えたことを特徴とする。
【０００７】
本発明の第２の入出力要求遮断方式は、第１の入出力要求遮断方式において、前記複数のコンピュータのそれぞれは、前記ＯＳが時刻管理する時計であるＯＳ時計をさらに備え、前記遮断手段は、前記ＯＳ時計の進みが遅れた場合には、前記ＯＳに高負荷がかかっていると認識し、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする。
【０００８】
本発明の第３の入出力要求遮断方式は、第２の入出力要求遮断方式において、前記複数のコンピュータのそれぞれは、前記ＯＳ時計を基準にした所定の時間間隔で起動され、現在の実時刻を記憶領域に書込む更新手段と、前記遮断手段は、前記共有ディスクへの入出力要求を受信したときの実時刻と前記記憶領域内の実時刻との差が所定の基準時間を超える場合には、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする。
【０００９】
本発明の第１の入出力要求遮断方法は、共有ディスクと、複数のコンピュータとを有し、当該複数のコンピュータがハートビートにより相互の状態監視を行うクラスタシステムにおいて、前記複数のコンピュータのそれぞれが、前記共有ディスクへの入出力要求を受信する受信ステップと、前記複数のコンピュータのそれぞれが、自コンピュータに実装されるＯＳに高負荷がかかっている場合には、前記受信ステップで受信した前記共有ディスクへの入出力要求を遮断する遮断ステップとを含むことを特徴とする。
【００１０】
本発明の第２の入出力要求遮断方法は、第１の入出力要求遮断方法において、前記遮断ステップは、前記ＯＳが時刻管理する時計であるＯＳ時計の進みが遅れた場合には、前記ＯＳに高負荷がかかっていると認識し、前記受信ステップで受信した前記共有ディスクへの入出力要求を遮断することを特徴とする。
【００１１】
本発明の第３の入出力要求遮断方法は、第２の入出力要求遮断方法において、前記複数のコンピュータのそれぞれは、前記ＯＳ時計を基準にした所定の時間間隔で起動され、現在の実時刻を記憶領域に書込む更新ステップをさらに含み、前記遮断ステップは、前記共有ディスクへの入出力要求を受信したときの実時刻と前記記憶領域内の実時刻との差が所定の基準時間を超える場合には、受信した前記共有ディスクへの入出力要求を遮断することを特徴とする。
【００１２】
本発明の第１の記録媒体は、共有ディスクと、複数のコンピュータとを有し、当該複数のコンピュータがハートビートにより相互の状態監視を行うクラスタシステムにおいて、前記共有ディスクへの入出力要求を受信する受信処理を前記複数のコンピュータのそれぞれに実行させ、自コンピュータに実装されるＯＳに高負荷がかかっている場合には、前記受信処理で受信した前記共有ディスクへの入出力要求を遮断する遮断処理を前記複数のコンピュータのそれぞれに実行させるプログラムを記録したことを特徴とする。
【００１３】
本発明の第２の記録媒体は、第１の記録媒体において、前記遮断処理は、前記ＯＳが時刻管理する時計であるＯＳ時計の進みが遅れた場合には、前記ＯＳに高負荷がかかっていると認識し、前記受信処理で受信した前記共有ディスクへの入出力要求を遮断することを特徴とする。
【００１４】
本発明の第３の記録媒体は、第２の記録媒体において、前記ＯＳ時計を基準にした所定の時間間隔で起動され、現在の実時刻を記憶領域に書込むカウンタ更新処理を前記複数のコンピュータのそれぞれに実行させ、前記遮断処理は、前記共有ディスクへの入出力要求を受信したときの実時刻と前記記憶領域内の実時刻との差が所定の基準時間を超える場合には、受信した前記共有ディスクへの入出力要求を遮断するプログラムを記録したことを特徴とする。
【００１５】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【００１６】
まず、本発明の第１の実施の形態について詳細に説明する。
【００１７】
図１を参照すると、本発明の第１の実施の形態であるコンピュータ１００は、カウンタ更新手段１０と、受信手段１１と、遮断手段１２と、ＨＷ時計２０と、ＯＳ時計２１と、カウンタ情報２２と、カウンタ情報更新間隔時間２３と、高負荷基準時間２４とから構成されている。
【００１８】
ＨＷ時計２０は、コンピュータ１００のハードウェアが時刻管理する時計であり、コンピュータ１００上で実行される処理の負荷により影響を受けず、実時刻を保持するものである。
【００１９】
ＯＳ時計２１は、コンピュータ１００に実装されるＯＳが時刻管理する時計である。当該時計は、ＯＳにかかる負荷により影響を受け、高負荷となる場合には、時計の進みが遅れる。
【００２０】
カウンタ情報２２は、カウンタ２２−１と、当該カウンタ２２−１を更新した時刻を示す更新時刻２２−２とからなる（図２参照）。
【００２１】
カウンタ情報更新間隔時間２３は、カウンタ情報２２の更新間隔時間を示す。
【００２２】
カウンタ更新手段１０は、ＯＳ時計２１で示された時刻を基準にしてカウンタ情報更新間隔時間２３で示された間隔毎に起動され、カウンタ情報２２を更新する。更新時刻２２−２には、ＨＷ時計２０で示された時刻を基準にした更新時刻が書込まれる。
【００２３】
受信手段１１は、共有ディスク装置９００への入出力要求を受信する。
【００２４】
高負荷基準時間２４は、ＯＳが高負荷であるか否かを判断するための基準時間を示すものであり、カウンタ情報更新間隔時間２３よりも大きい値が設定される。
【００２５】
遮断手段１２は、入出力要求を受信した場合に起動され、ＨＷ時計２０から現在の実時刻を取得し、取得した実時刻と更新時刻２２−２とを比較し、その差が高負荷基準時間２４以下である場合は、入出力処理を行う手段を起動し、その差が高負荷基準時間２４より大きい場合には、受信した入出力要求を遮断する。
【００２６】
次に、図１〜図４を参照して本実施の形態の全体の動作について詳細に説明する。
【００２７】
まず、図３を参照してカウンタ情報２２の更新処理について説明する。
【００２８】
ＯＳ時計２１で示された時刻を基準にしてカウンタ情報更新間隔時間２３で示された間隔毎にカウンタ更新手段１０が起動される（ステップＳ１）。
【００２９】
例えば、カウンタ情報更新間隔時間２３が３０秒を示していれば、ＯＳ時計２１を基準にして００：００：００、００：００：３０、００：０１：００のように３０秒間隔でカウンタ更新手段１０が起動される。
【００３０】
起動されたカウンタ更新手段１０は、カウンタ２２−１を更新する（ステップＳ２）とともに、ＨＷ時計２０で示された時刻を基準にして更新時刻２２−２が書込まれる（ステップＳ３）。
【００３１】
例えば、カウンタ２２−１は、１、２、３のように値をアップしていき、更新時刻２２−２は、ＨＷ時計２０を基準にして００：００：００、００：００：３０、００：０１：００のようにカウンタ２２−１を更新した時刻が書き込まれる。
【００３２】
ここで、カウンタ更新手段１０はＯＳ時計２１を基準にしてカウンタ情報更新間隔時間２３に示された時間で一定間隔毎に起動され、カウンタ情報２２を更新するので、通常の場合は、ＯＳ時計２１を基準にしたカウンタ更新手段１０が起動される間隔と、ＨＷ時計２０を基準にしたカウンタがアップされている間隔とは一致する。
【００３３】
しかし、ＯＳに高負荷がかかっている場合には、ＯＳ時計２１を基準にしたカウンタ更新手段１０が起動される間隔と、ＨＷ時計２０を基準にしたカウンタがアップされている間隔とは一致しなくなる。ＯＳに高負荷がかかると、ＯＳ時計２１の進みが遅れ、ＯＳ時計２１を基準にした時間間隔が３０秒であっても、実時間に換算すると３０秒を超えてしまうからである。
【００３４】
逆に言えば、更新時刻２２−２が３０秒を超えた間隔で更新されている場合には、ＯＳに負荷がかかっていると判断することができる。
【００３５】
次に、図４を参照して共有ディスク装置９００への入出力要求を受信した場合の処理について説明する。
【００３６】
受信手段１１が共有ディスク装置９００への入出力要求を受信する（ステップＳ１）と、遮断手段１３０は、ＨＷ時計２０から現在の実時刻を取得し（ステップＳ２）、取得した現在の実時刻と更新時刻２２−２とを比較する（ステップＳ３）。
【００３７】
取得した現在の実時刻と更新時刻２２−２との差が高負荷基準時間２４以下である場合は、入出力処理を行う手段を起動して入出力処理を実行し（ステップＳ５）、その差が高負荷基準時間２４より大きい場合には、受信した入出力要求を遮断する（ステップＳ４）。
【００３８】
例えば、ＨＷ時計２０から取得した現在の実時刻が０６：００：１５、更新時刻２２−２が０６：００：００、高負荷基準時間２４が４０秒を示しているときは、取得した現在の実時刻と更新時刻２２−２との差が１５秒であり、高負荷基準時間２４以下となるので、入出力処理を行う手段を起動して入出力処理を実行する。
【００３９】
また、ＨＷ時計２０から取得した現在の実時刻が０６：００：４５、更新時刻２２−２が０６：００：００、高負荷基準時間２４が４０秒のときは、取得した現在の実時刻と更新時刻２２−２との差が４５秒であり、高負荷基準時間２４を超えることになるので、受信した入出力要求を遮断する。
【００４０】
これは、更新時刻２２−２が０６：００：００であり、本来的には、３０秒後の０６：００：３０にカウンタ２２−１が更新されるべきところ更新されてなく、高負荷であると判断するための基準時間である高負荷基準時間２４を超えているのでＯＳに高負荷がかかっていると判断することができるからである。
【００４１】
次に、本発明の第２の実施の形態について図面を参照して説明する。
【００４２】
図５を参照すると、本発明の第２の実施の形態は、入出力要求遮断用プログラムを記録した記録媒体２００を備える。この記録媒体２００はフロッピーディスク、磁気ディスク、半導体メモリその他の記録媒体であってよい。入出力要求遮断用プログラムは、記録媒体２００から読み込まれ、コンピュータ１００の動作を制御する。コンピュータ１００は入出力要求遮断用プログラムの制御により上述の処理、すなわち第１の実施の形態における処理と同一の処理を実行する。
【００４３】
【発明の効果】
以上説明したように、本発明の入出力要求遮断方式によれば、ＯＳに高負荷がかかり動作が遅くなった場合に、共有ディスク装置への入出力要求を遮断することができるので、共有ディスク装置内のデータ破壊を防ぐことができるという効果を奏することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の構成を示すブロック図である。
【図３】本発明の第１の実施の形態の動作を示す流れ図である。
【図４】本発明の第１の実施の形態の動作を示す流れ図である。
【図５】本発明の第２の実施の形態の構成を示すブロック図である。
【図６】従来の技術の構成を示すブロック図である。
【図７】従来の技術の構成を示すブロック図である。
【符号の説明】
１０    カウンタ更新手段
１１    受信手段
１２    遮断手段
２０    ＨＷ時計
２１    ＯＳ時計
２２    カウンタ情報
２２−１    カウンタ
２２−２    更新時刻
２３    カウンタ情報更新間隔時間
２４    高負荷基準時間
１００    コンピュータ
２００    記録媒体
７００    コンピュータ
７１０    アプリケーション
７２０    監視プログラム
７３０    ＯＳ
７４０    フィルタ
７５０    ドライバ
８００    コンピュータ
８１０    アプリケーション
８２０    監視プログラム
８３０    ＯＳ
８４０    フィルタ
８５０    ドライバ
９００    共有ディスク装置
【図１】
0003785931.tif 000002
【図２】
0003785931.tif 000003
【図３】
0003785931.tif 000004
【図４】
0003785931.tif 000005
【図５】
0003785931.tif 000006
【図６】
0003785931.tif 000007
【図７】
0003785931.tif 000008