(57)【要約】【課題】中間コードの事前展開を行うプリンタであって、ネットワークを利用して従来よりもオーバーランエラーの発生を抑制することのできるプリンタ等を提供する。【解決手段】印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、展開処理を印刷実行部の動作の前に行う事前展開を実行するか否かを判断するプリンタにおいて、事前展開の判断に用いられる事前展開情報を格納する格納手段と、当該プリンタにおいて発生した事前展開情報を更新すべき事象に基づいて格納される事前展開情報を更新する自己更新手段と、当該プリンタと同機種の他のプリンタで事前展開情報が更新された際に、当該更新された事前展開情報を受信して、格納手段に格納した事前展開情報を更新する受信更新手段とを有する。【選択図】  図１
2009233922.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行するプリンタにおいて、
前記事前展開の判断に用いられる事前展開情報を格納する格納手段と、
当該プリンタにおいて発生した前記事前展開情報を更新すべき事象に基づいて、前記格納手段に格納される事前展開情報を更新する自己更新手段と、
当該プリンタと同機種の他のプリンタで前記事前展開情報が更新された際に、当該更新された事前展開情報を受信して、当該受信した事前展開情報により、前記格納手段に格納した事前展開情報を更新する受信更新手段とを有する
ことを特徴とするプリンタ。
【請求項２】
請求項１において、更に、
前記自己更新手段により前記事前展開情報の更新がなされた際に、当該プリンタとネットワークで接続される当該プリンタと同機種のプリンタに、前記更新した事前展開情報を送信する配信手段を有する
ことを特徴とするプリンタ。
【請求項３】
請求項１あるいは請求項２において、
前記受信更新手段は、当該プリンタにネットワークで接続される、当該プリンタと同機種のプリンタ、当該プリンタのホスト装置、あるいは、当該プリンタの管理サーバから、前記更新された事前展開情報を受信する
ことを特徴とするプリンタ。
【請求項４】
印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、前記プリンタとネットワークを介して接続される管理サーバを備えるプリンタシステムにおいて、
前記プリンタは、
前記事前展開の判断に用いられる事前展開情報を格納する格納手段と、
当該プリンタにおいて発生した前記事前展開情報を更新すべき事象に基づいて、前記格納手段に格納される事前展開情報を更新する自己更新手段と、
前記自己更新手段により前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を前記管理サーバへ送信する送信手段と、
当該プリンタと同機種の他のプリンタで前記事前展開情報が更新された際に、当該更新された事前展開情報を前記管理サーバから受信して、当該受信した事前展開情報により、前記格納手段に格納した事前展開情報を更新する受信更新手段とを有し、
前記管理サーバは、前記プリンタの送信手段から送信される事前展開情報を受信して、当該受信した事前展開情報を、当該情報の送信元のプリンタと同機種の他のプリンタに送信する手段を有する
ことを特徴とするプリンタシステム。
【請求項５】
印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、前記プリンタとネットワークを介して接続される管理サーバを備えるプリンタシステムにおいて、
前記プリンタは、
前記事前展開の判断に用いられる事前展開情報を格納する格納手段と、
当該プリンタにおいて発生した前記事前展開情報を更新すべき事象に基づいて、前記格納手段に格納される事前展開情報を更新する自己更新手段と、
前記自己更新手段により前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を前記管理サーバへ送信する送信手段と、を有し、
前記管理サーバは、前記プリンタの送信手段から送信される事前展開情報を受信して、当該受信した事前展開情報を、前記ネットワークを介して他のデバイスから取得可能に保持する手段を有する
ことを特徴とするプリンタシステム。
【請求項６】
印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、ネットワークを介して接続されるプリンタ管理サーバであって、
前記いずれかのプリンタにおいて、前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を当該プリンタから受信して、当該受信した事前展開情報を、当該情報の送信元のプリンタと同機種の他のプリンタに送信する
ことを特徴とするプリンタ管理サーバ。
【請求項７】
印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、ネットワークを介して接続されるプリンタ管理サーバであって、
前記いずれかのプリンタにおいて、前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を当該プリンタから受信して、当該受信した事前展開情報を、前記ネットワークを介して他のデバイスから取得可能に保持する
ことを特徴とするプリンタ管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中間コードの事前展開を行うプリンタ等に関し、特に、ネットワークを利用して従来よりもオーバーランエラーの発生を抑制することのできるプリンタ等に関する。
【背景技術】
【０００２】
通常、プリンタにおいては、プリンタ記述言語で記述された印刷データを受信して、それを、一旦、中間コードという描画コードに変換して記憶する。その後、この中間コードを画素毎のイメージデータに展開し、当該イメージデータに基づいて印刷実行部における印刷処理がなされる。
【０００３】
また、レーザプリンタなどページ毎に印刷実行部における処理を行うプリンタでは、予め１ページ分の上記イメージデータを生成して記憶しておき、印刷実行部での動作開始に合わせて、このイメージデータが読み出されて、それ以降の処理が印刷実行部の動作に同期して実行される、ことが行われる。しかしながら、この処理手順では、印刷実行部の動作に同期した処理の前に上記イメージデータへの展開処理を行っておく必要があり、印刷要求を受けてから印刷処理が終了するまでの処理時間が長くなってしまう。そこで、従来、このイメージデータへの展開処理を、上記印刷実行部での動作に同期した処理の中で行う装置もある。この場合には、事前に１ページ分の中間コードまでを生成して記憶しておけばよいので、プリンタのスループットを向上させることができる。
【０００４】
このような装置の場合、上記展開処理には時間がかかるため、印刷対象画像によってはこの展開処理が印刷実行部の動作に間に合わない事態が発生することもある。このようなオーバーランエラーが発生することを防ぐため、従来、印刷対象ページを所定領域（バンド）毎に評価し、展開処理に時間がかかりそうな領域については予めイメージデータへ展開しておく、事前展開というものをいっていた。しかしながら、上記領域毎の評価に時間をかけていては本来の目的を達成できないので、上記評価は高精度で実行されず、事前展開処理を導入してもやはりオーバーランエラーが発生する場合があった。
【０００５】
そこで、下記特許文献１及び２では、事前展開処理を導入してもやはりオーバーランエラーが発生した場合に、上記評価に用いる情報を更新してそれ以降のエラーの発生を抑えることが提案されている。
【特許文献１】特開２００１−１５７６号公報
【特許文献２】特開２００６−２０５４０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のような従来技術を用いることにより、オーバーランエラーが発生した場合にそのプリンタにおける事前展開の評価精度が向上し、そのプリンタにおけるエラー発生を抑制することはできる。
【０００７】
しかしながら、上記エラーの発生により事前展開の評価情報が更新されたプリンタと同機種の他のプリンタにおいては、その評価情報が更新される前の情報であるため、上記エラーを発生した場合の印刷と同様の画像について印刷を行う場合にオーバーランエラーを起こしてしまう可能性が高い。ネットワークで接続される複数の同機種のプリンタを使用する環境などにおいては、各プリンタにおいて同様のエラーが発生してしまうことは好ましくない。
【０００８】
そこで、本発明の目的は、中間コードの事前展開を行うプリンタであって、ネットワークを利用して従来よりもオーバーランエラーの発生を抑制することのできるプリンタ、等を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の一つの側面は、印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行するプリンタにおいて、前記事前展開の判断に用いられる事前展開情報を格納する格納手段と、当該プリンタにおいて発生した前記事前展開情報を更新すべき事象に基づいて、前記格納手段に格納される事前展開情報を更新する自己更新手段と、当該プリンタと同機種の他のプリンタで前記事前展開情報が更新された際に、当該更新された事前展開情報を受信して、当該受信した事前展開情報により、前記格納手段に格納した事前展開情報を更新する受信更新手段とを有する、ことである。
【００１０】
更に、上記の発明において、好ましい態様は、更に、前記自己更新手段により前記事前展開情報の更新がなされた際に、当該プリンタとネットワークで接続される当該プリンタと同機種のプリンタに、前記更新した事前展開情報を送信する配信手段を有する、ことを特徴とする。
【００１１】
更に、上記の発明において、好ましい態様は、前記受信更新手段は、当該プリンタにネットワークで接続される、当該プリンタと同機種のプリンタ、当該プリンタのホスト装置、あるいは、当該プリンタの管理サーバから、前記更新された事前展開情報を受信する、ことを特徴とする。
【００１２】
上記の目的を達成するために、本発明の別の側面は、印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、前記プリンタとネットワークを介して接続される管理サーバを備えるプリンタシステムにおいて、前記プリンタは、前記事前展開の判断に用いられる事前展開情報を格納する格納手段と、当該プリンタにおいて発生した前記事前展開情報を更新すべき事象に基づいて、前記格納手段に格納される事前展開情報を更新する自己更新手段と、前記自己更新手段により前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を前記管理サーバへ送信する送信手段と、当該プリンタと同機種の他のプリンタで前記事前展開情報が更新された際に、当該更新された事前展開情報を前記管理サーバから受信して、当該受信した事前展開情報により、前記格納手段に格納した事前展開情報を更新する受信更新手段とを有し、前記管理サーバは、前記プリンタの送信手段から送信される事前展開情報を受信して、当該受信した事前展開情報を、当該情報の送信元のプリンタと同機種の他のプリンタに送信する手段を有する、ことである。
【００１３】
上記の目的を達成するために、本発明の更に別の側面は、印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、前記プリンタとネットワークを介して接続される管理サーバを備えるプリンタシステムにおいて、前記プリンタは、前記事前展開の判断に用いられる事前展開情報を格納する格納手段と、当該プリンタにおいて発生した前記事前展開情報を更新すべき事象に基づいて、前記格納手段に格納される事前展開情報を更新する自己更新手段と、前記自己更新手段により前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を前記管理サーバへ送信する送信手段と、を有し、前記管理サーバは、前記プリンタの送信手段から送信される事前展開情報を受信して、当該受信した事前展開情報を、前記ネットワークを介して他のデバイスから取得可能に保持する手段を有する、ことである。
【００１４】
上記の目的を達成するために、本発明の別の側面は、印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、ネットワークを介して接続されるプリンタ管理サーバが、前記いずれかのプリンタにおいて、前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を当該プリンタから受信して、当該受信した事前展開情報を、当該情報の送信元のプリンタと同機種の他のプリンタに送信する、ことである。
【００１５】
上記の目的を達成するために、本発明の更に別の側面は、印刷データを中間コードに変換して格納しておき、印刷実行部の動作に同期して、当該中間コードをイメージデータに変換する展開処理を行うプリンタであって、所定範囲毎に、前記展開処理を前記印刷実行部の動作の前に行う事前展開を実行するか否かを判断し、前記事前展開を実行すると判断した前記所定範囲について前記事前展開を実行する、２以上のプリンタと、ネットワークを介して接続されるプリンタ管理サーバが、前記いずれかのプリンタにおいて、前記事前展開情報の更新がなされた際に、前記更新した事前展開情報を当該プリンタから受信して、当該受信した事前展開情報を、前記ネットワークを介して他のデバイスから取得可能に保持する、ことである。
【００１６】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００１８】
図１は、本発明を適用したプリンタの第一の実施形態例に係る構成図である。図１に示すプリンタ２が本発明を適用したプリンタであり、事前展開を行うか否かの判断に用いる事前展開情報を記憶する手段を有し、自らの印刷処理におけるオーバーランエラー発生に基づいて当該記憶された事前展開情報を更新すると共に、同機種の他のプリンタにおいてこの事前展開情報が更新された際にはその情報を受信して上記記憶された事前展開情報を更新して、ネットワークを利用して従来よりもオーバーランエラーの発生を抑制しようとするものである。
【００１９】
本実施形態例に係るプリンタ２は、図１に示すように、ＬＡＮなどのネットワーク４で、ホストコンピュータ１及び他のプリンタ３ａ、３ｂ等と接続される。ホストコンピュータ１は、プリンタ２に印刷要求を行うプリンタ２のホスト装置であり、印刷要求時には、ホストコンピュータ１に備えられるプリンタ２用のプリンタドライバ（図示せず）が、プリンタ２が理解できるプリンタ記述言語で印刷データを生成し、プリンタ２へ送信する。なお、ホストコンピュータ１はパーソナルコンピュータなどで構成することができる。また、プリンタドライバは、プログラムとそれに従って処理を実行するホストコンピュータ１の制御装置等によって構成される。
【００２０】
また、プリンタ３ａは、プリンタ２と同機種のプリンタであり、プリンタ２と同じ構成及び同じ機能を有する。プリンタ３ｂは、プリンタ２と異なる機種のプリンタである。
【００２１】
プリンタ２は、図１に示すように、コントローラ２１及び印刷実行部２２などで構成される、例えば、レーザプリンタである。
【００２２】
コントローラ２１は、前記ホストコンピュータ１から送信される印刷データを受信し、当該データに含まれる制御内容を解釈すると共に、当該データに含まれる画像データに対して所定の処理を施して印刷実行部２２側へ提供するデータを生成する。コントローラ２１には、図１に示すように、Ｉ／Ｆ２３、ＣＰＵ２４、ＲＯＭ２５、ＲＡＭ２６、エンジンＩ／Ｆ２７、及びＮＶＲＡＭ２８等が備えられる。
【００２３】
Ｉ／Ｆ２３は、ホストコンピュータ１から送信される前記印刷データを受信するなどネットワーク４を介して他のデバイスと更新する部分である。ＲＯＭ２５は、プリンタ２を制御するための各種プログラム等を記憶する部分である。
【００２４】
ＲＡＭ２６は、コントローラ２１の処理過程で一時的にデータ等を保持するメモリであり、前記ホストコンピュータ１から送信される印刷データ、生成される中間コード等を格納する。
【００２５】
ＮＶＲＡＭ２８は、プリンタ２の電源をオフにしても残しておくべき情報を格納する不揮発性のメモリである。ここには、本プリンタ２の特徴に関わる事前展開情報が格納される。この事前展開情報は、後述する事前展開処理を行うか否かを判断するための情報であり、各バンドの評価点の閾値と当該評価点を求めるための各中間コードに対する負荷係数の情報を含んでいる。ここで各バンドの評価点とは、各バンドについて展開処理の負荷、すなわち、展開処理を行うのにどれくらいの時間を要するか、を評価したものであり、点数が大きいほど展開処理に時間がかかることを意味する。そして、その閾値とは、評価点がこの値を超えるバンドについては事前展開を行うと判断する、判断基準の値である。また、上記各中間コードに対する負荷係数は、描画対象の各画像オブジェクトを表す中間コードの種類毎に展開処理の負荷度合を表したものであり、バンドに含まれる各中間コードについてこの負荷係数を用いた評価点を求めてそのバンドについての上記評価点が求められる。なお、バンドとは、１ページの範囲を副走査方向（用紙の搬送方向）に分割した各分割領域のことである。
【００２６】
ＣＰＵ２４は、本プリンタ２において行われる各種処理を制御する部分であるが、特に、前記受信した印刷データをＲＡＭ２６に格納する処理、前記印刷データの制御内容を解釈して印刷実行部２２に対して適切な印刷処理を指示する処理、及び、ユーザとのインターフェースを形成する操作ユニットを制御する処理等を司る。本プリンタ２では、ＣＰＵ２４が行なう、上記事前展開情報の更新に係る処理に特徴があり、その具体的な内容については後述する。なお、ＣＰＵ２４が実行する処理は、主に前記ＲＯＭ２５に記憶されたプログラムに従って行われるものである。
【００２７】
次に、エンジンＩ／Ｆ２７は、印刷実行部２２で印刷を実行する際に、所定のタイミングで前述したＲＡＭ２６に格納されている中間コードを読み出し、それらに所定の処理を施した後に印刷実行部２２に引き渡す、コントローラ２１と印刷実行部２２とのインターフェースを司る部分である。具体的には、読み出した中間コードを展開してイメージデータに変換する処理、スクリーン処理、パルス幅変調処理などを印刷実行部２２の動作に同期して実行し、処理後の信号を印刷実行部２２へ送信する。
【００２８】
次に、印刷実行部２２は、図示していないが、帯電ユニット、露光ユニット、現像ユニット、転写ユニット、定着ユニット等で構成される。当該印刷実行部２２では、前記エンジンＩ／Ｆ２７から受信する信号に基づき、ＣＰＵ２４からの印刷指示に従った印刷処理を実行し、所定の印刷媒体に印刷要求に従った画像が形成される。
【００２９】
以上説明したような構成を有する本実施の形態例に係るプリンタ２では、印刷時に以下のように処理を実行する。
【００３０】
前述ように、ホストコンピュータ１で印刷要求がなされると、プリンタ記述言語（例えば、ＰＤＬ）で記述された印刷データが送信され、当該データがプリンタ２のＲＡＭ２６に格納される。その後、ＣＰＵ２４は、当該印刷データから中間コードを生成する。なお、これ以降の処理については、１ページ分の処理について説明する。
【００３１】
中間コードは、バンド毎に、そのバンド内に含まれる画像オブジェクトを描画コードで表したものであり、この後に生成されるイメージデータを作りやすいように表現されたデータである。
【００３２】
ＣＰＵ２４は、１ページ分のこの中間コードを生成してＲＡＭ２６の所定箇所に保持する。その後、生成した中間コードについてバンド毎に前述した事前展開の評価を実施する。具体的には、バンド内に含まれる各中間コードについて、展開処理の負荷を示す評価点を、前述したＮＶＲＡＭ２８に事前展開情報として格納される、その中間コードの種別に対応する負荷係数を用いて求め、全ての中間コードについて求められた評価点を合計してそのバンドの評価点とする。
【００３３】
その後、ＣＰＵ２４は、求められた各バンドの評価点を、ＮＶＲＡＭ２８に事前展開情報として格納される前述した閾値と比較し、閾値を超える評価点のバンドについては、中間コードから画素毎のイメージデータへ変換する展開処理が、印刷実行部２２の動作に間に合わないと判断して事前展開を行う。具体的には、そのバンドの中間コードをこの時点でイメージデータへ展開し、展開後のイメージデータをＲＡＭ２６の所定箇所に格納し、中間コードにその格納先のアドレスをポインタ情報として組み込む。
【００３４】
以上の処理が終了してＲＡＭ２６に１ページ分の中間コードが保持されると、印刷実行部２２の当該ページに対する処理が開始されるタイミングで、保持した中間コードがバンド毎に読み出され、前述したエンジンＩ／Ｆ２７による各種処理が印刷実行部２２の動作に同期して実行される。具体的には、前述の通り、中間コードを展開してイメージデータに変換する処理、スクリーン処理、パルス幅変調処理などが実行され、処理後の信号が印刷実行部２２へ送信される。かかる処理がバンド毎に、順次、実行される。なお、前述したように、事前展開されたバンドについては、ポインタ情報によって、すでに生成されたイメージデータが読み出されて展開処理が完了する。
【００３５】
印刷実行部２２では、送信された信号に基づいて印刷媒体に対して印刷処理を実行し、当該ページについての処理が終了する。
【００３６】
なお、上述した事前展開を行うか否かの判断は、それほど高精度に行われるものではないので、事前展開が必要ないと判断されたバンドについて、上記展開処理で処理が間に合わない事態が発生することもあり得る。かかる場合には、そのページについて展開処理が完了したバンドまでの印刷が行われて排紙され、オーバーランエラーがユーザに報知される。
【００３７】
そして、ＣＰＵ２４は、当該オーバーランエラーを起こしたバンドについて事前展開がなされるように、そして、事前展開の判断精度を向上させるべく前述した事前展開情報を変更する。具体的には、前述した閾値を当該オーバーランエラーを起こしたバンドの評価点に基づいて下げる、または、前述した中間コードの負荷係数を当該オーバーランエラーを起こしたバンドに含まれる中間コードに基づいて上げる、など従来法と同様の変更を行う。そして、ＮＶＲＡＭ２８に格納される事前展開情報を当該変更した内容に更新する。
【００３８】
その後、上記エラーとなったページについて再度印刷要求がなされれば、今回はオーバーランエラーを起こす可能性が低く、無事に印刷処理が完了する可能性が高い。
【００３９】
また、次以降の印刷要求（印刷ジョブ）に対しても事前展開の判断精度が向上されているので、事前展開情報の更新前よりも、オーバーランエラーを少なく抑えた印刷が実現される。
【００４０】
本プリンタ２では、このように事前展開情報の更新がなされた際の処理に特徴があり、以下、その内容について説明する。
【００４１】
図２は、事前展開情報の送信処理の手順を例示したフローチャートである。ＣＰＵ２４は、要求を受けた印刷ジョブについて印刷処理が終了すると（ステップＳ１）、当該印刷処理中に、前述した事前展開情報の更新がなされたか否かをチェックする（ステップＳ２）。その結果、事前展開情報の更新がなされていなければ（ステップＳ２のＮｏ）、当該処理を終了する。
【００４２】
一方、事前展開情報の更新がなされていれば（ステップＳ２のＹｅｓ）、ＣＰＵ２４は、更新された事前展開情報を、ネットワーク４で接続される他の同機種のプリンタ３へ送信する処理を実行する。具体的には、まず、ネットワーク４に接続されるすべてのデバイスに、そのデバイスＩＤを返送するように問いかけて、ネットワーク４に接続されるデバイスのデバイスＩＤを取得する（ステップＳ３）。そして、当該取得したデバイスＩＤから本プリンタ２と同機種のプリンタ３を把握し、それらのプリンタ３に対し、図１に示す例ではプリンタ３ａ等に対して、事前展開情報を送信する。より具体的には、保持している事前展開情報を、本プリンタ２で更新された事前展開情報に変更するように指示する、プリンタ制御言語等で記述された事前展開情報変更コマンドを送信する（ステップＳ４）。
【００４３】
本プリンタ２側での処理はこれで終了し、前記コマンドを送信されたプリンタ３ａ等では、事前展開情報変更コマンドを解釈して、その指示に従い、保持している事前展開情報を本プリンタ２で更新された事前展開情報に更新する。
【００４４】
また、プリンタ３ａ等、本プリンタ２と同機種のプリンタでは、本プリンタ２と同様の機能を有しているので、それらのプリンタにおいて、オーバーランエラーが発生すると、本プリンタ２の場合と同様に、自らが保持している事前展開情報を更新し、その更新情報を他の同機種プリンタへ送信する処理を実行する。かかる場合、本プリンタ２に対してもその事前展開情報変更コマンドが送信されるので、ＣＰＵ２４は、そのコマンドを受信して、ＮＶＲＡＭ２８に保持している事前展開情報を当該受信したコマンドに従って更新する。更新した後は、他のプリンタ３で発生したエラーに基づいて改良された情報に基づく事前展開の判断がなされることになる。
【００４５】
次に、第二の実施形態例について説明する。図３は、本発明の第二の実施形態例に係る構成図である。図３における、プリンタ管理サーバ５０と、当該サーバとインターネット４０で接続される複数のプリンタ（２０、３０ａ、３０ｂ、．．．）が、本発明を適用したプリンタシステムである。当該プリンタシステムでは、各プリンタで前述した事前展開情報の更新がなされると、その情報がプリンタ管理サーバ５０へ報告され、プリンタ管理サーバ５０は、当該情報の発信元のプリンタと同機種の他のプリンタへ当該更新情報を送信し、一つのプリンタで改善された情報が他のプリンタへも反映されるようにしようとするものである。
【００４６】
図３に示すプリンタ２０は、第一の実施形態例におけるプリンタ２と同様の構成及び機能を有するが、自らのオーバーランエラーに基づいて事前展開情報の更新を行った際の、当該情報の送信先と、他の同機種のプリンタで更新された事前展開情報を受信する場合の当該情報の送信元が、第一の実施形態例の場合と異なる。それらの送信先と送信元は、当該実施形態例では、プリンタ管理サーバ５０となる。
【００４７】
また、ホストコンピュータ１０は、第一の実施形態例におけるホストコンピュータ１と同様の、プリンタ２０のホスト装置である。
【００４８】
プリンタ３０ａは、プリンタ２０と同機種のプリンタであり、プリンタ２０と同様の構成及び機能を有する。プリンタ３０ｂは、プリンタ２０と異機種のプリンタであるが、プリンタ２０と同様の構成及び機能を有する。
【００４９】
プリンタ管理サーバ５０は、インターネット４０で接続される前記プリンタを管理するためのサーバであり、プリンタの製造元等によって管理される。プリンタ管理サーバ５０は、図３に示すように、アドレス情報５１とプリンタ管理部５２が備えられる。アドレス情報５１は、インターネット４０で接続される各プリンタのデバイスＩＤとＩＰアドレス等の情報である。また、プリンタ管理部５２は、各プリンタから送信される事前展開情報を受信して、その情報を他のプリンタへ送信する部分である。なお、プリンタ管理サーバ５０は、パーソナルコンピュータ等で構成される。従って、ハードウェアとしては、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク等を備え、上記アドレス情報５１は、ハードディスクに記憶され、上記プリンタ管理部５２は、ＲＯＭに記憶されるプログラム、当該プログラムに従って処理を実行するＣＰＵ等で構成することができる。
【００５０】
本プリンタシステムでは、上述のように、更新された事前展開情報の配信に特徴があり、以下、その処理内容について説明する。
【００５１】
一例として、プリンタ２０で、オーバーランエラーが発生した場合について説明する。オーバーランエラーが発生すると、第一の実施形態例で説明したように、プリンタ２０は、自らが保有する事前展開情報を更新する。その後、受信した印刷要求に係る印刷処理が終了したなど所定のタイミングで、上記更新した事前展開情報をプリンタ管理サーバ５０に送信する。なお、この送信の際には、自己の（プリンタ２０の）のデバイスＩＤを事前展開情報に付加する。
【００５２】
上記送信がなされるとプリンタ管理サーバ５０では、プリンタ管理部５２が当該事前展開情報を受信して保持する。次に、プリンタ管理部５２は、アドレス情報５１にアクセスし、受信した事前展開情報に付加されるデバイスＩＤと同一のデバイスＩＤを有するプリンタのＩＰアドレスを取得する。その後、プリンタ管理部５２は、受信した事前展開情報に変更する指示の変更コマンドをプリンタ制御言語等で生成し、上記取得したＩＰアドレスに送信する。すなわち、事前展開情報の発信元であるプリンタ２０と同機種の他のプリンタに対して変更コマンドを送信する。図３に示す例では、プリンタ３０ａ等に送信される。
【００５３】
当該送信を受けた各プリンタでは、受信した上記変更コマンドを解釈して、その指示に従い、自己が保持する事前展開情報を更新する。すなわち、プリンタ２０で更新された事前展開情報を、インターネット４０で接続される同機種の全てのプリンタが保持することになる。従って、それ以降、これらのプリンタにおいては、他のプリンタで発生したエラーによって改善された情報に基づいて印刷処理がなされることになる。
【００５４】
なお、更新した事前展開情報の発信元がプリンタ２０以外の同機種のプリンタ（例えば、プリンタ３０ａ）である場合には、同様の処理が行われて、プリンタ２０は、プリンタ管理サーバ５０から上記変更コマンドを受信して事前展開情報の更新を行う。
【００５５】
次に、上記第二の実施形態例の変形例について説明する。その一つ目の変形例は、プリンタ管理サーバが、各プリンタから報告された上記事前展開情報を、上述のように直接プリンタへ送信するのではなく、プリンタドライバに組み込んでそのドライバを取得可能に公開するものである。
【００５６】
図４は、当該変形例１に係るプリンタシステムの構成図である。当該プリンタシステムでは、ホストコンピュータ１０及びプリンタ（２０、３０ａ、３０ｂ、．．．）は、第二の実施形態例の場合と同様である。プリンタ管理サーバ５００は、図４に示すとおり、プリンタ情報５１０、プリンタ管理部５２０、及び情報公開部５３０を備え、プリンタの製造元などによって管理される。
【００５７】
なお、プリンタ管理サーバ５００は、パーソナルコンピュータ等で構成され、従って、ハードウェアとしては、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク等を備える。プリンタ情報５１０は、各プリンタのデバイスＩＤ及びそれに対応するドライバプログラム等の情報であり、ハードウェアに格納される。
【００５８】
プリンタ管理部５２０は、各プリンタから報告された事前展開情報をドライバプログラムに組み込んで上記プリンタ情報５１０として格納する部分である。また、情報公開部５３０は、上記プリンタ情報５１０をインターネット４０を介して公開する部分である。なお、プリンタ管理部５２０及び情報公開部５３０は、ＲＯＭに記憶されるプログラム、当該プログラムに従って処理を実行するＣＰＵ等で構成することができる。
【００５９】
変形例１のプリンタシステムでは、第二の実施形態例の場合と同様に、例えば、プリンタ２０で、オーバーランエラーが発生すると、プリンタ２０は、自らが保有する事前展開情報を更新すると共に、更新した事前展開情報をプリンタ管理サーバ５０に送信する。なお、この送信の際には、自己の（プリンタ２０の）のデバイスＩＤを事前展開情報に付加する。
【００６０】
すると、プリンタ管理部５２０は、その情報を受信して、プリンタ情報５１０として格納される、受信したデバイスＩＤのドライバプログラムに組み込まれる事前展開情報を受信した情報に更新する。なお、この事前展開情報が組み込まれたドライバプログラムは、そのプログラムがホストコンピュータにインストールされた際に、対象のプリンタに対して、そのプリンタが記憶する事前展開情報をドライバプログラムに組み込まれている情報に更新するように指示する、ように生成される。
【００６１】
情報公開部５３０は、いわゆるホームページ等で、各機種のプリンタドライバプログラムを取得（ダウンロード）できることを、当該情報公開部５３０のサイトにアクセス可能なユーザに知らせており、例えば、図４のホストコンピュータ１０からアクセスがあり、プリンタ２０用のドライバプログラムの取得要求を受けると、上記更新されたドライバプログラムをホストコンピュータ１０へ送信する。なお、上記取得要求ではプリンタのデバイスＩＤが特定され、情報公開部５３０は、プリンタ情報５１０としてそのデバイスＩＤに対応して記憶されているドライバプログラムを送信する。他の機種のプリンタについても、同様に、ドライバプログラムのダウンロードがなされる。
【００６２】
上記処理によりダウンロードがなされると、ドライバプログラムが上述のようにプリンタに対して事前展開情報の更新指示を出し、それを受け取ったプリンタは、自らが記憶する事前展開情報を更新する。
【００６３】
次に、上記第二の実施形態例の二つ目の変形例、変形例２について説明する。当該変形例２は、変形例１と事前展開情報の公開の仕方が異なり、あとは変形例１と同様である。変形例２では、プリンタから送信される事前展開情報は、ドライバプログラムに組み込まれるのではなく、事前展開情報そのもののファイルとして、プリンタ管理部５２０によりプリンタ情報５１０として記憶され、そのファイルが情報公開部５３０によって公開される。変形例１の場合と同様に、アクセス可能なユーザが、情報公開部５３０にアクセスして当該ファイルの取得要求を行うと、情報公開部５３０が当該ファイルを要求元のユーザ（ホストコンピュータ１０等）に送信する。
【００６４】
当該ファイルを受け取ったユーザは、当該ファイルをホストコンピュータからプリンタへ送信して、あるいは、当該ファイルをリムーバブルメモリ等に記憶後そのメモリをプリンタに装着して、当該ファイルをプリンタに渡し、プリンタは、当該ファイルに基づいて自己が記憶する事前展開情報を更新する。
【００６５】
このように変形例１及び２においては、プリンタ管理サーバ５００が、最新の事前展開情報を、インターネット４０を介して他のデバイスから取得可能に保持するが、プリンタ管理サーバ５００は、例えば、プリンタ情報５１０、情報管理部５２０、及び情報公開部５３０が、それぞれ、異なる装置によって構成されるなど、複数の装置によって構成されても良い。
【００６６】
以上説明したように、本実施の形態例及びその変形例に係るプリンタでは、オーバーランエラーが発生した際など自らの処理に基づいて事前展開情報を更新すると共に、同機種の他のプリンタで事前展開情報の更新がなされた際にその更新された情報を受信して自己の事前展開情報をその情報に更新する。従って、自らがオーバーランエラーを経験しなくても、他のプリンタのエラー経験に基づく改良された事前展開情報を利用することが可能であり、従来よりもオーバーランエラーの発生を抑えることができる。
【００６７】
また、第一及び第二の実施形態例では、上記事前展開情報の更新が自動でなされるので、ユーザ操作が必要なく利便性が高い。
【００６８】
一方、変形例１及び２では、上記他のプリンタで更新された最新の事前展開情報が公開されるので、ユーザの意思によって最新の事前展開情報に更新することができる。通常の場合、オーバーランエラーの発生を抑える事前展開情報の更新は、事前展開の量が増えることになるので、この場合、プリンタのスループットを優先に考えるユーザは、最新の事前展開情報に更新しないという選択もできる。
【００６９】
なお、第二の実施形態例及びその変形例では各プリンタとプリンタ管理サーバがインターネットで接続されたが、他のネットワークで接続されても良い。
【００７０】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００７１】
【図１】本発明を適用したプリンタの第一の実施形態例に係る構成図である。
【図２】事前展開情報の送信処理の手順を例示したフローチャートである。
【図３】本発明の第二の実施形態例に係る構成図である。
【図４】第二の実施形態例の変形例１に係るプリンタシステムの構成図である。
【符号の説明】
【００７２】
１  ホストコンピュータ、  ２  プリンタ、  ３ａ、３ｂ  プリンタ、  ４  ネットワーク、  １０  ホストコンピュータ、  ２０  プリンタ、  ２１  コントローラ（自己更新手段、受信更新手段、配信手段）、  ２２  印刷実行部、  ２３  Ｉ／Ｆ、  ２４  ＣＰＵ、  ２５  ＲＯＭ、  ２６  ＲＡＭ、  ２７  エンジンＩ／Ｆ、  ２８  ＮＶＲＡＭ（格納手段）、  ３０ａ、３０ｂ  プリンタ、  ４０  インターネット、  ５０  プリンタ管理サーバ、  ５１  アドレス情報、  ５２  プリンタ管理部、  ５００  プリンタ管理サーバ、  ５１０  プリンタ情報、  ５２０  プリンタ管理部、  ５３０  情報公開部
【図１】
2009233922.tif 000003
【図２】
2009233922.tif 000004
【図３】
2009233922.tif 000005
【図４】
2009233922.tif 000006