(57)【要約】【課題】  印刷ジョブのデータが他のデバイスやファイルサーバにある場合、画像データを取得するにはデータ転送が必要になり、ローカルの記憶装置にデータがある印刷ジョブに比べて、印刷の開始やプレビューに時間がかかる。【解決手段】  印刷ジョブを開始し(S1602)、印刷ジョブの全頁のデータがローカルに保持されている否かを判定し(S1603)、印刷ジョブの全頁のデータがローカルにすべて保持されている場合は印刷処理(S1605)を継続し、そうでなければ、先頭部分の印刷に並行して、残る頁のデータを取得し(S1604)、印刷処理を行う(S1605)。【選択図】    図17
2006044168.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される画像処理装置であって、
印刷ジョブのデータを保持する保持手段と、
前記印刷ジョブに基づく印刷処理またはプレビュー処理を実行する処理手段と、
前記印刷ジョブの一部データが前記保持手段に保持されている場合、前記ネットワークを介して他の画像処理装置から残るデータを取得し、前記処理手段に供給する取得手段とを有することを特徴とする画像処理装置。
【請求項２】
前記保持手段は、他の画像処理装置に保持された印刷ジョブの先頭部分のデータを保持することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記先頭部分のデータは少なくとも一頁分のデータに対応することを特徴とする請求項2に記載された画像処理装置。
【請求項４】
前記取得手段は、前記一部データの前記印刷処理またはプレビュー処理が実行されている間に、前記残るデータの取得を開始することを特徴とする請求項1から請求項3の何れかに記載された画像処理装置。
【請求項５】
前記保持手段は、印刷ジョブのデータ量に応じて、前記印刷ジョブの全データまたは一部データを保持することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項６】
前記保持手段は、印刷ジョブの頁数に応じて、前記印刷ジョブの全データまたは一部データを保持することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項７】
前記保持手段は、前記印刷手段の能力に応じて、前記印刷ジョブの全データまたは一部データを保持することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項８】
前記印刷手段の能力は印刷スピードであることを特徴とする請求項7に記載された画像処理装置。
【請求項９】
前記印刷手段の能力は画像処理速度であることを特徴とする請求項7に記載された画像処理装置。
【請求項１０】
前記印刷手段の能力は給紙パスの長さであることを特徴とする請求項7に記載された画像処理装置。
【請求項１１】
前記保持手段は、画像記憶メモリの空き容量に応じて、前記印刷ジョブの全データまたは一部データを保持することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項１２】
前記保持手段は、前記印刷ジョブの日時情報に応じて、前記印刷ジョブの全データまたは一部データを保持することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項１３】
さらに、前記ネットワークを介して、他の画像処理装置から印刷ジョブのデータを要求された場合、前記画像処理装置に要求された印刷ジョブのデータを供給する供給手段を有することを特徴とする請求項5から請求項12の何れかに記載された画像処理装置。
【請求項１４】
前記保持手段は、前記印刷ジョブの機密性の度合いに応じて、前記印刷ジョブの全データまたは一部データを保持することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項１５】
前記保持手段は、前記機密性の度合いが高い印刷ジョブは全データを保持することを特徴とする請求項14に記載された画像処理装置。
【請求項１６】
ネットワークに接続される画像処理装置の制御方法であって、
印刷ジョブのデータを保持し、
前記印刷ジョブに基づく印刷処理またはプレビュー処理を実行し、
前記印刷ジョブの一部データが保持されている場合、前記ネットワークを介して他の画像処理装置から残るデータを取得し、前記印刷処理またはプレビュー処理に供給することを特徴とする制御方法。
【請求項１７】
情報処理装置を制御して、請求項16に記載された制御を実現することを特徴とするプログラム。
【請求項１８】
請求項17に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその制御方法に関し、例えば、ネットワークに接続される画像処理装置の印刷処理およびプレビュー処理に関する。
【背景技術】
【０００２】
近年、ハードディスクの大容量化、低価格化に伴い、プリンタ、プリンタ機能をもつ複写機、複合機(MFP)などは画像データを蓄積する大容量のハードディスクを備え、スキャナによって読み取った画像、ページ記述言語(PDL)データをレンダリングした画像、ファクシミリ受信文書などをハードディスクに蓄積し、蓄積した画像や文書などを繰り返し印刷することが可能になった。
【０００３】
加えて、ネットワークの普及、および、ネットワークの通信速度の向上により、特開平11-224268号公報に記載されているように、ネットワークに接続された機器が画像ファイルを分散して記憶し共有する分散ストレージも提案されている。
【０００４】
しかし、画像データの実体が他のデバイスやファイルサーバにある場合、画像データを取得するにはデータ転送が必要になり、ローカルの記憶装置に画像データの実体があるジョブに比べて、印刷の開始やプレビューに時間がかかる問題がある。
【０００５】
【特許文献１】特開平11-224268号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述の問題を個々にまたはまとめて解決するもので、印刷ジョブのデータが他のデバイスにある場合でも、印刷の開始やプレビューに時間がかからないようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明は、ネットワークに接続される画像処理装置において、印刷ジョブのデータを保持し、印刷ジョブに基づく印刷処理またはプレビュー処理を実行し、印刷ジョブの一部データが保持されている場合、ネットワークを介して他の画像処理装置から残るデータを取得し、印刷処理またはプレビュー処理に供給することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、印刷ジョブのデータが他のデバイスにある場合でも、印刷の開始やプレビューに時間がかからないようにすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明に好適な一実施例を詳細に説明する。
【００１１】
［概要］
図1は実施例の分散ストレージの概要を説明する図である。
【００１２】
ネットワーク25には複数のMFP (MultiFunctional Peripheral device) 21、22、23、24が接続されている。これらのMFPは、ハードディスクによる記憶装置をもち、それらをネットワーク25に接続されたMFP間で共有し、相互参照することができる。つまり、MFPは、仮想ストレージ26を共有していることになる。
【００１３】
例えばMFP 21のハードディスクには、そのデバイスが記憶するデータのストレージエリア27に加え、他のデバイスが記憶するデータの先頭部分（例えば一頁目など）のみを重複保持するストレージエリア28を有する。MFP 21が印刷を行う場合、自身のハードディスクのストレージ内容を参照して、ストレージエリア27に記憶するデータの印刷ジョブであれば、そのデータを読み出して印刷ジョブを実行する。また、ストレージエリア28に記憶するデータの印刷ジョブであれば、そのデータ（先頭部分のみ）を読み出し、以降の部分はネットワーク25を介して他のMFPにデータを要求し、データを受信して印刷ジョブを実行する。勿論、他のMFPも同様の仕組みをもつ。
【００１４】
なお、このような分散ストレージの手法を「一部重複保持分散記憶」と呼ぶことにする。
【００１５】
［MFP］
図2はMFPの構成例を示すブロック図である。
【００１６】
リーダ1は、原稿画像をCCDイメージセンサなどにより光電的に読み取り、原稿画像に応じた画像データを制御部3へ出力する。プリンタ2は、例えばレーザビームプリンタで、制御部3から入力される画像データに応じた画像を記録紙に記録する。制御部3は、ファクシミリ部4、ストレージ部5、ネットワークインタフェイス7、RIP (Raster Image Processor)8、操作部9、コア部10などからなる。
【００１７】
ファクシミリ部4は電話回線を介して受信したファクシミリデータを復号して、復号して得た画像データをコア部10へ送信し、また、コア部10から受信した画像データを符号化して、符号化して得たファクシミリデータを電話回線を介して指定の宛先へ送信する。なお、送受信する画像データは、ストレージ部5によりハードディスク6に保存することができる。
【００１８】
ストレージ部5は、ハードディスク6を有し、コア部10から受信した画像データを圧縮して、その画像データを検索するためのID番号とともにハードディスク6に格納する。また、ストレージ部5は、コア部10から受信したID番号などのコードに基づきハードディスク6に格納した圧縮画像データを抽出し、抽出した圧縮画像データを伸長し、伸長した画像データをコア部10へ送信する。なお、ハードディスク6は例えば200GBの記憶容量を有し、画像の内容にも左右されるが、A4サイズの画像約十万頁を記憶可能である。さらに、ストレージ部5は、ハードディスク6の接続の有無および故障の有無をハードディスクインタフェイスを介したコマンド/レスポンス、所定データの書き込み・読み出し、照合を行うことで検出する。
【００１９】
ネットワークインタフェイス7は、ローカルエリアネットワーク(LAN)12に接続し、LAN 12に接続されたパーソナルコンピュータ(PC)やワークステーション(WS)11とコア部10のインタフェイスを行う。
【００２０】
RIP 8は、PC/WS 11から受信したPDLデータをプリンタ2が記録可能な画像データにレンダリングする。
【００２１】
操作部9は、タッチパネルディスプレイやハードウェアキーを備える、MFPのユーザインタフェイスで、ユーザのMFPに対する動作指示や設定指示を入力してコア部10へ送信するとともに、コア部10から受信したMFPの動作状態などを表示する。
【００２２】
コア部10は、詳細は後述するが、リーダ1、プリンタ2、ファクシミリ部4、ストレージ部5、ネットワークインタフェイス7、RIP 8、操作部9を制御し、それら構成の間のデータの流れを制御する。
【００２３】
［リーダおよびプリンタ］
図3はリーダ1およびプリンタ2の概観を示す図である。
【００２４】
リーダ1の原稿給送装置101は、ユーザにより所定の載置場所にセットされた複数枚の原稿を先頭頁から順に一枚ずつプラテンガラス102へ搬送し、原稿画像の読み取り終了後、プラテンガラス102上の原稿を所定の排出場所へ搬送する。
【００２５】
リーダ1は、原稿がプラテンガラス102上に搬送されると、ランプ103を点灯し、スキャナユニット104の移動を開始して、原稿を露光走査する。原稿からの反射光は、ミラー105、106、107およびレンズ108によってCCDイメージセンサ109へ導かれ、CCDイメージセンサ109は、原稿からの反射光を光電変換した画像信号を出力する。この画像信号は、A/D変換、シェーディング補正、色空間変換などの所定の画像処理が施された後、制御部3のコア部10へ転送される。
【００２６】
プリンタ2のレーザドライバ221は、制御部3のコア部10から入力される画像データに応じてレーザ発光部201を駆動する。レーザ発光部201が出力するレーザ光は、感光ドラム202に照射され、感光ドラム202に静電潜像を形成する。この静電潜像には、現像器203によって現像剤が付着される。
【００２７】
また、カセット204または205から供給される記録紙を、レーザ光の照射開始と同期したタイミングで転写部206へ搬送し、感光ドラム202上の現像剤を記録紙に転写する。現像剤が転写された記録紙は、定着部207に搬送され、定着部207の熱と圧力により現像剤が記録紙に定着される。定着部207を通過した記録紙は、排出ローラ208によってフィニッシャ220に排出される。フィニッシャ220は、記録紙を複数枚束ねて仕分けを行ったり、仕分けた記録紙に対するステープル処理などを行う。
【００２８】
また、両面印刷が設定されている場合、その一面に画像が印刷された記録紙は、排出ローラ208まで搬送された後、排出ローラ208の逆回転およびフラッパ209によって、再給紙搬送路210へ導かれる。再給紙搬送路210へ導かれた記録紙は、上述したタイミングで転写部206へ給紙され、他面に画像が印刷される。
【００２９】
［コア部］
図4はコア部10の構成例を示すブロック図である。
【００３０】
リーダ1からコア部10へ入力される画像データは、インタフェイス(I/F) 122を介して、データ処理部121へ入力される。データ処理部121は、画像の回転や変倍などの画像処理や、画像データの圧縮、伸長を行い、A4またはレターサイズ相当の画像データを四頁分記憶可能なページメモリ125を有する。リーダ1からデータ処理部121へ転送された画像データは、ページメモリ125に一時的に記憶された後、圧縮され、I/F 120を介してストレージ部5へ入力される。
【００３１】
また、ネットワークインタフェイス7を介してコア部10へ入力されるPDLデータは、I/F 120を介してデータ処理部121に入力された後、I/F 120を介してRIP 8へ入力されてレンダリングされる。レンダリング後の画像データは、I/F 120を介してデータ処理部121に入力され、ページメモリ125に一時的に記憶された後、圧縮され、I/F 120を介してストレージ部5へ入力される。
【００３２】
また、ファクシミリ部4からコア部10へ入力される画像データは、I/F 120を介してデータ処理部121へ入力され、ページメモリ125に一時的に記憶された後、圧縮され、I/F 120を介してストレージ部5へ入力される。
【００３３】
一方、ストレージ部5からコア部10へ入力される画像データは、I/F 120を介してデータ処理部121へ入力され、伸長されてページメモリ125に一時的に記憶された後、I/F 120または122を介してプリンタ2、ファクシミリ部4またはネットワークインタフェイス7へ入力される。
【００３４】
勿論、データ処理部121に画像データを入力し、ページメモリ125に一時的に記憶した後、ストレージ部5へ画像データを転送する前に、プリンタ2、ファクシミリ部4またはネットワークインタフェイス7へ画像データを転送することもできる。
【００３５】
CPU 123は、メモリ124に記憶された制御プログラム、および、操作部9からI/F 120を介して入力される指示に従い、上記の構成を制御して、指示された動作を行う。なお、メモリ124は、CPU 123の作業領域としても利用される。
【００３６】
このように、コア部10を中心に、データ処理部121およびストレージ部5を介して、原稿画像の読み取り、画像のプリント、画像の送受信、画像の保存、コンピュータとの間の画像データの入出力などの機能を複合させた処理を行うことが可能である。
【００３７】
また、上記では、MFP内のストレージ部5に画像データを記憶させる構成を説明したが、ネットワークインタフェイス7およびネットワーク12を介して外部のサーバにアクセスし、そのサーバに画像データを記憶させることもできる。
【００３８】
［ジョブ制御］
次に、制御部3のコア部10のCPU 123が実行するジョブ制御について、ハードディスク6が正常な場合の例を説明する。
【００３９】
●ジョブ制御の単位
図5はジョブ制御を説明する図で、ジョブ制御の単位を論理的に示す。
【００４０】
ジョブ制御の単位は、複数頁を含む画像データの一纏まりに対する一連の入力および出力処理である。これにより、ジョブは、画像入力ジョブと画像出力ジョブに大別される。
【００４１】
画像入力ジョブは、(i) リーダ1で読み取った画像データを、順次、ストレージ部5へ格納する画像入力ジョブ411、(ii) RIP 8でレンダリングした画像データを、順次、ストレージ部5へ格納する画像入力ジョブ412、(iii) ファクシミリ部4が受信した画像データを、順次、ストレージ部5へ格納する画像入力ジョブ413、および、(iv) ネットワークインタフェイス7から入力される画像データを、順次、ストレージ部5へ格納する画像入力ジョブ414に分類される。
【００４２】
また、画像出力ジョブは、ストレージ部5から読み出した画像データを、順次、(i) プリンタ2へ出力する画像出力ジョブ401、(ii) ファクシミリ部4へ出力する画像出力ジョブ403、および、(iii) ネットワークインタフェイス7へ出力する画像出力ジョブ404に分類される。
【００４３】
●セッション
図6は画像入力ジョブと画像出力ジョブを組み合わせた単位（以下「セッション」と呼ぶ）を説明する図である。
【００４４】
セッションには、(i) 画像入力ジョブ412と画像出力ジョブ401を組み合わせたPDLプリントセッション501、(ii) 画像入力ジョブ411と画像出力ジョブ401を組み合わせたコピーセッション502、(iii) 画像入力ジョブ411と画像出力ジョブ403を組み合わせたファクシミリ送信セッション503、(iv) 画像入力ジョブ413と画像出力ジョブ401を組み合わせたファクシミリ受信セッション、および、(v) 画像入力ジョブ411と画像出力ジョブ404を組み合わせたスキャンセッションがある。
【００４５】
なお、セッションは一つ以上のジョブを含む制御単位で、図6に示すセッション以外に、例えば、画像入力ジョブ411を1セッションとして扱ったり、画像出力ジョブ401を1セッションとして扱ったり、画像入力ジョブ411と、画像出力ジョブ401、403、404の二つまたは三つを組み合わせて、合計三つまたは四つのジョブの組み合わせを1セッションとして扱うこともできる。
【００４６】
●セッション制御
次に、ハードディスク6の空き領域がなくなるディスクフル状態が発生していない場合に、制御部3のコア部10のCPU 123が実行するセッション制御タスクおよびジョブ制御タスクを説明する。なお、CPU 123は、セッション制御タスク、画像入力ジョブ制御タスクおよび画像出力ジョブ制御タスクをマルチタスク処理する。また、ハードディスク6へ画像データを格納中に、ハードディスク6のディスクフル状態（所定の最大記憶可能容量）に達した場合の動作は後述する。
【００４７】
図7はPDLプリントセッション501の制御手順を説明するフローチャートである。
【００４８】
PC/WS 11上でユーザがプリント設定を行う。その設定内容は、頁数、部数、原稿サイズ、記録紙サイズ、拡大縮小率、片面印刷/両面印刷、レイアウト、頁出力順序、ソートモードなどであるが、ここでは、以下の設定がなされたものとする。
P1: 頁数=20頁
P2: 印刷部数=10部
P3: 片面印刷
P4: 原稿サイズ=A4
P5: 記録紙サイズ=A4
P6: 拡大縮小率=100%
P7: レイアウトしない
P8: 頁出力順序=昇順
P9: ソーティングする
【００４９】
プリント設定の後、ユーザがPC／WS 11に印刷指示を与えると、PC/WS 11にインストールされたプリンタドライバは、印刷対象の文書（画像）データをPDLデータに変換し、設定されたプリント設定パラメータP1〜P9を含むPDLデータを、PC/WS 11のネットワークインタフェイスカード(NIC)を介して、ネットワーク12に接続されたMFP（制御部3）に送信する。
【００５０】
制御部3は、印刷ジョブを受信すると、PDLデータを、データ処理部121に入力する。その後、PDLデータはRIP 8へ転送され、順次、画像データにラスタライズされる。RIP 8は、PDLデータの受信を開始するとコア部10のCPU 123へ処理要求を発行する。この処理要求とともに、プリント設定パラメータP1〜P9がCPU 123へ転送される。
【００５１】
CPU 123（セッション制御タスク）は、処理要求を受信すると(S601)、一単位の処理要求を画像入力ジョブおよび画像出力ジョブに分け、これらジョブに対応するセッション（この例ではPDLプリントセッション501）を生成し(S602)、図8に示すセッション管理テーブル700によって管理する。セッション管理テーブル700は、メモリ124上に作成され、セッションが終了するまで各種情報（下記参照）を保持する。
──────────────────────────────────
セッション管理テーブル
──────────┬──┬────────────────────
フィールド名    │符号│              保持する情報
──────────┼──┼────────────────────
セッションID    │ 701│ユニークなIDとして生成されるセッションID
──────────┼──┼────────────────────
セッションタイプ  │ 702│セッションのタイプ (*1)
──────────┼──┼────────────────────
セッション優先順位│ 703│セッションの処理順序に関する優先順位
──────────┼──┼────────────────────
セッションステータス│ 704│セッションの実行状態 (*2)
──────────┼──┼────────────────────
リンクジョブ数   │ 705│セッションを構成するジョブの数 (*3)
──────────┼──┼────────────────────
ジョブポインタ (*4) │ 706│画像入力ジョブのジョブ管理テーブルへの
│    │ポインタ
──────────┼──┼────────────────────
ジョブポインタ (*4) │ 707│画像出力ジョブのジョブ管理テーブルへの
│    │ポインタ
──────────┴──┴────────────────────
*1: この例ではPDLプリントセッション501を示す情報だが、前述したように、
コピーセッション502、ファクシミリ送信セッション503、ファクシミリ
受信セッション504、スキャンセッション505がある
*2: 実行可能状態、実行状態、中断状態、終了状態、エラー状態など
*3: この例では、PDLプリントセッション501を構成する画像入力ジョブ412
と画像出力ジョブ401の二つのジョブからなるので、構成数として「2」
が設定される
*4: ジョブポインタフィールドおよびジョブ管理テーブルは、セッション
を構成するジョブの数分用意される
【００５２】
次に、CPU 123（セッション制御タスク）は、図8に示す、画像入力ジョブ412用のジョブ管理テーブル710をメモリ124上に作成する(S603)。ジョブ管理テーブル710は、画像入力ジョブ412が終了するまで各種情報（下記参照）を保持する。
──────────────────────────────────
ジョブ管理テーブル
──────────┬──┬────────────────────
フィールド名    │符号│              保持する情報
──────────┼──┼────────────────────
ジョブID      │ 711│ユニークなIDとして生成されるジョブID
──────────┼──┼────────────────────
ジョブタイプ    │ 712│ジョブのタイプ (*1)
──────────┼──┼────────────────────
ジョブ優先順位   │ 713│ジョブの処理順序に関する優先順位
──────────┼──┼────────────────────
ジョブステータス  │ 714│ジョブの実行状態 (*2)
──────────┼──┼────────────────────
頁数        │ 715│ジョブの頁数
──────────┼──┼────────────────────
ページポインタ (*4) │ 716│ジョブが管理する各頁の詳細情報を記述する
│    │ページ管理テーブルへのポインタ
──────────┼──┼────────────────────
ジョブパラメータ(*5)│ 717│ジョブの各種設定パラメータ
──────────┴──┴────────────────────
*1: この例では画像入力ジョブ412を示す情報
*2: 実行可能状態、実行状態、中断状態、終了状態、エラー状態など
*3: この例では、PDLプリントセッション501を構成する画像入力ジョブ412
と画像出力ジョブ401の二つのジョブからなるので、構成数として「2」
が設定される
*4: ページ管理テーブル720はハードディスク6に記録される
*5: この例ではプリント設定パラメータP1〜P9
【００５３】
次に、CPU 123（セッション制御タスク）は、図8に示す、画像出力ジョブ401用のジョブ管理テーブル730をメモリ124上に作成する(S604)。ジョブ管理テーブル730は、画像入力ジョブ412が終了するまで各種情報（下記参照）を保持する。
──────────────────────────────────
ジョブ管理テーブル
──────────┬──┬────────────────────
フィールド名    │符号│              保持する情報
──────────┼──┼────────────────────
ジョブID      │ 731│ユニークなIDとして生成されるジョブID
──────────┼──┼────────────────────
ジョブタイプ    │ 732│ジョブのタイプ (*1)
──────────┼──┼────────────────────
ジョブ優先順位   │ 733│ジョブの処理順序に関する優先順位
──────────┼──┼────────────────────
ジョブステータス  │ 734│ジョブの実行状態 (*2)
──────────┼──┼────────────────────
頁数        │ 735│ジョブの頁数
──────────┼──┼────────────────────
ページポインタ (*4) │ 736│ジョブが管理する各頁の詳細情報を記述する
│    │ページ管理テーブルへのポインタ
──────────┼──┼────────────────────
ジョブパラメータ(*5)│ 737│ジョブの各種設定パラメータ
──────────┴──┴────────────────────
*1: この例では画像出力ジョブ401を示す情報
*2: 実行可能状態、実行状態、中断状態、終了状態、エラー状態など
*3: この例では、PDLプリントセッション501を構成する画像入力ジョブ412
と画像出力ジョブ401の二つのジョブからなるので、構成数として「2」
が設定される
*4: ページ管理テーブル740の実体は、画像入力ジョブ412に関してハード
ディスク6上に記録されたページ管理テーブル720と同一のもの
*5: この例ではプリント設定パラメータP1〜P9
【００５４】
次に、CPU 123（セッション制御タスク）は、ジョブ管理テーブル710および730を作成後、画像入力ジョブおよび画像出力ジョブの制御タスクを起動して、画像入力ジョブ412および画像出力ジョブ401の開始を指示する(S605)。
【００５５】
次に、CPU 123（セッション制御タスク）は、画像入力ジョブ制御タスクからジョブの終了通知を受信すると(S606)、画像入力ジョブ412の終了処理を行い、ジョブ管理テーブル710のジョブステータス714を終了状態にする(S607)。
【００５６】
次に、CPU 123（セッション制御タスク）は、画像出力ジョブ制御タスクからジョブの終了通知を受信すると(S608)、画像入力ジョブ401の終了処理を行い、ジョブ管理テーブル730のジョブステータス734を終了状態にする(S609)。続いて、CPU 123（セッション制御タスク）は、セッションの終了処理を行い、ジョブ管理テーブル710、730、ページ管理テーブル720、740で管理される各頁の画像データを破棄してメモリリソースを解放するとともに、セッション管理テーブル700も破棄して一連の処理を終了する(S610)。
【００５７】
画像入力ジョブ制御タスクは、他の画像入力ジョブが非実行で、新たな画像入力ジョブの開始が可能な状態であれば、セッション制御タスクから指示された画像入力ジョブ412を開始する。
【００５８】
まず、画像入力ジョブ制御タスクは、RIP 8でレンダリングされた画像データを一頁分受信する(S621)。つまり、RIP 8からI/F 120を介してデータ処理部121へ一頁分の画像データが転送される。続いて、データ処理部121に入力された画像データをページメモリ125に記憶し（ページ一次記憶と呼ぶ）(S622)、画像出力ジョブ制御タスクに頁出力要求（ページメモリ125にページ一次記憶した画像データの出力要求）を送信する(S623)。
【００５９】
画像出力ジョブ制御タスクの後述する処理により、ページメモリ125から当該頁の画像データの読み出しが終了すると、画像入力ジョブ制御タスクは、ストレージ部5を制御して、ページメモリ125に記憶した画像データをハードディスク6に格納する（ページ二次記憶と呼ぶ）(S624)。その際、ページ管理テーブル720のページフィールド721に各種の画像属性情報（解像度、画素数など）を記録する。
【００６０】
次に、画像入力ジョブ制御タスクは、ジョブパラメータフィールド717に記録された頁数を示すパラメータP1を参照して、すべての頁の画像データがハードディスク6に格納されたか否かを判定し(S625)、未格納の頁があれば処理をステップS621に戻す。
【００６１】
すべての頁の画像データをハードディスク6に格納した場合、画像入力ジョブ制御タスクは、セッション制御タスクにジョブの終了通知を送信し(S626)、制御を終了する。
【００６２】
他方、画像出力ジョブ制御タスクは、プリンタ2が未使用で、新たなプリント動作が可能な状態にあれば、セッション制御タスクから指示された画像出力ジョブ401を開始する。
【００６３】
まず、画像出力ジョブ制御タスクは、頁出力要求を受信すると(S641)、プリンタ2の使用権を獲得した後、ページメモリ125から画像データを読み出し(S642)、画像データをI/F 122を介してプリンタ2へ転送し、プリンタ2に画像をプリントさせる(S643)。
【００６４】
次に、画像出力ジョブ制御タスクは、ジョブパラメータフィールド737に記録された頁数を示すパラメータP1を参照して、頁出力要求が一部目の最終頁に対応するか否かを判定し(S644)、未出力の頁がある場合は処理をステップS641に戻す。一部目の最終頁を出力した場合、ここまでの処理により、印刷部数パラメータP2に設定された印刷部数のうち、第一部が完了することになるので、この段階で、必要に応じステープル処理をプリント出力に実行してもよい。
【００６５】
次に、画像出力ジョブ制御タスクは、ジョブパラメータフィールド737に記録された印刷部数を示すパラメータP2を参照して、指定部数の印刷が終了したか否かを判定し(S645)、終了であればステップS650へジャンプする。
【００６６】
印刷部数がパラメータP2に指定された印刷部数に達していない場合、画像出力ジョブ制御タスクは、ストレージ部5を制御して、ハードディスク6に格納された画像データを、頁単位に、順次、読み出させ、読み出した画像データをI/F 120を介してデータ処理部121に転送させる(S646)。データ処理部121は、入力された一頁分の画像データをページメモリ125に記憶する。
【００６７】
次に、画像出力ジョブ制御タスクは、プリンタ2の使用権を獲得した後、ページメモリ125から画像データを読み出し(S647)、画像データをI/F 122を介してプリンタ2へ転送し、プリンタ2に画像をプリントさせる(S648)。
【００６８】
次に、画像出力ジョブ制御タスクは、ジョブパラメータフィールド737に記録された頁数を示すパラメータP1を参照して、頁出力要求が現在のn部目の最終頁に対応するか否かを判定し(S649)、未出力の頁がある場合は処理をステップS646に戻す。また、現在のn部目の最終頁を出力した場合、ここまでの処理により、第n部が完了することになるので、この段階で、必要に応じステープル処理をプリント出力に実行してもよい。
【００６９】
次に、画像出力ジョブ制御タスクは、ジョブパラメータフィールド737に記録された印刷部数を示すパラメータP2を参照して、指定部数の印刷が終了したか否かを判定し(S650)、未了であれば処理をステップS646へ戻す。
【００７０】
指定部数の印刷が終了すると、画像出力ジョブ制御タスクは、セッション制御タスクにジョブの終了通知を送信し(S650)、制御を終了する。
【００７１】
以上の例では、PC/WS 11で設定されたプリント設定に従い、PC/WS 11から受信したPDLデータを画像データにレンダリングしてプリント出力するPDLプリントセッション501を説明したが、上記の説明は、リーダ1で読み取った画像をプリント出力するコピーセッション502にも同様に適用することができる。以下、図7を用いて、コピーセッション502を説明する。
【００７２】
まず、ユーザは、制御部3の操作部9を使用してコピー動作のための各種設定を行う。
【００７３】
図9は操作部9の外観例を示す図である。操作部9は、電源キー801、予熱キー802、コピー機能選択キー803、ファクシミリ機能選択キー804、パーソナルボックス機能選択キー805、スタートキー806、ストップキー807、リセットキー808、操作ガイドキー809、ユーザモード設定キー810、割込コピーキー811、テンキー812、クリアキー813、ファクシミリワンタッチキー814、ワンタッチキーの切り替え蓋815、タッチパネル816などを備える。
【００７４】
コピー動作のための設定内容は、部数、記録紙サイズ、拡大縮小率、片面/両面コピー、ソーティングモードなどで、テンキー812およびタッチパネル816上に表示される設定項目に従って入力することができる。ここでは、以下のコピー動作が設定されているものとする。
C1: コピー部数=10部
C2: 片面コピー
C3: 記録紙サイズ=A4
C4: 拡大縮小率=100%
C5: レイアウト=しない
C6: ソーティングする
【００７５】
コピー動作の設定後、ユーザが原稿をリーダ1に載置してスタートキー806を押すと、操作部9は、コピー設定パラメータC1〜C7をコア部10のCPU 123に送信し、コピージョブの処理要求を発行する。
【００７６】
CPU 123（セッション制御タスク）は、処理要求を受信すると(S601)、一単位の処理要求を画像入力ジョブおよび画像出力ジョブに分け、これらジョブに対応するセッション（この例ではコピーセッション502）を生成し(S602)、図8に示すセッション管理テーブル700によって管理する。ここでは、セッション管理テーブル700に保持する各種情報の説明は省略するが、セッションタイプフィールド702にはコピーセッション502を示す情報が保持される。
【００７７】
次に、CPU 123（セッション制御タスク）は、図8に示す、画像入力ジョブ411用のジョブ管理テーブル710をメモリ124上に作成する(S603)。ジョブ管理テーブル710は、画像入力ジョブ411が終了するまで各種情報を保持する。ここでは、ジョブ管理テーブル710に保持する各種情報の説明は省略するが、ジョブタイプフィールド712には画像入力ジョブ411を示す情報を示す情報が保持され、ジョブパラメータフィールド717にはコピー設定パラメータC1〜C7が保持される。
【００７８】
次に、CPU 123（セッション制御タスク）は、図8に示す、画像出力ジョブ401用のジョブ管理テーブル730をメモリ124上に作成する(S604)。ジョブ管理テーブル730は、画像入力ジョブ412が終了するまで各種情報を保持する。ここでは、ジョブ管理テーブル730に保持する各種情報の説明は省略するが、ジョブパラメータフィールド737にはコピー設定パラメータC1〜C7が保持される。
【００７９】
次に、CPU 123（セッション制御タスク）は、ジョブ管理テーブル710および730を作成後、画像入力ジョブおよび画像出力ジョブの制御タスクを起動して、画像入力ジョブ411および画像出力ジョブ401の開始を指示する(S605)。
【００８０】
次に、CPU 123（セッション制御タスク）は、画像入力ジョブ制御タスクからジョブの終了通知を受信すると(S606)、画像入力ジョブ412の終了処理を行い、ジョブ管理テーブル710のジョブステータス714を終了状態にする(S607)。
【００８１】
次に、CPU 123（セッション制御タスク）は、画像出力ジョブ制御タスクからジョブの終了通知を受信すると(S608)、画像入力ジョブ401の終了処理を行い、ジョブ管理テーブル730のジョブステータス734を終了状態にする(S609)。続いて、CPU 123（セッション制御タスク）は、セッションの終了処理を行い、ジョブ管理テーブル710、730、ページ管理テーブル720、740で管理される各頁の画像データを破棄してメモリリソースを解放するとともに、セッション管理テーブル700も破棄して一連の処理を終了する(S610)。
【００８２】
画像入力ジョブ制御タスクは、リーダ1が未使用で、新たな読み取り動作が可能な状態であれば、セッション制御タスクから指示された画像入力ジョブ411を開始する。
【００８３】
まず、画像入力ジョブ制御タスクは、リーダ1で読み取られた画像データを一頁分受信する(S621)。つまり、リーダ1からI/F 120を介してデータ処理部121へ一頁分の画像データが転送される。続いて、データ処理部121に入力された画像データをページメモリ125に記憶し(S622)、画像出力ジョブ制御タスクに頁出力要求を送信する(S623)。
【００８４】
画像出力ジョブ制御タスクの後述する処理により、ページメモリ125から当該頁の画像データの読み出しが終了すると、画像入力ジョブ制御タスクは、ストレージ部5を制御して、ページメモリ125に記憶した画像データをハードディスク6に格納する(S624)。その際、ページ管理テーブル720のページフィールド721に各種の画像属性情報（解像度、画素数など）を記録する。
【００８５】
次に、画像入力ジョブ制御タスクは、リーダ1からの信号を参照して、すべての原稿の画像データがハードディスク6に格納されたか否かを判定し(S625)、未格納の原稿があれば処理をステップS621に戻す。
【００８６】
すべての原稿の画像データをハードディスク6に格納した場合、画像入力ジョブ制御タスクは、セッション制御タスクにジョブの終了通知を送信し(S626)、制御を終了する。
【００８７】
画像出力ジョブ制御タスクは、上述したPDLプリントセッション501の場合と全く同じなので、その説明を省略する。
【００８８】
以上の例では、PDLプリントセッション501とコピーセッション502における制御部3の処理を説明したが、図6にセッションの拡張例を示したように、任意の画像入力ジョブと任意の画像出力ジョブを組み合わせて任意のセッションを構成しても、上述した制御手順を、そのセッションに同様に適用することが可能である。
【００８９】
［ハードディスク管理］
次に、ストレージ部5のハードディスク6に画像データを格納する際のディスクの空き容量の確認と使用領域の確保について説明する。
【００９０】
一般に、ディスク領域の確保と使用領域の管理には、FAT (File Allocation Table)と呼ばれるテーブルが利用される。図10はストレージ部5またはコア部10に用意されたFAT 900を示す図で、FAT 900は複数のFATエントリ901を有する。各FATエントリ901は、所定の論理ブロックに相当し、例えば1FATの論理ブロックを512バイトとすると、全ディスク容量はFATエントリ数×512バイトである。
【００９１】
FATエントリ901には、当該FATエントリの使用状態およびリンクが書き込まれる。「0」は未使用のFATエントリを示し、使用中のFATエントリには「0」以外の値を書き込む。また、複数のFATエントリを使用する場合は、当該FATエントリがリンクするFATエントリの番号を書き込み、リンクの最後のFATエントリには0xFFを書き込む。
【００９２】
図11はFAT 900で管理されるハードディスク6の使用状態を概念的に表す図である。ハードディスク6の記憶領域902は、複数の論理ブロック903の集合で、パターンを施した論理ブロック903は使用中の記憶領域を示す。
【００９３】
従って、コア部10のCPU 123は、FAT 900を参照することで、ハードディスク6の使用状況（空き状態）を知ることができる。つまり、CPU 123は、ストレージ部5を制御して、ハードディスク6に画像データを格納する際、ハードディスク6の空き容量を検知し、その領域を確保することが可能である。
【００９４】
［ディスクフル状態における制御］
図12は、図7に示すステップS624でハードディスク6に画像データを格納しようとする際に、記憶領域を確保できないディスクフル状態の場合に、CPU 123が実行する制御手順例を示すフローチャートである。なお、以下の説明は、実行中の画像入力ジョブが複数頁の画像データを入力し、複数部の印刷を行うジョブで、ハードディスク6に少なくとも一頁の画像データを格納した後、ディスクフル状態となった場合を想定する。
【００９５】
CPU 123（画像入力ジョブ制御タスク）は、画像データの格納前または格納中にディスクフル状態を検知すると、現在の画像入力ジョブをひとまず中断し(S1301)、ハードディスク6に空き領域があるか否かを判定し(S1302)、空きがあればディスクフル状態の制御を終了し、通常の制御に復帰する。
【００９６】
一方、空きがないと判定した場合は、現在進行中の画像出力ジョブがあるか否かを判定し(S1303)、なければステップS1306へ分岐する。また、進行中の画像出力ジョブがある場合は、当該画像出力ジョブのセッションにおいて画像入力ジョブは終了しているか否かを判定し(S1304)、未了であればステップS1302へ戻り、当該セッションの進行により記憶領域に空きができるのを待つ。
【００９７】
一方、画像入力ジョブが完了している場合は、何らかの原因で当該画像出力ジョブが中断状態にあるか否かを判定する(S1305)。中断状態の画像出力ジョブとは、例えば、印刷中に記録紙がなくなり出力を中断している画像出力ジョブや、記録紙のジャムやトナー切れなどの要因で印刷が継続できない状態で出力を中断している画像出力ジョブなどである。このような画像出力ジョブがある場合、その中断要因を解除することで、画像出力ジョブが再開され、ハードディスク6の空き領域が増える可能性がある。そこで、解除可能な何らかの要因で当該画像出力ジョブが出力中断状態にある場合は、ステップS1302からS1305の処理をループして、当該画像出力ジョブの再開を待ち、当該画像出力ジョブの再開によりハードディスク6に空き領域ができれば、画像入力ジョブを再開する。
【００９８】
また、中断状態の画像出力ジョブがないと判定した場合は、処理をステップS1306へ分岐する。すなわち、ステップS1306以降の処理は、ハードディスク6に記憶領域を確保できる見込みがないと判断した場合に、CPU 123（画像入力ジョブ制御タスク）が実行す手順である。
【００９９】
CPU 123（画像入力ジョブ制御タスク）は、セッション管理テーブル700を調べて、当該画像入力ジョブを含むセッションを特定し、そのセッションを中断するとともに、当該セッションのセッションステータスフィールド704、および、当該画像入力ジョブのジョブ管理テーブル710のジョブステータスフィールド714に中断状態の旨を書き込む(S1306)。
【０１００】
次に、画像入力ジョブを含むセッションが複数存在するか否かを判定し(S1307)、複数存在する場合は、複数のセッションのなから中止（キャンセル）するセッションをユーザに選択させる(S1308)。この選択のために、操作部9のタッチパネル816に、図13に示す選択画面1100を表示する。選択画面1100の残量表示部1102は、ハードディスク6の空き容量を示し、図の例では「0%」が表示されている。セッション表示1103、1104、1105および1106はそれぞれ既存の複数のセッションを示し、図の例では、セッション1103および1104はPDLプリントセッション501であり、セッション1105および1106はコピーセッション502である。ユーザは、選択キー1108を操作して表示されたセッションの中から一つのセッションを選択し、中止キー1107を押すと、選択セッションが中止される。
【０１０１】
次に、中止対象のセッション（既存セッションが一つの場合はそのセッション、複数の場合は選択され中止が指示されたセッション）について、ディスクフル状態になるまでにハードディスク6に格納された画像データを出力するか否かをユーザに選択させる(S1309)。この選択のために、操作部9のタッチパネル816に、図14に示す選択画面1200を表示する。選択画面1200の「はい」キー1201は当該画像データの出力指示に対応し、「いいえ」キー1202は当該データは非出力指示に対応する。
【０１０２】
ユーザが選択画面1200の「はい」キー1201を押した場合は、選択され中止が指示されたセッションの画像入力ジョブの終了処理を行うとともに、当該セッションの画像出力ジョブを再開し、ハードディスク6に格納された画像データの出力を行い(S1310)、再開した画像出力ジョブの終了を待つ(S1311)、終了すると当該セッションの終了処理を行う(S1312)。また、ユーザが選択画面1200の「いいえ」キー1202を押した場合は、選択され中止が指示されたセッションの終了処理（画像入力ジョブおよび画像出力ジョブの終了処理を含む）を行う(S1312)。このセッションの中止処理により、ハードディスク6には空き領域が発生する。
【０１０３】
次に、セッション管理テーブル700を参照して、ディスクフル状態の発生により中断されたセッションが他にも存在するか否かを判定し(S1313)、存在する場合は、中断されたセッションを再開する(S1314)。この段階においては、セッションの中止処理により、ハードディスク6に空き領域が発生しているので、この空き領域を用いて、再開したセッションの画像入力ジョブによる画像データの格納が可能になる。続いて、再開したセッションの終了を待ち(S1315)、終了すると処理をステップS1313に戻し、中断されたセッションがなくなるまでステップS1313からS1315の処理を繰り返す。そして、中断されたセッションがなくなると、ディスクフル状態の制御を終了し、通常の制御に復帰する。
【０１０４】
以上の説明は、ディスクフル状態が発生した時点でハードディスク6に少なくとも一頁分の画像データが記録されている場合を想定した。しかし、一頁分の画像データも記録されずにディスクフル状態が発生した場合や、プリント設定が例えば一枚の記録紙に複数画像を記録する製本モードのように、全頁がハードディスク6に一旦記録されてからプリント出力を開始する場合など、途中まで記録された画像データによる画像出力では意味がない場合は、ステップS1309のユーザによる出力の選択動作からステップS1310およびS1311を省略してステップS1312に進み、セッションの終了処理を直ちに実行するように構成していもよい。
【０１０５】
また、ディスクフル状態か否かの判断は、ハードディスク6にまったく記憶可能な領域がなくなった場合ではなく、若干の余裕を残してディスクフル状態と判断してもよい。そうすれば、大データ量の画像データによる画像入出力セッションに優先して、小データ量の画像データによる画像入出力セッションを効率よく実行することができ、装置の停止時間の短縮を図ることができる。
【０１０６】
また、以上の説明は、画像データの入出力動作をストレージ部5のハードディスク6を使用して行う例を説明したが、ハードディスク6を使用することなく、例えばデータ処理部121のページメモリ125を用いる場合にページメモリ125にメモリフル状態が生じた場合に、上記の説明と同様の処理を適用することが可能である。
【０１０７】
［ジョブのデータ構造］
図15はハードディスク6に格納される印刷ジョブのデータの構造例を示す図である。
【０１０８】
ジョブ管理データ部1500のジョブIDフィールド1501は、そのデバイス内で唯一のジョブIDを保持する。なお、ジョブIDはデバイス内でユニークなIDで、複数のデバイス間で統一されているわけではない。
【０１０９】
ジョブステータスフィールド1502は、ジョブの実行状態（実行可能状態、実行状態、中断状態、終了状態、エラー状態など）に対応する情報を保持する。ジョブ頁数フィールド1503は、ジョブの頁数を保持する。
【０１１０】
ローカル保持頁数フィールド1504は、ローカルに保持された頁数を保持する。もし、そのデバイスに、そのジョブ全体のデータ実体が保持されていればローカル保持頁数フィールド1504とジョブ頁数フィールド1503が保持する値は同値になる。
【０１１１】
リモートデバイスIDフィールド1505は、そのデバイスが、そのジョブの先頭の一部頁分のデータしか保持せず、残る頁のデータが別のデバイスに保持されている場合に、そのリモートデバイスのデバイスIDを保持する。なお、そのデバイスが、そのジョブ全体のデータ実体を保持する場合、リモートデバイスIDフィールド1505は「00」を保持する。
【０１１２】
リモートジョブIDフィールド1506は、そのデバイスが、そのジョブの先頭の一部頁分のデータしか保持せず、残る頁のデータが別のデバイスに保持されている場合に、そのリモートデバイスのジョブIDを保持する。なお、そのデバイスが、そのジョブ全体のデータ実体を保持する場合、リモートジョブIDフィールド1506は「00」を保持する。
【０１１３】
ページポインタフィールド1507は、そのジョブのデータを保持するページデータ部1510の先頭頁データへのポインタを保持する。ジョブパラメータフィールド1508は、当該ジョブの各種設定パラメータを保持し、部数、記録紙サイズなどに関するパラメータを保持する。
【０１１４】
図15の例では、ページデータ部1510に一頁目のデータ1511からp頁目の画像データ151pまでが保持されるているが、この場合、ローカル保持頁数フィールド1504は頁数「p」を保持する。
【０１１５】
図16は一部重複保持分散記憶を適用した場合のデータ構造例を示す図である。
【０１１６】
図16の左側に示すように、デバイスID「04」のデバイスは、ジョブID「20040621023」のジョブの全体のデータを保持する。ジョブ頁数フィールド1503が保持する「8」は八頁の印刷ジョブを示し、ローカル保持頁数フィールド1604が保持する「8」は、ローカルデバイス（ID「04」）に印刷ジョブの全体のデータが保持されていることを示す。従って、リモートデバイスIDフィールド1605およびリモートジョブIDフィールド1606は「00」を保持する。そして、ページデータ部1510は印刷ジョブの全体の八頁分のデータを保持する。
【０１１７】
デバイスID「04」のデバイスが保持す印刷ジョブの一部分を、デバイスID「07」のデバイスが重複保持する場合のデータ構造を図16の右側に示す。
【０１１８】
デバイスID「07」のデバイスは、ジョブID「20040724009」のジョブを保持し、ジョブ頁フィールド1503が保持する「8」は八頁の印刷ジョブを示し、ローカル保持頁数フィールド1504が保持する「1」は、ローカルデバイス（ID「07」）には、印刷ジョブの全体ではなく、先頭の一頁分のデータだけが保持されていることを示す。従って、リモートデバイスIDフィールド1505は、印刷ジョブの全体のデータを保持するデバイスのID「04」を保持し、リモートジョブIDフィールド1506は、デバイスID「04」のデバイス上のジョブID「20040621023」を保持する。そして、ページデータ部11510は、八頁分のデータ中、先頭の一頁分のデータだけを保持する。
【０１１９】
図16に一頁分のデータを重複保持する例を示すが、勿論、重複保持するデータは一頁分に限らない。デバイスの印刷スピード、画像処理速度、給紙パスの長さなどによって、重複保持するデータの量（頁数）を変えてもよい。そうすれば、連続プリントが実現できるように、デバイスの能力に応じて効率的な重複保持が可能になる。
【０１２０】
また、ジョブのデータ量や日時、ハードディスクの空き容量によって、重複保持するしない、あるいは、重複するデータのデータ量（頁数）を可変にしてもよい。そうすれば、より効率的、効果的な重複保持が可能になる。
【０１２１】
さらに、ジョブの機密性の度合いを示す属性を設け、機密性の高いジョブは重複保持しないようにすることで、セキュリティを確保するシステムにしてもよい。
【０１２２】
このようなデータ構造を用いれば、図1に示したように、そのデバイスが保持するジョブ群107、および、他のデバイスが記憶するジョブの先頭部分のデータを重複保持するジョブ群108を、各デバイスに保持することができる。従って、図1に示す、ネットワーク105によって相互に接続されたMFP101〜104は、そのデバイスが保持するデータにより少なくとも最初の一頁を短時間に印刷またはプレビューすることができる。そして、続く頁の印刷またはプレビューは、たとえ他のデバイスにデータの実体があるとしても、一頁目の処理の間に二頁目を、つまりN頁目の処理の間に少なくとも続くN+1頁目のデータを転送することができるので、上述した印刷の開始やプレビューに時間がかかる問題を解決することができる。
【０１２３】
［印刷動作］
図17は印刷ジョブを実行する際の処理を示すフローチャートで、コア部10のCPU 123の処理を示している。
【０１２４】
ユーザが操作部9により印刷ジョブを指定すると、CPU 123は、印刷ジョブのジョブIDを変数Xに入力し（S1601)、ジョブID=Xの印刷ジョブを開始する(S1602)。その際、少なくとも先頭の一頁はローカルに保持しているから、短時間に印刷することができる。
【０１２５】
次に、ジョブID=Xの印刷ジョブの全頁のデータがローカルに保持されている否かを判定する(S1603)。この判定は、ジョブID=Xのジョブについて、ローカル保持頁数フィールド1504の値とジョブ頁数フィールド1503の値が等しいか否かにより判断することができる。
【０１２６】
ジョブID=Xの印刷ジョブの全頁のデータがローカルにすべて保持されている場合は印刷処理(S1605)を継続し、そうでなければ、先頭部分の印刷に並行して、ジョブID=Xの残る頁のデータを、リモートデバイスIDフィールド1505およびリモートジョブIDフィールド1506の値に基づき他のMFPに要求して、残る頁のデータを取得し(S1604)、印刷処理を行う(S1605)。なお、他のMFPから取得するデータは、ローカル保持頁数フィールド1504の値がpならばp+1頁以降のデータでよいが、例えばローカル保持頁数フィールド1504の値が「1」であれば全頁のデータを取得してもよい。
【０１２７】
例えば、FTP (File Transfer Protocol)によりデバイス間を相互接続して、ジョブIDをFTPアクセスの場合のフォルダ名にしておけば、容易に他のデバイスのデータを取得することが可能である。なお、データ取得方法は、ファイル共有や専用プロトコルなど、どんな方法であってもよい。
【０１２８】
このように、印刷ジョブの先頭部分の頁のデータはローカルに保持することで迅速に印刷開始が可能になり、先頭部分を印刷している間に残りの頁部分のデータを他のデバイスから取得して連続印刷することにより、あたかもすべてのデータがローカルに存在しているかのような操作性で印刷処理を行うことができる。
【０１２９】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１３０】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３３】
【図１】分散ストレージの概要を説明する図、
【図２】MFPの構成例を示すブロック図、
【図３】リーダおよびプリンタの概観を示す図、
【図４】コア部の構成例を示すブロック図、
【図５】ジョブ制御を説明する図、
【図６】画像入力ジョブと画像出力ジョブを組み合わせたセッションを説明する図、
【図７】PDLプリントセッション1の制御手順を説明するフローチャート、
【図８】セッション管理テーブルを示す図、
【図９】操作部の外観例を示す図、
【図１０】ストレージ部またはコア部に用意されたFATを示す図、
【図１１】FATで管理されるハードディスクの使用状態を概念的に表す図、
【図１２】ディスクフル状態の場合に、CPUが実行する制御手順例を示すフローチャート、
【図１３】選択画面の一例を示す図、
【図１４】選択画面の一例を示す図、
【図１５】ハードディスクに格納される印刷ジョブのデータの構造例を示す図、
【図１６】一部重複保持分散記憶を適用した場合のデータ構造例を示す図、
【図１７】印刷ジョブを実行する際の処理を示すフローチャートである。
【図１】
2006044168.tif 000003
【図２】
2006044168.tif 000004
【図３】
2006044168.tif 000005
【図４】
2006044168.tif 000006
【図５】
2006044168.tif 000007
【図６】
2006044168.tif 000008
【図７】
2006044168.tif 000009
【図８】
2006044168.tif 000010
【図９】
2006044168.tif 000011
【図１０】
2006044168.tif 000012
【図１１】
2006044168.tif 000013
【図１２】
2006044168.tif 000014
【図１３】
2006044168.tif 000015
【図１４】
2006044168.tif 000016
【図１５】
2006044168.tif 000017
【図１６】
2006044168.tif 000018
【図１７】
2006044168.tif 000019