(57)【特許請求の範囲】
【請求項１】
ホストコンピュータと該ホストコンピュータが使用する資源を管理する複数の排他制御装置とを具備するコンピュータシステムであって、
前記ホストコンピュータは、本番環境及び開発環境を実行するホストオペレーションシステム部と、前記複数の排他制御装置に対する入出力を制御するゲートウェイ部とを備え、
前記複数の排他制御装置は、運用系の排他制御装置と、待機系の排他制御装置とを含み、
前記ゲートウェイ部は、前記本番環境又は前記開発環境から要求が入力され、前記入力された要求が前記本番環境からの要求か前記開発環境からの要求かを判定し、前記入力された要求が前記開発環境からの要求である場合、前記排他制御装置のうち前記待機系の排他制御装置に前記入力された要求を送信する
ことを特徴とするコンピュータシステム。
【請求項２】
前記ホストコンピュータは、さらに、前記運用系の排他制御装置及び前記待機系の排他制御装置の動作状態を管理する管理テーブルを備え、
前記ゲートウェイ部は、前記入力された要求を前記開発環境からの要求である場合、前記管理テーブルから待機系の排他制御装置の有無を判定し、待機系の排他制御装置が有るとき、前記入力された要求を前記待機系の排他制御装置に送信する
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
本番環境及び開発環境を実行するホストコンピュータと、運用系の排他制御装置及び待機系の排他制御装置を含む複数の排他制御装置との間の入出力を制御するゲートウェイ装置であって、
前記本番環境又は前記開発環境から要求を入力され、前記入力された要求が本番環境からの要求か開発環境からの要求かを判定し、前記入力された要求が開発環境からの要求である場合、前記排他制御装置のうち待機系の排他制御装置に前記入力された要求を送信する
ことを特徴とするゲートウェイ装置。
【請求項４】
本番環境及び開発環境を実行するホストコンピュータと、運用系の排他制御装置及び待機系の排他制御装置を含む複数の排他制御装置とを有するコンピュータシステムの管理方法において、
本番環境又は開発環境から要求を入力される工程と、
前記入力された要求が本番環境からの要求か開発環境からの要求かを判定する工程と、
前記入力された要求が開発環境からの要求である場合に、前記複数の排他制御装置のうち待機系の排他制御装置に前記入力された要求を送信する工程と
を含むことを特徴とするコンピュータシステムの管理方法。
【請求項５】
本番環境及び開発環境を実行するホストコンピュータと、運用系の排他制御装置及び待機系の排他制御装置を含む複数の排他制御装置とを有するコンピュータシステムにおけるホストコンピュータを、
本番環境及び開発環境から要求を入力される手段、
前記入力された要求が本番環境からの要求か開発環境からの要求かを判定する手段、
前記入力された要求が開発環境からの要求である場合、前記排他制御装置のうち待機系の排他制御装置に前記入力された要求を送信する手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータと排他制御装置とからなるコンピュータシステム、コンピュータシステムの管理方法、ゲートウェイ装置、及びプログラムに関する。
【背景技術】
【０００２】
ホストコンピュータと排他制御装置とを有する疎結合のコンピュータシステムでは、例えば特許文献１及び特許文献２で示すように、障害時のリスクを回避するため、待機系のＭＳＣＰ装置（Multi-System Control Processor：排他制御装置）が用意されている。待機系のＭＳＣＰ装置は、通常、運用系のＭＳＣＰ装置のように資源管理のための排他制御処理は行わずに、運用系のＭＳＣＰ装置に障害が発生した際に備えてバックアップの装置として待機している。
【０００３】
また、例えば、特許文献３に示されているように、ホストコンピュータと排他制御装置とを有する疎結合のコンピュータシステムでは、運用系のＭＳＣＰ（Multi-System Control Processor：排他制御装置）の内部は、通常業務処理を実行するための本番系と、当該本番系を実行するためのソフトウエアの開発やメンテナンスをするための開発系とで共用されている。
【０００４】
しかしながら、このような方式では、開発系の処理の問題によりＭＳＣＰ装置の動作に異常が発生した場合、本番系の処理にも支障を来し、システム全体の運用に影響する場合がある。このため、開発環境と本番環境とで、ＭＳＣＰ装置を別々に設ける必要がある。
【０００５】
開発環境と本番環境とでＭＳＣＰ装置を分けるような構成としては、例えば、本番環境専用のＭＳＣＰサブシステムと開発環境専用のＭＳＣＰサブシステムを別々に用意する構成と、ＭＳＣＰ装置の排他制御装置内の管理動作資源を本番環境用と開発環境用とで分割する構成とが考えられる。
【０００６】
図１１は、本番環境専用のＭＳＣＰサブシステムと開発環境専用のＭＳＣＰサブシステムを別々に用意する構成を示している。図１１において、ホストコンピュータ２０１ａ及び２０１ｂは、それぞれ、本番環境２０２ａ、２０２ｂ、開発環境２０３ａ、２０３ｂに分かれている。また、ＭＳＣＰサブシステムとして、本番系の専用のＭＳＣＰサブシステム２１０ａと、開発系の専用のＭＳＣＰサブシステム２１０ｂとが用意される。ホストコンピュータ２０１ａ及び２０１ｂの本番環境２０２ａ、２０２ｂでは、本番系の専用のＭＳＣＰサブシステム２１０ａにある運用系のＭＳＣＰ装置２１１ａ−１、２１１ａ−２、…が用いられる。また、本番環境２０２ａ、２０２ｂでは、障害発生時の回避用として、待機系のＭＳＣＰ装置２１１ａ−ｍが用いられる。また、ホストコンピュータ２０１ａ及び２０１ｂの開発環境２０３ａ、２０３ｂでは、開発系の専用のＭＳＣＰサブシステム２１０ｂにある運用系のＭＳＣＰ装置２１１ｂ−１、２１１ｂ−２、…が用いられる。また、開発環境２０３ａ、２０３ｂでは、障害発生時の回避用として、待機系のＭＳＣＰ装置２１１ｂ−ｍが用いられる。
【０００７】
図１２は、ＭＳＣＰ装置の排他制御装置内の管理動作資源を本番環境用と開発環境用とで分割する構成を示している。図１２において、運用系のＭＳＣＰ装置２１１−１、２１１−２、…及び待機系のＭＳＣＰ装置２１１−ｍは、それぞれ、本番系の管理動作資源２２１と開発系の管理動作資源２２２とに分割されている。ホストコンピュータ２０１ａ及び２０１ｂの本番環境２０２ａ、２０２ｂでは、運用系のＭＳＣＰ装置２１１−１、２１１−２、…にある本番系の管理動作資源２２１が用いられる。また、本番環境２０２ａ、２０２ｂでは、障害発生時の回避用として、待機系のＭＳＣＰ装置２１１−ｍにある本番系の管理動作資源２２１が用いられる。また、ホストコンピュータ２０１ａ及び２０１ｂの開発環境２０３ａ、２０３ｂでは、運用系のＭＳＣＰ装置２１１−１、２１１−２、…にある開発系の管理動作資源２２２が用いられる。また、開発環境２０３ａ、２０３ｂでは、障害発生時の回避用として、待機系のＭＳＣＰ装置２１１−ｍにある開発系の管理動作資源２２２が用いられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−０５８９９８号公報
【特許文献２】特許第３１３４８６４号公報
【特許文献３】特開平１０−１７１６９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のように、図１２に示したように、本番環境と開発環境とでＭＳＣＰ装置を共有すると、開発環境で生じた問題により本番系の処理にも支障を来し、システム全体の運用に影響する場合がある。一方、図１１に示したように、開発環境と本番環境とで別々にＭＳＣＰ装置を用意すると、必要とされる資源が多くなるという問題が生じる。
【００１０】
上述の課題を鑑み、本発明は、本番環境と開発環境とを実行する際に、本番環境用と開発環境用のＭＳＣＰ装置を別々に用意せずとも、開発環境で生じた問題により本番環境に支障が生じないようにするコンピュータシステム、コンピュータシステムの管理方法、ゲートウェイ装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するために、本発明に係るコンピュータシステムは、ホストコンピュータと該ホストコンピュータが使用する資源を管理する複数の排他制御装置とを具備するコンピュータシステムであって、前記ホストコンピュータは、本番環境及び開発環境を実行するホストオペレーションシステム部と、前記複数の排他制御装置に対する入出力を制御するゲートウェイ部とを備え、前記複数の排他制御装置は、運用系の排他制御装置と、待機系の排他制御装置とを含み、前記ゲートウェイ部は、前記本番環境又は前記開発環境から要求が入力され、前記入力された要求が前記本番環境からの要求か前記開発環境からの要求かを判定し、前記入力された要求が前記開発環境からの要求である場合、前記排他制御装置のうち前記待機系の排他制御装置に前記入力された要求を送信することを特徴とする。
【００１２】
本発明に係るゲートウェイ装置は、本番環境及び開発環境を実行するホストコンピュータと、運用系の排他制御装置及び待機系の排他制御装置を含む複数の排他制御装置との間の入出力を制御するゲートウェイ装置であって、前記本番環境又は前記開発環境から要求を入力され、前記入力された要求が本番環境からの要求か開発環境からの要求かを判定し、前記入力された要求が開発環境からの要求である場合、前記排他制御装置のうち待機系の排他制御装置に前記入力された要求を送信することを特徴とする。
【００１３】
本発明に係るコンピュータの管理方法は、本番環境及び開発環境を実行するホストコンピュータと、運用系の排他制御装置及び待機系の排他制御装置を含む複数の排他制御装置とを有するコンピュータシステムの管理方法において、本番環境又は開発環境から要求を入力される工程と、前記入力された要求が本番環境からの要求か開発環境からの要求かを判定する工程と、前記入力された要求が開発環境からの要求である場合に、前記複数の排他制御装置のうち待機系の排他制御装置に前記入力された要求を送信する工程とを含むことを特徴とする。
【００１４】
本発明に係るプログラムは、本番環境及び開発環境を実行するホストコンピュータと、運用系の排他制御装置及び待機系の排他制御装置を含む複数の排他制御装置とを有するコンピュータシステムにおけるホストコンピュータを、本番環境及び開発環境から要求を入力される手段、前記入力された要求が本番環境からの要求か開発環境からの要求かを判定する手段、前記入力された要求が開発環境からの要求である場合、前記排他制御装置のうち待機系の排他制御装置に前記入力された要求を送信する手段として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、本番環境用と開発環境用とのＭＳＣＰ装置を別々に用意せずとも、ホストコンピュータにおいて、本番環境と開発環境とを動作させ、開発環境で生じた問題により本番系の処理にも支障が生じないようにすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態のコンピュータシステムを示すブロック図である。
【図２】ホストコンピュータの構成を示すブロック図である。
【図３】ＭＳＣＰ管理テーブルの説明図である。
【図４】ＭＳＣＰ装置の構成を示すブロック図である。
【図５】ホストコンピュータとＭＳＣＰ装置との間のデータのフォーマットの説明図である。
【図６】コマンド振り分け部での処理を示すフローチャートである。
【図７】チャネル管理部の動作を示すフローチャートである。
【図８】チャネル管理部の動作を示すフローチャートである。
【図９】障害が発生した場合の処理の説明図である。
【図１０】障害が発生した場合の処理の説明図である。
【図１１】本番環境専用のＭＳＣＰサブシステムと開発環境専用のＭＳＣＰサブシステムを別々に用意した構成の説明図である。
【図１２】ＭＳＣＰ装置の排他制御装置内の管理動作資源を本番環境用と開発環境用とで分割した構成の説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は、本発明の第１の実施形態のコンピュータシステムを示すブロック図である。図１を参照すると、本発明の第１の実施形態のコンピュータシステムは、プログラム制御により動作する複数のホストコンピュータ１−１、１−２、…、１−ｎと、複数のＭＳＣＰ装置５０−１、５０−２、…、５０−ｍで構成される。ここでは、ＭＳＣＰ装置５０−１、５０−２、…が運用系であり、ＭＳＣＰ装置５０−ｍが待機系である。ここで、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍのいずれか１つ、又は全てを示す場合、ＭＳＣＰ装置５０という。
【００１８】
図２は、ホストコンピュータ１−１、１−２、…、１−ｎの構成を示すブロック図である。図２に示すように、ホストコンピュータ１−１、１−２、…、１−ｎは、ホストＯＳ（オペレーティング・システム）部５とＭＳＣＰＧＷ（Multi-System Control Processor Gate-Way：排他制御装置ゲートウェイ）部６との２つの部を有している。
【００１９】
ホストＯＳ部５は、通常教務処理を実行するための本番環境１００と、当該本番系を実行するためのソフトウエアの開発やメンテナンスをするための開発環境１０１の複数のＯＳ環境を有している。本番環境１００は、コンピュータシステムの主となるＯＳ環境である。また、本番環境１００は、ＭＳＣＰ装置５０の構成管理等も担っている。開発環境１０１は、開発や本番移行前の評価等が実行される環境である。ホストＯＳ部５では、本番環境１００と開発環境１０１は、ホストＯＳの下で同時に実行可能である。
【００２０】
ＭＳＣＰＧＷ部６は、ホストコンピュータ１−１、１−２、…、１−ｎと、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍとの間の接続を制御するゲートウェイ機能を提供する。ＭＳＣＰＧＷ部６は、チャネル管理部２と、コマンド振り分け部３と、ＩＯ実行状態テーブル１２と、ｍ個の発行待ちキュー２１と、ｍ個のチャネル２０を有している。
【００２１】
チャネル管理部２は、各チャネル２０において受信されたデータを入力されるか、又は、各発行待ちキュー２１にデータがキューイングされていた場合に動作して、チャネル２０から受信したデータ、及び発行待ちキュー２１にキューイングされたデータの管理を行う。
【００２２】
コマンド振り分け部３は、要求キュー１３を監視し、要求キュー１３にキューイングされている要求データに応じて、各発行待ちキュー２１にデータを振り分ける。ここで、要求データは、コンピュータシステムにおける入出力デバイスや、記憶デバイスなどの資源の利用を要求するデータである。本実施形態では、コマンド振り分け部３は、要求データに設定された動作種別から本番環境１００の要求か開発環境１０１の要求かを判別し、本番環境１００からの要求であれば、対応する発行待ちキュー２１にキューイングし、開発環境１０１からの要求であれば、利用可能な待機系のＭＳＣＰ装置５０の有無を確認し、利用可能な待機系のＭＳＣＰ装置５０が存在すれば、利用可能な待機系のＭＳＣＰ装置５０の対応する発行待ちキュー２１にキューイングする。ここで、利用可能な待機系のＭＳＣＰ装置５０とは、本番環境１００に利用されておらず、運用系のＭＳＣＰ装置５０に障害が発生した際に備えて設けられているＭＳＣＰ装置５０である。
【００２３】
また、ホストコンピュータ１−１、１−２、…、１−ｎは、ＭＳＣＰ管理テーブル１１と、要求キュー１３と、応答キュー１４とを有している。これらＭＳＣＰ管理テーブル１１、要求キュー１３、応答キュー１４は、ホストＯＳ部５とＭＳＣＰＧＷ部６とで共有される。
【００２４】
図３は、ＭＳＣＰ管理テーブル１１及びＩＯ実行状態テーブル１２それぞれに記憶されている情報を示す図である。
ＭＳＣＰ管理テーブル１１は、ＭＳＣＰ装置５０を使用するのに必要な基本情報であり、ホストＯＳの主たるＯＳである本番ＯＳが作成及び管理する。図３（Ａ）に示すように、ＭＳＣＰ管理テーブル１１は、各ＭＳＣＰ装置５０を識別するＭＳＣＰ番号と、そのＭＳＣＰ装置５０の動作状態を”運用”・”待機”・”障害”により識別する情報と、そのＭＳＣＰ装置５０と接続されているチャネル２０のチャネル番号を示す情報とを対応付けて記憶するテーブルである。また、ＭＳＣＰ管理テーブル１１は、各ＭＳＣＰ装置５０に対応するｍ個のエントリからなる。
【００２５】
ＩＯ実行状態テーブル１２は、図３（Ｂ）に示すように、ホストコンピュータ１−１、１−２、…、１−ｎ内に存在する各チャネル２０に対応するｍ個のエントリからなる。各エントリは、チャネル番号と、チャネル状態と、データとが対応付けられて記憶されている。チャネル番号はチャネル２０を識別するための情報であり、チャネル状態はそのチャネル２０の使用状況（”空き”か”使用中”か）を示している。データはＭＳＣＰ装置５０への要求を示す情報、又は、要求に応じてＭＳＣＰ装置５０により処理結果を示す情報である。
【００２６】
要求キュー１３は、ホストＯＳ上の本番環境１００及び開発環境１０１がＭＳＣＰ装置５０に処理を要求する場合、要求データをＭＳＣＰＧＷへ受け渡すための要求データの待ち行列である。
【００２７】
応答キュー１４は、ＭＳＣＰＧＷ部６からの要求データの処理結果をホストＯＳ上の本番環境１００及び開発環境１０１へ引き渡すための応答データの待ち行列である。
【００２８】
発行待ちキュー２１は、ホストコンピュータ１−１、１−２、…、１−ｎ内に存在するチャネル２０の数（ｍ）だけ存在し、チャネル２０からデータを送信するための待ち行列である。
【００２９】
チャネル２０は、ホストコンピュータ１−１、１−２、…、１−ｎ内にｍ個存在し、それぞれが異なるＭＳＣＰ装置５０−１、５１−２、…、５０−ｎに１対１で接続されている。チャネル２０は、チャネル管理部２から指示された通信をＭＳＣＰ装置５０−１、５１−２、…、５０−ｍに送信し、ＭＳＣＰ装置５０−１、５１−２、…、５０−ｍから届いたら通信をチャネル管理部２に引き渡す機能する。
【００３０】
図４は、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍの構成を示すブロック図である。図４に示すように、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍは、排他制御処理部５２と、ｎ個のポート７０からなる。
【００３１】
ポート７０は、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍ内にｎ個存在し、それぞれが異なるホストコンピュータ１−１、１−２、…、１−ｎと１対１で接続されている。ポート７０は、ホストコンピュータ１−１、１−２、…、１−ｎからの受信したデータを排他制御処理部５２に引き渡す機能と、排他制御処理部５２から受け取ったデータをホストコンピュータ１−１、１−２、…、１−ｎに送信する機能を実現する。
【００３２】
排他制御処理部５２は、排他制御を行う処理部で、ホストコンピュータ１−１、１−２、…、１−ｎがどの資源をどのように使用中かを管理する排他制御テーブルを備え、ポート７０経由でホストコンピュータ１−１、１−２、…、１−ｎから受け取ったＭＳＣＰ装置５０−１、５０−２、…、５０−ｍへの要求を処理する。排他制御処理部５２は、主に、要求データで指定された資源について排他制御テーブルを更新しつつ、排他制御テーブルに管理されている情報と照合し使用の可否を決定し、応答データ作成し、ポート７０経由でホストコンピュータ１−１、１−２、…、１−ｎに返す処理部である。
【００３３】
図５は、ホストコンピュータ１−１、１−２、…、１−ｎとＭＳＣＰ装置５０−１、５０−２、…、５０−ｍとの間において送受信されるデータのフォーマットである。要求データは、ホストコンピュータ１−１、１−２、…、１−ｎからＭＳＣＰ装置５０−１、５０−２、…、５０−ｍに送信され、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍへ処理を要求するときのデータである。要求データのフォーマットは、図５（Ａ）に示すように、動作種別と、要求元ホストＩＤ（Identifier：識別子）と、要求先ＭＳＣＰ番号と、データとからなる。動作種別は、本番環境１００と開発環境１０１とを識別するデータである。要求元ホストＩＤは、要求データを作成したホストを識別するためのＩＤである。要求先ＭＳＣＰ番号は、要求データを送るＭＳＣＰを識別するための番号である。データはホストＯＳとＭＳＣＰ装置５０−１、５０−２、…、５０−ｍ間で規定された排他制御コマンド要求である。
【００３４】
応答データは、ＭＳＣＰ装置５０−１、５０−２、…、５０−ｍからホストコンピュータ１−１、１−２、…、１−ｎに送信され、ホストコンピュータ１−１、１−２、…、１−ｎから要求の処理結果を通知するデータである。応答データのフォーマットは、図５（Ｂ）に示すように、動作種別と、要求元ホストＩＤと、要求先ＭＳＣＰ番号と、データとからなる。動作種別は、本番環境１００と開発環境１０１とを識別するデータである。要求元ホストＩＤは、要求データに設定されていた要求元ホストを識別するためのＩＤである。要求先ＭＳＣＰ番号は、要求データに設定されていた要求先ＭＳＣＰ番号である。データはホストＯＳとＭＳＣＰ装置５０−１、５０−２、…、５０−ｍ間で規定された排他制御コマンドの結果のデータである。応答データは、通常は排他制御処理部５２が要求を処理した後に作成するが、チャネル管理部２又はコマンド振り分け部３が処理を中断するためにエラーの応答として作成する場合がある。
【００３５】
図６は、コマンド振り分け部３の処理を示すフローチャートである。図６に示すように、コマンド振り分け部３は、要求キュー１３を監視し、要求データがキューイングされたら取り出す（ステップＡ１）。そして、コマンド振り分け部３は、要求データ（図５（Ａ））から動作種別を読み取り判別する（ステップＡ２）。
【００３６】
ステップＡ２で、要求データに含まれる動作種別１００が本番環境であると判定された場合には、コマンド振り分け部３は、要求データから、要求先ＭＳＣＰ番号を読み取り（ステップＡ３）、ＭＳＣＰ管理テーブル１１（図３（Ａ））から、ＭＳＣＰ番号に対応するチャネル番号を調べる（ステップＡ４）。そして、コマンド振り分け部３は、要求データに指定されたＭＳＣＰ装置５０−１、５０−２、…、５０−ｍに対応するチャネル２０の発行待ちキュー２１に、要求データをキューイングする（ステップＡ５）。
【００３７】
ステップＡ２において、要求データに含まれる動作種別が開発環境１０１であると判定された場合、コマンド振り分け部３は、ＭＳＣＰ管理テーブル１１の全エントリを調べ、待機系のＭＳＣＰ装置５０の有無を確認する（ステップＡ６）。ステップＡ６で、利用可能な待機系のＭＳＣＰ装置５０が無い場合には、コマンド振り分け部３は、エラーの応答データを作成し、応答キュー１４にキューイングする（ステップＡ８）。
ステップＡ６において、利用可能な待機系のＭＳＣＰが有る場合には、コマンド振り分け部３は、ＭＳＣＰ管理テーブル１１から、待機系のＭＳＣＰ装置５０に対応するチャネル番号を調べ（ステップＡ７）、このチャネル番号のチャネル２０に対応する発行待ちキュー２１に要求データキューイングする（ステップＡ５）。
【００３８】
以上のように、コマンド振り分け部３は、常に要求キュー１３を監視し、要求データがキューイングされたら取り出す。コマンド振り分け部３は、取り出した要求データに設定された動作種別から本番環境１００からの要求データか開発環境１０１からの要求データかを判別し、本番環境１００からのものであれば、要求データに設定された要求先のＭＳＣＰ番号を取り出し、ＭＳＣＰ番号からＭＳＣＰ管理テーブル１１のエントリを検索し対応するチャネル番号を調べ、対応するチャネル２０の発行待ちキュー２１にキューイングする。開発環境１０１からの要求データであれば、コマンド振り分け部３は、ＭＳＣＰ管理テーブル１１にて待機系のＭＳＣＰ装置５０の有無を確認し、待機系のＭＳＣＰ装置５０が存在すれば、ＭＳＣＰ管理テーブル１１から待機系のＭＳＣＰ装置５０のエントリを検索し、待機系のＭＳＣＰ装置５０に対応するチャネル番号を調べ、対応するチャネル２０の発行待ちキュー２１にキューイングする。
【００３９】
図７及び図８は、チャネル管理部２の動作を示すフローチャートである。図７において、チャネル管理部２は、チャネル２０がＭＳＣＰ装置５０から受信したデータの有無を確認し（ステップＢ１）、チャネル２０にＭＳＣＰ装置５０から受信しているデータが有る場合、チャネル２０からのデータを応答キュー１４にキューイングする（ステップＢ３）。そして、チャネル管理部２は、受信したチャネル２０のチャネル番号に対応するＩＯ実行状態テーブル１２（図３（Ｂ））のエントリのチャネル２０の実行状態を”空き”に設定する（ステップＢ４）。
【００４０】
次に、チャネル管理部２は、該当チャネル２０の発行待ちキュー２１内にデータがキューイングされているかどうかを判定し（ステップＢ１０）、該当チャネル２０の発行待ちキュー２１内にデータがキューイングされている場合、ホストコンピュータ１−１、１−２、…、１−ｎからの要求処理を実施する（ステップＢ５）。そして、チャネル管理部２は、全てのチャネル２０について、チャネル２０のデータが届いているか、発行待ちキュー２１にデータがキューイングされたかのチェックが行われたかを判定し、全てのチャネル２０のチェックが終了していなければ、ステップＢ１にリターンし、全てのチャネル２０に対して行う（ステップＢ６）。
【００４１】
チャネル管理部２は、全てのチャネル２０のチェックが終了すると、発行待ちキュー２１にデータがキューイングされているかどうか確認し（ステップＢ７）、発行待ちキュー２１にデータがキューイングされていたら、ホストコンピュータ１−１、１−２、…、１−ｎからの要求処理を実施する（ステップＢ８）。チャネル管理部２は、ステップＢ７〜Ｂ８を全ての発行待ちキュー２１に対して行い（ステップＢ９）、全ての発行待ちキュー２１に対してステップＢ７〜Ｂ８を実施するとステップＢ１にリターンし、上述のステップＢ１〜Ｂ１０の動作を繰り返して行う。
【００４２】
図８は、上述のチャネル管理部２の動作におけるステップＢ５とステップＢ８のホストコンピュータ１−１、１−２、…、１−ｎからの要求処理の詳細を示すフローチャートである。
【００４３】
図８において、チャネル管理部２は、ＩＯ実行状態テーブル１２のチャネル状態から、該当チャネル２０が使用中かどうかを判定し（ステップＣ１）、該当チャネル２０が”使用中”の状態の場合、何もしないで、リターンする。すなわち、当該チャネル２０が”空き”になるまで待機する。
ステップＣ１において、該当チャネル２０が”空き”状態の場合、チャネル管理部２は、要求データを発行待ちキュー２１から要求を取り出す（ステップＣ２）。そして、チャネル管理部２は、チャネル２０に対応するＭＳＣＰ装置５０の状態が障害かどうかを判定する（ステップＣ３）。ステップＣ３において、チャネル２０に対応するＭＳＣＰ装置５０の状態が障害状態の場合、エラー応答を作成し応答キュー１４にキューイングする（ステップＣ６）。ステップＣ３において、ＭＳＣＰ装置５０が障害状態でない場合、チャネル管理部２は、チャネル２０へ要求データを送信し（ステップＣ４）、ＩＯ実行状態テーブル１２の当該チャネル２０のチャネル状態を”使用中”の状態にして（ステップＣ５）、リターンする。
【００４４】
以上のように、チャネル管理部２は、チャネル２０にから受信したデータを渡されるか、発行待ちキュー２１にキューイングされていた場合に動作する。そして、チャネル管理部２が発行待ちキュー２１にキューイングされていることを検出すると、ＩＯ実行状態テーブル１２を確認し、該当チャネル２０が空いていたら、発行待ちキュー２１から要求データを取り出し、ＭＳＣＰ管理テーブル１１からそのＭＳＣＰ装置５０の状態を確認する。そして、チャネル管理部２は、そのＭＳＣＰ装置５０が障害状態以外（＝運用又は待機）ならば、要求データをＭＳＣＰ装置５０に送信し、ＩＯ実行状態テーブル１２に該当チャネル２０が使用中であることを記憶する。そのＭＳＣＰ装置５０が障害状態ならば、チャネル管理部２は、エラー応答を作成し応答キュー１４にキューイングする。
【００４５】
また、チャネル管理部２は、チャネル２０から受信データを受け取ったら、応答データを応答キュー１４にキューイングし、ＩＯ実行状態テーブル１２に登録されている該当チャネル２０の状態を”使用中”から”空き”に変更する。続けて、チャネル管理部２は発行待ちキュー２１に要求データがあれば、ＭＳＣＰ装置５０へ送信する。
【００４６】
いずれかのＭＳＣＰ装置５０に障害が発生し、待機系のＭＳＣＰ装置５０が運用系のＭＳＣＰ装置５０に切り替えられた場合、ホストＯＳ（本番環境）がＭＳＣＰ管理テーブル１１を更新することで、ＭＳＣＰ管理テーブル１１から待機系のＭＳＣＰ装置５０がなくなる場合がある。このような場合には、以後、開発環境１０１からの要求は、コマンド振り分け部３にて待機系のＭＳＣＰ装置５０が存在しないと判定され、当該要求を送信する先がないので、エラー応答を作成され応答キュー１４にキューイングされることになる。
【００４７】
図９及び図１０は、本実施形態におけるコンピュータシステムに障害が発生した場合の一例を示す図である。図９に示すように、ホストコンピュータ１−１、１−２における本番環境１００では、運用系のＭＳＣＰ装置５０−１、５０−２が使用され、開発環境１０１では、待機系のＭＳＣＰ装置５０−ｍが使用されている場合を例にして説明する。この場合において、運用系のＭＳＣＰ装置５０−２に障害が発生して利用できなくなると、図１０に示すように、待機系のＭＳＣＰ装置５０−ｍが、運用系のＭＳＣＰ装置５０−２の代わりに運用系のＭＳＣＰ装置５０として利用される。このような場合、開発環境１０１が利用することのできる待機系のＭＳＣＰ装置５０はなくなるので、開発環境１０１の要求データに対する応答はエラーとなる。具体的には、コマンド振り分け部３が、開発環境１０１から入力された要求データに対してエラーの応答データを作成して応答キュー１４にキューイングする。
【００４８】
なお、修理された待機系のＭＳＣＰ装置５０が新たにＭＳＣＰサブシステムに組み込まれると、ホストＯＳがＭＳＣＰ管理テーブル１１に待機系のＭＳＣＰ装置５０を登録することにより、開発環境１０１がＭＳＣＰ装置５０の使用を再開できるようになる。
【００４９】
以上説明したように、本発明の実施形態におけるコンピュータシステムでは、運用系のＭＳＣＳＰ装置の障害に備えるために設けられている待機系のＭＳＣＰ装置５０を、開発環境１０１から利用できるようにしている。これにより、開発環境１０１は、開発環境用にＭＳＣＰ装置５０を設けずとも本番環境１００に影響を与えることなくＭＳＣＰ装置５０を利用することができる。すなわち、本番環境用と開発環境用とのＭＳＣＰ装置５０を別々に用意せずに、ホストコンピュータ１−１、１−２、…、１−ｎにおいて、本番環境１００と開発環境１０１とを動作させ、開発環境１０１で生じた問題により本番環境１００に支障が生じることを防ぐことができる。
また、ＭＳＣＰＧＷにて要求の発行先を待機系のＭＳＣＰ装置５０に切り替えるようにしたので、開発環境用とＭＳＣＰ装置５０を接続するチャネル２０等を本番環境と別に用意する必要がない。
【００５０】
また、開発環境１０１が待機系のＭＳＣＰ装置５０を使用するようにしたので、本番運用とほぼ同じ状況で待機系のＭＳＣＰ装置５０が使用される。これにより、待機系のＭＳＣＰ装置５０に障害があれば事前に検出され、待機系のＭＳＣＰ装置５０に切り替えて利用する際の信頼性を高めることができ、コンピュータシステム全体の信頼性を向上させることができる。
【００５１】
なお、実施形態において、ホストコンピュータ１−１、１−２、…、１−ｎは、ＭＳＣＰＧＷ部６を含む構成を示したが、ＭＳＣＰＧＷ部６を独立の装置として設けるようにしてもよい。この場合、独立した装置としてのＭＳＣＰＧＷ部６は、ホストコンピュータ１−１、１−２、…、１−ｎに備えられているＭＳＣＰ管理テーブル１１、要求キュー１３、及び応答キュー１４に対してＩ／Ｏアクセスによる読み出し及び書き込みをするようにしてもよい。
もしくは、ＭＳＣＰＧＷ部６に、ホストコンピュータ１−１、１−２、…、１−ｎそれぞれに備えられているＭＳＣＰ管理テーブル１１、要求キュー１３、及び応答キュー１４に対応するテーブル及びキューを設けるようにしてもよい。このとき、ホストコンピュータ１−１、１−２、…、１−ｎにおけるＭＳＣＰ管理テーブル１１、要求キュー１３、及び応答キュー１４の変更が、ＭＳＣＰＧＷ部６に設けられるテーブル及びキューに反映され、データが一致するようにする。また、新たに設けられるテーブル及びキューに対するＭＳＣＰＧＷ部６による変更が、ホストコンピュータに備えられているＭＳＣＰ管理テーブル１１、要求キュー１３、及び応答キュー１４に反映されるようにする。
【００５２】
上述したチャネル管理部２、及びコマンド振り分け部３による処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶され、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われるようにしてもよい。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【００５３】
１−１、１−２、１−ｎ  ホストコンピュータ
２  チャネル管理部
３  コマンド振り分け部
５  ホストＯＳ部
６  ＭＳＣＰＧＷ部
１１  ＭＳＣＰ管理テーブル
１２  ＩＯ実行状態テーブル
１３  要求キュー
１４  応答キュー
２０  チャネル
２１  発行待ちキュー
５０、５０−１、５０−２、５０−ｍ  ＭＳＣＰ装置
５２  排他制御処理部
７０  ポート
１００  本番環境
１０１  開発環境
【図１】
0005477122.tif 000002
【図２】
0005477122.tif 000003
【図３】
0005477122.tif 000004
【図４】
0005477122.tif 000005
【図５】
0005477122.tif 000006
【図６】
0005477122.tif 000007
【図７】
0005477122.tif 000008
【図８】
0005477122.tif 000009
【図９】
0005477122.tif 000010
【図１０】
0005477122.tif 000011
【図１１】
0005477122.tif 000012
【図１２】
0005477122.tif 000013