(57)【要約】【課題】複数の出力装置を共有する他の処理装置が出力処理を実行中の場合であっても出力処理を行うことができ、出力装置の負荷を分散し処理効率の向上を図ることができる入出力制御装置、入出力制御方法および入出力制御プログラムを提供する。【解決手段】処理装置１−１は、チャネルプログラムを実行して、デバイス番号「ＦＦ」を含む出力データをスイッチ装置３に転送する。スイッチ装置３の選択手段１０は、出力データを受信し、デバイス番号がＦＦである場合、出力装置ビジー状態監視手段５が設定した出力装置ビジー状態フラグ６−１〜６−ｙを参照して、空き状態の出力装置を選択する。パス切替手段４は、処理装置１−１と選択された空き状態の出力装置２−１との接続を確立し、物理チャネルパスａ１および論理チャネルパスｂ１を介して出力装置２−１に出力データを転送する。【選択図】図１
2007249661.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理装置と複数の出力装置との間のデータ転送を制御する入出力制御装置であって、
前記複数の出力装置が処理実行中か否かを示す状態情報を記憶する監視手段と、
前記複数の処理装置のうちのいずれかの処理装置から任意の出力装置を出力先に指定した出力装置接続要求を入力したときに、前記監視手段が記憶する状態情報を検索して処理実行中ではない出力装置を選択する選択手段と、
前記選択手段によって選択された出力装置と出力装置接続要求を出力した前記処理装置との接続を確立する接続手段と
を備えたことを特徴とする入出力制御装置。
【請求項２】
接続手段によって接続が確立された処理装置と出力装置とを示す接続確立情報を記憶する接続確立情報記憶手段を備えた
請求項１記載の入出力制御装置。
【請求項３】
接続確立情報記憶手段に記憶された接続確立情報にもとづいて、処理装置に対応する出力装置を示す情報を通知する報告手段を備えた
請求項２記載の入出力制御装置。
【請求項４】
選択手段は、入出力経路を示す物理チャネル番号と任意の出力装置を示すデバイス番号とを含む出力装置接続要求を受信する
請求項１から請求項３のうちのいずれか１項に記載の入出力制御装置。
【請求項５】
複数の処理装置と複数の出力装置との間のデータ転送を制御する入出力制御方法であって、
前記複数の出力装置が処理実行中か否かを示す状態情報を記憶し、
前記複数の処理装置のうちのいずれかの処理装置から任意の出力装置を出力先に指定した出力装置接続要求を入力したときに、記憶する状態情報を検索して処理実行中ではない出力装置を選択し、
選択された出力装置と出力装置接続要求を出力した前記処理装置との接続を確立する
ことを特徴とする入出力制御方法。
【請求項６】
複数の処理装置と複数の出力装置との間のデータ転送を制御する入出力制御装置に搭載される入出力制御プログラムであって、
前記入出力制御装置に、
前記複数の出力装置が処理実行中か否かを示す状態情報を記憶する処理と、
前記複数の処理装置のうちのいずれかの処理装置から任意の出力装置を出力先に指定した出力装置接続要求を入力したときに、記憶する状態情報を検索して処理実行中ではない出力装置を選択する処理と、
選択された出力装置と出力装置接続要求を出力した前記処理装置との接続を確立する処理と
を実行させるための入出力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置と出力装置との間のデータ転送を制御する入出力制御装置、入出力制御方法および入出力制御プログラムに関する。
【背景技術】
【０００２】
ＣＰＵや主記憶装置を備える処理装置と、プリンタ装置などの周辺装置との間のデータ転送を制御する入出力（Ｉ／Ｏ）制御方式として、入出力チャネル方式が知られている。入出力チャネルとは、ＣＰＵとは独立に周辺装置の制御を行う入出力処理専用の制御装置である。ＣＰＵは、データ転送時に、入出力チャネルにチャネルプログラムを実行するよう指示する。
【０００３】
図４は、主記憶装置が記憶するチャネルプログラム格納アドレス（ＣＰＡ）およびチャネルプログラム（ＣＰ）の例を示す説明図である。図４に例示するように、チャネルプログラムは、チャネルプログラムヘッダ（ＣＰＨ）と、チャネル番号（ＣＨＮ）と、チャネルコマンド列（ＣＣＥ）とを含む情報である。チャネルコマンド列は、Ｉ／Ｏの転送方向や制御内容などを示すコマンド、データ転送カウント、データ転送元主記憶アドレスおよびデータ転送先主記憶アドレスを含む情報である。ＣＰＵは、主記憶装置に、チャネルプログラムとチャネルプログラムの先頭アドレスを示すチャネルプログラム格納アドレスとを格納する。データ転送時に、ＣＰＵが入出力チャネルを起動すると、入出力チャネルは、チャネルプログラム格納アドレスを参照してチャネルプログラムを実行する。
【０００４】
図５は、チャネル番号の構成例を示す説明図である。図５に示すように、チャネル番号は、物理チャネル番号とデバイス番号とを含む情報である。物理チャネル番号は、転送データの入出力経路である物理チャネルパスを指定する番号であって、デバイス番号は、データ転送の相手方である周辺装置を指定する番号である。例えば、物理チャネル番号が「０００１」であり、デバイス番号が「０１」である場合、チャネル番号は「０００１０１」となる。
【０００５】
１つの物理チャネルパス配下に、複数の同機種の周辺装置が接続されるシステムでは、どの周辺装置に対しても、同じ入出力処理を行うことができる。しかし、ＣＰＵは、チャネルプログラムに、入出力処理を行う周辺装置を示すデバイス番号をあらかじめ指定しておかなければならない。指定した周辺装置が、他の入出力処理を実行中の場合には待ち時間が発生し、処理効率が低下するため、周辺装置間の負荷分散（ロードバランサ）が必要となる。
【０００６】
処理装置が１台の場合は、処理装置にインストールされるＯＳ(Operating System)が、出力装置間の負荷分散を管理することができるため容易であるが、複数の処理装置が複数の周辺装置を共用する場合には、出力装置間の負荷分散を管理することが困難である。
【０００７】
複数のチャネルインタフェースが接続されている周辺制御装置であって、入出力命令を効率よく処理することができる周辺制御装置が提案されている（例えば、特許文献１参照）。特許文献１には、チャネルインタフェースからの初期起動要求の受付が不可能な場合に使用中報告を行い、起動要求の受付が可能となった場合に使用可能報告を行うとともに、受付不可能な初期起動要求を行ったチャネルインタフェースからの再度の起動要求を優先的に受け付けるよう制御する制御手段を設けたことが記載されている。このような構成により、使用可能報告が非同期であるなどの理由により、受付不可能な初期起動要求を行ったチャネルインタフェースからの再起動要求を、他のチャネルインタフェースからの起動要求の後に受信した場合であっても、優先的に処理することができる。
【０００８】
【特許文献１】特開平３−３１９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に記載された方式では、初期起動要求の受付が不可能な場合には、チャネルインタフェースに使用中報告が送信されるものの、受付が可能となるまで、すなわち実行中の入出力処理が終了するまで、処理を行うことができない。また、使用中報告を受信したチャネルインタフェースは、使用可能報告を受信後に、再度の起動要求を送信しなければならない。このため、待ち時間が発生し、処理効率が低下するという問題がある。
【００１０】
そこで、本発明は、複数の出力装置を共有する他の処理装置が出力処理を実行中の場合であっても出力処理を行うことができ、出力装置の負荷を分散し処理効率の向上を図ることができる入出力制御装置、入出力制御方法および入出力制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明による入出力制御装置は、複数の処理装置と複数の出力装置との間のデータ転送を制御する入出力制御装置であって、複数の出力装置が処理実行中か否かを示す状態情報を記憶する監視手段と、複数の処理装置のうちのいずれかの処理装置から任意の出力装置を出力先に指定した出力装置接続要求を入力したときに、監視手段が記憶する状態情報を検索して処理実行中ではない出力装置を選択する選択手段と、選択手段によって選択された出力装置と出力装置接続要求を出力した処理装置との接続を確立する接続手段とを備えたことを特徴とする。
【００１２】
接続手段によって接続が確立された処理装置と出力装置とを示す接続確立情報を記憶する接続確立情報記憶手段を備えてもよい。そのような構成によれば、接続が確立された処理装置と出力装置との対応関係を記憶することができる。
【００１３】
接続確立情報記憶手段に記憶された接続確立情報にもとづいて、処理装置に対応する出力装置を示す情報を通知する報告手段を備えてもよい。そのような構成によれば、処理装置に、どの出力装置に対して出力処理を実行したかを通知することができる。
【００１４】
選択手段は、入出力経路を示す物理チャネル番号と任意の出力装置を示すデバイス番号とを含む出力装置接続要求を受信してもよい。そのような構成によれば、所定の処理装置と任意の出力装置との接続を確立することができる。
【００１５】
本発明による入出力制御方法は、複数の処理装置と複数の出力装置との間のデータ転送を制御する入出力制御方法であって、複数の出力装置が処理実行中か否かを示す状態情報を記憶し、複数の処理装置のうちのいずれかの処理装置から任意の出力装置を出力先に指定した出力装置接続要求を入力したときに、記憶する状態情報を検索して処理実行中ではない出力装置を選択し、選択された出力装置と出力装置接続要求を出力した処理装置との接続を確立することを特徴とする。
【００１６】
本発明による入出力制御プログラムは、複数の処理装置と複数の出力装置との間のデータ転送を制御する入出力制御装置に搭載される入出力制御プログラムであって、入出力制御装置に、複数の出力装置が処理実行中か否かを示す状態情報を記憶する処理と、複数の処理装置のうちのいずれかの処理装置から任意の出力装置を出力先に指定した出力装置接続要求を入力したときに、記憶する状態情報を検索して処理実行中ではない出力装置を選択する処理と、選択された出力装置と出力装置接続要求を出力した処理装置との接続を確立する処理とを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、各処理装置は、各出力装置の負荷状態を意識することなく、空き状態の出力装置に対してデータを出力することができる。そのため、他の処理装置による出力処理の終了待ちを軽減することができ、処理効率の向上を図ることができる。また、処理装置に、どの出力装置に対して出力処理を実行したかを通知することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明による入出力制御システムの実施の一形態を示すブロック図である。図１に示す入出力制御システムは、処理装置１−１〜１−ｘと、出力装置２−１〜２−ｙと、スイッチ装置３（入出力制御装置）とを備える。
【００１９】
処理装置１−１〜１−ｘとスイッチ装置３とは、それぞれ物理チャネルパスａ１〜ａｘで接続され、出力装置２−１〜２−ｙとスイッチ装置３とは、それぞれ論理チャネルパスｂ１〜ｂｙで接続される。例えば、処理装置１−１に着目すると、物理チャネルパスａ１とスイッチ装置３とを介して、複数の出力装置２−１〜２−ｙに接続される。すなわち、各論理チャネルパスは、１つの物理チャネルパスに直結されるのではなく、スイッチ装置３を介して各物理チャネルパスに接続される。
【００２０】
処理装置１−１〜１−ｘは、ＣＰＵ（図示せず。）と主記憶装置（図示せず。）と入出力チャネル（図示せず。）とを含み、出力装置２−１〜２−ｙに出力データを転送する処理を実行する機能を有する。処理装置１−１〜１−ｘは、例えば、コンピュータで実現される。処理装置１−１〜１−ｘにおいて、ＣＰＵは、主記憶装置にチャネルプログラムを格納し、データ転送時に入出力チャネルを起動する。入出力チャネルは、チャネルプログラムを実行し、出力データを転送する。
【００２１】
出力装置２−１〜２−ｙは、処理装置１−１〜１−ｘからスイッチ装置３を介して転送された出力データを受信する。出力装置２−１〜２−ｙは、すべて同種の出力装置である。同種の出力装置とは、同等の機能を有する意味であって、例えば、すべての出力装置がプリンタ装置であることを意味する。なお、各プリンタ装置のメーカや機種等は異なってもよい。
【００２２】
出力データは、チャネル番号を特定可能な情報である。すなわち、処理装置１−１〜１−ｘは、チャネルプログラムに含まれるチャネル番号を指定して、出力データを転送する。チャネル番号は、出力データの入出力経路を示す物理チャネルパスと転送先の出力装置を示すデバイス番号とを有する情報である。例えば、物理チャネルパスａ１の物理チャネル番号は「０００１」で表され、物理チャネルパスａ２の物理チャネル番号は「０００２」で表される。また、例えば、出力装置２−１のデバイス番号は「０１」で表され、出力装置２−２のデバイス番号は「０２」で表される。
【００２３】
スイッチ装置３は、パス切替手段４と、出力装置ビジー状態監視手段５と、実行中デバイス番号記憶手段７と、チャネル番号報告手段９と、選択手段１０とを含む。
【００２４】
選択手段１０は、各処理装置１−１〜１−ｘから転送された出力データを受信し、チャネル番号のデバイス番号が、出力装置を指定しないことを意味するデバイス番号であるか否かを判断する。以下、出力装置を指定しないことを意味するデバイス番号として「ＦＦ」を例示して説明する。
【００２５】
選択手段１０は、デバイス番号がＦＦである場合には、出力装置ビジー状態監視手段５が設定した出力装置ビジー状態フラグ６−１〜６−ｙを参照して、空き状態の出力装置を選択する。
【００２６】
パス切替手段４は、出力データの転送元である処理装置と、選択手段１０によって選択された出力装置との接続を確立し、出力装置に出力データを転送する。
【００２７】
また、選択手段１０は、各処理装置１−１〜１−ｘに対応する処理装置デバイス番号８−１〜８−ｘとして、各処理装置の出力処理を実行中の出力装置を示すデバイス番号を格納する。
【００２８】
出力装置ビジー状態監視手段５は、各出力装置２−１〜２−ｙが出力動作の実行中であるか否かを示す出力装置ビジー状態フラグ６−１〜６−ｙを設定する。出力装置ビジー状態フラグ６−１〜６−ｙは、出力装置２−１〜２−ｙ毎に設けられている。出力装置ビジー状態監視手段５は、出力動作を行っていない出力装置に対応する出力装置ビジー状態フラグを０に設定し、出力動作を行っている出力装置に対応する出力装置ビジー状態フラグを１に設定する。出力装置ビジー状態監視手段５は、例えば、各出力装置２−１〜２−ｙの出力処理開始時に出力装置ビジー状態フラグ６−１〜６−ｙを１に設定し、出力処理終了時に０を設定する。なお、出力装置ビジー状態監視手段５は、定期的に各出力装置２−１〜２−ｙの状態を監視し、出力装置ビジー状態フラグ６−１〜６−ｙを設定してもよい。
【００２９】
実行中デバイス番号記憶手段７は、各処理装置１−１〜１−ｘによる要求に応じた出力処理を実行中の出力装置を示す出力装置番号（デバイス番号）を、処理装置デバイス番号８−１〜８−ｘとして記憶する。各処理装置デバイス番号８−１〜８−ｘは、処理装置１−１〜１−ｘ毎に設けられている。例えば、出力装置２−１が処理装置１−１の出力処理を実行中である場合、処理装置１−１に対応する処理装置デバイス番号８−１として、デバイス番号「０１」が記憶される。
【００３０】
チャネル番号報告手段９は、出力処理の終了時に、各処理装置１−１〜１−ｘに、対応する処理装置デバイス番号８−１〜８−ｘを通知する。チャネル番号報告手段９は、処理装置デバイス番号８−１〜８−ｘとしてデバイス番号を各処理装置１−１〜１−ｘに通知することにより、各処理装置の主記憶装置に記憶されるＩ／Ｏ終了事象報告を更新するよう指示する。
【００３１】
図２は、Ｉ／Ｏ終了事象報告の一例を示す説明図である。図２に示すＩ／Ｏ終了事象報告は、チャネルプログラム終了形態フラグ（ＥＶＴＹ）、チャネル番号（ＣＨＮ）、転送残余カウント（ＲＣＮＴ）およびＣＣＥ実行アドレス（ＣＣＥＡ）を含む情報である。チャネルプログラム終了形態フラグは、入出力処理の実行結果が正常終了か異常終了かを示す情報である。チャネル番号は、実行した入出力処理のチャネル番号を示す。ＣＣＥ実行アドレスは、実行したＣＣＥ列の位置を示す情報である。転送残余カウントは、チャネルプログラムに含まれるデータ転送カウントから、実際に行ったデータ転送カウントを減算した値を示す。例えば、出力装置がプリンタ装置である場合には、通常、転送残余カウント＝０が期待値となる。
【００３２】
本実施の形態において、監視手段は、出力装置ビジー状態監視手段５によって実現される。接続手段は、パス切替手段４によって実現される。接続確立情報記憶手段は、実行中デバイス番号記憶手段７によって実現される。報告手段は、チャネル番号報告手段９によって実現される。
【００３３】
なお、スイッチ装置３を構成する各構成要素、すなわち、パス切替手段４、出力装置ビジー状態監視手段５、実行中デバイス番号記憶手段７、チャネル番号報告手段９および選択手段１０は、スイッチ装置３の制御部に上述した機能を実現させるためのプログラムとして実現可能である。
【００３４】
次に、図３を参照して本発明による入出力制御システムの動作について説明する。図３は、本発明による入出力制御システムの動作を示すフローチャートである。
【００３５】
なお、以下の説明では、処理装置１−１が、空き状態である出力装置２−１への出力処理を実行する場合を例示する。また、出力装置２−１が空き状態であって、出力装置２−２〜２−ｙは出力動作実行中である場合、すなわち、出力装置ビジー状態フラグ６−１が０と設定され、出力装置ビジー状態フラグ６−２〜６−ｙが１と設定されている場合を例示して説明する。
【００３６】
処理装置１−１は、チャネルプログラムを実行して、スイッチ装置３に出力データを転送する（ステップＳ１０１）。すなわち、処理装置１−１のＣＰＵが入出力チャネルを起動し、入出力チャネルが、主記憶装置に格納されたチャネルプログラムを実行する。処理装置１−１は、チャネル番号「０００１ＦＦ」を特定可能な出力データをスイッチ装置３に転送する。チャネル番号「０００１ＦＦ」は、例えば、物理チャネル番号が処理装置１−１の物理チャネルパスを示す「０００１」であり、デバイス番号が「ＦＦ」であることを示す。また、処理装置１−１のＣＰＵは、主記憶装置に記憶されるＩ／Ｏ終了事象報告に含まれるチャネル番号を「０００１ＦＦ」と設定する。
【００３７】
スイッチ装置３の選択手段１０は、出力データを受信し、チャネル番号のデバイス番号がＦＦであるか否かを判断する（ステップＳ１０２）。出力データのデバイス番号がＦＦである場合（ＹＥＳ）、選択手段１０は、出力装置ビジー状態監視手段５が設定した出力装置ビジー状態フラグ６−１〜６−ｙを参照して、空き状態の出力装置を検索する（ステップＳ１０３）。例えば、選択手段１０は、出力装置ビジー状態フラグが０である装置として出力装置２−１を選択する。
【００３８】
パス切替手段４は、処理装置１−１と選択手段１０によって選択された空き状態の出力装置２−１との接続を確立し、物理チャネルパスａ１および論理チャネルパスｂ１を介して出力装置２−１に出力データを転送する（ステップＳ１０４）。また、出力装置ビジー状態監視手段５は、出力装置２−１に対応する出力装置ビジー状態フラグ６−１を１に設定する（ステップＳ１０５）。
【００３９】
選択手段１０は、処理装置１−１に対応する処理装置デバイス番号８−１として、出力処理を実行中の出力装置２−１を示すデバイス番号「０１」を格納する（ステップＳ１０６）。
【００４０】
出力処理の終了時に、チャネル番号報告手段９は、処理装置デバイス番号８−１として格納されるデバイス番号「０１」を、処理装置１−１に通知する（ステップＳ１０７）。チャネル番号報告手段９は、デバイス番号「０１」を処理装置１−１に通知することにより、処理装置１−１の主記憶装置に記憶されるＩ／Ｏ終了事象報告のチャネル番号を「０００１０１」に更新するよう指示する。
【００４１】
ステップＳ１０２において、出力データのデバイス番号がＦＦでない場合（ＮＯ）、すなわち特定の出力装置が指定されている場合には、ステップＳ１０８に移行する。以下の説明では、特定の出力装置として出力装置２−２が指定され、出力装置２−２が空き状態である場合を例示する。
【００４２】
ステップＳ１０２において、出力データのデバイス番号が出力装置２−２を示すデバイス番号「０２」である場合（ＮＯ）、パス切替手段４は、処理装置１−１と出力装置２−２との接続を確立し、物理チャネルパスａ１および論理チャネルパスｂ２を介して出力装置２−２に出力データを転送する（ステップ１０８）。また、出力装置ビジー状態監視手段５は、出力装置２−１に対応する出力装置ビジー状態フラグ６−１を１に設定する（ステップＳ１０９）。選択手段１０は、処理装置１−１に対応する処理装置デバイス番号８−１として、出力処理を実行中の出力装置２−２を示すデバイス番号「０２」を格納し（ステップＳ１１０）、一連の処理を終了する。
【００４３】
この場合、処理装置１−１の主記憶装置に記憶されるＩ／Ｏ終了事象報告に含まれるチャネル番号は、ステップＳ１０１において処理装置１−１が実行するチャネルプログラムに含まれるチャネル番号と同一であって、チャネルプログラムの実行時に同時に設定される。そのため、処理装置デバイス番号８−１として格納されるデバイス番号「０２」は、処理装置１−１に通知されない。
【００４４】
以上に説明したように、本発明によれば、各処理装置は、各出力装置の負荷状態を意識することなく、空き状態の出力装置に対してデータを出力することができる。そのため、他の処理装置による出力処理の終了待ちを軽減することができ、処理効率の向上を図ることができる。また、各処理装置は、実行した出力処理がどの出力装置に対してなされたかを認識することができる。
【００４５】
なお、上記の説明では、各処理装置が出力装置に出力データを転送する場合を例示したが、出力装置は、データを入出力可能な入出力装置であってもよく、例えば、スキャナなどの入力装置やＣＤ，ＤＶＤ等の補助記憶装置であってもよい。この場合も、スイッチ装置に接続される全ての入出力装置は、すべて同種の入出力装置である。
【産業上の利用可能性】
【００４６】
本発明は、処理装置と出力装置との間のデータ転送を制御する入出力制御装置に効果的に適用でき、特に、複数の処理装置と複数の出力装置との間のデータ転送を制御するために効果的に適用できる。
【図面の簡単な説明】
【００４７】
【図１】本発明による入出力制御システムの実施の一形態を示すブロック図である。
【図２】Ｉ／Ｏ終了事象報告の一例を示す説明図である。
【図３】本発明による入出力制御システムの動作を示すフローチャートである。
【図４】主記憶装置が記憶するチャネルプログラム格納アドレス（ＣＰＡ）およびチャネルプログラム（ＣＰ）の例を示す説明図である。
【図５】チャネル番号の構成例を示す説明図である。
【符号の説明】
【００４８】
１−１〜１−ｘ  処理装置
２−１〜２−ｙ  出力装置
３              スイッチ装置
４              パス切替手段
５              出力装置ビジー状態監視手段
６−１〜６−ｙ  出力装置ビジー状態フラグ
７              実行中デバイス番号記憶手段
８−１〜８−ｘ  処理装置デバイス番号
９              チャネル番号報告手段
１０            選択手段
【図１】
2007249661.tif 000003
【図２】
2007249661.tif 000004
【図３】
2007249661.tif 000005
【図４】
2007249661.tif 000006
【図５】
2007249661.tif 000007