(57)【特許請求の範囲】
【請求項１】
バッファメモリにデータを保持しておき、データ転送手段により該データを記憶手段または出力手段に転送する計算機のデータ転送処理管理装置において、
前記データ転送手段がデータの転送処理中であるときに、データの転送処理を完了して使用可能状態になるまでの時間を予測する切替え時間算出手段と、
前記切替え時間算出手段により求められた前記使用可能状態になるまでの時間が予め設定されている所定の時間より短い場合に、前記バッファメモリに保持されているデータを前記データ転送手段が転送するためのデータ転送指令を発行するデータ転送管理手段と、
を有することを特徴とするデータ転送処理管理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、データ転送処理管理装置に係り、特に、バッファメモリにデータを蓄積し、チャネル装置により該データをディスク装置等の記憶装置、または、表示装置等の出力装置に転送するタイミングの制御を行う計算機におけるデータ転送処理管理装置に関する。
【０００２】
近年、計算機システムでのデータ処理は、バッチ処理と言われる大量に連続するデータの処理と、計算機との対話によりデータの処理を行う離散型の処理が同時に行われる傾向にある。このような形態のデータ転送処理において、バッチ処理では全体の処理時間の短縮、また、対話型処理では応答時間の短縮が求められている。
【０００３】
【従来の技術】
図６に従来のデータ転送処理管理システムの説明図を示す。従来のデータ転送処理管理システムは、バッファメモリ１００、バッファメモリ管理部２１０、データ転送部４１０、及び、記憶部または出力部５１０で構成される。
【０００４】
バッファメモリ管理部２１０がバッファメモリ１００のデータをデータ転送部４１０を介して出力する場合、データ転送部４１０が使用可能状態になるまで、データ転送を待機する。データ転送部４１０が現行のデータの転送処理を完了して使用可能状態になると、バッファメモリ管理部２１０は、データ転送部４１０にバッファメモリ１００からのデータ転送を指示することにより、記憶部または出力部５１０へのデータ転送が可能となる。
【０００５】
図７は、従来のデータ転送を具体的に示す図である。同図に示すシステムは、転送前のデータを蓄積しておく共用バッファ１２０、共用バッファ１２０のデータ転送を管理する共用バッファ管理部２１２、転送されたデータを格納するディスク装置５２０、及びディスク装置５２０へのデータ転送を制御するチャネル装置４２０により構成される。
【０００６】
まず、共用バッファ管理部２１２からチャネル装置４２０に対してデータ転送要求が送出される。この時、チャネル装置４２０の状態が未使用状態である場合には、チャネル装置４２０は共用バッファ管理部２１２に対してデータ転送許可を通知する。これにより共用バッファ管理部２１２は、共用バッファ１２０に対して所定のデータ量をディスク装置５２０に転送する指示を行う。共用バッファ１２０は、バッチ処理により蓄積されたデータをチャネル装置４２０を介してディスク装置５２０に転送する。
【０００７】
一方、チャネル装置４２０の状態が使用状態である場合には、チャネル装置４２０は、共用バッファ管理部２１２には何の指示も通知せず待機する。これは、バッチ処理を行う場合には、共用バッファ１２０において一連のバッチ処理用のデータを保持し、ディスク装置５２０への出力回数を最小限に抑えることにより、処理時間の短縮を図ろうとするものである。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記の従来の方法では、チャネル装置が使用可能状態となるまでデータをバッファメモリに保持しておくため、バッチ処理の効率はよいが、対話型の情報処理においては、ＣＰＵにアクセスしてから応答がリターンするまでの応答時間が長くなるという問題がある。従って、ＣＰＵに端末装置からアクセスしている間は当該端末は他の入力等の処理が行えないため処理効率が低下する。
【０００９】
本発明は上記の点に鑑みてなされたものであり、バッファメモリからのデータ転送のタイミングを制御して、離散的なデータ処理（対話型処理）における応答時間を短縮することのできるデータ転送処理管理装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
図１に本発明の原理構成図を示す。
【００１１】
本発明のデータ転送処理管理装置は、バッファメモリ（１００）にデータを保持しておき、データ転送手段（４００）によりデータを記憶手段または出力手段（５００）に転送する計算機のデータ転送管理装置において、データ転送手段（４００）が使用中である場合に、未使用状態に切り替わるまでの時間を求める切替え時間算出手段（２００）と、切替え時間算出手段（２００）により求められた時間が所定の時間より短い場合に、バッファメモリ（１００）からデータを転送するデータ転送管理手段とを有する。
【００１２】
【作用】
本発明は、データをバッファメモリから他の記憶装置、または、出力装置等に転送する際に、データ転送を制御するための装置（チャネル装置）が使用中であっても、データ転送終了までの時間（ｔ１）を予測し、予め設定されている時間（ｔ２）より短ければ（ｔ１≦ｔ２）、バッファメモリからのデータ転送を行うものである。
【００１３】
また、終了までの時間（ｔ１）が予め設定されている時間（ｔ２）より長ければ（ｔ１＞ｔ２），バッファメモリからのデータ転送は行われない。但し、バッファメモリがオーバーフローとなる様な状態では、その制限を外してデータ転送を行うことも可能である。
【００１４】
【実施例】
以下、図面と共に本発明の実施例を詳細に説明する。
【００１５】
図２は、本発明の一実施例のデータ転送のシステム構成図である。同図に示すデータ転送システムは、入出力装置５４０、ＣＰＵ５３０、共用バッファ管理部３２０、チャネル監視部３４０、チャネル装置４２０、共用バッファ１２０、及びディスク装置５２０より構成される。
【００１６】
同図の例では、チャネル装置４２０により共用バッファ１２０からディスク装置５２０にデータを出力するものとする。
【００１７】
共用バッファ管理部３２０は、共用バッファ１２０から出力すべきデータの量の情報３２２と、共用バッファ１２０で蓄積できるデータの量の限界値情報３２４を有し、共用バッファ１２０を管理し、データ量の情報３２２が存在する場合に、チャネル監視部３４０に転送要求を通知すると共に、データ量限界値情報３２４も通知する。
【００１８】
共用バッファ管理部３２０の出力データ量３２２は、ハードディスク装置５２０への転送単位であるブロック（１ブロックは、２０４８バイト）を単位とする。データ量の単位は、記憶装置または出力装置の仕様に応じて定めると都合が良く、前記ブロックに限定されるものではない。
【００１９】
共用バッファ管理部３２０の出力データ量限界値３２４は、予めシステムにより設定された値であり、出力データ量３２２と同じくブロックを単位とする。出力データ量３２４は、共用バッファ１２０のセグメンテーションの大きさ等により決定してもよい。
【００２０】
チャネル監視部３４０は、チャネル監視プロセス３５０とチャネル管理域３６０を有する。
【００２１】
図３は、本発明の一実施例のチャネル管理域３６０の構成を示す図である。チャネル管理域３６０は、チャネル使用状態フラグ３６２、転送データ量３６４、データ転送速度３６６、データ転送開始時刻３６８、データ転送許可残り時間３７０、及び現在時刻３７２を構成データとして有する。
【００２２】
チャネル使用状態フラグ３６２は、チャネル装置４２０がデータ転送中か、データ転送中ではないかのいずれかを示すための１ビット情報であり、データ転送中は”１”、データ転送中でないとき”０”の値を有する。チャネル使用状態フラグ３６２の値は、チャネル装置４２０がデータ転送中でない場合に、残りデータ転送時間の算出を行うことなくデータ出力を行い、処理時間の短縮を図るために利用する。実施例では、１ビット情報としているが１ビットの情報を表現できればよい。
【００２３】
転送データ量３６４は、チャネル装置４２０が転送中のデータ量である。実施例では、ハードディスク装置５２０への転送の単位であるブロック（２０４８バイト）を単位としている。データ量の単位は、記憶装置・出力装置に応じて定めると都合がよく、前記ブロックに限定されるものではない。
【００２４】
データ転送速度３６６は、チャネル装置４２０がデータを転送する速度を示している。実施例では、１ｍｓｅｃ当たりの転送ブロック数で表現している。データ転送速度３６６は、使用するチャネル装置４２０と記憶装置・出力装置の組み合わせに応じて定めることができる。
【００２５】
データ転送開始時刻３６８は、チャネル装置４２０が現在転送中のデータの転送を開始した時刻である。
【００２６】
データ転送許可残り時間３７０は、予めシステムにより設定された値であり、実施例ではｍｓｅｃを単位としているが、時間間隔を表現できる単位であれば、実施例に限定されるものではない。データ転送許可残り時間３７０の設定は、予めシステムが設定する方法に限定されることはなく、共用バッファ管理部３２０が設定する等の方法に依って設定しても構わない。
【００２７】
現在時刻３７２は、本実施例では、計算機のシステムクロックを利用しているが、時間経過を知ることができればよい。
【００２８】
チャネル監視部３４０のチャネル監視プロセス３５０は、上記のチャネル管理域３６０の情報と共用バッファ管理部３２０からの情報に基づいてチャネル装置４２０を制御する。
【００２９】
チャネル監視プロセス３５０は、出力データ有無の監視、チャネル装置４２０の使用状態の監視、切替え時間の算出、データ転送処理、データ転送完了処理等の処理を行う。以下にチャネル監視プロセス３５０を詳細に説明する。
【００３０】
図４は、本発明の一実施例におけチャネル監視プロセス３５０の一連の動作を説明するフローチャートである。同処理は、共用バッファ管理部３２０が出力データ量３２２を監視している場合に、出力データ量３２２が≠０である場合に、チャネル監視部３４０に対して、データ転送要求を行った場合について説明する。
【００３１】
ステップ１０）チャネル監視プロセス３５０が共用バッファ管理部３２０よりデータ転送要求を受理する。
【００３２】
ステップ２０）出力データ量３２２が出力データ量限界値３２４を超過している場合には、ステップ８０に移行する。
【００３３】
ステップ３０）チャネル管理域３６０のチャネル使用状態フラグ３６２を監視し、使用状態フラグ３６２が”０”であるとき、チャネル装置４２０が未使用であるので、ステップ６０に移行する。
【００３４】
ステップ４０）使用状態フラグ３６２が”１”であるとき、チャネル装置４２０が使用状態であるので、未使用状態への切替え時間を算出する。
【００３５】
切替え時間算出における残り転送時間計算は次の通り行う。
【００３６】
残り転送時間（Ｔ）＝転送データ量（Ｄ）／データ転送速度（Ｒ）−（現在時刻（Ｃ）−データ転送開始時刻（Ｌ））
上式において、Ｔは残り転送時間であり、以下各項はチャネル管理域３６０に設定されているデータである、Ｄは転送データ量３６４、Ｒはデータ転送速度３６６、Ｃは現在時刻３７０、および、Ｌはデータ転送開始時刻３７２をそれぞれ表している。
【００３７】
転送データ量（Ｄ）３６４をデータ転送速度（Ｒ）３６６で除した値（Ｄ／Ｒ）は、チャネル装置に対して転送命令が発行されている現行データ全てを転送するのに要する時間をｍｓｅｃ単位で表す。
【００３８】
チャネル装置４２０に対して転送命令が発行された時刻は、データ転送開始時刻（Ｌ）３６８であり、現在時刻（Ｃ）３７０までの経過時間は、”Ｃ−Ｌ”である。従って、前記データ全てを転送する時間（Ｄ／Ｒ）から前記の経過時間（Ｃ−Ｌ）を除いた残り時間は、チャネル装置４２０のデータ転送に要する残り転送時間（Ｔ）を与える。残り転送時間（Ｔ）は、経過時間の間、一定のデータ転送速度３６６でデータ転送を行っていることを仮定しているため、残り時間の予測値である。
【００３９】
ステップ５０）ステップ４０における切替え時間算出結果である残り転送時間Ｔと所定のデータ転送許可残り時間Ｐを比較し、残り時間がデータ転送許可残り時間内に収まっている場合（Ｔ≦Ｐ）、ステップ８０に進む。残り時間Ｔがデータ転送許可残り時間Ｐを越えている場合（Ｔ＞Ｐ）、データ転送処理は行わずに、一連の動作を終了する。
【００４０】
ステップ６０）ステップ３０の判断により、チャネル装置４２０が未使用状態であるので、チャネル装置４２０がデータ転送を完了したために未使用状態となったことを確認する。チャネル装置４２０からデータ転送の完了の通知がある場合、ステップ７０に進む。データ転送の完了の通知がない場合は、ステップ８０に進む。
【００４１】
ステップ７０）データ転送の完了直後であり、新しいデータ転送指令の直前であるため、転送データ量３６４を”０”にリセットし、ステップ７５に進む。
【００４２】
ステップ７５）新しいデータ転送指令の直前であるため、現在時刻３７２をデータ転送開始時刻３６８にセットする。
【００４３】
ステップ８０）共用バッファ管理部３２０に対して、データ転送の許可を与える。共用バッファ管理部３２０は、チャネル装置４２０に対しデータ転送指令を発行する。データ転送処理後、ステップ９０に進む。ステップ２０において、出力データ量３２２≧出力データ量限界値３２４と判定された場合、強制的にデータ転送を実行し、出力データ量３２２の過大による共用バッファ１２０の領域不足を原因とする効率低下を回避することができる。
【００４４】
ステップ９０）共用バッファ管理部３２０がチャネル装置４２０に対して指令した転送データ量を転送データ量３６４に加算し、一連動作を終了する。
【００４５】
一連動作は、共用バッファ１２０とチャネル装置４２０が利用可能な期間中繰り返し実行される。
【００４６】
上記の実施例では、共用バッファ管理部３２０のデータ転送要求により、チャネル監視部３４０が作動するとしているが、他の実施例として、チャネル監視部３４０が常時動作し、チャネル装置４２０が所定時間以内に未使用状態になる場合に、共用バッファ管理部３２０に対してデータ転送を要求する形態がある。
【００４７】
図５は、本発明の他の実施例であるチャネル監視プロセス３５０の一連の動作を示す。同処理では、チャネル監視プロセス３５０が常時動作し、チャネル装置４２０が未使用状態であるか、あるいは、チャネル装置４２０が使用状態であって、残り時間（Ｔ）がデータ転送許可残り時間（Ｐ）以下である場合（Ｔ≦Ｐ）、共用バッファ管理部３２０に対し、データ転送要求を行う場合について説明する。
【００４８】
ステップ１００）チャネル監視プロセス３５０は、チャネル管理域３６０のチャネル使用状態フラグ３６２を監視し、チャネル使用状態フラグ３６２が”０”であるとき、チャネル装置４２０が未使用であるので、ステップ１０６に移行する。
【００４９】
ステップ１０２）使用状態フラグ３６２が”１”であるとき、チャネル装置４２０が使用状態であるので、未使用状態への切替え時間を算出する。
【００５０】
切替え時間算出における残り転送時間計算は、前述の実施例のステップ４０と同様に行う。
【００５１】
ステップ１０４）ステップ１０２により得られた切替え時間算出結果である残り転送時間Ｔと所定のデータ転送許可残り時間Ｐを比較し、残り時間がデータ転送許可残り時間内に収まっている場合（Ｔ≦Ｐ）、ステップ１１２に進む。残り時間Ｔがデータ転送許可残り時間Ｐを越えている場合（Ｔ＞Ｐ）、一連動作を終了する。
【００５２】
ステップ１０６）ステップ１００の判断により、チャネル装置４２０が未使用状態であるので、チャネル装置４２０が共用バッファ１２０からデータ転送を完了したために未使用状態となったことを確認する。チャネル装置４２０からデータ転送の完了の通知がある場合、ステップ１０８に進む。データ転送の完了の通知がない場合は、ステップ１１２に進む。
【００５３】
ステップ１０８）データ転送の完了直後であり、新しいデータ転送指令の直前であるため、転送データ量３６４を”０”にリセットし、ステップ１１０に進む。
【００５４】
ステップ１１０）新しいデータ転送指令の直前であるため、現在時刻３７２をデータ転送開始時刻３６８にセットする。
【００５５】
ステップ１１２）共用バッファ管理部３２０に対して、データ転送の許可を与える。共用バッファ管理部３２０は、チャネル装置４２０に対しデータ転送指令を発行する。チャネル装置４２０は、データを転送するディスク装置５２０を選択し、共用バッファ１２０よりデータの転送を行う。
【００５６】
ステップ１１４）共用バッファ管理部３２０がチャネル装置４２０に対して指令した転送データ量を転送データ量３６４に加算し、一連動作を終了する。
【００５７】
本実施例においても、一連動作は、共用バッファ１２０とチャネル装置４２０が利用可能な期間中繰り返し実行される。
【００５８】
実施例では、ジョブが１つであるとして説明を行っているが、計算機上の複数のジョブがデータ転送を行う場合にも、実施例と全く同様の構成で、本発明を実施することができる。
【００５９】
最後に、本発明の一実施例において、対話型情報処理における応答時間を短縮するための利用方法を説明する。
【００６０】
データ転送許可残り時間３７０を小さな値に設定すると、データ転送の待ち時間のために発生するＣＰＵの応答時間の遅延をデータ転送許可残り時間３７０以内に収めることができる。従って、データ転送許可残り時間３７０を対話型情報処理において必要とされる応答時間以下に設定することにより、応答性のよい対話型情報処理を実現することができる。
【００６１】
さらに、対話型情報処理における応答時間短縮の他に次の効果を得ることができる。
【００６２】
第１に、データ転送許可残り時間３７０を大きな値に設定すると、データ転送１回当たりのデータ転送量が増加し、データ転送の回数が減少する。従って、バッチ処理向きのデータ転送を実現することができる。
【００６３】
次に、対話型データ処理とバッチ処理を同時に行うデータ処理では、対話型データ処理に適したデータ転送許可残り時間（Ｔ１）とバッチ処理に適したデータ転送許可残り時間（Ｔ２）を対話型データ処理の占有率（Ｏ１）とバッチ処理の占有率（Ｏ２）とにより加重平均（Ｔ１×Ｏ１＋Ｔ２×Ｏ２）を行った値等をデータ転送許可残り時間３７０とすることで、対話型データ処理とバッチ処理の両方を円滑に処理するデータ転送処理を実現できる。
【００６４】
【発明の効果】
本発明により、計算機のバッファメモリのデータ転送において、データ転送のタイミングを制御することができるようになり、その結果、以下の効果を得ることができる。
【００６５】
データ転送の頻度を増すことにより、対話型データ処理に必要とされる応答時間の短縮が可能である。
【００６６】
また、データ転送の頻度を少なくして、１回あたりのデータ転送量を大きくすると、バッチ処理に適したデータ転送を実現することができる。
【００６７】
さらに、対話型データ処理とバッチ処理とを同時に行うデータ処理において、双方の処理の比重に応じて適当なデータ転送タイミングを調整することにより、対話型データ処理とバッチ処理の双方を円滑に処理するデータ転送を実現できる。
【図面の簡単な説明】
【図１】本発明のデータ転送処理管理装置の原理構成図である。
【図２】本発明の一実施例のシステム構成図である。
【図３】本発明の一実施例のチャネル管理域の構成を説明する図である。
【図４】本発明の一実施例のチャネル監視プロセスの動作（その１）を説明する図である。
【図５】本発明の一実施例のチャネル監視プロセスの動作（その２）を説明する図である。
【図６】従来のデータ転送システムの説明図である。
【図７】従来のデータ転送システムを具体的に示す図である。
【符号の説明】
１００  バッファメモリ
１２０  共用バッファ
２００  切替え時間算出手段
２１０  バッファメモリ管理部
２１２  共用バッファ管理部
３００  データ転送管理手段
３２０  共用バッファ管理部
３２２  出力データ量
３２４  出力データ量限界値
３４０  チャネル監視部
３５０  チャネル監視プロセス
３６０  チャネル管理域
３６２  チャネル使用状態フラグ
３６４  転送データ量
３６６  データ転送速度
３６８  データ転送開始時刻
３７０  データ転送許可残り時間
３７２  現在時刻
４００  データ転送手段
４１０  データ転送部
４２０  チャネル装置
５００  記憶手段・出力手段
５１０  記憶部・出力部
５２０  ディスク装置
５３０  ＣＰＵ
５４０  入出力装置
【図１】
0004031838.tif 000002
【図２】
0004031838.tif 000003
【図３】
0004031838.tif 000004
【図４】
0004031838.tif 000005
【図５】
0004031838.tif 000006
【図６】
0004031838.tif 000007
【図７】
0004031838.tif 000008