(57)【要約】【課題】従来は、高速にホットスタンバイ切替処理を実行する技術を提供することができなかった。【解決手段】本発明の一実施形態の計算機では、記憶部と、ドライバ手段とアクセス制御手段とを実行する制御部とを有する。ドライバ手段は、システムを起動したときに、共有ディスク装置内の構成情報を取得し、構成情報に基づいて、共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定しておく。また、共有ディスク装置に対するアクセス要求を受信したときに、共有ディスク装置にアクセス要求を送信する。アクセス制御手段は、アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求をドライバ手段に送信する。【選択図】　図５
2004102852.tif 000002
【特許請求の範囲】
【請求項１】
運用系切替により、運用系と待機系との運用が可能な複数の計算機と、該計算機によりアクセスされるデータを格納する共有ディスク装置とを有する計算機システムであって、
前記計算機は、
記憶部と、制御部とを有し、
前記制御部は、
システムを起動したときに、前記共有ディスク装置内の構成情報を取得し、該構成情報に基づいて、該共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定しておき、該共有ディスク装置に対するアクセス要求を受信したときに、該共有ディスク装置にアクセス要求を送信するドライバ手段と、
アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求を前記ドライバ手段に送信するアクセス制御手段とを実行する計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記アクセス制御手段は、
該計算機が待機系で運用している場合であって運用系計算機に障害が発生したときは、実行するアプリケーションプログラムによるアクセス先に対するアクセス要求を禁止するように前記管理テーブルに登録することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
さらに、オペレータにより入力された運用系切替コマンドを前記計算機に対して送信するコンソールとを有し、
前記アクセス制御手段は、
該計算機が待機系で運用している場合であって前記系切替コマンドを受信したときは、実行するアプリケーションプログラムによるアクセス先に対するアクセス要求を禁止するように前記管理テーブルに登録することを特徴とする計算機システム。
【請求項４】
請求項２又は３に記載の計算機システムであって、
前記アクセス要求として、少なくともライトを禁止するように前記管理テーブルに登録することを特徴とする計算機システム。
【請求項５】
請求項１の計算機システムであって、
前記管理テーブルには、アクセス先ごとの禁止するリード又はライトのアクセス要求を示しており、
前記アクセス制御手段は、前記管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたリード又はライトのアクセス要求を送信するかどうかを判定し、リード又はライトが禁止されていないアクセス先へのアクセス要求であるときはリード又はライトのアクセス要求を前記ドライバ手段に送信することを特徴とする計算機システム。
【請求項６】
請求項１の計算機システムであって、
前記管理テーブルには、アクセス先ごとの禁止するファイルオープン又はファイルクローズのアクセス要求を示しており、
前記アクセス制御手段は、前記管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたファイルオープン又はファイルクローズのアクセス要求を送信するかどうかを判定し、ファイルオープン又はファイルクローズが禁止されていないアクセス先へのアクセス要求であるときはファイルオープン又はファイルクローズのアクセス要求を前記ドライバ手段に送信することを特徴とする計算機システム。
【請求項７】
請求項１に記載の計算機システムであって、
さらに、オペレータにより入力された、アクセス先ごとに禁止するアクセス要求を登録、削除又は変更するためのコマンドを前記計算機に対して送信するコンソールとを有し、
前記アクセス制御手段は、
前記コマンドを受信したときに、アクセス先ＩＤと、そのアクセス先に対して禁止するアクセス要求の種類とを、前記管理テーブルに登録、削除又は変更することを特徴とする計算機システム。
【請求項８】
請求項１に記載の計算機システムであって、
さらに、オペレータにより入力された管理テーブルの内容を要求するコマンドを前記計算機に対して送信し、該計算機から受信した管理テーブルの内容を出力するコンソールとを有することを特徴とする計算機システム。
【請求項９】
運用系切替により、運用系と待機系との運用が可能な計算機であって、
記憶部と、制御部とを有し、
前記制御部は、
システムを起動したときに、複数の計算機によりデータを共有される共有ディスク装置内の構成情報を取得し、該構成情報に基づいて、該共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定しておき、該共有ディスク装置に対するアクセス要求を受信したときに、該共有ディスク装置にアクセス要求を送信するドライバ手段と、
アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求を前記ドライバ手段に送信するアクセス制御手段とを実行する計算機。
【請求項１０】
計算機を、運用系切替により運用系と待機系との運用ができるように機能させるためのプログラムであって、
システムを起動したときに、複数の計算機によりデータを共有される共有ディスク装置内の構成情報を取得し、該構成情報に基づいて、該共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定するようにドライバ手段に指示する指示手段と、
アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求を前記ドライバ手段に送信する判定手段として前記計算機を機能させるためのプログラム。
【請求項１１】
計算機を、運用系切替により運用系と待機系との運用ができるように機能させるためのプログラムであって、
システムを起動したときに、複数の計算機によりデータを共有される共有ディスク装置内の構成情報を取得し、該構成情報に基づいて、該共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定するようにしておき、該共有ディスク装置に対するアクセス要求を受信したときに、該共有ディスク装置にアクセス要求を送信する送信手段と、
アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求を前記送信手段に送信する判定手段として前記計算機を機能させるためのプログラム。
【請求項１２】
請求項１１のプログラムであって、
さらに、ＯＳとして機能することを特徴とするプログラム。
【請求項１３】
運用系切替により運用系と待機系との運用可能な計算機によるアクセス制御方法であって、
システムを起動したときに、複数の計算機によりデータを共有される共有ディスク装置内の構成情報を取得し、該構成情報に基づいて、該共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定しておき、該共有ディスク装置に対するアクセス要求を受信したときに、該共有ディスク装置にアクセス要求をドライバ手段により送信し、
アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求を前記ドライバ手段に送信するアクセス制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、現用系と待機系およびその共有ディスクから構成されるホットスタンバイシステムに係わり、共有ディスクの高速切替え方式に関する。
【０００２】
【従来の技術】
オンライントランザクションの分野では、可用性向上のため、現用系計算機と、待機系計算機と、共有ディスク装置とから構成されるホットスタンバイのシステム構成が適用されている。
【０００３】
従来のシステム構成のホットスタンバイ切替手順を以下に説明する。
【０００４】
まず、現用系計算機の障害を検出すると、待機系計算機は、共有ディスク装置へのアクセス要求の発行が可能となるように活動化コマンドをデバイスドライバ手段に発行する。次に、デバイスドライバ手段は、ディスク装置にディスク内の構成情報と性能情報とを要求し、受付けたディスク内の構成情報等に基づいて、論理ボリュームごとに物理ディスク内の領域を特定するマップを作成することで、共有ディスクを確保する。
【０００５】
尚、従来のシステム構成のホットスタンバイ切替技術としては、例えば、特許文献１がある。
【０００６】
【特許文献１】
特開平１０−２８９１２２号公報、要約
【０００７】
【発明が解決しようとする課題】
従来のホットスタンバイ技術では、計算機は、障害を検出した後に、共有ディスク装置からディスク内の構成情報等を受付けて、その情報に基づいて、ディスクの確保を実施していた。
【０００８】
従って、ホットスタンバイ切替処理に長時間かかっていたため、アプリケーションプログラムの実行待機状態・処理遅延状態が生じ、さらに、障害計算機によるアクセスが生じることによりデータ破壊等が生じる可能性があった。
【０００９】
本発明の目的は、高速にホットスタンバイ切替処理を実行する技術を提供することにある。
【００１０】
【課題を解決するための手段】
本発明の一実施形態の計算機システムでは、運用系切替により、運用系と待機系との運用が可能な複数の計算機と、計算機によりアクセスされるデータを格納する共有ディスク装置とを有する。この計算機は、記憶部と、ドライバ手段とアクセス制御手段とを実行する制御部とを有する。このドライバ手段は、システムを起動したときに、共有ディスク装置内の構成情報を取得し、構成情報に基づいて、共有ディスク装置に対するアクセス要求を送信することができる活動状態に設定しておく。また、共有ディスク装置に対するアクセス要求を受信したときに、共有ディスク装置にアクセス要求を送信する。また、アクセス制御手段は、アクセス先ごとに禁止するアクセス要求を示した管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたアクセス要求を送信するかどうかを判定し、禁止されていないアクセス先へのアクセス要求をドライバ手段に送信する。
【００１１】
また、上述した実施形態では、アクセス制御手段は、計算機が待機系で運用している場合であって運用系計算機に障害が発生したときは、実行するアプリケーションプログラムによるアクセス先に対するアクセス要求を禁止するように管理テーブルに登録するようにすることが好ましい。
【００１２】
また、上述した実施形態では、さらに、オペレータにより入力された運用系切替コマンドを計算機に対して送信するコンソールとをすることが好ましい。また、アクセス制御手段は、計算機が待機系で運用している場合であって系切替コマンドを受信したときは、実行するアプリケーションプログラムによるアクセス先に対するアクセス要求を禁止するように管理テーブルに登録することが好ましい。
【００１３】
さらに、アクセス制御手段は、前記アクセス要求として、少なくともライトを禁止するように前記管理テーブルに登録することが好ましい。
【００１４】
また、上述した実施形態では、管理テーブルには、アクセス先ごとの禁止するリード又はライトのアクセス要求を示していることが好ましい。また、アクセス制御手段は、管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたリード又はライトのアクセス要求を送信するかどうかを判定し、リード又はライトが禁止されていないアクセス先へのアクセス要求であるときはリード又はライトのアクセス要求をドライバ手段に送信することが好ましい。
【００１５】
また、上述した実施形態では、管理テーブルには、アクセス先ごとの禁止するファイルオープン又はファイルクローズのアクセス要求を示していることが好ましい。さらに、アクセス制御手段は、管理テーブルに基づいて、アプリケーションプログラムを実行することにより発行されたファイルオープン又はファイルクローズのアクセス要求を送信するかどうかを判定し、ファイルオープン又はファイルクローズが禁止されていないアクセス先へのアクセス要求であるときはファイルオープン又はファイルクローズのアクセス要求を前記ドライバ手段に送信することが好ましい。
【００１６】
また、上述した実施形態では、さらに、オペレータにより入力された、アクセス先ごとに禁止するアクセス要求を登録、削除又は変更するためのコマンドを前記計算機に対して送信するコンソールとを有することが好ましい。さらに、アクセス制御手段は、コマンドを受信したときに、アクセス先ＩＤと、そのアクセス先に対して禁止するアクセス要求の種類とを、管理テーブルに登録、削除又は変更することが好ましい。
【００１７】
また、上述した実施形態では、さらに、オペレータにより入力された管理テーブルの内容を要求するコマンドを前記計算機に対して送信し、計算機から受信した管理テーブルの内容を出力するコンソールとを有することが好ましい。
【００１８】
【発明の実施の形態】
図１は、本発明の一実施形態である計算機システムの構成図である。
【００１９】
この計算機システムは、現用系計算機（１０００）と、待機系計算機（２０００）と、共有ディスク装置（３０００）と、コンソール（４０００）とを有する。
【００２０】
現用系計算機（１０００）と待機系計算機（２０００）は、それぞれ、プロセッサ（１５００、２５００）と、メモリ（１６００、２６００）と、ＳＶＰ（Ｓｅｒｖｉｃｅ　Ｐｒｏｃｅｓｓｏｒ）（１７００、２７００）と、入出力インタフェース（以下、Ｉ／Ｆ）（１８００、２８００）と、主記憶装置（１６５０、２６５０）と、系切替制御手段（１１００、２１００）と、アクセス制御手段（１２００、２２００）と、ＯＳ（オペレーティングシステム）（１３００、２３００）と、デバイスドライバ手段（１４００、２４００）とを有する。
【００２１】
共有ディスク装置（３０００）は、現用系計算機（１０００）及び待機系計算機（２０００）のアプリケーションプログラム（１４１０、２４１０）を実行することによりアクセスされるデータを、一又は複数のボリューム単位で格納している。尚、ここで、ボリューム単位とは、物理ディスク等の物理的な単位であっても、ファイル等の論理的な単位であってもよい。
【００２２】
コンソール（４０００）は、ＳＶＰ（１７００、２７００）に接続されており、オペレータにより入力されたコマンドを受付け、受付けたコマンドに応じて、計算機（１０００、２０００）内のいずれかの手段に対して、コマンドを発行する。
【００２３】
ここで、系切替制御手段（１１００、２１００）と、アクセス制御手段（１２００、２２００）と、ＯＳ（１３００、２３００）と、デバイスドライバ手段（１４００、２４００）として機能させる為のプログラムは、ＲＯＭ等の記録媒体に記録され、主記憶装置（１６５０）に格納された後、メモリ（１６００、２６００）にロードされてプロセッサ（１５００、２５００）により実行されるものとする。プログラムを記録する媒体は、ＣＤ−ＲＯＭ以外の他の記憶媒体でも良い。また、プログラムは、当該記憶媒体からメモリ（１６００、２６００）にインストールしても良いし、ネットワークを通じて当該記憶媒体にアクセスしてプログラムを使用するものとしても良い。尚、系切替制御手段（１１００、２１００）と、アクセス制御手段（１２００、２２００）と、ＯＳ（１３００、２３００）と、デバイスドライバ手段（１４００、２４００）として機能させる為のハードウエア構成を現用系計算機（１０００）又は待機系計算機（２０００）のプロセッサ（１５００、２５００）とは独立して備えるようにしてもよい。
【００２４】
系切替制御手段（１１００、２１００）は、現用系計算機（１０００）あるいは待機系計算機（２０００）の障害を検出し、後述するホットスタンバイ切替処理をするように指示する。尚、系状態としては、ホットスタンバイシステムでは、以下の大きくは以下の３状態に分類される。実際にサービスを提供している現用系状態と、サービスは提供していないが、現用系で障害が発生すると、直ちに処理を引き継げる状態待機状態と、障害状態であるオフライン状態とである。
【００２５】
系切替制御手段（１１００、２１００）は、各々一定間隔でａｌｉｖｅメッセージを送信し、もう片方の系がそれを受信する。現用系計算機（１０００）で障害が発生するとａｌｉｖｅメッセージが送信されなくなる。このとき、待機系の系切替制御手段（１１００、２１００）は、現用系計算機（１０００）で障害が発生したことを検出し、後述するホットスタンバイ切替制御を実行する。
【００２６】
アクセス制御手段（１２００、２２００）は、アプリケーションプログラム（１４１０、２４１０）を実行することによりアクセスされる特定のボリュームに対するアクセス要求の態様を、管理テーブル（１２９５、２２９５）に従って制御する。ここで、アクセス要求とは、例えば、リード要求、ライト要求、ファイルオープン要求やファイルクローズ要求がある。また、アクセス要求の態様とは、アクセス要求をデバイスドライバ手段（１４００、２４００）に発行することを許可するか禁止するかの態様をいい、例えば、リードとライトともに許可又は（以下、／と示す。）禁止、リードは許可／禁止であるがライトは禁止／許可するような態様が考えられる。尚、共有ディスク装置（３０００）を構成するボリュームをグループ化し、各グループに固有のグループＩＤを割当てて、クループ単位でアクセス要求を制限してもよい。
【００２７】
ＯＳ（１３００、２３００）は、アプリケーションプログラム（１４１０、２４１０）から発行されるアクセス要求と図８に示すデバイススイッチテーブルとに基づいて、アクセス要求の発行先を特定する。デバイススイッチテーブルとは、アクセス要求先のボリュームＩＤと、アクセス要求の態様との組合せごとに、アクセス要求の発行先を示すテーブルである。アクセス要求の発行先には、もともとデバイスドライバ手段（１４００、２４００）のアドレス（図８中ドライバＩＤ）が示されているが、後述するように、アクセス態様登録手段（１２１０、２２１０）により登録されたボリュームＩＤとアクセス要求の態様との組合せには、アクセス制御手段（１２００、２２００）のアドレス（図８中アクセスＩＤ）が示されている。
【００２８】
また、ＯＳ（１３００、２３００）は、活動状態／非活動状態となるように活動化コマンド／非活動化コマンドをデバイスドライバ手段（１４００、２４００）に発行する。尚、コンソールは、オペレータにより入力された活動化コマンド／非活動化コマンドを受付けることができる。また、活動状態／非活動状態についての詳細は、図４を用いて説明する。
【００２９】
デバイスドライバ手段（１４００、２４００）は、ディスク内の構成情報と、ディスク内の構成要素ごとの性能情報を取得し、アクセス要求をディスク内のどの物理領域に割当てるかを示す変換マップを作成し、保持する。
【００３０】
デバイスドライバ手段（１４００、２４００）は、アクセス要求をＯＳ（１３００、２３００）又はアクセス制御手段（１２００、２２００）から受信すると、アクセス要求と、ディスク内の構成情報と、ディスク内の構成要素ごとの性能情報とに基づいて、アクセス要求をディスク内の物理領域を割当て、共有ディスク装置（３０００）に発行する。
【００３１】
図２は、アクセス制御手段（１２００、２２００）の構成を示す図である。
【００３２】
アクセス制御手段（１２００、２２００）は、アクセス態様登録手段（１２１０、２２１０）と、アクセス態様取得手段（１２７０、２２７０）、アクセス態様判定手段（１２９０、２２９０）と、管理テーブル（１２９５、２２９５）とからなる。
【００３３】
アクセス態様登録手段（１２１０、２２１０）は、管理テーブル（１２９５、２２９５）に、ボリュームのＩＤを登録・削除し、登録したボリュームＩＤごとのアクセス要求の態様を登録・変更する。尚、アクセス態様登録手段（１２１０、２２１０）は、共有ディスク装置（３０００）にボリュームが新たに定義された場合や物理ディスクが追加された場合等は、ボリュームＩＤとそのアクセス要求の態様を、コンソールを介して受付けることができる。また、複数のボリュームにグループＩＤを指定することにより、グループ単位でボリュームを登録・削除し、グループ単位でアクセス要求の態様の登録・変更をすることもできる。
【００３４】
アクセス態様取得手段（１２７０、２２７０）は、コンソール（４０００）又はプロセッサ（１５００、２５００）からの問合せに応じ、指定されたボリューム又はグループのアクセス要求の態様をコンソール（４０００）に返す。コンソール（４０００）は、受信したボリューム又はグループのアクセス要求の態様を出力する。
【００３５】
アクセス態様判定手段（１２９０、２２９０）は、ＯＳ（１３００、２３００）からのアクセス要求と管理テーブル（１２９５、２２９５）とに基づいて、デバイスドライバ手段（１４００、２４００）にアクセス要求を発行するかどうかを判定する。例えば、アクセス要求がリードを許可／禁止しているボリュームに対してである場合、デバイスドライバ手段（１４００、２４００）からのアクセスを許可／禁止する。また、アクセス要求がライトを許可／禁止しているボリュームに対してである場合、デバイスドライバ手段（１４００、２４００）へのアクセスを許可／禁止する。アクセス要求がいずれのアクセス態様も許可していないボリュームに対してである場合、デバイスドライバ手段（１４００、２４００）との間のアクセスを禁止する。
【００３６】
管理テーブル（１２９５、２２９５）は、図９に示すように、ボリュームＩＤとアクセス要求との組合せごとのアクセス要求の態様を示すテーブルである。尚、複数のボリュームにグループＩＤを指定することにより、グループ単位でアクセス要求の態様を記録することもできる。管理テーブルへは、ボリュームＩＤとそのアクセス要求との組合せごとに登録することができる。例えば、図９では、Ｖｏｌ３のボリュームＩＤにおいては、ファイルオープンのアクセス要求は登録されているが、リード及びライト要求は登録されていない（図９中「−」で示してある。）。また、図８に示すデバイススイッチテーブルにはＶｏｌ４のボリュームＩＤがあるが、図９の管理テーブルには登録されていない。尚、図９では、アクセス要求の態様として、許可する場合と禁止する場合の双方を登録してあるが、禁止する場合のみ登録するようにしてもよい。
【００３７】
図３は、共有ディスク装置（３０００）の構成図である。
【００３８】
ＶＧ００（３１０１）、ＶＧ０１（３１０２）、ＶＧ０２（３１０３）、ＶＧ０３（３２０１）、ＶＧ０４（３２０２）、ＶＧ０５（３３０１）、ＶＧ０６（３３０２）の７つのボリュームを３つのグループに分類し、各グループに０〜２のＩＤを割り当て、それぞれアクセス要求の態様を設定した例を示している。尚、ボリューム単位でＩＤを割当ててもよい。
【００３９】
グループＩＤ＝０のグループ（３１００）はリードおよびライトを許可しており、リード、ライト共に通常通りに行われる。
【００４０】
また、グループＩＤ＝１のグループ（３２００）は、ライトのみ禁止しており、リード処理は通常通り行われ、ライトは失敗する。
【００４１】
グループＩＤ＝２のグループ（３３００）はリードとライト共に禁止されており、リード／ライト処理は失敗する。
【００４２】
図４は、ボリュームの状態遷移を示す図である。
【００４３】
ボリュームの状態は、管理対象外状態（５１００）と管理対象内状態（５２００）に分けられる。
【００４４】
管理対象外状態（５１００）は、さらに、活性状態と非活性状態とに分類される。
【００４５】
ここで、活性状態と非活性状態との遷移手順を示す。
【００４６】
まず、非活性状態から活性状態への遷移手順を示す。
【００４７】
非活動状態で、デバイスドライバ手段（１４００、２４００）は、ＯＳ（１３００、２３００）から活動化コマンドを受信すると、共有ディスク装置（３０００）からディスク内の構成情報と性能情報とを要求する。受信したデバイスドライバ手段（１４００、２４００）は、ディスク内の構成情報と性能情報とに基づいて、ボリュームごとに割当てる物理的領域を示す変換マップを作成し、メモリ（１６００、２６００）に記憶する。これにより、デバイスドライバ手段（１４００、２４００）は、アクセス要求を受けた場合に、作成した変換マップに基づいて、共有ディスク装置（３０００）にアクセス要求を発行することができる。この状態を活性状態という。
【００４８】
次に、活性状態から非活性状態への遷移手順を示す。
【００４９】
活動状態で、デバイスドライバ手段（１４００、２４００）は、ＯＳ（１３００、２３００）から非活動化コマンドを受信すると、メモリ（１６００、２６００）に記憶された変換マップを破棄する。これにより、デバイスドライバ手段（１４００、２４００）は、アクセス要求を受けた場合であっても、共有ディスク装置（３０００）にアクセス要求を発行することができない。この状態を非活性状態という。
【００５０】
ここで、管理対象外状態（５１００）と管理対象内状態（５２００）との間の遷移手順を示す。
【００５１】
まず、管理対象外状態（５１００）から管理対象内状態（５２００）に遷移させる手順を示す。アクセス態様登録手段（１２１０、２２１０）は、コンソールから指定されたボリュームＩＤとそのアクセス要求の態様を、管理テーブル（１２９５、２２９５）に登録する。また、アクセス態様登録手段（１２１０、２２１０）は、管理テーブル（１２９５、２２９５）に登録したボリュームＩＤとそのアクセス要求の態様に該当するアクセス要求先アドレスにアクセス態様登録手段（１２１０、２２１０）のアドレスを書込む。これにより、ＯＳ（１３００、２３００）は、受信したアクセス要求が、管理テーブル（１２９５、２２９５）に登録したボリュームでかつ登録したアクセス要求の態様である場合には、受信したアクセス要求をアクセス態様登録手段（１２１０、２２１０）に発行する。また、アクセス態様登録手段（１２１０、２２１０）は、管理テーブル（１２９５、２２９５）に従って、受信したアクセス要求をデバイスドライバ手段に発行するかどうかを制御することができる。
【００５２】
このように、アクセス態様登録手段（１２１０、２２１０）は、管理テーブル（１２９５、２２９５）に従って、受信したアクセス要求をデバイスドライバ手段（１４００、２４００）に発行するかどうかを制御することができる状態を管理対象内状態（５２００）という。逆に、管理テーブル（１２９５、２２９５）から登録されたボリュームを除外することにより、管理対象内状態（５２００）から管理対象外状態（５１００）へ遷移させることができる。
【００５３】
管理対象内状態（５２００）は、本実施例では、リードとライトともに許可の態様（５２１０）、リードは許可／禁止でライトは禁止／許可の態様（５２２０）、リードとライトともに禁止の態様（５２３０）に分類される。
【００５４】
図５は、アプリケーションプログラムを実行することにより生じるアクセス処理を模式的に説明する為の図である。
【００５５】
アプリケーションプログラム（１４１０）は、実行中にＯＳ（１３００）に対してリード、ライト等のアクセス要求を発行する（処理５６１０）。このとき、アクセス要求には、少なくともボリュームＩＤと、リード／ライト等のアクセス要求の種類とを示す情報が含まれている。
【００５６】
ＯＳ（１３００）は、アプリケーションプログラム（１４１０）からの要求に応じ、デバイススイッチテーブル（１３５０）に基づいて、アクセス先を決定し、アクセス要求を発行する。
ここで、管理テーブル（１２９５、２２９５）に登録されたボリュームに対するアクセス要求である場合は、デバイススイッチテーブル（１３５０）にアクセス制御手段（１２００、２２００）のアドレスが登録されているので、ＯＳ（１３００）は、受信したアクセス要求をアクセス態様登録手段（１２１０）に発行する（処理５６２０）。
【００５７】
アクセス態様判定手段（１２９０）は、管理テーブル（１２９５、２２９５）に基づいて、デバイスドライバ手段（１４００、２４００）にアクセス要求を発行するどうかを判定する。管理テーブル（１２９５、２２９５）にアクセス許可として登録されているボリュームに対するアクセス要求であれば、許可されたアクセス要求の態様で、デバイスドライバ手段（１４００）にアクセス要求を発行する（処理５６３０）。ここで、「許可されたアクセス要求の態様で、」とは、例えば、アクセス要求態様がリードの許可／禁止である場合は、デバイスドライバ手段（１４００）へのリードを許可／禁止し、アクセス要求態様がライトの許可／禁止である場合は、デバイスドライバ手段（１４００）へのライトを許可／禁止すること意味する。
【００５８】
デバイスドライバ手段（１４００）は、変換マップに基づいて、アクセス態様判定手段（１２９０）から要求されたボリュームへのアクセス要求を発行する。
【００５９】
アクセス態様判定手段（１２９０）は、管理テーブル（１２９５）にアクセス禁止として登録されているボリュームに対するアクセス要求を受信した場合は、エラーで終了する（処理５６４０）。尚、アクセス態様判定手段（１２９０）は、このエラーの通知をコンソールに対して出力するように指示し、コンソールは、エラーを出力するようにしてもよい。
【００６０】
図６は、ホットスタンバイ処理の処理内容を示す図である。
【００６１】
現用系計算機（１０００）のアクセス制御手段（１２００）は、システム立ち上げ後に、ＯＳ（１３００）に活動化コマンドを発行するように指示する。現用系計算機（１０００）のＯＳ（１３００）は、活動コマンド（５１０１）をデバイスドライバ手段（１４００）に発行する。デバイスドライバ手段（１４００）は、共有ディスク装置（３０００）を構成するボリュームを活動状態（５１２０）に設定する（ステップ７０００）。
【００６２】
次に、アクセス態様登録手段（１２１０）は、初期値に基づいて、ボリュームＩＤを管理テーブル（１２９５）に登録する（ステップ７０５０）。ここで、初期値とは、予めオペレータにより設定された管理テーブル（１２９５、２２９５）の内容を示す値である。
【００６３】
更に、アクセス態様登録手段（１２１０）は、初期値に基づいて、登録したボリュームＩＤごとのアクセス要求の態様を管理テーブル（１２９５）に登録する（ステップ７１００）。
【００６４】
一方、待機系計算機（２０００）のアクセス制御手段（２２００）は、システム立ち上げ後に、ＯＳ（２３００）に活動化コマンドを発行するように指示する。待機系計算機（２０００）のＯＳ（２３００）は、活動コマンド（５１０１）をデバイスドライバ手段（２４００）に発行する。デバイスドライバ手段（２４００）は、共有ディスク装置（３０００）を構成するボリュームを活動状態（５１２０）に設定する（ステップ７５００）。
【００６５】
次に、アクセス態様登録手段（２２１０）は、初期値に基づいて、特定のボリュームＩＤを管理テーブル（２２９５）に登録する。（ステップ７５５０）
更に、アクセス態様登録手段（２２１０）は、登録されたボリュームＩＤのアクセス態様をリード及びライトを禁止として、管理テーブル（２２９５）に登録する（ステップ７６００）。尚、アクセス態様として、リードを許可し、ライトを禁止するように登録してもよい。これにより、待機系計算機（２０００）において、アプリケーションプログラムによるリード要求を許可することができる。
【００６６】
ステップ７０００、７０５０、７１００により、運用系計算機（１０００）のアクセス制御判定手段（１２９０）は、運用系計算機（１０００）のアプリケーションプログラム（１４１０）を実行することにより発行されるリード／ライトのアクセス要求を、管理テーブル（１２９５）に基づいて、デバイスドライバ手段（１４００）に発行することができる運用系状態となる。
一方、ステップ７５００、７５５０、７６００により、待機系計算機（２０００）のアクセス制御判定手段（２２９０）は、待機系計算機（２０００）のアプリケーションプログラム（２４１０）を実行することにより発行されるリード及びライトのアクセス要求を、デバイスドライバ手段（２４００）に発行しない待機系状態となる。
【００６７】
ここまでが、システム立ち上げ後に実行される初期動作である。
【００６８】
次に、現用系計算機（１０００）で障害が発生した場合の動作を説明する。
【００６９】
この場合、待機系計算機（２０００）の系切替制御手段（２１００）は、ａｌｉｖｅメッセージの途絶により現用系計算機（１０００）の障害を検出する（ステップ７６５０）。
【００７０】
障害検出後、待機系計算機（２０００）の系切替制御手段（２１００）は、現用系計算機（１０００）へリセット要求を発行する（ステップ７７００）。
【００７１】
現用系計算機の系切替制御手段（１１００）は、待機系計算機（２０００）の系切替制御手段（２１００）が発行したリセット要求を受信する（ステップ７１５０）。
【００７２】
リセット要求を受信した現用系計算機の系切替制御手段（１１００）は、オフライン状態となるようにシステムコール（５２０２）を、アクセス制御登録手段（１２１０）に発行する。アクセス制御登録手段（１２１０）は、このシステムコール（５２０２）を受けて、管理テーブル（１２９５）に登録されたボリュームＩＤのアクセス要求の態様をリード及びライトを禁止となるように変更する。これにより、運用系計算機のアクセス制御判定手段（１２９０）は、運用系計算機（１０００）のアプリケーションプログラム（１４１０）を実行することにより発行されるリード及びライトのアクセス要求を、デバイスドライバ手段（１４００）に発行しないオフライン状態に切替る（ステップ７２００）。
【００７３】
尚、現用系計算機の系切替制御手段（１１００）は、リセット要求を受信したときに、現用系計算機のＯＳ（１３００）に非活性化コマンドをデバイスドライブ手段（１４００）に発行するようように指示してもよい。この場合、デバイスドライバ手段（１４００）は、ＯＳ（１３００）から非活動化コマンドを受信すると、メモリ（１６００）に記憶された変換マップを破棄する。これにより、デバイスドライバ手段（１４００）は、アクセス要求を受けた場合であっても、共有ディスク装置（３０００）にアクセス要求を発行することができなくなり、オフライン状態となる。さらに、現用系計算機（１０００）は、障害から修復すると、システム立ち上げ時と同様にボリュームの活動化コマンド（５１０１）を発行し、非活動化状態（５１１０）から活動化状態（５１２０）に遷移させることにより、オフライン状態となるようにしてもよい。
【００７４】
次に、系切替制御手段（１１００）は、運用系計算機（１０００）がオフライン状態に切替ったことのリセット完了通知を待機系計算機（２０００）に対して送信する（ステップ７３００）。
【００７５】
障害の発生した現用系は、障害から修復すると、アクセス態様登録手段（１２１０）は、初期値に基づいて、登録したボリュームＩＤごとのアクセス要求の態様を管理テーブル（１２９５）に登録し、オフライン状態から待機系状態に遷移する（ステップ７４００）。
【００７６】
待機系計算機（２０００）の系切替制御手段（２１００）は、現用系計算機（１０００）からのリセットを受信すると（ステップ７７５０）、運用系状態に切替るようにシステムコール（５２４０）を、アクセス制御登録手段（２２１０）に発行する。アクセス制御登録手段（２２１０）は、このシステムコール（５２４０）を受けて、初期値に基づいて、管理テーブル（２２９５）を変更する。これにより、待機系計算機（２０００）のアクセス状態判定手段（２２９０）は、管理テーブル（２２９５）に基づいて、デバイスドライバ手段（２４００）に、アクセス要求を発行する運用系状態となる（ステップ７８００）。尚、アクセス制御登録手段（２２１０）は、システムコール（５２４０）とともに、現用系計算機（１０００）から管理テーブル（１２９５）の内容を受信し、現用系計算機（１０００）の管理テーブル（１２９５）の内容を引継ぐように、管理テーブル（２２９５）の内容を変更するようにしてもよい。
【００７７】
このようにして、現用系計算機（１０００）で障害が発生すると、アクセス態様登録手段（１２１０、２２１０）により、管理テーブル（１２９５、２２９５）の内容を変更することにより、現用系計算機（１０００）はオフライン状態に、待機系計算機（２０００）運用系状態になり、共有ディスクの高速切替えを実現する。
【００７８】
図７は、コンソール（４０００）から指示によるホットスタンバイ切替えを示す図である。
【００７９】
ここでは、運用系計算機（１０００）は、ステップ７０００、７０５０、７１００により、既に、初期値に基づいて、アクセス態様登録手段（１２１０）により、ボリュームのＩＤと、ボリュームＩＤごとのアクセス要求の態様が登録されているとする。また、待機系計算機（２０００）は、ステップ７５００、７５５０、７６００により、システム立ち上げ後の初期動作を実行済みである。
【００８０】
コンソールは、オペレータより、ホットスタンバイ切替えコマンドを受付けると、切替えコマンドを現用系計算機（１０００）に発行する（ステップ８０００）。
【００８１】
現用系計算機（１０００）は、切替えコマンドを受信すると、アクセス態様登録手段（１２００）により、管理テーブル（１２９５）に登録されたボリュームＩＤのアクセス要求の態様をリード及びライトを禁止となるように変更する。これにより、運用系計算機のアクセス制御判定手段（１２９０）は、運用系計算機（１０００）のアプリケーションプログラム（１４１０）を実行することにより発行されるリード及びライトのアクセス要求を、デバイスドライバ手段（１４００）に発行しなくなり、運用系計算機（１０００）はオフライン状態に切替る（ステップ８１００）。尚、現用系計算機（１０００）は、切替えコマンドを受信すると、アクセス態様登録手段（１２００）により、管理テーブル（１２９５）に登録されたボリュームＩＤ削除するようにしてもよい。これにより、ボリュームを管理対象外状態に遷移させることにより、オフライン状態に切替ることができる。また、現用系計算機（１０００）は、切替えコマンドを受信すると、非活動状態に遷移させることにより、オフライン状態に切替るようにしてもよい。
【００８２】
現用系計算機（１０００）は、オフライン状態に切替ると、リセット完了通知を、コンソールに送信する（ステップ８２００）。
【００８３】
コンソールは、リセット完了通知を受信すると、待機系計算機（２０００）に系切替コマンドを発行する（ステップ８３００）。
【００８４】
待機系計算機のアクセス状態登録手段（２２１０）は、系切替コマンドを受信すると、初期値に基づいて、管理テーブル（２２９５）の内容を書換える（ステップ８４００）。尚、系切替コマンドとともに、運用系計算機（１０００）で保持していた管理テーブル（１２９５）の内容を待機系計算機（２０００）に送信し、待機系計算機（２０００）は、運用系計算機（１０００）で保持していた管理テーブル（１２９５）の内容に基づいて、管理テーブル（２２９５）の変更を実行するようにしてもよい。
【００８５】
これにより、共有ディスク装置（３０００）の系を切替えることができ、待機系計算機（２０００）は運用系計算機（１０００）の処理を引継ぐことができる。
【００８６】
上述した実施形態では、アクセス制御手段（１２００、２２００）をデバイスドライバ手段（１４００、２４００）及びＯＳ（１３００、２３００）とは独立した構成を採用した場合の実施例について説明した。
【００８７】
上記の場合以外にも、アクセス制御手段（１２００、２２００）をＯＳ（１３００、２３００）内に配置することも可能である。この場合に、アクセス態様登録手段は、管理テーブルではなく、デバイススイッチテーブルに登録・削除することにより、管理テーブルとデバイススイッチテーブルを統一化してもよい。
【００８８】
また、アクセス制御手段（１２００、２２００）をデバイスドライバ手段（１４００、２４００）内に配置することも可能である。この場合に、管理テーブルと上述した変換マップとを統一化してもよい。
【００８９】
尚、上述した実施形態では、アクセス要求の態様として、リード／ライトの許可／禁止について説明したが、アクセス要求の態様として、ファイルのオープン／クローズの許可／禁止についても、同様に制御できる。
【００９０】
【発明の効果】
本発明では、高速にホットスタンバイ切替処理を実行する技術を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態である計算機システムの構成図。
【図２】アクセス制御手段の構成図。
【図３】共有ディスクの構成図。
【図４】ボリュームの状態遷移図。
【図５】本発明の一実施形態のアクセス要求入出力処理を示す模式図。
【図６】本発明の一実施形態の障害時のホットスタンバイ処理の流れ図。
【図７】本発明の一実施形態のコンソール入力によるホットスタンバイ処理の流れ図。
【図８】デバイススイッチテーブルの内容を示す図。
【図９】管理テーブルの内容を示す図。
【符号の説明】
１０００：現用系、２０００：待機系、１１００、２１００：系切替制御手段、１２００、２２００：アクセス制御手段、１３００、２３００：ＯＳ、１４００、２４００：デバイスドライバ手段、１５００、２５００：プロセッサ、１６００、２６００：メモリ、１７００、２７００：ＳＶＰ（Ｓｅｒｖｉｃｅ　Ｐｒｏｃｅｓｓｏｒ）、３０００：共有ディスク、４０００：コンソール
【図１】
2004102852.tif 000003
【図２】
2004102852.tif 000004
【図３】
2004102852.tif 000005
【図４】
2004102852.tif 000006
【図５】
2004102852.tif 000007
【図６】
2004102852.tif 000008
【図７】
2004102852.tif 000009
【図８】
2004102852.tif 000010
【図９】
2004102852.tif 000011