(57)【要約】【課題】  プルプリント要求を依頼した印刷装置におけるユーザに対して、プルプリントの印刷ジョブを明確に認識させる。【解決手段】  サーバにおいて、プリンタからプルプリント要求を受け付けると、プルプリントジョブを生成すると共に、停止コマンドのジョブを生成してプリンタへ送信し、プリンタをオフライン状態にする。【選択図】  図１８
2007004680.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置とネットワークを介して通信可能であり、印刷すべき情報ファイルを格納している印刷制御装置であって、
前記印刷装置からプルプリント要求を受け付ける受付手段と、
前記受付手段でプルプリント要求を受けた場合に、該プリント要求に該当する印刷すべき情報ファイルを印刷ジョブとして前記印刷装置に送信するジョブ送信手段と、
前記ジョブ送信手段により印刷ジョブを前記印刷装置に送信する際に、前記印刷装置における当該印刷ジョブの印刷時に印刷装置を停止状態させるべく、前記印刷装置で解釈可能な所定の停止コマンドを生成する生成手段と、
を備えることを特徴とする印刷制御装置。
【請求項２】
前記生成手段は、前記停止コマンドを前記印刷ジョブ中に付加するか、前記印刷ジョブの送信前に当該印刷ジョブとは独立したジョブに前記停止コマンドを付加することを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記停止コマンドは、前記印刷装置で前記印刷ジョブの印刷が行われる前、もしくは印刷が行われた後に、前記印刷装置を所定の操作が行われるまで印刷を行わない停止状態にさせるコマンドであることを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
前記生成手段は、前記印刷装置が停止状態でいる間に前記印刷装置の操作部にプルプリント印刷処理である旨を表示するためのメッセージを前記停止コマンドと共に生成することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御装置。
【請求項５】
前記生成手段は、前記印刷装置が停止状態になったときに前記印刷装置においてビープ音を鳴らすためのコマンドを前記停止コマンドと共に生成することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御装置。
【請求項６】
前記受付手段で受け付けたプルプリント要求に該当する印刷すべき情報ファイルがない場合に、前記生成手段は、印刷すべき情報ファイルがない旨を表示するためのメッセージを含むジョブを生成することを特徴とする請求項１乃至５のいずれか１項に記載の印刷制御装置。
【請求項７】
印刷装置とネットワークを介して通信可能であり、印刷すべき情報ファイルを格納している印刷制御装置における印刷制御方法であって、
前記印刷装置からプルプリント要求を受け付ける受付工程と、
前記受付工程でプルプリント要求を受けた場合に、該プリント要求に該当する印刷すべき情報ファイルを印刷ジョブとして前記印刷装置に送信するジョブ送信工程と、
前記ジョブ送信工程により印刷ジョブを前記印刷装置に送信する際に、前記印刷装置における当該印刷ジョブの印刷時に印刷装置を停止状態させるべく、前記印刷装置で解釈可能な所定の停止コマンドを生成する生成工程と、
を備えることを特徴とする印刷制御方法。
【請求項８】
前記生成工程は、前記停止コマンドを前記印刷ジョブ中に付加するか、前記印刷ジョブの送信前に当該印刷ジョブとは独立したジョブに前記停止コマンドを付加することを特徴とする請求項７記載の印刷制御方法。
【請求項９】
前記停止コマンドは、前記印刷装置で前記印刷ジョブの印刷が行われる前、もしくは印刷が行われた後に、前記印刷装置を所定の操作が行われるまで印刷を行わない停止状態にさせるコマンドであることを特徴とする請求項７または８に記載の印刷制御方法。
【請求項１０】
前記生成工程は、前記印刷装置が停止状態でいる間に前記印刷装置の操作部にプルプリント印刷処理である旨を表示するためのメッセージを前記停止コマンドと共に生成することを特徴とする請求項７乃至９のいずれか１項に記載の印刷制御方法。
【請求項１１】
前記生成工程は、前記印刷装置が停止状態になったときに前記印刷装置においてビープ音を鳴らすためのコマンドを前記停止コマンドと共に生成することを特徴とする請求項７乃至９のいずれか１項に記載の印刷制御方法。
【請求項１２】
前記受付工程で受け付けたプルプリント要求に該当する印刷すべき情報ファイルがない場合に、前記生成工程は、印刷すべき情報ファイルがない旨を表示するためのメッセージを含むジョブを生成することを特徴とする請求項７乃至１１のいずれか１項に記載の印刷制御装置。
【請求項１３】
印刷装置とネットワークを介して通信可能であり、印刷すべき情報ファイルを格納している印刷制御装置で読み取り実行可能な印刷制御プログラムであって、
前記印刷装置からプルプリント要求を受け付ける受付工程と、
前記受付工程でプルプリント要求を受けた場合に、該プリント要求に該当する印刷すべき情報ファイルを印刷ジョブとして前記印刷装置に送信するジョブ送信工程と、
前記ジョブ送信工程により印刷ジョブを前記印刷装置に送信する際に、前記印刷装置における当該印刷ジョブの印刷時に印刷装置を停止状態させるべく、前記印刷装置で解釈可能な所定の停止コマンドを生成する生成工程と、
を前記印刷制御装置に実行させるためのコンピュータ読み取り実行可能な印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御方法および印刷制御プログラムに関し、特に、プルプリント要求に応じて印刷ジョブを印刷装置に送信するプルプリントシステムの印刷制御装置、印刷制御方法および印刷制御プログラムに関するものである。
【背景技術】
【０００２】
コンピュータネットワーク技術の発展に伴い、様々な情報メディアや情報サービス等を通じて、様々な情報を自由に入手できるようになり、これらの情報はリアルタイムに日々更新される。
【０００３】
ユーザが常に新しい情報を入手するには、定期的にコンピュータ上で、情報資源にアクセスするような操作を繰り返し行う必要があった。このような場合、ユーザが入手した情報を印刷することもしばしばある。
【０００４】
しかし、このような手間を解決するために、従来、予めユーザがネットワークに接続された画像出力装置に情報資源にアクセスする時間や情報資源の位置情報（ＵＲＬ：ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）を設定しておき、画像出力装置が自動的に指定された情報資源を取得して印刷する装置が提案されている。こういった装置を利用することで、ユーザは情報資源を紙に出力した状態で手にすることが自動的に出来るようになった。
【０００５】
また、このような情報資源の取得、印刷を自動的に行う装置においては、情報資源が以前取得したものより更新されている場合のみ、情報資源の取得、印刷を実行するような装置も提案され、余計なユーザコストを削減するような画像出力装置も提案されている（例えば特許文献１）。
【特許文献１】特開２０００−１９４５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に示されるように、ユーザがプリンタの前でオペレーションしプルプリントサーバからドキュメントを取得するプルプリントシステムでは、複数のページの印刷ジョブまたは複数の印刷ジョブが印刷される場合、ユーザがどの時点でプルプリントが終了したかを確認する手段がなかった。そのため、まだ印刷されるジョブまたはページが残っているのに、ユーザは印刷が終了したと思いその場を立ち去り、重要なドキュメントをプリンタ上に残してしまうという問題や、後続の他人のジョブが連続で印刷されてしまい、自分のジョブと他人のジョブの区別がつかず、他人のジョブを持っていってしまうという問題がある。
【０００７】
また、ユーザがプルプリント指定しても、指定された位置情報（ＵＲＬ）に印刷すべきジョブ（文書データ）が無い場合、プリンタに印刷ジョブが投入されず、ジョブが無いことをユーザが認識することができず、ユーザはどうして印刷されないのか認識することができないという問題がある。
【０００８】
本発明は上記課題を鑑みてなされたものであり、プルプリント要求を依頼した印刷装置におけるユーザに対して、プルプリントの印刷ジョブを明確に認識させる仕組みを提供することを目的とする。
【０００９】
また、印刷装置に転送されたプルプリントの印刷ジョブに後続する印刷ジョブがプリンタにスプ−ルされている場合であっても、プルプリント終了後に、後続の印刷ジョブを直ちに印刷させずに一時停止させ、次の印刷ジョブの出力との区切りを明確にする。
【００１０】
また、ユーザがプルプリントした際、プルプリントサーバに印刷すべきドキュメントがない場合には、プリンタにジョブがない旨をユーザに通知する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本願発明の印刷制御装置は、印刷装置とネットワークを介して通信可能であり、印刷すべき情報ファイルを格納している印刷制御装置であって、前記印刷装置からプルプリント要求を受け付ける受付手段と、前記受付手段でプルプリント要求を受けた場合に、該プリント要求に該当する印刷すべき情報ファイルを印刷ジョブとして前記印刷装置に送信するジョブ送信手段と、前記ジョブ送信手段により印刷ジョブを前記印刷装置に送信する際に、前記印刷装置における当該印刷ジョブの印刷時に印刷装置を停止状態させるべく、前記印刷装置で解釈可能な所定の停止コマンドを生成する生成手段とを備える。
【００１２】
また、前記生成手段は、前記停止コマンドを前記印刷ジョブ中に付加するか、前記印刷ジョブの送信前に当該印刷ジョブとは独立したジョブに前記停止コマンドを付加する。
【００１３】
また、前記停止コマンドは、前記印刷装置で前記印刷ジョブの印刷が行われる前、もしくは印刷が行われた後に、前記印刷装置を所定の操作が行われるまで印刷を行わない停止状態にさせるコマンドである。
【００１４】
また、前記生成手段は、前記印刷装置が停止状態でいる間に前記印刷装置の操作部にプルプリント印刷処理である旨を表示するためのメッセージを前記停止コマンドと共に生成する。
【００１５】
また、前記生成手段は、前記印刷装置が停止状態になったときに前記印刷装置においてビープ音を鳴らすためのコマンドを前記停止コマンドと共に生成する。
【００１６】
また、前記受付手段で受け付けたプルプリント要求に該当する印刷すべき情報ファイルがない場合に、前記生成手段は、印刷すべき情報ファイルがない旨を表示するためのメッセージを含むジョブを生成する。
【００１７】
上記課題を解決するために、本願発明の印刷制御方法は、印刷装置とネットワークを介して通信可能であり、印刷すべき情報ファイルを格納している印刷制御装置における印刷制御方法であって、前記印刷装置からプルプリント要求を受け付ける受付工程と、前記受付工程でプルプリント要求を受けた場合に、該プリント要求に該当する印刷すべき情報ファイルを印刷ジョブとして前記印刷装置に送信するジョブ送信工程と、前記ジョブ送信工程により印刷ジョブを前記印刷装置に送信する際に、前記印刷装置における当該印刷ジョブの印刷時に印刷装置を停止状態させるべく、前記印刷装置で解釈可能な所定の停止コマンドを生成する生成工程とを備える。
【００１８】
上記課題を解決するために、本願発明の印刷制御プログラムは、印刷装置とネットワークを介して通信可能であり、印刷すべき情報ファイルを格納している印刷制御装置で読み取り実行可能な印刷制御プログラムであって、前記印刷装置からプルプリント要求を受け付ける受付工程と、前記受付工程でプルプリント要求を受けた場合に、該プリント要求に該当する印刷すべき情報ファイルを印刷ジョブとして前記印刷装置に送信するジョブ送信工程と、前記ジョブ送信工程により印刷ジョブを前記印刷装置に送信する際に、前記印刷装置における当該印刷ジョブの印刷時に印刷装置を停止状態させるべく、前記印刷装置で解釈可能な所定の停止コマンドを生成する生成工程とを前記印刷制御装置に実行させる。
【発明の効果】
【００１９】
プルプリント要求を受けた場合に、印刷制御装置から印刷装置に対する停止コマンドを生成して、印刷装置に送信するため、印刷装置側では、印刷装置の停止状態によりプルプリントの印刷ジョブであることをユーザが容易に認識することができ、複数のドキュメントが連続して印刷される環境でも、プルプリント単位の区切りを明確にすることで、他のユーザのジョブとの混在を防止することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
＜システム構成＞
図１は、本発明の実施形態に係るプリントシステムの全体構成を示すブロック図である。本プリントシステムは、本発明の印刷制御装置に好適なサーバ（コンピュータ）１０１〜１０２と、印刷装置（プリントデバイス）に好適なネットワークプリンタ１０３〜１０５とを含み、これらが互いに接続されている。
【００２２】
サーバ（コンピュータ）１０１〜１０２には、印刷制御プログラムが実行可能に格納されており、本プリントシステムに含まれるネットワークプリンタ１０３〜１０５を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、サーバ（コンピュータ）１０１〜１０２は、ネットワークプリンタ１０３〜１０５のエージェントからのプルプリント要求を受けると、印刷すべき情報ファイル（例えば、ＨＴＭＬ形式の文書ファイル）からプリンタが解釈可能なページ記述言語（以下、ＰＤＬと呼ぶ）形式の印刷ジョブを作成する。そして、サーバは、ネットワークプリンタ１０３〜１０５のスケジューラにスケジュール要求を発行する機能と、ネットワークプリンタ１０３〜１０５のスケジューラからの指示により、印刷データの転送を開始する機能を有する。
【００２３】
ネットワークプリンタ１０３〜１０５は、サーバ（コンピュータ）１０１〜１０２から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ１０３〜１０５としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
【００２４】
また、ネットワークプリンタ１０３〜１０５は、複数のサーバ（コンピュータ）１０１〜１０２からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能、ネットワークプリンタ１０３〜１０５に転送された印刷ジョブ、ネットワークプリンタ１０３〜１０５の状態を監視し、
印刷の終了やプリンタ状態をサーバ（コンピュータ）１０１〜１０２に通知する機能を有する。
【００２５】
なお、本プリントシステムに含まれる装置間の通信は、イーサネット（登録商標）ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００２６】
＜プリンタ及びサーバの構成＞
図２は、図１に示したサーバ（コンピュータ）１０１〜１０２のハードウェア構成を説明するブロック図である。
【００２７】
図２において、ＣＰＵ２００は、ＨＤ（ハードディスク）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや印刷制御プログラム等を読出して実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納制御を行うための制御手段である。
【００２８】
ＲＯＭ２０１は、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。ＲＡＭ２０２は、ＣＰＵ２００の主メモリやワークエリア等として機能する一時記憶手段である。
【００２９】
ＦＤ（フロッピー（登録商標）ディスク）ドライブ２０３は、後述する図５に示すように記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体読み込み手段である。なお、サーバ（コンピュータ）１０１〜１０２は、ＦＤドライブ２０３に代えて、或いはＦＤドライブ２０３と共に、他の記憶媒体読込手段を備えてもよい。他の記憶媒体としては、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。
【００３０】
ＨＤ２０５は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、印刷制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。なお、サーバ（コンピュータ）１０１〜１０２ではスプール手段としてスプーラが確保される。
【００３１】
キーボード２０６は、ユーザがサーバ（コンピュータ）１０１〜１０２に対して、デバイスの制御コマンドの命令等を入力指示するための指示入力手段である。
【００３２】
ディスプレイ２０７は、キーボード２０６から入力したコマンドや、プリンタ１０３〜１０５の状態等を表示する表示手段である。尚、実際にはサーバ（コンピュータ）１０１〜１０２上で稼動するオペレーティングシステムを介して表示手段に表示指示がなされ、このオペレーティングシステムに本印刷処理プログラムによりリソースファイルの表示指示が行われ、後述する各表示が実現される。２０８はシステムバスであり、サーバ（コンピュータ）１０１〜１０２としてのコンピュータ内のデータの流れを司るものである。
【００３３】
またインタフェース２０９は、入出力手段であり、サーバ１０１〜１０２は、インタフェース２０９を介してネットワーク上の他の装置とのデータのやり取りを行う。
【００３４】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、印刷制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００３５】
印刷制御プログラム及び関係データは、予めＦＤ２０４からＨＤ２０５にインストールされて、ＨＤ２０５からＲＡＭ２０２にロードするようにしてもよいしＦＤ２０４から直接ＲＡＭ２０２にロードして実行させてもよい。さらに、印刷制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３６】
印刷制御プログラムは、サーバ１０１〜１０２においては、印刷データを転送したり、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。
【００３７】
３０１は基本Ｉ／Ｏプログラムを記憶するための領域である。基本Ｉ／Ｏプログラムは、装置（サーバ１０１〜１０２）の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムである。
【００３８】
３０２はＯＳ（オペレーティングシステム）を記憶する領域であり、３０３は印刷制御プログラムを記憶する領域である。３０４は、関係データを記憶する領域である。３０５はワークエリアで、ＣＰＵ２００が各種のプログラムを実行するための領域である。
【００３９】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００はＦＤ２０４のデータ内容であり、データの情報を示すボリューム情報４０１と、ディレクトリ情報４０２と、印刷制御プログラム４０３と、その関係データ４０４を含んでいる。
【００４０】
図５は、本発明の実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。５００はプリンタで、内部で大きくネットワークプリンタサーバ部５２０とプリンタコントローラ部５１９から構成されており、それぞれが異なる制御系で動作する。ネットワークプリントサーバ５２０において、５０１はネットワークプリントサーバ用ＣＰＵである。このネットワークプリントサーバ用ＣＰＵは、書き換え可能なＦｌａｓｈＲＯＭ５０３に記憶された制御プログラムに基づいて、システムバス５０４に接続されるネットワークコントローラ５０５を介してローカルエリアネットワーク５１２に接続されたホストコンピュータと通信する。そして、ホストコンピュータから送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御し、拡張インタフェースコントローラ（ＥＸＰＣ５０７）を介して接続されるプリンタコントローラ５１９に対して適切なデータ転送制御を行う。
【００４１】
ＲＡＭ５０２はＣＰＵ５０１の主メモリ、ワークエリア等の一時記憶領域をして用いられる。
【００４２】
ＬＥＤ５０６はネットワークプリントサーバの動作状態を示す表示部として用いられており、例えばネットワークコントローラ５０５とローカルエリアネットワーク５１２の電気的な接続状態（ＬＩＮＫ）やネットワーク通信モード（１０Ｂａｓｅや１００Ｂａｓｅ、全二重、半二重）等の各種動作状態をＬＥＤの点滅パターンや色で示すこと可能となっている。
【００４３】
さらにネットワークプリントサーバ５２０とプリンタコントローラ５１９を繋ぐ拡張インタフェース５１７は、図示しないコネクタで構成されておりネットワークプリントサーバ５２０のみが着脱し、同じ構成を持つ別のプリンタ５００にネットワークプリントサーバ５２０を装着することも可能な構成となっている。
【００４４】
プリンタコントローラ５１９において、５０８はプリンタコントローラ用ＣＰＵで、ＲＯＭ５０９に記憶された制御プログラム等あるいはディスクコントローラ（ＤＫＣ５１５）を介して接続された外部メモリ５１０に記憶された制御プログラムやリソースデータ（資源情報）等に基づいてシステムバス５１１に接続される各種デバイスとのアクセスを統括的に制御する。そして、拡張インタフェースコントローラ（ＥＸＰＣ５１３）を介して接続されるネットワークプリントサーバ５２０から受信される印刷データを基にラスタコントローラ５１２によって出力画像情報を生成し、プリントエンジン５１６に対して画像信号を出力する。
【００４５】
５１４はＣＰＵ５０８の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００４６】
５１８は操作パネル（操作部）でプリンタ５００の動作モード等の設定や印刷データの取り消し等の操作を行なうためのボタンおよびプリンタ５００の動作状態を示す液晶パネルやＬＥＤ等の表示部が配されている。
【００４７】
なお、本図で示したプリンタエンジン５１６は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。
【００４８】
５１９は外部装置５２０と情報のやり取りを行う外部Ｉ／Ｏインタフェースである。
【００４９】
次に、本プリントシステムのサーバのソフトウェア構成について説明する。図６は、サーバ１０１〜１０２におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図２のＣＰＵ２００によって実行され、所望の機能を実現する。本発明の印刷制御プログラムは、以下で説明する印刷アプリケーションプログラム６０１とＰＤＬドライバ６０２とポートモニタ６０４のソフトウェアモジュールを含むものとする。尚、ポートモニタ６０４は、後述するように、印刷ジョブをプリンタへ送信制御するためのソフトウェアであり、ＯＳが提供する一般的なポートモニタを用いることも可能であり、本発明の印刷制御プログラムには必須ではない。
【００５０】
通常、印刷アプリケーションプログラム６０１は印刷の指示を受け付けると、一連の第一の描画コマンド（ＧＤＩ関数と呼ばれる）を生成し、ＯＳに出力する。ＯＳでは、アプリケーションからの第一の描画コマンドを受けると、ＰＤＬドライバが解釈可能な第二の描画コマンド（ＤＤＩ関数と呼ばれる）を生成する。ＯＳを介して生成された第二の描画コマンドを受け取ったＰＤＬドライバ６０２は、一連の第二の描画コマンドに基づいてネットワークプリンタ１０３〜１０５で解釈可能なＰＤＬファイルを含む印刷ジョブを生成する。なお、以下の説明ではＰＤＬドライバを例に説明を行うが、これに限定されるものではなく、例えば、バンド毎の中間言語データとして生成されるＢＤＬ（Ｂａｎｄ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）形式や、圧縮ビットマップ形式の印刷データを作成するプリンタドライバであってもよい。また、アプリケーション及びＯＳによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能であることはいうまでもない。
【００５１】
また、本発明の印刷制御プログラムの１つのソフトウェアモジュールである印刷アプリケーションは、プルプリントユーザの印刷ジョブを作成するアプリケーションである。このアプリケーションは、プルプリントサーバにプルプリント用印刷ジョブを作成し、その印刷ジョブに該当するプルプリントユーザの識別情報を設定する機能を保持している例で示す。印刷アプリケーションはユーザ識別情報と印刷すべき印刷データの関係などの情報は、印刷アプリケーションが連携しているデータベースやＷｅｂアプリケーションからの指示により保持することが可能であるが、本件では詳細を説明しない。
【００５２】
ＰＤＬドライバ６０２は、プリントデバイスへ印刷ジョブを送信するためにスプーラ６０３に渡す。
【００５３】
ここではＯＳをウィンドウズ（登録商標）と仮定しているのでスプーラ６０３はウィンドウズ（登録商標）スプーラである。ただし、本発明を適用するコンピュータのＯＳはＷｉｎｄｏｗｓ（登録商標）に限定されるものではなく、描画命令を備えるものであれば他のＯＳも適用可能であることは言うまでもない。
【００５４】
スプーラ６０３は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ６０４に印刷ジョブを渡して、ネットワークプリンタ１０３〜１０５等のプリントデバイスに送信させる手順をとる（矢印ａ）。
【００５５】
ここでは、ユーザはあらかじめプルプリントサーバ６０５に印刷データを転送する、ポートモニタ６０４（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示したものとして説明を進める。
【００５６】
また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６０４に送信される。ジョブ制御ポートモニタ６０４はプリントサーバ６０５に送信する（矢印ｂ）。
【００５７】
また、サーバ１０１〜１０２において印刷アプリケーション６０１は、ＡＰＩ６１０を介し、プルプリントサーバ６０１に、前記印刷指示した印刷ジョブに対して、印刷ジョブの所有者を示すユーザ識別情報の情報を設定する（矢印ｃ）。
【００５８】
プルプリントサーバ６０５は、印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プリントデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、プリントデバイスに対して所定の命令をする機能も備える。これは、複数のネットワークプリンタ１０３〜１０５のデバイス情報やジョブ情報を管理する機能に相当する。
【００５９】
そして、プリンタデバイス６０６からのプルプリント要求（矢印ｄ）が来ると、プリンタデバイス６０６が持つ印刷ジョブの順序管理機能に印刷の要求を発行し、順序管理機能に基づき順番が到来した場合には、プリンタデバイス６０６からの印刷指示により、ネットワークプリンタ１０３〜１０５に印刷データを送信する（矢印ｅ、ｆ、ｇ）。
【００６０】
プリンタデバイス６０６は、印刷データの完了を確認すると印刷完了の通知をプルプリントサーバ６０５に通知（矢印ｈ）したり、また、プリンタデバイス６０６の状態を通知する（矢印ｈ）。
【００６１】
プリントマネージャ６０７は、ユーザが、プルプリントサーバ６０５内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ６０７は、プルプリントサーバ６０５のソフトウェアのインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を介して、プルプリントサーバ６０５と情報・指示をやり取りしている。
【００６２】
そして、主に、プルプリントサーバ６０５が管理するネットワークプリンタ１０４〜１０５の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、サーバとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのプルプリントサーバ６０５はネットワークを介して通信可能な各プリンタデバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスの通知を受け付ける機能を備える。
【００６３】
更に詳細な処理としては、プリントマネージャ６０９がプルプリントサーバ６０５に対してデバイスを指定したイベントを発行し、プルプリントサーバ６０５は発行されたイベントに基づくデバイスのステータスを認識して、監視に基づく結果をプリントマネージャ６０９に通知する。
【００６４】
＜印刷ジョブの流れ＞
次に、図７を用いてアプリケーション６０１からプリントデバイスまでの印刷ジョブの流れについて説明する。ここで、図６と同じソフトウェア構成について同じ参照番号を付与しており、その機能については詳説しない。
【００６５】
図７に示すように、概念的には、ＰＤＬドライバ６０２、スプーラ６０３、ジョブ制御ポートモニタ６０４は、プリントデバイス６０７、６０７Ａごとに用意されている。ＯＳがウィンドウズ（登録商標）の場合には、これらをまとめてウィンドウズ（登録商標）プリントシステム７００と称する場合もある。
【００６６】
プルプリントサーバ６０５には、ＰＤＬドライバ１０２に対応する数のプリントキュー７０１、７０１Ａが含まれており、プリンタデバイス６０７、６０７Ａからのプルプリント要求により決定した宛先のプリンタデバイス６０７、６０７Ａに印刷データを送信するユニバーサル出力ポート７０２が含まれている。また、プリントキュー７０２、７０２Ａは１４０１に示されるようなテーブルでプルプリントサーバ６０５が管理している。
【００６７】
印刷を行う場合、アプリケーション６０１は、印刷ジョブにユーザ識別情報を指定し印刷指示を発行する。この印刷指示に基づいてＰＤＬドライバ６０２によって生成された印刷ジョブがジョブ制御ポートモニタ６０４からプルプリントサーバ６０５に渡されると、その印刷ジョブ情報は、まずプリントキュー７０１に保持される。
【００６８】
プリンタデバイス６０７からプルプリント要求が発行されると、プルプリント要求を発行したプリンタの宛先を指定して、ユニバーサル出力ポート７０２に印刷ジョブの出力指示を出す。出力ポート７０２は、出力指示を受け付けると、指定された宛先に該当する、プリンタデバイス６０６の後述するスケジューラに対してスケジュールの要求を発行する。プリンタデバイス６０６の後述するスケジューラは、自身が持つスケジューリング機能に基づいて、複数のプリントサーバ１０１〜１０２から受け付けたジョブのスケジューリング処理を行い、ユニバーサル出力ポート７０２に対して印刷指示を発行する。印刷指示を受け付けた出力ポート７０２はプリンタデバイス６０６に印刷データを送信する。
【００６９】
図８は、本発明の実施形態に好適な印刷システムにおけるプリンタ５００内の制御機器であるネットワークプリントサーバ５２０およびプリンタコントローラ５１９の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。なお上記各制御プログラムは各制御機器のＣＰＵによってプログラムが解析され処理される。
【００７０】
８０１はネットワークプリントサーバ５２０の基本的なデータの入出力制御を統括するオペレーティングシステムである。さらに前記オペレーティングシステム８０１内にはプログラム／データ記憶部５０９との入出力制御を行なうファイルシステム８０５、プリンタコントローラ５１９と拡張インタフェース５１７を介して通信制御を行う拡張インタフェースドライバ８０７、ローカルエリアネットワーク５１２の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行うネットワークインタフェースドライバ８０６を内包している。
【００７１】
８０２はアプリケーションプログラムインタフェース（ＡＰＩ）であり、ネットワークプリントサーバ５０２で動作するユーザアプリケーション８０３やプリンタ５００やユーザアプリケーションの登録・管理を行う管理アプリケーション等のアプリケーションプログラムに対して前記オペレーティングシステムが備える各種機能を提供する。また前記アプリケーションプログラムインタフェース８０２で提供される機能は、印刷データの送受信機能を提供するデータ転送ＡＰＩ、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行うリソース制御ＡＰＩ、プリンタ５００の再起動や設定値の初期化や設定等の制御を行うプリンタ制御ＡＰＩ、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御ＡＰＩ、ネットワークプリントサーバ５２０の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行うプリントサーバ制御ＡＰＩを備える。
【００７２】
８１２はプリンタコントローラ５１９の各種処理制御を統括するオペレーティングシステムであり、内部にプリントエンジンとの通信制御を行うプリントエンジン制御部８１４およびネットワークプリントサーバ５２０から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースおよびネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する機種依存リソース／プログラム記憶部との入出力制御を行うファイルシステム８１５を内包している。
【００７３】
８１３は拡張インタフェース制御部であり、拡張インタフェース５１７を介してネットワークプリントサーバ５２０との通信制御を行う。さらに前記拡張インタフェース制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インタフェース、機種依存リソース／プログラム記憶部５０９に記憶された各種データの入出力を制御するリソース制御論理インタフェース、プリンタ５００の再起動や設定値の初期化や設定等の制御を行うプリンタ制御論理インタフェース、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インタフェースを備えており、各論理インタフェースを介してプルプリントサーバ５２０から要求された命令をオペレーティングシステム８１２に対して転送し、その処理結果をネットワークプリントサーバ５２０に対して返信する。
【００７４】
８１８はＵＳＢ制御部であり、ＵＳＢケーブルで接続された外部機器としての認証情報読み取り装置８２０を介し、認証情報記録媒体８２１からユーザ識別情報を取得する。
【００７５】
８１１は、ネットワークインタフェースドライバ８０６がＬＡＮ５１２を介してサーバ１０１〜１０２からの受信の通知を受け付けるネットワーク制御部であり、どのサーバからの通信を判断することや、通信の制御を行うことができるモジュールである。
【００７６】
８１０は、サーバ１０１〜１０２が送信する印刷データを受け付けるプロトコルを制御するモジュールであり、受け付けた印刷データをプリンタコントローラに渡すことができる。
【００７７】
また、アプリケーション８０３はプリントコントローラ５１９のプログラム記憶部８１６またはネットワークプリントサーバ５２０のプログラム記憶部８０８に格納される。プリンタ５００が起動するとプログラム記憶部８０８または、に格納されたアプリケーションが持つライセンスと、ライセンス記憶部８０９やプログラム記憶部８１６やライセンス記憶部８１７が持つライセンスと比較し一致しているかどうかを判断する。一致していた場合は適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリントサーバ５２０のＲＡＭ５１４にロードされる。
【００７８】
次に、図９を用いて、本プリントシステムの印刷装置５１９におけるスケジューリング機能およびサーバ１０１〜１０２から受け付けた印刷ジョブの管理機能を持つデバイス上のユーザアプリケーションであるデバイススケジューラ９００と、プルプリントエージェント９０６のソフトウェア構成について説明する。
【００７９】
９０１は、印刷するサーバ１０１〜１０２の接続状況や、サーバ１０１〜１０２に通知すべき情報を管理する通信接続管理部９０１であり、接続しているサーバ情報１９０２をサーバ管理キュー１９０１で管理する。通信接続管理部９０１は、プログラムアプリケーションインタフェース８０２のデータ転送ＡＰＩ、ネットワークインタフェースドライバ８０６を経由してサーバと通信を行う。
【００８０】
９０２は、サーバ１０１〜１０２から受け付けた印刷ジョブのスケジューリングを行うスケジュール管理部であり、ジョブ管理部９０３、デバイス管理部９０４を持つ。
【００８１】
９０３は、サーバ１０１〜１０２が発行したスケジュール要求や、サーバ１０１〜１０２が印刷したジョブを管理するジョブ管理部９０３である。ジョブ管理部９０３は、サーバが印刷するジョブの情報２００２をジョブ管理キュー２００１で管理している。
【００８２】
９０４は、プリンタコントローラ５１９が持つプリンタの状態や受け付けた印刷ジョブの状態をイベントハンドラ９０５経由で受け付けるデバイス管理部であり、プリンタコントローラ５１９から受け付けたイベントを通信接続管理部９０１やジョブ管理部９０３に通知する。
【００８３】
９０７はＵＳＢ管理部であり８１８ＵＳＢ制御部を介し、認証情報記憶媒体８２１からユーザ識別情報やプルプリントサーバのアドレスを取得しサーバ通信部９０８に渡す。９０９はデバイスのアドレス情報等を取得しサーバ管理部９０８に渡す。サーバ管理部９０８は取得した情報をプルプリントサーバ６０５に送信する。
【００８４】
図１０は、通信接続管理部９０１が管理する、サーバ１０１〜１０２のサーバ情報１００２と、複数の接続するサーバ１０１〜１０２のサーバ情報１００２を管理するサーバ管理キュー１００１である。
【００８５】
１００２は、接続するサーバ毎に接続管理部が割り振ったサーバＩＤ、接続するサーバ１０１〜１０２のＩＰアドレス、接続するサーバが登録したイベントの種類などの情報を持つサーバ情報である。イベントの種類とは、プリンタコントローラが発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。
【００８６】
１００１は、接続したサーバ１０１〜１０２のサーバ情報をキューの形式で保持する管理キューである。サーバとのセッションが開始されると、該当するサーバの情報が本管理キューに登録され、切断すると該当するサーバ情報が削除されるようになっている。
【００８７】
図１１は、ジョブ管理部９０３が管理する情報で、サーバ１０１〜１０２が印刷すべく発行したスケジュール要求に対応するジョブ情報１１０２と、複数発生するジョブ情報を管理するジョブ管理キュー１１０１を示す図である。
【００８８】
１１０２は、サーバ１０１〜１０２が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。このジョブ情報１１０２は、印刷ジョブのドキュメント名、ジョブ管理部９０３が発行したジョブＩＤ、サーバで印刷を開始したユーザ名、ジョブのページ数、印刷ジョブの状況を表すジョブ状態、サーバ１０１〜１０２が転送する印刷データに含まれるジョブデータＩＤ、印刷したサーバのＩＰアドレスが登録される。
【００８９】
ジョブ状態は、サーバ１０１〜１０２が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
【００９０】
ジョブデータＩＤは、印刷データに含まれるジョブのＩＤで、プリンタコントローラ５１９内でのジョブ状態を通知するときなど、付加させるＩＤである。
【００９１】
１１０１は、複数のジョブ情報１１０２を管理する管理キューであり、サーバ１０１〜１０２からのスケジュール要求を受け付けるとジョブ情報１１０２が管理キューに登録され、印刷ジョブが印刷終了すると、該当するプリンタ情報が削除されるようになっている。
【００９２】
図１２は、プルプリントサービス６０５が管理するジョブ情報と、複数のジョブ情報を管理するジョブ管理キューを表している。
【００９３】
１２０２は、印刷アプリケーション６０１が印刷したジョブの情報とデバイススケジューラにジョブイベントと登録すると通知される他のサーバの印刷ジョブのジョブ情報である。ジョブ情報１２０２には、印刷ジョブのドキュメント名、ジョブＩＤ、ジョブのページ数、印刷ジョブの状況を表すジョブ状態、印刷データに含まれるジョブデータＩＤ、印刷アプリケーションがジョブに設定するユーザ識別情報が含まれる。
【００９４】
ジョブ状態は、サーバ１０１〜１０２が印刷を開始してからジョブがプリンタから無くなるまでの状態を表しており、スプール中、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
【００９５】
ジョブデータＩＤは、印刷データに含まれるジョブのＩＤで、デバイススケジューラからのジョブイベントに設定される通知される情報である。
【００９６】
１２０１は、複数のジョブ情報１２０２を管理する管理キューであり、自サーバの印刷アプリケーション６０１から印刷したジョブのジョブ情報とデバイススケジューラから通知される他サーバのジョブ情報１２０２が登録される。
【００９７】
図１３は、プルプリントサービス６０５が管理するプリンタキューの情報を表している。１３０１は、ジョブ制御プリンタサービスが管理するそれぞれのプリンタキューの情報を表していて、ＰＤＬドライバ６０２に該当するプリンタ名などの情報が含まれている。
【００９８】
図１４は、認証情報読み取り装置８２０で認証情報記録媒体８２１を検知した後にプルプリントエージェント９０６がプルプリントサーバ６０５に送信する情報である。
【００９９】
デバイスアドレスは、プルプリントエージェントが登録されているプリンタデバイスのＩＰアドレス情報などである。
【０１００】
ユーザ識別情報は認証情報記録媒体８２１から読み取った情報である。
【０１０１】
図１５は、認証情報記録媒体８２１に含まれる情報の例である。ユーザ識別情報は、認証情報記録媒体８２１の所有者を識別する情報が含まれる。
【０１０２】
プルプリントサーバ情報は、プルプリントする印刷データを管理するサーバのＩＰアドレスなどの情報が含まれる。
【０１０３】
図１６では、印刷アプリケーション６０１がプルプリント用印刷ジョブをプルプリントサーバ６０５に登録するするまでの処理の流れを示す図である。
【０１０４】
ステップＳ１６０１では、プルプリント用印刷ジョブを発行する必要が発生すると、図６で示したように印刷処理を開始する。
【０１０５】
ステップＳ１６０２において、印刷された印刷データをジョブ制御ポートモニタが受け付けると、図７で説明したようにプリントキュー７０１にジョブを登録する。プリントキューは、ジョブ情報１２０２を作成し、関連する情報を設定する。また、そのジョブ情報１２０２をジョブ管理キュー１２０１で管理する。
【０１０６】
ステップＳ１６０３において、印刷アプリケーション６０１は、印刷したジョブに対して、該当するユーザ識別情報を通知すると、ステップＳ１６０４においてプルプリントサーバ６０５は、該当するジョブ情報１２０２のユーザ識別情報を設定する。
【０１０７】
ステップ５Ｓ１６０では、プリントキューは印刷ジョブの受け付けを終了すると印刷ジョブを停止状態とし印刷ジョブを保持する。
【０１０８】
以上のようにプルプリントサーバ６０５は、印刷アプリケーション６０１からユーザ識別情報と関連した印刷ジョブを保持し、プルプリントエージェントからのプルプリント要求を待機することになる。
【０１０９】
図１７は、プルプリントユーザが認証記憶媒体８２１を、認証読み取り装置８２０にセットすると、プルプリントエージェント９０６がプルプリントサーバ６０５にプルプリント要求を発行する処理の流れを示す図である。
【０１１０】
ステップＳ１７０１では、プルプリントユーザが認証記憶媒体８２１を、認証読み取り装置８２０にセットすると、認証読み取り装置８２０がそれを検知し、ステップＳ１７０２において、図１５で示す認証記憶媒体の情報を読み取る。
【０１１１】
ステップＳ１７０３では、プルプリントエージェント９０６が登録されているプリンタデバイスのＩＰアドレスを取得する。
【０１１２】
ステップＳ１７０４では、プルプリントエージェント９０６は、ステップＳ１７０２で取得した認証記憶媒体の情報に含まれるユーザ識別情報、ステップＳ１７０３で取得したプリンタのＩＰアドレスを図１４に示す形式でプルプリント要求に付加し、ステップＳ１７０２で取得した認証記憶媒体の情報に含まれる、プルプリントサーバのアドレスに対してプルプリント要求を発行する。
【０１１３】
図１８では、プルプリントサーバ６０５がプルプリントエージェント９０６からプルプリント要求を受け付けてから印刷データの転送までの流れを示している。
【０１１４】
ステップＳ１８０１では、プルプリントエージェント９０６からのプルプリント要求か、または、デバイススケジューラ９００からのスケジュールアップの受け付けを待機しており、プルプリントエージェントからのプルプリント要求が来ればステップＳ１８０２に処理を移行する。スケジュールＵＰのコマンドを受け付けるとステップＳ１８０９に処理を移行する。
【０１１５】
ステップＳ１８０２では、プルプリント要求に付加されている情報、デバイスアドレス、ユーザ識別情報を取得する。
【０１１６】
ステップＳ１８０３では、図１６で登録された印刷ジョブの中で、ステップＳ１８０２で取得したユーザ識別情報に該当するジョブが存在するかを検索する。該当するジョブが１つ以上存在する場合にはＳ１８０４に移行する。該当するジョブが存在しない場合は、Ｓ１８０５でプルプリントエージェント９０６に停止ジョブを送信しステップＳ１８０１に処理を移行する。
【０１１７】
停止ジョブとは、プリンタデバイスでそのジョブが処理されると、プリンタが印刷を一旦停止してプリンタのパネルなどにメッセージを表示するジョブのことである。停止ジョブによりプリンタが停止したときにパネルなどに表示するメッセージは停止ジョブに指定することが可能であり、この際は、プルプリントユーザのＩＤやプルプリントするジョブが無いことを説明するメッセージなどを設定することが可能である。
【０１１８】
また、停止ジョブの変わりにプリンタ停止コマンドを、印刷ジョブの先頭（ヘッダ部分）に付加してもよい。この停止コマンドや停止ジョブはプリンタの種類によって様々であり、対象のプリンタによって切り替えることも可能である。
【０１１９】
次に、ステップＳ１８０４では、デバイススケジューラに接続し、接続要求コマンドを発行する。サーバが接続要求を発行すると、サーバの情報がデバイススケジューラのサーバ管理キューに登録され、以降、サーバとデバイススケジューラ間で情報のやり取りを行うことができる。
【０１２０】
ステップＳ１８０６では、デバイススケジューラに対して、ジョブイベント、デバイスイベントを登録する。ジョブイベントを登録すると、自サーバが印刷するジョブや、他のサーバが印刷するジョブの状態の変化の通知がデバイススケジューラ６０５より通知されることになる。また、デバイスイベントを登録すると、プリンタデバイス６０６の状態の変化を通知されるようになる。
【０１２１】
ステップＳ１８０７では、デバイススケジューラで管理しているジョブ管理キューに登録されているジョブのリストを取得する。このジョブリストとジョブイベントにより、デバイススケジューラが管理するジョブの印刷状況を把握することが可能となる。
【０１２２】
以上の処理により、印刷する準備が整い、ステップＳ１８０８において印刷するジョブのスケジュール要求をデバイススケジューラに行い、ステップＳ１８０１で次の指示を待機する。この際、ステップＳ１８０３で見つけた該当ジョブが複数存在すれば、複数のジョブのスケジュール要求を発行する。
【０１２３】
デバイススケジューラは、図１９で説明するように、スケジュール要求を受け付けたジョブをスケジューリングして、転送開始してもよいと判断すると、プルプリントサーバにスケジュールアップを発行する。ステップＳ１８０１においてデバイススケジューラから印刷データの転送指示であるスケジュールＵＰのコマンドを受け付けるとステップＳ１８０９に処理を移行する。ステップＳ１８０９では、印刷ジョブをプリンタに転送するためのＬＰＲなどのセッションの接続処理を行う。
【０１２４】
次にステップＳ１８１０において送信するジョブが先頭ジョブであるかを判断する。ステップＳ１８０３でプルプリントするジョブが単数あるいは複数ある場合も先頭ジョブかどうかを判断する。送信開始するジョブが先頭ジョブである場合には、ステップＳ１８１６で、先頭ジョブを送信する前に停止ジョブを送信する。ここで、前述したように、印刷ジョブと独立した停止ジョブを送信せずに、印刷ジョブの先頭部分（ヘッダ部分）に、プリンタが解釈可能な停止コマンドを付加してもよい。
【０１２５】
停止ジョブによりプリンタが停止したときにパネルなどに表示するメッセージは停止ジョブに指定することが可能であり、この際は、プルプリントユーザのＩＤなどを設定することが可能である。
【０１２６】
また、停止ジョブにメッセージを付加することなく、停止コマンドと共にメッセージを生成し、印刷ジョブの先頭部分（ヘッダ部分）に付加してもよい。停止ジョブ中のメッセージもしくは印刷ジョブの先頭部分に付加されているメッセージを、プリンタが解釈することにより、プリンタは自身の操作部に、プルプリント印刷処理である旨を表示することが可能となる。尚、前述したように、このメッセージを、停止ジョブに入れるか印刷ジョブの先頭に入れるかは、プリンタの種類によって様々であり、対象のプリンタによって切り替えることも可能である。
【０１２７】
ステップＳ１８１１以降の処理では、送信すべきジョブ、つまりステップＳ１８０３でユーザ識別子が一致するジョブを順次送信していく。
【０１２８】
ステップＳ１８１１では、ジョブの転送を開始する。ステップＳ１８１２では、図２４で示すようにデバイススケジューラに転送が開始されたことを通知するために、転送開始状態を通知する。
【０１２９】
ステップＳ１８１３で印刷データの転送が終了するとステップＳ１８１４においてデバイススケジューラに転送が終了したことを通知し、ステップＳ１８１５に処理を移行する。
【０１３０】
ステップＳ１８１５では、ステップＳ１８０３でユーザ識別子が一致するジョブを順次送信していくがそのジョブの最終ジョブであるかを確認し、最終ジョブでなければ、ステップＳ１８１０に処理を移行し、順次ジョブを転送していく。ステップＳ１８１５において、転送するジョブが最終ジョブであれば、ステップＳ１８１７に処理を移行し、停止ジョブを送信する。ステップＳ１８１７で送信する停止ジョブは、ステップＳ１８１６で送信した停止ジョブと同じであるが、最終ジョブを送信後の場合は、パネルに表示するメッセージをプルプリントが終了したことなどを伝える内容にすることが考えられる。
【０１３１】
停止ジョブを送信すると、ステップＳ１８１８において、ステップ１８１０で接続した印刷ジョブを転送するためのセッションを切断し処理をステップＳ１８０１に移行する。
【０１３２】
図１９では、プルプリントサービス６０５のスケジュール要求の受け付けから、スケジュールＵＰを発行するまでのデバイススケジューラのスケジュール管理部の処理の流れについて説明する。
【０１３３】
ステップＳ１９０１において、プルプリントサービス６０５からの接続を受け付けると、スケジュール要求の通知なのか、転送済み状態の通知なのかを判断する。スケジュール要求の通知であれば、ステップＳ１９０２に処理を移行し、転送済み状態の通知であればステップＳ１９０３に処理を移行する。
【０１３４】
ステップＳ１９０２では、ジョブ管理部９０３で発行したジョブＩＤを設定したジョブ情報を作成し、スケジュール要求に付加された情報をジョブ情報に設定して、スケジュール要求を受け付けた順でジョブ管理キューに登録する。
【０１３５】
次に、ステップＳ１９０３で、ジョブ管理キューに登録されたジョブ情報のジョブ状態を確認する。ジョブ状態がスケジュールＵＰ、転送中のものがあれば、既にあるサーバに印刷データを転送するように指示しているため、ステップＳ１９０１に処理を移行する。ジョブ状態がスケジュールＵＰ、または転送中のものがなければステップＳ１９０４に処理を移行し、スケジュールＵＰの発行の準備を行う。
【０１３６】
ステップＳ１９０４では、ジョブ管理キューで先にスケジュール要求を受け付けた順からジョブを確認し、スケジュール待機中のジョブが見つかるとステップＳ１９０５に処理を移行する。スケジュール待機中のジョブが無ければ、ステップＳ１９０１に処理を移行する。
【０１３７】
更に、ステップＳ１９０５で該当するサーバに対して印刷データの転送を開始させるスケジュールＵＰを通知し、ステップＳ１９０６で、該当するジョブ情報のジョブ状態をスケジュールＵＰ状態に更新し、ステップＳ１９０１に処理を移行する。
【０１３８】
図２０は、デバイススケジューラからの通知やコマンドを受け付けた場合のプルプリントサービス６０５の処理の流れについて説明している。
【０１３９】
ステップＳ２００１では、デバイススケジューラからジョブイベントの通知または、ジョブリストが返送されてくるかを判断しており、ジョブイベントが来ると、ステップＳ２００２に処理を移行し、ジョブリストが来るとステップＳ２００８に処理を移行する。
【０１４０】
ステップＳ２００８では、ジョブリストが返送されてくるとプルプリントサービス６０５が管理するジョブ管理キュー１７０１にジョブリストから得られたジョブ情報を設定する。
【０１４１】
ステップＳ２００２では、デバイススケジューラから通知されたジョブイベント通知の内、ジョブ完了通知であるか、ジョブ状態変更通知であるかを判断し、ジョブ状態変更通知であれば、ステップＳ２００９において、該当するジョブ情報のジョブ状態を更新する。
【０１４２】
ステップＳ２００２において、受け付けたイベント通知がジョブ完了通知であれば、ステップＳ２００３において、該当するジョブ情報を、ジョブ管理キュー１７０１から削除する。
【０１４３】
ステップＳ２００４では、ジョブ管理キュー１７０１に、印刷が終了していない自サーバのジョブが残されているかを確認し、残されていれば、まだデバイススケジューラとのやり取りが必要であるため、デバイススケジューラとの接続を継続するために、ステップＳ２００１に処理を移行する。
【０１４４】
ステップＳ２００４で、自サーバのジョブがなければ、ステップＳ２００５に処理を移行し、デバイススケジューラとの接続を終了するための処理を開始する。
【０１４５】
ステップＳ２００５では、接続を開始したときにデバイススケジューラに登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラは、この依頼によりサーバ情報のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジューラが管理するジョブの状態が変化されてもイベントが通知されてくることはない。
【０１４６】
次にステップＳ２００６において、デバイススケジューラに対して切断の要求を発行する。デバイススケジューラが切断要求を受け付けると、サーバ管理キューから該当するサーバ情報を削除する。
【０１４７】
ステップＳ２００７では、デバイススケジューラとのセッションを切断する処理を行い、処理をステップＳ２００１で待機する。
【０１４８】
図２１では、後述するデバイス管理からのジョブ状態通知イベントの受け付けからプルプリントサービス６０５からのジョブリスト要求の受け付けに対するジョブ管理部９０３の処理を示している。
【０１４９】
ステップＳ２１０１では、通信接続管理部９０１やデバイス管理部９０４からの通知を受け付けると、デバイス管理部９０４からのジョブ状態通知であるか、ジョブリスト要求であるかを判断する。
【０１５０】
デバイス管理部９０４からのジョブ状態通知であれば、ステップＳ２１０２に処理を移行し、該当するジョブ情報のジョブ状態を更新する。更にステップＳ２１０３に処理を移行し、印刷完了の通知であるかを判断する。印刷完了でなければ処理をステップＳ２１０４に移行し、接続管理部にジョブの状態のイベントをサーバに発行するように通知する。
【０１５１】
ステップＳ２１０３で、印刷完了の通知であれば、ステップＳ２１０５に処理を移行し、ジョブ管理キューから該当するジョブを削除し、ステップＳ２１０６で、接続管理部にジョブの完了イベントをサーバに発行するように通知し、処理をステップＳ２１０１に移行する。
【０１５２】
ステップＳ２１０１で、プルプリントサービス６０５からのジョブリスト要求の受け付けると、ステップＳ２１０７において、ジョブ管理キューに登録されたジョブ情報のリストを要求元のサーバに送信するように接続管理部にジョブ情報リストを通知する。
【０１５３】
図２２は、プリンタコントローラからのデバイス状態とジョブ状態通知をイベントハンドラを経由して受け付け、ジョブ管理部９０３や通信接続管理部９０１に通知するデバイススケジューラ９００の処理について記載する。
【０１５４】
ステップＳ２２０１では、デバイススケジューラが起動すると、デバイス管理部９０４がイベントハンドラを経由してプリンタコントローラに対して、デバイスの状態が変更した場合や、プリンタコントローラが処理する印刷ジョブの状態が変更したばあいにそれらの状態を通知するようにイベント登録の処理を行う。
【０１５５】
ステップＳ２２０２では、プリンタコントローラで発生したイベントをイベントハンドラ９０５経由で受け付けると、スケジュール管理部９０２は、ジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、ステップＳ２２０３でスケジュール管理部９０２は、ジョブ管理部９０３にジョブイベントを通知し、ステップＳ２２０２に処理を移行する。デバイスのイベントであれば、処理をステップＳ２２０４に移行し、スケジュール管理部９０２は、デバイスの状態をデバイス管理部９０４で保持した後、ステップＳ２２０５で通信接続管理部９０１にデバイスイベントを通知し、処理をステップＳ２２０２に移行する。
【０１５６】
図２３は、サーバ１０１〜１０２からの要求や通知、デバイス管理部９０４からの通知、ジョブ管理部９０３への要求や通知を処理するデバイススケジューラ９０１の通信接続管理部９０１の処理の流れについて記載する。
【０１５７】
ステップＳ２３０１では、通信接続管理部９０１は、サーバ１０１〜１０２やデバイス管理部９０４、ジョブ管理部９０３からの通知や要求を受け付け、どの通知や要求であるかを判断する。
【０１５８】
ステップＳ２３０１において受け付けた要求やイベントがサーバ１０１〜１０２からの接続要求であれば、ステップＳ２３０２に移行し、サーバ管理キューに通信接続管理部９０１で発行したサーバＩＤと、要求を発したサーバのＩＰアドレスを設定し、サーバ管理キューにサーバ情報を登録する。
【０１５９】
ステップＳ２３０１において受け付けた要求やイベントがサーバ１０１〜１０２からのイベント登録であれば、ステップＳ２３０３に処理を移行し、該当するサーバ情報の登録イベントに通知するイベントの種類を設定する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。
【０１６０】
ステップＳ２３０１において受け付けた要求やイベントがデバイス管理部９０４からのデバイスイベントやジョブ管理部９０３からのジョブイベントであれば、ステップＳ２３０４において、これらのイベントを通知すべきサーバを認識するために、サーバ管理キューに登録された全てのサーバ情報から、サーバ情報の登録イベントの設定を参照し通知すべきかどうかを判断する。通知すべきであると判断した場合には、サーバのＩＰアドレスを保持し、ステップＳ１７０５において通知すべき全てのサーバに対してイベントを送信する。
【０１６１】
ステップＳ２３０１において受け付けた要求やイベントがサーバからの切断要求であればステップＳ２３０６に処理を移行し、サーバ管理キューから該当するサーバのサーバ情報を削除する。
【０１６２】
図２４では、これまで説明してきた各コンポーネントのフローの全体の流れの概略を示した図である。サーバ１０１〜１０２のプルプリントサービス６０５が、ジョブを受け付け後、プリンタデバイス６０６にスケジュール要求を発行するところから、プリンタで印刷が終了するところまでのやり取りについて記載する。
【０１６３】
プルプリントサービス６０５は、印刷データを受け付けると、デバイススケジューラ９００とセッション接続を開始する。サーバの情報を通知する接続要求コマンド、ジョブ／デバイス状態を通知してもらうためのイベント登録、デバイススケジューラがスケジュール管理するジョブの情報を取得するジョブリスト取得コマンドを発行する。
【０１６４】
デバイススケジューラは、接続要求を受け付けると、サーバ情報をサーバ管理キューに登録し、イベントの登録を受け付けると該当するサーバ情報の登録イベントに設定する。ジョブリスト要求を受け付けると、ジョブ管理キューに登録されているジョブ情報のリストを送信する。
【０１６５】
次に、サーバ１０１〜１０２が印刷を予約するためのスケジュール要求のコマンドを発行する。デバイススケジューラはスケジュール要求を受け付けると、ジョブ管理キューにジョブ情報を登録する。ジョブ情報には、ドキュメント名等の情報を設定する。デバイススケジューラは、後述する判断でプリンタデバイス６０６が印刷データを受け付けられるようになるとスケジュールＵＰを発行し、プルプリントサービス６０５に対して印刷データの送信を開始するように促す。また、スケジュールＵＰを発行すると、ジョブ情報のジョブ状態をスケジュールＵＰ状態に更新する。
【０１６６】
プルプリントサービス６０５は、スケジュールＵＰを受け付けるとＬＰＤ／ＲＡＷに印刷データの転送を開始し、転送が始まるとデバイススケジューラに対して転送開始の通知を行う。デバイススケジューラは、転送開始通知を受けると、ジョブ情報のジョブ状態に転送中の状態に更新する。
【０１６７】
ＬＰＤ／ＲＡＷが印刷データを受け付けるとプリンタコントローラにデータを転送し、プリンタコントローラで印刷が開始される。プリンタコントローラは、印刷が開始されるとジョブの状態をデバイススケジューラに通知する。デバイススケジューラは、サーバ情報の登録イベントの情報を基に、サーバにジョブの印刷状態を通知する。
【０１６８】
また、プルプリントサービス６０５は印刷データの転送が終了するとデバイススケジューラに対して、転送終了通知を送信する。デバイススケジューラは、転送終了通知を受けると、ジョブ情報のジョブ状態に転送済の状態に更新する。
【０１６９】
プリンタコントローラで印刷処理が終了すると、ジョブの状態として印刷完了の通知をデバイススケジューラに通知する。デバイススケジューラは、サーバ情報の登録イベントの情報を基に、サーバにジョブの印刷完了の状態を通知する。
【０１７０】
プルプリントサービス６０５は、上記通知により印刷が完了したことを確認すると、デバイスからの通知が必要なくなるので、デバイススケジューラからのイベント通知の登録を解除するための解除要求を発行する。イベント解除要求を受け付けた、デバイススケジューラは、サーバ情報の登録イベントにイベントを通知しない旨の情報を設定する。
【０１７１】
その後、プルプリントサービス６０５は、デバイススケジューラとの接続を終了するための切断要求を発行し、セッションを終了する。
【０１７２】
デバイススケジューラは、切断要求を受け付けると、サーバ管理キューから該当するサーバ情報を削除し、該サーバとの処理を終了する。
【０１７３】
プルプリント処理で複数のジョブを送信すべき場合は、上記印刷データ転送開始から転送終了通知までの処理を複数回繰り返すことで対応することができ、また、複数の印刷データを転送する際は、複数のジョブを１つの印刷プロトコルのセッションで送信することも容易に考えられる。
【０１７４】
図２５は、プルプリントサーバ６０５がプルプリント要求を受け取った際、そのプルプリント要求を行ったユーザに該当するジョブがデバイスに転送されている場合、その該当ジョブの状態によって、そのジョブに対して削除、代行などの処理を説明するためのフローチャートある。
【０１７５】
ステップ２５０１において、プルプリントサーバ６０５は、プリンタ（印刷デバイス）からのプルプリント要求を待つ。プルプリント要求を受け付けるとステップ２５０２において、プルプリントサーバ６０５は、プルプリント要求に付加されているユーザ識別情報とデバイスのＩＰアドレスを取得する。
【０１７６】
ステップ２５０３においてステップ２５０２で取得したユーザ識別情報に該当する情報ファイルの印刷ジョブが、プルプリントサーバ６０５のプリントキューに存在し、その印刷ジョブが印刷デバイスに転送されているかどうか確認する。プリントキューに印刷ジョブが存在し、印刷デバイスに転送されていると判断された場合は、ステップ２５０４に処理を移行する。一方、プリントキューに印刷ジョブが存在しないと判断された場合は、プルプリント要求に応答することができないため、ステップ２５０１に処理を移行する。
【０１７７】
ステップ２５０４では、ステップ２５０２で取得したプルプリント要求を発行したデバイスのアドレスと、ステップ２５０３で見つけた印刷デバイスに転送されている印刷ジョブのデバイスアドレスと同じであるかを確認する。同じジョブであればステップ２５０５に移行し、異なればステップ２５０８に処理を移行する。
【０１７８】
ステップ２５０５では、プルプリントサーバ６０５は、ステップ２５０３で見つけた印刷ジョブが転送されている印刷デバイスの状態を確認する。印刷デバイスの状態は、前述の通りデバイススケジューラからイベントで通知されている。確認したデバイスの状態が正常であれば、ステップ２５０６に処理を移行する。ステップＳ２５０６において、プルプリントサーバ６０５は、ステップ２５０３で見つけたデバイスに転送された該当ジョブ全ての一時停止要求をデバイススケジューラに発行し、該当ジョブ全てを一時停止状態にする。
【０１７９】
ステップ２５０５で確認したデバイスの状態が用紙無しなどのエラー状態であれば、ステップ２５０７に処理を移行しデバイスに転送された該当ジョブ全てのキャンセル要求をデバイススケジューラに発行し、該当ジョブ全てを削除する。
【０１８０】
ステップ２５０４で、ステップ２５０２で取得したプルプリント要求を発行したデバイスのアドレスと、ステップ２５０３で見つけたデバイスに転送されているジョブのデバイスアドレスと同じであるかを確認する。アドレスが異なればステップ２５０８に移行する。
【０１８１】
ステップ２５０８では、ステップ２５０３で見つけたジョブが転送されているデバイスの状態を確認する。確認したデバイスの状態が正常であれば、ステップ２５０９に処理を移行し、ステップ２５０３で見つけたデバイスに転送された該当ジョブで、印刷待機中の状態のジョブ、つまり、まだ印刷処理がされていないジョブを、プルプリント要求を発行したプリンタに対して印刷処理を開始し、ステップ２５１０において、もともと転送していたプリンタの該ジョブを削除する。ステップ２５０９、ステップ２５１０の組み合わせ処理によって、元々印刷していたプリンタの先頭ジョブつまりまさに印刷処理されているジョブと、後続で待機していたジョブが別のプリンタに移動され、２台のプリンタで並行して印刷されることになる。つまり、プルプリントによる負荷分散印刷となる。
【０１８２】
ステップ２５０８で確認したデバイスの状態が異常であれば、ステップ２５１１に処理を移行する。
【０１８３】
プリンタが用紙無しなどのエラーで止まっており、プリンタの先頭のジョブを含め、プリンタが正常な状態に戻るまで印刷が待たされた状態となっている。ステップ２５１１では、先頭ジョブを含め、プルプリント要求を発行したプリンタに対して印刷処理を開始し、ステップ２５１２において、もともと転送していたプリンタの該ジョブを削除する。ステップ２５１１、ステップ２５１２の組み合わせ処理によって、元々印刷していたプリンタの先頭ジョブつまりまさに印刷処理されているジョブと、後続で待機していたジョブが別のプリンタに移動され、代行印刷されることになる。先頭ジョブを別のプリンタで代行する場合には、当然、そのジョブの先頭から代行されるようにすることも、途中のページから代行することも動作的に可能であることはいうまでもない。
【０１８４】
プルプリントシステムでは、ユーザがプリンタまで出向いて処理をするため、その場でジョブ制御を行うことができない。そのため以上説明したように、本実施例によれば、認証情報読み取り装置に認証情報記録媒体を通すことで、デバイスの状態によってジョブの制御を指定することが可能となり、プルプリントシステムの利便性を向上させることになる。
【０１８５】
本実施形態における制御は、上述したように、各ソフトウェアプログラムによって実現されることが望ましい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１８６】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１８７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１８９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１９１】
【図１】本発明の実施形態としてのプリントシステムの全体構成を示すブロック図である。
【図２】サーバのハードウェア構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】プリンタのハードウェア構成を説明するブロック図である。
【図６】サーバのプリントシステムのソフトウェア構成の例を示す図である。
【図７】サーバの印刷時の印刷ジョブの流れを示す図である。
【図８】プリンタのソフトウェア構成の例を示す図である。
【図９】プリンタのユーザアプリケーションのソフトウェア構成の例を示す図である。
【図１０】デバイススケジューラで管理するサーバ情報とサーバ管理キューを示す図である。
【図１１】デバイススケジューラで管理するジョブ情報とジョブ管理キューを示す図である。
【図１２】プルプリントサーバが管理するジョブ情報とジョブ管理キューを示す図である。
【図１３】プルプリントサーバが管理するプリンタキューの情報を表す図である。
【図１４】プルプリントエージェントがプルプリントサーバに送信する情報を示す図である。
【図１５】認証情報記憶媒体が記憶している情報を示す図である。
【図１６】プルプリントサーバがプルプリントジョブを印刷アプリケーションから受け付ける処理を示すフローチャートである。
【図１７】プルプリントエージェントの処理の流れを示す図である。
【図１８】プルプリントサーバがプルプリント要求を受け付けてから印刷データを送信するまでの処理の流れを示す図である。
【図１９】デバイススケジューラがジョブを受け付け、スケジュールアップする処理の流れを示す図である。
【図２０】プルプリントサーバのジョブ転送後の処理を示す図である。
【図２１】ジョブ管理部のジョブ状態通知イベントの受け付けからジョブリスト要求の受け付けに対する処理を示すフローチャートである。
【図２２】デバイススケジューラのイベント登録処理に関する処理の流れを示す図である。
【図２３】サーバからの要求や通知、デバイス管理部からの通知、ジョブ管理部９０３への要求や通知を処理する通信接続管理部の処理を示すフローチャートある。
【図２４】プルプリントサーバとデバイススケジューラ、ＬＰＤ／ＲＡＷ、プリンタコントローラ間の印刷シーケンスを示す図である。
【図２５】プルプリントサーバにおける動作を説明するためのフローチャートである。
【図１】
2007004680.tif 000003
【図２】
2007004680.tif 000004
【図３】
2007004680.tif 000005
【図４】
2007004680.tif 000006
【図５】
2007004680.tif 000007
【図６】
2007004680.tif 000008
【図７】
2007004680.tif 000009
【図８】
2007004680.tif 000010
【図９】
2007004680.tif 000011
【図１０】
2007004680.tif 000012
【図１１】
2007004680.tif 000013
【図１２】
2007004680.tif 000014
【図１３】
2007004680.tif 000015
【図１４】
2007004680.tif 000016
【図１５】
2007004680.tif 000017
【図１６】
2007004680.tif 000018
【図１７】
2007004680.tif 000019
【図１８】
2007004680.tif 000020
【図１９】
2007004680.tif 000021
【図２０】
2007004680.tif 000022
【図２１】
2007004680.tif 000023
【図２２】
2007004680.tif 000024
【図２３】
2007004680.tif 000025
【図２４】
2007004680.tif 000026
【図２５】
2007004680.tif 000027