(57)【特許請求の範囲】
【請求項１】
画像形成装置と通信する印刷制御装置であって、
画像形成装置が印刷完了を通知できるか否かを示す情報を前記画像形成装置と通信して取得する取得手段と、
前記取得手段で前記印刷完了を通知できることを示す情報を取得した場合に、前記画像形成装置から前記印刷完了の通知を受信できるように、前記画像形成装置が有する印刷完了通知手段の印刷完了通知先として前記印刷制御装置を設定させるための設定情報を発行する発行手段とを有することを特徴とする印刷制御装置。
【請求項２】
前記印刷完了を通知できるか否かを示す情報とは、前記画像形成装置の有する印刷完了通知機能を示す情報であり、
前記発行手段は、前記印刷完了通知機能を示す情報に基づいて、前記印刷完了通知先として前記印刷制御装置を設定させるために前記画像形成装置が認識可能な設定情報を発行することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記発行手段は、前記印刷完了通知先として前記印刷制御装置のネットワークアドレスを設定させるための設定情報を発行することを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記ネットワークアドレスは、プリントサーバのネットワークアドレスであることを特徴とする請求項３に記載の印刷制御装置。
【請求項５】
前記印刷制御装置にネットワークを介して接続された情報処理装置から印刷データを含まない印刷要求を受信する印刷要求受信手段と、
前記画像形成装置の状況に応じて前記情報処理装置に対して印刷実行の許可を通知する印刷許可通知手段とを更に有し、
前記情報処理装置が前記印刷制御装置からの前記印刷実行の許可の通知に応答して印刷データを前記画像形成装置に送信することを特徴とする請求項１に記載の印刷制御装置。
【請求項６】
前記画像形成装置が有する印刷完了通知機能を示す情報に基づいて、前記画像形成装置における印刷完了通知機能を有するか否かを判断する印刷完了通知機能判断手段を更に有し、
前記印刷完了通知機能判断手段による判断結果を情報処理装置に送信することを特徴とする請求項１に記載の印刷制御装置。
【請求項７】
前記印刷完了通知機能判断手段は、前記画像形成装置における印刷完了通知先を前記画像形成装置内に記憶することが出来るか否かをさらに判断し、前記判断の結果を情報処理装置に送信することを特徴とする請求項６に記載の印刷制御装置。
【請求項８】
前記印刷完了通知機能判断手段で前記画像形成装置における印刷完了通知先を前記画像形成装置内に記憶することができると判断した場合は、印刷データに対して印刷完了通知先として前記印刷制御装置を設定させる命令を生成せず、一方、前記印刷完了通知機能判断手段で前記画像形成装置内に記憶することができないと判断した場合は、印刷データに対して印刷完了通知先として前記印刷制御装置を設定させる命令を生成するように、前記情報処理装置に対して通知することを特徴とする請求項７に記載の印刷制御装置。
【請求項９】
画像形成装置と通信する印刷制御方法であって、
画像形成装置が印刷完了を通知できるか否かを示す情報を前記画像形成装置と通信して取得する取得工程と、
前記取得工程で前記印刷完了を通知できることを示す情報を取得した場合に、前記画像形成装置から前記印刷完了の通知を受信できるように、前記画像形成装置が有する印刷完了通知手段の印刷完了通知先として前記印刷制御装置を設定させるための設定情報を発行する発行工程とを有することを特徴とする印刷制御方法。
【請求項１０】
前記印刷完了を通知できるか否かを示す情報とは、前記画像形成装置の有する印刷完了通知機能を示す情報であり、
前記発行工程は、前記印刷完了通知機能を示す情報に基づいて、前記印刷完了通知先として前記印刷制御装置を設定させるために前記画像形成装置が認識可能な設定情報を発行することを特徴とする請求項９に記載の印刷制御方法。
【請求項１１】
前記発行工程は、前記印刷完了通知先として前記印刷制御装置のネットワークアドレスを設定させるための設定情報を発行することを特徴とする請求項１０に記載の印刷制御方法。
【請求項１２】
前記ネットワークアドレスは、プリントサーバのネットワークアドレスであることを特徴とする請求項１１に記載の印刷制御方法。
【請求項１３】
前記印刷制御装置にネットワークを介して接続された情報処理装置から印刷データを含まない前記印刷要求を受信する印刷要求受信工程と、
前記画像形成装置の状況に応じて前記情報処理装置に対して印刷実行の許可を通知する印刷許可通知工程とを更に有し、
前記情報処理装置は、前記印刷制御装置からの前記印刷実行の許可の通知に応答して印刷データを前記画像形成装置に送信することを特徴とする請求項９に記載の印刷制御方法。
【請求項１４】
前記画像形成装置が有する印刷完了通知機能を示す情報に基づいて、前記画像形成装置における印刷完了通知機能を有するか否かを判断する印刷完了通知機能判断工程を更に有し、
前記印刷完了通知機能判断工程による判断結果を情報処理装置に送信することを特徴とする請求項９に記載の印刷制御方法。
【請求項１５】
前記印刷完了通知機能判断工程では、前記画像形成装置における印刷完了通知先を前記画像形成装置内に記憶することが出来るか否かをさらに判断し、前記判断の結果を情報処理装置に送信することを特徴とする請求項１４に記載の印刷制御方法。
【請求項１６】
前記印刷完了通知機能判断工程で前記画像形成装置における印刷完了通知先を前記画像形成装置内に記憶することができると判断した場合は、印刷データに対して印刷完了通知先として前記印刷制御装置を設定させる命令を生成せず、一方、前記印刷完了通知機能判断工程で前記画像形成装置内に記憶することができないと判断した場合は、印刷データに対して印刷完了通知先として前記印刷制御装置を設定させる命令を生成するように、前記情報処理装置に対して通知することを特徴とする請求項１５に記載の印刷制御方法。
【請求項１７】
請求項９記載の印刷制御方法をコンピュータに実行させるためのプログラム。
【請求項１８】
画像形成装置と通信する印刷制御装置において、
画像形成装置が印刷完了通知機能を有するか否かを判断する判断手段と、
前記判断手段で前記画像形成装置が印刷完了通知機能を有すると判断した場合には前記画像形成装置が送信する印刷完了通知を受信し、前記判断手段で前記画像形成装置が印刷完了通知機能を有さないと判断した場合には前記画像形成装置に対して印刷処理の状況を要求して受信することにより印刷処理の状況を管理する管理手段とを有することを特徴とする印刷制御装置。
【請求項１９】
前記判断手段は、前記画像形成装置から受信した前記画像形成装置が有する印刷完了通知機能を示す情報に基づいて、前記画像形成装置が印刷完了通知機能を有するか否かを判断することを特徴とする請求項１８に記載の印刷制御装置。
【請求項２０】
情報処理装置からネットワークインターフェースを介して入力される印刷要求の順序管理を行うことを特徴とする請求項１８に記載の印刷制御装置。
【請求項２１】
前記印刷処理の状況は、ジョブ情報を用いることにより管理されることを特徴とする請求項１８記載の印刷制御装置。
【請求項２２】
画像形成装置と通信する印刷制御装置において用いられる印刷制御方法であって、
画像形成装置が印刷完了通知機能を有するか否かを判断する判断工程と、
前記判断工程で前記画像形成装置が印刷完了通知機能を有すると判断した場合には前記画像形成装置が送信する印刷完了通知を受信し、前記判断工程で前記画像形成装置が印刷完了通知機能を有さないと判断した場合には前記画像形成装置に対して印刷処理の状況を要求して受信することにより印刷処理の状況を管理する管理工程とを有することを特徴とする印刷制御方法。
【請求項２３】
前記判断工程は、前記画像形成装置から受信した前記画像形成装置が有する印刷完了通知機能を示す情報に基づいて、前記画像形成装置が印刷完了通知機能を有するか否かを判断することを特徴とする請求項２２に記載の印刷制御方法。
【請求項２４】
情報処理装置からネットワークインターフェースを介して入力する印刷要求の順序管理を行うことを特徴とする請求項２２に記載の印刷制御方法。
【請求項２５】
前記印刷処理の状況は、ジョブ情報を用いることにより管理することを特徴とする請求項２２記載の印刷制御方法。
【請求項２６】
請求項２２記載の印刷制御方法をコンピュータに実行させるためのプログラム。
【請求項２７】
ネットワークを介して印刷制御装置と通信し、画像形成装置に印刷データを送信する情報処理装置において、
画像形成装置の機器情報を取得する取得手段と、
前記機器情報に基づいて、前記印刷データに対する前記画像形成装置の印刷完了通知先の設定を行う命令の追加、又は、修正を行うか否かを特定する命令追加修正手段とを有することを特徴とする情報処理装置。
【請求項２８】
前記印刷データに対して印刷完了通知先が既に設定されているか否かを判断する判断手段をさらに有し、
前記命令追加修正手段は、前記印刷データに対して既に印刷完了通知先が設定されている場合には前記印刷データに対して設定された前記印刷完了通知先が前記印刷制御装置となるように前記印刷データに対する設定を修正し、既に前記印刷データに対して印刷完了通知先が設定されていない場合には前記印刷データに対して印刷完了通知先の設定をすることを特徴とする請求項２７に記載の情報処理装置。
【請求項２９】
前記判断手段は、前記画像形成装置が印刷完了通知先を記憶する記憶手段を有するか否かによって判断することを特徴とする請求項２８に記載の情報処理装置。
【請求項３０】
前記印刷データに対する前記印刷完了通知先は、印刷制御命令により設定することを特徴とする請求項２７に記載の情報処理装置。
【請求項３１】
前記印刷制御装置が有する印刷完了通知機能を示す情報から前記画像形成装置が認識可能な印刷制御命令の種類を判断し、印刷完了通知先が前記印刷制御装置となるように、印刷制御命令を追加又は修正することを特徴とする請求項２７に記載の情報処理装置。
【請求項３２】
前記印刷制御装置は、印刷ジョブに対して前記印刷制御装置が前記印刷ジョブを識別するためのジョブ情報を設定し、前記画像形成装置の印刷完了通知を取得する場合、前記ジョブ情報と併せて取得することを特徴とする請求項２７に記載の情報処理装置。
【請求項３３】
前記情報処理装置は、前記画像形成装置の印刷完了通知機能を示す情報を受信する受信手段を有し、
前記受信手段が受信した前記印刷完了通知機能を示す情報が、前記画像形成装置における印刷完了通知先を前記画像形成装置内に記憶することができることを示す場合は、印刷データに対して印刷完了通知先が前記印刷制御装置となるように設定する命令を生成せず、一方、前記印刷完了通知機能を示す情報が、前記画像形成装置内に記憶することができないことを示す場合は、印刷データに対して印刷完了通知先が前記印刷制御装置となるように印刷データに設定する命令を生成するように前記情報処理装置を設定することを特徴とする請求項２７に記載の情報処理装置。
【請求項３４】
ネットワークを介して印刷制御装置と通信し、画像形成装置に印刷データを送信する情報処理装置における情報処理方法であって、
前記画像形成装置の機器情報を取得する取得工程と、
前記機器情報に基づいて、前記印刷データに対する前記画像形成装置の印刷完了通知先の設定を行う命令の追加、又は、修正を行うか否かを特定する命令追加修正工程とを有することを特徴とする情報処理方法。
【請求項３５】
前記印刷データに対して印刷完了通知先が既に設定されているか否かを判断する判断工程と、
前記命令追加修正工程は、前記印刷データに対して既に印刷完了通知先が設定されている場合には前記印刷データに対して設定された前記印刷完了通知先が前記印刷制御装置となるように前記印刷データに対する設定を修正又は追加し、既に前記印刷データに対して印刷完了通知先が設定されていない場合には前記印刷データに対して印刷完了通知先の設定をする工程をさらに有することを特徴とする請求項３４に記載の情報処理方法。
【請求項３６】
前記判断工程では、前記画像形成装置が印刷完了通知先を記憶する記憶手段を有するか否かによって判断することを特徴とする請求項３５に記載の情報処理方法。
【請求項３７】
前記印刷データに対する前記印刷完了通知先は、印刷制御命令により設定することを特徴とする請求項３４に記載の情報処理方法。
【請求項３８】
前記印刷制御装置が有する印刷完了通知機能を示す情報から前記画像形成装置が認識可能な印刷制御命令の種類が判断され、印刷完了通知先が前記印刷制御装置となるように、印刷制御命令を修正することを特徴とする請求項３４に記載の情報処理方法。
【請求項３９】
印刷ジョブに対して前記印刷制御装置が前記印刷ジョブを識別するためのジョブ情報を設定させ、前記画像形成装置の印刷完了通知を取得する場合、前記ジョブ情報と併せて取得することを特徴とする請求項３４に記載の情報処理方法。
【請求項４０】
前記情報処理装置は、前記画像形成装置の印刷完了通知機能を示す情報を受信する受信工程を有し、
前記受信工程において受信した前記印刷完了通知機能を示す情報が、前記画像形成装置における印刷完了通知先を前記画像形成装置内に記憶することができることを示す場合は、印刷データに対して印刷完了通知先が前記印刷制御装置となるように設定する命令を生成せず、一方、前記印刷完了通知機能を示す情報が、前記画像形成装置内に記憶することができないことを示す場合は、印刷データに対して印刷完了通知先が前記印刷制御装置となるように印刷データに設定する命令を生成するように前記情報処理装置を設定する工程を有することを特徴とする請求項３４に記載の情報処理方法。
【請求項４１】
請求項３４記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項４２】
画像形成装置と印刷制御装置とを含む印刷システムにおいて、
印刷制御装置は、
画像形成装置が印刷完了を通知できるか否かを示す情報を前記画像形成装置と通信して取得する取得手段と、
前記取得手段で前記印刷完了を通知できることを示す情報を取得した場合に、前記画像形成装置から前記印刷完了の通知を受信できるように、前記画像形成装置が有する印刷完了通知手段の印刷完了通知先として前記印刷制御装置を設定させるための設定情報を発行する発行手段とを有し、
前記画像形成装置は、
前記印刷制御装置からの前記設定情報に基づいて、前記画像形成装置の印刷完了時の印刷完了通知先を設定する設定手段を有することを特徴とする印刷システム。
【請求項４３】
情報処理装置と、画像形成装置と、印刷制御装置とを含む印刷システムにおいて、
前記印刷制御装置は、
前記画像形成装置が印刷完了通知機能を有するか否かを判断する判断手段と、
前記判断手段で前記画像形成装置が印刷完了通知機能を有すると判断した場合には前記画像形成装置が送信する印刷完了通知により前記画像形成装置の印刷処理の状況を管理し、前記判断手段で前記画像形成装置が印刷完了通知機能を有さないと判断した場合には前記画像形成装置に対して要求することにより印刷処理の状況を管理する管理手段と、
前記管理手段での管理結果を前記情報処理装置に通知する管理結果通知手段とを有し、
前記情報処理装置は、
前記印刷制御装置から通知された管理結果に基づいて印刷データを前記画像形成装置に送信する送信手段を有することを特徴とする印刷システム。
【請求項４４】
ネットワークを介して接続された印刷制御装置と、前記印刷制御装置と、画像形成装置に印刷データを送信する情報処理装置を含む印刷システムにおいて、
前記情報処理装置は、
前記画像形成装置の機器情報を取得する取得手段と、
前記機器情報に基づいて、当該印刷データに対する前記画像形成装置の印刷完了通知先を設定を行う命令の追加、又は、修正を行うか否かを特定する命令追加修正手段とを有し、
前記印刷制御装置は、
前記情報処理装置から機器情報の要求に応答して、前記画像形成装置の機器情報を前記情報処理装置に対して送信する送信手段を有することを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上に接続された情報処理装置と複数のプリンタとから構成される印刷システム、印刷制御装置、情報処理方法、制御プログラムに関するものである。
【０００２】
【従来の技術】
従来の印刷システムにおいては、印刷処理をさせるホストコンピュータから、印刷ジョブを管理するプリントサーバに印刷データを送信し、プリントサーバ（以下、従来からあるプリントサーバという。）からプリンタに対して印刷データを送信していた。また、これらの従来からあるプリントサーバは、通常、別に設けられることが多かった。従来の印刷システムにおいては、印刷データの送受信よるネットワークの負荷増大や、従来からあるプリントサーバの新規設置の負担、さらに従来からあるプリントサーバの負荷の増大が問題となっていた。
【０００３】
近年、これらの問題を解決するため、次のような印刷システムが開発されつつある。例えば、クライアントはプリントサーバにジョブの情報だけを送信し、自身で印刷データをスプールしておく。一方、プリントサーバは、ジョブ情報を保持し、ジョブの順序管理を行う。さらに、プリントサーバは、プリンタのステータスを、監視することにより管理し、プリンタが印刷データを受け付け可能であると判断すると、その旨をクライアントに報知する。続いて、プリントサーバからの報知を受けたクライアントがプリンタに印刷データを送信する。これにより、印刷データがプリントサーバに送信されることなく、印刷を要求するコンピュータからプリンタに直接送信されるので、機器やネットワークの負荷の軽減を行うことができる。また、プリントサーバの負荷が小さくなるので、別にプリントサーバを新たに設置する必要がなくなる。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような印刷システムにおいて、印刷処理を適切に遂行するためには、様々な課題を解決する必要がある。
【０００５】
例えば、前述の、近年開発された印刷データをスプールすることなく、印刷の順序管理を行うことができるプリントサーバ（以下、単にプリントサーバという）は、印刷順序を適切に管理するため、ネットワーク上の各プリンタのステータスを確実に把握する必要がある。ステータスとは、例えば、プリンタの印刷完了状態を含む印刷処理状況などである。印刷システムを構成するプリンタには印刷完了通知機能を有するものが近年開発されているが、印刷完了の通知先がプリンタに対するジョブの送信元となるプリンタも多い。これらのプリンタの印刷完了の通知先が、印刷データの送信元であるホストコンピュータとなり、印刷完了の通知を受けることが出来ないという問題がある。そこで、各プリンタから印刷完了の通知を受けることが出来るようにできるような仕組みを提供することが第一の課題である。
【０００６】
また近年、印刷完了通知機能を有するプリンタや、印刷完了通知機能が無いプリンタなど、様々なプリンタが印刷システムに接続されてきている。近年開発された印刷システムにおける、プリントサーバは、印刷完了通知機能を有するプリンタに対しても一律にポーリングにより各プリンタの印刷完了を把握している。しかし、ポーリング方式によれば、何度もプリンタステータスを取得するので、ネットワークやプリンタ、プリントサーバに負荷を与えることになる問題がある。そこで、印刷完了通知の有無に関わらず、プリントサーバ側で、ネットワークや装置に負荷をかけることなく、確実に印刷完了通知を受けることが出来る仕組みを提供するのが第二の課題である。
【０００７】
また、プリンタが印刷完了通知機能を有しているプリンタの中には、印刷完了通知先をプリンタに登録しておくことができるものもあれば、印刷完了通知先を登録することが出来ないものもある。印刷完了通知先の登録できないプリンタに対して、そのまま印刷データを送信すると、印刷データの送信元が印刷完了通知先になるように設定するような命令を含むような印刷データを生成してしまい、プリントサーバ側で印刷完了通知を確実には受信することができないという問題がある。そこで、様々なプリンタの印刷完了通知機能に応じて、プリントサーバ側で確実に印刷完了通知を受けることが出来るような仕組みを提供することが第三の課題である。
【０００８】
本発明は上記課題の少なくとも一つを解決することを目的とする。また、本発明の目的は、プリントサーバ又は画像形成装置の好適な一例であるネットワークプリンタ等を含む印刷システムを適切に動作させることである。
【０００９】
例えば、本発明の好ましい実施形態による第一の目的は、プリントサーバが、各プリンタから印刷完了の通知を受けることが出来るようにできるような仕組みを提供することである。
【００１０】
また、本発明の好ましい実施形態による第二の目的は、印刷完了通知の有無に関わらず、プリントサーバ側で、ネットワークや装置に負荷をかけることなく、確実に印刷完了通知を受けることが出来る仕組みを提供することである。
【００１１】
また、本発明の好ましい実施形態による第三の目的は、様々なプリンタの印刷完了通知機能に応じて、プリントサーバ側で確実に印刷完了通知を受けることが出来るような仕組みを提供することである。
【００１２】
ネットワーク上に接続されたプリンタを認識し、当該プリンタからの所定の情報に基づいて、印刷処理を適切に行うことが出来るように、プリンタの設定を行うことができる印刷システムを提供することを一つの目的とする。特に、本発明の好ましい実施形態の一つにおいては、印刷順序管理を適切に行うために、各プリンタのステータス、例えば、印刷完了通知をプリントサーバ側で確実に取得することを可能にすることをさらに別の目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本発明の好ましい実施形態の一例として、画像形成装置と通信する印刷制御装置であって、画像形成装置が印刷完了を通知できるか否かを示す情報を前記画像形成装置と通信して取得する取得手段と、前記取得手段で前記印刷完了を通知できることを示す情報を取得した場合に、前記画像形成装置から前記印刷完了の通知を受信できるように、前記画像形成装置が有する印刷完了通知手段の印刷完了通知先として前記印刷制御装置を設定させるための設定情報を発行する発行手段とを有することを特徴とする印刷制御装置が開示される。
【００１４】
更に上記目的を達成するために、本発明の好ましい実施形態の一例として、画像形成装置と通信する印刷制御装置において、画像形成装置が印刷完了通知機能を有するか否かを判断する判断手段と、前記判断手段で前記画像形成装置が印刷完了通知機能を有すると判断した場合には前記画像形成装置が送信する印刷完了通知を受信し、前記判断手段で前記画像形成装置が印刷完了通知機能を有さないと判断した場合には前記画像形成装置に対して印刷処理の状況を要求して受信することにより印刷処理の状況を管理する管理手段とを有することを特徴とする印刷制御装置が開示される。
【００１５】
更に上記目的を達成するために、本発明の好ましい実施形態の一例として、ネットワークを介して印刷制御装置と通信し、画像形成装置に印刷データを送信する情報処理装置において、画像形成装置の機器情報を取得する取得手段と、前記機器情報に基づいて、前記印刷データに対する前記画像形成装置の印刷完了通知先の設定を行う命令の追加、又は、修正を行うか否かを特定する命令追加修正手段とを有することを特徴とする情報処理装置が開示される。
【００１６】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１７】
本実施形態では、ホストコンピュータの好適な一例である情報処理装置、プリントサーバの好適な一例である印刷制御装置と複数のネットワークプリンタ（以下、プリンタと呼ぶ）の好適な一例である画像形成装置とがネットワーク上に接続された印刷システムにおいて、ネットワーク上で使用可能なネットワークプリンタを検索し、ネットワークプリンタを使用する上で必要なネットワークアドレス等の情報を取得し、ネットワークプリンタの設定を自動的に行う場合について説明する。
【００１８】
図１は、好ましい実施形態における印刷システムの構成を示す図である。図１において、１０１はネットワークであり、イーサネット等のローカルエリアネットワーク（ＬＡＮ）回線である。１０２はホストコンピュータ（情報処理装置）であり、ネットワーク１０１を介して後述するプリンタ（画像形成装置）が所定のプロトコルで通信可能に接続されている。ここで、画像形成装置は、ネットワークを介して印刷データを受信して印刷できる印刷装置であれば、複写機又はファクシミリ機能などを有する複合機などであってもよい。１０３はプリントサーバであり、ネットワーク１０１上に複数接続されているホストコンピュータ（クライアント）からの印刷要求に基づいてプリンタ毎に印刷順序の管理を行う。１０４，１０５はプリンタであり、複数のホストコンピュータ（クライアント）からの印刷データに従って記録紙上に画像形成を行う。印刷順序管理を行うプリントサーバ１０３において、各プリンタにおける印刷ジョブの印刷処理の状況を適切に把握するためには、印刷完了通知をプリントサーバ側１０３で確実に受信できるようにプリントシステムを設定する必要があるという問題がある。また、ユーザが、それぞれのプリンタのネットワークボードやプリントサーバを手動で設定しなければならないという問題があった。また、これらの設定は煩雑であり、ネットワークや、プリンティングプロトコルの仕様に精通した、システム管理者が必要であるという問題がある。本実施形態においてはこれらの課題を解決することも本実施形態の目的の一つである。
【００１９】
図２は、図１に示したホストコンピュータの構成を示す図である。図２において、２００はＣＰＵであり、後述するＲＯＭに格納された所定のプログラムやハードディスクに記憶されたアプリケーションプログラムをオペレーティングシステム（ＯＳ）に基づき実行したり、後述するバスに接続される各種デバイスとのアクセスを制御する。２０１はＲＯＭであり、ＣＰＵ２００が実行する制御プログラムや制御データ等が格納されたメモリである。２０２はＲＡＭであり、ＣＰＵ２００がＲＯＭ２０１やハードディスク等に記憶されたプログラムを実行する際にワークメモリとして利用される。２０３はキーボードであり、不図示のマウス等のポインティングデバイスと共にユーザとのインターフェースを提供する。２０４はハードディスクであり、アプリケーションプログラム等が記憶される大容量の記憶装置である。２０５はＣＲＴやＬＣＤなどのディスプレイであり、キーボード２０３と共にユーザインターフェースとして機能する。２０６はネットワークボードであり、複数のプロトコルに従って図１に示したプリンタ１０４，１０５、プリントサーバ１０３、或いは他のクライアントマシンと通信する機能を有する。２０７はシステムバスであり、上述のＣＰＵ２００からネットワークボード２０６がそれぞれ接続され、相互にデータのやり取りができるように構成されている。なお、本発明に係る印刷制御装置の好適な一例であるプリントサーバに用いるコンピュータも同様のハードウェア構成であり、その説明は省略する。
【００２０】
次に、ホストコンピュータと複数のプリンタ、およびこれらを一元管理するプリントサーバがＬＡＮ回線を介して接続されている印刷システムにおける印刷データ、プリンタ情報、制御命令の流れについて説明する。
【００２１】
図３は、図１に示したホストコンピュータ及びプリントサーバにおけるデータと制御の流れを示す図である。図３において、３００はユーザに印刷機能を提供するアプリケーションである。３０１、３０２、３０３、３０７、３０８はホストコンピュータ１０２内のモジュールであり、３０４、３０５、３０６、３０９、３１０はプリントサーバ１０３内のモジュールであり、それぞれ自機のＣＰＵ２００によって実行される。また、ホストコンピュータ１０２上のモジュールとプリントサーバ１０３上のモジュールは通信部３０３、３１０を経由して通信を行うことが可能である。図３に示したのは好ましい実施形態の一例である。
【００２２】
３０１はプリンタドライバ部であり、アプリケーション３００からの印刷要求並びに描画関数を含むデータを受け取り、本発明の画像形成装置の好適な一例であるプリンタが解釈可能な印刷データを生成する。画像形成装置には、プリンタはもちろん、複写機、ファクシミリ、並びにこれらの複合機を含む。３０２はクライアント制御部であり、プリンタドライバ部３０１を介して印刷要求が通知されると、プリンタドライバ部３０１から印刷データを受け取り、後述する印刷データ管理部へ転送し、同時にサーバ制御部３０９に印刷ジョブの登録を行う。ここで、印刷ジョブの登録とは、印刷データを含まないジョブ情報をクライアント制御部３０２からサーバ制御部３０９に転送することにより実現される。ジョブ情報は、例えば、印刷ジョブのオーナー名、印刷時刻、印刷データのサイズ、印刷先のプリンタ名を含むものであり、データサイズとしては、数キロバイトである。また、クライアント制御部３０２は印刷システムとして機能するホストコンピュータ上の他のモジュールも制御するモジュールである。３０３、３１０は通信部であり、ＬＡＮ回線１０１を経由してプリンタへ印刷データ及びプリンタ制御命令を転送し、またプリンタから構成・状態情報などを受信する。
【００２３】
３０９はサーバ制御部であり、プリントサーバ上の他のモジュール及びホストコンピュータを制御する。サーバ制御部３０９は印刷ジョブのスケジューリングも行う。クライアント制御部３０２からジョブ情報が登録されるとそれを印刷待ちキューに追加し、出力先のプリンタ（１０４〜１０６）のプリンタのステータスを通信部３１０を介して取得し、出力先のプリンタが出力可能な状態にあると判断した場合に、印刷開始命令を印刷ジョブ管理部３０８に通知する。
【００２４】
３０４は検索部であり、ＬＡＮ回線１０１に接続された複数のプリンタを検索するために、通信部３１０を介してプリンタに対して構成情報を要求する命令を転送し、その命令に対するプリンタからの応答に基づきプリンタ構成情報を作成する。プリンタ構成情報はプリンタが有する印刷完了通知機能を示す情報の一例である。印刷完了通知機能を示す情報には、例えば、プリンタの機種名並びに型番、製造番号、プリンタに搭載されているネットワークボードの種類、ネットワークボードに搭載されているチップの種類、ネットワークアドレスの好適な一例であるMACアドレス、IPアドレス、対応しているネットワークプロトコルなどがある。さらに、印刷完了通知機能を示す情報には、印刷完了通知をプリンタが行うことが出来る使用を持つ技術の例として、ＳＮＭＰに対応しているとか、所定のネットワークプリンティングプロトコルに対応しているなどの、機器を制御するためのソフトウェアに関連する情報を含む。印刷完了通知機能は、例えば、プリンタが印刷完了通知機能を有するか否か、または、プリンタ内に印刷完了通知先を記憶するメモリを有するか否かを示す情報も含む。プリンタ管理部３０５は、プリンタが有する印刷完了通知機能を示す情報を記憶する記憶手段の好適な一例であり、検索部３０４で検索されたプリンタ構成情報を記憶して管理する。プリンタ構成情報は、プリンタが有する印刷完了通知機能を示す情報の一例である。また、プリンタ情報管理部３０５は要求に応じてプリンタ構成情報を他のモジュールに提供する。３０６はプリンタ制御部であり、プリンタに対して動作を指定するための制御命令を転送する。また、生成手段の好適な一例であるプリンタ制御部３０６（印刷処理状況を管理するための管理手段）は、印刷処理の状況などのプリンタのステータスの通知を行うよう指示する制御命令を生成して送信し、プリンタから状態通知を受けるように設定する。あるいは、定期的にプリンタの状態を取得することによりプリンタの状態監視を行う。このプリンタに対するプリンタのステータスの通知を行うように設定する制御命令は、プリンタに対する設定情報の好適な一例である。また、プリントサーバは、プリンタ情報管理部３０５からプリンタが有する印刷完了通知機能を示す情報の好適な一例であるプリンタ構成情報を取得し、これに基づいて、プリンタに対する制御命令の種類を決定する。
【００２５】
３０７は印刷データ管理部であり、アプリケーション３００からの印刷要求に応じてクライアント制御部３０２から転送された印刷データを保持、管理する。３０８は印刷ジョブ管理部であり、サーバ制御部３０９から印刷開始命令を受け取ると、印刷データを印刷データ管理部３０７から取得し、通信部３０３を介してプリンタに転送する。また、印刷ジョブ管理部３０８は、必要に応じて印刷データに対してプリンタ制御命令を追加若しくは印刷データ内のプリンタ制御命令の修正を行う。この場合、印刷ジョブ管理部３０８（命令追加変更手段）は、プリンタ情報管理部３０５よりプリンタ構成情報を取得し、追加、変更するプリンタ制御命令の種類を決定する。
【００２６】
サーバ制御部３０９は、プリンタにおける印刷終了をプリンタ制御部３０６から取得すると、印刷ジョブの印刷終了をクライアント制御部３０２に通知する。クライアント制御部３０２は、サーバ制御部３０９から印刷終了通知を受けると、印刷ジョブ管理部３０８および印刷データ管理部３０７へ印刷データの削除命令をだし、印刷データの削除が終了すると、クライアント制御部３０２はサーバ制御部３０９に対して印刷データの削除終了通知を行う。サーバ制御部３０９は、クライアント制御部３０２から印刷データの削除終了通知を受けると、プリンタ情報管理部３０５で管理している、削除対象のジョブ情報の削除を行わせる。図１４は、ホストコンピュータとプリントサーバが同じ一台のコンピュータである図３の変形例の図である。図１４に示したように、ホストコンピュータ１０２とプリントサーバ１０３が同じ一台のコンピュータであっても良い。図３との差分を説明する。ホストコンピュータ１０１が印刷を要求するアプリケーション３００を搭載したホストコンピュータと、プリンタ制御部などを有するプリントサーバが一体となったものである。３１１は、サーバ制御部とクライアント制御部の機能が一体となっており、検索部３０４、プリンタ制御部３０６、印刷データ管理部３０７、印刷ジョブ管理部３０８を制御する。このように、プリンタ制御部自体の処理は印刷順序管理ですみ、クライアントにおいて印刷データをスプールするので、特別なプリントサーバを設けることなく、通常のホストコンピュータでプリントサーバを代替できる。
【００２７】
以上のように印刷ジョブスケジューリング、プリンタ検索、プリンタ情報管理、プリンタ制御をプリントサーバで一元して行うことにより、多数のホストコンピュータが存在するプリントシステムにおいて印刷順序の制御が行うことができる。また、印刷データを、プリントサーバを介さずにホストコンピュータからプリンタに直接送信するので、ネットワークトラフィックの軽減などの効果がある。
【００２８】
以上の構成からなる印刷システムにおいて、ネットワーク上で使用可能な複数のプリンタの設定を自動的に行う処理について説明する。
【００２９】
図４は、図１に示したプリントサーバ１０３におけるプリンタ情報収集処理のフローチャートである。以下に本フローチャートを参照して詳細に説明する。
【００３０】
まず、ステップＳ４１において、サーバ制御部３０９が検索部３０４へプリンタ検索要求を出し、ＬＡＮ回線１０１（ネットワーク）に接続されている全プリンタの検索を開始する。次に、ステップＳ４２において、検索部３０４が通信部３１０を介してＬＡＮ回線１０１に接続されている全プリンタに対して構成情報を要求する。具体的には、ＴＣＰ／ＩＰネットワークで使われるネットワーク管理用のプロトコルであるＳＮＭＰ（simple network management protocol）を用いて、プリンタに搭載されたネットワークインターフェースボードに対してＭＩＢ（management information base）番号を指定し、そのＭＩＢ番号に対応づけて保持されているネットワークアドレス、機種名、ネットワークインターフェースボード名等の構成情報を要求する。
【００３１】
次に、ステップＳ４３において、サーバ制御部３０９は、プリンタに対して出された要求に対する応答を受信する。尚、プリンタからの応答時間には差が生じるため、予め設定された時間だけ、プリンタからの要求を待つ。その後、ステップＳ４４において、ステップＳ４３でプリンタからの応答により収集されたプリンタ構成情報をプリンタ情報管理部３０５に保存する。そして、ステップＳ４５で、プリンタ検索処理を終了する。
【００３２】
図５は、図４で収集したプリンタ構成情報を用いたプリンタ登録処理のフローチャートである。図４に示したＳ４５の処理に続いて図５に示すＳ５２の処理に移る。ステップＳ５２において、プリントサーバへのプリンタ設定を開始する。まず、ステップＳ５３において、プリンタ制御部３０６がステップＳ４４で保存されたプリンタ構成情報をプリンタ情報管理部３０５から取得する。次に、ステップＳ５４において、プリンタ検索により発見されたプリンタをプリントサーバにおいて印刷先・管理対象とするプリンタとしてサーバ制御部３０９が登録する。ここでは、プリンタを利用可能とするために用いられる情報として、プリンタのネットワークアドレス、ネットワークインターフェースの種類、機種名、プリンタドライバ名、プリンタドライバをインストールできる場所、ＯＳのレジストリに格納されるプリンタ情報等の情報を登録手段の好適な一例であるプリンタ制御部３０６にプリンタ構成情報として登録する。そして、ステップＳ５５で、プリントサーバへのプリンタ設定を終了する。
尚、上述のプリンタ設定は、検索されたプリンタのうち、ユーザ毎に、或いは複数のユーザを含むグループ毎に使用を許可されたプリンタを自動的に設定するように構成することも可能である。
【００３３】
これにより、プリンタ制御部３０６はプリンタの状態監視及び管理、印刷ジョブの追跡処理を行うために、ここで設定された情報に基づいてプリンタに対する制御命令を作成し、通信部３１０（管理結果通知手段）を介して転送する。図６に示すステップＳ６２並びにＳ６９がこの処理に相当する。このＳ５４におけるプリンタを利用可能とする情報のプリンタ制御部３０６への登録処理に応答して、Ｓ６２〜Ｓ６９のプリンタに対する制御命令の生成又は送信処理を行わせると好適である。例えば、プリンタを利用可能とする情報には、レジストリのプリンタ情報、プリンタのネットワークアドレスなどがある。プリンタドライバの登録も一例として考え得る。プリントサーバが印刷完了通知を適切に受信できるように、例えば、プリンタ制御部３０６へプリントサーバのネットワークアドレスが登録されるのに応答して、当該ネットワークアドレスを印刷完了通知先として、プリンタに設定させるような制御命令をプリントサーバが生成する。
【００３４】
図６は、図５の処理で新たに発見されたプリンタの設定のフローチャートである。まず、ステップＳ６２において、新規に発見されたプリンタが存在するか否かを判定し、プリンタが存在しなければそのまま処理を終了する。また、プリンタが存在するならばステップＳ６３へ進み、新規に発見された管理対象のプリンタの動作設定を開始する。ステップＳ６４では、プリンタ制御部３０９（印刷完了通知機能判断手段）は、動作設定を行う新規に発見されたプリンタに関する構成情報をプリンタ情報管理部３０５から取得する。そして、ステップＳ６５において、新規に発見されたプリンタが状態変更・印刷完了通知機能を持っているか否かを判定する。ここでは、プリンタの機種、ネットワークインターフェースの種類等に基づきプリンタがこのような印刷完了通知機能や状態（ステータス）通知機能を備えているかを判定する。
【００３５】
ここで、対象プリンタが上述の機能を備えていなければステップＳ６８へ進むが、備えていればステップＳ６６へ進み、プリンタ制御部３０６は、プリンタに対して状態変更・印刷終了通知を行うよう指示する命令である設定情報を、プリントサーバが有するプリンタ構成情報、例えば、プリンタの機種、ネットワークインターフェースの種類に基づき、対象プリンタが認識可能な制御命令の形式で作成する。このとき、通知先として本システムを指定する。例えば、プリントサーバのネットワークアドレスを入力するのに応答して、プリントサーバは、設定する必要のあるプリンタをプリンタ構成情報を検索して特定し、次に、入力されたネットワークアドレスのフォーマットから、どのネットワークプロトコルを用いるかを自動的に認識して、プリンタの印刷完了通知先としてプリントサーバのネットワークアドレスを設定するような制御命令を生成して送信することもできる。
【００３６】
例えば、通知先として、本システムに付与されたネットワークアドレスの一例として、ＩＰアドレス、ＭＡＣアドレスを用いたり、又は、Unified Resource Identifier(URI)、例えばInternet Printing Protocolなどの所定のネットワーク印刷プロトコルにより定義可能なオブジェクト名などを用いることができる。なお、このような通知先の設定情報は、ＸＭＬで構成され、送受信されてもよく、ＸＭＬを用いると設定情報の汎用性が増し好適である。そして、ステップＳ６７では、作成したプリンタ制御命令を対象プリンタのネットワークアドレスを指定して転送して、プリンタ又はプリンタのネットワークボードに対して、印刷完了通知先の設定を行う。次に、ステップＳ６８において、ＯＳに対する印刷設定を行うようプリントサーバが設定されているか否かを判定する。ここで、設定されていれば後述する図７に示すステップＳ７２へ進み、ＯＳに対するプリンタ・印刷設定を行う。しかし、設定されていなければステップＳ６９へ進み、動作設定がされていないプリンタが他に存在するか否かを判定する。ここで、プリンタが他に存在すればステップＳ６４へ戻り、上述の動作設定を繰り返すが、存在しなければステップＳ６１０へ進み、プリンタの動作設定を終了する。
【００３７】
図７は、図６でＯＳに対する印刷設定を行う設定がされている場合のプリントサーバに設定を行うフローチャートである。上述したステップＳ６８において、ホストコンピュータにおけるＯＳに対する印刷設定を行うよう設定されていればステップＳ７２へ進み、クライアント制御部３０２はプリンタの機種名からインストールするプリンタドライバを決定する。そして、ステップＳ７３では、アプリケーションの印刷先となるプリンタオブジェクトをホストコンピュータのＯＳ上に作成する。ここで作成したプリンタオブジェクトに対してアプリケーション３００が印刷を行う。次に、ステップＳ７４において、ステップＳ７２で選択されたプリンタドライバをインストールする。そして、ステップＳ７５において、ＯＳがアプリケーションから受け取った印刷データの印刷先として本プリントサーバを指定する。
【００３８】
このように、上述した図４乃至図７における一連の処理により、プリントサーバによる印刷処理、プリンタ管理処理のための設定及び、アプリケーションが印刷を行うためのＯＳ上の設定を自動的に行うことができるようになり、印刷完了通知を確実にプリントサーバ側で受信できるようになる。また、プリンタに対して状態変更・印刷終了通知を行うよう指示する命令を、プリンタの機種、ネットワークインターフェースの種類に基づき対象プリンタが認識可能な制御命令の形式で作成し、通知先として本システムを指定するので、ユーザがそれぞれのプリンタのネットワークボードやプリントサーバを手動で設定する必要がなくなり、印刷システムの設定を自動化できるという効果がある。また、印刷設定は簡便となり、ネットワークや、プリンティングプロトコルの仕様に精通した、システム管理者の必要性が少なくなるという効果がある。
【００３９】
次に、上述したプリンタ検索処理により取得したプリンタの構成情報に基づきアプリケーション３００から印刷を行う処理について説明する。
【００４０】
図８乃至図１０は、アプリケーションからの印刷処理を示すフローチャートである。以下に本フローチャートを参照して詳細に説明する。
【００４１】
図８は、図１に示したホストコンピュータにおけるアプリケーションからの印刷処理を示すフローチャートである。まず、ステップＳ８１において、プリンタドライバ部３０１がアプリケーション３００からの印刷要求を受け取る。これは、アプリケーション３００がＯＳ上のプリンタオブジェクトに対して印刷処理を行い、ＯＳを通してプリンタオブジェクトの印刷先として設定されている本プリントサーバが印刷データを受け取る処理である。次に、ステップＳ８２において、アプリケーション３００から受け取った描画関数に基づいてプリンタドライバ部３０１が生成したプリンタが解釈可能な印刷データはクライアント制御部３０２から印刷データ管理部３０７へ転送される。ステップＳ８３において、クライアント制御部３０２は、印刷データからジョブ情報を抽出して、サーバ制御部３０９に対して、ジョブ情報の登録を行う。これにより、印刷要求が印刷待ちキューの最後に挿入される。そして、印刷データ管理部３０７はステップＳ８４において、登録した印刷ジョブの印刷順番がくるまで待機する。サーバ制御部３０９では、印刷ジョブの受付時刻、優先順位等が考慮され、印刷待ちキューの先頭のジョブ情報の送信元のホストコンピュータのクライアント制御部３０２に対して順次、印刷開始許可を出す。
【００４２】
次に、図９は、図８の処理に続く図１に示したホストコンピュータにおけるアプリケーションからの印刷処理を示すフローチャートである。図９に示すステップＳ９２において、待機中の印刷ジョブの順番がくると、サーバ制御部３０９が印刷ジョブ管理部３０８に印刷ジョブの印刷開始許可を出して印刷が開始される。まず、ステップＳ９３において、印刷ジョブの追跡を行うためのジョブ情報の一例である印刷ジョブ識別子をサーバ制御部３０９より取得する。尚、この識別子はプリンタに対して転送され、プリンタが印刷ジョブの印刷終了を識別するために使用される。次に、ステップＳ９４において、クライアント制御部３０２は印刷先プリンタの構成情報をプリンタ情報管理部３０５より取得する。そして、ステップＳ９５において、プリンタ、ネットワークインターフェースなどの種類から制御命令の種類を判断し、ジョブの印刷終了時に通知する印刷ジョブ識別子を指定する制御命令若しくはＳＮＭＰを使用して印刷終了ジョブの識別子を取得可能なように、印刷ジョブ識別子をＭＩＢに対して設定するよう指示する制御命令を作成する。
【００４３】
次に、ステップＳ９６において、印刷データを解析し、ステップＳ９７では、ステップＳ９６の結果から、印刷データ内にステップＳ９５で作成した制御命令と同種のものが埋め込まれているかを判定する。これは、プリンタドライバなど本プリントサーバとは独立に動作するモジュールが同様の制御命令を埋め込むことがあるため必要な判定である。ここで、上述した制御命令が埋め込まれていればステップＳ９８へ進み、埋め込まれている制御命令を変更（命令追加変更手段）し、ステップＳ９５で作成した制御命令を埋め込む。また、上述の制御命令が埋め込まれていなければステップＳ９９へ進み、ステップＳ９５で作成した制御命令を埋め込むなどして追加する（命令追加変更手段）。次に、ステップＳ９１０において、印刷データを通信部３０３（ネットワークインターフェース）を介してプリンタに転送する。このとき、プリンタのネットワークアドレスを指定し、ＬＰＲ等のプロトコルを使用して印刷データを転送する。
【００４４】
図１０は、図９の処理に続くアプリケーションからの印刷処理を示すフローチャートである。ステップＳ１０２において、印刷終了監視を開始し、ステップＳ１０３でプリントサーバのプリンタ制御部は、監視又は管理対象のプリンタの機種、ネットワークインターフェースの種類に応じたプリンタ状態の監視及び管理を行う。具体的には、対象プリンタが状態変更・印刷完了通知機能(印刷完了通知手段)を備えている場合にはプリンタから発行される状態変更・印刷終了通知を受信することによりプリンタの印刷処理の状況を監視し、備えていない場合にはＳＮＭＰを使用してプリンタの状態・印刷終了ジョブ情報をポーリングすることによりプリンタの印刷処理の状況を監視及び管理する。印刷処理の状況とは、例えば、ある印刷ジョブの印刷処理が完了した状況、或いは、ある印刷ジョブがエラーで異常終了したというような状況、或いは、ある印刷ジョブが印刷継続中であるというような状況である。そして、ステップＳ１０４において、プリンタに転送した印刷ジョブの印刷が終了したか否かを判定する。ここで、印刷が終了していなければステップＳ１０３に戻り、上述したプリンタの状態の監視及び管理を繰り返すが、印刷が終了したならばステップＳ１０５へ進み、印刷ジョブデータを削除する要求を印刷ジョブ管理部３０８に送信して、印刷ジョブ管理部３０８は、保持された印刷データを削除し、印刷処理を終了する。
【００４５】
このように、上述した図８乃至図１０の処理により、プリンタ検索処理により取得したプリンタ構成情報に基づき自動的にプリンタ制御方法を決定し印刷処理、印刷終了確認処理、プリンタ状態の監視及び管理処理が可能となる。
【００４６】
図１１は図９の処理で埋め込まれるホストコンピュータにおける印刷データに埋め込む制御命令の例である。１１０１では、印刷ジョブの開始、終了をホストコンピュータ１０２に通知するように設定している。１１０２では、印刷ジョブの開始時にプリンタから通知されるジョブの名称を設定する。１１０３では、印刷ジョブの終了時にプリンタから通知されるジョブの名称を設定する。１１０２、１１０３で設定する名称を、プリントシステム全体若しくはプリンタ毎に唯一となるようにすることにより、プリンタから通知されるジョブ名称からプリントシステムが管理するどのジョブの印刷が完了したのかを判定することが可能となる。
【００４７】
図１２は、図９に示したプリントサーバ側におけるプリンタに対する印刷完了通知の設定並びに送信処理の変形例を示す図である。図１３は、図１２の処理に対応するホストコンピュータにおけるプリンタからの印刷完了通知の受信の方法を示す図である。図１０においては、プリンタの印刷完了通知機能の有無により、プリントサーバの印刷処理状況を監視及び管理させた。以下では、印刷完了通知先を記憶するための記憶手段の有無により、プリントサーバの印刷完了通知の把握の方法を異ならせる実施形態について説明する。
【００４８】
まず、図１２に基づき、プリントサーバ側の処理を説明する。ホストコンピュータから印刷要求を受信することを契機として、処理を開始する。まず、Ｓ１２１１でプリントサーバがホストコンピュータから、ホストコンピュータで指定したプリンタへの印刷要求を受信する。プリントサーバは、Ｓ１２１２において、サーバ制御部３０９は当該印刷要求は前記指定されたプリンタへの一回目の印刷要求であるか否かを調べる。次に、Ｓ１２１３で、検索部３０４は印刷が要求されたプリンタの機種情報や、ネットワークインターフェースの情報を検索する。次に、サーバ制御部３０９が、Ｓ１２１４で、プリンタ又はプリンタが有するネットワークボードが、印刷完了通知先を保持するメモリ（以下、通知先メモリ）を有する機種であるか否かを判断する。そして、プリントサーバにおけるＳ１２１４におけるサーバ制御部３０９の判断において出力先のプリンタが通知先メモリを有する機種であったと判断した場合には、Ｓ１２１６で、サーバ制御部３０９は、プリンタ制御部３０６に対して、プリンタの印刷完了通知先がプリントサーバになるように、印刷完了通知先を設定する命令を生成し、画像形成装置に対して送信して設定させる。続いてＳ１２１７で、サーバ制御部３０９は、ホストコンピュータ１０２のクライアント制御部３０２に対して、印刷完了通知先が通知先メモリに正常に設定されているので、印刷完了通知先に関する制御命令は不要である旨通知する。一方、プリントサーバにおけるＳ１２１４の判断において、出力先のプリンタが通知先メモリを有さない機種であると判断した場合はＳ１２１５に進み、次回以降の印刷時にも印刷完了通知先を修正する命令をジョブ制御命令に埋め込むようにプリントサーバからホストコンピュータ１０２に対して通知する。
【００４９】
次に、図１３は、図１２で示した処理のホストコンピュータ側における、プリンタからの印刷完了通知の受信の方法を示す図である。図１３に基づいて、上記プリントサーバと対応するホストコンピュータの処理を説明する。ホストコンピュータにおける印刷要求の発行を契機として処理が開始される。まず、Ｓ１３０１で、ホストコンピュータ１０２内のアプリケーション３００からの命令に基づいてプリントサーバに対する印刷要求をプリントサーバに対して発行する。そして、Ｓ１３０２で、当該印刷要求が初回の印刷要求であるか否かをクライアント制御部３０２が判断する。その後、Ｓ１３０３で、ホストコンピュータはプリントサーバからの印刷完了通知の設定情報の受信待ちとなる。上述のＳ１２１５でプリントサーバが発行したプリントサーバからの印刷完了通知の設定情報の通知をホストコンピュータが受け取ると、Ｓ１３０４に進み、プリンタが通知先メモリを有し、通知先メモリに印刷完了通知先を設定出来るか否かを判断する。通知先メモリを有し、プリンタ管理部が通知先メモリに印刷完了通知先を設定出来ないと判断した場合にはＳ１３０６に進み、印刷要求時には印刷完了通知の制御命令が不要であることを示すフラグを０とし、Ｓ１３０７で、印刷完了通知を設定する制御命令を生成し、Ｓ１３０８でプリンタに送信する。また、通知先メモリに印刷完了通知先を設定できると判断した場合にはＳ１３０５に進み、印刷完了通知の制御命令が不要であることを示すフラグを１とし、この処理を終了する。Ｓ１３０２で、二度目以上の同じプリンタへの印刷要求であると判断した場合はＳ１３０９に進み、プリントサーバが有する印刷完了通知の制御命令が不要なことを示すフラグが１であるか否かを判断する。ここで、当該フラグが１である場合にはこの処理を終了する。また、当該フラグが０である場合にはＳ１３１０に進み、印刷完了通知を設定する制御命令を生成し、Ｓ１３１１でプリンタに制御命令を送信する。
【００５０】
尚、本願発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００５１】
また、本願発明の目的は前述した好ましい実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００５２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本願発明を構成することになる。
【００５３】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００５４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５５】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果が得られる。
【００５７】
印刷完了通知機能を有する装置と有さない装置が混在した環境下においても確実に印刷完了を把握する仕組みを提供することができる。
【図面の簡単な説明】
【図１】好ましい実施形態における印刷システムの構成を示す図である。
【図２】図１に示したホストコンピュータの構成を示す図である。
【図３】図１に示したホストコンピュータにおけるデータ及び制御の流れを示す図である。
【図４】図１に示したプリントサーバにおけるプリンタ情報収集処理のフローチャートである。
【図５】図４で収集したプリンタ構成情報を用いたプリンタ登録処理のフローチャートである。
【図６】図５の処理で新たに発見されたプリンタの設定のフローチャートである。
【図７】図６でＯＳに対する印刷設定を行う設定がされている場合のプリントサーバに設定を行うフローチャートである。
【図８】図１に示したホストコンピュータにおけるアプリケーションからの印刷処理を示すフローチャートである。
【図９】図８の処理に続く図１に示したホストコンピュータにおけるアプリケーションからの印刷処理を示すフローチャートである。
【図１０】図９の処理に続くアプリケーションからの印刷処理を示すフローチャートである。
【図１１】図９の処理で埋め込まれるホストコンピュータにおける印刷データに埋め込む制御命令の例である。
【図１２】図９に示したプリントサーバ側におけるプリンタに対する印刷完了通知の設定並びに送信処理の変形例を示す図である。
【図１３】で示した処理のホストコンピュータ側における、プリンタからの印刷完了通知の受信の方法を示す図である。
【図１４】ホストコンピュータとプリントサーバが同じ一台のコンピュータである図３の変形例の図である。
【図１】
0003740403.tif 000002
【図２】
0003740403.tif 000003
【図３】
0003740403.tif 000004
【図４】
0003740403.tif 000005
【図５】
0003740403.tif 000006
【図６】
0003740403.tif 000007
【図７】
0003740403.tif 000008
【図８】
0003740403.tif 000009
【図９】
0003740403.tif 000010
【図１０】
0003740403.tif 000011
【図１１】
0003740403.tif 000012
【図１２】
0003740403.tif 000013
【図１３】
0003740403.tif 000014
【図１４】
0003740403.tif 000015