(57)【特許請求の範囲】
【請求項１】
チャネル優先度が付与されたデータ転送チャネルを複数備え、
前記データ転送チャネルは、
中央処理装置からデータの転送が開始されてからのデータ転送時間をカウントするデータ転送時間カウント手段と、
前記データの転送について、付与された前記チャネル優先度と正の相関関係のある制限時間を記憶するデータ転送制限時間保持手段と、
前記データ転送時間カウント手段のカウント値と、前記データ転送制限時間保持手段との値を比較して、前記カウント値が前記データ転送制限時間保持手段の値を超えた場合に、前記中央処理装置に対して前記データの転送の中断を指示する信号を送信する比較手段と、
を備えるデータ転送制御装置。
【請求項２】
前記データ転送チャネルは、前記中央処理装置から受信した前記データのうち、未処理の状態である前記データの数と正の相関関係のある前記制限時間を動的に算出する
請求項１に記載のデータ転送制御装置。
【請求項３】
各々の前記データ転送チャネルは、処理優先度がある特定の値である前記データを、前記中央処理装置から受信する
請求項１または２に記載のデータ転送制御装置。
【請求項４】
チャネル優先度が付与されたデータ転送チャネルを複数備えた装置において、
前記データ転送チャネルが、
中央処理装置からデータの転送が開始されてからのデータ転送時間をカウントし、
前記データの転送について、付与された前記チャネル優先度と正の相関関係のある制限時間をデータ転送制限時間保持手段に記憶し、
前記データ転送時間のカウント値と、前記データ転送制限時間保持手段の値とを比較して、前記カウント値が前記データ転送制限時間保持手段の値を超えた場合に、前記中央処理装置に対して前記データの転送の中断を指示する信号を送信する
データ転送制御方法。
【請求項５】
前記中央処理装置から受信した前記データのうち、未処理の状態である前記データの数と正の相関関係のある前記制限時間を動的に算出する
請求項４に記載のデータ転送制御方法。
【請求項６】
チャネル優先度が付与されたデータ転送チャネルを複数備えた装置における前記データ転送チャネルに、
中央処理装置からデータの転送が開始されてからのデータ転送時間をカウントするデータ転送時間カウント処理と、
前記データの転送について、付与された前記チャネル優先度と正の相関関係のある制限時間をデータ転送制限時間保持手段に記憶するデータ転送制限時間保持処理と、
前記データ転送時間カウント処理のカウント値と、前記データ転送制限時間保持手段の値とを比較して、前記カウント値が前記データ転送制限時間保持手段の値を超えた場合に、前記中央処理装置に対して前記データの転送の中断を指示する信号を送信する比較処理と、
を実行させるデータ転送制御プログラム。
【請求項７】
前記中央処理装置から受信した前記データのうち、未処理の状態である前記データの数と正の相関関係のある前記制限時間を動的に算出する処理をさらに前記データ転送チャネルに実行させる
請求項６に記載のデータ転送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、中央処理装置から周辺装置にチャネルを通してデータ転送するコンピュータシステムで、データ転送の効率を向上させるためのデータ転送チャネル、データ転送制御装置、データ転送制御方法、及び、データ転送制御プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムにおいては、中央処理装置と周辺装置との間のデータ転送は、通常、複数のチャネルを通して行われる。中央処理装置から周辺装置へのデータ転送を効率的に行うため、複数のチャネルに対してそれぞれ処理優先順位を設定し、中央処理装置は、データの処理優先順位に従って、チャネルを使い分ける方式などが一般的に用いられている。
【０００３】
しかしながら、この場合、優先順位の低いチャネルのデータは、優先順位の高いチャネルのデータの処理状態に影響されるため、最悪の場合、中央処理装置が意図する時間内に処理が終了しない可能性がある。この状況を回避するために、優先度が低いチャネルのデータの処理の最大待ち時間を考慮して、優先順位を逆転させたりすると、今度は逆に、本来高速で処理したい優先順位の高いチャネルのデータの処理が、優先順位の低いチャネルのデータの処理状況次第では、長時間待たされる可能性がある。したがって、優先順位の高いチャネルのデータの処理を優先的に行いながらも、優先順位が低いチャネルのデータの処理を、中央処理装置が意図する時間内に終了させることが課題となる。
【０００４】
このような課題に対応するための技術として、特許文献１には以下のようなデータ処理の方式が公開されている。優先順位を与えられたデータ毎に格納するバッファを設けて格納されたデータ量を監視し、処理待ちしている下位の優先順位のデータがこのまま処理を待ち続けると目的の時間内に処理が終了するかどうかを計算する。計算の結果、目的の時間内に処理が終了できそうにない場合は、上位の優先順位のデータ処理を一旦中断し、目的の時間内に処理が終了できそうにないデータの処理を実行する。そして、処理がタイムアウトしないだけの量までバッファ内のデータを減らしたら、元の優先順位に従って上位の優先順位のデータ処理に戻すというようなデータ処理の方式である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平10-301885
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の特許文献１の方式では、３種類以上の優先順位のデータ処理に関して同時に、目的の時間内に処理が終了できそうにないと計算された場合、上位２種の優先順位のデータ処理間での切り替えが繰り返し発生し、優先順位が３番目以降のデータまで処理の機会が回ってこないケースがある問題がある。多種類の優先順位のチャネルを持つコンピュータシステムにおいても、上述の問題の発生を回避することが課題となる。
【０００７】
本願発明の目的は、上述の問題点を解決したデータ転送チャネル、データ転送制御装置、データ転送制御方法、及び、データ転送制御プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本願発明の一実施形態のデータ転送チャネルは、中央処理装置からデータ転送が開始されてからのデータ転送時間をカウントするデータ転送時間カウント手段と、データ転送の制限時間を記憶するテータ転送制限時間保持手段と、前記データ転送時間カウント手段のカウント値と、前記データ転送制限時間保持手段の値を比較して、前記カウント値が前記データ転送制限時間保持手段の値を超えた場合に、前記中央処理装置に対して前記データ転送の中断を指示する信号を送信する比較手段と、を備える。
【０００９】
本願発明の一実施形態のデータ転送制御方法は、中央処理装置からデータ転送が開始されてからのデータ転送時間をカウントし、前記データ転送の制限時間を記憶域に記憶し、前記データ転送時間のカウント値と、前記データ転送の制限時間の記憶域の値を比較して、前記カウント値が前記データ転送の制限時間の記憶域の値を超えた場合に、前記中央処理装置に対して前記データ転送の中断を指示する信号を送信する。
【００１０】
本願発明の一実施形態のデータ転送制御プログラムは、中央処理装置からデータ転送が開始されてからのデータ転送時間をカウントするデータ転送時間カウント処理と、前記データ転送の制限時間を記憶域に記憶するテータ転送制限時間保持処理と、前記データ転送時間カウント処理のカウント値と、前記データ転送制限時間保持処理の記憶域の値を比較して、前記カウント値が前記データ転送制限時間保持処理の記憶域の値を超えた場合に、前記中央処理装置に対して前記データ転送の中断を指示する信号を送信する比較処理と、をコンピュータに実行させる。
【発明の効果】
【００１１】
本願発明は、中央処理装置から周辺装置にチャネルを通してデータ転送するコンピュータシステムで、データ転送の効率を向上させる。
【図面の簡単な説明】
【００１２】
【図１】本願発明の第１の実施形態のデータ転送制御システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態の動作を示すフローチャートである。
【図３】本願発明の第１の実施形態における各チャネルのデータ転送制限時間の例である。
【図４】本願発明の第２の実施形態における各チャネルのデータ転送制限時間の例である。
【図５】本願発明の第３の実施形態のデータ転送制御システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
本願発明の第一の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１は本実施形態のデータ転送制御システムの構成を示すブロック図である。
【００１５】
本実施形態のデータ転送制御システムは、中央処理装置３と周辺装置２とを包含している。周辺装置２は、ｎ＋１個のチャネル１−０乃至１−ｎと、データ転送時間カウンタリセット部１３と、データ処理装置４とを包含している。
【００１６】
中央処理装置３は、周辺装置２に対してデータの処理を指示する。周辺装置２におけるチャネル１−０乃至１−ｎは、中央処理装置３からデータを受信して、データ処理装置４に送信する。データ処理装置４は、チャネル１−０乃至１−ｎから受信したデータの処理を行う。
【００１７】
中央処理装置３は、周辺装置２に処理を指示するデータを、外部から入手する。中央処理装置３へのデータ入力方法は特に図示していないが、ネットワーク系由や、磁気記録媒体からの読み出し、人手による入力等、情報処理装置で用いられる一般的な方法で行われる。中央処理装置３が入手したデータには処理優先順位が付与されており、早期に処理したいデータには高い優先順位が付与され、早期に処理する必要がないデータには低い優先順位が付与されている。
【００１８】
中央処理装置３は、ｎ＋１個のデータバッファ３０−０乃至３０−ｎを包含している。中央処理装置３は、データの優先順位に基づき、周辺装置２に処理を指示するデータをデータバッファ３０−０乃至３０−ｎの何れかに格納する。データバッファ３０−０乃至３０−ｎはそれぞれ、優先順位に対応してデータを格納する。中央処理装置３は、最も優先順位の高いデータをデータバッファ３０−０へ、２番目に優先順位の高いデータをデータバッファ３０−１へ、最も優先順位の低いデータをデータバッファ３０−ｎへ格納する。中央処理装置３は、データバッファ３０−０乃至３０−ｎに格納したデータを、それぞれチャネル１−０乃至１−ｎに送付する。データバッファ３０−０乃至３０−ｎとチャネル１−０乃至１−ｎは、それぞれデータ線１５−０乃至１５−ｎにより１対１に接続され、データの送受信を行う。したがって、中央処理装置３は、最も優先順位の高いデータをチャネル１−０に送信し、最も優先順位の低いデータをチャネル１−ｎに送信する。
【００１９】
中央処理装置３が、チャネル１−０乃至１−ｎにデータを送信できるのは、チャネル１−０乃至１−ｎがそれぞれ、信号線１４−０乃至１４−ｎを介して中央処理装置３にデータ転送許可信号を送信している時のみである。あるチャネル１−ｍ（ｍは０以上ｎ以下の何れかの整数）に多数の未処理のデータが残っているなどの理由で、チャネル１−ｍがデータ許可信号を送信していない場合は、中央処理装置３は、チャネル１−ｍに対してデータを送信せず、チャネル１−ｍからデータ許可信号を受信するまで、チャネル１−ｍへのデータ送信を保留する。
【００２０】
各々のチャネル１−ｍは、データ転送時間カウンタ１０−ｍと、データ転送制限時間保持部１１−ｍと、比較部１２−ｍとを包含している。
【００２１】
チャネル１−ｍにおけるデータ転送カウンタ１０−ｍは、チャネル１−ｍが中央処理装置３からのデータの受信を開始すると同時に、受信開始時からのデータ転送時間のカウント動作を開始する。
【００２２】
データ転送制限時間保持部１１−ｍは、チャネル１−ｍが受信するデータ転送１回あたりの制限時間を記憶している。データ転送制限時間保持部１１−０乃至１１−ｎのそれぞれが記憶しているデータ転送制限時間の例を図３に示す。図３はｎ＝７のシステムの例であり、この例のシステムは８個のチャネルを包含している。チャネル別データ転送制限時間一覧表１００に示すとおり、最も優先順位の高いチャネル１−０（チャネル０）の優先度は８、最も優先順位の低いチャネル１−７（チャネル７）の優先度は１である。各々のチャネルのデータ転送制限時間はチャネル優先度の値に比例し、
データ転送制限時間（ミリ秒）＝  チャネル優先度  ｘ  １０，０００
で求められる値である。データ転送制限時間保持部１１−ｍへのデータ転送制限時間の設定は、中央処理装置３からの指示でチャネル１−ｍが設定する場合もあれば、人手による設定の場合もある。
【００２３】
比較部１２−ｍは、データ転送カウンタ１０−ｍのデータ転送時間カウント値と、データ転送制限時間保持部１１−ｍのデータ転送制限時間の値を比較する。中央処理装置３からチャネル１−ｍへのデータ転送中に、データ転送時間カウント値がデータ転送制限時間を越えると、チャネル１−ｍは、中央処理装置３へのデータ許可信号の送信を中止する。中央処理装置３は、データ許可信号の受信が止まると、チャネル１−ｍへのデータの送信を中断する。中央処理装置３は、チャネル１−ｍへのデータの送信を中断した後も、データ許可信号を受信している他のチャネルについては、チャネルへのデータ転送処理を継続する。
【００２４】
データ転送時間カウンタリセット部１３は、チャネル１−０乃至１−ｎにおける比較部１２−０乃至１２−ｎの比較結果を受信する。データ転送時間カウンタリセット部１３は、比較部１２−０乃至１２−ｎの全ての比較結果において、データ転送時間カウント値がデータ転送制限時間を超えた場合、全てのチャネル１−０乃至１−ｎに対してデータ転送時間カウンタのリセットを指示する。チャネル１−０乃至１−ｎは、データ転送時間カウンタリセット部１３からのリセット指示を受けて、それぞれ、データ転送カウンタ１０−０乃至１０−ｎの値を０にリセットする。
【００２５】
比較部１２−ｍは、リセットされたデータ転送時間カウンタ１０−ｍの値とデータ転送制限時間保持部１１−ｍのデータ転送制限時間の値を比較する。チャネル１−ｍは、比較部１２−ｍの比較結果において、データ転送時間カウント値が、データ転送制限時間よりも小さいことから、中止していた中央処理装置３へのデータ許可信号の送信を再開する。中央処理装置３は、チャネル１−ｍからデータ許可信号を受信し、中断していたチャネル１−ｍへのデータの送信を再開する。
【００２６】
データ処理装置４は、チャネル１−０乃至チャネル１−ｎから受信したデータを、優先順位の高いものから順番に処理する。
【００２７】
次に図２のフローチャートを参照して、本実施形態の動作について詳細に説明する。
【００２８】
中央処理装置３は、データバッファ３０−ｍ（ｍは０乃至ｎの何れかの整数）に、データ処理装置４に処理させるデータを格納する（Ｓ１０１）。チャネル１−ｍが、中央処理装置３に対してデータ転送許可信号をセットしている場合（Ｓ１０２でＹｅｓ）、中央処理装置３は、データバッファ３０−ｍからチャネル１−ｍへデータ転送を開始する（Ｓ１０３）。チャネル１−ｍが、中央処理装置３に対してデータ転送許可信号をセットしていない場合（Ｓ１０２でＮｏ）、中央処理装置３は、チャネル１−ｍが中央処理装置３に対してデータ転送許可信号をセットするまでデータ転送を保留する。
【００２９】
データ転送時間カウンタ１０−ｍは、データ転送開始からのデータ転送時間をカウントする。比較部１２−ｍは、データ転送時間カウンタ１０−ｍのカウント値と、データ転送制限時間保持部１１−ｍの制限時間を比較する（Ｓ１０４）。データ転送中にカウント値が制限時間を越えた場合（Ｓ１０５でＹｅｓ）、チャネル１−ｍは、中央処理装置３に対して、データ転送許可信号をリセットする（Ｓ１０６）。中央処理装置３は、データバッファ３０−ｍからチャネル１−ｍへのデータ転送を中断する（Ｓ１０７）。
【００３０】
データ転送時間カウンタリセット部１３は、チャネル１−ｍがデータ転送許可信号をリセットしたことを検出する（Ｓ１０８）。チャネル１−０乃至１−ｎの全てでデータ転送許可信号がリセットされた場合（Ｓ１０９でＹｅｓ）、データ転送時間カウンタリセット部１３は、全てのチャネル１−０乃至１−ｎに対してデータ転送カウンタ１０−０乃至１０−ｎのリセットを指示する（Ｓ１１０）。チャネル１−０乃至１−ｎは、データ転送カウンタ１０−０乃至１０−ｎをリセットし、中央処理装置３に対してデータ転送許可信号をセットし（Ｓ１１１）、処理はＳ１０３へ戻る。
【００３１】
データ転送中にカウント値が制限時間を超えない場合（Ｓ１０５でＮｏ）、チャネル１−ｍは、転送データの受信を完了し、データ処理装置４へ転送データを送付する（Ｓ１１２）。データバッファ３０−ｍにデータがある場合（Ｓ１１３でＮｏ）、処理はＳ１０２へ戻る。データバッファ３０−ｍにデータがない場合（Ｓ１１３でＹｅｓ）、全体の処理は終了する。
【００３２】
本実施形態には、中央処理装置が、優先順位が付与されたデータを周辺装置に処理させる場合に、優先順位の高いデータを優先的に処理する中で、優先順位の高いデータの処理の影響を受けて優先順位の低いデータの処理が長時間保留されることを回避する効果がある。その理由は、チャネル１０−０乃至１０−ｎがそれぞれ、データ転送が開始されてからの時間をカウントし、そのカウント値が自身が保持するデータ転送制限時間に達した場合、データ転送を中断することで、他のチャネルのデータ処理を進めさせるからである。
【００３３】
優先順位に基づいたデータ処理を行う場合、優先順位の低いデータの処理は後回しとなるため、優先順位の高いデータが多量に存在すると、優先順位の低いデータの処理が、中央処理装置が意図した制限時間内に完了しないケースが発生する可能性がある。本実施形態では、優先順位が高いデータについても、データ転送に要した時間が制限時間に達した段階でデータ転送を一旦中断させるため、優先順位の低いデータの処理のための時間を確保して処理を進めることが可能となる。
【００３４】
また、本実施形態には、各チャネルが保持するデータ転送制限時間を、チャネルごとの優先度に比例した値に設定することで、優先順位の高いデータの処理が、優先順位の低いデータの処理に影響されて遅れることを回避する効果もある。
＜第二の実施形態＞
次に、本願発明の第二の実施形態について図面を参照して詳細に説明する。
【００３５】
本実施形態のデータ転送制御システムの構成は、第一の実施形態と同様である。本施形態は、データ転送制限時間保持部１１−ｍが記憶するデータ転送制限時間の算出の方式が、第一の実施形態とは異なる。
【００３６】
本実施形態の各チャネルにおけるデータ転送制限時間の算出例を図４に示す。図４の例のシステムは、８個のチャネルを包含しており、チャネル１−０（チャネル０）の優先順位が最も高く、チャネル１−７（チャネル７）の優先順位が最も低い。チャネル別データ転送制限時間一覧表２００における未処理データ数の項目は、チャネル１−０乃至１−７が中央処理装置から受信したデータのうち、データ処理装置４での処理待ちのためデータ処理装置４に送信できずに、未処理の状態でチャネル１−０乃至１−７が保持しているデータの数を示す。各々のチャネルのデータ転送制限時間は、チャネル優先度の値と、未処理データ数の値から、
データ転送制御時間（ミリ秒）＝  チャネル優先度  ｘ  １０，０００
＋  未処理データ数  ｘ  １００
で求められる値であり、チャネル１−ｍが、未処理データ数の値から動的に設定する。例えば、チャネル１−７（チャネル７）の優先順位は最も低いが、未処理データの数が１０００個と最も多いため、データ転送制限時間は１１０，０００ミリ秒となり、第一の実施形態とは異なり、優先順位の高いチャネルよりも長い値となる。
【００３７】
本実施形態の動作は、データ転送制限時間の設定の方式を除いては、第一の実施形態と同様である。
【００３８】
本実施形態には、第一の実施形態の効果に加えて、ある特定のチャネルにデータの蓄積が偏り、当該チャネルのデータの処理が意図した時間内に完了しないケースを回避する効果がある。その理由は、チャネル１−０乃至１−ｎが、未処理データ数が多いほど、データ転送制限時間を長く設定するため、未処理データが多いチャネルのデータ処理が進みやすくなるためである。
【００３９】
各チャネルのデータ転送制御時間が、当該チャネルの優先度と未処理データ数の両方の値に比例した値であるため、優先順位の高いデータを優先的に処理しながら、チャネル間のデータ蓄積の偏りを回避して処理することが可能となる。
＜第三の実施形態＞
次に、本願発明の第三の実施形態について図面を参照して詳細に説明する。
【００４０】
図５は本願発明の第三の実施形態のデータ転送制御システムの構成を示すブロック図である。
【００４１】
本実施形態のデータ転送制御システムは、中央処理装置３と、チャネル１−０とを包含している。チャネル１−０は、データ転送時間カウンタ１０−０と、データ制限時間保持部１１−０と、比較部１２−０とを包含している。
【００４２】
データ転送時間カウンタ１０−０は、中央処理装置３からデータ転送が開始されてからのデータ転送時間をカウントする。データ制限時間保持部１１−０は、データ転送の制限時間を記憶する。比較部１２−０は、データ転送時間カウンタ１０−０のカウント値とデータ制限時間保持部１１−０の制限時間を比較して、カウント値が制限時間を超えた場合に、中央処理装置３にチャネル１−０へのデータ転送の中断を指示する。
【００４３】
本実施形態には、中央処理装置３からチャネル１−０へ送信されたデータの処理が、データ処理装置（記載せず）を長時間占有することを回避する効果がある、その理由は、チャネル１−０が、データ転送時間カウンタ１０−０のデータ転送時間カウント値がデータ転送制限時間保持部１１−０における制限時間を越えた段階で、中央処理装置３からのデータ転送を一旦中断させるからである。
【００４４】
一般的なコンピュータシステムは、第一、第二の実施形態で記載した様に、中央処理装置と周辺装置を複数のチャネルで接続するので、各々のチャネルが上述の動作をすることで、ある特定のチャネルのデータ処理がデータ処理装置を長時間占有し、その他チャネルのデータ処理が、意図した時間内に完了しないことを回避することが可能となる。
【００４５】
尚、本実施形態では、データに優先順位は付与されていないが、チャネル毎に優先順位付けされていないシステムにおいても、優先順位の高いチャネルのデータ処理がデータ処理装置を占有する問題と似たような問題が発生する可能性がある。例えば、中央処理装置からあるチャネルに一塊の巨大なデータが転送された場合などは、当該チャネルのデータ処理がデータ処理装置を長時間占有することにより、その他チャネルのデータの処理が意図した時間内に完了しない問題が発生する。本実施形態のデータ転送制御システムにより、上述の問題を回避することが可能となる。
【００４６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００４７】
１−０乃至１−ｎ    チャネル
１０−０乃至１０−ｎ    データ転送時間カウンタ
１１−０乃至１１−ｎ    データ転送制限時間保持部
１２−０乃至１２−ｎ    比較部
１３    データ転送時間カウンタリセット部
１４−０乃至１４−ｎ    信号線
１５−０乃至１５−ｎ    データ線
２    周辺装置
３    中央処理装置
３０−０乃至３０−ｎ    データバッファ
４    データ処理装置
１００    チャネル別データ転送制限時間一覧表
２００    チャネル別データ転送制限時間一覧表
【図１】
0005998558.tif 000002
【図２】
0005998558.tif 000003
【図３】
0005998558.tif 000004
【図４】
0005998558.tif 000005
【図５】
0005998558.tif 000006