(57)【特許請求の範囲】
【請求項１】
複数の画像入出力装置が互いに通信可能な情報処理システムであって、
第１の画像入出力装置内のジョブを第２の画像入出力装置へ転送可能なジョブ転送手段と、
前記ジョブを前記第２の画像入出力装置から操作可能にするべく前記ジョブを特定するためのジョブハンドルを生成するジョブハンドル生成手段とを具備し、
前記ジョブ転送手段による前記ジョブの転送に先立って、前記ジョブハンドル生成手段により生成された前記ジョブハンドルを前記第１の画像入出力装置から前記第２の画像入出力装置に送信することを特徴とする情報処理システム。
【請求項２】
前記第２の画像入出力装置へ送信された前記ジョブハンドルにより前記ジョブを特定することで、前記ジョブの転送前に前記第２の画像入出力装置から前記ジョブの実行中止が可能になることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第２の画像入出力装置へ送信された前記ジョブハンドルにより前記ジョブを特定することで、前記ジョブの転送前に前記第２の画像入出力装置から前記ジョブの転送中止が可能になることを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記第２の画像入出力装置へ送信された前記ジョブハンドルにより前記ジョブを特定することで、前記ジョブの転送前に前記第２の画像入出力装置から前記ジョブの属性の変更が可能になることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
ユーザＩＤが付加されたジョブを前記第１の画像入出力装置に供給するデータ処理装置を更に有し、
前記第１の画像入出力装置は、
ユーザＩＤをユーザが入力可能な入力手段と、
前記入力手段より入力されるユーザＩＤを認証する認証手段とを有し、
前記ジョブ転送手段は、前記認証手段により認証されたユーザＩＤを有するジョブを前記第１の画像入出力装置から前記第２の画像入出力装置へ転送可能であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
前記第１の画像入出力装置は、前記ジョブハンドル生成手段により生成された前記ジョブハンドルを保存する保持手段を更に備え、
前記保持手段に保存された前記ジョブハンドルに基づいて、前記ジョブの転送後に前記第２の画像入出力装置内のジョブを特定可能であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理システム。
【請求項７】
前記ジョブの属性は、前記ジョブの転送先の情報又は前記ジョブのパスワードであることを特徴とする請求項４に記載の情報処理システム。
【請求項８】
他の画像入出力装置と通信可能な画像入出力装置であって、
ジョブを前記他の画像入出力装置へ転送可能なジョブ転送手段と、
前記ジョブを前記他の画像入出力装置から操作可能にするべく前記ジョブを特定するためのジョブハンドルを生成するジョブハンドル生成手段と、
前記ジョブ転送手段による前記ジョブの転送に先立って、前記ジョブハンドル生成手段により生成された前記ジョブハンドルを、前記他の画像入出力装置に送信する送信手段と、
を有することを特徴とする画像入出力装置。
【請求項９】
ユーザＩＤをユーザが入力可能な入力手段と、
前記入力手段より入力されるユーザＩＤを認証する認証手段とを更に備え、
前記ジョブは、前記認証手段により認証されたユーザＩＤを有するジョブであることを特徴とする請求項８に記載の画像入出力装置。
【請求項１０】
前記ジョブハンドルを保存する保持手段を更に備え、
前記保持手段に保存された前記ジョブハンドルに基づいて、前記ジョブの転送後に前記他の画像入出力装置内のジョブを特定可能であることを特徴とする請求項８又は９に記載の画像入出力装置。
【請求項１１】
他の画像入出力装置と通信可能な画像入出力装置であって、
前記他の画像入出力装置内のジョブの転送に先立って、前記ジョブを操作可能にするべく前記ジョブを特定するためのジョブハンドルを受信する受信手段と、
前記受信手段により受信した前記ジョブハンドルに基づいて、前記他の画像入出力装置内の前記ジョブを特定して前記ジョブの操作を行うように制御する制御手段と、
を有することを特徴とする画像入出力装置。
【請求項１２】
前記ジョブの操作は、前記ジョブの実行中止又は前記ジョブの転送中止であることを特徴とする請求項１１に記載の画像入出力装置。
【請求項１３】
前記ジョブの操作は、前記ジョブの属性の変更であることを特徴とする請求項１１又は１２に記載の画像入出力装置。
【請求項１４】
前記ジョブの属性は、前記ジョブの転送先を示す情報又は前記ジョブのパスワードであることを特徴とする請求項１３に記載の画像入出力装置。
【請求項１５】
複数の画像入出力装置が互いに通信可能な情報処理システムにおけるデータ処理方法であって、
第１の画像入出力装置内のジョブを第２の画像入出力装置へ転送する指示を受け付ける工程と、
前記ジョブを第２の画像入出力装置から操作可能にするべく前記ジョブを特定するためのジョブハンドルを生成する生成工程と、
前記ジョブの転送に先立って、前記生成工程により生成された前記ジョブハンドルを前記第１の画像入出力装置から前記第２の画像入出力装置に送信する工程と、
を有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを可視像として出力可能なプリンタ機器や複合機等の画像入出力装置、当該画像入出力装置を有する情報処理システム及び当該情報処理システムにおけるデータ処理方法に関するものである。
【背景技術】
【０００２】
ネットワーク環境の普及に伴い、ネットワークに接続可能なプリンタ装置やＭＦＰ（Multi-Function Peripheral）が登場している。特にオフィス環境において、複数のユーザで複数のＭＦＰを共有して使用する環境が一般的になってきた。このような環境では、ＭＦＰはユーザから離れた場所に設置されることが多い。そのためＭＦＰの機械的なトラブルや、多量のジョブが入力される等により、ユーザが発行したジョブが実行されなかったり、或はジョブの実行が遅延することが考えられる。そのような場合、ユーザがそのＭＦＰが設置されている場所に行って初めて、そのユーザが発行したジョブの印刷物が出力されていないことを確認してジョブが未実行であると気づく場合が多い。このためユーザがストレスを感じることが多かった。
【０００３】
このような問題を解決するための技術として特許文献１には、ジョブの処理状況や機器のステータス（正常／異常）を、ネットワークを介してリモートで取得する技術が記載されている。
【０００４】
また特許文献２によれば、共有する機器が複数ある場合、それら機器間でジョブを転送することで快適な印刷を行う技術が提案されている。
【特許文献１】特開平１１−０５３１３０号公報
【特許文献２】特開平１１−１９１０４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ユーザが離れた場所にある機器でのジョブの状況を確認する手順は煩わしく、また、ジョブの状況は常に変化するため、ユーザがモニタから離れている場合には、状況の把握が難しいという欠点がある。
【０００６】
また複数の機器を共有している場合には、自動或は手動で他の機器にジョブを転送するのが望ましい。このような場合、ユーザがジョブの中止や、ジョブの転送先を変更するといったジョブに対する操作を行う場合、ジョブの実体が何処に存在するか分からないと処理が出来ない。例えば、図５でクライアント１のＰＣ（データ処理装置）は、複合機Ａ〜Ｃの３台の機器を共有可能なＬＡＮ上に存在している。図５において、クライアント１から複合機Ａに対してＰＤＬデータによる印刷ジョブを発行する。次に図６でクライアント１のジョブ要求先である複合機Ａがトナー無しや部品の故障等で停止していることにユーザが気づき、そのジョブを複合機Ａから複合機Ｂに転送するように要求する。このような場合、複合機Ａではプリント待機中のジョブが複数溜まっていることが予想され、他のジョブも、別の複合機に転送されるように要求されている可能性がある。このため、クライアント１のＰＣのユーザが発行したジョブが複合機Ａから複合機Ｂに転送されるタイミングがいつになるか分からない。このため、そのユーザが複合機Ｂで印刷されていると予想して印刷物を複合機Ｂに取りに行ったときに、そのジョブがまだ複合機Ａに存在していて複合機Ｂに転送されていない事態が生じ得る。このような場合に、そのジョブを中止する、或は複合機Ａから複合機Ｂではなく複合機Ｃにジョブを転送するような操作を行うとする場合、ユーザは複合機Ａの場所に戻る必要がある。この場合、複合機Ａと複合機Ｂの距離が離れていると、ユーザが複合機Ａの場所に移動したときには、複合機Ａから複合機Ｂへのジョブの転送が完了することも考えられ、転送を設定したジョブのハンドリングは非常に難しくなる。
【０００７】
本発明の目的は上記従来技術の問題点を解決することにある。
【０００８】
本願発明の特徴は、ジョブの転送元と転送先の画像入出力装置のいずれからでも、容易にジョブのハンドリングを行うことができる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る情報処理システムは以下のような構成を備える。即ち、複数の画像入出力装置が互いに通信可能な情報処理システムであって、第１の画像入出力装置内のジョブを第２の画像入出力装置へ転送可能なジョブ転送手段と、前記ジョブを前記第２の画像入出力装置から操作可能にするべく前記ジョブを特定するためのジョブハンドルを生成するジョブハンドル生成手段とを具備し、前記ジョブ転送手段による前記ジョブの転送に先立って、前記ジョブハンドル生成手段により生成された前記ジョブハンドルを前記第１の画像入出力装置から前記第２の画像入出力装置に送信することを特徴とする。
【００１０】
上記目的を達成するために本発明の一態様に係る画像入出力装置は以下のような構成を備える。即ち、他の画像入出力装置と通信可能な画像入出力装置であって、ジョブを前記他の画像入出力装置へ転送可能なジョブ転送手段と、前記ジョブを前記他の画像入出力装置から操作可能にするべく前記ジョブを特定するためのジョブハンドルを生成するジョブハンドル生成手段と、前記ジョブ転送手段による前記ジョブの転送に先立って、前記ジョブハンドル生成手段により生成された前記ジョブハンドルを、前記他の画像入出力装置に送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ジョブの転送元と転送先の画像入出力装置のいずれからでもジョブのハンドリングを行うことが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
図１は、本発明の実施の形態に係るコントローラが搭載された画像入出力装置１の構成を示すブロック図である。尚、この実施の形態では、この画像入出力装置は、コピー機能、ファクシミリ機能、プリンタ機能等を有する複合機の場合で説明するが、本発明はこれに限定されるものではない。
【００１４】
この画像入出力装置１は、イーサネット(登録商標)等のＬＡＮ（通信媒体）４００を介してホストコンピュータ（第一、第二のホストコンピュータ３，４）と互いに通信可能に接続されている。
【００１５】
この画像入出力装置１は、画像データの読取処理を行うリーダ装置（リーダ部）２と、画像データの印刷処理を行うプリンタ装置（プリンタ部）６、操作部７、ハードディスク（画像記憶部）８及びこれらを制御するコントローラ９とを有している。操作部７は、ユーザＩＤやパスワード等を入力可能なキーボード及び画像データや各種機能の表示／設定などを行う液晶パネルとを備える。画像記憶部８は、リーダ部２を制御して読み込んだ画像データや、ＬＡＮ４００を介してホストコンピュータ３，４より受信したコードデータから生成される画像データを格納／保存する。コントローラ９は、これら各構成要素に接続され、これら構成要素を制御する。
【００１６】
リーダ部２は、原稿を搬送する原稿給送ユニット１０と、原稿を光学的に読み取って電気信号としての画像データに変換するスキャナユニット１１とを有している。またプリンタ部６は、シートを収容する複数段の給紙カセットを備えた給紙ユニット１２と、画像データをシートに転写／定着するマーキングユニット１３を有している。更に、印刷されたシートにソート処理やステイプル処理を施して外部に排出する排紙ユニット１４を有している。
【００１７】
コントローラ９は、リーダ部２を制御して原稿の画像データを読込み、プリンタ部６を制御して、その画像データをシートに印刷するコピー機能を提供する。また、リーダ部２から読取った画像データをコードデータに変換し、ネットワーク４００を介してホストコンピュータ３，４へ送信するスキャナ機能を有している。またホストコンピュータ３，４からネットワーク４００を介して受信したコードデータを画像データに変換し、プリンタ部６に出力して印刷するプリンタ機能やその他の機能ブロックを有している。
【００１８】
図２は、本実施の形態に係る画像入出力装置１のリーダ部２及びプリンタ部６の詳細を示す図である。
【００１９】
リーダ部２では、原稿給送ユニット１０に積層された原稿がその積層順に従って、先頭から順次１枚ずつプラテンガラス１５上に給送される。この原稿は、スキャナユニット１１で読み取られた後、プラテンガラス１５から原稿給送ユニット１０に排出される。またスキャナユニット１１では、原稿がプラテンガラス１５上に搬送されてくるとランプ１６が点灯し、次いで光学ユニット１７の移動が開始されて読み取り位置で固定される。光学ユニット１７は、搬送される原稿を下方から照射し、走査する。そして原稿からの反射光は、複数のミラー１８〜２０及びレンズ２１を介してＣＣＤイメージセンサ（以下、ＣＣＤ）２２へと導かれＣＣＤ２２によって読み取られる。こうしてＣＣＤ２２で読み取られた画像データは、所定の処理が施された後、コントローラ９（図１）に転送される。また或は、プラテンガラス１５上に載置された原稿を同様にランプ１６を点灯し光学ユニット１７の移動を開始させて原稿を下方から照射し走査することにより、原稿をＣＣＤ２２によって読み取ることが可能である。
【００２０】
次いでプリンタ部６では、コントローラ９から出力された画像データに対応するレーザ光が、レーザドライバ（不図示）により駆動されるレーザ発光部２４から発光される。このレーザ光はマーキングユニット１３の感光ドラム２５を照射して静電潜像を形成し、その静電潜像に現像器２６より供給されるトナー（現像剤）が付着する。
【００２１】
一方、レーザ光の照射開始と同期したタイミングで、給紙ユニット１２（給紙カセット１２ａ，１２ｂ）からシート（記録用紙）が給紙されて転写部２７に搬送され、これに感光ドラム２５に付着しているトナー像が転写される。こうして画像データが転写されたシートは定着部２８に搬送され、加熱及び加圧処理により画像データがシートに定着される。
【００２２】
そして、画像データをシートに片面記録する場合は、定着部２８を通過したシートは排出ローラ２９によってそのまま排紙ユニット１４に排出される。排紙ユニット１４は、その排出されたシートを束ねて仕分けを行い、また、仕分けされたシートのステイプル処理を行う。また画像データを記シートに両面印刷する場合は、排出ローラ２９までシートを搬送した後、排出ローラ２９の回転方向を逆転させ、フラッパ３０によって再給紙搬送路３１へ転写済みシートを導く。こうして再給紙搬送路３１に導かれたシートは上述と同様にして転写部２７に搬送される。
【００２３】
コントローラ９は、上述したように単一の電子部品で構成され、リーダ部２で読み取った画像データをコードに変換し、ＬＡＮ４００を介して第一及び第二のホストコンピュータ３、４に送信するスキャナ機能を実現している。更に、ホストコンピュータ３、４からＬＡＮ４００を介して受信したコードデータを画像データに変換し、プリンタ部６に出力して印刷するプリンタ機能、及びその他の機能ブロックを有している。
【００２４】
図３は、本実施の形態に係るコントローラ９の構成を説明するブロック図である。
【００２５】
メインコントローラ３２は、ＣＰＵ３３とバスコントローラ３４と後述する各種コントローラ回路を含む機能ブロックとを内蔵している。またＲＯＭＩ／Ｆ３５を介してＲＯＭ３６と接続され、ＤＲＡＭＩ／Ｆ３７を介してＤＲＡＭ３８と接続されている。更に、コーデックＩ／Ｆ３９を介してコーデック４０と接続され、また、ネットワークＩ／Ｆ４１を介してネットワークコントローラ４２と接続されている。
【００２６】
ＲＯＭ３６は、メインコントローラ３２のＣＰＵ３３で実行される各種制御プログラムや演算データを格納している。ＤＲＡＭ３８は、ＣＰＵ３３が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック４０はＤＲＡＭ３８に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。またコーデック４０にはＳＲＡＭ４３が接続されており、このＳＲＡＭ４３はコーデック４０の一時的な作業領域として使用される。ネットワークコントローラ４２は、コネクタ４４を介してＬＡＮ４００との間で所定の制御動作を行う。
【００２７】
またメインコントローラ３２はスキャナバス４５を介してスキャナＩ／Ｆ４６と接続されている。またプリンタバス４７を介してプリンタＩ／Ｆ４８に接続され、さらにＰＣＩバス等の汎用高速バス４９を介して拡張ボードを接続するための拡張コネクタ５０及び入出力制御部（Ｉ／Ｏ制御部）５１に接続されている。Ｉ／Ｏ制御部５１は、リーダ部２やプリンタ部６との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ５２を２チャンネル装備している。そしてシリアル通信コントローラ５２はＩ／Ｏバス５３を介してスキャナＩ／Ｆ４６及びプリンタＩ／Ｆ４８に接続されている。
【００２８】
スキャナＩ／Ｆ４８は、第一の調歩同期シリアルＩ／Ｆ５４及び第一のビデオＩ／Ｆ５５を介してスキャナコネクタ５６に接続されている。さらに、このスキャナコネクタ５６は、リーダ部２のスキャナユニット１１に接続されている。そしてスキャナＩ／Ｆ４６は、スキャナユニット１１から受信した画像データに対して２値化処理や、主走査方向及び／又は副走査方向の変倍処理を行う。またスキャナユニット１１から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス４５を介してメインコントローラ３２に転送する。
【００２９】
またプリンタＩ／Ｆ４８は、第２の調歩同期シリアルＩ／Ｆ５７及び第２のビデオＩ／Ｆ５８を介してプリンタコネクタ５９に接続されている。更に、このプリンタコネクタ５９は、プリンタ部６のマーキングユニット１３に接続されている。そして、プリンタＩ／Ｆ４８は、メインコントローラ３２から出力された画像データにスムージング処理を施し、その画像データをマーキングユニット１３に出力する。さらにマーキングユニット１３から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス４７に出力する。
【００３０】
ＣＰＵ３３は、ＲＯＭ３６からＲＯＭＩ／Ｆ３５を介して読み込まれた制御プログラムに基づいて動作し、例えば、第１及び第２のホストコンピュータ３，４から受信したＰＤＬ（ページ記述言語）データを解釈し、ラスターイメージデータに展開処理を行う。またバスコントローラ３４は、スキャナＩ／Ｆ４６、プリンタＩ／Ｆ４８、その他拡張コネクタ５０等に接続された外部機器から入出力されるデータ転送を制御し、バス競合時のアービトレーション（調停）やＤＭＡデータ転送の制御を行う。即ち、例えば、上述したＤＲＡＭ３８とコーデック４０との間のデータ転送や、スキャナユニット１１からＤＲＡＭ３８へのデータ転送、ＤＲＡＭ３８からマーキングユニット１３へのデータ転送等は、バスコントローラ３４によって制御され、ＤＭＡ転送される。
【００３１】
Ｉ／Ｏ制御部５１は、ＬＣＤコントローラ６０及びキー入力Ｉ／Ｆ６１を介してパネルＩ／Ｆ６２と接続されている。このパネルＩ／Ｆ６２は操作部７と接続されている。またＩ／Ｏ制御部５１は、Ｅ−ＩＤＥコネクタ６３を介してハードディスクドライブ８ａ及び８ｂに接続されている。さらに、機器内で管理する日付と時刻を更新／保存するリアルタイムクロックモジュール６４に接続されている。尚、このリアルタイムクロックモジュール６４は、バックアップ用電池６５に接続され、このバックアップ用電池６５によりバックアップされている。
【００３２】
図４は、本実施の形態に係るメインコントローラ３２の内部詳細を示すブロック構成図である。
【００３３】
バスコントローラ３４は、４×４の６４ビットクロスバススイッチで構成され、６４ビットのプロセッサバス（Ｐバス）を介してＣＰＵ３３に接続されている。またメモリ専用のローカルバス（Ｍバス）を介してキャッシュメモリを備えたメモリコントローラ６９に接続されている。尚、メモリコントローラ６９は、ＲＯＭ３６やＤＲＡＭ３８などのメモリと接続され、これらのメモリ類の動作を制御する。
【００３４】
またバスコントローラ３４は、グラフィックスバス（Ｇバス）７０を介してＧバスアービタ７１及びスキャナ・プリンタコントローラ７２と接続されている。また入出力バス（Ｂバス）７３を介して、Ｂバスアービタ７４、Ｇバスアービタ７１、インタラプトコントローラと接続されている。更に、各種機能ブロック（電力管理ユニット７６、ＵＡＲＴなどのシリアルＩ／Ｆコントローラ７７、ＵＳＢコントローラ７８と接続されている。更に、ＩＥＥＥ１２８４等のパラレルＩ／Ｆコントローラ７９、ＬＡＮコントローラ８０、汎用入出力コントローラ８１、Ｂバス７３とＰＣＩバスとの間でＩ／Ｆ動作を司るＰＣＩバスＩ／Ｆ８２、及びスキャナ・プリンタコントローラ７２と接続されている。
【００３５】
Ｂバスアービタ７４は、Ｂバス７３を協調制御するアービトレーションであり、Ｂバス７３のバス使用要求を受け付け、調停の後、選択された一つのマスタに使用許可が与えられる。これにより、同時に２つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は３段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
【００３６】
インタラプトコントローラ７５は、上述した各機能ブロック及びコントローラ９の外部からインタラプトを集積し、ＣＰＵ３３がサポートするコントローラ類７２，７７〜８２及びノンマスカブルインタラプト（ＮＭＩ）に再配分する。
【００３７】
電力管理ユニット７６は、機能ブロック毎に電力を管理し、更に、１チップで構成されている電子部品としてコントローラ９の消費電力量の監視を行う。即ち、コントローラ９は、ＣＰＵ３３を内蔵した大規模なＡＳＩＣ（特定用途向けＩＣ）で構成されている。このため、全ての機能ブロックが同時に動作すると大量の熱を発生して、コントローラ９自体が破壊されてしまう虞がある。そこで、このような事態の発生を防止するために各機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット７６に集積される。そして、電力管理ユニット７６では、各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して監視する。
【００３８】
Ｇバスアービタ７１は、中央アービトレーション方式によりＧバス７０を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを発行する。尚、バスマスタへの優先権の付与方式には、全てのバスマスタを同じ優先順で公平にバス権を付与する公平アービトレーションモードと、いずれか１つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかがある。
【００３９】
上述のような構成の画像入出力装置を例に挙げ、本実施の形態を図７から図１１、図１５と図１２から図１４、図１６、図１７のフローチャートを用いて説明する。図７から図１１では、本実施の形態及びその効果を説明するために、想定されるシステムの全体の構成例と本実施の形態に係るデータの流れとデータ構造を図示した。また図１２から図１４では、転送プリントする際の転送元と転送先の機器の制御をフローチャートで示している。
【００４０】
以下、図１２から図１４を中心に本実施の形態の前提となる転送プリントの処理について説明する。ここで説明の便宜上、本実施の形態に係る画像入出力装置は全て複合機とし、画像入出力装置１と同じ構成であることとするが、ネットワークに接続可能で画像を可視像として出力可能な画像入出力装置であれば他の装置であっても構わない。
【００４１】
図７は、本実施の形態に係る情報処理システムにおいて複合機Ａでトラブルが発生した状態を示す図である。
【００４２】
図において、クライアント１から複合機Ａにプリントジョブ７０１が発行される。このプリントジョブには、そのジョブのユーザ名（ユーザＩＤ）とそれに対応したパスワード、或はジョブを操作するための単独のパスワードを付加することが可能である。複合機ＡのＣＰＵ３３（図３，図４）は、そのジョブを受信すると、そのジョブのＩＤと対応付けてＤＲＡＭ３８或はハードディスクドライブ８ａ（又は８ｂ）に、そのジョブのユーザ名とそれに対応したパスワードを保存する。また、プリントジョブは暗号化して送ることも可能で、この場合には暗号化をされたデータを復号するためのパスワードも、そのジョブのジョブ属性として付加することが可能である。
【００４３】
複合機ＡのＣＰＵ３３は、その受信したジョブを図７のプリント待機中ジョブキュー７０２に登録する。このこのキューは、ＤＲＡＭ３８或はハードディスクドライブ８ａ（または８ｂ）に記憶されて管理される。図７では、このキュー７０２には、ジョブ１からジョブ８までが順に格納されており、通常は、この格納順にプリントされる。
【００４４】
いま複合機Ａにトラブルが発生し、複合機Ａでのプリントが不可能な状態になったとする。このトラブルは、トナー無しや紙無し等のユーザがリカバリ可能なものであっても良く、或は、部品の故障等のサービス会社に連絡しなければリカバリできないものであっても構わない。この場合、複合機Ａにプリントジョブを発行したユーザは、複合機Ａの操作部７を操作して、そのプリントジョブを他の複合機に転送して印刷するように設定できる。尚、このプリントジョブ転送指示は、機器にトラブルが発生しない場合でも可能である。
【００４５】
また、ジョブの転送指示は、機器やジョブに対して予め設定できるようにしても良い。例えば、複合機Ａでは「２２：００」以降に受信したプリントジョブは全て複合機Ｂに転送する。或は、ユーザＰＣが投入したプリントジョブは、その投入後、１０分経過しても印刷されなかった場合には複合機Ｃに転送される等の転送指示が考えられる。
【００４６】
７０３は、こうして転送が指示されて待機中のジョブのキューを示している。ここではジョブ２，４，７が複合機Ｂに転送されるように設定されており、ジョブ１は複合機Ｃに転送されるように設定されている。
【００４７】
次に図１２のフローチャートを参照して、図７でジョブの転送の指示（イベント）が発生した場合の転送元の画像出力装置（複合機Ａ）の制御を説明する。
【００４８】
図１２は、本実施の形態に係る画像出力装置におけるプリントジョブの転送処理を説明するフローチャートである。尚、このフローチャートを実行するプログラムは実行時にはＤＲＡＭ３８に記憶されておりＣＰＵ３３の制御の下に実行される。
【００４９】
複合機ＡのＣＰＵ３３は、ジョブの転送指示を受け付けるとステップＳ１で、そのジョブが、キュー７０２にキューイングされているプリント待機中のジョブであるかどうかを判断する。プリント待機中のジョブでない場合には既にプリント実行しているか、プリント終了している等により、複合機Ａにジョブが存在しないケースのいずれかであるので転送は行わず処理を終了する。
【００５０】
ステップＳ１で、プリント待機中のジョブであると判断した場合はステップＳ２に進み、ＣＰＵ３３は、そのジョブを「プリント待機中ジョブのキュー」７０２から「転送待機中のジョブのキュー」７０３へ移動する。なお、ここでＣＰＵ３３は、「プリント待機中ジョブのキュー」、「転送待機中のジョブのキュー」、「転送ジョブのジョブハンドルのキュー」、「転送されたジョブハンドルのキュー」の４つのキューを管理する。「プリント待機中ジョブのキュー」では自機でプリント待機中となっているジョブを管理し、「転送待機中のジョブのキュー」では自機から転送設定され転送待機中となっているジョブを管理する。また「転送ジョブのジョブハンドルのキュー」では、自機から転送設定されたジョブのジョブハンドルのキューを管理する。更に「転送されたジョブハンドルのキュー」では、他の機器から転送されてきたジョブのジョブハンドルのキューを管理する。
【００５１】
図７の例では、ジョブＩＤが「２」のジョブ２と、ジョブＩＤが「４」のジョブ４と、ジョブＩＤが「７」のジョブ７が複合機Ｂへ転送するように設定されている。またジョブＩＤが「１」のジョブ１が複合機Ｃへ転送するように設定されて、それぞれ順番に「転送待機中のジョブのキュー」７０３に登録されている。
【００５２】
こうしてステップＳ２でＣＰＵ３３が、ジョブのキューの間の移動を行った後、ステップＳ３に進んで転送用のジョブハンドルを作成し（ジョブハンドル生成）、そのジョブハンドルを「転送ジョブのジョブハンドルのキュー」８０１に登録する（図８参照）。このときのジョブハンドルの状態を、図８の「転送ジョブハンドルのデータ構造」８０２に図示した。
【００５３】
図８は、図１２のステップＳ３でジョブハンドルを作成した状態を示す図である。
【００５４】
図８において、「転送ジョブのジョブハンドルのキュー」８０１には、ユーザからのリクエスト順に転送ジョブのハンドルが、転送ジョブのジョブハンドルの転送要求待ちキュー８０１に格納されている。
【００５５】
このハンドルデータのデータ構造は、８０２で示すように、「転送ジョブ状態」、「転送元機器アドレス」、「転送元機器ジョブＩＤ」、「有効転送先機器アドレス」を含んでいる。更に「転送先機器アドレス１」、「転送先機器アドレス２」、「転送先機器アドレス３」...と、そのパスＩＤを含んでいる。例として、複合機Ａ内部のジョブ７のジョブハンドルデータの内容を説明する。
【００５６】
「転送ジョブ状態」には、転送ジョブの状態を「初期状態」「受信済」「転送待ち」「転送済」の情報を設定することで管理する。複合機Ａは、クライアント１から受信、転送待ちをしている状態なので「転送待ち」を設定する。
【００５７】
「転送元機器アドレス」、「転送元機器ジョブＩＤ」には、複合機Ａがジョブを転送する開始元となるので、自機のＩＰアドレスを「転送元機器アドレス」に設定する。また、ジョブ７のジョブＩＤである「７」を「転送元機器ジョブＩＤ」に設定する。
【００５８】
また「有効転送先アドレス」には、転送先である複合機Ｂのアドレスを設定し、同じアドレスを「転送先機器アドレス１」設定する。そして「転送先機器アドレス２」以降は、可変長のデータとなる、この使用方法は後述する。図８に示す複合機Ａでは該当するアドレスが無いため付加しない。また各転送機器アドレスの次には必ずパスＩＤを付加する。このパスＩＤの使用方法については後述の実施の形態２で説明する。ここではパスＩＤは「１」で初期化されるものとする。
【００５９】
転送ジョブのジョブハンドルは、機器内部の「転送ジョブのジョブハンドルキュー」の最後に保持し、他の機器に転送する際にはＣＰＵ３３が部分的に書き換えを行う。
【００６０】
次にステップＳ４に進み、ＣＰＵ３３は、ステップＳ３で作成したジョブハンドルをコピーし、転送先の機器に転送する。ここでＣＰＵ３３は、ジョブの転送に先立って転送前にコピーしたジョブハンドルの「転送ジョブ状態」を「初期状態」に書き換えた後に転送を行う。（図９の９０３）
そしてステップＳ５で、転送ジョブのデータを転送先の機器に転送する（図９の９０３）。
【００６１】
図９では、ジョブ２の複合機Ｂへの転送が完了すると、そのジョブ２が複合機Ａの「転送待機中のジョブのキュー」から削除される。また「転送ジョブのジョブハンドルのキュー」のジョブ２のデータの「転送ジョブ状態」を「転送済」に変更する（９０１）。
【００６２】
以上で、転送元（複合機Ａ）におけるジョブ転送時の動作の説明とする。
【００６３】
次に転送先の機器（複合機Ｂ）の動作を、複合機ＢのＣＰＵ３３の制御を例に図１３及び図１４を用いて説明する。
【００６４】
図１３は、プリントジョブが転送された転送先の複合機におけるジョブハンドルの受信処理を説明するフローチャートである。
【００６５】
図１４は、ジョブハンドルの後に送られてくるジョブを受信する処理を説明するフローチャートである。尚、これらフローチャートを実行するプログラムは実行時にはＤＲＡＭ３８に記憶されておりＣＰＵ３３の制御の下に実行される。
【００６６】
図１３の処理は、複合機ＢのＣＰＵ３３がジョブのハンドルを受信することにより開始され、まずステップＳ１１において、複合機ＢのＣＰＵ３３はジョブのハンドルを受信すると機器内の新規ジョブとしてジョブＩＤを割り付ける。次にステップＳ１２で、ＣＰＵ３３は、転送ジョブのハンドル中の「有効転送先アドレス」を「０」に設定して、複合機Ｂの「転送されたジョブハンドルのキュー」に登録する(図９の９０２)。
【００６７】
次にジョブを受信する処理について図１４のフローチャートを用いて説明する。
【００６８】
ステップＳ２１で、ＣＰＵ３３はジョブ情報を解析し、転送ジョブのジョブハンドルが既に転送されているかを「転送されたジョブハンドルのキュー」９０２を参照して確認する。ここで、既にジョブハンドルを受信している場合は、転送ジョブとして扱うためステップＳ２２に処理を進める。ステップＳ２２では、既に受信したジョブハンドルとそのジョブＩＤと対応付けて管理し、「プリント待機中ジョブのキュー」に、そのジョブを登録する（図９の９０２）。
【００６９】
一方、ステップＳ２１で、ジョブハンドルがないと判断した場合はステップＳ２３に進み、新規ジョブとしてＩＤを発行し、「プリント待機中ジョブのキュー」に登録して処理を終了する。以上で転送先の機器（ここでは複合機Ｂ）の動作の説明を完了する。
【００７０】
上述の転送プリントの制御シーケンスを踏まえ、以下、本発明の代表的な実施の形態である転送ジョブを転送元と転送先の機器の両方から操作可能とする手順について説明する。
【００７１】
［実施の形態１］
図１０は、本発明の実施の形態１に係る情報処理システム（印刷システム）の構成を示す図である。ここでは転送先の機器（複合機Ｂ（第２の画像入出力装置））から転送元の機器（複合機Ａ（第１の画像入出力装置））のジョブの制御を行う状態を示す図である。また図１１は、本発明の実施の形態１に係る情報処理システムにおいて、転送元の機器（複合機Ａ）から転送先の機器（複合機Ｂ）のジョブを制御する状態を示す図である。
【００７２】
図１０では、複合機Ａでトラブルが発生し、ジョブ４とジョブ７を複合機Ｂに転送し、ジョブ１を複合機Ｃへ転送するように設定されている。そしてジョブ２の複合機Ｂへの転送が完了し、ジョブ４を複合機Ｂへ転送中であり、ジョブ１を複合機Ｃへ転送中である。複合機Ｂでは、転送完了したジョブ２がプリント待機中ジョブのキューに登録されている。この状態で複合機Ｂに、ジョブ７の処理を中止するようにジョブ制御要求が入力されると、１００３で、転送元の複合機Ａに対してジョブ７の制御要求を発行する。尚、このジョブの制御要求には、ジョブの中止、ジョブの転送中止、ジョブのパスワードの変更、ジョブの転送先の変更要求が含まれる。
【００７３】
図１１では、複合機Ａでトラブルが発生し、ジョブ４とジョブ７を複合機Ｂに転送し、ジョブ１を複合機Ｃへ転送するように設定されている。そしてジョブ２の複合機Ｂへの転送が完了し、ジョブ４を複合機Ｂへ転送中であり、ジョブ１を複合機Ｃへ転送中である。複合機Ｂでは、転送されたジョブ２がプリント待機中ジョブのキューに登録されている。この状態で複合機Ａに、ジョブ２の処理を中止するようにジョブ制御要求が入力されると、１１０１で、転送先の複合機Ｂに対してジョブ２の制御要求（中止）を発行する。尚、このジョブの制御要求には、ジョブの中止、ジョブの転送中止、ジョブのパスワードの変更、ジョブの転送先の変更要求が含まれる。
【００７４】
実施の形態１として、ジョブの中止の制御について図１５及び図１６と図１７のフローチャートを参照して説明する。
【００７５】
図１５は、本実施の形態１における複数の複合機の間での転送ジョブの制御を説明するシーケンス図である。
【００７６】
この転送ジョブの制御は、前述のジョブハンドルのデータを使用して実行する。処理の流れとしては図１５のシーケンスに記述したようになる。図１５では、複合機Ａで発生したジョブが複合機Ｂに転送され、転送要求は複合機Ｂから複合機Ｃへ、更には複合機Ｃから複合機Ｄへ発行されている例で示している。
【００７７】
１５００で、ジョブ制御要求、即ち本実施の形態ではジョブの中止要求（以下、ジョブ中止要求）が複合機Ｃへ発行される。次に１５０１で、複合機Ｃからジョブ中止要求が複合機Ｂに発行される。
【００７８】
このとき複合機Ｃは、該当するジョブハンドルの「転送ジョブ状態」を参照し、ジョブが複合機Ｃにまだ到達していないことが判断できる。よって、ジョブの制御要求を転送元である複合機Ｂに発行する。これにより複合機Ｂは、ジョブの操作、即ちジョブの中止を実行する（１５０２）。このジョブは複合機Ｂで転送待機中の状態であるが、ジョブの中止が行われることで転送、印刷のいずれの処理も行わない。こうして複合機Ｂがジョブを中止（ジョブの操作を実行）した後、１５０３で、ジョブハンドルの削除要求を、そのジョブの転送元である複合機Ａと、転送先である複合機Ｃへ発行する。これにより複合機Ａは、そのジョブハンドルを削除する。そして１５０４で、ジョブハンドルの削除が完了したことを複合機Ｂに通知する。
【００７９】
また複合機Ｃは、ジョブハンドル削除要求１５０３を受けると、そのジョブの転送先である複合機Ｄにジョブハンドル削除要求を発行する（１５０５）。これにより複合機Ｄはジョブハンドルを削除し、１５０６で、ジョブハンドル削除完了通知を複合機Ｃに返す。これにより複合機Ｃは、複合機Ｄからのジョブハンドル削除完了通知１５０６を受けるとジョブハンドルを削除する。そして、そのジョブハンドルを削除したことを複合機Ｂに通知する（１５０７）。そして複合機Ｂは、転送先である複合機Ｃと転送元の複合機Ａからのジョブハンドル削除通知１５０４，１５０７を受けると、１５０８でジョブハンドルを削除して処理を終了する。
【００８０】
以上のように、いずれかの複合機にジョブ制御要求が入力されると、ジョブの転送経路に沿ってジョブが存在する機器にジョブ制御依頼を発行する。これにより、そのジョブが存在する機器は、そのジョブの処理を行った後で、ジョブハンドルの変更或は削除の要求を転送先の機器と転送元の機器に発行する。これにより転送元の機器と転送先の機器では、そのジョブの転送経路に沿ってジョブハンドルの変更要求を送信し、返信があった時点で自機のジョブハンドルを操作し、要求元にジョブハンドルの変更或は削除完了の通知を行う。そしてジョブの存在する機器は、転送元の機器と転送先の機器からのジョブハンドル操作が完了した旨の通知を受けると自機のジョブハンドルを削除する。
【００８１】
このようにジョブハンドルが転送された機器間で上述のシーケンスを実行することで、転送元の機器或は転送先の機器の全てからのジョブの中止要求を処理することが可能となるが、実際の機器の動作を図１６及び図１７のフローチャートに沿って説明する。
【００８２】
図１６は、本実施の形態１に係る転送ジョブの制御を説明するフローチャートである。ここでは、複合機がユーザ或は転送元の機器、転送先の機器のいずれかからジョブの制御要求を受けたときの複合機のＣＰＵ３３の動作を説明している。尚、このフローチャートを実行するプログラムは実行時にはＤＲＡＭ３８に記憶されておりＣＰＵ３３の制御の下に実行される。
【００８３】
ジョブの中止要求を受けた複合機のＣＰＵ３３は、最初に該当ジョブのユーザＩＤとパスワードの入力とその確認要求を操作部７から受け付ける。ジョブのユーザアカウントは、ジョブ投入時にオプションとして設定でき、ジョブの属性としてＨＤＤ８ａ或は８ｂに保存される。ユーザ名とアカウントの一致が確認された時点で、このジョブの操作が可能となる。
【００８４】
先ずステップＳ３１で、ユーザＩＤとパスワードの入力を受け付けると、ＣＰＵ３３は、ステップＳ３２で、そのジョブが自機に存在するかを確認する。ここで、そのジョブが自機に存在する場合は処理をステップＳ３３に進み、そうでない場合はステップＳ４１に進む。
【００８５】
ステップＳ３３では、ＣＰＵ３３は、ジョブの属性であるユーザ名及びパスワードと、ステップＳ３１で入力されたユーザＩＤとパスワードとが正しいかどうかを照合する。ステップＳ３４では、ステップＳ３１で入力されたユーザアカウントとパスワードの確認要求が他の機器からのものであればステップＳ３５に処理を移し、要求元に結果を通知する。この場合、認証が正しい場合は、要求元からジョブの操作要求が発生する可能性があるのでステップＳ３７に進む。
【００８６】
一方、ステップＳ３４で、要求元が自機の操作部７であると判断した場合はステップＳ３６に進み、ユーザアカウントが正しく認証されたかを判定し、正しいと判定するとステップＳ３７に進んで、ジョブの処理要求を待つ。
【００８７】
一方ステップＳ３２で、ＣＰＵ３３が、ジョブが機内に存在しないと判断した場合はステップＳ４１に進む。ステップＳ４１でＣＰＵ３３は、そのジョブのジョブハンドルの「転送ジョブ状態」を参照し、ジョブが転送元の機器にあるか、転送先の機器にあるかを判断する。ジョブが転送元の機器にある場合はステップＳ４２に進み、ＣＰＵ３３は、転送元の機器にジョブのユーザアカウント照合を依頼する。このように転送元の機器にアカウント照合を依頼した場合は、転送元の機器はジョブハンドルを参照し、必要に応じて更に転送元の機器にアカウントの照合依頼を行う（これはステップＳ３１からの処理に該当する）。そしてステップＳ４３で、転送元の機器から照合結果を受信するのを待ち、受信するとステップＳ３４に進む。尚、このステップＳ３４以降の処理は前述した内容と同じであるため、その説明を省略する。
【００８８】
又ステップＳ４１で、ＣＰＵ３３が、ジョブが転送先の機器にあると判断した場合はステップＳ４４に進み、転送先の機器へ順次ジョブのユーザアカウントの確認を依頼する。ここで転送先の機器にアカウント照合を依頼した場合は、転送先の機器はジョブハンドルを参照し、必要に応じて更に転送元の機器にアカウントの照合依頼を行う（ステップＳ３１からの処理が該当する）。そしてステップＳ４５で、転送先の機器からの照合結果を受信するのを待ち、受信するとステップＳ３４に進む。このステップＳ３４以降の処理は前述したものと同じなので説明は省略する。
【００８９】
こうしてステップＳ３７に進むと、ジョブの制御要求を待ち、その制御要求に応じてステップＳ３８（ジョブの中止）、ステップＳ３９（ジョブの属性変更）、ステップＳ４０（ジョブの転送中止）に処理を分岐する。尚、ここでジョブの制御要求以外が入力されるとステップＳ３７に戻る。
【００９０】
図１７は、図１６のステップＳ３８のジョブの中止制御を説明するフローチャートである。
【００９１】
ジョブ中止要求を受信したＣＰＵ３３は、まずステップＳ５１で、そのジョブが機内あるか否かを判断する。ステップＳ５１で、そのジョブが自機にあると判断した場合は処理をステップＳ５２へ進め、そうでない場合にはステップＳ６０に処理を移行する。ステップＳ５２では、ＣＰＵ３３は機内の該当ジョブの実行を中止する。次にステップＳ５３に処理を移行し、そのジョブの転送先が設定されているか「転送ジョブのジョブハンドルのキュー」を確認する。転送先が設定されていれば処理をステップＳ５４に進め、そうでない場合には処理をステップＳ５６へ移行する。ステップＳ５４では、ＣＰＵ３３は転送先の機器へジョブハンドルの削除の要求を発行する。ここでは前述の図１５のシーケンスに従って、転送先の機器は順次、転送先へジョブハンドルの削除要求を発行する。こうしてジョブハンドルの削除後、転送先の機器はジョブハンドルの削除完了を要求元の機器に通知する。このためステップＳ５５で、ＣＰＵ３３は転送先の機器からのジョブハンドルの削除完了通知を待つ。
【００９２】
ステップＳ５５で、転送先の機器からのジョブハンドルの削除完了通知を受信するとＣＰＵ３３は処理をステップＳ５６へ移行し、そのジョブの転送元があるか否かをジョブハンドルを参照することで確認する。転送元がある場合は処理をステップＳ５７へ進め、そうでない場合は処理をステップＳ５９に移行する。ステップＳ５７からステップＳ５８では、ステップＳ５４からステップＳ５５の処理と同様の処理を転送元の機器に対して実行する。そうしてステップＳ５８で、転送元からのジョブハンドルの削除完了通知を受けるとステップＳ５９に進み、そのジョブハンドルを削除して処理を終了する。
【００９３】
尚、ステップＳ５４からステップＳ５５の処理と、ステップＳ５７からステップＳ５８の処理はＣＰＵ３３に実装されるソフトウェア構造によって同時に行うことが可能であるので同時に行っても構わない。本実施の形態では説明の都合上、順次処理する構成で記述している。
【００９４】
次に該当ジョブが機内に存在しなかった場合の処理についてステップＳ６０以降を参照して説明する。
【００９５】
ステップＳ６０では、ＣＰＵ３３は、機内にジョブが存在しないため、転送元か或は転送先のジョブが存在する機器に対してジョブの中止を要求する。転送元、転送先のどちらに要求を発行するかはジョブハンドル内の「転送ジョブ状態」を参照することで判断する。こうしてジョブの中止を要求すると、そのジョブを保持している機器から転送ジョブハンドルの削除要求が発行される(図１５のシーケンス図参照)。これによりステップＳ６１で、ＣＰＵ３３はジョブハンドルの削除要求を受信するのを待つ。ここで転送元の機器からジョブハンドルの削除要求を受信した場合はステップＳ６２に進み、そうでない場合（転送先の機器からジョブハンドルの削除要求）には処理をステップＳ６７に移行する。
【００９６】
ステップＳ６２とステップＳ６７では、それぞれ更にジョブの転送先、或は転送元が存在するかを確認する。ここで転送先や転送元が存在する場合にはそれぞれステップＳ６３或はステップＳ６８に進み、ジョブのハンドル削除要求を発行する。この削除要求の発行後、ＣＰＵ３３は、ステップＳ６４或はステップＳ６９で、ジョブハンドルの削除完了通知を受信するのを待つ。こうして受信するとステップＳ６５、ステップＳ７０で、機内のジョブハンドルを削除する。そしてステップＳ６６或はステップＳ７１に進み、要求元に対してジョブハンドル削除完了を通知して処理を終了する。
【００９７】
以上説明したように本実施の形態１によれば、ジョブの転送後も、転送元、転送先の機器の全てからジョブの中止処理を指示し、ジョブの中止を実行することが可能となる。
【００９８】
［実施の形態２］
前述の実施の形態１では、ジョブ制御の一例としてジョブを中止する場合で説明した。な、このジョブ制御の他の例であるジョブを転送する構成において、転送先或は転送元の機器からの操作としては、ジョブ属性を書き換えることが考えられる。このジョブ属性の書き換えとしては例えば、パスワードの変更や、既に設定されている転送先の変更等の処理が考えられる。
【００９９】
本実施の形態２では、このジョブ属性の書き換え処理について図１８のフローチャート及び図１９を参照して説明する。尚、この実施の形態２においても、図１６のフローチャートと同じ処理を実行する。又、各機器の構成は前述の実施の形態１の複合機の構成と同じであるため、その説明を省略する。
【０１００】
この実施の形態２では、図１６のステップＳ３７において、ジョブ属性の書き換えの要求があった場合にはＣＰＵ３３は処理をステップＳ３９へ移行することにより実行される。
【０１０１】
図１８は、実施の形態２に係るジョブの属性変更処理（図１６のステップＳ３９）を説明するフローチャートである。
【０１０２】
先ずステップＳ８１で、ＣＰＵ３３は、ジョブが機内に存在するかを確認する。ここで機内にジョブが存在すると判断した場合はステップＳ８２に進み、機内のジョブの属性の書き換えを実施する。一方、機内にジョブが存在しないと判定した場合はステップＳ８３に進み、ジョブが存在するジョブの転送元の機器、或は転送先の機器の方向に対してジョブ属性の変更要求を発行する。尚、このジョブが存在する機器の方向は、ジョブハンドルの「転送ジョブ状態」を参照することで判断する。こうしてジョブの属性書き換え要求を受けた機器は、図１８のステップＳ８１からの処理を実行する。即ち、ジョブが存在する機器まで要求は転送され続けられる。
【０１０３】
そしてステップＳ８３で、ジョブの属性書き換え要求を発行したＣＰＵ３３は、ステップＳ８４で、ジョブ属性の書き換え完了通知を受信すると、この処理を終了する。
【０１０４】
図１９は、実施の形態２において、ジョブの転送先の機器を変更した場合のジョブハンドルの内容を説明する図である。
【０１０５】
図１９では、機器Ａから機器Ｂ、機器Ｃ、機器Ｄへ、順次ジョブが転送するように設定されていて、ジョブが機器Ｂで転送待機中であるとする。機器Ａから機器Ｄのいずれかの操作部７から、機器Ｂのジョブの転送先を機器Ｅに書き換える。こうして機器Ｂのジョブが機器Ｅに転送された場合、機器Ｂ内のジョブハンドルのデータは、転送ジョブハンドルのデータ１９０１で示されるようになる。
【０１０６】
この転送ジョブハンドルのデータ１９０１では、「転送元機器アドレス」及び「転送元機器ジョブＩＤ」には、機器Ｂの転送元の機器Ａのアドレス及びジョブＩＤが設定されている。
【０１０７】
また機器Ｂにおいて転送先が変更になったので、「有効転送先アドレス」には、機器Ｅのアドレスが設定されている。また転送先機器アドレスには、機器Ｃ，Ｄのアドレスが順に設定され、そのときパスのＩＤは「１」に設定される。また新規に変更された機器Ｅの転送先は末尾に、「転送先機器アドレス３（Ｅ）」として追加され、このパスＩＤは「２」に設定される。このようにパスＩＤを設定することで、機器Ｂではジョブの転送後もジョブハンドルを持つ機器が２つに分岐して存在することを認識できる。ＣＰＵ３３は自機で転送先が分岐していることを確認し、ジョブ制御の依頼先の機器や、ハンドル操作の依頼先の機器を特定することが可能となる。
【０１０８】
以上のような処理を実行することで、ジョブの転送後も転送元、転送先の全ての機器からジョブの属性を変更することが可能となる。
【０１０９】
［実施の形態３］
前述の実施の形態１ではジョブを中止する方法について、また実施の形態２ではジョブの属性を書き換える方法について説明した。これに対して本実施の形態３では、ジョブの転送処理を中止する方法について図２０のフローチャートを用いて説明する。
【０１１０】
本実施の形態３では、ジョブの転送処理を中止する処理について図２０のフローチャートを参照して説明する。尚、この実施の形態３においても、図１６のフローチャートと同じ処理を実行する。又、各機器の構成は前述の実施の形態１の複合機の構成と同じであるため、その説明を省略する。
【０１１１】
この実施の形態３では、図１６のステップＳ３７において、ジョブの転送中止要求があった場合にはＣＰＵ３３は処理をステップＳ４０へ移行することにより実行される。
【０１１２】
図２０は、実施の形態３に係るジョブの転送中止処理（図１６のステップＳ４０）を説明するフローチャートである。
【０１１３】
先ずステップＳ９１で、転送中止要求を受けた機器のＣＰＵ３３は、そのジョブが機内に存在するかを確認する。ジョブが機内に存在すると判断した場合はＣＰＵ３３は処理をステップＳ９２へ進め、そうでない場合はステップＳ１０１に進める。なお、このステップＳ１０１の処理は他の機器への問い合わせであり、前述の実施の形態１のステップＳ６０〜ステップＳ７１（図１７）の処理と同じであるので説明を省略する。
【０１１４】
ステップＳ９２では、ＣＰＵ３３は機器内のジョブが転送中であるか否かを確認する。転送中でない場合には処理をステップＳ９３に進め、ジョブハンドルを一次的にＤＲＡＭ３８にコピーし、「転送ジョブのジョブハンドルのキュー」からジョブハンドルデータを削除する。更に、そのジョブを「転送待機中のジョブのキュー」から「プリント待機中ジョブのキュー」へ移動する。
【０１１５】
次にステップＳ９４に進み、ステップＳ９３で一時的にコピーしたジョブハンドルデータから転送先の機器が存在するかを判定する。ここで転送先の機器が存在すると判定するとステップＳ９５に進み、その転送先の機器へジョブハンドルの削除要求を行う。そしてステップＳ９６で、その転送先の機器からのジョブハンドル削除完了通知を受けるとＣＰＵ３３は処理を終了する。一方、ステップＳ９４で、転送先の機器が存在しない場合にはＣＰＵ３３はそのまま処理を終了する。
【０１１６】
一方、ステップＳ９２でＣＰＵ３３が、ジョブの転送中であると判断した場合はステップＳ９７に進み、そのジョブが送信中であるかを判断する。ここでジョブが送信中であると判定するとステップＳ９８に進み、そうでない場合には処理をステップＳ９９へ進む。ステップＳ９８では、ＣＰＵ３３は実行中の送信処理をキャンセルしてステップＳ９３に進む。
【０１１７】
またステップＳ９９では、受信中のジョブを全て受信した後、そのジョブの削除を実施する。次にステップＳ１００に進み、転送元の機器が発行するジョブハンドル削除要求の受信を待つ。ここで削除要求を受信するとステップＳ９４に進み、前述した処理を実行する。
【０１１８】
以上のような処理を実行することで、ジョブの転送後も転送元、転送先の全ての機器からジョブの転送処理を中止することが可能となる。
【０１１９】
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、プリンタ、ファクシミリ、ＰＣ、サーバとクライアントとを含むコンピュータシステムなどの如くである。
【０１２０】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【０１２１】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１２２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２４】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【０１２５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【０１２６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【０１２７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【０１２８】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施の形態に係るコントローラが搭載された画像入出力装置の構成を示すブロック図である。
【図２】本実施の形態に係る画像入出力装置のリーダ部及びプリンタ部の詳細を示す図である。
【図３】本実施の形態に係るコントローラの構成を説明するブロック図である。
【図４】本実施の形態に係るメインコントローラの内部詳細を示すブロック構成図である。
【図５】クライアントのＰＣと複合機Ａ〜Ｃの３台の機器をＬＡＮで接続する一般的な印刷環境を説明する図である。
【図６】図５の一般的な印刷環境で複合機Ａにトラブルが発生した状態を説明する図である。
【図７】本実施の形態に係る情報処理システムにおいて複合機Ａでトラブルが発生した状態を示す図である。
【図８】図１２のステップＳ３でジョブハンドルを作成した状態を示す図である。
【図９】本実施の形態に係る転送プリント時の転送元と転送先の機器内のジョブのキューの状態およびジョブハンドルのキューの状態を表す図である。
【図１０】本発明の実施の形態１に係るシステムにおいて、転送先の機器（複合機Ｂ）から転送元の機器（複合機Ａ）のジョブの制御を行う状態を示す図である。
【図１１】本発明の実施の形態１に係るシステムにおいて、転送元の機器（複合機Ａ）から転送先の機器（複合機Ｂ）のジョブを制御する状態を示す図である。
【図１２】本実施の形態に係る画像出力装置におけるプリントジョブの転送処理を説明するフローチャートである。
【図１３】プリントジョブが転送された転送先の複合機におけるジョブハンドルの受信処理を説明するフローチャートである。
【図１４】ジョブハンドルの後に送られてくるジョブを受信する処理を説明するフローチャートである。
【図１５】本実施の形態１における複数の複合機の間での転送ジョブの制御を説明するシーケンス図である。
【図１６】本実施の形態１に係る転送ジョブの制御を説明するフローチャートである。
【図１７】図１６のステップＳ３８のジョブの中止制御を説明するフローチャートである。
【図１８】実施の形態２に係るジョブの属性変更処理（図１６のステップＳ３９）を説明するフローチャートである。
【図１９】実施の形態２において、ジョブの転送先の機器を変更した場合のジョブハンドルの内容を説明する図である。
【図２０】実施の形態３に係るジョブの転送中止処理（図１６のステップＳ４０）を説明するフローチャートである。
【図１】
0004979564.tif 000002
【図２】
0004979564.tif 000003
【図３】
0004979564.tif 000004
【図４】
0004979564.tif 000005
【図５】
0004979564.tif 000006
【図６】
0004979564.tif 000007
【図７】
0004979564.tif 000008
【図８】
0004979564.tif 000009
【図９】
0004979564.tif 000010
【図１０】
0004979564.tif 000011
【図１１】
0004979564.tif 000012
【図１２】
0004979564.tif 000013
【図１３】
0004979564.tif 000014
【図１４】
0004979564.tif 000015
【図１５】
0004979564.tif 000016
【図１６】
0004979564.tif 000017
【図１７】
0004979564.tif 000018
【図１８】
0004979564.tif 000019
【図１９】
0004979564.tif 000020
【図２０】
0004979564.tif 000021