(57)【要約】【課題】  ネットワーク上のプリンタが印刷不可能な場合でも効率よく印字ジョブを処理する。【解決手段】  印刷ログ収集部１９はネットワーク上の印刷履歴情報を印刷ログとして収集し、この印刷ログを印刷ログ情報格納部１８に格納させる。印刷ログ解析部２０は印刷不可能な状態の場合、印刷ログ情報格納部の印刷ログを利用して印刷要求した上位装置に最適なサブプリンタを判定する。データ送信部５はこのサブプリンタに印刷データを送信する。【選択図】        図２５
2008087487.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上を流れる印刷履歴情報を印刷ログとして収集する印刷ログ収集部と、
自己で印刷不可能な状態であった場合、前記印刷ログ収集部で収集した印刷ログに基づき、印刷データの送信すべき印刷先印刷装置を検索する印刷ログ解析部と、
前記印刷ログ解析部で検索した印刷装置に対し印刷データを送信するデータ送信部とを備えたことを特徴とする印刷装置。
【請求項２】
ネットワーク上のファイルサーバを検索するファイルサーバ検索部と、
自己で印刷不可能な状態であった場合、保持する印刷データを、前記ファイルサーバ検索部で検索したファイルサーバ上にテンポラリデータとして保存し、印刷可能な状態に戻った場合に前記ファイルサーバから前記テンポラリデータを印刷データとして読み出すファイルロード部とを備えたことを特徴とする印刷装置。
【請求項３】
ネットワーク上を流れる印刷履歴情報を印刷ログとして収集すること、
印刷データの保持する印刷装置が印刷不可能な状態であると、前記印刷ログに基づいて前記印刷データの送信すべき他の印刷装置を判定すること、
前記印刷装置から前記印刷データを前記他の印刷装置に送信させること、
を特徴とする印刷方法。
【請求項４】
ネットワークを介して印刷要求元装置から印刷装置に印刷を要求する印刷システムにおいて、
前記印刷装置は、
前記ネットワーク上を流れる印刷履歴情報を印刷ログとして収集する印刷ログ収集部と、
自己で印刷不可能な状態であった場合、前記印刷ログ収集部で収集した印刷ログに基づき、印刷データの送信すべき印刷先印刷装置を検索する印刷ログ解析部と、
前記印刷ログ解析部で検索した印刷装置に対して印刷データを送信するデータ送信部と、
前記データ送信部から印刷データを送信した印刷装置の情報を、ポップアップ・メッセージとして前記印刷要求元装置に送るポップアップ・メッセージ送信部とを備え、
前記印刷要求元装置は、
前記印刷装置から送信されたポップアップ・メッセージを受信するポップアップ・メッセージ受信部と、
前記ポップアップ・メッセージ受信部で受信したポップアップ・メッセージを表示するポップアップ・メッセージ制御部とを備えたことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された印刷装置、印刷方法及び印刷システムに関し、特に、印刷不能時の制御に関するものである。
【背景技術】
【０００２】
従来、ネットワークに接続されたプリンタでの印字を行う場合には次のように行っていた。即ち、各ネットワークのＯＳの設定方法に従い、印字を行う複数のネットワークプリンタを予めネットワークの管理を行うサーバに登録しておく。そして、クライアント上のアプリケーションから印字を行う段階で、印字を行わせたいネットワークプリンタを指定するデータを含んだジョブをサーバに送信する。すると、そのジョブをサーバが適切なネットワークプリンタに転送し、それによってクライアント側で指定したネットワークプリンタに対する印字を行わせることができる。
【０００３】
また、例えば、Ｗｉｎｄｏｗｓ９５（マイクロソフト社の登録商標）のピア・ツー・ピア（ｐｅｅｒ−ｔｏ−ｐｅｅｒ）印刷の場合には、セントロニクスインタフェースで接続しているプリンタと同様な方法で、クライアント側で予めネットワークプリンタの登録を行っておき、印字する時にジョブを送信するプリンタを直接指定することによって、適切なネットワークプリンタに対する印字を行わせることができる。
【０００４】
更に、上記の技術に加えて、複数のネットワークプリンタに対して印字データを自動的に分散させて効率よく印字データを処理する方法として、Ｎｏｖｅｌｌ社のＮＤＰＳ（ＮｅｔＷａｒｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅｓ）を代表とするいくつかの方法が存在する。その技術を用いることによって、ユーザはその時点でプリンタに存在するジョブの処理状態を知ることなしに印字の効率化を行うことができる。特に、ＮＤＰＳは接続しているユーザが接続している各ネットワークプリンタに対する設定を行うことなしに、非常に効率のよい印刷環境を提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来では以下のような問題があった。
【０００６】
１．各効率化は、使用されているネットワークＯＳに依存するものであり、そのため、各ネットワークＯＳでの印刷効率化には、そのＯＳがインストールされたサーバの存在が不可欠である。
【０００７】
２．印刷先となるプリンタが、どのような通信プロトコルをサポートしているかを印刷するユーザが知っていない場合には、印刷元からプリンタに対して、プリンタ側で受信不可能なデータ形式で送信してしまい、プリンタが印字不可となってしまう場合があった。
【０００８】
３．印刷先となるプリンタが、どのようなエミュレーションをサポートしているかを印刷するユーザが知っていない場合には、印刷元からプリンタに対して、プリンタ側で印刷不可能な印字データ形式で送信してしまい、プリンタが未サポートの印字データを印字しようとするため、多量のゴミ印字を出力してしまう場合があった。
【０００９】
４．印刷先プリンタが用紙切れや紙詰まり等の印字不可能な状態になってしまった場合に、その障害を取り除くまでは、それ以降のジョブを処理することができなかった。
【課題を解決するための手段】
【００１０】
本発明は、前述の課題を解決するため次の構成を採用する。
〈構成１〉
本発明は、ネットワーク上を流れる印刷履歴情報を印刷ログとして収集する印刷ログ収集部と、自己で印刷不可能な状態であった場合、前記印刷ログ収集部で収集した印刷ログに基づき、印刷データの送信すべき印刷先印刷装置を検索する印刷ログ解析部と、前記印刷ログ解析部で検索した印刷装置に対し印刷データを送信するデータ送信部とを備えたことを特徴とする印刷装置。
【００１１】
〈構成２〉
他の発明は、ネットワーク上のファイルサーバを検索するファイルサーバ検索部と、自己で印刷不可能な状態であった場合、保持する印刷データを、前記ファイルサーバ検索部で検索したファイルサーバ上にテンポラリデータとして保存し、印刷可能な状態に戻った場合に前記ファイルサーバから前記テンポラリデータを印刷データとして読み出すファイルロード部とを備えたことを特徴とする印刷装置。
【００１２】
〈構成３〉
また、他の発明は、ネットワーク上を流れる印刷履歴情報を印刷ログとして収集すること、印刷データの保持する印刷装置が印刷不可能な状態であると、前記印刷ログに基づいて前記印刷データの送信すべき他の印刷装置を判定すること、前記印刷装置から前記印刷データを前記他の印刷装置に送信させることを特徴とする印刷方法。
【００１３】
〈構成４〉
更に、他の発明は、ネットワークを介して印刷要求元装置から印刷装置に印刷を要求する印刷システムにおいて、前記印刷装置は、前記ネットワーク上を流れる印刷履歴情報を印刷ログとして収集する印刷ログ収集部と、自己で印刷不可能な状態であった場合、前記印刷ログ収集部で収集した印刷ログに基づき、印刷データの送信すべき印刷先印刷装置を検索する印刷ログ解析部と、前記印刷ログ解析部で検索した印刷装置に対して印刷データを送信するデータ送信部と、前記データ送信部から印刷データを送信した印刷装置の情報を、ポップアップ・メッセージとして前記印刷要求元装置に送るポップアップ・メッセージ送信部とを備え、前記印刷要求元装置は、前記印刷装置から送信されたポップアップ・メッセージを受信するポップアップ・メッセージ受信部と、前記ポップアップ・メッセージ受信部で受信したポップアップ・メッセージを表示するポップアップ・メッセージ制御部とを備えたことを特徴とする印刷システム。
【発明の効果】
【００１４】
本発明によれば、ネットワーク上の印刷履歴情報から得た印刷ログを用いて転送先の印刷装置を検索するので、印刷に最適な印刷装置に印刷データを送信して印刷を行わせることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を具体例を用いて詳細に説明する。
《具体例１》
具体例１では、クライアントが印字先として指定したネットワークプリンタにおいて、何らかの原因で印字不可能なエラーが発生した場合、受信した印字データを、予め設定されている他のネットワークプリンタ（サブプリンタと呼ぶ）に再転送して印字するものである。その際、本具体例が組み込まれたプリンタは、サブプリンタがサポートしている通信プロトコルに変換した後、データを送信する。
【００１６】
〈構成〉
図１は本発明のネットワークプリンタの具体例１を示す構成図である。
図の装置は、コントローラ部１とエンジン部２からなる。コントローラ部１は、ネットワークプリンタとしての各種の制御を行う機能を有し、エンジン部２は印刷データを実際に印刷する機能を有している。
【００１７】
コントローラ部１は、エミュレーション制御部３、データ受信部４、データ送信部５、ＭＩＢデータアクセス処理部６、サブプリンタ情報格納部７、プロトコル制御部８からなる。また、プロトコル制御部８は、プロトコル解析部９とプロトコル変換部１０からなる。
【００１８】
エミュレーション制御部３は、印刷データの編集を行い、エンジン部２への印刷データとして出力する機能を有している。データ受信部４は、印刷データをネットワークを介して受信する機能を有している。データ送信部５は、サブプリンタに対してデータを再送信する機能を有している。ＭＩＢデータアクセス処理部６は、サブプリンタ情報格納部７へのアクセスを行う機能を有している。サブプリンタ情報格納部７は、サブプリンタに対しての情報を格納する機能部である。
【００１９】
図２は、サブプリンタ情報格納部７の内容例を示す説明図である。
図示の内容例は、各サブプリンタにデータの転送を行うための優先順位、プリンタ名、ＭＡＣアドレス、サポートしているプロトコル、サポートしているエミュレーションの情報からなる。これらのデータの格納方法の一つとして、ＭＩＢ（Ｍａｎａｇｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）にサブプリンタ情報という独自のオブジェクトを定義し、プリンタの情報の一つとして保持する方法で実現する。
【００２０】
サブプリンタ情報における一つのサブプリンタに対するデータの項目として、“優先順位”，“プリンタ名”，“ＭＡＣアドレス”，“サポートしているプロトコル”，“サポートしているエミュレーション”があり、“サポートしているプロトコル”と“サポートしているエミュレーション”については、複数のデータである場合がある。例えば、最も優先順位の高いサブプリンタのプリンタ名は“ＰＲ２”であり、そのＭＡＣアドレスは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”である。また、このプリンタは通信プロトコルとして“ＬＰＲ”と“ＦＴＰ”をサポートしており、印刷エミュレーションとして“ＰＣＬ”、“ＩＢＭ  ＰＰＲ”“ＥＰＳＯＮ  ＦＸ”をサポートしていることを示している。尚、図２中のこれらプロトコルやエミュレーションの名称は、一般に登録商標または商標である。
【００２１】
図１に戻って、プロトコル制御部８は、自プリンタで印刷不可能な状態であった場合、サブプリンタ情報格納部７の優先順位に基づいて、他のプリンタの中から自プリンタの代わりとなるプリンタを決定し、自プリンタへの印刷データをそのプリンタがサポートしているプロトコルに変換する機能を有するものである。
【００２２】
また、プロトコル解析部９は、データ受信部４で受信したデータのプロトコルを解析し、印刷データか制御情報かの判断を行って、印刷データであった場合はエンジン部２のステータス情報２ａに基づき、印刷データをエミュレーション制御部３に通知するか、プロトコル変換部１０を起動するかを判定する機能を有している。即ち、自プリンタで印刷不可能な状態であった場合にプロトコル変換部１０を起動するよう制御を行う機能を有している。
【００２３】
プロトコル変換部１０は、プロトコル解析部９によって起動されると、サブプリンタ情報格納部７の優先順位に基づいて、他のプリンタの中から自プリンタの代わりとなるプリンタを決定し、自プリンタへの印刷データをそのプリンタがサポートしているプロトコルに変換する機能を有するものである。
【００２４】
また、エンジン部２のステータス情報２ａは、そのネットワークプリンタが印刷可能であるか印刷不可の状態であるかを示す情報である。
【００２５】
〈動作〉
先ず、本装置の動作環境について説明する。
図３は、ネットワークプリンタの動作環境を示す説明図である。
ＰＲ１が本ネットワークプリンタであり、ＰＲ２がサブプリンタである。また、ＰＣ１が印刷要求元装置である印刷元ＰＣであり、ＰＣ２はその他のパソコンを示している。そして、ＰＣ１が印刷先プリンタ選択画面でＰＲ１を選択した場合、印刷データがＰＲ１に送られ、ＰＲ１はこの印刷データを受け取ると印刷を行う。
【００２６】
次に、動作の前提となるサブプリンタ情報格納部７の設定方法について説明する。
図４は、サブプリンタ情報格納部７の情報設定動作のフローチャートである。
先ず、プリンタに対してホストからのＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）のＳｅｔ  Ｒｅｑｕｅｓｔパケットが送信される（ステップＳ１）。
【００２７】
図５は、ホストからのサブプリンタ情報設定要求の説明図である。
ここで、ＳＮＭＰとは、ＴＣＰ／ＩＰのネットワーク管理プロトコルであり、ルータ、ハブなどのネットワーク機器（エージェント）のネットワーク管理情報を管理システム（マネージャ）に送る際の標準プロトコルとして採用されているものである。
【００２８】
図示のように、このＳＮＭＰパケットに含まれる情報としては、プリンタ名やＭＡＣアドレスおよびそのプリンタの優先順位、そしてサポートしているプロトコルやエミュレーションといった情報である。
【００２９】
図４に戻って、プリンタ側では、ホストからのＳＮＭＰセットリクエストパケットを受信すると、そのパケットのデータ部から値を読み出し、各設定値をＭＩＢ（サブプリンタ情報格納部７）に格納する。
【００３０】
図６は、プリンタにおけるサブプリンタ情報格納部７への情報格納処理の説明図である。
図示のように、優先順位やプリンタ名といった各設定値をＭＩＢに格納する。
【００３１】
次に、ネットワークプリンタの印刷動作を説明する。
図７は、印刷動作時のフローチャートである。
先ず、ホストから送信されたデータをデータ受信部４が受信バッファ４ａに格納し（ステップＳ１１）、これを、プロトコル制御部８におけるプロトコル解析部９に通知する。プロトコル解析部９はプロトコルの解析を行い、このプロトコル情報をＭＩＢデータアクセス処理部６がサブプリンタ情報格納部７に格納した後、プロトコル解析部９は制御情報か印刷データかの判断処理を行う（ステップＳ１２）。ここで、制御情報であった場合は印刷動作とは直接関係がないため、その説明は省略する。
【００３２】
プロトコル解析部９は、印刷データであった場合、エンジン部２が格納しているステータス情報２ａが印刷状態であるか否かを判断する（ステップＳ１３）。ステータス情報２ａが印刷不可能状態であった場合、プロトコル解析部９によってプロトコル変換部１０が起動され、プロトコル変換処理が行われる（ステップＳ１４）。
【００３３】
図８は、プロトコル変換処理のフローチャートである。
先ず、サブプリンタ情報格納部７から優先順位の最も高いサブプリンタを選択し、ｉ＝１とする（ステップＳ１４１）。次に、サブプリンタ情報格納部７に登録されているｉ番目のサポートしているプロトコルの情報をリードする（ステップＳ１４２）。ここでデータが存在しない場合は、プロトコル解析部９で調査した受信データで使用しているプロトコルは、選択したサブプリンタでサポートされないため、サブプリンタがサポートしているプロトコルの１番目の情報をリードし（ステップＳ１４３）、受信データをリードしたプロトコルに変換した（ステップＳ１４４）後、データ送信部５に通知する（ステップＳ１４５）。
【００３４】
一方、上記ステップＳ１４２において、データが存在する場合には、リードしたデータと、受信データで使用されているプロトコルとの比較を行う（ステップＳ１４６）。比較の結果が一致していれば、受信データで使用したプロトコルは、選択したサブプリンタでサポートしているため、変換を行わずにデータ送信部５に通知する（ステップＳ１４５）。
【００３５】
ステップＳ１４６の比較の結果、不一致の場合にはｉ←ｉ＋１とし（ステップＳ１４７）、ステップＳ１４２に戻って次のサポートしているプロトコルの情報をリードする。
【００３６】
図９は、プロトコル変換の説明図である。
この例では、ＬＰＲパケットからＦＴＰパケットへの変換を行っている。この場合に必要なことは、
（１）ホストと印刷先プリンタを示していたＭＡＣアドレス，ＩＰアドレスを、印刷先プリンタとサブプリンタのＭＡＣアドレス，ＩＰアドレスに変換すること
（２）ＴＣＰ層でのポート番号を、６０８（ＬＰＲ）から１０３３（ＦＴＰ）に変更すること
である。
【００３７】
そこで、ＬＰＲパケットでは、（ＰＣ→ＰＲ１）であったＭＡＣアドレスを（ＰＲ１→ＰＲ２）とし、ＩＰアドレス（ＰＣ→ＰＲ１）を（ＰＲ１→ＰＲ２）に、ＴＣＰ層のポート番号を６０８から１０３３に変更している。このようにして、本具体例では、サブプリンタがサポートしている通信プロトコルへの変換を行っている。
【００３８】
また、図７において、ステップＳ１４でプロトコル変換を行った後は、データ送信部５によって、サブプリンタに印刷データを送信する（ステップＳ１５）。一方、ステップＳ１３で印刷が可能であった場合は、通常動作であるため、エンジン部２で印刷可能なデータに変換し（ステップＳ１６）、印刷を行う（ステップＳ１７）。
【００３９】
そして、自ネットワークプリンタでの印刷不可能時、データ送信部５は、選択したサブプリンタのＭＡＣアドレスに対してデータを再送信する。
図１０は、印刷不可時の動作説明図である。
図示のように、本具体例では、ＰＲ１に何らかの印刷不可エラーが発生した場合、サブプリンタであるＰＲ２に印刷データを転送する。また、印刷元であるホスト（ＰＣ１）に対しては、印刷データ転送先通知メッセージを送信する。
【００４０】
〈効果〉
以上のように具体例１によれば、自プリンタで印刷不可能な場合に印刷データを転送するサブプリンタのプロトコルの情報を予め登録し、印刷不可能な場合は、サブプリンタのプロトコルに変換して転送するようにしたので、ホストから印字先として指定したネットワークプリンタでエラーが発生し、印刷が不可能な場合でもそのネットワークプリンタの資源を最大限に利用し、効率よく印字ジョブを処理することができる。
【００４１】
《具体例２》
具体例２では、上記具体例１のように、クライアントが印字先として指定したネットワークプリンタにおいて、何らかの原因で印字不可能なエラーが発生した場合、サブプリンタの通信プロトコルに変換すると共に、そのエミュレーション（データ形式）に変換するようにしたものである。
【００４２】
〈構成〉
図１１は、本発明のネットワークプリンタの具体例２を示す構成図である。
図において、具体例１と異なる構成は、コントローラ部１ａのエミュレーション制御部３におけるエミュレーション解析部１１とエミュレーション変換部１２である。エミュレーション解析部１１は、印刷データが用いているエミュレーションを解析する機能を有し、エミュレーション変換部１２は、サブプリンタがサポートしているエミュレーションに合わせてエミュレーション変換を行う機能を有している。他の各構成については、対応する部分に具体例１と同一の符号を付してその説明を省略する。
【００４３】
〈動作〉
ネットワークプリンタの動作環境やサブプリンタ情報格納部７の情報設定動作は具体例１と同様であるため、印刷動作についてのみ説明する。
【００４４】
図１２は、印刷動作時のフローチャートである。
先ず、ホストから送信されたデータをデータ受信部４が受信バッファ４ａに格納し（ステップＳ２１）、これを、プロトコル制御部８におけるプロトコル解析部９に通知する。プロトコル解析部９はプロトコルの解析を行いプロトコル情報を格納した後、制御情報か印刷データかの判断処理を行う（ステップＳ２２）。
【００４５】
印刷データであった場合、エンジン部２が格納しているステータス情報２ａが印刷状態であるか否かを判断する（ステップＳ２３）。プリンタのステータスが印刷不可能状態の場合、プロトコル解析部９によってプロトコル変換部１０が起動され、プロトコル変換処理が行われる（ステップＳ２４）。以上の処理は具体例１と同様である。
【００４６】
ステップＳ２４のプロトコル変換処理が終了すると、次にエミュレーション制御部３によって、エミュレーション解析部１１が起動され、エミュレーション解析が行われる（ステップＳ２５）。エミュレーション解析部１１は、受信した印字データが、どのようなエミュレーションを用いているかを解析し、その情報を格納する。次に、エミュレーション制御部３によって、エミュレーション変換部１２が起動され、エミュレーション変換が行われる（ステップＳ２６）。
【００４７】
図１３は、エミュレーション変換部１２の動作フローチャートである。
先ず、サブプリンタ情報格納部７から優先順位の最も高いサブプリンタを選択し、ｉ＝１とする（ステップＳ２６１）。次に、サブプリンタ情報格納部７に登録されているｉ番目のサポートしているエミュレーションの情報をリードする（ステップＳ２６２）。ここで、データが存在しない場合は、エミュレーション解析部１１で調査した受信データで使用されているエミュレーションは、選択したサブプリンタではサポートされないため、サブプリンタがサポートしているエミュレーションの１番目の情報をリードし（ステップＳ２６３）、受信データをリードしたエミュレーションに変換した（ステップＳ２６４）後、データ送信部５に通知する（ステップＳ２６５）。
【００４８】
一方、ステップＳ２６２において、データが存在する場合には、リードしたデータと、受信データで使用したエミュレーションとの比較を行う（ステップＳ２６６）。比較の結果が一致していれば、受信データで使用しているエミュレーションは、選択したサブプリンタでサポートされるため、変換を行わずにデータ送信部５に通知する（ステップＳ２６５）。また、ステップＳ２６６で不一致の場合にはｉ＝ｉ＋１とし（ステップＳ２６７）、ステップＳ２６２に戻って次のサポートしているエミュレーションの情報をリードする。
【００４９】
尚、図１２において、ステップＳ２７〜ステップＳ２９の処理は、具体例１における図７のステップＳ１５〜ステップＳ１７の処理と同様である。
【００５０】
〈効果〉
以上のように具体例２によれば、具体例１の構成に加えて、自プリンタで印刷不可能な場合に印刷データを転送するサブプリンタのエミュレーションの情報を予め登録し、印刷不可能な場合は、サブプリンタのエミュレーションに変換して転送するようにしたので、ホストから印字先として指定したネットワークプリンタでエラーが発生し、印刷が不可能な場合でもそのネットワークプリンタの資源を最大限に利用し、効率よく印字ジョブを処理することができる。また、サブプリンタのエミュレーションが異なる場合でも印刷動作を行うことができる。
【００５１】
《具体例３》
具体例３では、クライアントが印字先として指定したネットワークプリンタにおいて、何らかの原因で印字不可能なエラーが発生した場合、ネットワークプリンタは、ネットワーク上のファイルサーバを探し、そのサーバにテンポラリとして印刷データを保持するようにしたものである。
【００５２】
〈構成〉
図１４は、本発明のネットワークプリンタの具体例３を示す構成図である。
図の装置は、コントローラ部１ｂとエンジン部２からなり、これらの全体としての機能は上記具体例１，２と同様である。
【００５３】
コントローラ部１ｂは、エミュレーション制御部３、データ受信部４、データ送信部５、ＭＩＢデータアクセス処理部６、ジョブ登録情報格納部１３、印刷データ制御部１４からなる。また、印刷データ制御部１４は、ファイルサーバ検索部１５、ファイル登録部１６、ファイルロード部１７からなる。
【００５４】
ここで、エミュレーション制御部３〜ＭＩＢデータアクセス処理部６の機能は、上記各具体例と同様であるため、ここでの説明は省略する。
一方、ジョブ登録情報格納部１３は、ファイルサーバにテンポラリとして作成した印刷データの情報を格納する機能部であり、例えば、次のような情報を格納する。
【００５５】
図１５は、ジョブ登録情報格納部１３の内容例を示す説明図である。
図示例では、テンポラリデータ名とファイルサーバのＭＡＣアドレスをインデックスを付与して格納している。ここで、テンポラリデータとは印刷不可の状態から復旧した時点で読み出しを行うべきデータの名前であり、ファイルサーバのＭＡＣアドレスとは、読み出しの対象となるファイルサーバのＭＡＣアドレスを指している。
【００５６】
これらのデータの格納方法の一つとして、ＭＩＢにジョブ登録情報という独自のオブジェクトを定義し、プリンタの情報の一つとして保持する方法で実現する。
例えば、図１５の例では、データの項目として“テンポラリデータ名”と“ファイルサーバのＭＡＣアドレス”がある。例として、図示の状態では、エラーから復旧して最初に処理される印刷データのテンポラリデータ名は“ＤＡＴＡ１”であり、そのデータを格納しているファイルサーバのＭＡＣアドレスは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”である。
【００５７】
図１４に戻って、印刷データ制御部１４は、印刷データに対する制御を行う機能部であり、ファイルサーバ検索部１５は、テンポラリデータを作成すべきファイルサーバを検索する機能部、ファイル登録部１６は、ファイルサーバへテンポラリデータを作成するための処理を行う機能部、ファイルロード部１７は、エラーからの復旧後にファイルサーバから印刷データを読み出す機能部である。
【００５８】
〈動作〉
先ず、ジョブ登録情報格納部１３の設定について説明する。
図１６は、ジョブ登録情報格納部１３におけるジョブ登録情報格納処理の説明図である。
図示のように、ネットワーク上を流れるデータ名とそのデータの宛先であるＭＡＣアドレスをそれぞれ登録順序のインデックスを付与し、ＭＩＢのデータ構造で格納する。
【００５９】
次に、印刷動作を説明する。
図１７は、自分宛のパケット受信時の印刷動作のフローチャートである。
先ず、ホストから送信されたデータをデータ受信部４が受信バッファ４ａに格納し（ステップＳ３１）、印刷データ制御部１４に通知する。これにより印刷データ制御部１４は印刷データ制御処理を行い（ステップＳ３２）、データが制御情報か印刷データかの判断処理を行う（ステップＳ３３）。ステップＳ３３において、印刷データでない場合はそのままエミュレーション制御部３に通知し（ステップＳ３４）、印刷データであった場合は、エンジン部２が格納しているステータス情報２ａが印刷状態か否かを判断する（ステップＳ３５）。
【００６０】
プリンタのステータスが印刷可能状態の場合、印刷データ制御部１４は印刷データをエミュレーション制御部３へ通知する。エミュレーション制御部３では、通知されたデータをエンジン部２にて印刷可能なフォーマットに変換し（ステップＳ３６）、エンジン部２に通知する。エンジン部２は通知されたデータを元に用紙に印刷する（ステップＳ３７）。
【００６１】
プリンタのステータスが印刷不可能状態の場合、印刷データ制御部１４によって、ファイルサーバ検索部１５が起動され、ファイルサーバ検索処理が行われる（ステップＳ３８）。
【００６２】
図１８は、ファイルサーバ検索処理のフローチャートである。
ファイルサーバ検索部１５は、ファイルサーバを検索するためのパケットを作成し、データ送信部５から送信する（ステップＳ３８１）。送信したパケットに対するファイルサーバからの応答を受信すると（ステップＳ３８２）、受信した応答パケットからファイルサーバのＭＡＣアドレスを取り出し、ＭＩＢ（ジョブ登録情報格納部１３）に格納する。
【００６３】
図１９は、ファイルサーバ検索処理の説明図である。
図示例は、ネットワーク上に複数のクライアントとファイルサーバ、ネットワークプリンタが存在するネットワークを示している。ここで、ＰＲ１は具体例３の構成を備えたネットワークプリンタであり、ＰＲ２はその他のプリンタを指している。また、ＰＣ１は印刷元パソコンであり、ネットワークプリンタＰＲ１に対して印刷要求を行うホストである。ＦＳ１はネットワーク上に存在するファイルサーバである。
【００６４】
図２０は、ファイルサーバ検索時に送受信される検索パケットと応答パケットの説明図である。
プリンタからファイルサーバを検索するために送信される検索パケットは、情報フィールドにサーバのタイプについての情報を含み、ネットワーク上にブロードキャストされる（図１９中の（１）に示す）。
【００６５】
検索パケットを受信したサーバの中で、検索パケットのサーバタイプと一致するファイルサーバは、その検索パケットに対する応答パケットをプリンタに対して送信する（図１９中の（２）に示す）。この応答パケットには、ファイルサーバ自身のＭＡＣアドレスの情報が含まれている。そして、このような応答パケットを受信することによって、ネットワークプリンタＰＲ１はファイルサーバの存在を認識することができる。
【００６６】
このような方法でサーバ検索が行える実例として、ディレクトリサービスのインターネット標準であるＬＤＡＰ（Ｌｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）が存在する。
【００６７】
図２１に、ＬＤＡＰサービスの概要を示す。
このプロトコルは、Ｘ．５００標準リンクであるＤＡＰ（Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を基礎としており、クライアントがアクセスするべき適切なファイルサーバを自動的に検索し、クライアントに対してファイル内の資源を提供することができる。この機能の実現には特定のネットワークＯＳは不要であり、サーバとクライアントに対してＬＤＡＰ機能がインストールされていることのみ必須である。
【００６８】
図１７に戻り、ファイルサーバ検索処理が行われると、ファイル登録部１６が起動され、ファイル登録処理が行われる（ステップＳ３９）。
【００６９】
図２２は、ファイル登録処理のフローチャートである。
ファイル登録部１６は、対象となるファイルサーバ上に印刷データのテンポラリデータを作成し（ステップＳ３９１）、そのデータをＭＩＢ（ジョブ登録情報格納部１３）に格納する（ステップＳ３９２）。この状態が図１５に示す状態である。
【００７０】
また、このとき、プリンタに対してファイルサーバへのアクセス権が与えられていない場合、プリンタはファイルサーバにテンポラリデータを作成することができない。このような場合、予めファイルサーバ側に、プリンタがテンポラリデータ作成時に使用するログインアカウントを作成しておく必要がある。
【００７１】
次にエラー復旧時の動作を説明する。
図２３は、エラー復旧時のフローチャートである。
プリンタがエラーから復旧すると、即ち、ステップＳ４１において印刷可能になると、ファイルロード部１７が起動され、ファイルロード処理が行われる（ステップＳ４２）。
【００７２】
図２４は、ファイルロード処理のフローチャートである。
ファイルロード部１７は、ジョブ登録情報格納部１３のジョブ情報管理テーブルを参照し（ステップＳ４２１）、データが登録されていれば（ステップＳ４２２）、そのジョブ情報管理テーブルに登録されているＭＡＣアドレスを持つファイルサーバから、テーブルに登録されているデータ名を持つテンポラリデータをロードし（ステップＳ４２３）、エミュレーション制御部３に渡すことによって印刷を行う。
【００７３】
テンポラリデータのロードが終了すると、ファイルロード部１７は、ファイルサーバ上からテンポラリデータを削除し（ステップＳ４２４）、ジョブ情報管理テーブル上から登録情報を削除する（ステップＳ４２５）。
【００７４】
〈効果〉
以上のように、具体例３によれば、自プリンタで印刷不可能な場合は、ネットワーク上のファイルサーバを検索して、このファイルサーバにテンポラリデータを格納し、プリンタが復旧した場合はこのテンポラリデータを読み出して印刷を行うようにしたので、ホストから印字先として指定したネットワークプリンタでエラーが発生し、印刷が不可能な場合でもそのネットワークプリンタの資源を最大限に利用し、効率よく印字ジョブを処理することができる。また、印刷元のパソコンがネットワーク上のファイルサーバの存在を知らなくとも、プリンタ側で自動的にデータの保存や復旧時の印刷を行うことができる。
【００７５】
《具体例４》
具体例４は、クライアントが印字先として指定したネットワークプリンタにおいて、何らかの原因で印字不可能なエラーが発生した場合、それ以前に収集したネットワークの印刷履歴のログからユーザに最も近くに接続されていると推測される他のネットワークプリンタ（サブプリンタと呼ぶ）に再転送して印字するものである。
【００７６】
〈構成〉
図２５は、本発明のネットワークプリンタの具体例４を示す構成図である。
図の装置は、コントローラ部１ｃとエンジン部２からなり、これらの全体としての機能は上記各具体例と同様である。
【００７７】
コントローラ部１ｃは、エミュレーション制御部３、データ受信部４、データ送信部５、ＭＩＢデータアクセス処理部６、印刷ログ情報格納部１８、印刷ログ収集部１９、印刷ログ解析部２０からなる。
【００７８】
印刷ログ情報格納部１８は、種々の印刷ログ情報を格納する格納部であり、例えば次のような情報を格納している。
図２６は、印刷ログ情報格納部１８の内容例の説明図である。
図示例では、ネットワーク上に存在するＰＣのアドレス、そのＰＣから印刷要求を行ったプリンタのＭＡＣアドレス、印刷データ形式、印刷回数といった情報からなる。これらのデータの格納方法の一つとして、ＭＩＢにジョブ登録情報という独自のオブジェクトを定義し、プリンタの情報の一つとして保持する方法で実現する。
【００７９】
印刷ログ情報格納部１８の構造として、図示のように、一つのＰＣのＭＡＣアドレスに対するデータの項目として、“印刷先ＭＡＣアドレス”，“印刷データ形式”，“印刷回数”がある。例えば、図示例において、ＰＣ１から印刷データとしてＰＣＬ形式のデータが送信される頻度が最も高いプリンタのＭＡＣアドレスは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”であり、本具体例の構成を備えたネットワークプリンタにおいて、印刷障害が発生している時にＰＣ１からＰＣＬ形式のデータを受信すると、印刷データは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”のＭＡＣアドレスを持つプリンタに転送されることになる。
【００８０】
図２５に戻って、印刷ログ収集部１９は、ネットワーク上を流れるパケットから印刷ログを収集する機能を有している。印刷ログ解析部２０は、印刷ログ収集部１９にて収集した印刷ログを解析し、その解析結果をＭＩＢデータアクセス処理部６に渡す機能を有すると共に、自プリンタが印刷不可能な状態である場合は、印刷ログ情報格納部１８の印刷ログ情報に基づき、印刷データを転送すべきプリンタを決定する機能を有している。
【００８１】
〈動作〉
図２７は、パケット受信時のフローチャートである。
プリンタはネットワーク上を流れるパケットを受信する度に印刷ログ収集部１９等を起動し（ステップＳ５１）、パケット情報を、例えば具体例３のジョブ登録情報格納部の設定方法と同様な処理で、印刷ログ情報格納部１８に設定する（ステップＳ５２）。
【００８２】
図２８は、印刷ログ収集処理の動作フローチャートである。
印刷に使用されるパケットを受信する（ステップＳ５２１）と、印刷ログ解析部２０は、パケットから送信元のＭＡＣアドレスを取り出し（ステップＳ５２２）、印刷ログ情報格納部１８に存在しなければＭＩＢデータアクセス処理部６によって登録を行う（ステップＳ５２３、Ｓ５２４）。
【００８３】
次に、印刷ログ解析部２０は、送信先ＭＡＣアドレスを取り出し（ステップＳ５２５）、プリンタ自身に割り当てられたアドレスと同一であるかを調べ（ステップＳ５２６）、同一でない場合は、印刷ログ情報格納部１８の参照を行い、登録されていなければ新規に登録を行う（ステップＳ５２７、Ｓ５２８）。
【００８４】
そして、印刷データがどのような形式であるかを調べ（ステップＳ５２９）、対象となる印刷データ形式での印刷回数を１増加する（ステップＳ５３０）。
【００８５】
次に、自分宛の印刷データを受信した場合の動作を説明する。
図２９は、自分宛のパケットを受信した場合の動作フローチャートである。
ここで、ステップＳ６１〜ステップＳ６７までの処理は、具体例３の図１７で示した自分宛のパケット受信時の動作におけるステップＳ３１〜ステップＳ３７と同様である。
【００８６】
ステップＳ６５において、印刷不可能であった場合、印刷ログ解析部２０が起動し、印刷ログ解析処理を行う（ステップＳ６８）。
【００８７】
図３０は、印刷ログ解析処理のフローチャートである。
プリンタのステータスが印刷不可能状態の場合、印刷ログ解析部２０は受信した印刷データの送信元となるホストのＭＡＣアドレスにおいて、受信した印刷データ形式と同一の印刷データに対して最も印刷頻度が高いプリンタを印刷ログ情報格納部１８の中で検索し、印刷データを転送するべきプリンタのＭＡＣアドレスを選択する。
【００８８】
即ち、印刷ログ情報中に印刷データ送信元が存在するかを調べ（ステップＳ６８１）、存在した場合は受信した印刷データの形式をチェックする（ステップＳ６８２）。そして、データ形式が一致し、かつ、印刷回数が最大の印刷先ＭＡＣアドレスを取り出し（ステップＳ６８３）、これが存在したら（ステップＳ６８４）、印刷データの再転送先として選択を行う（ステップＳ６８５）。
【００８９】
データ送信部５では、選択したサブプリンタのＭＡＣアドレスに対してデータを再送信する。
【００９０】
〈効果〉
以上のように、具体例４によれば、自プリンタで印刷不可能な場合は、それ以前に収集したネットワークの印刷履歴のログから、データ形式が一致し、かつ、印刷回数が最も多いサブプリンタに再転送して印刷するようにしたので、ホストから印字先として指定したネットワークプリンタでエラーが発生し、印刷が不可能な場合でもそのネットワークプリンタの資源を最大限に利用し、代替として最も適当と思われるネットワークプリンタに対して印刷ジョブを転送することによって、効率よく印字ジョブを処理することができる。
【００９１】
《具体例５》
具体例５は、クライアントが印字先として指定したネットワークプリンタにおいて、何らかの原因で印字不可能なエラーが発生した場合、具体例４と同様にサブプリンタに再転送して印字すると共に、それ以前に収集したネットワークの電子メール送信ログから、印刷を行ったユーザの電子メールアドレスを調べ、サブプリンタに再転送したことを電子メールで通知するようにしたものである。
【００９２】
〈構成〉
図３１は、本発明のネットワークプリンタの具体例５を示す構成図である。
図の装置は、コントローラ部１ｄとエンジン部２からなり、これらの全体としての機能は上記各具体例と同様である。
【００９３】
コントローラ部１ｄは、エミュレーション制御部３、データ受信部４、データ送信部５、ＭＩＢデータアクセス処理部６、印刷ログ・電子メールアドレス情報格納部１８ａ、印刷ログ収集部１９、印刷ログ解析部２０、電子メール送信ログ収集部２１、電子メール送信ログ解析部２２からなる。
【００９４】
印刷ログ・電子メールアドレス情報格納部１８ａは、具体例４における種々の印刷ログ情報を格納すると共に、ユーザの電子メールアドレスを格納する格納部である。
【００９５】
図３２は、印刷ログ・電子メールアドレス情報格納部１８ａの内容例の説明図である。
図示例では、印刷ログ情報（図２６参照）以外に、ネットワーク上に存在するＰＣのアドレス、そのＰＣから印刷要求を行ったプリンタのＭＡＣアドレス、印刷データ形式、印刷回数、印刷要求を行ったＰＣから送信された電子メールアドレスといった情報からなる。これらのデータの格納方法の一つとして、ＭＩＢにジョブ登録情報という独自のオブジェクトを定義し、プリンタの情報の一つとして保持する方法で実現する。
【００９６】
印刷ログ・電子メールアドレス情報格納部１８ａの構造として、図示のように、一つのＰＣのＭＡＣアドレスに対するデータの項目として、“印刷先ＭＡＣアドレス”，“印刷データ形式”，“印刷回数”，“電子メールアドレス”がある。例えば、図示例において、印刷元ＰＣ１から印刷データとしてＰＣＬ形式のデータが送信される頻度が最も高いプリンタのＭＡＣアドレスは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”であり、その電子メールアドレスは“ｘｘｘ＠ｘｘｘ．ｘｘ．ｘｘ”である。そのため、本具体例の構成を備えたネットワークプリンタにおいて、印刷障害が発生している時にＰＣ１からＰＣＬ形式のデータを受信すると、印刷データは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”のＭＡＣアドレスを持つサブプリンタに転送され、転送先のプリンタのＭＡＣアドレス情報を含んだ電子メールが、ｘｘｘ＠ｘｘｘ．ｘｘ．ｘｘに基づいてＰＣ１に送信されることになる。
【００９７】
また、電子メール送信ログ収集部２１は、ネットワーク上を流れる電子メール送信用のパケットを収集して電子メールアドレスの情報を収集する機能を有している。更に、電子メール送信ログ解析部２２は、電子メール送信ログ収集部２１で収集した電子メール送信用のパケットからそのログを解析し、これをＭＩＢデータアクセス処理部６に渡す機能を有すると共に、印刷不可能時、サブプリンタにデータが再転送された場合は、印刷ログ・電子メールアドレス情報格納部１８ａに情報に基づき、そのサブプリンタについての情報を印刷要求元のＰＣに電子メールアドレスを介して送信する機能を有している。その他の各構成は具体例４と同様であるため、ここでの説明は省略する。
【００９８】
〈動作〉
図３３は、パケット受信時のフローチャートである。
プリンタはネットワーク上を流れるパケットを受信する度に電子メールログ収集処理を起動し（ステップＳ７１）、その情報を、例えば具体例３のジョブ登録情報格納部の設定方法と同様な処理で、印刷ログ・電子メールアドレス情報格納部１８ａに設定する（ステップＳ７２）。
【００９９】
図３４は、電子メール送信ログ収集処理の動作フローチャートである。
電子メール送信に使用されるパケットを受信する（ステップＳ７２１）と、電子メール送信ログ解析部２２は、そのパケットから送信元のＭＡＣアドレスを取り出す（ステップＳ７２２）。次に、印刷ログ・電子メールアドレス情報格納部１８ａの印刷元のＭＡＣアドレスを確認し（ステップＳ７２３）、印刷元のＭＡＣアドレスとして存在するかを調べ（ステップＳ７２４）、存在しなければ廃棄する。
【０１００】
ステップＳ７２４において、印刷元ＭＡＣアドレスとして存在した場合は、パケットから送信元電子メールアドレスを取り出し（ステップＳ７２５）、印刷ログ・電子メールアドレス情報格納部１８ａに登録する（ステップＳ７２６）。
【０１０１】
次に、自分宛の印刷データを受信した場合の動作を説明する。
図３５は、自分宛のパケットを受信した場合の動作フローチャートである。
ここで、ステップＳ８１〜ステップＳ８９までの処理は、具体例４の図２９で示したステップＳ６１〜ステップＳ６９と同様であるため、ここでの説明は省略する。
【０１０２】
ステップＳ８９でデータ送信を行うと、次に電子メール送信ログ解析処理を行う（ステップＳ９０）。
【０１０３】
図３６は、電子メール送信ログ解析処理のフローチャートである。
データ送信部５で選択したサブプリンタのＭＡＣアドレスに対してデータが再送信されると、電子メール送信ログ解析部２２は、印刷ログ・電子メールアドレス情報格納部１８ａを参照し（ステップＳ９０１）、印刷元の電子メールアドレスが登録されているかどうかを確認する（ステップＳ９０２）。電子メールアドレスが登録されていない場合はそのまま終了するが、登録されている場合は、印刷データが転送されたサブプリンタのＭＡＣアドレスを取り出す（ステップＳ９０３）。そして、取り出したＭＡＣアドレスの情報を含んだ電子メールを作成し（ステップＳ９０４）、登録されている電子メールアドレスに送信する（ステップＳ９０５）。
【０１０４】
〈効果〉
以上のように、具体例５によれば、具体例４の構成に加えて、自プリンタで印刷不可能な場合は、それ以前に収集したネットワークの電子メールの送信ログから、印刷元の電子メールを調べ、この印刷元に対して電子メールで通知するようにしたので、ホストから印字先として指定したネットワークプリンタでエラーが発生し、印刷が不可能な場合でもそのネットワークプリンタの資源を最大限に利用し、効率よく印字ジョブを処理することができる。また、ユーザがどのネットワークプリンタで印刷が行われているかを的確に把握することができる。
【０１０５】
《具体例６》
具体例６は、クライアントが印字先として指定したネットワークプリンタにおいて、何らかの原因で印字不可能なエラーが発生した場合、具体例４と同様にサブプリンタに再転送して印字すると共に、印刷を行ったユーザに対してポップアップ・メッセージにより、サブプリンタに再転送したことを通知するようにしたものである。
【０１０６】
尚、ポップアップ・メッセージとは、ネットワーク上のパソコン間でメッセージのやり取りを行う機能であり、メッセージを送った場合に相手側のパソコンの画面上にメッセージがポップアップするよう構成されている機能を指す。
【０１０７】
〈構成〉
図３７は、本発明のネットワークプリンタの具体例６を示す構成図である。
図の装置は、コントローラ部１ｅとエンジン部２からなり、これらの全体としての機能は上記各具体例と同様である。
【０１０８】
コントローラ部１ｅは、エミュレーション制御部３、データ受信部４、データ送信部５、ＭＩＢデータアクセス処理部６、印刷ログ情報格納部１８ｂ、印刷ログ収集部１９、印刷ログ解析部２０、ポップアップ・メッセージ送信部２３からなる。
【０１０９】
印刷ログ情報格納部１８ｂは、具体例４における種々の印刷ログ情報を格納する機能を有している。
【０１１０】
図３８は、印刷ログ情報格納部１８ｂの内容例の説明図である。
図示例では、ネットワーク上に存在するＰＣのアドレス、そのＰＣから印刷を行ったプリンタのＭＡＣアドレス、印刷データ形式、印刷回数、使用プロトコルからなる。これらのデータの格納方法の一つとして、ＭＩＢにジョブ登録情報という独自のオブジェクトを定義し、プリンタの情報の一つとして保持する方法で実現する。
【０１１１】
例として、図３８に示した印刷ログ情報格納部１８ｂにおいて、ＭＡＣアドレスが“００：１０：１１：ＸＸ：ＸＸ：ＸＸ”であるＰＣ１から印刷データとしてＰＣＬデータが送信される頻度が元も高いプリンタのＭＡＣアドレスは、“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”である。また、ＰＣ１には、ＴＣＰ／ＩＰとＩＰＸの少なくとも二つのプロトコルがインストールされており、ＴＣＰ／ＩＰを使用しての印刷が先に行われたことを示している。そのため、本具体例の構成を備えたネットワークプリンタにおいて、印刷障害が発生している時にＰＣ１からＰＣＬ形式のデータを受信すると、印刷データは“００：８０：８７：ＸＸ：ＸＸ：ＸＸ”のＭＡＣアドレスを持つプリンタに転送され、転送先のプリンタのＭＡＣアドレス情報を含んだポップアップ・メッセージが、ＴＣＰ／ＩＰプロトコルを使用して“００：１０：１１：ＸＸ：ＸＸ：ＸＸ”のＭＡＣアドレスに送信されることになる。
【０１１２】
また、ポップアップ・メッセージ送信部２３は、印刷データを再転送したプリンタについての情報をポップアップ・メッセージとして送信する機能を有している。その他の各構成は具体例４と同様であるため、ここでの説明は省略する。
【０１１３】
また、印刷元ＰＣのシステム部にはプリンタドライバのインストールと共に、ポップアップ・メッセージ受信部がインストールされている。
【０１１４】
図３９は、印刷元ＰＣの構成図である。
図において、１００は印刷元ＰＣを示し、ポップアップ・メッセージ受信部１０１とポップアップ・メッセージ制御部１０２を備えている。ポップアップ・メッセージ受信部１０１は、ネットワークプリンタから、ポップアップ・メッセージを含んだパケットを受け取った場合、そのパケットからポップアップ・メッセージを取り出し、これをポップアップ・メッセージ制御部１０２に渡す機能を有している。
【０１１５】
ポップアップ・メッセージ制御部１０２は、例えば、Ｗｉｎｄｏｗｓの標準機能として備えられているポップアップサービスの制御部であり、ポップアップ・メッセージ表示処理部１０３とポップアップ・メッセージ表示部１０４を備えている。
【０１１６】
ポップアップ・メッセージ表示処理部１０３は、他のパソコンやポップアップ・メッセージ受信部１０１からポップアップ・メッセージを受け取った場合に、そのメッセージをポップアップ・メッセージ表示部１０４に表示する機能を有している。また、ポップアップ・メッセージ表示部１０４は、例えば、ディスプレイからなり、ポップアップ・メッセージを表示する表示部である。
【０１１７】
〈動作〉
図４０は、パケット受信時のフローチャートである。
プリンタはネットワーク上を流れるパケットを受信する（ステップＳ１０１）度に印刷ログ収集処理および印刷ログ収集処理２を起動し（ステップＳ１０２、Ｓ１０３）、その情報を、例えば具体例３のジョブ登録情報格納部の設定方法と同様な処理で、印刷ログ情報格納部１８ｂに設定する。ここで、印刷ログ収集処理は、具体例４の図２７におけるステップＳ５２の印刷ログ収集処理と同様である。また、印刷ログ収集処理２は、印刷に使用されるパケットのフォーマットから使用しているプロトコルを調べる処理である。
【０１１８】
図４１は、印刷ログ収集処理２の動作フローチャートである。
電子メール送信に使用されるパケットを受信する（ステップＳ１０３１）と、そのパケットのフォーマットから使用しているプロトコルを調べる（ステップＳ１０３２）。次に、印刷ログ情報格納部１８ｂの使用プロトコルを確認し（ステップＳ１０３３）、登録されているかを調べ（ステップＳ１０３４）、登録されていれば廃棄し、登録されていなければ使用プロトコルとして印刷ログ情報格納部１８ｂに登録する（ステップＳ１０３５）。
【０１１９】
次に、自分宛の印刷データを受信した場合の動作を説明する。
図４２は、自分宛のパケットを受信した場合の動作フローチャートである。
ここで、ステップＳ１１０１〜ステップＳ１１０９までの処理は、具体例４の図２９で示したステップＳ６１〜ステップＳ６９と同様であるため、ここでの説明は省略する。
【０１２０】
ステップＳ１１０９でデータ送信を行うと、次にポップアップ・メッセージ送信処理を行う（ステップＳ１１１０）。
【０１２１】
図４３は、ポップアップ・メッセージ送信処理のフローチャートである。
データ送信部５で選択したサブプリンタのＭＡＣアドレスに対してデータが再送信されると、ポップアップ・メッセージ送信部２３は、印刷ログ情報格納部１８ｂを参照し（ステップＳ１１１０１）、印刷データが転送されたサブプリンタのＭＡＣアドレスと、印刷元ＰＣが印刷に使用したプロトコルとして最初に登録されたプロトコル情報を取り出す（ステップＳ１１１０２、Ｓ１１１０３）。
【０１２２】
そして、取り出されたプロトコル情報に従ってパケットを作成し（ステップＳ１１１０４）、取り出したＭＡＣアドレスの情報を含んだポップアップ・メッセージと共に、印刷データ送信元のＭＡＣアドレスへパケットを送信する（ステップＳ１１１０５、１１１０６）。
【０１２３】
次に、ポップアップ・メッセージを受信した印刷元ＰＣの処理を説明する。
図４４は、印刷元ＰＣにおけるポップアップ・メッセージ受信処理のフローチャートである。
印刷元ＰＣ１００のポップアップ・メッセージ受信部１０１は、プリンタからのパケットを受信すると（ステップＳ１２０１）、ポップアップ・メッセージを取り出し（ステップＳ１２０２）、ポップアップ・メッセージ表示処理部１０３をコールし、そのメッセージを渡す（ステップＳ１２０３）。ポップアップ・メッセージ表示処理部１０３は、受け取ったメッセージをポップアップ・メッセージ表示部１０４に表示する。
【０１２４】
〈効果〉
以上のように、具体例６によれば、具体例４の構成に加えて、自プリンタで印刷不可能な場合は、印刷元ＰＣに対してポップアップ・メッセージで通知するようにしたので、ホストから印字先として指定したネットワークプリンタでエラーが発生し、印刷が不可能な場合でもそのネットワークプリンタの資源を最大限に利用し、効率よく印字ジョブを処理することができる。また、ネットワークで使用しているプロトコルや印刷を行ったユーザに対するメールアドレス割り当ての有無にかかわらず、実際に印刷を行ったプリンタをユーザに通知することが可能となり、印刷結果を探す手間が省けるという効果がある。
【０１２５】
尚、上記具体例６では、ポップアップ・メッセージ制御部としてＷｉｎｄｏｗｓのポップアップサービスを用いたが、これに限定されるものではなく、同様のポップアップ・メッセージの送受信処理が行えるものであれば同様に使用可能である。
【０１２６】
また、上記具体例１〜６において、サブプリンタ情報格納部７やジョブ登録情報格納部１３あるいは印刷ログ情報格納部１８ｂ等の情報設定にＳＮＭＰを用いたが、ＳＮＭＰの他にも“Ｗｅｂブラウザ”や“Ｔｅｌｎｅｔ”“プリンタのオペレーションパネル”等が利用可能である。
【図面の簡単な説明】
【０１２７】
【図１】本発明のネットワークプリンタの具体例１を示す構成図である。
【図２】サブプリンタ情報格納部の内容例を示す説明図である。
【図３】ネットワークプリンタの動作環境を示す説明図である。
【図４】サブプリンタ情報格納部の情報設定動作のフローチャートである。
【図５】ホストからのサブプリンタ情報設定要求の説明図である。
【図６】プリンタにおけるサブプリンタ情報格納部への情報格納処理の説明図である。
【図７】具体例１の印刷動作時のフローチャートである。
【図８】プロトコル変換の動作フローチャートである。
【図９】プロトコル変換の説明図である。
【図１０】印刷不可時の動作説明図である。
【図１１】本発明のネットワークプリンタの具体例２を示す構成図である。
【図１２】具体例２の印刷動作時のフローチャートである。
【図１３】エミュレーション変換部の動作フローチャートである。
【図１４】本発明のネットワークプリンタの具体例３を示す構成図である。
【図１５】ジョブ登録情報格納部の内容例を示す説明図である。
【図１６】ジョブ登録情報格納部におけるジョブ登録情報格納処理の説明図である。
【図１７】具体例３の自分宛のパケット受信時の印刷動作のフローチャートである。
【図１８】ファイルサーバ検索処理のフローチャートである。
【図１９】ファイルサーバ検索処理の説明図である。
【図２０】ファイルサーバ検索時に送受信される検索パケットと応答パケットの説明図である。
【図２１】ＬＤＡＰサービスの概要を示す説明図である。
【図２２】ファイル登録処理のフローチャートである。
【図２３】エラー復旧時のフローチャートである。
【図２４】ファイルロード処理のフローチャートである。
【図２５】本発明のネットワークプリンタの具体例４を示す構成図である。
【図２６】印刷ログ情報格納部の内容例の説明図である。
【図２７】パケット受信時のフローチャートである。
【図２８】印刷ログ収集処理の動作フローチャートである。
【図２９】自分宛のパケットを受信した場合の動作フローチャートである。
【図３０】印刷ログ解析処理のフローチャートである。
【図３１】本発明のネットワークプリンタの具体例５を示す構成図である。
【図３２】印刷ログ・電子メールアドレス情報格納部の内容例の説明図である。
【図３３】パケット受信時のフローチャートである。
【図３４】電子メール送信ログ収集処理の動作フローチャートである。
【図３５】自分宛のパケットを受信した場合の動作フローチャートである。
【図３６】電子メール送信ログ解析処理のフローチャートである。
【図３７】本発明のネットワークプリンタの具体例６を示す構成図である。
【図３８】印刷ログ情報格納部の内容例の説明図である。
【図３９】印刷元ＰＣの構成図である。
【図４０】パケット受信時のフローチャートである。
【図４１】印刷ログ収集処理２の動作フローチャートである。
【図４２】自分宛のパケットを受信した場合の動作フローチャートである。
【図４３】ポップアップ・メッセージ送信処理のフローチャートである。
【図４４】印刷元ＰＣにおけるポップアップ・メッセージ受信処理のフローチャートである。
【符号の説明】
【０１２８】
３  エミュレーション制御部
５  データ送信部
７  サブプリンタ情報格納部
８  プロトコル制御部
１５  ファイルサーバ検索部
１７  ファイルロード部
１９  印刷ログ収集部
２０  印刷ログ解析部
２１  電子メール送信ログ収集部
２２  電子メール送信ログ解析部
２３  ポップアップ・メッセージ送信部
１０１  ポップアップ・メッセージ受信部
１０２  ポップアップ・メッセージ制御部
【図１】
2008087487.tif 000003
【図２】
2008087487.tif 000004
【図３】
2008087487.tif 000005
【図４】
2008087487.tif 000006
【図５】
2008087487.tif 000007
【図６】
2008087487.tif 000008
【図７】
2008087487.tif 000009
【図８】
2008087487.tif 000010
【図９】
2008087487.tif 000011
【図１０】
2008087487.tif 000012
【図１１】
2008087487.tif 000013
【図１２】
2008087487.tif 000014
【図１３】
2008087487.tif 000015
【図１４】
2008087487.tif 000016
【図１５】
2008087487.tif 000017
【図１６】
2008087487.tif 000018
【図１７】
2008087487.tif 000019
【図１８】
2008087487.tif 000020
【図１９】
2008087487.tif 000021
【図２０】
2008087487.tif 000022
【図２１】
2008087487.tif 000023
【図２２】
2008087487.tif 000024
【図２３】
2008087487.tif 000025
【図２４】
2008087487.tif 000026
【図２５】
2008087487.tif 000027
【図２６】
2008087487.tif 000028
【図２７】
2008087487.tif 000029
【図２８】
2008087487.tif 000030
【図２９】
2008087487.tif 000031
【図３０】
2008087487.tif 000032
【図３１】
2008087487.tif 000033
【図３２】
2008087487.tif 000034
【図３３】
2008087487.tif 000035
【図３４】
2008087487.tif 000036
【図３５】
2008087487.tif 000037
【図３６】
2008087487.tif 000038
【図３７】
2008087487.tif 000039
【図３８】
2008087487.tif 000040
【図３９】
2008087487.tif 000041
【図４０】
2008087487.tif 000042
【図４１】
2008087487.tif 000043
【図４２】
2008087487.tif 000044
【図４３】
2008087487.tif 000045
【図４４】
2008087487.tif 000046