(57)【特許請求の範囲】
【請求項１】
印刷データが入力される複数のポート手段を有し複数の印刷データを並行して受信可能な受信手段と、
印刷データを印刷処理に移行させる前に一旦蓄積する記憶装置と、
上記複数のポート手段の優先順位を決定するとともに、複数のポート手段に並行してそれぞれ印刷データが受信された場合に優先順位の高いポート手段の印刷データから優先的に印刷処理へ移行させる印刷制御手段とを備え、
上記印刷制御手段は、各ポート手段に入力された印刷データのデータサイズを判定し、データサイズに基づいて上記ポート手段の優先順位を決定するように構成されていることを特徴とする印刷装置。
【請求項２】
入力された印刷データのデータサイズに関するサイズ情報を格納する格納手段を各ポート手段毎に備え、
上記印刷制御手段は上記格納手段に格納されたサイズ情報に基づいて上記優先順位を決定することを特徴とする請求項１記載の印刷装置。
【請求項３】
上記格納手段には、過去に入力された印刷データを含めて認識し得る最新の印刷データのサイズ情報が各ポート手段毎に格納され、
上記印刷制御手段は、新たな印刷データが任意のポート手段に入力された場合に、該ポート手段のサイズ情報と、優先順位が該ポート手段の優先順位に連続する他のポート手段のサイズ情報とを各々比較して、比較したポート手段の優先順位を上記サイズ情報に示されるデータサイズの小さい順に入れ替えていく優先順位更新処理を行うことを特徴とする請求項２記載の印刷装置。
【請求項４】
上記優先順位更新処理は、新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が１つ低いポート手段のサイズ情報とを比較してデータサイズの小さい順に上記優先順位を入れ替えるステップと、該ステップで優先順位の入れ替えがなかった場合に上記新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が１つ高いポート手段のサイズ情報とを比較してデータサイズの小さい順に上記優先順位を入れ替えるステップとを有することを特徴とする請求項３記載の印刷装置。
【請求項５】
複数種類のフォーマット言語に対応してこれら各フォーマット言語により作成された印刷データを解析して印刷処理可能なデータに変換可能な解析手段を備え、上記複数のポート手段はそれぞれ所定のフォーマット言語の印刷データが入力されるように対応されていることを特徴とする請求項３又は４に記載の印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワークプリンタなど複数のホストコンピュータから複数の印刷データを並行して受信可能な印刷装置に適用して有用な技術に関する。
【０００２】
【従来の技術】
ＬＡＮ（ローカル・エリア・ネットワーク）接続されるプリンタ（ネットワークプリンタと云う）など、複数のホストコンピュータから印刷データを並行して受信し、これら印刷データを一旦受信バッファ等に蓄えた後、１個ずつ印刷処理に移行していく印刷装置は公知である。
【０００３】
従来、上記のような印刷装置においては、複数の印刷データを並行して受信した場合、これらの印刷データは受信順に印刷処理に移行されるのが一般である。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記のように受信順に印刷処理に移行する従来の印刷処理方式では、例えば図１０に示すように、大きなサイズの印刷データが受信されたすぐ後に、小サイズの印刷データが受信された場合、小サイズの印刷データは、大サイズの印刷データが受信を完了しデータ解析と印刷処理が完了するのを待ってから、データ解析と印刷処理へと移行される。
【０００５】
小さいサイズの印刷データであれば、大サイズの印刷データの受信中に、データ解析から印刷処理まで行ってしまえるが、従来の方式では大きいサイズの印刷データが僅かにでも早く受信された場合には、後回しで処理されるため、無駄な待ち時間が発生してオフィス全体としての作業効率を低下させていた。
【０００６】
この発明の目的は、複数の印刷データが並行して入力された場合に、データ解析や印刷処理へ移行する優先順序を適宜決定してやることで、無駄な待ち時間を少なくし作業効率の向上を図れる印刷装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の印刷装置は、上記目的を達成するため、印刷データが入力される複数のポート手段を有し複数の印刷データを並行して受信可能な受信手段と、印刷データを印刷処理に移行させる前に一旦蓄積する記憶装置と、上記複数のポート手段の優先順位を決定するとともに、複数のポート手段に並行してそれぞれ印刷データが受信された場合に優先順位の高いポート手段の印刷データから優先的に印刷処理へ移行させる印刷制御手段とを備え、上記印刷制御手段は、各ポート手段に入力された印刷データのデータサイズを判定し、データサイズに基づいて上記ポート手段の優先順位を決定するように構成する。
【０００８】
このような手段によれば、並行して複数の印刷データが受信された場合にこれら印刷データを印刷処理にかける優先順位が、従来のように受信順ではなく、印刷データのデータサイズに基づいて決定するので、例えば、小サイズの印刷データと大サイズの印刷データとが並行して受信された場合に、小サイズの印刷データを優先させて、大サイズの印刷データの受信中に印刷処理を行ってしまうなど、作業効率の向上を図ることが出来る。
【０００９】
望ましくは、入力された印刷データのデータサイズに関するサイズ情報を格納する格納手段を各ポート手段毎に設け、上記印刷制御手段は上記格納手段に格納されたサイズ情報に基づいて上記優先順位を決定するように構成する。なお、上記サイズ情報は、実際のデータサイズを示したデータでも良いし、１００Ｋｂｙｔｅ以上とか２００Ｋｂｙｔｅ以上とか、おおよそのデータサイズを示すデータでも良い。
【００１０】
具体的には、上記格納手段には、過去に入力された印刷データを含めて認識し得る最新の印刷データのサイズ情報が各ポート手段毎に格納されるようにしておき、上記印刷制御手段は、新たな印刷データが任意のポート手段に入力された場合に、該ポート手段のサイズ情報と優先順位が該ポート手段の優先順位に連続する他のポート手段のサイズ情報とを各々比較して、比較したポート手段の優先順位を上記サイズ情報に示されるデータサイズの小さい順に入れ替えていく優先順位更新処理を行うように構成すると良い。
【００１１】
入力される印刷データのデータサイズが認識できるタイミングは、その言語フォーマットにより、受信開始直後、受信半ば、受信終了間際と一定でなく、また、各ポート手段に印刷データが送られてくるタイミングもばらばらであるため、受信中の印刷データ同士のデータサイズを比較していたのでは、例えば、小サイズの印刷データと大サイズの印刷データとがほぼ同時に受信開始された場合でも、小サイズの印刷データの受信が完了し大サイズの印刷データの受信終了時まで待ってデータサイズの比較を行い印刷処理に移行するなど、その比較タイミングや各印刷データを印刷処理へ移行させるタイミングが取り難くなり、本発明の目的達成があやうくなる場合も考えられる。
【００１２】
そこで、上記構成のように、新たに印刷データが入力されたポート手段については該印刷データのデータサイズに基づき、それ以外のポート手段については過去最新の印刷データのデータサイズに基づき、これらを比較してポート手段の優先順位を更新するので、データサイズの比較タイミングや印刷処理への移行タイミングが取り易くなる。また、過去の印刷データとの比較で優先順位の更新を行っても、印刷処理へ移行させる印刷データを決定する際には、現在印刷データが入力されているポート手段の優先順位だけが関係するので、入力された印刷データを適宜な順序で印刷処理へ移行させることが出来る。
【００１３】
更に、各ポート手段に受信される印刷データのサイズに一定の傾向がある場合には、過去に入力された印刷データのサイズ比較により過去の傾向に適宜従った優先順位の入れ替えが可能である。
【００１４】
また、上記の優先順位更新処理では、優先順位が連続する他のポート手段間（１個に限られず複数個でも良い）で優先順位を入れえるだけで、全てのポート手段の間で優先順位の入れ替えを行うわけではないので、優先順位の適度な変更が可能である。優先順位の過度の変更は、例えば大サイズの印刷データの入力とともに、それより少しばかり小さいサイズの印刷データがいろんなポート手段から連続して入力された場合に、大サイズの印刷データが不適切に待たされてしまうといった不都合を生じる可能性があるが、上記適度な変更によりこのような不都合を回避できる。
【００１５】
具体的には、上記優先順位更新処理は、新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が１つ低いポート手段のサイズ情報とを比較してこれらポート手段の優先順位をデータサイズの小さい順に入れ替えるステップと、該ステップで優先順位の入れ替えがなかった場合に上記新たに入力があったポート手段のサイズ情報と該ポート手段より優先順位が１つ高いポート手段のサイズ情報とを比較してこれらポート手段の優先順位をデータサイズの小さい順に入れ替えるステップとを有するように構成すると良い。
【００１６】
また、ポート手段の数が多い場合や、過去のデータサイズより現在に近いデータサイズの影響を大きくしたい場合には、１回の更新処理で優先順位の続く２〜５個など多数のポート手段の比較を行って、これらポート手段間で優先順位の入れ替えを行うようにしても良い。
【００１７】
また、本発明は、複数種類のフォーマット言語に対応して各フォーマット言語により作成された印刷データを解析して印刷処理可能なデータに変換可能な解析手段を備え、上記複数のポート手段はそれぞれ所定のフォーマット言語の印刷データが入力されるように対応されている印刷装置に対して特に有効である。
【００１８】
すなわち、フォーマット言語と印刷データのサイズとにはある程度の相関があるため、各ポート手段に入力される印刷データのサイズにも一定の傾向が生じることとなり、上記過去の印刷データのデータサイズとの比較により適切な優先順位の更新ができる。
【００１９】
【発明の実施の形態】
以下、本発明の好適な実施例を図面に基づいて説明する。
【００２０】
図１は、本発明の実施例である印刷装置１のハード的な構成を示すブロック図、図２はこの印刷装置１の機能構成を示す機能ブロック図である。
【００２１】
この実施例の印刷装置１は、図１に示すように、この装置の全体的な制御を行うＣＰＵ１０と、ホストコンピュータ２から送られてきた印刷データが一時的に蓄えられるハードディスク装置や半導体メモリなどからなるスプール用の記憶装置１１と、ユーザーにより操作可能な入力キーや操作内容を表示する表示部が設けられた操作パネル１２と、ＣＰＵ１０により実行される制御用プログラムや制御用データが記憶されたプログラムＲＯＭ１３と、ネットワーク４を介して接続された複数のホストコンピュータ２との間でデータの送受信を行うホストインターフェース１４と、供給された印刷データに従って印刷処理を行う印刷手段としてのプリンタエンジン１６と、該プリンタエンジン１６に印刷データを転送するためのエンジンインターフェース１５などから構成される。
【００２２】
ホストインターフェース１４は、例えばパケット通信などにより複数のホストコンピュータ２…と並行してデータ通信が可能なものである。
【００２３】
ＣＰＵ１０は、内部にＲＡＭを備えたプロセッサであり、該ＲＡＭを作業スペースとして上記プログラムＲＯＭ１３に記憶された制御用プログラムや制御用データに従って、複数の機能モジュールを実現する。かかる機能モジュールとしては、図２に示すように、ホストインターフェース１４を介して受信されるデータを内部に取り込む受信手段としてのインターフェース部１０２、印刷データの言語解析を行いプリンタエンジン１６が処理可能なデータ（例えばラスタデータ）に変換してエンジンインターフェース１５に出力する解析手段としての言語解析ブロック１０３、ホストコンピュータ２から送られてくる印刷データを記憶装置１１に蓄積すると共にこの蓄積された印刷データの管理を行うスプール部１０４、上記の各機能モジュールを統括的に制御する印刷制御手段としてのメインコントロール部１０１などがある。これら複数の機能モジュールは、ＣＰＵ１０による制御用プログラムの並列処理により同時に並行して動作可能であり、各機能モジュール間では更にＲＡＭを介したデータのやり取りが可能になっている。
【００２４】
言語解析ブロック１０３は、例えば、所定の描画コマンドと描画パラメータから構成されるベクタデータのような言語フォーマットや、印刷ドット毎に色や階調度を示すラスタデータのような言語フォーマット、並びに、これらベクタデータとラスタデータが混在した言語フォーマットなど、複数種の言語フォーマットに対応することができるように構成されている。
【００２５】
インターフェース部１０２は、ポート手段として複数の論理ポート（例えばポート▲１▼〜ポート▲８▼）を備え、これら論理ポートがそれぞれ独立してデータ受信できるように構成されている。すなわち、ネットワーク４に接続されたホストコンピュータ２…からはこれら各論理ポートを介してそれぞれ並行して印刷データの入力が行えるようになっている。
【００２６】
図３には、入力された印刷データをインターフェース部１０２の各論理ポートに割り当てる方式を説明する第１実施例の説明図を示す。
【００２７】
この第１実施例においては、各論理ポートへの印刷データの割り当ては、印刷データの入力順すなわち印刷データの受信開始時刻の早い順に、空いている論理ポートのうち番号の若い方から印刷データを割り当てていくといった方式で行われる。例えば、あるホストコンピュータ２から印刷データＤＡＴＡ１（図３）が送信され、この送信中に別のホストコンピュータ２から別の印刷データＤＡＴＡ２が送信された場合、１番目に入力された印刷データＤＡＴＡ１はポート▲１▼に受信され、２番目に入力された印刷データＤＡＴＡ２はポート▲２▼に受信される。
【００２８】
全ての論理ポートがデータ受信でふさがっている場合には、何れかの論理ポートのデータ受信が完了するまで、新たな印刷データは受けつけずホストコンピュータの送信待機状態となる。
【００２９】
この第１実施例の方式においては、各論理ポートに入力される印刷データのデータサイズに一定の傾向が生じることはなく、入力される印刷データ毎にそのデータサイズはばらばらなものとなる。
【００３０】
この実施例では、印刷データの受信開始の際には、受信開始と受信した論理ポートの番号とを示す情報がインターフェース部１０２からメインコントロール部１０１に渡される。また、受信中、印刷データのデータサイズが分かった時点で、該データサイズを示すサイズ情報がメインコントロール部１０１に渡される。印刷データのデータサイズが分かるタイミングは、各言語フォーマットにより異なり、例えば、印刷データのヘッダー部にデータサイズが記録されている言語フォーマットであれば受信直後に分かるが、データサイズの記録がない言語であれば、受信半ばや受信完了間際に分かる。
【００３１】
また、印刷データの受信完了時には、受信完了と受信完了した論理ポートの番号とを示す情報がインターフェース部１０２からメインコントロール部１０１に渡される。また、受信した印刷データはメインコントロール部の指示に従ってスプール部１０４により記憶装置１１に格納されていく。
【００３２】
メインコントロール部１０１は、詳細は後述するが、受信した印刷データを記憶装置１１に格納する際に、各印刷データに印刷処理の順番を示す印刷順序を設定して、スプール管理情報としてスプール部１０４に渡す。また、インターフェース部１０２に複数の印刷データが並行して受信されている場合には、受信順ではなく各論理ポートに設定されている優先順位の高い順に印刷処理が行われるように、各印刷データに上記印刷順番情報を設定してスプール部に渡す。これら各論理ポートに設定される優先順位は、メインコントロール部１０１により受信した印刷データのデータサイズに基づき決定され、印刷データを受信されるたびに更新されていくようになっている。
【００３３】
そして、スプール部１０４に印刷データが格納され、且つ、言語解析ブロック１０３が解析処理可能な状態になると、メインコントロール部１０１からスプール部１０４に次の印刷データを言語解析ブロックに供給するよう指示が与えられる。すると、スプール部１０４が記憶装置１１に格納されている印刷データの中から印刷順序情報に基づき印刷順序の最も早いものを検索して、該当の印刷データを読み出して言語解析ブロック１０３に供給していく。そして、言語解析ブロック１０３に供給された印刷データは印刷処理可能なデータ（例えばラスタデータ）に変換されてプリンタエンジン１６に供給され、印刷処理が行われていく。
【００３４】
図６には、入力された印刷データをインターフェース部１０２の各論理ポートに割り当てる方式を説明する第２実施例の説明図を示す。
【００３５】
この第２実施例においては、ＣＰＵ１０にはフラッシュＲＯＭ等の不揮発性メモリが備わり、該不揮発性メモリの中には、後述する論理ポートの優先順位を表す第２実施例のデータテーブル１０１ｂ（図６，図７）が構成されるようになっている。
【００３６】
この第２実施例の方式は、予め各論理ポートを印刷データの言語フォーマットの何れかに対応付けておき、ある言語フォーマットの印刷データが入力された場合には該言語フォーマットに対応した論理ポートに印刷データが受信されるようにしたものである。例えば、図６に示すように、ポート▲１▼〜▲３▼は言語フォーマットａ、ポート▲４▼〜▲６▼は言語フォーマットｂ、ポート▲７▼，▲８▼は言語フォーマットｃと予め設定しておく。そして、あるホストコンピュータ２から言語フォーマットｂの印刷データＤＡＴＡ１が送信され、この送信中に別のホストコンピュータ２から言語フォーマットａの印刷データＤＡＴＡ２が送信された場合には、始めの印刷データＤＡＴＡ１はこの言語フォーマットｂに対応するポート▲４▼に受信され、２番目の印刷データＤＡＴＡ２はこの言語フォーマットａに対応するポート▲１▼に受信される。
【００３７】
同じ言語フォーマットの印刷データが続いて入力された場合には、該言語フォーマットに対応付けられた複数の論理ポートのうち、空いている論理ポートの番号の若い方から印刷データを割り当てていき、すべての論理ポートがふさがった場合には印刷要求元のホストコンピュータは送信待機状態にされる。
【００３８】
この第２実施例の方式においては、各論理ポートに入力される印刷データはその言語フォーマットが固定されているため、そのデータサイズも各論理ポートごとに一定の傾向が生じることになる。
【００３９】
この第２の実施例における印刷処理は第１実施例と同様の制御で実行される。
【００４０】
次に、図３に示す第１実施例と図６に示す第２実施例の場合にわけて、メインコントロール部１０１が各論理ポートの優先順位を決定し更新する処理手順、各印刷データに印刷順序を設定していく処理手順について詳細に説明する。
［第１実施例］
第１実施例は、先に説明したように、印刷データを空いている論理ポートの中からポート番号が一番若い論理ポートに割り当てて受信させる方式のものである。
【００４１】
この第１実施例においては、各論理ポートに受信される印刷データのデータサイズには一定の傾向が生じないので、現在受信している印刷データのデータサイズのみに基づいて論理ポートの優先順位を決定していく。
【００４２】
図４には、この実施例で各ポートの優先順位を決定するために使用されるデータテーブルの一例を、図５には、メインコントロール部１０１により実行される上記データテーブルの更新処理のフローチャートを示す。
【００４３】
論理ポートの優先順位の決定には、ＲＡＭに設けられた格納手段としてのデータテーブル１０１ａが使用される。このデータテーブル１０１ａには、図４に示すように、優先順位順に、ポート番号と、現在論理ポートで受信中の印刷データのデータサイズを示すサイズ情報とが、それぞれ対応付けられて格納される。現在受信していない論理ポートのデータについては、例えばデータテーブル１０１ａから削除される。
【００４４】
データテーブル１０１ａの更新処理は、図５に示すフローチャートの手順でメインコントロール部１０１により行われる。即ち、ステップＳ１において新しく入力された印刷データのサイズ情報がインターフェース部１０２から通知されたか判別し、通知されていればステップＳ２，Ｓ３の更新処理に移行するが、通知されていなければステップＳ４にジャンプする。
【００４５】
ステップＳ４では、受信中の印刷データの受信完了の通知がインターフェース部１０２からあったか判別し、通知があればステップＳ５，Ｓ６の更新処理に移行するが、通知されていなければステップＳ１に戻って、これらの判別処理を繰り返す。
【００４６】
その結果、新たな印刷データのサイズ情報の通知があってステップＳ２に移行すると、新たな印刷データを受信したポート番号とその印刷データのサイズ情報をデータテーブル１０１ａの空いている行に書き込む。そして、ステップＳ３でこのデータテーブル１０１ａの全ての行を対象に、サイズ情報が小さい順になるように行を並べ換えるソート処理を行う。なお、ポート番号やサイズ情報が入力されてない行は下位に下げる。
【００４７】
つまり、上記ステップＳ２，Ｓ３のデータ処理によって、印刷データの受信が複数ある場合にこれらを受信している論理ポートの優先順位が印刷データサイズの小さい順に設定されることとなる。
【００４８】
一方、印刷データの受信完了の通知があってステップＳ５に移行すると、受信完了した論理ポートのポート番号とサイズ情報とをデータテーブル１０１ａから削除し、次いでステップＳ６でその行を詰める処理を行う。そして、ステップＳ１の判別処理に戻る。
【００４９】
しかして、データテーブル１０１ａに現在受信中である受信ポートのポート番号が優先度順に並べられる。
【００５０】
次に、メインコントロール部１０１により行われる印刷データの印刷順序の設定処理について説明する。
【００５１】
メインコントロール部１０１は、印刷データの受信完了時にデータテーブル１０１ａの優先順位に従って該印刷データの印刷順序を決定し、その印刷順序情報をスプール管理情報としてスプール部１０４に渡していく。
【００５２】
具体的には、図４に示すように、３つの印刷データを並行して受信し、その中のポート『１』の受信が完了したとすると、これら３つの印刷データに対して各論理ポートの優先順位に従い通し番号で印刷順序を設定する。この通し番号は例えば電源投入時やリセット時から連続するものであり、現時点で１００番目の印刷データだとすれば、ポート『２』の印刷データに１００番、ポート『１』の受信完了した印刷データに１０１番、ポート『３』の印刷データに１０２番の印刷順序をそれぞれ設定する。
【００５３】
これらの印刷順序のうち、受信を完了したポート『１』の印刷データの１０１番については確定であるが、まだ受信中のポート『２』とポート『３』の印刷データの１００番と１０２番については確定でない。そして、このまま新たに印刷データの受信もなく、ポート『２』とポート『３』の受信が完了すれば、上記の印刷順序がそのまま確定となる。
【００５４】
一方、ポート『２』やポート『３』の受信中に新たな印刷データの受信が開始され、このサイズ情報がメインコントロール部１０１に通知されると、このサイズ情報に基づいてデータテーブル１０１ａの更新処理が行われる。例えば、図４のデータテーブルで２行目の印刷データの受信が完了した後、新たにポート『１』に１０ｋｂｙｔｅの印刷データが受信されたとすれば、優先順位はポート『１』が「順位１」、ポート『２』が「順位２」、ポート『３』が「順位３」へと更新される。
【００５５】
そして、この状態で何れかの印刷データの受信が完了されたときには、まだ使用されてない通し番号によりこれら印刷データの印刷順序をそれぞれ設定していく。例えばポート▲２▼の印刷データの受信が完了された場合には、先ほどの印刷データで１０１番を使用しているため、まだ使用していない通し番号の１００番、１０２番、１０３番を使用して、ポート▲１▼の印刷データに１００番、ポート▲２▼の受信完了した印刷データに１０２番、ポート▲３▼の印刷データに１０３番の印刷順序をそれぞれ設定していく。そして、受信完了したポート▲２▼の印刷データの１０２番が確定される。以降は同様の処理を繰り返して、受信完了の印刷データの印刷順序を設定していく。
【００５６】
その後は、スプール部１０４が上記印刷順序に従って印刷データを１個ずつ読み出して言語解析ブロック１０３に供給していくことで、各印刷データが順番にの印刷処理に移行される。
［第２実施例］
第２実施例は、各論理ポートが所定の言語フォーマットに対応付けられ、入力された印刷データがその言語フォーマットに対応した論理ポートに割り当てられて受信されていく方式のものである。
【００５７】
この第２実施例においては、各論理ポートに受信される印刷データサイズには一定の傾向が生じるので、現在受信中の印刷データだけでなく過去に受信した印刷データのデータサイズ情報も使用して論理ポートの優先順位を決定していく。
【００５８】
図７には、この実施例で各ポートの優先順位を決定するために使用されるデータテーブルの一例を、図８には、メインコントロール部１０１により実行される優先順位更新処理としてのデータテーブルの更新処理のフローチャートを示す。
【００５９】
この実施例においても、論理ポートの優先順位の決定に格納手段としてのデータテーブル１０１ｂを使用する。このデータテーブル１０１ｂには過去に受信した最新の印刷データについての情報も格納しておくので、不揮発性メモリ内に設け、電源を切ってもデータが消えないようにしておく。
【００６０】
このデータテーブル１０１ｂには、図７に示すように、優先順位順に、ポート番号と、該論理ポートで現在に最も近い時点に受信した印刷データのデータサイズを示すサイズ情報とが、それぞれ対応付けられて格納される。
【００６１】
この実施例のデータテーブル１０１ｂの更新処理は、図８のフローチャートに示す手順で行われる。すなわち、ステップＳ１１において、新しく入力された印刷データのサイズ情報がインターフェース部１０１から通知されたかを判別し、通知されたらステップＳ１２移行の更新処理に移行するが、通知がなければこのステップＳ１０１の処理を繰り返し行う。
【００６２】
その結果、ステップＳ１２に移行したら、該ステップで該当するポート番号のサイズ情報を新たに通知されたものに書き換える。これによりデータテーブル１０１ａのサイズ情報が現在に最も近い時点の印刷データのものに更新されていく。
【００６３】
次にステップＳ１３において、新たに印刷データの受信があったポート番号の行と、それより順位の１つ低い行とを、データサイズが小さい順になるように並べ替える。
【００６４】
次いで、ステップＳ１３で行の並べ替えが行われたか否か判別して、並べ替えが行われていれば、１回の更新処理を終えてステップＳ１１の判別処理に戻るが、並べ替えが行われていなければ、ステップＳ１５に移行して、新たに印刷データの受信があったポート番号の行と、それより順位の１つ高い行とを、データサイズが小さい順になるように並べ替える。そして、１回の更新処理を終えてステップＳ１１の判別処理に戻る。
【００６５】
しかして、データテーブル１０１ｂに各論理ポートが優先度順に並べられる。上記の優先順位の設定方法によれば、全ての論理ポートがサイズ情報の小さい順に常に並べられるわけではなく、過去から現在にかけて受信した印刷データのデータサイズが小さければその論理ポートは優先順位が高く、データサイズが大きければその論理ポートは優先順位が低くなるように、過去から現在にかけたデータサイズの傾向が各論理ポートの優先順位に反映されるようになっている。
【００６６】
なお、ステップＳ１３やステップＳ１５において行われるソート処理の行数を増やすことで、過去のデータサイズの影響を少なく現在のデータサイズの影響を大きくすることができる。
【００６７】
その後、メインコントロール部１０１により行われる印刷順序の設定方法は、第１の実施例のものとほぼ同様である。第２の実施例では現在印刷データを受信していない論理ポートの優先順位もデータテーブル１０１ｂに表されているので、これらの論理ポートは除外し、印刷データを受信している論理ポートのみを対象として、優先順位の比較を行い、これら印刷データに印刷順序を設定していく。
【００６８】
なお、この実施例においては、印刷データを受信開始してからそのデータサイズを認識するまでの間においても、各論理ポートには過去のデータに基づく優先順位が設定されているので、これら過去のデータに基づく優先順位を用いて各印刷データの印刷順序を設定することも可能である。すなわち、印刷データの受信完了時に印刷順序を設定するのではなく、印刷データの受信開始時や受信半ばなど、該印刷データのデータサイズが認識できてないタイミングにおいて、該印刷データの印刷順序を設定するように構成することもできる。
【００６９】
以上のように、第１および第２実施例の印刷装置１によれば、並行して複数の印刷データが受信された場合にこれら印刷データを印刷処理にかける優先順位が、従来のように受信順ではなく、印刷データのデータサイズに基づいて適宜にデータサイズの小さい順に決定されるので、印刷処理の作業効率の向上を図ることが出来る。
【００７０】
すなわち、実施例の印刷処理のタイムチャートの一例を表した図９に示すように、大サイズと小サイズの印刷データが並行して入力された場合に、小サイズの印刷データを大サイズの印刷データよりも優先させて印刷処理（言語解析と実印刷処理）に移行させることができ、それにより、大サイズ印刷データの受信中に、小サイズの印刷データを印刷処理してしまうといった作業効率の向上を図ることが出来る。
【００７１】
また、第２実施例の印刷装置１によれば、各論理ポート毎に受信データサイズに一定の傾向があることを利用して、過去受信した印刷データのデータサイズを優先順位に反映し、各論理ポートの優先順位が緩やかに入れ替わっていくように構成されているので、過度な優先順位の変化により、優先順位の低い印刷データが不適切に長く待たされてしまうといった不都合が回避可能であるなど、作業効率の向上を図りつつ適切な優先順位で印刷データを印刷処理に移行させることが出来る。
【００７２】
以上本発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７３】
例えば、複数のポート手段として、並列処理により複数の印刷データを受信可能なインターフェース部１０２の複数の論理ポートを例示したが、ハード的なポートを複数設けても良いし、ハード的なポートと実施例の論理ポートとが複数混在しているような構成でも良い。
【００７４】
また、上記実施例では、印刷データが入力された際に該印刷データが複数のポートの何れかに割り当てられて受信されるシステム構成として説明したが、予め各ポートと各ホストコンピュータとが対応付けられ、送信された印刷データはそのホストコンピュータに対応するポートに入力されるような構成を有する印刷装置に対しても本発明を適用可能である。
【００７５】
また、実施例においては、印刷データがインターフェース部１０２からスプール部１０４に格納される際に、各論理ポートの優先順位に従って印刷順序を決定する構成としたが、印刷データを言語解析ブロック１０３に送って印刷処理に移行させる際に、論理ポートの優先順位に従って何れの印刷データを言語解析ブロック１０３に送るか決定するように構成することも可能である。
【００７６】
さらに、印刷データサイズを比較する際に、ある一定量以上の差がある場合にのみ優先順位を入れ替え、あまり大きな差がないときは受信順とすることも可能である。
【００７７】
【発明の効果】
以上説明したように、本発明に従うと、並行して複数の印刷データが受信された場合にこれら印刷データを印刷処理にかける優先順位が、従来のように受信順ではなく、印刷データのデータサイズに基づいて適宜にデータサイズの小さい順に決定されるので、大サイズと小サイズの印刷データが並行して入力された場合に、大きいサイズの印刷データの受信と印刷処理とが完了するのを待ってから、小さいサイズの印刷データが処理されるといった無駄が回避され、大サイズ印刷データの受信中に、小サイズの印刷データを印刷処理するといった作業効率の向上を図ることが出来る。
【００７８】
更に、過去の印刷データのサイズ情報を比較対象としたり、１回の優先順位の更新処理で、優先順位が連続する所定個のポート手段のみを入れ替えるようにすることで、優先順位の更新が急激でなく緩やかに変更されていくので、過度な優先順位の変化により、優先順位の低い印刷データが不適切に長く待たされてしまうといった不都合を回避し、作業効率の向上を図りつつ適切な優先順位で印刷データを印刷処理に移行させていくことが出来る。
【図面の簡単な説明】
【図１】本発明の実施例である印刷装置のハード構成を示すブロック図である。
【図２】実施例の印刷装置の機能構成の一例を示す機能ブロック図である。
【図３】印刷装置の各ポートとホストコンピュータとの対応関係の第１実施例を示す説明図である。
【図４】図３の実施例で各ポートの優先順位を決定するためのデータテーブルの一例を示す図である。
【図５】図３の実施例におけるデータテーブルの更新処理の手順を示すフローチャートである。
【図６】印刷装置の各ポートとホストコンピュータとの対応関係の第２実施例を示す説明図である。
【図７】図６の実施例で各ポートの優先順位を決定するためのデータテーブルの一例を示す図である。
【図８】図６の実施例におけるデータテーブルの更新処理の手順を示すフローチャートである。
【図９】実施例の印刷装置において大サイズと小サイズの印刷データが並行して入力された場合の処理の一例を示すタイムチャートである。
【図１０】従来の印刷装置において大サイズと小サイズの印刷データが並行して入力された場合の処理の一例を示すタイムチャートである。
【符号の説明】
１      印刷装置
２…    ホストコンピュータ
１０    ＣＰＵ
１１    スプール用記憶装置
１４    ホストインターフェース
１６    プリンタエンジン
１０１  メインコントロール部（印刷制御手段）
１０１ａ  データテーブル（格納手段）
１０１ｂ  データテーブル（格納手段）
１０２  インターフェース部（受信手段）
１０３  言語解析ブロック（解析手段）
１０４  スプール部
【図１】
0004459385.tif 000002
【図２】
0004459385.tif 000003
【図３】
0004459385.tif 000004
【図４】
0004459385.tif 000005
【図５】
0004459385.tif 000006
【図６】
0004459385.tif 000007
【図７】
0004459385.tif 000008
【図８】
0004459385.tif 000009
【図９】
0004459385.tif 000010
【図１０】
0004459385.tif 000011