(57)【要約】【課題】本発明は、無線ＵＳＢ接続のような通信システムであっても、重連印刷時に最適な負荷分散を行うことができ、印刷時間を短縮することができる画像形成装置を提供する。【解決手段】ホスト側の装置との接続が確立して重連印刷モードが設定されていた場合、「重連機器台数値」を計算してホスト側の装置に送信する。そして、ホスト側の装置から受信した印刷データの部数と計算した「重連機器台数値」に基づいて、プリンタ２０自身が印刷する印刷部数を計算して印刷処理を開始する。一方、受信した印刷データの部数と計算された印刷部数に基づいて、デバイス側の装置に転送する印刷データの転送部数を計算する。【選択図】図２
2011251449.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの他の装置との間で無線通信が可能に構成された画像形成装置において、
無線通信が可能な他の装置のうち主たる装置と通信を行う第１の通信手段と、
無線通信が可能な他の装置のうち従たる装置と通信を行う第２の通信手段と、
自装置及び前記第２の通信手段により通信可能な従たる装置の合計台数を示す第１の重連機器台数値を前記第１の通信手段により前記主たる装置に送信する台数値送信手段と、
前記主たる装置から前記第１の通信手段により受信した印刷データの部数と前記第１の重連機器台数値に基づいて、自装置が印刷する印刷部数を計算する印刷部数計算手段と、
前記印刷部数計算手段により計算された印刷部数の印刷データを印刷する印刷手段と、
前記受信した印刷データの部数と前記印刷部数計算手段により計算された印刷部数に基づいて、前記従たる装置に転送する印刷データの転送部数を計算する転送部数計算手段とを備えることを特徴とする画像形成装置。
【請求項２】
前記第２の通信手段により前記従たる装置と接続済みかどうかを判断する接続判断手段と、
前記接続判断手段により接続済みと判断された場合、接続された従たる装置から当該従たる装置及び当該従たる装置が通信可能な更なる従たる装置の合計台数を示す第２の重連機器台数値を受信する台数値受信手段と、
前記台数値受信手段が前記従たる装置から前記第２の重連機器台数値を受信した場合、前記印刷手段による印刷処理を停止する印刷停止手段と、
前記印刷停止手段により印刷処理が停止された場合に、前記台数値受信手段により受信した前記第２の重連機器台数値に基づいて前記第１の重連機器台数値を計算する台数値計算手段とをさらに備えることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記転送部数計算手段は、前記主たる装置から受信した印刷データの部数から前記印刷部数計算手段により計算された印刷部数を減算することにより前記従たる装置に転送する印刷データの転送部数を計算することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記第１の通信手段は、デバイス用の無線ＵＳＢ通信により通信を行い、
前記第２の通信手段は、ホスト用の無線ＵＳＢ通信により通信を行うことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記主たる装置との間で前記第１の通信手段により無線通信が確立した場合、重連印刷モードが設定されているか否かを判別するモード判別手段をさらに備え、
前記モード判別手段により重連印刷モードが設定されていると判別された場合、前記第１の重連機器台数値の計算を行うことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
無線通信が可能な他の装置のうち主たる装置と通信を行う第１の通信手段と、無線通信が可能な他の装置のうち従たる装置と通信を行う第２の通信手段とを備える画像形成装置の制御方法であって、
自装置及び前記第２の通信手段により通信可能な従たる装置の合計台数を示す第１の重連機器台数値を前記第１の通信手段により前記主たる装置に送信する台数値送信工程と、
前記主たる装置から前記第１の通信手段により受信した印刷データの部数と前記第１の重連機器台数値に基づいて、自装置が印刷する印刷部数を計算する印刷部数計算工程と、
前記印刷部数計算工程にて計算された印刷部数の印刷データを印刷する印刷工程と、
前記受信した印刷データの部数と前記印刷部数計算工程にて計算された印刷部数に基づいて、前記従たる装置に転送する印刷データの転送部数を計算する転送部数計算工程とを備えることを特徴とする制御方法。
【請求項７】
請求項８記載の制御方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｉｒｅｌｅｓｓ−ＵＳＢ機能を搭載した画像形成装置及びその制御方法、並びにプログラムに関し、特に、複数部数の印刷ジョブを複数のプリンタで分散して印刷する重連印刷の制御技術に関する。
【背景技術】
【０００２】
ＳＯＨＯや小さな事務所などでは、ＬＡＮ等のネットワーク環境の構築に多額のコストを要するので、ネットワーク環境を持たないものが多い。こうしたネットワーク環境下にないＰＣのユーザは、ＰＣとプリンタをＵＳＢを介して１対１で接続することにより書類の印刷等を実現している。
【０００３】
プリンタのメーカでは、ネットワーク環境下にないユーザを販売ターゲットとして、ＬＡＮに接続する機能を具備しないことによるコストメリットを出した、ＵＳＢ接続のみが可能なプリンタを売り出すこともある。
【０００４】
一方、有線によるＵＳＢ接続を無線化する動きが活発化しており、無線ＵＳＢ（Ｗｉｒｅｌｅｓｓ−ＵＳＢ）のＰＣ搭載率が高くなっている。今後、無線ＵＳＢがますます普及し、ＰＣ側の有線ＵＳＢが無線ＵＳＢに置き換えられることが容易に予想される。その場合、プリンタ機器のような周辺機器についても、無線ＵＳＢの搭載が必要になってくる。
【０００５】
また更に、ネットワーク環境下でＰＣからプリンタに部数の多い印刷ジョブが送信された場合に、印刷時間を短縮すべく、印刷ジョブをネットワーク上の複数のプリンタに転送して負荷を分散する重連印刷を行う技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１７０３５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、例えば、ネットワーク環境下にないＳＯＨＯであっても、無線ＵＳＢによって機器間を接続し、部数の多い印刷ジョブを重連印刷することによって、印刷時間の短縮化を図ることが望まれる。
【０００８】
ここで、無線ＵＳＢ通信機能を備えた複数のプリンタ間での重連印刷について図５を参照して簡単に説明する。
【０００９】
図５は、ＰＣ４０からプリンタ１００に対する１２０部の印刷データを３台のプリンタ１００，２００，３００を使って重連印刷する場合の動作例を示す図である。
【００１０】
図５において、ＰＣ４０はホスト用無線ＵＳＢアンテナ４１を備える。プリンタ１００は、デバイス用無線ＵＳＢアンテナ１１０とホスト用無線ＵＳＢアンテナ１２０を備える。同様に、プリンタ２００は、デバイス用無線ＵＳＢアンテナ２１０とホスト用無線ＵＳＢアンテナ２２０を備える。同様に、プリンタ３００は、デバイス用無線ＵＳＢアンテナ３１０とホスト用無線ＵＳＢアンテナ３２０を備える。ホスト用無線ＵＳＢアンテナ４１，１２０，２２０，３２０とデバイス用無線ＵＳＢアンテナ１１０，２１０，３１０との間の通信は次の通りである。
【００１１】
１２０部の印刷データを３台のプリンタで負荷分散する場合、１台当たりの印刷部数は４０部である。ＰＣ４０からの１２０部の印刷データを受信したプリンタ１００は、４０部を自身で印刷して残り８０部の印刷データをプリンタ２００に対して送信する。プリンタ１００から８０部の印刷データを受信したプリンタ２００は、４０部を自身で印刷して残り４０部の印刷データをプリンタ３００に対して送信する。プリンタ２００から４０部の印刷データを受信したプリンタ３００は、４０部を自身で印刷する。このようにして、１２０部の印刷データを３台のプリンタで４０部ずつ重連印刷することにより、印刷時間を短縮することが出来る。
【００１２】
しかしながら、３台のプリンタにより重連印刷を行う場合、図６に示すように、プリンタ２００が、ホスト用無線ＵＳＢアンテナ５１を備えるＰＣ５０に占有されているときは、印刷終了時刻にずれが生じて効率的な負荷分散印刷にならないという課題が生じる。すなわち、プリンタ２００がＰＣ５０に占有されている場合、プリンタ１００がプリンタ２００に対してビーコンを出して印刷要求しても、プリンタ２００はＰＣ５０からの印刷データを受信しているため、プリンタ１００に対して接続要求を返すことができない。もちろん、プリンタ１００は印刷データをプリンタ２００に送信することはできない。
【００１３】
ＰＣ５０からプリンタ２００への印刷データ転送が終了して占有が解除されると、プリンタ２００はプリンタ１００に対してようやく接続要求を出すことができ、プリンタ１００がプリンタ２００に対して８０部の印刷データを送信する。そして、プリンタ２００とプリンタ３００は、負荷分散によって自身に割り当てられた印刷部数４０部をそれぞれ印刷し始める。このとき、プリンタ１００は割り当てられた自身の印刷部数４０部の内、ある程度の部数若しくは全部数を印刷し終えている。その結果、プリンタ１００の印刷終了時刻とプリンタ２００，３００の印刷終了時刻にずれが生じてしまい、効率的な負荷分散印刷にならない。
【００１４】
複数のプリンタによる重連印刷をＬＡＮ等のネットワーク環境下で行う場合には、ホストからデバイスに対してステータス要求コマンドなどを発行することで上記課題を解決することができる。すなわち、他のホストに占有されているデバイスに対してステータス要求コマンドを発行することにより、デバイスの実行ジョブ数などを把握し、最適な負荷分散を狙った部数振分けを行うことが可能である。一方、無線ＵＳＢ接続では、上述した通り、プロトコルの規定上、他のホストと接続中のプリンタのステータスを知ることができない。
【００１５】
本発明は、上記問題に鑑みて成されたものであり、無線ＵＳＢ接続のような通信システムであっても、重連印刷時に最適な負荷分散を行うことができ、印刷時間を短縮することができる画像形成装置及びその制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明の画像形成装置は、少なくとも１つの他の装置との間で無線通信が可能に構成された画像形成装置において、無線通信が可能な他の装置のうち主たる装置と通信を行う第１の通信手段と、無線通信が可能な他の装置のうち従たる装置と通信を行う第２の通信手段と、自装置及び前記第２の通信手段により通信可能な従たる装置の合計台数を示す第１の重連機器台数値を前記第１の通信手段により前記主たる装置に送信する台数値送信手段と、前記主たる装置から前記第１の通信手段により受信した印刷データの部数と前記第１の重連機器台数値に基づいて、自装置が印刷する印刷部数を計算する印刷部数計算手段と、前記印刷部数計算手段により計算された印刷部数の印刷データを印刷する印刷手段と、前記受信した印刷データの部数と前記印刷部数計算手段により計算された印刷部数に基づいて、前記従たる装置に転送する印刷データの転送部数を計算する転送部数計算手段とを備える。
【発明の効果】
【００１７】
本発明によれば、無線ＵＳＢ接続のように、ホストとデバイスが１対１で接続している間は他のホストやデバイスとの通信ができない通信システムであっても、重連印刷時に最適な負荷分散を行うことができ、印刷時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る画像形成装置の概略構成を示すブロック図である。
【図２】ＰＣから受信した１２０部の印刷データを３台のプリンタを使って重連印刷する場合の制御信号と印刷データの流れを概略的に表した図である。
【図３ａ】図２の無線ＵＳＢ接続時のプリンタ２０における重連印刷処理を表すフローチャートである。
【図３ｂ】図２の無線ＵＳＢ接続時のプリンタ２０における重連印刷処理を表すフローチャートである。
【図４】重連印刷処理時のシステム全体のシーケンスを説明する図である。
【図５】重連印刷時の制御信号と印刷データの流れを概略的に表した図である。
【図６】重連印刷時に一部の機器が占有されていた場合の制御信号を印刷データの流れを概略的に表した図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００２０】
図１は、本発明の実施形態に係る画像形成装置の概略構成を示すブロック図である。
【００２１】
図１において、プリンタ２０は、以下に説明する構成を備える画像形成装置である。プリンタコントローラ５００は、デバイス用無線ＵＳＢアンテナ２１及びホスト用無線ＵＳＢアンテナ２２を介して不図示のＰＣや他のプリンタとの間で行われる無線通信の制御を行うコントローラである。また、プリンタコントローラ５００は、画像出力デバイスであるプリンタ部２０１と、ユーザからの操作を受け付ける操作ユニット２０２に接続され、これら各部の制御も行う。
【００２２】
プリンタコントローラ５００において、ＣＰＵ２０３は、装置全体を制御するコントローラである。ＲＯＭ２０４は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＲＡＭ２０５は、ＣＰＵ２０３が動作するためのシステムワークメモリであり、不図示のＰＣや他のプリンタのホスト用無線ＵＳＢアンテナから送られてきた印刷データなどの画像データを一時記憶するための画像メモリでもある。ＣＰＵ２０３は、後述する重連機器台数値計算、残部数計算、印刷部数計算、転送部数計算を行う。
【００２３】
プリンタ部Ｉ／Ｆ２０６は、プリンタ部２０１とのインターフェース（Ｉ／Ｆ）であり、ＣＰＵ２０３からの印刷指示等をプリンタ部２０１に送る。操作部Ｉ／Ｆ２０７は、操作ユニット２０２とのＩ／Ｆであり、操作ユニット２０２に表示される画像データを操作ユニット２０２に対して出力する。また、操作ユニット２０２上でユーザが操作、入力した情報をＣＰＵ２０３に伝える。
【００２４】
デバイス用無線ＵＳＢ制御部２０８は、外部に無線ＵＳＢ通信を行うホスト（主たる装置）がある場合に、デバイス用無線ＵＳＢアンテナ２１を介して当該ホストとの間で行われる無線ＵＳＢ通信の制御を行う（第１の通信手段）。具体的には、デバイス用無線ＵＳＢ制御部２０８は、接続要求及び印刷データをホストから受信する。また、後述する重連機器台数をホストに対して送信する。
【００２５】
ホスト用無線ＵＳＢ制御部２０９は、外部に無線ＵＳＢ通信を行うデバイス（従たる装置）がある場合に、ホスト用無線ＵＳＢアンテナ２２を介して当該デバイスとの間で行われる無線ＵＳＢ通信の制御を行う（第２の通信手段）。具体的には、ホスト用無線ＵＳＢ制御部２０９は、印刷要求を行うためにビーコンをデバイスに対して送信する。また、印刷データもデバイスに対して送信する。
【００２６】
次に、図１のプリンタ２０を複数台用いて重連印刷を行う場合の動作処理について図２〜図４を参照して詳細に説明する。
【００２７】
図２は、ＰＣ４０からプリンタ１０に対する１２０部の印刷データを３台のプリンタ１０〜３０を使って重連印刷する場合の制御信号と印刷データの流れを概略的に表した図である。
【００２８】
図２において、プリンタ１０，３０は、上述したプリンタ２０と同一の構成を有する画像形成装置である。プリンタ１０は、デバイス用無線ＵＳＢアンテナ１１とホスト用無線ＵＳＢアンテナ１２を備える。同様に、プリンタ３０は、デバイス用無線ＵＳＢアンテナ３１とホスト用無線ＵＳＢアンテナ３２を備える。ＰＣ４０は、ホスト用無線ＵＳＢアンテナ４１を備える情報処理装置である。
【００２９】
まず、ＰＣ４０側のホスト用無線ＵＳＢアンテナ４１がビーコンと呼ばれる印刷要求をプリンタ１０側のデバイス用無線ＵＳＢアンテナ１１に送信する。そのビーコンを受けたデバイス用無線ＵＳＢアンテナ１１は、接続可能であるならば、接続要求をホスト用無線ＵＳＢアンテナ４１に送信する。接続不可能であるならば、ホスト用無線ＵＳＢアンテナ４１に対して何もしない。接続要求を受けたホスト用無線ＵＳＢアンテナ４１は、接続を確立し、スプールしていた印刷データをデバイス用無線ＵＳＢアンテナ１１に対して送信する。印刷データの送信が終了すると、ホスト若しくはデバイス側から切断要求を出して通信を切断する。
【００３０】
図３ａ及び図３ｂは、図２の無線ＵＳＢ接続時のプリンタ２０における重連印刷処理を表すフローチャートである。
【００３１】
図３ａにおいて、ステップＳ６００では、デバイス用無線ＵＳＢ制御部２０８は、外部のプリンタ１０のホスト用無線ＵＳＢアンテナ１２から送信されるビーコンを受信したかどうかを判別する。ビーコンを受信した場合はステップＳ６０１に進む。一方、ビーコンを受信してない場合は、ビーコンを受信するまでステップＳ６００を繰り返す。
【００３２】
ステップＳ６０１において、ＣＰＵ２０３は、プリンタ２０自身がプリンタ１０以外の他のホストと接続中かどうかを判別する。他のホストと接続中か否かの判断は、例えば、他のホストと接続中のときにフラグをセットするように構成し、そのフラグを確認して接続中かどうかを判別する方法がある。なお、判別方法はこれに限定されるものではない。
【００３３】
ステップＳ６０１の判別の結果、他のホストと接続中の場合はステップＳ６２１に進み、他のホストとの処理を継続する。一方、他のホストと未接続の場合はステップＳ６０２に進む。
【００３４】
ステップＳ６０２において、デバイス用無線ＵＳＢ制御部２０８は、プリンタ１０のホスト用無線ＵＳＢアンテナ１２に対して接続要求を送信する。その後、ステップＳ６０３において、プリンタ１０のホスト用無線ＵＳＢアンテナ１２とデバイス用無線ＵＳＢ制御部２０８との間で接続が確立する。
【００３５】
ステップＳ６０４において、ＣＰＵ２０３は、設定されたモードが重連印刷モードか通常のノーマル印刷モードかの判別を行う。このとき、ＣＰＵ２０３はモード判別手段として機能する。この判別方法としては、例えば、ステップＳ６０３でホストであるプリンタ１０との接続が確立したときに、当該ホストから受信する印刷モードの情報に基づいて判別を行う方法がある。この場合、ＰＣ４０側で決定された印刷モードがプリンタ１０を経由してプリンタ２０に転送される。ステップＳ６０４の判別の結果、重連印刷モードである場合はステップＳ６０５に進む。一方、ノーマル印刷モードの場合はステップＳ６２２に進み、ノーマル印刷モードによる通常の印刷処理を行った後、本処理を終了する。
【００３６】
ステップＳ６０５において、ＣＰＵ２０３は、自装置と、自装置のデバイス側に存在し、自装置と通信可能なプリンタ機器との合計台数（重連機器台数値）の計算を行う。即ち、「重連機器台数値」とは、自装置の先（デバイス側）にある重連機器と自装置との合計台数を示す値である。初期状態では、プリンタ２０とプリンタ３０とは接続されていないため、図２に示すようにプリンタ２０からプリンタ１０に送信される重連機器台数値（第１の重連機器台数値）は１（自装置のみ）である。プリンタ２０とプリンタ３０との接続が確立されると、プリンタ３０からプリンタ２０にプリンタ３０の重連機器台数値（第２の重連機器台数値）が送信される。ＣＰＵ２０３は、プリンタ３０から受信したプリンタ３０の重連機器台数値（第２の重連機器台数値）に１を加算した値を、プリンタ２０の重連機器台数値（第１の重連機器台数値）としてＲＡＭ２０５に記憶する。
【００３７】
ステップＳ６０６において、デバイス用無線ＵＳＢ制御部２０８は、ステップＳ６０５において計算されたプリンタ２０の重連機器台数値を、ホスト側のプリンタ１０に対して送信する。このとき、デバイス用無線ＵＳＢ制御部２０８は台数値送信手段として機能する。なお、既にプリンタ２０で印刷がなされていた場合、重連機器台数値と共に、既にプリンタ２０で印刷済みの部数情報をプリンタ１０に対して転送する。
【００３８】
次に、ステップＳ６０７において、デバイス用無線ＵＳＢ制御部２０８は、ホスト側のプリンタ１０のホスト用無線ＵＳＢアンテナ１２から印刷データ及び印刷部数の情報を受信する。ステップＳ６０８において、ＣＰＵ２０３は、デバイス用無線ＵＳＢ制御部２０８でプリンタ１０より受信した「受信部数」の確認を行う。図示例では、プリンタ１０からプリンタ２０に５０部の印刷部数の情報が送信されるため、「受信部数」＝「５０部」となる。
【００３９】
図３ｂのステップＳ６０９において、ＣＰＵ２０３は、自装置（プリンタ２０）が印刷する「印刷部数」の計算を行う。印刷部数は、上記ステップＳ６０８で確認された受信部数を、上記ステップＳ６０５で計算されたプリンタ２０の重連機器台数値で割った値である。
【００４０】
印刷部数＝受信部数÷重連機器台数値
例えば、初期状態では、プリンタ２０とプリンタ３０は未接続なので重連機器台数値は１であり、印刷部数＝受信部数となる。一方、プリンタ２０とプリンタ３０が接続された場合、重連機器台数値は２となり、印刷部数＝受信部数÷２となって、受信した部数をプリンタ２０とプリンタ３０で半分ずつ印刷することになる。
【００４１】
ステップＳ６１０において、ＣＰＵ２０３は、プリンタ２０がデバイス側のプリンタ３０に転送する「転送部数」を計算する。転送部数は、上記ステップＳ６０８で確認した受信部数から、上記ステップＳ６０９で計算した印刷部数を減算した値である。
【００４２】
転送部数＝受信部数−印刷部数
例えば、初期状態では、プリンタ２０とプリンタ３０は未接続なので、プリンタ２０の印刷部数は受信部数と同じであり、プリンタ３０への転送部数は０である。一方、プリンタ２０とプリンタ３０が接続された場合は、プリンタ２０の印刷部数は受信部数÷２となり、プリンタ３０への転送部数は受信部数の半分（ここでは２５部）となる。
【００４３】
ステップＳ６１１において、デバイス用無線ＵＳＢ制御部２０８は、プリンタ３０のデバイス用無線ＵＳＢアンテナ３１に対して印刷データを転送し、ステップＳ６１０で計算された転送部数分の印刷を指示する。初期状態では、プリンタ２０とプリンタ３０が未接続状態であることから転送部数は０となり、ステップＳ６１１の処理は行われない。
【００４４】
ステップＳ６１２において、ＣＰＵ２０３は、ステップＳ６０９で計算された印刷部数と印刷データを画像出力デバイスであるプリンタ部２０１に送り、プリンタ部２０１による印刷処理を開始させる。
【００４５】
ステップＳ６１３において、ＣＰＵ２０３は、自装置（プリンタ２０）からデバイス側に存在する重連機器（ここではプリンタ３０）と接続済みかどうかを判別する。このとき、ＣＰＵ２０３は接続判断手段として機能する。接続済みの場合はステップＳ６１７へ進む。一方、接続されていない場合はステップＳ６１４へ進む。
【００４６】
ステップＳ６１４において、ホスト用無線ＵＳＢ制御部２０９は、プリンタ２０自身の先にあるプリンタ３０に対してビーコンを送信する。なお、ビーコンを出すか出さないかの判断は、例えば以下の制御によって行われる。例えば、重連印刷を行うプリンタ台数をＰＣ４０が予め決めておき、その台数を越えたか越えないかの判断結果によりビーコン送信の有無を決めてもよい。また、別の方法として、プリンタ２０自身が受信した受信部数によって決めることもできる。例えば、受信部数がある閾値を越えた場合は重連台数を増やした方がよいと判断し、ビーコン送信を行うという制御にしてもよい。
【００４７】
ステップＳ６１５において、ホスト用無線ＵＳＢ制御部２０９は、プリンタ３０から接続要求があるかどうかを判別する。接続要求を受信した場合はステップＳ６１６に進む一方、接続要求を受信してない場合はステップＳ６２０に進む。
【００４８】
ステップＳ６１６において、ホスト用無線ＵＳＢ制御部２０９とプリンタ３０のデバイス用無線ＵＳＢアンテナ３１との間で接続が確立する。次に、ステップＳ６１７において、ＣＰＵ２０３は、プリンタ部２０１での印刷データの全印刷部数が印刷処理されたかどうかを判別する。全部数の印刷が終了していない場合はステップＳ６１８に進む一方、全部数の印刷が終了した場合は、本処理を終了する。
【００４９】
ステップＳ６１８において、ホスト用無線ＵＳＢ制御部２０９は、プリンタ３０からプリンタ３０の重連機器台数値を受信したかどうかを判別する。このとき、ホスト用無線ＵＳＢ制御部２０９は、台数値受信手段として機能する。重連機器台数値を受信した場合はステップＳ６１９に進む一方、重連機器台数値を受信してない場合はステップＳ６１７に戻る。
【００５０】
ステップＳ６１９において、ＣＰＵ２０３は、プリンタ部２０１に印刷停止命令を出して印刷を停止させ、ステップＳ６０５に戻る。
【００５１】
ステップＳ６２０では、ＣＰＵ２０３は、ステップＳ６１７と同様に、プリンタ部２０１での印刷データの全印刷部数が印刷処理されたかどうかを判別する。全部数の印刷が終了していない場合はステップＳ６１５に進む一方、全部数の印刷が終了した場合は、本処理を終了する。
【００５２】
次に、図２に示す状態で重連印刷処理が行われた際に、プリンタ３０が他のＰＣに占有されていた場合の処理について図４を参照して説明する。
【００５３】
図４は、重連印刷処理時のシステム全体のシーケンスを説明する図である。
【００５４】
本実施の形態では、ＰＣ４０から送信された１２０部の印刷データのうち４５部がプリンタ１０，２０で印刷された時点でプリンタ３０の占有が解放され、３台での重連印刷が可能となり、印刷部数を計算し直すものとする。
【００５５】
プロセスＰ７００において、プリンタ３０は、ＰＣ４０以外の他のＰＣ（不図示）との占有から解放され、重連印刷が可能な状態になる。このとき、全印刷部数１２０部のうち４５部がプリンタ１０，２０により印刷されている。
【００５６】
プロセスＰ７０１において、プリンタ３０は、プリンタ２０からのビーコンを受信する。次に、プロセスＰ７０２において、プリンタ３０は、プリンタ２０に対して接続要求を送信することにより、プリンタ２０との接続を確立させる。
【００５７】
プロセスＰ７０３において、プリンタ３０は、自身の重連機器台数値を計算する。本実施形態では、図２に示すように、プリンタ３０のデバイス側に重連機器が存在しないので、重連機器台数値＝１となる。つづいて、プロセスＰ７０４において、プリンタ３０は、計算した重連機器台数値（＝１）をプリンタ２０に対して送信する。
【００５８】
プロセスＰ７０５において、プリンタ２０は、プリンタ３０から重連機器台数値（＝１）を受信する。プロセスＰ７０６において、プリンタ２０は、実行していた印刷動作を停止する。
【００５９】
プロセスＰ７０７において、プリンタ２０は、自身の重連機器台数値を計算する。ここでは、プリンタ３０からの重連機器台数値＝１に１を加算して、プリンタ２０の重連機器台数値＝２とする。プロセスＰ７０８において、プリンタ２０は、計算した重連機器台数値（＝２）をプリンタ１０に対して送信する。
【００６０】
プロセスＰ７０９において、プリンタ１０は、プリンタ２０から重連機器台数値（＝２）を受信する。プロセスＰ７１０において、プリンタ１０は、実行していた印刷動作を停止する。
【００６１】
プロセスＰ７１１において、プリンタ１０は、自身の重連機器台数値を計算する。ここでは、プリンタ２０からの重連機器台数値＝２に１を加算して、プリンタ１０の重連機器台数値＝３とする。プロセスＰ７１２において、プリンタ１０は、受信部数と、印刷部数と、転送部数をそれぞれ計算する。これらの計算結果は下式となる。なお、プリンタ１０は、デバイス側の一番目のデバイスなので、受信部数は残部数の意味となる。
【００６２】
受信部数（残部数）＝１２０−４５＝７５
印刷部数＝受信部数÷重連機器台数値＝７５÷３＝２５
転送部数＝受信部数−印刷部数＝７５−２５＝５０
なお、プロセスＰ７０９でプリンタ２０から重連機器台数値を受信したときに、プリンタ２０が既に印刷済みの部数情報も受け取っている。これにプリンタ１０自身が既に印刷済みの部数を加算する（＝４５部）。これを元に残部数を計算する。
【００６３】
プロセスＰ７１３において、プリンタ１０は、プリンタ２０に５０部の印刷データを転送する。つづいて、プロセスＰ７１４において、プリンタ１０は、２５部の印刷データの印刷処理を開始する。
【００６４】
プロセスＰ７１５において、プリンタ２０は、プリンタ１０から転送された５０部の印刷データを受信する。つづいて、プロセスＰ７１６において、プリンタ２０は、受信部数と、印刷部数と、転送部数をそれぞれ計算する。これらの計算結果は下式となる。
【００６５】
受信部数＝５０
印刷部数＝受信部数÷重連機器台数値＝５０÷２＝２５
転送部数＝受信部数−印刷部数＝５０−２５＝２５
プロセスＰ７１７において、プリンタ２０は、プリンタ３０に２５部の印刷データを転送する。プロセスＰ７１８において、プリンタ２０は、２５部の印刷データの印刷処理を開始する。
【００６６】
プロセスＰ７１９において、プリンタ３０は、プリンタ２０から転送された２５部の印刷データを受信する。プロセスＰ７２０において、プリンタ３０は、受信部数と、印刷部数と、転送部数をそれぞれ計算する。それぞれ以下となる。
【００６７】
受信部数＝２５
印刷部数＝受信部数÷重連機器台数値＝２５÷１＝２５
転送部数＝受信部数−印刷部数＝２５−２５＝０
プロセスＰ７２１において、プリンタ３０は、２５部の印刷データの印刷処理を開始する。
【００６８】
プロセスＰ７２２において、プリンタ１０，２０，３０で行われた印刷処理がほぼ同時に終了する。プリンタ１０が印刷処理を開始してからプリンタ３０が印刷処理を開始するまでにデータ転送や上述した各種計算などが行われるので、正確には同時に印刷が終了することはない。
【００６９】
本実施形態によれば、プリンタ２０は、ホスト側の装置との接続が確立して重連印刷モードが設定されていた場合、自装置よりもデバイス側に存在する装置と自装置との合計台数を示す「重連機器台数値」を計算してホスト側の装置に送信する。そして、ホスト側の装置から受信した印刷データの部数と計算した「重連機器台数値」に基づいて、自装置が印刷する印刷部数を計算して印刷処理を開始する。一方、受信した印刷データの部数と計算された印刷部数に基づいて、デバイス側の装置に転送する印刷データの転送部数を計算する。プリンタ２０のデバイス側に存在する「重連機器」が接続された場合は、「重連機器台数値」を受信して新たな「重連機器台数値」を再計算してホスト側の装置に送信する。そして、ホスト側の装置から受信した印刷データの部数と再計算した「重連機器台数値」に基づいて、自装置が印刷する印刷部数を計算して印刷処理を開始する。さらに、受信した印刷データの部数と計算された印刷部数に基づいて転送部数を再計算して、デバイス側の装置に転送する。以上により、無線ＵＳＢ接続のような通信システムであっても、重連印刷時に最適な負荷分散を行うことができ、印刷時間を短縮することができる。
【００７０】
上記実施形態では、本発明をプリンタに適用した実施形態について説明したが、複合機であっても他の印刷装置であってもよい。
【００７１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７２】
１０，２０，３０  プリンタ
１１，２１，３１  デバイス用無線ＵＳＢアンテナ
１２，２２，３２  ホスト用無線ＵＳＢアンテナ
２０３  ＣＰＵ
２０８  デバイス用無線ＵＳＢ制御部
２０９  ホスト用無線ＵＳＢ制御部
【図１】
2011251449.tif 000003
【図２】
2011251449.tif 000004
【図３ａ】
2011251449.tif 000005
【図３ｂ】
2011251449.tif 000006
【図４】
2011251449.tif 000007
【図５】
2011251449.tif 000008
【図６】
2011251449.tif 000009