(57)【要約】【課題】  データ通信の不具合によって引き起こされる動作停止および性能低下を防止することが可能な情報処理装置およびデータ通信制御方法を提供する。【解決手段】  診断処理装置１０００は、チャネル装置３００ｎを制御している入出力処理装置２０ｎでの障害発生を検出すると、チャネル装置３００ｎを制御可能な入出力処理装置２０ｎ＋１にチャネル装置３００ｎを制御させ、チャネル装置３００ｎでの障害発生および障害回復を演算処理装置１０ｘに報告する。診断処理装置１０００は入出力処理装置２０ｎ＋１がチャネル装置３００ｎを制御している旨をＣＨ構成テーブルに格納する。演算処理装置１０ｘは、チャネル装置３００ｎでの障害発生および回復報告を受けると、ＣＨ構成テーブルを参照して入出力処理装置２０ｎ＋１がチャネル装置３００ｎを制御していることを認識し、入出力処理装置２０ｎ＋１にデータ転送指示を行う。【選択図】      図２
2006277250.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と接続されるチャネル装置と、前記チャネル装置に対応する所定入出力処理装置と、前記外部装置とデータ通信を行う際に、前記所定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる演算処理装置と、を含む情報処理装置において、
前記所定入出力処理装置と異なる特定入出力処理装置と、
前記所定入出力処理装置の障害を検出すると、前記所定入出力処理装置の代わりに前記特定入出力処理装置を該チャネル装置に対応させ、かつ、該特定入出力処理装置と該チャネル装置との対応関係を自己に格納し、その後、前記演算処理装置に障害回復報告を通知する診断処理装置と、を含み、
前記演算処理装置は、前記障害回復報告を受け付けると、前記外部装置とデータ通信を行う際に、前記診断処理装置から前記対応関係を読み取り、その読み取られた対応関係に応じて、前記所定入出力処理装置の代わりに前記特定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記特定入出力処理装置は、予備の入出力処理装置である、情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記チャネル装置と異なる特定チャネル装置をさらに含み、
前記特定入出力処理装置は、前記特定チャネル装置と対応し、かつ、前記チャネル装置と対応可能な入出力処理装置である、情報処理装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の情報処理装置において、
前記診断処理装置は、さらに、前記所定入出力処理装置の交換を検出すると、前記特定入出力処理装置の代わりに前記所定入出力処理装置を前記チャネル装置に対応させ、かつ、該所定入出力処理装置と該チャネル装置との元の対応関係を自己に格納し、その後、前記演算処理装置に交換完了を通知する診断処理装置と、を含み、
前記演算処理装置は、前記交換完了を受け付けると、前記外部装置とデータ通信を行う際に、前記診断処理装置から前記元の対応関係を読み取り、その読み取られた元の対応関係に応じて、前記特定入出力処理装置の代わりに前記所定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる、情報処理装置。
【請求項５】
外部装置と接続されるチャネル装置と、前記チャネル装置に対応する所定入出力処理装置と、を含み、前記外部装置とデータ通信を行う際に、前記所定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる情報処理装置が行うデータ通信制御方法であって、
前記情報処理装置は、前記所定入出力処理装置と異なる特定入出力処理装置をさらに含み、
前記所定入出力処理装置の障害を検出すると、前記所定入出力処理装置の代わりに前記特定入出力処理装置を該チャネル装置に対応させ、かつ、該特定入出力処理装置と該チャネル装置との対応関係を格納する診断処理ステップと、
前記外部装置とデータ通信を行う際に、前記格納された対応関係を読み取り、その読み取られた対応関係に応じて、前記所定入出力処理装置の代わりに前記特定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる通信ステップと、を含むデータ通信制御方法。
【請求項６】
請求項５に記載のデータ通信制御方法において、
前記特定入出力処理装置は、予備の入出力処理装置である、データ通信制御方法。
【請求項７】
請求項５に記載のデータ通信制御方法において、
前記情報処理装置は、前記チャネル装置と異なる特定チャネル装置をさらに含み、
前記特定入出力処理装置は、前記特定チャネル装置と対応し、かつ、前記チャネル装置と対応可能な入出力処理装置である、データ通信制御方法。
【請求項８】
請求項５ないし７のいずれか１項に記載のデータ通信制御方法において、
前記所定入出力処理装置の交換を検出すると、前記特定入出力処理装置の代わりに前記所定入出力処理装置を前記チャネル装置に対応させ、かつ、該所定入出力処理装置と該チャネル装置との元の対応関係を自己に格納する交換処理ステップと、
前記外部装置とデータ通信を行う際に、前記格納された元の対応関係を読み取り、その読み取られた元の対応関係に応じて、前記特定入出力処理装置の代わりに前記所定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させるデータ通信ステップと、をさらに含む、データ通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびデータ通信制御方法に関し、特には、故障によるデータ通信の不具合を防止することが可能な情報処理装置およびデータ通信制御方法に関する。
【背景技術】
【０００２】
従来、周辺機器と接続されている制御装置が故障すると、その故障した制御装置を周辺機器から切り離し、その周辺機器を、他の制御装置に接続させる情報処理システムが知られている。
【０００３】
例えば、特許文献１（特開昭５８−２１１２２８号公報）および特許文献２（特開昭６１−２４３５５２号公報）には、複数の制御装置と複数の周辺機器との接続を切り替えることが可能な切替部を含み、この切替部を用いて、制御装置と周辺機器との接続を切り替える情報処理システムが記載されている。
【０００４】
しかしながら、制御装置が、周辺装置とデータ通信を行う入出力処理装置と、演算処理装置と、を有する場合、特許文献１および特許文献２に記載の情報処理システムでは、以下のような問題が生じる。
【０００５】
演算処理装置が正常に動作しているときに入出力処理装置が故障すると、正常に動作している演算処理装置が情報処理システムから切り離されてしまう。このため、正常に動作している演算処理装置を有効に使用できなくなるという問題が生じる。
【０００６】
現在、この問題を解決することが可能な情報処理装置が知られている。
【０００７】
図４４は、この問題を解決することが可能な情報処理装置の一例を示したブロック図である。
【０００８】
図４４において、情報処理装置１は、診断処理装置２と、複数の論理カード３（具体的には、論理カード３ａおよび３ｂ）と、複数のチャネル装置４（具体的には、チャネル装置４ａおよび４ｂ）とを含む。
【０００９】
論理カード３ａは、複数の演算処理装置３ａ１（具体的には、演算処理装置３ａ１ａ〜３ａ１ｃ）と、入出力処理装置３ａ２と、メモリ３ａ３とを含む。また、論理カード３ｂは、複数の演算処理装置３ｂ１（具体的には、演算処理装置３ｂ１ａ〜３ｂ１ｃ）と、入出力処理装置３ｂ２と、メモリ３ｂ３とを含む。
【００１０】
診断処理装置２と、論理カード３ａおよび３ｂと、チャネル装置４ａおよび４ｂとは、バス５を介して相互に接続されている。また、演算処理装置３ａ１ａ〜３ａ１ｃと、入出力処理装置３ａ２と、メモリ３ａ３と、演算処理装置３ｂ１ａ〜３ｂ１ｃと、入出力処理装置３ｂ２と、メモリ３ｂ３も、バス５を介して相互に接続されている。
【００１１】
入出力処理装置３ａ２は、チャネル装置４ａと固定的に対応づけられている。また、入出力処理装置３ｂ２は、チャネル装置４ｂと固定的に対応づけられている。また、チャネル装置４ａは周辺装置５ａと接続され、チャネル装置４ｂも周辺装置５ｂと接続されている。
【００１２】
入出力処理装置３ａ２は、自己に対応するチャネル装置４ａを制御して周辺装置５ａとデータ転送を行い、入出力処理装置３ｂ２は、自己に対応するチャネル装置４ｂを制御して周辺装置５ａとデータ転送を行う。
【００１３】
図４４に示した情報処理装置１は、例えば、以下のように動作する。
【００１４】
論理カード３ａに含まれるいずれかの演算処理装置上で動作するソフトウェアは、例えば、周辺装置５ａとメモリ３ａ３との間でデータ転送を行う場合、自己が動作している演算処理装置に、周辺装置５ａに対応するチャネル装置４ａを指定したデータ転送指示を行う。演算処理装置は、チャネル装置４ａを指定したデータ転送指示を受け付けると、チャネル装置４ａに対応する入出力処理装置３ａ２に、データ転送指示を行う。
【００１５】
入出力処理装置３ａ２は、そのデータ転送指示を受け付けると、チャネル装置４ａを介して周辺装置５ａとデータ転送を行う。
【００１６】
このとき、入出力処理装置３ａ２に故障が発生した場合、入出力処理装置３ａ２を用いた周辺装置５ａへのデータ転送が実行できなくなる。
【００１７】
しかしながら、図４４に示した情報処理装置１は、以下のように動作して周辺装置５ａとのデータ転送を継続する。
【００１８】
診断処理装置２は、チャネル装置４ａに対応する入出力処理装置３ａ２の障害を検出すると、周辺装置５ａに接続されている他のチャネル装置（具体的には、チャネル装置４ｂ）を検索する。診断処理装置２は、その検索結果を演算処理装置に通知する。演算処理装置は、その通知された検索結果をソフトウェアに通知する。
【００１９】
ソフトウェアは、その通知を受けると、周辺装置５ａとメモリ３ａ３との間でデータ転送を行う場合、演算処理装置に、チャネル装置４ｂを指定したデータ転送を実行させるデータ転送指示を出す。演算処理装置は、そのデータ転送指示に応じて、チャネル装置４ｂに対応する入出力処理装置３ｂ２にデータ転送指示を行う。
【００２０】
このため、入出力処理装置３ａ２が故障しても、演算処理装置は、データ転送を継続することが可能になる。
【００２１】
なお、特許文献３（特開平５−３２４９５０号公報）には、エラー情報を格納できる論理カードが記載されている。
【特許文献１】特開昭５８−２１１２２８号公報
【特許文献２】特開昭６１−２４３５５２号公報
【特許文献３】特開平５−３２４９５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
図４４に示した情報処理装置では、入出力処理装置はチャネル装置と固定的に対応づけられている。このため、図４４に示した情報処理装置では、以下のような問題が生じる。
【００２３】
例えば、周辺装置５ａにチャネル装置４ａしか接続されていない状態でチャネル装置４ａに対応する入出力処理装置３ａ２が故障すると、情報処理装置１は周辺装置５ａとデータ転送を行えなくなる。このため、情報処理装置１が情報処理を実行できなくなる可能性が生じる。
【００２４】
また、周辺装置５ａにチャネル装置４ａおよび４ｂが接続されている場合でも、チャネル装置４ａに対応する入出力処理装置３ａ２が故障すると、論理カード３ｂの演算処理装置３ｂ１だけでなく、論理カード３ａの演算処理装置３ａ１も、チャネル装置４ｂを介して周辺装置５ａとデータ転送を行う。このため、チャネル装置４ｂを介した周辺装置５ａとのデータ転送が多くなってしまい、情報処理装置１の性能が低下する可能性が生じる。
【００２５】
情報処理装置１は現在のＩＴ社会の中で重要な役割を担っているため、情報処理装置の停止または性能低下は、社会全体に大きな影響を与えると考えられる。
【００２６】
本発明の目的は、データ通信の不具合によって引き起こされる動作停止および性能低下を防止することが可能な情報処理装置およびデータ通信制御方法を提供することである。
【課題を解決するための手段】
【００２７】
上記目的を達成するために、本発明の情報処理装置は、外部装置と接続されるチャネル装置と、前記チャネル装置に対応する所定入出力処理装置と、前記外部装置とデータ通信を行う際に、前記所定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる演算処理装置と、を含む情報処理装置において、前記所定入出力処理装置と異なる特定入出力処理装置と、前記所定入出力処理装置の障害を検出すると、前記所定入出力処理装置の代わりに前記特定入出力処理装置を該チャネル装置に対応させ、かつ、該特定入出力処理装置と該チャネル装置との対応関係を自己に格納し、その後、前記演算処理装置に障害回復報告を通知する診断処理装置と、を含み、前記演算処理装置は、前記障害回復報告を受け付けると、前記外部装置とデータ通信を行う際に、前記診断処理装置から前記対応関係を読み取り、その読み取られた対応関係に応じて、前記所定入出力処理装置の代わりに前記特定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させることを特徴とする。
【００２８】
また、本発明のデータ通信制御方法は、外部装置と接続されるチャネル装置と、前記チャネル装置に対応する所定入出力処理装置と、を含み、前記外部装置とデータ通信を行う際に、前記所定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる情報処理装置が行うデータ通信制御方法であって、前記情報処理装置は、前記所定入出力処理装置と異なる特定入出力処理装置をさらに含み、前記所定入出力処理装置の障害を検出すると、前記所定入出力処理装置の代わりに前記特定入出力処理装置を該チャネル装置に対応させ、かつ、該特定入出力処理装置と該チャネル装置との対応関係を格納する診断処理ステップと、前記外部装置とデータ通信を行う際に、前記格納された対応関係を読み取り、その読み取られた対応関係に応じて、前記所定入出力処理装置の代わりに前記特定入出力処理装置に前記チャネル装置を用いた前記外部装置とのデータ通信を実行させる通信ステップと、を含む。
【００２９】
上記の発明によれば、所定入出力処理装置の障害が検出されると、所定入出力処理装置の代わりに特定入出力処理装置がチャネル装置に対応し、また、外部装置とデータ通信が行われる際に、所定入出力処理装置の代わりに特定入出力処理装置が、チャネル装置を用いた外部装置とのデータ通信を実行する。
【００３０】
このため、所定入出力処理装置で障害が発生しても、所定入出力処理装置の代わりに特定入出力処理装置がチャネル装置を用いたデータ通信を実行する。よって、所定入出力処理装置で障害が発生しても、チャネル装置を介したデータ通信を継続することが可能になる。したがって、チャネル装置を介したデータ通信を継続させることにより、情報処理装置の停止および性能低下を防止することが可能になる。
【００３１】
なお、前記特定入出力処理装置は、予備の入出力処理装置であることが望ましい。
【００３２】
また、前記チャネル装置と異なる特定チャネル装置がさらに含まれ、前記特定入出力処理装置は、前記特定チャネル装置と対応し、かつ、前記チャネル装置と対応可能な入出力処理装置であることが望ましい。
【００３３】
また、前記所定入出力処理装置の交換が検出されると、前記特定入出力処理装置の代わりに前記所定入出力処理装置が前記チャネル装置に対応し、かつ、該所定入出力処理装置と該チャネル装置との元の対応関係が格納され、前記外部装置とデータ通信を行う際に、前記格納された元の対応関係が読み取られ、その読み取られた元の対応関係に応じて、前記特定入出力処理装置の代わりに前記所定入出力処理装置が、前記チャネル装置を用いた前記外部装置とのデータ通信を実行することが望ましい。
【００３４】
上記の発明によれば、所定入出力処理装置が、自動的に再びチャネル装置に対応することができる。したがって、従来、障害の発生した入出力処理装置を交換する場合、保守員が入出力処理装置を交換後、その交換された入出力処理装置を人手により情報処理装置に組込む必要があり、人為的ミスにより情報処理装置を停止させてしまう可能性があったが、人為的ミスにより情報処理装置を停止させてしまう可能性を少なくすることが可能になる。
【発明の効果】
【００３５】
本発明によれば、データ通信の不具合によって引き起こされる動作停止および性能低下を防止することが可能になる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の一実施例について図面を参照して説明する。
【００３７】
図１は、本発明の一実施例の情報処理装置を示したブロック図である。
【００３８】
図１において、情報処理装置１Ａは、診断処理装置（ＤＧＰ）１０００と、複数の論理カード（ＣＥＬＬｎ）２００ｎ（具体的には、論理カード２０００〜２００７）と、複数のチャネル装置（ＣＨｎ）３００ｎ（具体的には、チャネル装置３０００〜３００７）と、バス５０００とを含む。
【００３９】
診断処理装置１０００と、論理カード２０００〜２００７と、チャネル装置３０００〜３００７とは、バス５０００を介して相互に接続されている。
【００４０】
図２は、論理カード２００ｎの一例を示したブロック図である。さらに言えば、図２は、情報処理装置１Ａ内の、診断処理装置１０００、論理カード２０００、論理カード２００１、チャネル装置３０００、チャネル装置３００１およびバス５０００を示したブロック図である。
【００４１】
論理カード２０００には、複数の演算処理装置（ＥＰＵｎ）１０ｘ（具体的には、演算処理装置１００〜１０２）と、入出力処理装置（ＩＯＰｎ）２００と、メモリ３００とが実装されている。
【００４２】
論理カード２００１には、複数の演算処理装置（ＥＰＵｎ）１０ｘ（具体的には、演算処理装置１０４〜１０６）と、入出力処理装置（ＩＯＰｎ）２０１と、メモリ３０１とが実装されている。
【００４３】
なお、図２には示していないが、他の論理カード（具体的には、論理カード２００２〜２００７）にも、複数の演算処理装置（ＥＰＵｎ）１０ｘ（具体的には、３台の演算処理装置）と、入出力処理装置（ＩＯＰｎ）２０ｎと、メモリ３０ｎとが実装されている。
【００４４】
論理カード２０００〜２００７内の各演算処理装置１０ｘ、入出力処理装置２０ｎおよびメモリ３０ｎも、バス５０００に接続されており、互いにアクセスすることができる。
【００４５】
なお、各演算処理装置１０ｘは同一構成である。各演算処理装置１０ｘは、自己の上で動作するソフトウェア（以下、単に「ソフトウェア」と称する。）の指示に応じて、演算処理を行う。
【００４６】
各チャネル装置３００ｎは、磁気ディスク装置等の周辺装置（ＰＵｎ）４００ｎ（具体的には、周辺装置４０００〜４００７）のいずれかと接続されている（図１参照）。このため、各演算処理装置１０ｘは、メモリ３００〜３０７と周辺装置４０００〜４００７との間でデータ転送を行うことができる。
【００４７】
なお、本実施例では、論理カード２００ｎの数を８としたが、論理カード２００ｎの数は適宜変更可能である。
【００４８】
また、本実施例では、論理カード２００ｎが３つの演算処理装置１０ｘを含むようにしたが、論理カード２００ｎに含まれる演算処理装置１０ｘの数は適宜変更可能である。
【００４９】
図３は、演算処理装置１０ｘの一例を示したブロック図である。なお、各演算処理装置１０ｘは同一構成なので、図３では、演算処理装置１０ｘの一例として演算処理装置１００を示している。
【００５０】
図３において、演算処理装置１００は、処理部１００−１と、ファームウェア（ＦＷ）１００−２と、ローカルメモリ（ＬＭ）１００−３とを含む。
【００５１】
ファームウェア１００−２は、ソフトウェア（この場合、演算処理装置１００上で動作するソフトウェア）からの指示を処理する。
【００５２】
処理部１００−１は、ファームウェア１００−２からの指示に応じて処理を行う。
【００５３】
ローカルメモリ１００−３は、ソフトウェアからの指示を処理するのに必要な情報を格納する。
【００５４】
図４は、演算処理装置１００が有する機能を示した機能ブロック図である。
【００５５】
図４において、演算処理装置１００は、ＣＨｎデータ転送指示部１０と、ＣＨｎ転送終了報告部１１と、ＣＨｎ障害発生報告部１２と、ＣＨｎ障害回復成功報告部１３と、ＣＨｎ障害回復失敗報告部１４と、ＣＨｎ交換完了報告部１５と、ＣＨｎ切り離し部１６と、ＣＨｎ組込部１７と、ソフトウェア実行部１８を含む。
【００５６】
なお、ソフトウェア実行部１８は、処理部１００−１が演算処理装置１００上のソフトウェアを実行することによって実現される。
【００５７】
また、ＣＨｎデータ転送指示部１０と、ＣＨｎ転送終了報告部１１と、ＣＨｎ障害発生報告部１２と、ＣＨｎ障害回復成功報告部１３と、ＣＨｎ障害回復失敗報告部１４と、ＣＨｎ交換完了報告部１５と、ＣＨｎ切り離し部１６と、ＣＨｎ組込部１７とは、処理部１００−１がファームウェア１００−２を実行することによって実現される。
【００５８】
ＣＨｎデータ転送指示部１０は、ソフトウェア（ソフトウェア実行部１８）からの指示にしたがって、メモリ３００ないし３０７と周辺装置４０００ないし４００７との間の、チャネル装置３０００ないし３０００７を介したデータ転送を、入出力処理装置２００ないし２０７に指示する。なお、ＣＨｎデータ転送指示部１０の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００５９】
ＣＨｎ転送終了報告部１１は、入出力処理装置２００ないし２０７から転送終了報告を受け取ると、ソフトウェアに転送終了を報告する。なお、ＣＨｎ転送終了報告部１１の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６０】
ＣＨｎ障害発生報告部１２は、診断処理装置１０００より、チャネル装置３０００ないし３００７を制御する入出力処理装置２００ないし２０７で障害が発生した旨の報告を受け取ると、その旨をソフトウェアに報告する。なお、ＣＨｎ障害発生報告部１２の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６１】
ＣＨｎ障害回復成功報告部１３は、障害発生後に、診断処理装置１０００から入出力処理装置２００ないし２０７が切り替わって回復成功した旨の報告を受け取ると、その旨をソフトウェアに報告する。なお、ＣＨｎ障害回復成功報告部１３の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６２】
ＣＨｎ障害回復失敗報告部１４は、障害発生後に、診断処理装置１０００から入出力処理装置２００ないし２０７の切り替わりが失敗して回復失敗した旨の報告を受け取ると、その旨をソフトウェアに報告する（図４３参照）。なお、ＣＨｎ障害回復失敗報告部１４の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６３】
ＣＨｎ交換完了報告部１５は、診断処理装置１０００より、障害の発生した入出力処理装置２００ないし２０７が交換された旨の報告を受け取ると、その旨をソフトウェアに報告する。なお、ＣＨｎ交換完了報告部１５の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６４】
ＣＨｎ切り離し部１６は、ソフトウェアからの指示により指定されたチャネル装置３０００ないし３００７の切り離しを行う。なお、ＣＨｎ切り離し部１６の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６５】
ＣＨｎ組込部１７は、ソフトウェアからの指示により指定されたチャネル装置３０００ないし３００７の組込を行う。なお、ＣＨｎ組込部１７の動作を規定するソフトウェアは、ファームウェア１００−２に含まれる。
【００６６】
図５は、論理カードに含まれるメモリ３０ｎの一例を示したブロック図である。なお、各メモリ３０ｎは同一構成なので、図５では、メモリ３０ｎの一例としてメモリ３００を示している。
【００６７】
図５において、メモリ３００は、ＩＯＰ構成テーブル４００と、ＣＨ構成テーブル５００とを含む。
【００６８】
ＩＯＰ構成テーブル４００は、入出力処理装置２００ないし２０７が、チャネル装置３０００〜３００７のどのチャネル装置を制御しているかを示す情報を格納する。
【００６９】
図６は、ＩＯＰ構成テーブル４００の一例を示した説明図である。
【００７０】
図６において、ＩＯＰ構成テーブル４００は、入出力処理装置２００〜２０７ごとに２つの入力欄を持ち、これらの入力欄は、入出力処理装置２００〜２０７の識別子であるＩＯＰ番号順（ＩＯＰ０〜ＩＯＰ７）に配置されている。
【００７１】
各入力欄には、入出力処理装置２００〜２０７のＩＯＰ番号（ＩＯＰ０〜ＩＯＰ７）と、そのＩＯＰ番号にて識別される入出力処理装置２００ないし２０７の現況を示す現況情報とが対応づけられて格納される。
【００７２】
なお、入出力処理装置２００ないし２０７が、チャネル装置３０００〜３００７のいずれかを制御している場合、その制御されているチャネル装置３０００ないし３００７の識別子であるＣＨ番号（ＣＨ０ないしＣＨ７）が、入出力処理装置２００ないし２０７の現況情報として、用いられる。
【００７３】
また、入出力処理装置２００ないし２０７が、今はチャネル装置３０００ないし３００７を制御していないが、チャネル装置３０００ないし３００７を制御可能である場合、「利用可能」が、現況情報として用いられる。
【００７４】
また、入出力処理装置２００ないし２０７が予備と定義されチャネル装置３０００ないし３００７を制御できない場合、「予備」が、現況情報として用いられる。
【００７５】
また、入出力処理装置２００ないし２０７が、障害によりチャネル装置３０００ないし３００７を制御できない場合、「利用不能」が、現況情報として用いられる。
【００７６】
図５に戻って、ＣＨ構成テーブル５００は、チャネル装置３０００ないし３００７が入出力処理装置２００〜２０７のどの入出力処理装置によって制御されているかを示す情報を格納する。
【００７７】
図７は、ＣＨ構成テーブル５００の一例を示した説明図である。
【００７８】
図７において、ＣＨ構成テーブル５００は、チャネル装置３０００〜３００７ごとに１つの入力欄を持ち、これらの入力欄は、チャネル装置３０００〜３００７の識別子であるＣＨ番号順（ＣＨ０ないしＣＨ７）で配置されている。
【００７９】
各入力欄には、チャネル装置３０００〜３００７のＣＨ番号（ＣＨ０ないしＣＨ７）と、そのＣＨ番号にて識別されるチャネル装置３０００ないし３００７の現状を示す現状情報とが対応づけられて格納される。
【００８０】
なお、チャネル装置３０００ないし３００７が入出力処理装置２００ないし２０７のいずれかによって制御されている場合、その制御している入出力処理装置２００ないし２０７の識別子であるＩＯＰ番号（ＩＯＰ０ないしＩＯＰ７）が、現状情報として用いられる。
【００８１】
また、チャネル装置３０００ないし３００７が利用できない場合、「利用不能」が、現状情報として用いられる。
【００８２】
図２に戻って、診断処理装置１０００は、情報処理装置１Ａの起動および停止ならびに各装置の対応関係制御および障害処理を行う。
【００８３】
図８は、診断処理装置１０００の一例を示したブロック図である。
【００８４】
図８において、診断処理装置１０００は、処理部１００１と、ファームウェア（ＦＷ）１００２と、ローカルメモリ（ＬＭ）１００３とを含む。
【００８５】
ファームウェア１００２は、情報処理装置１Ａの起動および停止、各装置の対応関係制御および障害処理を行う。
【００８６】
処理部１００１は、ファームウェア１００２の指示に応じて処理を行う。
【００８７】
ローカルメモリ１００３は、情報処理装置１Ａの構成情報を格納し、また、各処理が行われる際に情報を格納する。
【００８８】
図９は、ローカルメモリ１００３の一例を示した説明図である。
【００８９】
図９において、ローカルメモリ１００３は、ＩＯＰ構成情報１００４と、ＣＨ構成情報１００５とを格納する。
【００９０】
ＩＯＰ構成情報１００４は、情報処理装置１Ａが起動された際の、入出力処理装置２００ないし２０７の状態を示す。
【００９１】
図１０は、ＩＯＰ構成情報１００４の一例を示した説明図である。
【００９２】
ＩＯＰ構成情報１００４は、入出力処理装置２００〜２０７ごとに１つの入力欄を有し、ＩＯＰ番号順（ＩＯＰ０〜ＩＯＰ７）で配置されている。
【００９３】
各入力欄には、入出力処理装置２００〜２０７のＩＯＰ番号（ＩＯＰ０ないしＩＯＰ７）と、そのＩＯＰ番号にて識別される入出力処理装置２００ないし２０７の、情報処理装置１Ａの起動時の状態を示す起動状況情報とが対応づけて格納される。
【００９４】
なお、情報処理装置１Ａの起動時に、入出力処理装置２００ないし２０７が利用可能となるように設定される場合、「利用可能」が、起動状況情報として用いられる。
【００９５】
また、入出力処理装置２００ないし２０７が、情報処理装置１Ａの起動時に予備となるように設定される場合、「予備」が、起動状況情報として用いられる。
【００９６】
また、入出力処理装置２００ないし２０７が、情報処理装置１Ａの起動時に利用不能となるように設定される場合、「利用不能」が、起動状況情報として用いられる。
【００９７】
図９に戻って、ＣＨ構成情報１００５は、情報処理装置１Ａが起動された際の、チャネル装置３０００ないし３００７の状態を示す。
【００９８】
図１１は、ＣＨ構成情報１００５の一例を示した説明図である。
【００９９】
ＣＨ構成情報１００５は、チャネル装置３０００〜３００７ごとに１つの入力欄を有し、ＣＨ番号順（ＣＨ０ないしＣＨ７）で配置されている。
【０１００】
各入力欄には、チャネル装置３０００〜３００７のＣＨ番号（ＣＨ０ないしＣＨ７）と、そのＣＨ番号にて識別されるチャネル装置３０００〜３００７の、情報処理装置１Ａの起動時の状態を示す起動状態情報とが対応づけて格納される。
【０１０１】
なお、チャネル装置３０００〜３００７が情報処理装置１Ａの起動時に利用可能となるように設定される場合、「利用可能」が、起動状態情報として用いられる。
【０１０２】
また、チャネル装置３０００〜３００７が情報処理装置１Ａの起動時に利用不能となるように設定される場合、「利用不能」が、起動状態情報として用いられる。
【０１０３】
ＩＯＰ構成情報１００４とＣＨ構成情報１００５は、情報処理装置１Ａの構成にしたがって、診断処理装置１０００に設けられたスイッチにより外部から設定される。
【０１０４】
図１２は、診断処理装置１０００が有する機能を示した機能ブロック図である。
【０１０５】
図１２において、診断処理装置１０００は、ＣＨ組込部２０と、ＣＨｎ組込部２１と、ＣＨｎ切り離し部２２と、障害ＩＯＰｍ切替部２３と、障害ＩＯＰｍ交換部２４と、ローカルメモリ１００３とを含む。
【０１０６】
なお、ＣＨ組込部２０と、ＣＨｎ組込部２１と、ＣＨｎ切り離し部２２と、障害ＩＯＰｍ切替部２３と、障害ＩＯＰｍ交換部２４とは、処理部１００１がファームウェア１００２を実行することによって実現される。
【０１０７】
ＣＨ組込部２０は、情報処理装置１Ａの起動時に、ＩＯＰ構成情報１００４とＣＨ構成情報１００５に従って、入出力処理装置２００〜２０７とチャネル装置３０００〜３００７を利用可能にし、また、入出力処理装置２００〜２０７とチャネル装置３０００〜３００７を対応付け、また、演算処理装置１０ｘが入出力処理装置２００〜２０７とチャネル装置３０００〜３００７を利用可能にする。なお、ＣＨ組込部２０の動作を規定するソフトウェアは、ファームウェア１００２に含まれる。
【０１０８】
ＣＨｎ組込部２１は、演算処理装置１０ｘからの指示により入出力処理装置２００〜２０７とチャネル装置３０００〜３００７を対応付け、演算処理装置１０ｘが周辺装置４０００〜４００７を利用可能にする。なお、ＣＨｎ組込部２１の動作を規定するソフトウェアは、ファームウェア１００２に含まれる。
【０１０９】
ＣＨｎ切り離し部２２は、演算処理装置１０ｘからの指示により入出力処理装置２００〜２０７とチャネル装置３０００〜３００７の対応付けを解除し、演算処理装置１０ｘが周辺装置４０００〜４００７を利用不能にする。なお、ＣＨｎ組込部２１の動作を規定するソフトウェアは、ファームウェア１００２に含まれる。
【０１１０】
障害ＩＯＰｍ切替部２３は、入出力処理装置２００〜２０７の障害発生時に、入出力処理装置２００〜２０７とチャネル装置３０００〜３００７の対応付けを解除する。障害ＩＯＰｍ切替部２３は、さらに、演算処理装置１００〜１２３に、障害が発生した入出力処理装置２００ないし２０７に対応するチャネル装置２００ないし２０７で障害が発生した旨を通知する。
【０１１１】
また、障害ＩＯＰｍ切替部２３は、予備または未使用の、使用可能なＳＬＯＴを持つ入出力処理装置２００〜２０７を、障害の発生した入出力処理装置２００ないし２０７が対応していたチャネル装置３０００ないし３００７に対応させて演算処理装置１０ｘが継続して周辺装置４０００ないし４００７を利用可能にし、その後、演算処理装置１０ｘに障害の回復成功を報告する。
【０１１２】
なお、障害ＩＯＰｍ切替部２３の動作を規定するソフトウェアは、ファームウェア１００２に含まれる。
【０１１３】
障害ＩＯＰｍ交換部２４は、障害の発生した入出力処理装置２００ないし２０７が交換されたとき、交換された入出力処理装置２００ないし２０７を利用可能にし、交換が完了したことを演算処理装置１０ｘに報告する。
【０１１４】
図２に戻って、入出力処理装置２００〜２０７は、演算処理装置１０ｘからの指示により、診断処理装置１０００によって対応されたチャネル装置３０００ないし３００７を制御して、その制御されたチャネル装置３０００ないし３００７に接続された周辺装置４０００ないし４００７とメモリ３００ないし３０７との間でデータ転送を行う。
【０１１５】
周辺装置４０００ないし４００７とメモリ３００ないし３０７とのデータ転送は、入出力処理装置２００ないし２０７を介して行われる。
【０１１６】
図１３は、入出力処理装置２０ｎの一例を示したブロック図である。なお、各入出力処理装置２０ｎは同一構成なので、図１３では、入出力処理装置２０ｎの一例として入出力処理装置２００を示している。
【０１１７】
図１３において、入出力処理装置２００は、処理部２００−１と、ファームウェア２００−３と、ローカルメモリ２００−４とを含む。
【０１１８】
ファームウェア２００−３は、演算処理装置１０ｘまたは診断処理装置１０００からの指示に応じて処理を行う。
【０１１９】
処理部２００−１は、ファームウェア２００−３からの指示に応じて処理を行う。
【０１２０】
ローカルメモリ２００−４は、ファームウェア２００−３と処理部２００−１がチャネル装置３０００〜３００７を制御してデータ転送を行うために必要な情報を格納する。
【０１２１】
ローカルメモリ２００−４は、２つのＳＬＯＴ（スロット）２００−５、２００−６を含む。各ＳＬＯＴは、１台のチャネル装置３０００ないし３００７を制御してデータ転送するために必要な情報を格納する。
【０１２２】
また、各ＳＬＯＴ２００−５、２００−６は、未使用なのか、または、チャネル装置３０００ないし３００７で使用されているかを示す情報を格納する。その格納された情報は、ファームウェア２００−３にて読み出される。ファームウェア２００−３は、その読み出された情報に基づいて、各ＳＬＯＴ２００−５、２００−６が未使用なのか、または、チャネル装置３０００ないし３００７で使用されているかを判断する。なお、ファームウェア２００−３は、各ＳＬＯＴ２００−５、２００−６に対して読み書きが可能である。
【０１２３】
処理部２００−１は、ＳＬＯＴ切替部２００−２を含む。
【０１２４】
ＳＬＯＴ切替部２００−２は、ＳＬＯＴ２００−５とＳＬＯＴ２００−６のいずれの情報にしたがってチャネル装置３０００ないし３００７を制御するかを決定する。
【０１２５】
具体的には、ＳＬＯＴ切替部２００−２は、ファームウェア２００−３によって制御され、ＳＬＯＴ２００−５または２００−６の情報を使用してデータ転送を行うかを制御することができる。
【０１２６】
これらの機能により、入出力処理装置２００〜２０７は同時に２台のチャネル装置３０００〜３００７を制御してデータ転送を行うことが可能となる。
【０１２７】
図１４は、入出力処理装置２００が有する機能を示した機能ブロック図である。
【０１２８】
図１４において、入出力処理装置２００は、ＣＨｎ組込部３０と、ＣＨｎ切り離し部３１と、ＣＨｎデータ転送部３２とを含む。なお、ＣＨｎ組込部３０と、ＣＨｎ切り離し部３１と、ＣＨｎデータ転送部３２とは、処理部２００−１がファームウェア２００−３を実行することによって実現される。
【０１２９】
ＣＨｎ組込部３０は、診断処理装置１０００または演算処理装置１０ｘからの指示により、その指示により指定されたチャネル装置３０００ないし３００７をデータ転送できるように設定し、演算処理装置１０ｘが周辺装置４０００ないし４００７を利用可能にする。なお、ＣＨｎ組込部３０の動作を規定するソフトウェアは、ファームウェア２００−３に含まれる。
【０１３０】
ＣＨｎ切り離し部３１は、診断処理装置１０００または演算処理装置１０ｘからの指示により、チャネル装置３０００ないし３００７の動作を停止させ、演算処理装置１０ｘが周辺装置４０００ないし４００７を利用不能にする。
【０１３１】
ＣＨｎデータ転送部３２は、演算処理装置１０ｘからの指示により、その指示にて指定されたチャネル装置３０００ないし３００７を使用してデータ転送を行う。
【０１３２】
次に、動作の概要を説明する。
【０１３３】
チャネル装置３００ｎを制御する入出力処理装置２０ｎで障害が発生すると、診断処理装置１０００は、入出力処理装置２０ｎでの障害発生を検出する。
【０１３４】
診断処理装置１０００は、入出力処理装置２０ｎでの障害発生を検出すると、障害ＩＯＰｍ切替部２３を動作させる。
【０１３５】
障害ＩＯＰｍ切替部２３は、もう１台チャネル装置３０００〜３００７を制御可能な入出力処理装置２０ｎ＋１、または、予備の入出力処理装置２０ｎ＋１に、チャネル装置３００ｎを制御させる。
【０１３６】
その後、障害ＩＯＰｍ切替部２３は、チャネル装置３００ｎで障害が発生し、その障害が回復したことを、演算処理装置１０ｘに報告する。
【０１３７】
さらに、障害ＩＯＰｍ切替部２３は、入出力処理装置２０ｎ＋１がチャネル装置３００ｎを制御している旨をＣＨ構成テーブル５００に格納する。なお、ＣＨ構成テーブル５００に格納された情報は、演算処理装置１０ｘにて確認される。
【０１３８】
演算処理装置１０ｘは、診断処理装置１０００からチャネル装置３００ｎの障害発生報告とその回復報告を受けると、ＣＨｎ障害発生報告部１２とＣＨｎ障害回復成功報告部１３とを動作させる。
【０１３９】
ＣＨｎ障害発生報告部１２は、ソフトウェアにチャネル装置３００ｎの障害発生を報告し、また、ＣＨｎ障害回復成功報告部１３は、チャネル装置３００ｎの回復を報告する。
【０１４０】
演算処理装置１０ｘは、ソフトウェアに回復報告を行った後、ソフトウェアからチャネル装置３００ｎを指定したデータ転送を指示されたとき、演算処理装置１０ｘはＣＨｎデータ転送指示部１０を動作させる。
【０１４１】
ＣＨｎデータ転送指示部１０は、ＣＨ構成テーブル５００を参照して、入出力処理装置２０ｎ＋１がチャネル装置３００ｎを制御していることを認識する。
【０１４２】
ＣＨｎデータ転送指示部１０は、チャネル装置３００ｎを制御する入出力処理装置２０ｎ＋１にデータ転送指示を行う。
【０１４３】
このため、チャネル装置３００ｎを制御する入出力処理装置２０ｎで障害が発生しても、入出力処理装置２０ｎの代わりに入出力処理装置２０ｎ＋１がチャネル装置３００ｎを制御する。よって、チャネル装置３００ｎを介したデータ転送を継続することが可能になる。したがって、チャネル装置３００ｎを介したデータ転送を継続させ、情報処理装置の停止および性能低下を防止することが可能になる。
【０１４４】
また、障害の発生した入出力処理装置２０ｎが交換されると、診断処理装置１０００は障害ＩＯＰｍ交換部２４を動作させる。
【０１４５】
障害ＩＯＰｍ交換部２４は、交換された入出力処理装置２０ｎにチャネル装置３００ｎを制御させる。その後、障害ＩＯＰｍ交換部２４は、演算処理装置１０ｘに、チャネル装置３００ｎの交換が完了したことを報告する。
【０１４６】
演算処理装置１０ｘは、その報告を受けると、ＣＨｎ交換完了報告部１５を動作させてソフトウェアにチャネル装置３００ｎの交換が完了したことを報告する。
【０１４７】
ソフトウェアは、その報告によって、障害の発生した入出力処理装置２０ｎが交換されたことを認識する。
【０１４８】
ソフトウェアは、入出力処理装置２０ｎが交換されたことを認識すると、演算処理装置１０ｘに、チャネル装置３００ｎの切り離しを指示し、その後、再度チャネル装置３００ｎの組込を指示する。
【０１４９】
このため、入出力処理装置２０ｎが、ソフトウェアの指示に基づいて、再びチャネル装置３００ｎを制御することができる。
【０１５０】
したがって、従来、障害の発生した入出力処理装置２０ｎを交換する場合、保守員が入出力処理装置２０ｎを交換後、その交換された入出力処理装置２０ｎを人手により情報処理装置に組込む必要があり、人為的ミスにより情報処理装置を停止させてしまう可能性があったが、人為的ミスにより情報処理装置を停止させてしまう可能性を少なくすることが可能になる。
【０１５１】
次に、動作を具体的に説明する。
【０１５２】
最初に、情報処理装置１Ａの起動時に、診断処理装置１０００のローカルメモリ１００３内のＩＯＰ構成情報１００４とＣＨ構成情報１００５が、図１５、図１６に示したように設定されていた場合の動作を説明する。
【０１５３】
ＩＯＰ構成情報１００４では、図１５のように全ての入出力処理装置２００〜２０７が利用可能と設定され、また、ＣＨ構成情報１００５では、図１６のように全てのチャネル装置３０００〜３００７が利用可能と設定されている。
【０１５４】
この状態で情報処理装置１Ａが起動すると、診断処理装置１０００のＣＨ組込部２０が動作を開始する。
【０１５５】
図１７は、ＣＨ組込部２０の動作を説明するためのフローチャートである。以下、図１７を参照して、ＣＨ組込部２０の動作を説明する。
【０１５６】
情報処理装置１Ａが起動されると、ＣＨ組込部２０は、ステップ２０−１を実行する。
【０１５７】
ステップ２０−１では、ＣＨ組込部２０は、全ての入出力処理装置２００〜２０７と全てのチャネル装置３０００〜３００７をリセットする。ＣＨ組込部２０は、ステップ２０−１を終了すると、ステップ２０−２を実行する。
【０１５８】
ステップ２０−２では、ＣＨ組込部２０は変数ｎに０を代入する。ＣＨ組込部２０は、ステップ２０−２を終了すると、ステップ２０−３を実行する。
【０１５９】
ステップ２０−３では、ＣＨ組込部２０は、ＩＯＰ構成情報１００４からＩＯＰｎ（２０ｎ）の入力欄に登録されている情報を読み出す。ＣＨ組込部２０は、ステップ２０−３を終了すると、ステップ２０−４を実行する。
【０１６０】
ステップ２０−４では、ＣＨ組込部２０は、その読み出された情報に、ＩＯＰｎが利用可能と対応づけて設定されているか否かを判断する。ＣＨ組込部２０は、ＩＯＰｎが利用可能と対応づけて設定されていると、ステップ２０−５を実行し、一方、ＩＯＰｎが利用可能と対応づけて設定されていないと、ステップ２０−６を実行する。
【０１６１】
ステップ２０−６では、ＣＨ組込部２０は、その読み出された情報にてＩＯＰｎが予備と対応づけて設定されているか否かを判断する。ＣＨ組込部２０は、ＩＯＰｎが予備と対応づけて設定されていると、ステップ２０−７を実行し、一方、ＩＯＰｎが予備と対応づけて設定されていないと、ステップ２０−８を実行する。
【０１６２】
ステップ２０−５では、ＣＨ組込部２０は、論理カード２０００〜２００７に含まれる各メモリ３０ｎに格納されたＩＯＰ構成テーブル４００（図６参照）のＩＯＰｎ（２０ｎ）に２つの入力欄に利用可能を設定する。ＣＨ組込部２０は、ステップ２０−５を終了すると、ステップ２０−９を実行する。
【０１６３】
一方、ステップ２０−７では、ＣＨ組込部２０は、論理カード２０００〜２００７に含まれる各メモリ３０ｎに格納されたＩＯＰ構成テーブル４００（図６参照）のＩＯＰｎ（２０ｎ）に２つの入力欄に予備を設定する。ＣＨ組込部２０は、ステップ２０−７を終了すると、ステップ２０−９を実行する。
【０１６４】
一方、ステップ２０−８では、ＣＨ組込部２０は、論理カード２０００〜２００７に含まれる各メモリ３０ｎに格納されたＩＯＰ構成テーブル４００（図６参照）のＩＯＰｎ（２０ｎ）に２つの入力欄に利用不能を設定する。ＣＨ組込部２０は、ステップ２０−８を終了すると、ステップ２０−９を実行する。
【０１６５】
ステップ２０−９では、ＣＨ組込部２０は変数ｎに１を加える。ＣＨ組込部２０は、ステップ２０−９を終了すると、ステップ２０−１０を実行する。
【０１６６】
ステップ２０−１０では、ＣＨ組込部２０は、変数ｎが７より大きいか否かを判断する。ＣＨ組込部２０は、変数ｎが７より大きくない場合にはステップ２０−３を実行し、一方、変数ｎが７より大きい場合にはステップ２０−１１を実行する。
【０１６７】
なお、本例では、ＩＯＰ構成情報１００４は全て利用可能に設定されている。このため、ＩＯＰ構成テーブル４００の入出力処理装置２００〜２０７の２つの入力欄には、利用可能が設定される。
【０１６８】
ステップ２０−１１では、ＣＨ組込部２０は変数ｎに０を代入する。ＣＨ組込部２０は、ステップ２０−１１を終了すると、ステップ２０−１２を実行する。
【０１６９】
ステップ２０−１２では、ＣＨ組込部２０は、診断処理装置１０００内のＣＨ構成情報１００５からＣＨｎ（３００ｎ）の入力欄に登録されている情報を読み出す。ＣＨ組込部２０は、ステップ２０−１２を終了すると、ステップ２０−１３を実行する。
【０１７０】
ステップ２０−１３では、ＣＨ組込部２０は、その読み出された情報にてＣＨｎが利用可能と対応づけて設定されているか否かを判断する。ＣＨ組込部２０は、ＣＨｎが利用可能と対応づけて設定されていると、ステップ２０−１４を実行し、一方、ＣＨｎが利用可能と対応づけて設定されていないと、ステップ２０−２２を実行する。
【０１７１】
ステップ２０−１４では、ＣＨ組込部２０は、チャネル装置３００ｎの番号ｎと同じ番号ｎを有する入出力処理装置２０ｎの状態を、ＩＯＰ構成テーブル４００が有する入出力処理装置２０ｎ（ＩＯＰｎ）の２つの入力欄から読み出す。ＣＨ組込部２０は、ステップ２０−１４を終了すると、ステップ２０−１５を実行する。
【０１７２】
ステップ２０−１５では、ＣＨ組込部２０は、その読み出された入出力処理装置２０ｎの状態のうち、少なくとも１つが利用可能であるか否かを判断する。ＣＨ組込部２０は、少なくとも１つが利用可能である場合にはステップ２０−１６を実行し、一方、両方とも利用不能である場合にはステップ２０−２２を実行する。
【０１７３】
ステップ２０−１６では、ＣＨ組込部２０は、入出力処理装置２０ｎとチャネル装置３００ｎのリセットを解除する。ＣＨ組込部２０は、ステップ２０−１６を終了すると、ステップ２０−１７を実行する。
【０１７４】
ステップ２０−１７では、ＣＨ組込部２０は、入出力処理装置２０ｎに、チャネル装置３００ｎを指定した組込指示を出す。ＣＨ組込部２０は、ステップ２０−１７を終了すると、ステップ２０−１８を実行する。
【０１７５】
ステップ２０−１８では、ＣＨ組込部２０は、ＩＯＰ構成テーブル４００の入出力処理装置２０ｎに対応する入力欄の１つにチャネル装置３００ｎのＣＨ番号（ＣＨｎ）を設定する。ＣＨ組込部２０は、ステップ２０−１８を終了すると、ステップ２０−１９を実行する。
【０１７６】
ステップ２０−１９では、ＣＨ組込部２０は、ＣＨ構成テーブル５００のチャネル装置３００ｎに対応する入力欄に入出力処理装置２０ｎのＩＯＰ番号（ＩＯＰｎ）を設定する）。ＣＨ組込部２０は、ステップ２０−１９を終了すると、ステップ２０−２０を実行する。
【０１７７】
ステップ２０−２０では、ＣＨ組込部２０は変数ｎに１を加える。ＣＨ組込部２０は、ステップ２０−２０を終了すると、ステップ２０−２１を実行する。
【０１７８】
ステップ２０−２１では、ＣＨ組込部２０は、変数ｎが７より大きいか否かを判断する。ＣＨ組込部２０は、変数ｎが７より大きくない場合にはステップ２０−１２を実行し、一方、変数ｎが７より大きい場合にはステップ２０−２３を実行する。
【０１７９】
ステップ２０−２３では、ＣＨ組込部２０は動作を終了する。
【０１８０】
一方、ステップ２０−２２では、ＣＨ組込部２０は、ＣＨ構成テーブル５００のチャネル装置３００ｎに対応する入力欄に利用不能を設定する。ＣＨ組込部２０は、ステップ２０−２２を終了すると、ステップ２０−２０を実行する。
【０１８１】
なお、本例では、ＣＨ構成情報１００５は全て利用可能に設定されているので、ＩＯＰ構成テーブル４００は図１８に示すようになり、ＣＨ構成テーブル５００は図１９に示すようになる。
【０１８２】
診断処理装置１０００のＣＨ組込部２０が動作することにより、入出力処理装置２０ｎに対してチャネル装置３００ｎを指定した組込指示が出されると、入出力処理装置２０ｎではＣＨｎ組込部３０が動作する。
【０１８３】
図２０は、ＣＨｎ組込部３０の動作を説明するためのフローチャートである。以下、図２０を参照してＣＨｎ組込部３０の動作を説明する。
【０１８４】
ＣＨｎ組込部３０は、入出力処理装置２０ｎ（図１３参照）がチャネル装置３００ｎを指定した組込指示を受け付けると、ステップ３０−１を実行する。
【０１８５】
ステップ３０−１では、ＣＨｎ組込部３０は、処理部２０ｎ−１がＳＬＯＴ０２０ｎ−５にアクセスできるように、ＳＬＯＴ切替部２０ｎ−２を設定する。ＣＨｎ組込部３０は、ステップ３０−１を終了すると、ステップ３０−２を実行する。
【０１８６】
ステップ３０−２では、ＣＨｎ組込部３０は、ＳＬＯＴ０２０ｎ−５の情報を読み出す。ＣＨｎ組込部３０は、ステップ３０−２を終了すると、ステップ３０−３を実行する。
【０１８７】
ステップ３０−３では、ＣＨｎ組込部３０は、その読み出された情報に基づいて、ＳＬＯＴ０２０ｎ−５が未使用で使用可能か否かを確認する。ＣＨｎ組込部３０は、ＳＬＯＴ０２０ｎ−５が使用可能である場合にはステップ３０−４を実行し、一方、ＳＬＯＴ０２０ｎ−５が使用不能である場合にはステップ３０−７を実行する。
【０１８８】
ステップ３０−４では、ＣＨｎ組込部３０は、ＳＬＯＴ０２０ｎ−５に、組込指示にて指定されたチャネル装置３００ｎで使用中を設定し、さらに、ＳＬＯＴ０２０ｎ−５に、チャネル装置３００ｎの制御情報を設定する。ＣＨｎ組込部３０は、ステップ３０−４を終了すると、ステップ３０−５を実行する。
【０１８９】
ステップ３０−５では、ＣＨｎ組込部３０は、チャネル装置３００ｎを初期化し、入出力処理装置２０ｎとチャネル装置３００ｎが対応していることをチャネル装置３００ｎに設定する。ＣＨｎ組込部３０は、ステップ３０−５を終了すると、ステップ３０−６を実行する。
【０１９０】
ステップ３０−６では、ＣＨｎ組込部３０は動作を終了する。
【０１９１】
一方、ステップ３０−７では、ＣＨｎ組込部３０は、処理部２０ｎ−１がＳＬＯＴ１２０ｎ−６にアクセスできるように、ＳＬＯＴ切替部２０ｎ−２を設定する。ＣＨｎ組込部３０は、ステップ３０−７を終了すると、ステップ３０−８を実行する。
【０１９２】
ステップ３０−８では、ＣＨｎ組込部３０は、ＳＬＯＴ１２０ｎ−６の情報を読み出す。ＣＨｎ組込部３０は、ステップ３０−８を終了すると、ステップ３０−９を実行する。
【０１９３】
ステップ３０−９では、ＣＨｎ組込部３０は、その読み出された情報に基づいて、ＳＬＯＴ１２０ｎ−６が未使用で使用可能か否かを確認する。ＣＨｎ組込部３０は、ＳＬＯＴ１２０ｎ−６が使用可能である場合にはステップ３０−１０を実行し、一方、ＳＬＯＴ１２０ｎ−６が使用不能である場合にはステップ３０−１１を実行する。
【０１９４】
ステップ３０−１０では、ＣＨｎ組込部３０は、ＳＬＯＴ１２０ｎ−６に、組込指示にて指定されたチャネル装置３００ｎで使用中を設定し、さらに、ＳＬＯＴ１２０ｎ−６に、チャネル装置３００ｎの制御情報を設定する。ＣＨｎ組込部３０は、ステップ３０−１０を終了すると、ステップ３０−５を実行する。
【０１９５】
一方、ステップ３０−１１では、ＣＨｎ組込部３０は動作を終了する。
【０１９６】
なお、本例では、ステップ３０−２で読み出された情報が、ＳＬＯＴ０２０ｎ−５は未使用であることを示すので、ＳＬＯＴ０２０ｎ−５に、組込指示にて指定されたチャネル装置３００ｎの制御情報が設定され、ＳＬＯＴ０２０ｎ−５はチャネル装置３００ｎによって使用中に設定される。この時点では、入出力処理装置２０ｎのＳＬＯＴ１２０ｎ−６は未使用で使用可能となっている。
【０１９７】
診断処理装置１０００のＣＨ組込部２０と入出力処理装置２００のＣＨｎ組込部３０との動作によって、入出力処理装置２０ｎはチャネル装置３００ｎに対応する。
【０１９８】
入出力処理装置２０ｎがチャネル装置３００ｎに対応すると、入出力処理装置２０ｎおよびチャネル装置３００ｎは、演算処理装置１０ｘにより利用可能な状態となる。この状態になると、演算処理装置１０ｘは、ソフトウェアからの指示によりチャネル装置３００ｎを指定したデータ転送指示を入出力処理装置２０ｎに対して出力することができる。
【０１９９】
次に、演算処理装置１００がソフトウェアからの指示によりチャネル装置３０００を指定したデータ転送指示を入出力処理装置２００に出すときの動作を説明する。
【０２００】
まず、ソフトウェアからの指示により演算処理装置１００のＣＨｎデータ転送指示部１０が動作を開始する。
【０２０１】
図２１は、ＣＨｎデータ転送指示部１０の動作を説明するためのフローチャートである。以下、図２１を参照してＣＨｎデータ転送指示部１０の動作を説明する。
【０２０２】
ＣＨｎデータ転送指示部１０は、動作を開始すると、ステップ１０−１を実行する。
【０２０３】
ステップ１０−１では、ＣＨｎデータ転送指示部１０は、ＣＨ構成テーブル５００より、ソフトウェアから指示されたチャネル装置３０００の入力欄に格納されている情報を読み出す。ＣＨｎデータ転送指示部１０は、ステップ１０−１を終了すると、ステップ１０−２を実行する。
【０２０４】
ステップ１０−２では、ＣＨｎデータ転送指示部１０は、その読み出された情報に、チャネル装置３０００に対応する入出力処理装置２００のＩＯＰ番号が記載されているか否かを確認する。
【０２０５】
なお、その読み出された情報に入出力処理装置２００のＩＯＰ番号が記載されていると、チャネル装置３０００は利用可能であり、一方、その読み出された情報に入出力処理装置２００のＩＯＰ番号が記載されていないと、チャネル装置３０００は利用不能である。
【０２０６】
ＣＨｎデータ転送指示部１０は、チャネル装置３０００が利用可能な場合にはステップ１０−３を実行し、一方、チャネル装置３０００が利用不能な場合にはステップ１０−６を実行する。
【０２０７】
ステップ１０−３では、ＣＨｎデータ転送指示部１０は、入出力処理装置２００に対してチャネル装置３０００を指定したデータ転送指示を出す。ＣＨｎデータ転送指示部１０は、ステップ１０−３を終了すると、ステップ１０−４を実行する。
【０２０８】
ステップ１０−４では、ＣＨｎデータ転送指示部１０は、ソフトウェアに指示成功を報告する。ＣＨｎデータ転送指示部１０は、ステップ１０−４を終了すると、ステップ１０−５を実行する。
【０２０９】
ステップ１０−５では、ＣＨｎデータ転送指示部１０は動作を終了する。
【０２１０】
一方、ステップ１０−６では、ＣＨｎデータ転送指示部１０は、ソフトウェアに指示失敗を報告する。ＣＨｎデータ転送指示部１０は、ステップ１０−６を終了すると、ステップ１０−７を実行する。
【０２１１】
ステップ１０−７では、ＣＨｎデータ転送指示部１０は動作を終了する。
【０２１２】
なお、本例では、ＣＨ構成テーブル５００のチャネル装置３０００の入力欄には入出力処理装置２００のＩＯＰ番号が格納され、チャネル装置３０００が利用可能となっているので、ＣＨｎデータ転送指示部１０は、入出力処理装置２００に対してチャネル装置３０００を指定したデータ転送指示を行い、ソフトウェアに指示成功を報告する。
【０２１３】
ソフトウェアは、指示成功を受け付けると、演算処理装置１００から出力されるデータ転送終了の報告を待つ。
【０２１４】
一方、演算処理装置１００は、入出力処理装置２００から出力されるデータ転送完了の報告を待つ。演算処理装置１００がそのデータ転送完了の報告を受け取ると、ＣＨｎ転送終了報告部１１が動作を開始する。
【０２１５】
図２２は、ＣＨｎ転送終了報告部１１の動作を説明するためのフローチャートである。以下、図２２を参照してＣＨｎ転送終了報告部１１の動作を説明する。
【０２１６】
ＣＨｎ転送終了報告部１１は、動作を開始すると、ステップ１１−１を実行する。
【０２１７】
ステップ１１−１では、ＣＨｎ転送終了報告部１１は、ソフトウェアにチャネル装置３０００の転送終了を報告する。ＣＨｎ転送終了報告部１１は、ステップ１１−１を終了すると、ステップ１１−２を実行する。
【０２１８】
ステップ１１−２では、ＣＨｎ転送終了報告部１１は動作を終了する。
【０２１９】
一方、入出力処理装置２００は、演算処理装置１００よりチャネル装置３０００を指定したデータ転送指示を受け付けると、ＣＨｎデータ転送部３２を動作させる。
【０２２０】
図２３は、ＣＨｎデータ転送部３２の動作を説明するためのフローチャートである。以下、図２３を参照してＣＨｎデータ転送部３２の動作を説明する。
【０２２１】
ＣＨｎデータ転送部３２は、動作を開始すると、ステップ３２−１を実行する。
【０２２２】
ステップ３２−１では、ＣＨｎデータ転送部３２は、処理部２０ｎ−１がＳＬＯＴ０２０ｎ−５にアクセスできるように、ＳＬＯＴ切替部２０ｎ−２を設定する。ＣＨｎデータ転送部３２は、ステップ３２−１を終了すると、ステップ３２−２を実行する。
【０２２３】
ステップ３２−２では、ＣＨｎデータ転送部３２は、ＳＬＯＴ０２０ｎ−５の情報を読み出す。ＣＨｎデータ転送部３２は、ステップ３２−２を終了すると、ステップ３２−３を実行する。
【０２２４】
ステップ３２−３では、ＣＨｎデータ転送部３２は、その読み出された情報が、ＳＬＯＴ０２０ｎ−５がチャネル装置３００ｎで使用中を示しているか否かを確認する。
【０２２５】
ＣＨｎデータ転送部３２は、その読み出された情報が、ＳＬＯＴ０２０ｎ−５がチャネル装置３００ｎで使用中を示している場合にはステップ３２−４を実行し、一方、その読み出された情報が、ＳＬＯＴ０２０ｎ−５がチャネル装置３００ｎで使用中を示していない場合にはステップ３２−７を実行する。
【０２２６】
ステップ３２−４では、ＣＨｎデータ転送部３２は、ＳＬＯＴ０２００−５に格納されているチャネル装置３００ｎの情報に基づいてチャネル装置３００ｎを制御してデータ転送を行う。ＣＨｎデータ転送部３２は、ステップ３２−４を終了すると、ステップ３２−５を実行する。
【０２２７】
ステップ３２−５では、ＣＨｎデータ転送部３２は、演算処理装置１００にデータ転送の完了を報告する。ＣＨｎデータ転送部３２は、ステップ３２−５を終了すると、ステップ３２−６を実行する。
【０２２８】
ステップ３２−６では、ＣＨｎデータ転送部３２は動作を終了する。
【０２２９】
一方、ステップ３２−７では、ＣＨｎデータ転送部３２は、処理部２０ｎ−１がＳＬＯＴ１２０ｎ−６にアクセスできるように、ＳＬＯＴ切替部２０ｎ−２を設定する。ＣＨｎデータ転送部３２は、ステップ３２−７を終了すると、ステップ３２−８を実行する。
【０２３０】
ステップ３２−８では、ＣＨｎデータ転送部３２は、ＳＬＯＴ１２０ｎ−６の情報を読み出す。ＣＨｎデータ転送部３２は、ステップ３２−８を終了すると、ステップ３２−９を実行する。
【０２３１】
ステップ３２−９では、ＣＨｎデータ転送部３２は、その読み出された情報が、ＳＬＯＴ１２０ｎ−６がチャネル装置３００ｎで使用中を示しているか否かを確認する。
【０２３２】
ＣＨｎデータ転送部３２は、その読み出された情報が、ＳＬＯＴ１２０ｎ−６がチャネル装置３００ｎで使用中を示している場合にはステップ３２−４を実行し、一方、その読み出された情報が、ＳＬＯＴ１２０ｎ−６がチャネル装置３００ｎで使用中を示していない場合にはステップ３２−１０を実行する。
【０２３３】
ステップ３２−１０では、ＣＨｎデータ転送部３２は動作を終了する。
【０２３４】
なお、本例では、ＳＬＯＴ０２００−５にはチャネル装置３０００の情報が格納され、さらに、チャネル装置３０００で使用中の情報が格納されているので、ＣＨｎデータ転送部３２は、この情報に基づき、チャネル装置３０００を制御してデータ転送を行い、演算処理装置１００にデータ転送の完了を報告する。
【０２３５】
次に、演算処理装置１００がソフトウェアからの指示によりチャネル装置３０００を指定したデータ転送指示を入出力処理装置２００に出しているときに、入出力処理装置２００で障害が発生した場合の動作を説明する。
【０２３６】
入出力処理装置２００で障害が発生すると、診断処理装置１０００の障害ＩＯＰｍ切替部２３が動作を開始する。
【０２３７】
図２４および２５は、障害ＩＯＰｍ切替部２３の動作を説明するためのフローチャートである。以下、図２４および２５を参照して障害ＩＯＰｍ切替部２３の動作を説明する。
【０２３８】
障害ＩＯＰｍ切替部２３は、動作を開始すると、ステップ２３−１を実行する。
【０２３９】
ステップ２３−１では、障害ＩＯＰｍ切替部２３は、障害の発生した入出力処理装置２００をリセットして入出力処理装置２００の動作を停止させる。障害ＩＯＰｍ切替部２３は、ステップ２３−１を終了すると、ステップ２３−２を実行する。
【０２４０】
ステップ２３−２では、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００より、入出力処理装置２００の対応する２つの入力欄に格納されている情報を読み出し、その読み出された２つの情報を１つずつ格納部ａ、ｂに格納する。なお、格納部ａ、ｂは、障害ＩＯＰｍ切替部２３に含まれる。
【０２４１】
障害ＩＯＰｍ切替部２３は、ステップ２３−２を終了すると、ステップ２３−３を実行する。
【０２４２】
ステップ２３−３では、障害ＩＯＰｍ切替部２３は、格納部ａに格納された情報がＣＨ番号を有しているか否か判定する。なお、障害ＩＯＰｍ切替部２３は、格納部ａに格納された情報がＣＨ番号を有している場合にはＣＨａが有効であると判定し、一方、格納部ａに格納された情報がＣＨ番号を有していない場合にはＣＨａが有効でないと判定する。
【０２４３】
障害ＩＯＰｍ切替部２３は、ＣＨａが有効であると判定した場合にはステップ２３−４を実行し、一方、ＣＨａが有効でないと判定した場合にはステップ２３−６を実行する。
【０２４４】
ステップ２３−４では、障害ＩＯＰｍ切替部２３は、格納部ａに格納された情報が示すＣＨ番号のチャネル装置をリセットする。障害ＩＯＰｍ切替部２３は、ステップ２３−４を終了すると、ステップ２３−５を実行する。
【０２４５】
ステップ２３−５では、障害ＩＯＰｍ切替部２３は、演算処理装置１００に、格納部ａに格納された情報が示すＣＨ番号のチャネル装置の障害発生を報告する。障害ＩＯＰｍ切替部２３は、ステップ２３−５を終了すると、ステップ２３−６を実行する。
【０２４６】
ステップ２３−６では、障害ＩＯＰｍ切替部２３は、格納部ｂに格納された情報がＣＨ番号を有しているか否か判定する。なお、障害ＩＯＰｍ切替部２３は、格納部ｂに格納された情報がＣＨ番号を有している場合にはＣＨｂが有効であると判定し、一方、格納部ｂに格納された情報がＣＨ番号を有していない場合にはＣＨｂが有効でないと判定する。
【０２４７】
障害ＩＯＰｍ切替部２３は、ＣＨｂが有効であると判定した場合にはステップ２３−７を実行し、一方、ＣＨｂが有効でないと判定した場合にはステップ２３−９を実行する。
【０２４８】
ステップ２３−７では、障害ＩＯＰｍ切替部２３は、格納部ｂに格納された情報が示すＣＨ番号のチャネル装置をリセットする。障害ＩＯＰｍ切替部２３は、ステップ２３−７を終了すると、ステップ２３−８を実行する。
【０２４９】
ステップ２３−８では、障害ＩＯＰｍ切替部２３は、演算処理装置１００に、格納部ｂに格納された情報が示すＣＨ番号のチャネル装置の障害発生を報告する。障害ＩＯＰｍ切替部２３は、ステップ２３−８を終了すると、ステップ２３−９を実行する。
【０２５０】
なお、本例では、ＩＯＰ構成テーブル４００の入出力処理装置２００に対応する入力欄の１つにはチャネル装置３０００のＣＨ番号が格納され、もう１つの入力欄には利用可能が設定されている。
【０２５１】
このため、障害ＩＯＰｍ切替部２３は、チャネル装置３０００をリセットし、演算処理装置１００にチャネル装置３０００の障害発生を報告する。
【０２５２】
ステップ２３−９では、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００の入出力処理装置２００に対応する２つの入力欄に利用不能を設定する。障害ＩＯＰｍ切替部２３は、ステップ２３−９を終了すると、ステップ２３−１０を実行する。
【０２５３】
ステップ２３−１０では、障害ＩＯＰｍ切替部２３は、入出力処理装置２００の代替となる入出力処理装置２０ｊを検索するための準備を行う。
【０２５４】
具体的には、障害ＩＯＰｍ切替部２３は、変数ｊにｎ＋１を代入し（この場合、ｎ＝０）、変数Ｎに２を代入し、格納部ａに格納されていた情報を格納部ｃに格納する。なお、格納部ｃは、障害ＩＯＰｍ切替部２３に含まれる。
【０２５５】
障害ＩＯＰｍ切替部２３は、ステップ２３−１０を終了すると、ステップ２３−１１（図２５参照）を実行する。
【０２５６】
ステップ２３−１１では、障害ＩＯＰｍ切替部２３は、格納部ｃに格納された情報がＣＨ番号を有しているか否か判定する。なお、障害ＩＯＰｍ切替部２３は、格納部ｃに格納された情報がＣＨ番号を有している場合にはＣＨｃが有効であると判定し、一方、格納部ｃに格納された情報がＣＨ番号を有していない場合にはＣＨｃが有効でないと判定する。
【０２５７】
障害ＩＯＰｍ切替部２３は、ＣＨｃが有効であると判定した場合にはステップ２３−１２を実行し、一方、ＣＨｃが有効でないと判定した場合にはステップ２３−１９を実行する。
【０２５８】
ステップ２３−１２では、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００の入出力処理装置２０ｊ（ＩＯＰｊ）に対応する２つの入力欄に格納されている情報を読み出す。障害ＩＯＰｍ切替部２３は、ステップ２３−１２を終了すると、ステップ２３−１３を実行する。
【０２５９】
ステップ２３−１３では、障害ＩＯＰｍ切替部２３は、その読み出された２つの情報が「予備」を示しているか否かを判定する。
【０２６０】
障害ＩＯＰｍ切替部２３は、その読み出された２つの情報が「予備」を示している場合にはステップ２３−１４を実行し、一方、その読み出された２つの情報のいずれも「予備」を示していない場合にはステップ２３−２２を実行する。
【０２６１】
ステップ２３−１４では、障害ＩＯＰｍ切替部２３は、入出力処理装置２０ｊ（ＩＯＰｊ）と、格納部ｃに格納されたＣＨ番号のチャネル装置とのリセットを解除する。障害ＩＯＰｍ切替部２３は、ステップ２３−１４を終了すると、ステップ２３−１５を実行する。
【０２６２】
ステップ２３−１５では、障害ＩＯＰｍ切替部２３は、入出力処理装置２０ｊ（ＩＯＰｊ）に、格納部ｃに格納されたＣＨ番号のチャネル装置を指定した組込指示を出す。障害ＩＯＰｍ切替部２３は、ステップ２３−１５を終了すると、ステップ２３−１６を実行する。
【０２６３】
ステップ２３−１６では、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００の入出力処理装置２０ｊに対応する２つの入力欄の１つに、格納部ｃに格納されたＣＨ番号を設定し、他の入力欄に「利用可能」を設定する。障害ＩＯＰｍ切替部２３は、ステップ２３−１６を終了すると、ステップ２３−１７を実行する。
【０２６４】
ステップ２３−１７では、障害ＩＯＰｍ切替部２３は、ＣＨ構成テーブル５００の入力欄の中で格納部ｃに格納されたＣＨ番号に対応する入力欄に、入出力処理装置２０ｊの番号（ＩＯＰｊ）を設定する。障害ＩＯＰｍ切替部２３は、ステップ２３−１７を終了すると、ステップ２３−１８を実行する。
【０２６５】
ステップ２３−１８では、障害ＩＯＰｍ切替部２３は、演算処理装置１００にチャネル装置３０００の回復成功を報告する。障害ＩＯＰｍ切替部２３は、ステップ２３−１８を終了すると、ステップ２３−１９を実行する。
【０２６６】
一方、ステップ２３−２２では、障害ＩＯＰｍ切替部２３は、変数ｊに１を加える。障害ＩＯＰｍ切替部２３は、ステップ２３−２２を終了すると、ステップ２３−２３を実行する。
【０２６７】
ステップ２３−２３では、障害ＩＯＰｍ切替部２３は、変数ｊが７より大きいか否かを判断する。障害ＩＯＰｍ切替部２３は、変数ｊが７より大きい場合にはステップ２３−２４を実行し、一方、変数ｊが７より大きくない場合にはステップ２３−２５を実行する。
【０２６８】
ステップ２３−２４では、障害ＩＯＰｍ切替部２３は、変数ｊを０にする。障害ＩＯＰｍ切替部２３は、ステップ２３−２４を終了すると、ステップ２３−２５を実行する。
【０２６９】
ステップ２３−２５では、障害ＩＯＰｍ切替部２３は、変数ｊがｎ（この場合ｎ＝０）であるか否かを判断する。障害ＩＯＰｍ切替部２３は、変数ｊがｎである場合にはステップ２３−２６を実行し、一方、変数ｊがｎでない場合にはステップ２３−１２を実行する。
【０２７０】
障害ＩＯＰｍ切替部２３は、ステップ２３−１２、２３−１３、２３−２２〜２３−２５を実行することによって、予備と設定されている入出力処理装置２０ｊを検索する。
【０２７１】
予備と設定されている入出力処理装置２０ｊがない場合、障害ＩＯＰｍ切替部２３は、ステップ２３−２６以降の処理を実行する。
【０２７２】
ステップ２３−２６では、障害ＩＯＰｍ切替部２３は、変数ｊに１を加える。障害ＩＯＰｍ切替部２３は、ステップ２３−２６を終了すると、ステップ２３−２７を実行する。
【０２７３】
なお、ステップ２３−２７で行われる処理は、ステップ２３−１２で行われる処理と同じである。障害ＩＯＰｍ切替部２３は、ステップ２３−２７を終了すると、ステップ２３−２８を実行する。
【０２７４】
ステップ２３−２８では、障害ＩＯＰｍ切替部２３は、その読み出された２つの情報のいずれかが「利用可能」を示しているか否かを判定する。
【０２７５】
障害ＩＯＰｍ切替部２３は、その読み出された２つの情報のいずれかが「利用可能」を示している場合にはステップ２３−２９を実行し、一方、その読み出された２つの情報のいずれも「利用可能」を示していない場合にはステップ２３−３４を実行する。
【０２７６】
ステップ２３−２９では、障害ＩＯＰｍ切替部２３は、格納部ｃに格納されたＣＨ番号のチャネル装置のリセットを解除する。障害ＩＯＰｍ切替部２３は、ステップ２３−２９を終了すると、ステップ２３−３０を実行する。
【０２７７】
なお、ステップ２３−３０で行われる処理は、ステップ２３−１５で行われる処理と同じである。障害ＩＯＰｍ切替部２３は、ステップ２３−３０を終了すると、ステップ２３−３１を実行する。
【０２７８】
ステップ２３−３１では、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００の入出力処理装置２０ｊに対応する２つの入力欄のうち、「利用可能」が格納されている入力欄に、格納部ｃに格納されたＣＨ番号を設定する。障害ＩＯＰｍ切替部２３は、ステップ２３−３１を終了すると、ステップ２３−３２を実行し、その後、ステップ２３−３３を実行する。
【０２７９】
なお、ステップ２３−３２で行われる処理は、ステップ２３−１７で行われる処理と同じであり、ステップ２３−３３で行われる処理は、ステップ２３−１８で行われる処理と同じである。障害ＩＯＰｍ切替部２３は、ステップ２３−３３を終了すると、ステップ２３−１９を実行する。
【０２８０】
一方、ステップ２３−３４では、障害ＩＯＰｍ切替部２３は、変数ｊに１を加える。障害ＩＯＰｍ切替部２３は、ステップ２３−３４を終了すると、ステップ２３−３５を実行する。
【０２８１】
ステップ２３−３５では、障害ＩＯＰｍ切替部２３は、変数ｊが７より大きいか否かを判断する。障害ＩＯＰｍ切替部２３は、変数ｊが７より大きい場合にはステップ２３−３６を実行し、一方、変数ｊが７より大きくない場合にはステップ２３−３７を実行する。
【０２８２】
ステップ２３−３６では、障害ＩＯＰｍ切替部２３は、変数ｊを０にする。障害ＩＯＰｍ切替部２３は、ステップ２３−３６を終了すると、ステップ２３−３７を実行する。
【０２８３】
ステップ２３−３７では、障害ＩＯＰｍ切替部２３は、変数ｊがｎ（この場合ｎ＝０）であるか否かを判断する。障害ＩＯＰｍ切替部２３は、変数ｊがｎである場合にはステップ２３−３８を実行し、一方、変数ｊがｎでない場合にはステップ２３−２７を実行する。
【０２８４】
障害ＩＯＰｍ切替部２３は、ステップ２３−２７、２３−２８、２３−３４〜２３−３７を実行することによって、利用可能と設定されている入出力処理装置２０ｊを検索する。
【０２８５】
利用可能と設定されている入出力処理装置２０ｊがない場合、障害ＩＯＰｍ切替部２３は、ステップ２３−３８以降の処理を実行する。
【０２８６】
ステップ２３−３８では、障害ＩＯＰｍ切替部２３は、演算処理装置１００にチャネル装置３０００の回復失敗を報告する。障害ＩＯＰｍ切替部２３は、ステップ２３−３８を終了すると、ステップ２３−３９を実行する。
【０２８７】
ステップ２３−３９では、障害ＩＯＰｍ切替部２３は、変数ｊに１を加える。障害ＩＯＰｍ切替部２３は、ステップ２３−３９を終了すると、ステップ２３−１９を実行する。
【０２８８】
ステップ２３−１９では、障害ＩＯＰｍ切替部２３は、変数Ｎから１を引く。障害ＩＯＰｍ切替部２３は、ステップ２３−１９を終了すると、ステップ２３−２０を実行する。
【０２８９】
ステップ２３−２０では、障害ＩＯＰｍ切替部２３は、変数Ｎが０であるか否かを判断する。障害ＩＯＰｍ切替部２３は、変数Ｎが０である場合にはステップ２３−４０を実行し、一方、変数Ｎが０でない場合にはステップ２３−２１を実行する。
【０２９０】
ステップ２３−２１では、障害ＩＯＰｍ切替部２３は、格納部ｃに格納されていた情報を削除し、その後、格納部ｂに格納されていた情報を格納部ｃに格納する。障害ＩＯＰｍ切替部２３は、ステップ２３−２１を終了すると、ステップ２３−１１を実行する。
【０２９１】
一方、ステップ２３−４０では、障害ＩＯＰｍ切替部２３は動作を終了する。
【０２９２】
なお、本例では、予備と設定されている入出力処理装置（ＩＯＰ）は存在しないので、障害ＩＯＰｍ切替部２３は、利用可能な入出力処理装置２０ｊを検索する。
【０２９３】
また、本例では、ＩＯＰ構成テーブル４００の入出力処理装置２０１に対応する２つの入力欄の１つには、チャネル装置３００１のＣＨ番号が格納され、もう１つの入力欄には利用可能が設定されている（図１８参照）。このため、障害ＩＯＰｍ切替部２３は、入出力処理装置２０１を入出力処理装置２００の代替として選択する。
【０２９４】
その後、障害ＩＯＰｍ切替部２３は、チャネル装置３０００のリセットを解除し、入出力処理装置２０１に対してチャネル装置３０００を指定した組込指示を出す。
【０２９５】
その後、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００（図１８参照）の入出力処理装置２０１に対応する入力欄のうち、利用可能となっている入力欄にチャネル装置３０００のＣＨ番号を設定する。
【０２９６】
その後、障害ＩＯＰｍ切替部２３は、ＣＨ構成テーブル５００（図１９参照）のチャネル装置３０００に対応する入力欄に入出力処理装置２０１のＩＯＰ番号を格納する。
【０２９７】
その後、障害ＩＯＰｍ切替部２３は、演算処理装置１００にチャネル装置３０００の回復成功を報告する。
【０２９８】
障害ＩＯＰｍ切替部２３が動作することにより、障害の発生した入出力処理装置２００の代替として入出力処理装置２０１が選択される。さらに、ＩＯＰ構成テーブル４００は、図２６に示したようになる。また、入出力処理装置２００は利用不能に設定される。このため、入出力処理装置２０１がチャネル装置３０００および３００１を制御するように設定される。
【０２９９】
また、ＣＨ構成テーブル５００は図２７に示したようになり、チャネル装置３０００は入出力処理装置２０１にて制御されるように設定される。
【０３００】
障害ＩＯＰｍ切替部２３が動作することにより、入出力処理装置２０１に対してチャネル装置３０００を指定した組込指示が行われる。
【０３０１】
入出力処理装置２０１がその組込指示を受け付けると、入出力処理装置２０１のＣＨｎ組込部３０が動作を開始する（図２０参照）。
【０３０２】
ＣＨｎ組込部３０は、処理部２０１−１を制御してＳＬＯＴ０２０１−５を読み出し、ＳＬＯＴ０２０１−５が利用可能か否かを確認する（ステップ３０−１〜３）。
【０３０３】
本例では、このとき、ＳＬＯＴ０２０１−５はチャネル装置３００１によって使用されているので、ＣＨｎ組込部３０は、次に、処理部２０１−１を制御してＳＬＯＴ１２０１−６を読み出し、ＳＬＯＴ１２０１−６が利用可能か否かを確認する（ステップ３０−７〜９）。
【０３０４】
本例では、このとき、ＳＬＯＴ１２０１−６は未使用であるため、ＳＬＯＴ１２０１−６は使用可能である。このため、ＣＨｎ組込部３０は、ＳＬＯＴ１２０１−６に、チャネル装置３０００で使用中と、チャネル装置３０００の制御情報とを設定する（ステップ３０−１０）。その後、ＣＨｎ組込部３０は、チャネル装置３０００を初期化し、チャネル装置３０００に、チャネル装置３０００が入出力処理装置２０１により制御されていることを設定する（ステップ３０−５）。
【０３０５】
障害ＩＯＰｍ切替部２３が動作することにより、演算処理装置１００に対してチャネル装置３０００の障害発生報告と障害回復成功報告が行われる。
【０３０６】
演算処理装置１００がチャネル装置３０００の障害発生報告を受け付けると、演算処理装置１００のＣＨｎ障害発生報告部１２が動作を開始する。
【０３０７】
図２８は、ＣＨｎ障害発生報告部１２の動作を説明するためのフローチャートである。以下、図２８を参照して、ＣＨｎ障害発生報告部１２の動作を説明する。
【０３０８】
ＣＨｎ障害発生報告部１２は、動作を開始すると、ステップ１２−１を実行する。
【０３０９】
ステップ１２−１では、ＣＨｎ障害発生報告部１２は、ソフトウェアにチャネル装置３０００の障害発生を報告する。ＣＨｎ障害発生報告部１２は、ステップ１２−１を終了すると、ステップ１２−２を実行する。
【０３１０】
ステップ１２−２では、ＣＨｎ障害発生報告部１２は動作を終了する。
【０３１１】
演算処理装置１００がチャネル装置３０００の障害回復成功報告を受け付けると、演算処理装置１００のＣＨｎ障害回復成功報告部１３が動作を開始する。
【０３１２】
図２９は、ＣＨｎ障害回復成功報告部１３の動作を説明するためのフローチャートである。以下、図２９を参照して、ＣＨｎ障害回復成功報告部１３の動作を説明する。
【０３１３】
ＣＨｎ障害回復成功報告部１３は、動作を開始すると、ステップ１３−１を実行する。
【０３１４】
ステップ１３−１では、ＣＨｎ障害回復成功報告部１３は、ソフトウェアにチャネル装置３０００の障害回復成功を報告する。ＣＨｎ障害回復成功報告部１３は、ステップ１３−１を終了すると、ステップ１３−２を実行する。
【０３１５】
ステップ１３−２では、ＣＨｎ障害回復成功報告部１３は動作を終了する。
【０３１６】
ソフトウェアは、演算処理装置１００よりチャネル装置３０００の障害発生報告を受けると、今まで出力していたチャネル装置３０００を指定したデータ転送指示を破棄し、演算処理装置１００からの障害回復報告を待ち、一定時間内に障害回復成功報告を受け取ったら、破棄したデータ転送指示を再度演算処理装置１００に対して行う。
【０３１７】
これにより、演算処理装置１００はソフトウェアからチャネル装置３０００を指定したデータ転送指示を受けるので、演算処理装置１００のＣＨｎデータ転送指示部１０が動作を開始する（図２１参照）。
【０３１８】
ＣＨｎデータ転送指示部１０は、ＣＨ構成テーブル５００より、チャネル装置３０００に対応する入力欄に格納されている情報を読み出し、その後、その読み出された情報に基づいて、チャネル装置３０００が利用可能か否かを確認する（ステップ１０−１、２）。
【０３１９】
本例では、このとき、その入力欄には入出力処理装置２０１のＩＯＰ番号が格納されており、チャネル装置３０００は利用可能となっている。このため、ＣＨｎデータ転送指示部１０は、入出力処理装置２０１に対して、チャネル装置３０００を指定したデータ転送指示を行い（ステップ１０−３）、その後、ソフトウェアに指示成功を報告する（ステップ１０−４）。
【０３２０】
入出力処理装置２０１が演算処理装置１００よりチャネル装置３０００を指定したデータ転送指示を受けると、入出力処理装置２０１のＣＨｎデータ転送指示部３２が動作を開始する（図２３参照）。
【０３２１】
ＣＨｎデータ転送指示部３２は、処理部２０１−１を制御してＳＬＯＴ０２０１−５の情報を読み出し、ＳＬＯＴ０２０１−５の状況を確認する（ステップ３２−１〜３）。
【０３２２】
本例では、このとき、ＳＬＯＴ０２０１−５にはチャネル装置３００１の情報が格納されている。このため、ＣＨｎデータ転送指示部３２は、次に、処理部２０１−１を制御してＳＬＯＴ１２０１−６の情報を読み出し、ＳＬＯＴ１２０１−６の状況を確認する（ステップ３２−７〜９）。
【０３２３】
本例では、このとき、ＳＬＯＴ１２０１−６にはチャネル装置３０００の情報（チャネル装置３０００で使用中）が格納されている。このため、ＣＨｎデータ転送指示部３２は、この情報に基づき、チャネル装置３０００を制御してデータ転送を行い（ステップ３２−４）、演算処理装置１００にデータ転送の完了を報告する（ステップ３２−５）。
【０３２４】
演算処理装置１００が入出力処理装置２０１よりデータ転送完了の報告を受けると、ＣＨｎ転送完了報告部１１が動作を開始する（図２２参照）。ＣＨｎ転送完了報告部１１は、ソフトウェアにデータ転送の完了を報告する（ステップ１１−１）。
【０３２５】
このため、ソフトウェアが、チャネル装置３０００と入出力処理装置２００とを介して、周辺装置４０００とメモリ３００ないし３０７の間でデータ転送を行っているとき、入出力処理装置２００で障害が発生しても、入出力処理装置２０１が、入出力処理装置２００に代わってチャネル装置３０００を制御する。このため、ソフトウェアは継続してデータ転送を行うことが可能となる。
【０３２６】
次に、障害の発生した入出力処理装置２００が交換された場合の動作を説明する。
【０３２７】
障害の発生した入出力処理装置２００が交換されると、診断処理装置１０００の障害ＩＯＰｍ交換部２４が動作を開始する。
【０３２８】
図３０は、障害ＩＯＰｍ交換部２４の動作を説明するためのフローチャートである。以下、図３０を参照して障害ＩＯＰｍ交換部２４の動作を説明する。
【０３２９】
障害ＩＯＰｍ交換部２４は、動作を開始すると、ステップ２４−１を実行する。
【０３３０】
ステップ２４−１では、障害ＩＯＰｍ交換部２４は、交換された入出力処理装置２００をリセットする。障害ＩＯＰｍ交換部２４は、ステップ２４−１を終了すると、ステップ２４−２を実行する。
【０３３１】
ステップ２４−２では、障害ＩＯＰｍ交換部２４は、ＩＯＰ構成テーブル４００の入出力処理装置２００に対応する２つの入力欄に利用可能を設定する。障害ＩＯＰｍ交換部２４は、ステップ２４−２を終了すると、ステップ２４−３を実行する。
【０３３２】
ステップ２４−３では、障害ＩＯＰｍ交換部２４は、演算処理装置１０ｘにチャネル装置３０００の交換が完了したことを報告する。障害ＩＯＰｍ交換部２４は、ステップ２４−３を終了すると、ステップ２４−４を実行する。
【０３３３】
ステップ２４−４では、障害ＩＯＰｍ交換部２４は動作を終了する。
【０３３４】
演算処理装置１０ｘが診断処理装置１０００よりチャネル装置３０００の交換完了報告を受けると、演算処理装置１０ｘのＣＨｎ交換完了報告部１５が動作を開始する。
【０３３５】
図３１は、ＣＨｎ交換完了報告部１５の動作を説明するためのフローチャートである。以下、図３１を参照して、ＣＨｎ交換完了報告部１５の動作を説明する。
【０３３６】
ＣＨｎ交換完了報告部１５は、動作を開始すると、ステップ１５−１を実行する。
【０３３７】
ステップ１５−１では、ＣＨｎ交換完了報告部１５は、ソフトウェアにチャネル装置３０００の交換が完了したことを報告する。ＣＨｎ交換完了報告部１５は、ステップ１５−１を終了すると、ステップ１５−２を実行する。
【０３３８】
ステップ１５−２では、ＣＨｎ交換完了報告部１５は動作を終了する。
【０３３９】
ソフトウェアは、演算処理装置１０ｘからチャネル装置３０００の交換完了報告を受けると、チャネル装置３０００を指定したデータ転送指示を抑止し、既に出力されたデータ転送指示の完了報告を待つ。ソフトウェアは、その完了報告を受け付けると、演算処理装置１０ｘにチャネル装置３０００を指定した切り離し指示を出す。
【０３４０】
演算処理装置１０ｘがソフトウェアよりチャネル装置３０００を指定した切り離し指示を受けると、演算処理装置１０ｘのＣＨｎ切り離し部１６が動作を開始する。
【０３４１】
図３２は、ＣＨｎ切り離し部１６の動作を説明するためのフローチャートである。以下、図３２を参照して、ＣＨｎ切り離し部１６の動作を説明する。
【０３４２】
ＣＨｎ切り離し部１６は、動作を開始すると、ステップ１６−１を実行する。
【０３４３】
ステップ１６−１では、ＣＨｎ切り離し部１６は、診断処理装置１０００に、チャネル装置３０００を指定した切り離し指示を出す。ＣＨｎ切り離し部１６は、ステップ１６−１を終了すると、ステップ１６−２を実行する。
【０３４４】
ステップ１６−２では、ＣＨｎ切り離し部１６は、診断処理装置１０００からの回答を待つ。ＣＨｎ切り離し部１６は、ステップ１６−２を終了すると、ステップ１６−３を実行する。
【０３４５】
ステップ１６−３では、ＣＨｎ切り離し部１６は、診断処理装置１０００からの回答を受け付けると、ソフトウェアにチャネル装置３０００の切り離し完了を報告する。ＣＨｎ切り離し部１６は、ステップ１６−３を終了すると、ステップ１６−４を実行する。
【０３４６】
ステップ１６−４では、ＣＨｎ切り離し部１６は動作を終了する。
【０３４７】
診断処理装置１０００が演算処理装置１０ｘよりチャネル装置３０００を指定した切り離し指示を受けると、診断処理装置１０００のＣＨｎ切り離し部２２が動作を開始する。
【０３４８】
図３３は、ＣＨｎ切り離し部２２の動作を説明するためのフローチャートである。以下、図３３を参照して、ＣＨｎ切り離し部２２の動作を説明する。
【０３４９】
ＣＨｎ切り離し部２２は、動作を開始すると、ステップ２２−１を実行する。
【０３５０】
ステップ２２−１では、ＣＨｎ切り離し部２２は、ＣＨ構成テーブル５００より、切り離し指示にて指定されたチャネル装置３０００に対応する入力欄に格納された情報を読み出す。ＣＨｎ切り離し部２２は、ステップ２２−１を終了すると、ステップ２２−２を実行する。
【０３５１】
ステップ２２−２では、ＣＨｎ切り離し部２２は、その読み出された情報が示すＩＯＰ番号に対応する入出力処理装置２０ｍに切り離し指示を行う。
【０３５２】
なお、本例では、このとき、その入力欄には入出力処理装置２０１のＩＯＰ番号が格納されているので、入出力処理装置２０１に対して切り離し指示が行われる。
【０３５３】
ＣＨｎ切り離し部２２は、ステップ２２−２を終了すると、ステップ２２−３を実行する。
【０３５４】
ステップ２２−３では、ＣＨｎ切り離し部２２は、ＣＨ構成テーブル５００のチャネル装置３０００に対応する入力欄に利用可能を設定する。ＣＨｎ切り離し部２２は、ステップ２２−３を終了すると、ステップ２２−４を実行する。
【０３５５】
ステップ２２−４では、ＣＨｎ切り離し部２２は、ＩＯＰ構成テーブル４００の入出力処理装置２０１に対応する入力欄のうち、チャネル装置３０００のＣＨ番号が設定されていた入力欄に利用可能を設定する。ＣＨｎ切り離し部２２は、ステップ２２−４を終了すると、ステップ２２−５を実行する。
【０３５６】
ステップ２２−５では、ＣＨｎ切り離し部２２は、演算処理装置１０ｘに切り離し完了を報告する。ＣＨｎ切り離し部２２は、ステップ２２−５を終了すると、ステップ２２−６を実行する。
【０３５７】
ステップ２２−６では、ＣＨｎ切り離し部２２は動作を終了する。
【０３５８】
入出力処理装置２０１が診断処理装置１０００よりチャネル装置３０００を指定した切り離し指示を受けると、入出力処理装置２０１のＣＨｎ切り離し部３１が動作を開始する。
【０３５９】
図３４は、ＣＨｎ切り離し部３１の動作を説明するためのフローチャートである。以下、図３４を参照して、ＣＨｎ切り離し部３１の動作を説明する。
【０３６０】
ＣＨｎ切り離し部３１は、動作を開始すると、ステップ３１−１を実行する。
【０３６１】
ステップ３１−１では、ＣＨｎ切り離し部３１は、処理部２０ｎ−１がＳＬＯＴ０２０ｎ−５にアクセスできるように、ＳＬＯＴ切替部２０ｎ−２を設定する。ＣＨｎ切り離し部３１は、ステップ３１−１を終了すると、ステップ３１−２を実行する。
【０３６２】
ステップ３１−２では、ＣＨｎ切り離し部３１は、ＳＬＯＴ０２０ｎ−５の情報を読み出す。ＣＨｎ切り離し部３１は、ステップ３１−２を終了すると、ステップ３１−３を実行する。
【０３６３】
ステップ３１−３では、ＣＨｎ切り離し部３１は、その読み出された情報が、ＳＬＯＴ０２０ｎ−５がチャネル装置３００ｎで使用中を示しているか否かを確認する。
【０３６４】
ＣＨｎ切り離し部３１は、その読み出された情報が、ＳＬＯＴ０２０ｎ−５がチャネル装置３００ｎで使用中を示している場合にはステップ３１−４を実行し、一方、その読み出された情報が、ＳＬＯＴ０２０ｎ−５がチャネル装置３００ｎで使用中を示していない場合にはステップ３１−７を実行する。
【０３６５】
ステップ３１−４では、ＣＨｎ切り離し部３１は、ＳＬＯＴ０２００−５に格納されているＣＨ番号のチャネル装置３００ｎをリセットする。ＣＨｎ切り離し部３１は、ステップ３１−４を終了すると、ステップ３１−５を実行する。
【０３６６】
ステップ３１−５では、ＣＨｎ切り離し部３１は、現在、ＳＬＯＴ切替部にて選択されているＳＬＯＴをクリアし、そのＳＬＯＴを使用可能に設定する。ＣＨｎ切り離し部３１は、ステップ３１−５を終了すると、ステップ３１−６を実行する。
【０３６７】
ステップ３１−６では、ＣＨｎ切り離し部３１は動作を終了する。
【０３６８】
一方、ステップ３１−７では、ＣＨｎ切り離し部３１は、処理部２０ｎ−１がＳＬＯＴ１２０ｎ−６にアクセスできるように、ＳＬＯＴ切替部２０ｎ−２を設定する。ＣＨｎ切り離し部３１は、ステップ３１−７を終了すると、ステップ３１−８を実行する。
【０３６９】
ステップ３１−８では、ＣＨｎ切り離し部３１は、ＳＬＯＴ１２０ｎ−６の情報を読み出す。ＣＨｎ切り離し部３１は、ステップ３１−８を終了すると、ステップ３１−９を実行する。
【０３７０】
ステップ３１−９では、ＣＨｎ切り離し部３１は、その読み出された情報が、ＳＬＯＴ１２０ｎ−６がチャネル装置３００ｎで使用中を示しているか否かを確認する。
【０３７１】
ＣＨｎ切り離し部３１は、その読み出された情報が、ＳＬＯＴ１２０ｎ−６がチャネル装置３００ｎで使用中を示している場合にはステップ３１−４を実行し、一方、その読み出された情報が、ＳＬＯＴ１２０ｎ−６がチャネル装置３００ｎで使用中を示していない場合にはステップ３１−１０を実行する。
【０３７２】
ステップ３１−１０では、ＣＨｎ切り離し部３１は動作を終了する。
【０３７３】
なお、本例では、ステップ３１−３が実行される際、ＳＬＯＴ０２０１−５はチャネル装置３００１で使用されている。このため、ＣＨｎ切り離し部３１は、処理部２０１−１を制御してＳＬＯＴ１２０１−６を読み出し、ＳＬＯＴ１２０１−６がチャネル装置３０００で使用されているか確認する。
【０３７４】
本例では、ステップ３１−９が実行される際、ＳＬＯＴ１２０１−６はチャネル装置３０００にて使用されている。このため、ＣＨｎ切り離し部３１は、チャネル装置３０００をリセットし、ＳＬＯＴ１２０１−６をクリアしてＳＬＯＴ１２０１−６に使用可能を設定する。
【０３７５】
ソフトウェアは、演算処理装置１０ｘよりチャネル装置３０００の切り離し完了を受けると、演算処理装置１０ｘにチャネル装置３０００を指定した組込指示を出し、その後、演算処理装置１０ｘからの組込完了を待つ。
【０３７６】
演算処理装置１０ｘがソフトウェアよりチャネル装置３０００を指定した組込み指示を受けると、演算処理装置１０ｘのＣＨｎ組込部１７が動作を開始する。
【０３７７】
図３５は、ＣＨｎ組込部１７の動作を説明するためのフローチャートである。以下、図３５を参照して、ＣＨｎ組込部１７の動作を説明する。
【０３７８】
ＣＨｎ組込部１７は、動作を開始すると、ステップ１７−１を実行する。
【０３７９】
ステップ１７−１では、ＣＨｎ組込部１７は、診断処理装置１０００に、チャネル装置３０００を指定した組込指示を出す。ＣＨｎ組込部１７は、ステップ１７−１を終了すると、ステップ１７−２を実行する。
【０３８０】
ステップ１７−２では、ＣＨｎ組込部１７は、診断処理装置１０００からの回答を待つ。ＣＨｎ組込部１７は、ステップ１７−２を終了すると、ステップ１７−３を実行する。
【０３８１】
ステップ１７−３では、ＣＨｎ組込部１７は、診断処理装置１０００からの回答を確認し、組込成功であればステップ１７−４を実行し、一方、組込失敗であればステップ１７−５を実行する。
【０３８２】
ステップ１７−４では、ＣＨｎ組込部１７は、ソフトウェアにチャネル装置３０００の組込完了を報告する。ＣＨｎ組込部１７は、ステップ１７−４を終了すると、ステップ１７−６を実行する。
【０３８３】
一方、ステップ１７−５では、ＣＨｎ組込部１７は、ソフトウェアにチャネル装置３０００の組込失敗を報告する。ＣＨｎ組込部１７は、ステップ１７−５を終了すると、ステップ１７−６を実行する。
【０３８４】
ステップ１７−６では、ＣＨｎ組込部１７は動作を終了する。
【０３８５】
診断処理装置１０００が演算処理装置１０ｘよりチャネル装置３０００を指定した組込指示を受けると、診断処理装置１０００のＣＨｎ組込部２１が動作を開始する。
【０３８６】
図３６は、ＣＨｎ組込部２１の動作を説明するためのフローチャートである。以下、図３６を参照して、ＣＨｎ組込部２１の動作を説明する。
【０３８７】
ＣＨｎ組込部２１は、動作を開始すると、ステップ２１−１を実行する。
【０３８８】
ステップ２１−１では、ＣＨｎ組込部２１は、組込指示にて指定されたチャネル装置の番号ｎを、変数ｍに代入する。なお、変数ｍはＣＨｎ組込部２１に含まれる。ＣＨｎ組込部２１は、ステップ２１−１を終了すると、ステップ２１−２を実行する。
【０３８９】
ステップ２１−２では、ＣＨｎ組込部２１は、ＩＯＰ構成テーブル４００から、入出力処理装置２０ｍ（ＩＯＰｍ）に対応する２つの入力欄に格納された情報を読み出す。ＣＨｎ組込部２１は、ステップ２１−２を終了すると、ステップ２１−３を実行する。
【０３９０】
ステップ２１−３では、ＣＨｎ組込部２１は、その読み出された情報に、ＩＯＰｍが利用可能と対応づけて設定されているか否かを判断する。ＣＨｎ組込部２１は、ＩＯＰｍが利用可能と対応づけて設定されていると、ステップ２１−４を実行し、一方、ＩＯＰｍが利用可能と対応づけて設定されていないと、ステップ２１−９を実行する。
【０３９１】
ステップ２１−４では、ＣＨｎ組込部２１は、入出力処理装置２０ｍに、チャネル装置３００ｎを指定した組込指示を出す。ＣＨｎ組込部２１は、ステップ２１−４を終了すると、ステップ２１−５を実行する。
【０３９２】
ステップ２１−５では、ＣＨｎ組込部２１は、ＩＯＰ構成テーブル４００の入出力処理装置２０ｍに対応する２つの入力欄のうち、利用可能が格納されている入力欄から利用可能を削除し、その後、その入力欄にチャネル装置３００ｎのＣＨ番号を設定する。ＣＨｎ組込部２１は、ステップ２１−５を終了すると、ステップ２１−６を実行する。
【０３９３】
ステップ２１−６では、ＣＨｎ組込部２１は、ＣＨ構成テーブル５００のチャネル装置３００ｎに対応する入力欄に入出力処理装置２０ｍの番号（ＩＯＰｍ）を設定する。ＣＨｎ組込部２１は、ステップ２１−６を終了すると、ステップ２１−７を実行する。
【０３９４】
ステップ２１−７では、ＣＨｎ組込部２１は、演算処理装置１０ｘに組込完了を報告する。ＣＨｎ組込部２１は、ステップ２１−７を終了すると、ステップ２１−８を実行する。
【０３９５】
ステップ２１−８では、ＣＨｎ組込部２１は動作を終了する。
【０３９６】
一方、ステップ２１−９では、ＣＨｎ組込部２１は、変数ｍに１を加える。ＣＨｎ組込部２１は、ステップ２１−９を終了すると、ステップ２１−１０を実行する。
【０３９７】
ステップ２１−１０では、ＣＨｎ組込部２１は、変数ｍが７より大きいか否かを判断する。ＣＨｎ組込部２１は、変数ｍが７より大きい場合にはステップ２１−１１を実行し、一方、変数ｍが７より大きくない場合にはステップ２１−１２を実行する。
【０３９８】
ステップ２１−１１では、ＣＨｎ組込部２１は、変数ｍに０を代入する。ＣＨｎ組込部２１は、ステップ２１−１１を終了すると、ステップ２１−１２を実行する。
【０３９９】
ステップ２１−１２では、ＣＨｎ組込部２１は、変数ｍが組込指示にて指定されたｎと同じになっているか否かを判断する。ＣＨｎ組込部２１は、変数ｍがそのｎと同じになっている場合にはステップ２１−１３を実行し、また、変数ｍがそのｎと異なる場合にはステップ２１−３を実行する。
【０４００】
ステップ２１−１３では、ＣＨｎ組込部２１は、演算処理装置１０ｘに組込失敗を報告する。ＣＨｎ組込部２１は、ステップ２１−１３を終了すると、ステップ２１−１４を実行する。
【０４０１】
ステップ２１−１４では、ＣＨｎ組込部２１は動作を終了する。
【０４０２】
本例では、ＣＨｎ組込部２１は、チャネル装置３０００に対応する入出力処理装置２００を起点として、ＩＯＰ構成テーブル４００の２つの入力欄に格納された情報を順次読み出し、入出力処理装置２０ｍが利用可能か確認する。
【０４０３】
本例では、このとき、入出力処理装置２００が利用可能である。このため、ＣＨｎ組込部２１は、入出力処理装置２００に対してチャネル装置３０００を指定した組込指示を行う。
【０４０４】
続いて、ＣＨｎ組込部２１は、ＩＯＰ構成テーブル４００の入出力処理装置２００に対応する入力欄の１つにチャネル装置３０００のＣＨ番号を格納する。続いて、ＣＨｎ組込部２１は、ＣＨ構成テーブル５００のチャネル装置３０００に対応する入力欄に入出力処理装置２００のＩＯＰ番号を設定し、その後、演算処理装置１０ｘに組込完了を報告する。
【０４０５】
入出力処理装置２００が診断処理装置１０００よりチャネル装置３０００を指定した組込指示を受けたとき、ＣＨｎ組込部３０が動作する。なお、この動作は、情報処理装置１Ａの起動時に、ＣＨｎ組込部３０が行う動作と同じである。
【０４０６】
ソフトウェアは、演算処理装置１０ｘよりチャネル装置３０００の組込成功（交換完了）の報告を受けると、抑止していたチャネル装置３０００へのデータ転送指示を解除する。
【０４０７】
この後、ソフトウェアがチャネル装置３０００を指定してデータ転送指示をしたとき、ＩＯＰ構成テーブル４００とＣＨ構成テーブル５００は、図１８、図１９のように入出力処理装置２００に障害が発生する前の状態に戻っている。このため、入出力処理装置２００に障害が発生する前の状態でデータ転送が行われるようになり、入出力処理装置２００の交換が完了する。
【０４０８】
次に、情報処理装置１Ａの起動時に、診断処理装置１０００のローカルメモリ１００３内のＩＯＰ構成情報１００４とＣＨ構成情報１００５が、図３７、図３８のように設定されていた場合の動作を説明する。
【０４０９】
ＩＯＰ構成情報１００４では、図３７のように入出力処理装置２００、２０２、２０４および２０６が利用可能に設定され、入出力処理装置２０１、２０３、２０５および２０７が予備と設定されている
また、ＣＨ構成情報１００５では、図３８のようにチャネル装置３０００、３００２、３００４および３００６が利用可能に設定され、チャネル装置３００１、３００３、３００５および３００７が利用不能に設定されている。
【０４１０】
この状態で情報処理装置１Ａが起動すると、診断処理装置１０００のＣＨ組込部２０は以下のように動作する（図１７参照）。
【０４１１】
ＣＨ組込部２０は、全ての入出力処理装置２００〜２０７と全てのチャネル装置３０００〜３００７をリセットし（ステップ２０−１）、全ての入出力処理装置２００〜２０７の構成情報を１つずつＩＯＰ構成情報１００４より読み出し（ステップ２０−２、２０−３）、入出力処理装置２００〜２０７のそれぞれが、利用可能と設定されているのか、利用不能と設定されているのか、予備と設定されているのかを確認する（ステップ２０−４、６）。
【０４１２】
本例では、ＩＯＰ構成情報１００４は、図３７のように設定されている。このため。ＩＯＰ構成テーブル４００の入出力処理装置２００、２０２、２０４および２０６の２つの入力欄には利用可能が設定され（ステップ２０−５）、入出力処理装置２０１、２０３、２０５および２０７の２つの入力欄には予備が設定させる（２０−７）。
【０４１３】
次に、ＣＨ組込部２０は、全てのチャネル装置３０００〜３００７の構成情報を１つずつＣＨ構成情報１００５より読み出し（ステップ２０−１１、１２）、チャネル装置３０００〜３００７のそれぞれが利用可能と設定されているか、利用不能と設定されているかを確認する（ステップ２０−１３）。
【０４１４】
本例では、ＣＨ構成情報５００は、図３８のように設定されている。このため、ＣＨ構成テーブル５００のチャネル装置３００１、３００３、３００５および３００７の入力欄には、利用不能が設定される（ステップ２０−２２）。
【０４１５】
次に、ＣＨ組込部２０は、ＣＨ構成テーブル５００で利用可能となっているチャネル装置３０００、３００２、３００４および３００６のＣＨ番号「ｎ」と同じ番号「ｎ」を有する入出力処理装置２００、２０２、２０４および２０６の状態を、ＩＯＰ構成テーブル４００の２つの入力欄から読み出す。ＣＨ組込部２０は、その読み出された２つの情報のいずれかに利用可能が含まれているか否かを確認する（ステップ２０−１４、１５）。
【０４１６】
本例では、このとき、入出力処理装置２００、２０２、２０４および２０６は利用可能に設定されている。このため、ＣＨ組込部２０は、入出力処理装置２０ｎとチャネル装置３００ｎをリセットし（ステップ２０−１６）、その後、入出力処理装置２０ｎに対してチャネル装置３００ｎを指定した組込指示を行う（ステップ２０−１７）。
【０４１７】
その後、ＣＨ組込部２０は、ＩＯＰ構成テーブル４００の入出力処理装置２０ｎに対応する入力欄の１つにチャネル装置３００ｎのＣＨ番号を設定し（ステップ２０−１８）、また、ＣＨ構成テーブル５００のチャネル装置３００ｎに対応する入力欄に入出力処理装置２０ｎのＩＯＰ番号を設定する（ステップ２０−１９）。
【０４１８】
このため、ＩＯＰ構成テーブル４００は図３９に示すようになり、ＣＨ構成テーブル５００は図４０に示すようになる。
【０４１９】
診断処理装置１０００のＣＨ組込部２０が動作することにより、入出力処理装置２００に対してチャネル装置３０００を指定した組込指示が行われ、また、入出力処理装置２０２に対してチャネル装置３００２を指定した組込指示が行われ、また、入出力処理装置２０４に対してチャネル装置３００４を指定した組込指示が行われ、また、入出力処理装置２０６に対してチャネル装置３００６を指定した組込指示が行われる。
【０４２０】
入出力処理装置２００、２０２、２０４および２０６のそれぞれは、その組込指示を受け付けると、各入出力処理装置２００、２０２、２０４および２０６のＣＨｎ組込部３０が動作を開始する（図２０参照）。なお、この動作は、図２０を参照して説明した前記動作と同じとなる。
【０４２１】
診断処理装置１０００のＣＨ組込部２０と入出力処理装置２００のＣＨｎ組込部３０との動作によって、入出力処理装置２０ｎはチャネル装置３００ｎに対応する。
【０４２２】
入出力処理装置２０ｎがチャネル装置３００ｎと対応すると、入出力処理装置２０ｎおよびチャネル装置３００ｎは、演算処理装置１０ｘにより利用可能な状態となる。この状態になると、演算処理装置１０ｘは、ソフトウェアからの指示によりチャネル装置３００ｎを指定してデータ転送指示を入出力処理装置２０ｎに対して行うことができる。
【０４２３】
また、演算処理装置１００がソフトウェアからの指示によりチャネル装置３０００を指定したデータ転送指示を入出力処理装置２００に出すときの動作は、前記と同じである。
【０４２４】
次に、演算処理装置１００がソフトウェアからの指示によりチャネル装置３０００を指定したデータ転送指示を入出力処理装置２００に行っているときに、入出力処理装置２００で障害が発生した場合の動作を説明する。
【０４２５】
入出力処理装置２００で障害が発生すると、診断処理装置１０００の障害ＩＯＰｍ切替部２３が動作を開始する（図２４および２５参照）。
【０４２６】
障害ＩＯＰｍ切替部２３は、障害の発生した入出力処理装置２００をリセットして動作を停止させ（ステップ２３−１）、ＩＯＰ構成テーブル４００より入出力処理装置２００に対応する２つの入力欄に格納されている情報を読み出し（ステップ２３−２）、その情報にＣＨ番号が設定され、そのＣＨ番号を有するチャネル装置が有効か否かを確認する（ステップ２３−３、６）。
【０４２７】
本例では、このとき、その入力欄の１つには、チャネル装置３０００のＣＨ番号が格納され、もう１つのエントリには利用可能が設定されている。このため、障害ＩＯＰｍ切替部２３は、チャネル装置３０００をリセットし（ステップ２３−４、７）、演算処理装置１００にチャネル装置３０００の障害発生を報告する（ステップ２３−５、８）。
【０４２８】
障害ＩＯＰｍ切替部２３は、次に、ＩＯＰ構成テーブル４００の入出力処理装置２００に対応する２つの入力欄に利用不能を設定し（ステップ２３−９）、入出力処理装置２００の代替となる入出力処理装置２０ｊを検索する準備をする（ステップ２３−１０）。
【０４２９】
障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００を読み出し、予備ＩＯＰを検索する（ステップ２３−１２、１３、２２〜２５）。
【０４３０】
本例では、このとき、入出力処理装置２０１が予備ＩＯＰとして設定されている。このため、入出力処理装置２０１が入出力処理装置２００の代替として選択される。
【０４３１】
その後、障害ＩＯＰｍ切替部２３は、入出力処理装置２０１とチャネル装置３０００のリセットを解除し（ステップ２３−１４）、入出力処理装置２０１に対してチャネル装置３０００を指定した組込指示を出す（ステップ２３−１５）。
【０４３２】
その後、障害ＩＯＰｍ切替部２３は、ＩＯＰ構成テーブル４００の入出力処理装置２０１に対応する２つの入力欄の１つにチャネル装置３０００のＣＨ番号を設定し、もう１つの入力欄に利用可能を設定する（ステップ２３−１６）。
【０４３３】
その後、障害ＩＯＰｍ切替部２３は、ＣＨ構成テーブル５００のチャネル装置３０００に対応する入力欄に入出力処理装置２０１のＩＯＰ番号を格納し（ステップ２３−１７）、  演算処理装置１００にチャネル装置３０００の回復成功を報告する（ステップ２３−１８）。
【０４３４】
障害ＩＯＰｍ切替部２３が動作することにより、障害の発生した入出力処理装置２００の代替として入出力処理装置２０１が選択される。さらに、ＩＯＰ構成テーブル４００は図４１に示したようになる。また、入出力処理装置２００は利用不能に設定される。このため、入出力処理装置２０１がチャネル装置３０００を制御するように設定される。
【０４３５】
また、ＣＨ構成テーブル５００は図４２に示したようになり、チャネル装置３０００は入出力処理装置２０１にて制御されるように設定される。
【０４３６】
また、障害ＩＯＰｍ切替部２３が動作することにより、入出力処理装置２０１に対してチャネル装置３０００を指定した組込指示が行われる。
【０４３７】
入出力処理装置２０１がその組込指示を受け付けると、入出力処理装置２０１のＣＨｎ組込部３０が動作を開始する（図２０参照）。
【０４３８】
ＣＨｎ組込部３０は、処理部２０１−１を制御してＳＬＯＴ０２０１−５を読み出し、ＳＬＯＴ０２０１−５が利用可能か否かを確認する（ステップ３０−１〜３）。
【０４３９】
本例では、このとき、ＳＬＯＴ０２０１−５は未使用であり、ＳＬＯＴ０２０１−５は利用可能となっている。このため、ＣＨｎ組込部３０は、ＳＬＯＴ０２０１−５に、チャネル装置３０００で使用中と、チャネル装置３０００の制御情報とを設定する（ステップ３０−３）。
【０４４０】
その後、ＣＨｎ組込部３０は、チャネル装置３０００を初期化して、チャネル装置３０００に、チャネル装置３０００が入出力処理装置２０１により制御されていることを設定する（ステップ３０−５）。
【０４４１】
障害ＩＯＰｍ切替部２３が動作することにより、演算処理装置１００に対して、チャネル装置３０００の障害発生報告および障害回復成功報告が行われる。
【０４４２】
演算処理装置１００は、ＣＨｎ障害発生報告部１２にてソフトウェアにチャネル装置３０００の障害発生を報告し（ステップ１２−２）、また、ＣＨｎ障害回復成功報告部１３にてソフトウェアにチャネル装置３０００の障害回復成功を報告する（ステップ１３−２）。
【０４４３】
ソフトウェアは、演算処理装置１００よりチャネル装置３０００の障害発生報告を受けると、今まで出力していたチャネル装置３０００を指示したデータ転送指示を破棄し、演算処理装置１００からの障害回復報告を待つ。ソフトウェアは、その後の一定時間内に障害回復報告を受け取ったら、破棄したデータ転送指示を再度演算処理装置１００に対して行う。
【０４４４】
演算処理装置１００がチャネル装置３０００を指定したデータ転送指示をソフトウェアより受けると、ＣＨｎデータ転送指示部１０が動作を開始する。
【０４４５】
ＣＨｎデータ転送指示部１０は、ＣＨ構成テーブル５００よりチャネル装置３０００に対応する入力欄に格納されている情報を読み出し、チャネル装置３０００が利用可能か否かを確認する（ステップ１０−１、２）。
【０４４６】
本例では、このとき、その入力欄には入出力処理装置２０１のＩＯＰ番号が格納されており、チャネル装置３０００は利用可能となっている。このため、ＣＨｎデータ転送指示部１０は、入出力処理装置２０１に対してチャネル装置３０００を指定したデータ転送指示を行い（ステップ１０−３）、ソフトウェアに指示成功を報告する（ステップ１０−４）。
【０４４７】
入出力処理装置２０１が演算処理装置１００よりチャネル装置３０００を指定したデータ転送指示を受けると、ＣＨｎデータ転送指示部３２が動作を開始する。
【０４４８】
ＣＨｎデータ転送指示部３２は、処理部２０１−１を制御してＳＬＯＴ０２０１−５の情報を読み出し、ＳＬＯＴ０２０１−５の状況を確認する（ステップ３２−１〜３）。
【０４４９】
本例では、このとき、ＳＬＯＴ０２０１−５にはチャネル装置３０００の情報（チャネル装置３０００で使用中）が格納されている。このため、ＣＨｎデータ転送指示部３２は、この情報に基づき、チャネル装置３０００を制御してデータ転送を行い（ステップ３２−４）、演算処理装置１００にデータ転送の完了を報告する（ステップ３２−５）。
【０４５０】
演算処理装置１００が入出力処理装置２０１よりデータ転送完了の報告を受けると、ＣＨｎ転送完了報告部１１が動作を開始し、ソフトウェアにデータ転送の完了を報告する（ステップ１１−１）。
【０４５１】
このため、ソフトウェアが、チャネル装置３０００と入出力処理装置２００とを介して、周辺装置４０００とメモリ３００ないし３０７の間でデータ転送を行っているとき、入出力処理装置２００で障害が発生しても、入出力処理装置２０１が、入出力処理装置２００に代わってチャネル装置３０００を制御する。このため、ソフトウェアは、継続してデータ転送を行うことが可能となる。
【０４５２】
この後、障害の発生した入出力処理装置２００を交換する場合の動作は、前記と同じである。
【０４５３】
本実施例によれば、ある入出力処理装置の障害が検出されると、その入出力処理装置の代わりに他の入出力処理装置がチャネル装置に対応し、また、周辺装置（外部装置）とデータ通信が行われる際に、その入出力処理装置の代わりに他の入出力処理装置が、チャネル装置を用いた周辺装置とのデータ通信を実行する。
【０４５４】
このため、ある入出力処理装置で障害が発生しても、その入出力処理装置の代わりに他の入出力処理装置がチャネル装置を用いたデータ通信を実行する。よって、ある入出力処理装置で障害が発生しても、チャネル装置を介したデータ通信を継続することが可能になる。したがって、チャネル装置を介したデータ通信を継続させることにより、情報処理装置の停止および性能低下を防止することが可能になる。
【０４５５】
また、本実施例では、ある入出力処理装置の交換が検出されると、他の入出力処理装置の代わりにその入出力処理装置がチャネル装置に対応し、かつ、その入出力処理装置とチャネル装置との元の対応関係が格納され、周辺装置とデータ通信を行う際に、その格納された元の対応関係が読み取られ、その読み取られた元の対応関係に応じて、他の入出力処理装置の代わりにその入出力処理装置が、チャネル装置を用いた周辺装置とのデータ通信を実行する。
【０４５６】
この場合、交換された入出力処理装置が、自動的に再びチャネル装置に対応することができる。したがって、従来、障害の発生した入出力処理装置を交換する場合、保守員が入出力処理装置を交換後、その交換された入出力処理装置を人手により情報処理装置に組込む必要があり、人為的ミスにより情報処理装置を停止させてしまう可能性があったが、人為的ミスにより情報処理装置を停止させてしまう可能性を少なくすることが可能になる。
【０４５７】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【０４５８】
例えば、各入出力処理装置は、論理カードに設けられていなくてもよい。また、各演算処理装置も論理カードに設けられていなくてもよい。
【０４５９】
また、各入出力処理装置は、２台のチャネル装置を制御可能なものの限らず適宜変更可能である。
【図面の簡単な説明】
【０４６０】
【図１】本発明の一実施例の情報処理装置を示したブロック図である。
【図２】論理カード２００ｎの一例を示したブロック図である。
【図３】演算処理装置１０ｘの一例を示したブロック図である。
【図４】演算処理装置１００が有する機能を示した機能ブロック図である。
【図５】論理カードに含まれるメモリ３０ｎの一例を示したブロック図である。
【図６】ＩＯＰ構成テーブル４００の一例を示した説明図である。
【図７】ＣＨ構成テーブル５００の一例を示した説明図である。
【図８】診断処理装置１０００の一例を示したブロック図である。
【図９】ローカルメモリ１００３の一例を示した説明図である。
【図１０】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図１１】ＣＨ構成情報１００５の一例を示した説明図である。
【図１２】診断処理装置１０００が有する機能を示した機能ブロック図である。
【図１３】入出力処理装置２０ｎの一例を示したブロック図である。
【図１４】入出力処理装置２００が有する機能を示した機能ブロック図である。
【図１５】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図１６】ＣＨ構成情報１００５の一例を示した説明図である。
【図１７】ＣＨ組込部２０の動作を説明するためのフローチャートである。
【図１８】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図１９】ＣＨ構成情報１００５の一例を示した説明図である。
【図２０】ＣＨｎ組込部３０の動作を説明するためのフローチャートである。
【図２１】ＣＨｎデータ転送指示部１０の動作を説明するためのフローチャートである。
【図２２】ＣＨｎ転送終了報告部１１の動作を説明するためのフローチャートである。
【図２３】ＣＨｎデータ転送部３２の動作を説明するためのフローチャートである。
【図２４】障害ＩＯＰｍ切替部２３の動作を説明するためのフローチャートである。
【図２５】障害ＩＯＰｍ切替部２３の動作を説明するためのフローチャートである。
【図２６】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図２７】ＣＨ構成情報１００５の一例を示した説明図である。
【図２８】ＣＨｎ障害発生報告部１２の動作を説明するためのフローチャートである。
【図２９】ＣＨｎ障害回復成功報告部１３の動作を説明するためのフローチャートである。
【図３０】障害ＩＯＰｍ交換部２４の動作を説明するためのフローチャートである。
【図３１】ＣＨｎ交換完了報告部１５の動作を説明するためのフローチャートである。
【図３２】ＣＨｎ切り離し部１６の動作を説明するためのフローチャートである。
【図３３】ＣＨｎ切り離し部２２の動作を説明するためのフローチャートである。
【図３４】ＣＨｎ切り離し部３１の動作を説明するためのフローチャートである。
【図３５】ＣＨｎ組込部１７の動作を説明するためのフローチャートである。
【図３６】ＣＨｎ組込部２１の動作を説明するためのフローチャートである。
【図３７】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図３８】ＣＨ構成情報１００５の一例を示した説明図である。
【図３９】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図４０】ＣＨ構成情報１００５の一例を示した説明図である。
【図４１】ＩＯＰ構成情報１００４の一例を示した説明図である。
【図４２】ＣＨ構成情報１００５の一例を示した説明図である。
【図４３】ＣＨｎ障害回復失敗報告部１４の動作を説明するためのフローチャートである。
【図４４】従来の情報処理装置の一例を示したブロック図である。
【符号の説明】
【０４６１】
１Ａ          情報処理装置
１０００      診断処理装置（ＤＧＰ）
２００ｎ      論理カード（ＣＥＬＬｎ）
３００ｎ      チャネル装置（ＣＨｎ）
５０００      バス
１０ｘ        演算処理装置（ＥＰＵｎ）
２０ｎ        入出力処理装置（ＩＯＰｎ）
３０ｎ        メモリ
４００ｎ      周辺装置（ＰＵｎ）
１００−１    処理部
１００−２    ファームウェア（ＦＷ）
１００−３    ローカルメモリ（ＬＭ）
１０          ＣＨｎデータ転送指示部
１１          ＣＨｎ転送終了報告部
１２          ＣＨｎ障害発生報告部
１３          ＣＨｎ障害回復成功報告部
１４          ＣＨｎ障害回復失敗報告部
１５          ＣＨｎ交換完了報告部
１６          ＣＨｎ切り離し部
１７          ＣＨｎ組込部
１８          ソフトウェア実行部
４００        ＩＯＰ構成テーブル
５００        ＣＨ構成テーブル
１００１      処理部１００１
１００２      ファームウェア（ＦＷ）
１００３      ローカルメモリ（ＬＭ）
１００４      ＩＯＰ構成情報
１００５      ＣＨ構成情報
２０          ＣＨ組込部
２１          ＣＨｎ組込部
２２          ＣＨｎ切り離し部
２３          障害ＩＯＰｍ切替部
２４          障害ＩＯＰｍ交換部
１００３      ローカルメモリ
２００−１    処理部
２００−２    ＳＬＯＴ切替部
２００−３    ファームウェア
２００−４    ローカルメモリ
２００−５、２００−６  ＳＬＯＴ
３０          ＣＨｎ組込部
３１          ＣＨｎ切り離し部
３２          ＣＨｎデータ転送部
【図１】
2006277250.tif 000003
【図２】
2006277250.tif 000004
【図３】
2006277250.tif 000005
【図４】
2006277250.tif 000006
【図５】
2006277250.tif 000007
【図６】
2006277250.tif 000008
【図７】
2006277250.tif 000009
【図８】
2006277250.tif 000010
【図９】
2006277250.tif 000011
【図１０】
2006277250.tif 000012
【図１１】
2006277250.tif 000013
【図１２】
2006277250.tif 000014
【図１３】
2006277250.tif 000015
【図１４】
2006277250.tif 000016
【図１５】
2006277250.tif 000017
【図１６】
2006277250.tif 000018
【図１７】
2006277250.tif 000019
【図１８】
2006277250.tif 000020
【図１９】
2006277250.tif 000021
【図２０】
2006277250.tif 000022
【図２１】
2006277250.tif 000023
【図２２】
2006277250.tif 000024
【図２３】
2006277250.tif 000025
【図２４】
2006277250.tif 000026
【図２５】
2006277250.tif 000027
【図２６】
2006277250.tif 000028
【図２７】
2006277250.tif 000029
【図２８】
2006277250.tif 000030
【図２９】
2006277250.tif 000031
【図３０】
2006277250.tif 000032
【図３１】
2006277250.tif 000033
【図３２】
2006277250.tif 000034
【図３３】
2006277250.tif 000035
【図３４】
2006277250.tif 000036
【図３５】
2006277250.tif 000037
【図３６】
2006277250.tif 000038
【図３７】
2006277250.tif 000039
【図３８】
2006277250.tif 000040
【図３９】
2006277250.tif 000041
【図４０】
2006277250.tif 000042
【図４１】
2006277250.tif 000043
【図４２】
2006277250.tif 000044
【図４３】
2006277250.tif 000045
【図４４】
2006277250.tif 000046