(57)【特許請求の範囲】
【請求項１】
データ転送を行う複数のホスト装置と、これらホスト装置からの転送データを受けてこれを処理する周辺機器との間に介挿され、前記ホスト装置から前記周辺機器へのデータ転送を制御するデータ転送装置であって、
接続されるホスト装置との間でデータを送受信するとともに、各ホスト装置からのデータ転送要求を保持するレジスタを有する複数のホストＩ／Ｆと、
各ホストＩ／Ｆに割り振られた識別データの配列順番が優先順位を示す書き替え可能な優先順位テーブルと、
前記優先順位テーブルの内容を参照して、データ転送要求を保持しているホストＩ／Ｆの中からデータ転送を許可するホストＩ／Ｆを選択するＩ／Ｆ選択手段と、
このＩ／Ｆ選択手段によって選択されたホストＩ／Ｆと周辺機器とを接続する接続手段とを備え、
前記優先順位テーブルを、データ転送を完了したホストＩ／Ｆに割り振られた識別データを優先順位の低い方へ所定数だけ下げる書き替え処理を行うとともに、各ホストＩ／Ｆごとに任意の個数の識別データを割り振り可能に設けられていることを特徴とするデータ転送装置。
【請求項２】
Ｉ／Ｆ選択手段によって選択されたホストＩ／Ｆが、接続されているホスト装置に対してデータ転送許可信号を通知することを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
任意のホスト装置からのデータ転送要求を受け取ると、全てのホスト装置に対しホストＩ／Ｆを介してビジー信号を通知し、Ｉ／Ｆ選択手段によって選択されたホストＩ／Ｆが、接続されているホスト装置に対してビジー信号を非アクティブとすることを特徴とする請求項１に記載のデータ転送装置。
【請求項４】
前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とすることを特徴とする請求項１に記載のデータ転送装置。
【請求項５】
前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とすることを特徴とする請求項２に記載のデータ転送装置。
【請求項６】
前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とすることを特徴とする請求項３に記載のデータ転送装置。
【請求項７】
データ転送を行う複数のホスト装置と、これらホスト装置からの転送データを受けてこれを処理する周辺機器との間に介挿され、前記ホスト装置から前記周辺機器へのデータ転送を制御するデータ転送装置であって、
接続されるホスト装置との間でデータを送受信するとともに、各ホスト装置からのデータ転送要求を保持するレジスタを有する複数のホストＩ／Ｆと、
各ホストＩ／Ｆに割り振られた識別データの配列順番が優先順位を示す書き替え可能な優先順位テーブルと、
前記優先順位テーブルの内容を参照して、データ転送要求を保持しているホストＩ／Ｆの中からデータ転送を許可するホストＩ／Ｆを選択するＩ／Ｆ選択手段と、
このＩ／Ｆ選択手段によって選択されたホストＩ／Ｆと周辺機器とを接続する接続手段とを備え、
前記優先順位テーブルを、各ホストＩ／Ｆに割り振られた識別データと転送量とを対にしたデータの配列順番が優先順位を示す構造とし、データ転送を行ったホストＩ／Ｆに対応する転送量を累積更新し、転送量の少ないものほど優先順位が高くなるようにデータを再配列することを特徴とするデータ転送装置。
【請求項８】
Ｉ／Ｆ選択手段によって選択されたホストＩ／Ｆが、接続されているホスト装置に対してデータ転送許可信号を通知することを特徴とする請求項７に記載のデータ転送装置。
【請求項９】
任意のホスト装置からのデータ転送要求を受け取ると、全てのホスト装置に対しホストＩ／Ｆを介してビジー信号を通知し、Ｉ／Ｆ選択手段によって選択されたホストＩ／Ｆが、接続されているホスト装置に対してビジー信号を非アクティブとすることを特徴とする請求項７に記載のデータ転送装置。
【請求項１０】
前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とすることを特徴とする請求項７に記載のデータ転送装置。
【請求項１１】
前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とすることを特徴とする請求項８に記載のデータ転送装置。
【請求項１２】
前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とすることを特徴とする請求項９に記載のデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のインターフェイスによりデータ転送要求を受け付けて、そのデータ転送要求の処理順序を調整するデータ転送装置に関する。
【０００２】
【従来の技術】
従来より、複数のインターフェイスからのデータ転送要求を同時に受け付けて処理する装置が、例えば特開平０９−２８６１４７号公報に開示されており、この装置は、複数のインターフェイスから転送されてきたデータを蓄積するための補助メモリを備えている（これを、従来技術１という）。
【０００３】
一方、特開平１０−２２８３６４号公報には、複数のインターフェイスからのデータ転送要求を逐次受け付けて処理するプリンタ装置が開示されている（これを、従来技術２という）。この従来技術２のプリンタ装置は、あるホスト装置（データ転送要求を出すホスト装置：以下、第１のホスト装置という）からのデータ転送を受け付けている間は、他のホスト装置（以下、第２のホスト装置という）からのデータ転送要求を受け付けることができないようになっている。そのため、このプリンタ装置では、第２のホスト装置からのデータ転送要求は、第１のホスト装置のデータ転送が終わってから受け付けられることになる。つまり、ホスト装置からのデータ転送要求は、プリンタ装置において逐次受け付けて処理される。そして、このような逐次受け付けの方法として、以下に示す２つの方法（１）従来技術２の図８に示す方法、（２）従来技術２の図１０に示す方法、が開示されている。
【０００４】
（１）従来技術２の図８に示す方法
第１のホスト装置がデータ転送を行っている間に、第２のホスト装置からデータ転送要求が出されると、プリンタ装置は第２のホスト装置に対してＮＡＫ情報を送信し、第２のホスト装置からのデータ転送が受け付けられないことを通知する。
【０００５】
第２のホスト装置は、第１のホスト装置のデータ転送が終了するまでデータ転送要求を繰り返し発行する。
【０００６】
（２）従来技術２の図１０に示す方法
第１のホスト装置がデータ転送要求を出すと、プリンタ装置は、第２のホスト装置に対してＢＵＳＹ情報を送信する。また、プリンタ装置は、第１のホスト装置におけるデータ転送が終了すると、第２のホスト装置に対してＲＥＡＤＹ情報を送信し、このＲＥＡＤＹ情報を受信した第２のホスト装置は、データ転送すべきデータがあれば、データ転送要求を出力する。
【０００７】
【発明が解決しようとする課題】
このように、データ転送要求を逐次受け付ける従来技術２のデータ転送制御では、データ転送を終了した第１のホスト装置がその直後に次のデータ転送要求を出した場合に、他のホスト装置のデータ転送要求より先に受け付けられるといったことがしばしば発生し、あるホスト装置がデータ転送を独占し続けるような事態に陥る可能性があるといった問題があった。
【０００８】
この問題は、従来技術１の装置のように、データ転送要求を同時に受け付けて処理するようにすれば解決するが、そのためには大容量の補助メモリが必要となり、コスト的に高くつくといった問題があった。
【０００９】
本発明は係る問題点を解決すべく創案されたもので、その目的は、複数のインターフェイスからのデータ転送要求を逐次受け付けて処理する場合に、大容量の補助メモリを用いることなく、データ転送を特定のホスト装置に偏らないように調整することのできるデータ転送装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決するため、本発明のデータ転送装置は、データ転送を行う複数のホスト装置と、これらホスト装置からの転送データを受けてこれを処理する周辺機器との間に介挿され、前記ホスト装置から前記周辺機器へのデータ転送を制御するデータ転送装置であって、接続されるホスト装置との間でデータを送受信するとともに、各ホスト装置からのデータ転送要求を保持するレジスタを有する複数のホストＩ／Ｆと、各ホストＩ／Ｆに割り振られた識別データの配列順番が優先順位を示す書き替え可能な優先順位テーブルと、前記優先順位テーブルの内容を参照して、データ転送要求を保持しているホストＩ／Ｆの中からデータ転送を許可するホストＩ／Ｆを選択するＩ／Ｆ選択手段と、このＩ／Ｆ選択手段によって選択されたホストＩ／Ｆと周辺機器とを接続する接続手段とを備えた構成としている。これにより、データ転送中でもデータ転送要求を受け付けてレジスタに保持できるので、ホスト装置がデータ転送要求を出すタイミングによって、データ転送が許可されるホスト装置が偏るといったことがなくなり、データ転送装置側においてデータ転送を許可する順番を確実に制御することができる。
【００１１】
また、本発明のデータ転送装置は、上記構成において、Ｉ／Ｆ選択手段によって選択されたホストＩ／Ｆが、接続されているホスト装置に対してデータ転送許可信号を通知する構成としている。これにより、データ転送要求コマンドを送ったホスト装置は、データ転送許可信号を通知されることによってデータ転送を開始できるので、ポーリングを繰り返す必要がなくなり、負荷が軽減される。また、データ転送許可信号が通知されることにより、選択されたホストＩ／Ｆに接続されたホスト装置は直ちにデータの転送を開始することができるので、ポーリング間隔による無駄な待ち時間がなくなる。
【００１２】
また、本発明のデータ転送装置は、上記構成において、任意のホスト装置からのデータ転送要求を受け取ると、全てのホスト装置に対しホストＩ／Ｆを介してビジー信号を通知し、Ｉ／Ｆ選択手段によって選択されたホストＩ／Ｆが、接続されているホスト装置に対してビジー信号を非アクティブとする構成としている。これにより、データ転送要求コマンドを送ったホスト装置は、ビジー信号を非アクティブとされることによってデータ転送を開始できるので、従来のポーリング制御を行うホスト装置でも、その制御方法を変更することなく、本発明のデータ転送装置を使用することができる。
【００１３】
また、本発明のデータ転送装置は、上記各構成において、前記ホストＩ／Ｆのレジスタが複数のデータ転送要求を保持可能とする構成としている。これにより、データ転送中のホスト装置も次のデータ転送を予約することが可能となり、データ転送が完了してから次のデータ転送要求を行う場合に比べて、ホスト装置の待ち時間を短縮することができる。
【００１４】
また、本発明のデータ転送装置は、上記各構成において、優先順位テーブルを、データ転送を完了したホストＩ／Ｆに割り振られた識別データを優先順位の低い方へ所定数だけ下げるといった書き替え処理を行う構成としている。これにより、データ転送を行ったホストＩ／Ｆの優先順位を下げることで、特定のホスト装置が周辺機器を独占して使用することを防ぐことができる。
【００１５】
また、本発明のデータ転送装置は、上記構成において、優先順位テーブルを、データ転送を完了したホストＩ／Ｆに割り振られた識別データを優先順位の低い方へ移すといった書き替え処理を行うとともに、各ホストＩ／Ｆごとに任意の個数の識別データを割り振り可能に設けられていることを特徴とする。特定のホストＩ／Ｆに割り振る識別データの個数を増やすことで、そのホストＩ／Ｆの優先度を上げることができる。
【００１６】
また、本発明のデータ転送装置は、上記各構成において、優先順位テーブルを、各ホストＩ／Ｆの使用履歴を考慮し、データ転送回数の少ないものほど優先順位が高くなるようにデータを再配列する構成としている。これにより、データ転送のあまり行われないホストの、連続したデータ転送処理を行い易くすることができる。
【００１７】
また、本発明のデータ転送装置は、上記各構成において、優先順位テーブルを、各ホストＩ／Ｆに割り振られた識別データと転送量とを対にしたデータの配列順番が優先順位を示す構造とし、データ転送を行ったホストＩ／Ｆに対応する転送量を累積更新し、転送量の少ないものほど優先順位が高くなるようにデータを再配列することを特徴とする。これにより、転送回数ではなく、転送量において公平を期すことができる。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２３】
図１は、本発明のデータ転送装置を適用した印刷システムの実施の形態を示すブロック図である。
【００２４】
この印刷システムは、データ転送を行う複数（本実施の形態では３台）のホストコンピュータ（ホスト装置）１ａ，１ｂ，１ｃと、これらホストコンピュータ１ａ，１ｂ，１ｃから転送されてくるデータを受けてこれを印刷処理する印刷装置（周辺機器）３と、これらホストコンピュータ１ａ，１ｂ，１ｃと印刷装置３との間に介挿され、ホストコンピュータ１ａ，１ｂ，１ｃから印刷装置３へのデータ転送を制御するデータ転送装置２とからなる。
【００２５】
データ転送装置２は、各ホストコンピュータ１ａ，１ｂ，１ｃとの間でデータを送受信するための複数（本実施の形態では３個）のホストＩ／Ｆ２１ａ，２１ｂ，２１ｃと、書き替え可能な優先順位テーブル２３の内容を参照して、データ転送要求を保持しているホストＩ／Ｆ２１ａ，２１ｂ，２１ｃの中からデータ転送を許可するホストＩ／Ｆ（例えば、２１ａ）を選択するＩ／Ｆ選択手段２４と、このＩ／Ｆ選択手段２４によって選択されたホストＩ／Ｆ（例えば、２１ａ）と印刷装置３とを接続する接続手段２５とを備えている。
【００２６】
ホストＩ／Ｆ２１ａ，２１ｂ，２１ｃは、ホストコンピュータ１ａ，１ｂ，１ｃごとに設けられており、各ホストコンピュータ１ａ，１ｂ，１ｃから送られてくるデータ転送要求を保持するコマンド受信レジスタ２２ａ，２２ｂ，２２ｃを備えている。そして、データ転送要求を受信したホストＩ／Ｆ２１ａ，２１ｂ，２１ｃは、ホストコンピュータ１ａ，１ｂ，１ｃから印刷装置３へのデータ転送が可能であれば（または、データ転送が可能な状態になれば）、ホストコンピュータ１ａ，１ｂ，１ｃに対してデータ転送許可信号を通知する。これにより、ホストコンピュータ１ａ，１ｂ，１ｃは、データ転送が可能になるまでデータ転送要求を繰り返し送信するポーリングの必要がなくなり、ＣＰＵの負荷が軽減される。また、ホストＩ／Ｆ２１ａ，２１ｂ，２１ｃは、データ転送要求を保持するだけで、転送データそのものを記憶するわけではないので、大容量のメモリを必要としない。
【００２７】
また、コマンド受信レジスタ２２ａ，２２ｂ，２２ｃは、複数のデータ転送要求を同時に保持できる構成とすれば、データ転送中のホストコンピュータ１ａ，１ｂ，１ｃも次のデータ転送を予約することが可能となり、データ転送が完了してから次のデータ転送要求を行う場合に比べ、ホストコンピュータ１ａ，１ｂ，１ｃの待ち時間を短縮することができる（主に請求項４に対応している）。
【００２８】
また、Ｉ／Ｆ選択手段２４は、複数のホストコンピュータ１ａ，１ｂ，１ｃからデータ転送要求が出されたときには、書き替え可能な優先順位テーブル２３の内容を参照して、データ転送を許可するホストＩ／Ｆ２１ａ，２１ｂ，２１ｃを選択する。選択されたホストＩ／Ｆ（例えば、２１ａ）は、ホストコンピュータ１ａに対してデータ転送許可信号を通知する。データ転送許可信号を受け取ったホストＩ／Ｆ２１ａは、データ転送装置２のホストＩ／Ｆ２１ａおよび接続手段２５を介して印刷装置３へ印字データのデータ転送を行い、印刷装置において印字処理が実行される。
【００２９】
次に、上記構成のデータ転送装置を使用した印刷システムの動作について、図２に示すフローチャートを参照して説明する。ここでの説明は、主に請求項２、９、１０に対応している。
【００３０】
まず、データ転送装置２において、ホストコンピュータ１ａ，１ｂ，１ｃからのデータ転送要求（印字要求）があるか否かが確認され（Ｓ１）、データ転送要求があった場合には、優先順位テーブル２３に基づいてデータ転送を許可するホストＩ／Ｆ２１ａ，２１ｂ，２１ｃを選択する（Ｓ２）。選択されたホストＩ／Ｆ（例えば、２１ａ）は、これに接続されるホストコンピュータ１ａに対してデータ転送許可信号を通知することによって、印字データの送信を要求し（Ｓ３）、送信要求を受けたホストコンピュータ１ａは印字データを送信する。この印字データは、接続されているホストＩ／Ｆ２１ａおよび接続手段２５を経由して印刷装置３に送信され、印字処理が実行される（Ｓ４）。その後、印刷を行ったホストＩ／Ｆ２１ａの優先順位が、優先順位テーブル２３において下げられる（Ｓ５）。優先順位テーブル２３の優先順位の変更については後述する。データ転送装置２では、このような処理を全ての印字要求に対して実行する。すなわち、全ての印字要求に対して印字処理が終了していなければ（Ｓ６でＮｏと判断されれば）Ｓ１に戻り、全ての印字要求に対して印字処理が終了していれば（Ｓ６でＹｅｓと判断されれば）処理を終了する。
【００３１】
なお、上記の処理動作では、データ転送を許可するホストコンピュータ１ａ，１ｂ，１ｃを選択したとき、データ転送許可信号を通知することによってデータ転送を開始させるようにしているが、データ転送許可信号の代わりに、ビジー信号を用いてデータ転送を開始させることも可能である。図３は、この場合の処理動作を示すフローチャートである。ここでの説明は、主に請求項２、９、１１に対応している。
【００３２】
まず、データ転送装置２において、ホストコンピュータ１ａ，１ｂ，１ｃからのデータ転送要求（印字要求）があるか否かが確認され（Ｓ１）、データ転送要求があった場合には、全てのホストコンピュータ１ａ，１ｂ，１ｃに対し、ホストＩ／Ｆ２１ａ，２１ｂ，２１ｃを介してビジー信号が通知される。この状態において、優先順位テーブル２３に基づいてデータ転送を許可するホストＩ／Ｆ（例えば、２１ａ）が選択されると（Ｓ２）、選択されたホストＩ／Ｆ２１ａは、これに接続されるホストコンピュータ１ａに対するビジー信号を非アクティブ状態とする（Ｓ３′）。これにより、ビジー信号を非アクティブとされたホストコンピュータ１ａは、データ転送が可能となるので、印字データを送信する。この印字データは、接続されているホストＩ／Ｆ２１ａおよび接続手段２５を経由して印刷装置３に送信され、印字処理が実行される（Ｓ４）。その後、印刷を行ったホストＩ／Ｆ２１ａの優先順位が、優先順位テーブル２３において下げられる（Ｓ５）。データ転送装置２では、このような処理を全ての印字要求に対して実行する。すなわち、全ての印字要求に対して印字処理が終了していなければ（Ｓ６でＮｏと判断されれば）Ｓ１に戻り、全ての印字要求に対して印字処理が終了していれば（Ｓ６でＹｅｓと判断されれば）処理を終了する。
【００３３】
なお、このようにビジー信号を用いてデータ転送を開始させる場合においても、印刷システムの構成は図１に示すものと同じであり、単にホストＩ／Ｆ２１ａ，２１ｂ，２１ｃでの制御方法が変わるのみである。
【００３４】
次に、優先順位テーブル２３における優先順位の変更方法について、その具体例を以下に説明する。ただし、具体例１は主に請求項５、６に対応し、具体例２は主に請求項７に対応し、具体例３は主に請求項８に対応している。
【００３５】
［具体例１］
図４（ａ）に示す初期状態において、優先順位テーブル２３では、１ないし３の識別データによって優先順位が設定されている。ここで、識別データの番号１〜３は、ホストコンピュータ１ａ，１ｂ，１ｃおよびホストＩ／Ｆ２１ａ，２１ｂ，２１ｃの番号（図１のブロック中に付した番号）を示している。すなわち、ホストコンピュータ１ａおよびホストＩ／Ｆ２１ａが識別データ１、ホストコンピュータ１ｂおよびホストＩ／Ｆ２１ｂが識別データ２、ホストコンピュータ１ｃおよびホストＩ／Ｆ２１ｃが識別データ３である。ただし、図４（ａ）においては、説明の便宜上、識別データ３であるホストコンピュータ１ｃおよびホストＩ／Ｆ２１ｃの図示は省略している。また、以下の説明では、識別データの番号によってホストコンピュータおよびホストＩ／Ｆを表すものとする。具体的には、ホストコンピュータ１ａをホスト１、ホストコンピュータ１ｂをホスト２、ホストコンピュータ１ｃをホスト３とし、ホストＩ／Ｆ２１ａをホストＩ／Ｆ１、ホストＩ／Ｆ２１ｂをホストＩ／Ｆ２、ホストＩ／Ｆ２１ｃをホストＩ／Ｆ３とする。
【００３６】
次に、図４（ｂ）に示すように、上記の初期状態からホスト１よりデータ転送要求（ＲＥＱ１）が送信されると、ホストＩ／Ｆ１は、このデータ転送要求コマンドをコマンド受信レジスタに記憶し、Ｉ／Ｆ選択手段（アービタ）２４にデータ転送要求を出力する。
【００３７】
次に、図４（ｃ）に示すように、Ｉ／Ｆ選択手段（アービタ）２４は、優先順位テーブル２３に基づき、データ転送を許可すべきホストＩ／Ｆを選択する。このとき、データ転送要求を出力しているのはホストＩ／Ｆ１のみなので、ホストＩ／Ｆ１が選択され、Ｉ／Ｆ選択手段（アービタ）２４はホストＩ／Ｆ１に対してデータ転送許可信号（ＡＣＫ１）を出力する。
【００３８】
次に、図４（ｄ）に示すように、Ｉ／Ｆ選択手段（アービタ）２４よりＡＣＫ信号を受けたホストＩ／Ｆ１は、接続されているホスト１にデータ転送許可信号（ＡＣＫ１）を出力する。
【００３９】
次に、図５（ａ）に示すように、ホストＩ／Ｆ１からデータ転送許可信号（ＡＣＫ１）を受けたホスト１は、ホストＩ／Ｆ１へ印字データの転送を開始し、ホストＩ／Ｆ１は、接続手段２５を介して印字データを印刷装置３へ転送する。これにより、印刷装置において、印刷データの印字出力が実行される。
【００４０】
次に、図５（ｂ）に示すように、ホスト１がデータ転送を行っている最中に、ホスト２がデータ転送要求（ＲＥＱ２）を送信すると、ホストＩ／Ｆ２は、このデータ転送要求コマンドをコマンド受信レジスタに記憶し、Ｉ／Ｆ選択手段（アービタ）２４にこのデータ転送要求を出力する。このとき、データ転送要求を受け取ったＩ／Ｆ選択手段（アービタ）２４は、ホスト１がデータ転送中であるため（ホストＩ／Ｆ１へＡＣＫ１を出力中であるため）、ホストＩ／Ｆ２へはデータ転送許可を与えない。
【００４１】
次に、図５（ｃ）に示すように、ホスト１のデータ転送が完了すると、Ｉ／Ｆ選択手段（アービタ）２４はホストＩ／Ｆ１へのＡＣＫ１の出力を停止する。そして、図５（ｄ）に示すように、優先順位テーブル２３において、印刷が終了したばかりの（データ転送が完了したばかりの）ホストＩ／Ｆ１の優先順位を最低位に変更する。すなわち、優先順位を「１、２、３」から「２、３、１」に変更する。また、ここで、データ転送が完了したばかりのホスト１が続けてデータ転送要求を送信するものとする。これにより、Ｉ／Ｆ選択手段（アービタ）２４には、ホスト１からのＲＥＱ１と、ホスト２からのＲＥＱ２とが入力されることになる。
【００４２】
Ｉ／Ｆ選択手段（アービタ）２４は、優先順位テーブル２３に基づき、データ転送を許可すべきホストＩ／Ｆを選択する。このとき、データ転送要求を出力しているホストＩ／Ｆ１とホストＩ／Ｆ２とについて優先順位が比較され、この時点で優先順位の高いホストＩ／Ｆ２が選択される。この選択結果に従い、Ｉ／Ｆ選択手段（アービタ）２４は、図６（ａ）に示すように、ホストＩ／Ｆ２に対してデータ転送許可信号（ＡＣＫ２）を出力し、図６（ｂ）に示すように、Ｉ／Ｆ選択手段（アービタ）２４よりＡＣＫ信号を受けたホストＩ／Ｆ２は、接続されているホスト２にデータ転送許可信号（ＡＣＫ２）を出力する。
【００４３】
次に、図６（ｃ）に示すように、ホストＩ／Ｆ２からデータ転送許可信号（ＡＣＫ２）を受けたホスト２は、ホストＩ／Ｆ２へ印字データの転送を開始し、ホストＩ／Ｆ２は、接続手段２５を介して印字データを印刷装置３へ転送する。これにより、印刷装置において、印刷データの印字出力が実行される。
【００４４】
次に、図６（ｄ）に示すように、ホスト２のデータ転送が完了すると、Ｉ／Ｆ選択手段（アービタ）２４はホストＩ／Ｆ２へのＡＣＫ２の出力を停止する。そして、図６（ｅ）に示すように、優先順位テーブル２３において、印刷が終了したばかりの（データ転送が完了したばかりの）ホストＩ／Ｆ２の優先順位を最低位に変更する。すなわち、優先順位を「２、３、１」から「３、１、２」に変更する。ここで、データ転送要求を出していたホストＩ／Ｆ１において、データ転送許可信号（ＡＣＫ１）が出力され、以降、図４（ｃ）から図６（ｅ）までの処理が繰り返される。
【００４５】
以上のように、この具体例１の動作では、印刷が終了したばかりのホストＩ／Ｆの優先順位は、その時点において下位（この具体例１では最低位）に変更される。これにより、特定のホストＩ／Ｆが印刷装置３へのデータ転送を独占することがなくなる。
【００４６】
また、上記の具体例１では、優先順位テーブル２３において使用されている識別データは、各ホスト１，２，３に対して１つずつ割り振られているが、１つのホストに複数の識別データを割り振ることも可能である。さらに、印刷が終了したホストＩ／Ｆの優先順位を下位に変更するときに、最低位まで下げるのではなく、所定数だけ下げるように制御することも可能である。
【００４７】
例えば、図７に示す優先順位テーブル２３は、１つのホストに２つの識別データを割り振り、かつ、印刷が終了したホストＩ／Ｆの優先順位を下位に変更するときに、その優先順位を３つずつ下げる構成としている。つまり、図７（ａ）に示す初期状態において、ホスト１についてのデータ転送が行われると、先頭にあるホスト１の識別データ１の優先順位が３つ下げられて、図７（ｂ）に示す状態となる。また、この図７（ｂ）に示す状態において、再びホスト１についてデータ転送が行われると（ただし、この場合には少なくとも他のホスト２，３からデータ転送要求が出されていないことが条件となる）、ホスト１の識別データ１の優先順位がさらに３つ下げられて、図７（ｃ）に示す状態となる。
【００４８】
また、１つのホストに複数の識別データを割り振る場合、優先順位テーブル２３において、これまでの各ホスト１，２，３の使用履歴等が反映されるようにすることも可能である。
【００４９】
例えば、図８（ａ）に示すように、初期状態の優先順位テーブル２３において、１つのホストに４つの識別データが割り振られており、この状態から、特にホスト１，２のデータ転送が多数回行われたとする。その結果、図８（ｂ）に示すように、ホスト１，２の識別データ１，２の優先順位が順次下位に下げられるので、その間にデータ転送がほとんど行われなかったホスト３の識別データ３が、優先順位テーブル２３の高位に連続して位置することになる。すなわち、データ転送のあまり行われないホストでは、その分、連続したデータ転送処理が行い易くなる。
【００５０】
これとは逆に、データ転送が頻繁に行われるホストの優先順位が高めに設定されるようにしたければ、各ホストに割り振られている識別データの数を異ならせて、これを実現することができる。
【００５１】
すなわち、データ転送装置２にホスト１，２，３が接続されていて、例えばホスト１のデータ転送が最も多く、ホスト３のデータ転送が最も少ないと予想される場合には、図９に示すように、ホスト１の識別データ１を６つ、ホスト２の識別データ２を４つ、ホスト３の識別データ３を２つというように、それぞれ異なる数に設定することが可能である。この場合、データ転送が最も多いホスト１では、識別データ１が多い分だけ、優先順位テーブル２３の高位にいずれかの識別データ１が位置することが多くなる。
【００５２】
［具体例２］
図１０（ａ）に示す初期状態において、優先順位テーブル２３では識別データによる優先順位の設定は行われていない。
【００５３】
ここで、図１０（ｂ）に示すように、上記の初期状態からホスト１よりデータ転送要求（ＲＥＱ１）が送信されると、ホストＩ／Ｆ１は、このデータ転送要求コマンドをコマンド受信レジスタに記憶し、Ｉ／Ｆ選択手段（アービタ）２４にデータ転送要求を出力する。Ｉ／Ｆ選択手段（アービタ）２４は、ホストＩ／Ｆ１からＲＥＱ１を受け取ったことにより、優先順位テーブル２３に識別データ１を記憶する。
【００５４】
次に、図１０（ｃ）に示すように、Ｉ／Ｆ選択手段（アービタ）２４は、優先順位テーブル２３に基づき、データ転送を許可すべきホストＩ／Ｆを選択する。このとき、優先順位テーブル２３に記憶されている識別データは１のみなので、ホストＩ／Ｆ１が選択され、Ｉ／Ｆ選択手段（アービタ）２４はホストＩ／Ｆ１に対してデータ転送許可信号（ＡＣＫ１）を出力する。
【００５５】
次に、図１０（ｄ）に示すように、Ｉ／Ｆ選択手段（アービタ）２４よりＡＣＫ信号を受けたホストＩ／Ｆ１は、接続されているホスト１にデータ転送許可信号（ＡＣＫ１）を出力する。
【００５６】
次に、図１１（ａ）に示すように、ホストＩ／Ｆ１からデータ転送許可信号（ＡＣＫ１）を受けたホスト１は、ホストＩ／Ｆ１へ印字データの転送を開始し、ホストＩ／Ｆ１は、接続手段２５を介して印字データを印刷装置３へ転送する。これにより、印刷装置において、印刷データの印字出力が実行される。
【００５７】
次に、図１１（ｂ）に示すように、ホスト１がデータ転送を行っている最中に、ホスト２がデータ転送要求（ＲＥＱ２）を送信すると、ホストＩ／Ｆ２は、このデータ転送要求コマンドをコマンド受信レジスタに記憶し、Ｉ／Ｆ選択手段（アービタ）２４にこのデータ転送要求を出力する。このとき、データ転送要求を受け取ったＩ／Ｆ選択手段（アービタ）２４は、ホスト１がデータ転送中であるため（ホストＩ／Ｆ１へＡＣＫ１を出力中であるため）、ホストＩ／Ｆ２へはデータ転送許可を与えないが、ホストＩ／Ｆ２からＲＥＱ２を受け取ったことにより、優先順位テーブル２３に識別データ２を記憶する。
【００５８】
次に、図１１（ｃ）に示すように、ホスト１のデータ転送が完了すると、Ｉ／Ｆ選択手段（アービタ）２４はホストＩ／Ｆ１へのＡＣＫ１の出力を停止する。そして、図１１（ｄ）に示すように、優先順位テーブル２３において、印刷が終了したばかりの（データ転送が完了したばかりの）ホストＩ／Ｆ１の識別データ１を削除し、それ以降の優先順位の低い側の識別データ２を優先順位の高い側に繰り上げる。このとき、図１１（ｅ）に示すように、データ転送が完了したばかりのホスト１が続けてデータ転送要求を送信するものとする。つまり、優先順位テーブル２３に識別データ１が新たに追加される。これにより、Ｉ／Ｆ選択手段（アービタ）２４には、ホスト１からのＲＥＱ１と、ホスト２からのＲＥＱ２とが入力されることになる。
【００５９】
Ｉ／Ｆ選択手段（アービタ）２４は、優先順位テーブル２３に基づき、データ転送を許可すべきホストＩ／Ｆを選択する。このとき、データ転送要求を出力しているホストＩ／Ｆ１とホストＩ／Ｆ２とについて優先順位が比較され、この時点で優先順位の高いホストＩ／Ｆ２が選択される。この選択結果に従い、Ｉ／Ｆ選択手段（アービタ）２４は、図１２（ａ）に示すように、ホストＩ／Ｆ２に対してデータ転送許可信号（ＡＣＫ２）を出力し、図１２（ｂ）に示すように、Ｉ／Ｆ選択手段（アービタ）２４よりＡＣＫ信号を受けたホストＩ／Ｆ２は、接続されているホスト２にデータ転送許可信号（ＡＣＫ２）を出力する。
【００６０】
次に、図１２（ｃ）に示すように、ホストＩ／Ｆ２からデータ転送許可信号（ＡＣＫ２）を受けたホスト２は、ホストＩ／Ｆ２へ印字データの転送を開始し、ホストＩ／Ｆ２は、接続手段２５を介して印字データを印刷装置３へ転送する。これにより、印刷装置において、印刷データの印字出力が実行される。
【００６１】
次に、図１２（ｄ）に示すように、ホスト２のデータ転送が完了すると、Ｉ／Ｆ選択手段（アービタ）２４はホストＩ／Ｆ２へのＡＣＫ２の出力を停止する。そして、図１２（ｅ）に示すように、優先順位テーブル２３において、印刷が終了したばかりの（データ転送が完了したばかりの）ホストＩ／Ｆ２の識別データ２を削除し、それ以降の優先順位の低い側の識別データ１を優先順位の高い側に繰り上げる。ここで、データ転送要求を出していたホストＩ／Ｆ１において、データ転送許可信号（ＡＣＫ１）が出力され、以降、図１０（ｃ）からの図１２（ｅ）までの処理が繰り返される。
【００６２】
以上のように、この具体例２の動作では、優先順位テーブル２３は、データ転送要求を受け付けたホストのみ、その識別データをテーブルに追加し、データ転送が終了したホストの識別データは削除される。これにより、データ転送をデータ転送要求の受け付け順に行うことができる。
【００６３】
［具体例３］
この具体例３に示す優先順位テーブル２３においては、図１３に示すように、ホストＩ／Ｆの識別データと、各ホストにおけるデータ転送量とが対応させた状態で記憶されており、その優先順位はデータ転送量の少ないものから順にその優先順位が高くなるように設定されている。
【００６４】
例えば、優先順位テーブル２３が図１３（ａ）に示す状態にあり、この時点でホスト１からのデータ転送が行われると、図１３（ｂ）に示すように、このデータ転送の終了後にホスト１のデータ転送量が累積更新される。そして、図１３（ｃ）に示すように、ホスト１のデータ転送量が更新されたことにより、データ転送量の少ないものから順にその優先順位が高くなるように、各ホストにおける優先順位が変更（再配列）される。
【００６５】
以上のように、この具体例３の動作では、データ転送量の少ないホストほどその優先順位が高くなるため、データ転送回数でなくデータ転送量において公平を期すことができる。
【００６６】
【発明の効果】
本発明のデータ転送装置によれば、データ転送中でもデータ転送要求を受け付けてレジスタに保持できるので、ホスト装置がデータ転送要求を出すタイミングによって、データ転送が許可されるホスト装置が偏るといったことがなくなり、データ転送装置側においてデータ転送を許可する順番を確実に制御することができる。
【００６７】
また、本発明のデータ転送装置によれば、データ転送要求コマンドを送ったホスト装置は、データ転送許可信号を通知されることによってデータ転送を開始できるので、ポーリングを繰り返す必要がなくなり、負荷が軽減される。また、データ転送許可信号が通知されることにより、選択されたホストＩ／Ｆに接続されたホスト装置は直ちにデータの転送を開始することができるので、ポーリング間隔による無駄な待ち時間がなくなる。
【００６８】
また、本発明のデータ転送装置によれば、データ転送要求コマンドを送ったホスト装置は、ビジー信号を非アクティブとされることによってデータ転送を開始できるので、従来のポーリング制御を行うホスト装置でも、その制御方法を変更することなく、本発明のデータ転送装置を使用することができる。
【００６９】
また、本発明のデータ転送装置によれば、データ転送中のホスト装置も次のデータ転送を予約することが可能となり、データ転送が完了してから次のデータ転送要求を行う場合に比べて、ホスト装置の待ち時間を短縮することができる。
【００７０】
また、本発明のデータ転送装置によれば、データ転送を行ったホストＩ／Ｆの優先順位を下げることで、特定のホスト装置が周辺機器を独占して使用することを防ぐことができる。
【００７１】
また、本発明のデータ転送装置によれば、特定のホストＩ／Ｆに割り振る識別データの個数を増やすことで、そのホストＩ／Ｆの優先度を上げることができる。
【００７２】
また、本発明のデータ転送装置によれば、優先順位テーブルにおいて、データ転送要求を受けたホストＩ／Ｆに割り振られた識別データを配列の最も優先順位の低い側へ追加し、データ転送を完了したホストＩ／Ｆに割り振られた識別データで最も優先順位の高いものを削除し、その削除した位置へ優先順位の低い側の識別データを逐次繰り上げるように構成したので、データ転送を、データ転送要求の受付順に行うことができる。
【００７３】
また、本発明のデータ転送装置によれば、優先順位テーブルにおいて、データ転送を行ったホストＩ／Ｆに対応する転送量を累積更新し、転送量の少ないものほど優先順位が高くなるようにデータを再配列するように構成したので、転送回数ではなく、転送量において公平を期すことができる。
【図面の簡単な説明】
【図１】本発明のデータ転送装置を適用した印刷システムの実施の形態を示すブロック図である。
【図２】本発明のデータ転送装置を使用した印刷システムの一実施の形態における動作を示すフローチャートである。
【図３】本発明のデータ転送装置を使用した印刷システムの他の実施の形態における動作を示すフローチャートである。
【図４】優先順位テーブルにおける優先順位の変更方法の具体例１を示す説明図である。
【図５】優先順位テーブルにおける優先順位の変更方法の具体例１を示す説明図である。
【図６】優先順位テーブルにおける優先順位の変更方法の具体例１を示す説明図である。
【図７】優先順位テーブルにおける優先順位の変更方法の具体例１における他の実施の形態を示す説明図である。
【図８】優先順位テーブルにおける優先順位の変更方法の具体例１におけるさらに他の実施の形態を示す説明図である。
【図９】優先順位テーブルにおける優先順位の変更方法の具体例１におけるさらに他の実施の形態を示す説明図である。
【図１０】優先順位テーブルにおける優先順位の変更方法の具体例２を示す説明図である。
【図１１】優先順位テーブルにおける優先順位の変更方法の具体例２を示す説明図である。
【図１２】優先順位テーブルにおける優先順位の変更方法の具体例２を示す説明図である。
【図１３】優先順位テーブルにおける優先順位の変更方法の具体例３を示す説明図である。
【符号の説明】
１ａ，１ｂ，１ｃ  ホストコンピュータ
２  データ転送装置
３  印刷装置
２１ａ，２１ｂ，２１ｃ  ホストＩ／Ｆ
２２ａ，２２ｂ，２２ｃ  コマンド受信レジスタ
２３  優先順位テーブル
２４  Ｉ／Ｆ選択手段（アービタ）
２５  接続手段
【図１】
0004245734.tif 000002
【図２】
0004245734.tif 000003
【図３】
0004245734.tif 000004
【図４】
0004245734.tif 000005
【図５】
0004245734.tif 000006
【図６】
0004245734.tif 000007
【図７】
0004245734.tif 000008
【図８】
0004245734.tif 000009
【図９】
0004245734.tif 000010
【図１０】
0004245734.tif 000011
【図１１】
0004245734.tif 000012
【図１２】
0004245734.tif 000013
【図１３】
0004245734.tif 000014