(57)【要約】【課題】  周辺デバイスから管理サーバへの情報の通知の処理が、その周辺デバイスにおける通常のジョブの処理を妨げることが無いようにする。【解決手段】  管理サーバとネットワークを介して接続されたデバイスに内蔵されており、前記デバイスの動作を監視して前記サーバに監視情報を通知することが可能なデバイス監視制御装置である。前記管理サーバが前記デバイスの使用状況に応じた課金管理を実行するために、少なくとも、課金に利用される情報を、前記デバイスで実行されるジョブごとに自律的に監視して、監視結果であるジョブ監視情報を前記ジョブごとに監視情報記憶領域に保存しておくとともに、前記監視情報記憶領域に前記ジョブ監視情報が保存されている場合に、前記ジョブ監視情報の通知を前記管理サーバに対して要求し、前記管理サーバからの応答に応じて前記ジョブ監視情報を前記管理サーバに通知する。【選択図】        図３
2005321950.tif 000002
【特許請求の範囲】
【請求項１】
管理サーバとネットワークを介して接続されたデバイスに内蔵されており、前記デバイスの動作を監視して前記サーバに監視情報を通知することが可能なデバイス監視制御装置であって、
前記管理サーバが前記デバイスの使用状況に応じた課金管理を実行するために、少なくとも、課金に利用される情報を、前記デバイスで実行されるジョブごとに自律的に監視して、監視結果であるジョブ監視情報を前記ジョブごとに監視情報記憶領域に保存しておくとともに、前記監視情報記憶領域に前記ジョブ監視情報が保存されている場合に、前記ジョブ監視情報の通知を前記管理サーバに対して要求し、前記管理サーバからの応答に応じて前記ジョブ監視情報を前記管理サーバに通知することを特徴とするデバイス監視制御装置。
【請求項２】
請求項１記載のデバイス監視制御装置において、
前記監視情報記憶領域は、第１と第２の記憶領域を備えており、
前記ジョブ監視情報が前記１の記憶領域に保存されている場合には、前記ジョブ監視情報を第２の記憶領域に移動させ、前記ジョブ監視情報を前記第２の記憶領域に移動させた場合には、移動させた前記ジョブ監視情報の通知を前記管理サーバに対して要求することを特徴とするデバイス監視制御装置。
【請求項３】
請求項１記載のデバイス監視制御装置において、
前記監視情報記憶領域に保存されている前記ジョブごとのジョブ監視情報から、前記管理サーバに通知するジョブ監視情報を選択して選択情報を作成し、作成した前記選択情報に示されているジョブ監視情報の通知を前記管理サーバに対して要求することを特徴とするデバイス監視制御装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のデバイス監視制御装置において、
前記監視情報記憶領域は、不揮発性記憶領域であることを特徴とするデバイス監視制御装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載のデバイス監視制御装置において、
前記課金に利用される情報には、少なくとも前記デバイスの消耗品に関する情報が含まれることを特徴とするデバイス監視制御装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載のデバイス監視制御装置において、
前記ジョブ監視情報には、対応するジョブの送信元であるユーザを特定するための識別情報として、前記ジョブの送信元であるクライアントのマシン名と、前記クライアントから前記ジョブを送信したユーザのユーザ名と、の少なくとも一方が含まれることを特徴とするデバイス監視制御装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載のデバイス監視制御装置において、
前記デバイスに備えられるＭＩＢ（Management Information Base）を監視することにより、前記少なくとも課金に利用される情報を取得することを特徴とするデバイス監視制御装置。
【請求項８】
ネットワークに接続されたデバイスであって
請求項１ないし請求項７のいずれかに記載のデバイス監視制御装置を内蔵することを特徴とするデバイス。
【請求項９】
管理サーバと、前記管理サーバにネットワークを介して接続されるデバイスと、を備え、前記デバイスの使用状況に応じた課金管理を実行するデバイス管理システムであって、
前記デバイスは、請求項８記載のデバイスであることを特徴とするデバイス管理システム。
【請求項１０】
ネットワークを介して管理サーバに接続されたデバイスの動作を監視して前記管理サーバに監視情報を通知するためのデバイス監視方法であって、
（ａ）前記管理サーバが前記デバイスの使用状況に応じた課金管理を実行するために、少なくとも、課金に利用される情報を、前記デバイスで実行されるジョブごとに自律的に監視して、監視結果であるジョブ監視情報を前記ジョブごとに監視情報記憶領域に保存する工程と、
（ｂ）前記監視情報記憶領域に前記ジョブ監視情報が保存されている場合に、前記ジョブ監視情報の通知を前記管理サーバに対して要求し、前記管理サーバからの応答に応じて前記ジョブ監視情報を前記管理サーバに通知する工程と、
を備えるデバイス監視方法。
【請求項１１】
管理サーバとネットワークを介して接続されたデバイスに内蔵されるデバイス監視制御装置によって、前記デバイスの動作を監視して前記サーバに監視情報を通知させるためのコンピュータプログラムであって、
前記管理サーバが前記デバイスの使用状況に応じた課金管理を実行するために、少なくとも、課金に利用される情報を、前記デバイスで実行されるジョブごとに自律的に監視して、監視結果であるジョブ監視情報を前記ジョブごとに前記デバイス監視制御装置の監視情報記憶領域に保存する機能と、
前記監視情報記憶領域に前記ジョブ監視情報が保存されている場合に、前記ジョブ監視情報の通知を前記管理サーバに対して要求し、前記管理サーバからの応答に応じて前記ジョブ監視情報を前記管理サーバに通知する機能と、
を前記デバイス監視制御装置に内蔵されたコンピュータによって実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたプリンタなどのデバイスから、このデバイスを管理している管理サーバに対して、そのデバイスの使用状況に応じた課金管理を管理サーバにおいて実行するために必要な情報を通知する技術に関する。
【背景技術】
【０００２】
近年、ローカルエリアネットワーク（ＬＡＮ）やインターネットなどのネットワークの発達に伴い、あるクライアントのＬＡＮに接続された、プリンタなどのデバイス（以下、「周辺デバイス」とも呼ぶ。）を、このデバイスに対してネットワークを介して接続された管理サーバによって管理するデバイス管理システムが普及しつつある。
【０００３】
このデバイス管理システムでは、管理サーバが、例えば周辺デバイスとしてのプリンタの、印刷枚数や使用インク量などの使用状況に応じた課金管理を実行するために、少なくとも課金管理に必要な情報の通知を受け付け、通知された情報に基づいて課金管理を実行することが考えられる。
【０００４】
なお、この種のネットワークシステムにおける課金管理の技術として、関連するものには、下記の文献に記載された技術が挙げられる。
【０００５】
【特許文献１】特開平１１−１３４０５７号公報
【特許文献２】特開２００２−２３０４３４号公報
【特許文献３】特開２００１―８６２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、上記デバイス管理システムにおける課金管理に関して、特許文献に記載された課金管理の技術を利用した場合、例えば、周辺デバイスとしてのプリンタは、実行したジョブの処理が終了する度に、課金管理のために必要な情報を管理サーバに通知することとなる。このとき、プリンタの管理サーバへの接続がなされて、プリンタから管理サーバへ情報の通知が実行されている間は、そのプリンタは外部から他のジョブを受け取ることができない場合が発生する。
【０００７】
また、上記デバイス管理システムでは、管理サーバによって多くのプリンタを管理することが想定される。そして、このようなデバイス管理システムでは、各プリンタからの通知は、管理サーバからの要求に基づき通知されるのではなく、各プリンタから管理サーバへ接続を要求し、管理サーバからの応答がなされた場合に情報をアップロードする形式で通知されるような場合がある。このとき、各プリンタは、他のプリンタの接続を考慮せずに管理サーバへ接続を要求するので、すぐに管理サーバへ接続できない場合が発生する。例えば、上記した特許文献に記載された課金管理の技術のように、実行した通常のジョブの処理が終了する度に、課金管理のために必要な情報を管理サーバに通知することにより、ジョブ処理が終了することとすると、管理サーバへ接続できないプリンタは、管理サーバへの情報の通知が終了するまでジョブ処理が終了しないため次のジョブ処理を実行することができないことになる。また、管理サーバへ接続ができたプリンタであっても、通知する情報量が多い場合には、同様に、その情報の通知が終了するまで次のジョブ処理を実行することができないことになる。
【０００８】
しかしながら、このプリンタを使用するユーザにとっては、管理サーバへ通知する情報の有無に関係なく、自分がそのプリンタを使用したいときに使用できることが望ましい。すなわち、プリンタから管理サーバへの情報の通知の処理が、プリンタにおける通常のジョブの処理を妨げることが無いようにすることが望ましい。
【０００９】
なお、上記デバイス管理システムにおける課題は、ネットワークに接続される周辺デバイスとしてプリンタを例に説明したが、これに限らず、ネットワークに接続される種々の周辺機器から管理サーバに対して、課金管理のために必要な情報を通知する場合に共通する問題である。
【００１０】
本発明は、従来技術における上述の課題を少なくとも解決するためになされたものであり、周辺デバイスから管理サーバへの情報の通知の処理が、その周辺デバイスにおける通常のジョブの処理を妨げることが無いようにする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題の少なくとも一部を解決するために、本発明の装置は、管理サーバとネットワークを介して接続されたデバイスに内蔵されており、前記デバイスの動作を監視して前記サーバに監視情報を通知することが可能なデバイス監視制御装置であって、
前記管理サーバが前記デバイスの使用状況に応じた課金管理を実行するために、少なくとも、課金に利用される情報を、前記デバイスで実行されるジョブごとに自律的に監視して、監視結果であるジョブ監視情報を前記ジョブごとに監視情報記憶領域に保存しておくとともに、前記監視情報記憶領域に前記ジョブ監視情報が保存されている場合に、前記ジョブ監視情報の通知を前記管理サーバに対して要求し、前記管理サーバからの応答に応じて前記ジョブ監視情報を前記管理サーバに通知することを特徴とする。
【００１２】
上記デバイス監視制御装置では、仮に、管理サーバに対してジョブ監視情報の通知を要求したが、管理サーバから通知を許容する応答がなく、管理サーバに対してジョブ監視情報を通知できない状態であった場合においても、デバイスで実行されるジョブごとに、少なくとも、課金に利用される情報の監視を自律的に続けて、監視結果であるジョブ監視情報をジョブごとに監視情報記憶領域に保存しておくことができるので、デバイスから管理サーバへのジョブ監視情報の通知の処理に関係なく、デバイスにおけるジョブの処理を進めることが可能となる。これにより、デバイスからサーバへのジョブ監視情報の通知の処理によって、デバイスにおけるジョブの処理が妨げられることを抑制することが可能である。
【００１３】
ここで、前記監視情報記憶領域は、第１と第２の記憶領域を備えており、
前記ジョブ監視情報が前記１の記憶領域に保存されている場合には、前記ジョブ監視情報を第２の記憶領域に移動させ、前記ジョブ監視情報を前記第２の記憶領域に移動させた場合には、移動させた前記ジョブ監視情報の通知を前記管理サーバに対して要求することが好ましい。
【００１４】
このように構成すれば、ジョブ監視情報が第２の記憶領域に保存されているか否かに応じて、管理サーバへの通知を容易に要求することが可能である。また、第１の記憶領域に複数のジョブ監視情報が保存されている場合において、ジョブごとに１つずつ順番に第２の記憶領域に移動するようにすれば、移動したジョブ監視情報の順に順番に通知を行うようにできるので、一度に多くのジョブ監視情報を通知することによって、通知のために要する時間が長くなって、他の処理の実行が滞ることのないようにすることも可能である。
【００１５】
また、前記監視情報記憶領域に保存されている前記ジョブごとのジョブ監視情報から、前記管理サーバに通知するジョブ監視情報を選択して選択情報を作成し、作成した前記選択情報に示されているジョブ監視情報の通知を前記管理サーバに対して要求するようにしてもよい。
【００１６】
このように構成しても、選択情報に基づいて管理サーバへの通知を容易に要求することが可能である。また、選択情報に示されたジョブ監視情報のみを管理サーバへ通知することができるので、一度に多くのジョブ監視情報を通知することによって、通知のために要する時間が長くなって、他の処理の実行が滞ることのないようにすることも可能である。
【００１７】
上記デバイス監視制御装置において、前記監視情報記憶領域は、不揮発性記憶領域であることが好ましい。
【００１８】
こうすれば、仮に、デバイスの電源が遮断された場合にも、既に保存されているジョブ監視情報を保持することができるので、再び電源が投入された時点で保持されていたジョブ監視情報を管理サーバへ通知することが可能となる。
【００１９】
なお、前記課金に利用される情報には、少なくとも前記デバイスの消耗品に関する情報が含まれることが好ましい。
【００２０】
こうすれば、管理サーバは消耗品に関する情報に基づいて課金管理を実行することができる。
【００２１】
ここで、デバイスがプリンタ、ファクシミリ、複写機などの場合には、この消耗品に関する情報として、少なくとも、使用した紙の種類および枚数、使用したトナー量あるいはインク量などが、例として考えられる。
【００２２】
また、前記ジョブ監視情報には、対応するジョブの送信元であるユーザを特定するための識別情報として、前記ジョブの送信元であるクライアントのマシン名と、前記クライアントから前記ジョブを送信したユーザのユーザ名と、の少なくとも一方が含まれることが好ましい。
【００２３】
ジョブ監視情報に、クライアントのマシン名かユーザのユーザ名のいずれかが少なくとも含まれていれば、管理サーバは通知されたジョブ監視情報を利用してユーザごとにデバイスの使用に関する課金管理を行うことが可能である。
【００２４】
なお、前記デバイスに備えられるＭＩＢ（Management Information Base）を監視することにより、前記少なくとも課金に利用される情報を取得することが好ましい。
【００２５】
こうすれば、課金に利用される情報を容易に取得することが可能である。
【００２６】
なお、本発明は、上記したデバイス監視制御装置としての構成の他、そのデバイス監視制御装置を内蔵するデバイスや、そのデバイスおよびサーバを備えるデバイス管理システムとしても構成することができる。また、それら装置発明の態様に限ることなく、デバイス監視方法などの方法発明の態様で実現することも可能である。さらには、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【００２７】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、デバイスを制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータ読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態を、実施例に基づいて、下記の項目に分けて説明する。
Ａ．実施例：
Ａ１．システム概要：
Ａ２．プリンタおよび管理サーバの構成：
Ａ３．ジョブ監視制御部による監視処理：
Ａ３．１．ジョブ監視処理：
Ａ３．２．Ｄｅｐｏｔディレクトリ監視処理：
Ａ３．３．Ｕｐｌｏａｄディレクトリ監視処理：
Ａ４．実施例の効果：
Ｂ．変形例：
【００２９】
Ａ．実施例：
Ａ１．システム概要：
図１は、本発明の一実施例としてのデバイス管理システムの概要構成を示す説明図である。本実施例におけるデバイス管理システム１０００では、管理サーバＳＶと、クライアントＰＣ（以下、クライアントと略す。）ＣＬ１と、プリンタＰＲＴ１と、がネットワークを介して接続されている。具体的には、クライアントＣＬ１およびプリンタＰＲＴ１はローカルエリアネットワークＬＡＮ１に接続されており、そのローカルエリアネットワークＬＡＮ１は、ファイアウォールＦＷを介してインターネットＩＮＴに接続されている。また、管理サーバＳＶは、ローカルエリアネットワークＬＡＮ２に接続されており、そのローカルエリアネットワークＬＡＮ２は、インターネットＩＮＴに接続されている。
【００３０】
これらネットワークに接続されている各機器間の通信は、ＴＣＰ／ＩＰプロトコルをベースとしているため、各機器には、それぞれ、ＩＰアドレスが予め固定で割り振られている。そして、発信元の機器から発信された通信データには、発信元の機器のＩＰアドレス（発信元ＩＰアドレス）と、送信先の機器のＩＰアドレス（送信先ＩＰアドレス）とが含まれており、この通信データは、送信先ＩＰアドレスに従って、そのＩＰアドレスを有する機器に送信される。なお、厳密に言えば、これらＩＰアドレスは、クライアントＣＬ１や、プリンタＰＲＴ１、管理サーバＳＶ自体に設定されているわけではなく、ＴＣＰ／ＩＰのネットワークから見た場合のノード（すなわち、具体的には、ＴＣＰ／ＩＰ通信を行うためにネットワークに接続されているネットワークボードなど）に設定されている。
【００３１】
プリンタＰＲＴ１には、ネットワークインタフェース（ネットワークＩ／Ｆ）としてのカスタムネットワークボードＣＮＢが取り付けられている。このカスタムネットワークボードＣＮＢは、通信制御機能と、本発明のデバイス監視制御装置に相当するジョブ監視制御機能と、を備えている。
【００３２】
カスタムネットワークボードＣＮＢは、通信制御機能によって、クライアントＣＬ１からプリンタＰＲＴ１に送信された印刷ジョブを含む通信データを受信する。
【００３３】
図２は印刷ジョブデータの構成を概念的に示す説明図である。この印刷ジョブデータは、ジョブ制御言語の部分と、印刷コマンドと、に分かれており、このうち、ジョブ制御言語部分には、ユーザを特定するための識別情報として、この印刷ジョブデータの送信元であるクライアントのマシン名およびユーザ名が記載されている。
【００３４】
なお、図１のクライアントＣＬ１には、クライアントＣＬ１のマシン名「Ｐｃ００１」およびクライアントＣＬ１を利用しているユーザのユーザ名「Ｕｓｅｒ００１」が設定されている。従って、クライアントＣＬ１からプリンタＰＲＴ１に送信される印刷ジョブには、ユーザの識別情報として、クライアントＣＬ１のマシン名「Ｐｃ００１」およびクライアントＣＬ１を利用しているユーザのユーザ名「Ｕｓｅｒ００１」が含まれる。ただし、このユーザの識別情報としては、必ずしも両方必要ではなく、少なくとも一方が含まれていればよい。
【００３５】
また、カスタムネットワークボードＣＮＢは、ジョブ監視制御機能によって、プリンタＰＲＴ１の動作を印刷ジョブごとに監視し、各監視結果を印刷ジョブごとのジョブ監視情報として管理サーバＳＶに通知する。なお、管理サーバＳＶに通知するジョブ監視情報には、対応する印刷ジョブに含まれていたユーザの識別情報が付加される。例えば、クライアントＣＬ１から送信された印刷ジョブに対応するジョブ監視情報には、上記したクライアントＣＬ１のマシン名「Ｐｃ００１」およびユーザのユーザ名「Ｕｓｅｒ００１」が付加される。
【００３６】
管理サーバＳＶは、通知されたジョブ監視情報をデータベースに蓄積する。管理サーバＳＶは、データベースに蓄積した印刷ジョブごとのジョブ監視情報に基づいて、プリンタの使用に応じた課金管理を行う。
【００３７】
ここで、プリンタＰＲＴ１が接続されているローカルエリアネットワークＬＡＮ１は、上述したように、ファイアウォールＦＷを介してインターネットＩＮＴに接続されている。このため、管理サーバＳＶ側からは、ファイアウォールＦＷを越えてプリンタＰＲＴ１側へ接続を要求して、プリンタＰＲＴ１に蓄積されているジョブ監視情報を取得することができない。そこで、本実施例では、プリンタＰＲＴは、管理サーバＳＶにＨＴＴＰ（hyper text transfer protocol）を用いて接続し、ジョブ監視情報を通知することとする。なお、プリンタＰＲＴ１および管理サーバＳＶ間では、セキュリティの観点から、ＨＴＴＰの一種であるＨＴＴＰＳプロトコルによる暗号化通信が行われる。例えば、プリンタＰＲＴ１には、管理サーバＳＶが複数のプリンタを一意に識別するためのプリンタＩＤおよび管理サーバＳＶへの接続認証のためのパスワードが予め設定されている。プリンタＰＲＴ１は、ジョブ監視情報を管理サーバＳＶに通知する際に、まず、プリンタＩＤおよびパスワードを用いて管理サーバＳＶにログインし、管理サーバＳＶからの応答指示に従って上述のジョブ監視情報を通知する。管理サーバＳＶでは、通知されたジョブ監視情報を、このプリンタＩＤに対応するプリンタ名と対応づけて、図示しないデータベースに蓄積することとなる。
【００３８】
Ａ２．プリンタおよび管理サーバの構成：
図３は、図１におけるプリンタＰＲＴ１および管理サーバＳＶの構成を示す説明図である。プリンタＰＲＴ１は、プリンタ本体ＰＲＢと、上述したカスタムネットワークボードＣＮＢと、を備えている。このうち、プリンタ本体ＰＲＢは、主として、プリンタエンジン５１と、プリンタコントローラ５２と、を備えている。
【００３９】
プリンタエンジン５１は、実際に印刷を行う機構部分である。プリンタコントローラ５２は、図示しないＣＰＵやＲＡＭ、ＲＯＭを備えるコンピュータであり、カスタムネットワークボードＣＮＢから印刷ジョブデータを受け取って、その印刷ジョブに従ってプリンタエンジン５１を制御し、印刷を実行させる。
【００４０】
また、プリンタコントローラ５２は、プリンタ本体に関する種々の情報を収集して、ＭＩＢ(Management Information Base)と呼ばれる形式で保存している。ＭＩＢには、プリンタ本体に関して予め規格で統一的に規定されている情報や、製造者によって独自に定義されている情報が含まれている。例えば、ＭＩＢには、印刷ジョブごとに収集すべき情報がジョブ単位で収集されて保存される。このジョブ単位で収集されて保存される情報は、特に「ＪｏｂＭＩＢ」と呼ばれる。ＪｏｂＭＩＢには、実行された印刷ジョブに応じた料金を求めて課金するための種々の情報（以下、単に「課金に利用される情報」と呼ぶ。）、例えば、印刷に使用した紙の種類や枚数、印刷に使用したトナー量あるいはインク量などが含まれる。なお、ＭＩＢには、通常、複数のジョブ、例えば１６ジョブ分のＪｏｂＭＩＢが、ＦＩＦＯ形式で保存される。従って、古いジョブのＪｏｂＭＩＢから順に消滅していくことになる。また、ＭＩＢには、印刷ジョブに関係なく収集すべき情報、紙ジャム等の種々の障害情報なども保存されている。
【００４１】
一方、発明の特徴部分であるカスタムネットワークボードＣＮＢは、主として、ＣＰＵ２０と、揮発性メモリ３０と、不揮発性メモリ４０と、を備えている。また、この他、実際にネットワーク通信を行うための通信インタフェースなども備えているが、説明の便宜上省略されている。
【００４２】
ＣＰＵ２０は、図示しないメモリから、上記したジョブ監視制御のためのソフトウェアや通信制御のためのソフトウェアなどのプログラムを読み出して、実行することにより、図示した各機能ブロックとして機能する。なお、各機能ブロックをハードウェア的に構築しても構わない。
【００４３】
これら機能ブロックのうち、ＴＣＰ／ＩＰ部２１は、ＴＣＰ／ＩＰプロトコルにより、ネットワークを介して外部および通信制御部２２との通信を行う。具体的には、受信した通信データに含まれる送信先の機器のＩＰアドレス（送信先ＩＰアドレス）や送信先のソフトウェアを特定するポート番号（送信先ポート番号）を検出したり、送信する通信データに送信先ＩＰアドレスや送信先ポート番号を付与したりする。なお、以下で説明する各機能ブロックには、それぞれ対応するポート番号が割り振られており、ＴＣＰ／ＩＰ部２１は、検出したポート番号に対応する機能ブロックに対して受信した通信データを受け渡す。
【００４４】
通信制御部２２は、データ受信処理部２２ＡおよびＳＮＭＰエージェント２２Ｂを備えている。データ受信処理部２２Ａは、印刷ジョブを含む通信データを受け取って、印刷ジョブをプリンタコントローラ５２に受け渡す。ＳＮＭＰエージェント２２Ｂは、ジョブ監視制御部２４に含まれるＳＮＭＰマネージャや外部のＳＮＭＰマネージャからのＳＮＭＰ（Simple Network Management Control Protocol）による指示に従って、プリンタコントローラ５２からＭＩＢの内容を受け取って、指示を出したＳＮＭＰマネージャに送信する。
【００４５】
なお、ＳＮＭＰエージェント２２Ｂがプリンタコントローラ５２から取得したＭＩＢの内容は、揮発性メモリ３０のＭＩＢバッファ３２に蓄積される。
【００４６】
ジョブ監視制御部２４は、ジョブ監視部２４Ａと、Ｄｅｐｏｔ監視部２４Ｂと、Ｕｐｌｏａｄ監視部２４Ｃと、を備えている。ジョブ監視部２４Ａは、上記したＳＮＭＰマネージャとして機能し、ＳＮＭＰエージェント２２Ｂによって取得されたＭＩＢの内容を監視する。そして、ジョブ監視部２４Ａは、その監視結果をジョブ監視情報ファイルとして不揮発性メモリ４０のＤｅｐｏｔディレクトリ４０Ａに保存する。なお、揮発性メモリ３０のテンポラリ領域（ＴＭＰ）３４は、監視結果からジョブ監視情報ファイルを生成し、ジョブ監視情報ファイルを管理サーバＳＶに通知する際の作業領域として利用される。
【００４７】
Ｄｅｐｏｔ監視部２４Ｂは、Ｄｅｐｏｔディレクトリ４０Ａを監視し、Ｄｅｐｏｔディレクトリ４０Ａにジョブ監視情報ファイルが存在している場合に、後述する処理に従ってそのジョブ監視情報ファイルをＵｐｌｏａｄディレクトリ４０Ｂに移動させる。
【００４８】
Ｕｐｌｏａｄ監視部２４Ｃは、Ｕｐｌｏａｄディレクトリ４０Ｂにジョブ監視情報ファイルが存在している場合には、後述する処理に従ってそのジョブ監視情報ファイルを管理サーバＳＶに送信する。これにより、ジョブ監視情報が管理サーバＳＶに通知される。
【００４９】
なお、不揮発性メモリ４０が本発明の監視情報記憶領域に相当する。また、Ｄｅｐｏｔディレクトリ４０Ａが本発明の第１の記憶領域に相当し、Ｕｐｌｏａｄディレクトリ４０Ｂが本発明の第２の記憶領域に相当する。
【００５０】
また、図３において、管理サーバＳＶは、少なくともＣＰＵ６０と、ＲＡＭおよびＲＯＭを含むメモリ７０と、ネットワークＩ／Ｆ８０と、データベースＤＢと、を備えるコンピュータシステムである。ネットワークＩ／Ｆ８０は、ネットワーク通信を行うための通信インタフェースである。ＣＰＵ６０は、メモリ７０より、種々の機能を実現するためのプログラムを読み出して実行することにより、例えば、図示した各機能ブロックとして機能する。
【００５１】
管理制御部６２は、プリンタＰＲＴ１から送信されるジョブ監視情報ファイルを受信してデータベースＤＢに蓄積する。課金管理部６４は、データベースＤＢに蓄積したジョブ監視情報に基づいて、プリンタの使用に応じた課金管理を行う。この課金管理は、例えば、プリンタ単位、ユーザ単位、部署単位、会社単位等のあらかじめ設定されている種々の課金グループ単位で行われる。
【００５２】
なお、管理サーバＳＶは、この他、コンピュータが備える種々の一般的な構成を備えるが、説明の便宜上省略されている。
【００５３】
Ａ３．ジョブ監視制御部による監視処理：
以下では、本発明の特徴部分であるジョブ監視制御部２４による監視処理について、ジョブ監視部２４Ａによるジョブ監視処理と、Ｄｅｐｏｔ監視部２４ＢによるＤｅｐｏｔディレクトリ監視処理と、Ｕｐｌｏａｄ監視部２４ＣによるＵｐｌｏａｄディレクトリ監視処理に分けて順に説明する。
【００５４】
Ａ３．１．ジョブ監視処理：
図４は、ジョブ監視処理の手順を示すフローチャートである。図５は、ジョブ監視処理によるジョブ監視情報ファイルの生成について示す説明図である。プリンタＰＲＴ１の電源が投入されると、ジョブ監視部２４Ａは、ＪｏｂＭＩＢを監視する(ステップＳ１００)。このとき、新規に正常終了またはキャンセル終了した印刷ジョブが発生するまで（ステップＳ１１０）、あるいは、印刷ジョブの実行途中で、プリンタＰＲＴ１の状態としてオンラインからオフラインへ変化する状態が発生するまで(ステップＳ１２０)、ＪｏｂＭＩＢの監視を、後述するようにジョブ監視周期ｔｃ１以下にならない間隔を保って繰り返す。なお、このジョブ監視周期ｔｃ１は、実行される印刷ジョブのそれぞれに対してＪｏｂＭＩＢの監視が確実に行われるように設定される。本例では、ジョブ監視周期ｔｃ１を５秒に設定している。ただし、これに限定されるものではない。
【００５５】
ＪｏｂＭＩＢの監視は、具体的には以下のように実行される。ジョブ監視部２４ＡがＳＮＭＰエージェント２２Ｂに対して、ＭＩＢ内のＪｏｂＭＩＢの取得を指示することにより、図５に示すように、ＳＮＭＰエージェント２２ＢがＭＩＢの内容を取得してＭＩＢバッファ３２に蓄積する。このとき、ＭＩＢに蓄積されているＪｏｂＭＩＢは、プリンタコントローラ５２において、実行される印刷ジョブの順番に割り振られるジョブＩＤに関連付けられている。ＳＮＭＰエージェント２２ＢはジョブＩＤの小さい順にＪｏｂＭＩＢを取得して、ＭＩＢバッファ３２にＦＩＦＯ形式で保存する。図５は、ＭＩＢバッファ３２は１６ジョブ分のＪｏｂＭＩＢを保存することができ、「１０３１」〜「１０４６」までのジョブＩＤに対応するＪｏｂＭＩｂが保存されている状態を示している。なお、ＭＩＢバッファ３２は、ＦＩＦＯ形式でＪｏｂＭＩＢを保存するので、新しい印刷ジョブが発生して、これに対応するＪｏｂＭＩＢが保存されると、保存されていたＪｏｂＭＩＢの中で最も古いＪＯＢＭＩＢから順に消失される。
【００５６】
そして、ジョブ監視部２４Ａは、ＳＮＭＰエージェント２２ＢからＭＩＢバッファ３２に保存されている各ＪｏｂＭＩＢ内の終了ステータスの内容を受け取ることにより、印刷ジョブの正常終了／キャンセル終了を調べる。また、ジョブ監視部２４Ａは、ＪｏｂＭＩＢと同様に、ＳＮＭＰエージェント２２Ｂによって取得されてＭＩＢバッファ３２に保存されているＭＩＢに対応する情報の中から、オンラインステータスの内容を受け取ることにより、プリンタ動作のオンライン／オフラインを調べる。
【００５７】
新規に正常終了した印刷ジョブが発生していた場合には、ジョブ監視部２４Ａは、その終了した印刷ジョブに関してサーバに通知すべき情報(ジョブ監視情報)を、対応するＪｏｂＭＩＢやＭＩＢから取得する(ステップＳ１１２)。取得したジョブ監視情報は、図５に示すように、ジョブ監視データ３４ＡとしてＴＭＰ３４に一時保存される。そして、ジョブ監視部２４Ａは、不揮発性メモリ４０のＤｅｐｏｔディレクトリ４０Ａに、ファイル名「ｊｏｂＮＮＮＮ．ｔｍｐ」のテンポラリファイルを作成し、このテンポラリファイルにジョブ監視データ３４Ａをｘｍｌ形式で書き込む（ステップＳ１１４）。なお、ファイル名の「ＮＮＮＮ」はジョブＩＤを示している。そして、管理サーバＳＶに通知すべき全てのジョブ監視情報がテンポラリファイル（ファイル名「ｊｏｂＮＮＮ．ｔｍｐ」）に書き込まれるまで（ステップＳ１１６）、ジョブ監視情報の取得およびテンポラリファイルへの書き込みを繰り返す。全てのジョブ監視情報の書き込みが終了した場合には、このテンポラリファイルのファイル名をｘｍｌ形式のファイル名「ｊｏｂＮＮＮＮ．ｘｍｌ」にリネームする（ステップＳ１１８）。なお、図５では、Ｄｅｐｏｔディレクトリ４０Ａには、ジョブＩＤ「１０３１」の〜「１０４５」までの１５の印刷ジョブに対応する１５個のジョブ監視情報ファイル（ファイル名「ｊｏｂ１０３１．ｘｍｌ」〜「ｊｏｂ１０４５．ｘｍｌ」）が保存されている状態を示している。また、図５では、ジョブＩＤ「１０４６」の印刷ジョブについて、管理サーバＳＶへ通知すべき全てのジョブ監視情報が順にテンポラリファイル（ファイル名「ｊｏｂ１０４６．ｔｍｐ」）に書き込まれ、最終的にｘｍｌ形式のジョブ監視情報ファイル（ファイル名「Ｊｏｂ１０４６．ｘｍｌ」）としてＤｅｐｏｔディレクトリ４０Ａに保存される状態を示している。
【００５８】
なお、ジョブ監視情報には、あらかじめ設定されている情報や管理サーバＳＶから監視を要求された情報が含まれるが、少なくとも、課金に利用される情報が含まれていることが好ましい。この課金に利用される情報としては、例えば、印刷に使用した紙の種類および枚数、印刷に使用したインク量等や、ユーザを特定するための識別情報が含まれる。ユーザを特定するための識別情報としては、例えば、印刷ジョブの送信元であるクライアントのマシン名や、そのクライアントを利用しているユーザ名のうち、少なくとも一方の情報が含まれている。なお、ジョブ監視情報には、課金に利用される情報の他、紙ジャム等の種々の障害情報や、時刻情報なども含めることができる。時刻情報としては、例えば、印刷ジョブの開始や終了時刻、障害等の発生時刻とが考えられる。
【００５９】
また、印刷ジョブの実行途中で、用紙切れやインク切れ、ジャムなどの障害が発生して、オンライン状態からオフライン状態に変化する状態が発生した場合には、ジョブ監視部２４Ａは、その停止している状態におけるジョブ監視情報を、対応するＪｏｂＭＩＢやＭＩＢから取得する(ステップＳ１２２)。取得したジョブ監視情報は、上記したように、ジョブ監視データとしてＴＭＰ３４に一時保存される。そして、ジョブ監視部２４Ａは、不揮発性メモリ４０のＤｅｐｏｔディレクトリ４０Ａに、ファイル名「ｊｏｂＮＮＮＮ．ｔｍｐ」のテンポラリファイルを作成し、このテンポラリファイルにジョブ監視データ３４Ａをｘｍｌ形式で書き込む（ステップＳ１２４）。そして、管理サーバＳＶに通知すべき全てのジョブ監視情報がテンポラリファイル（ファイル名「ｊｏｂＮＮＮ．ｔｍｐ」）にの書き込まれるまで（ステップＳ１２６）、ジョブ監視情報の取得およびテンポラリファイルへの書き込みを繰り返す。全てのジョブ監視情報の書き込みが終了した場合、上記ステップＳ１１８では、テンポラリファイルのファイル名をリネームしたが、ここでは、リネームせずにそのままの保存する。
【００６０】
なお、上記のように、オフライン状態となってテンポラリファイルがそのまま保存されたとしても、オンライン状態に復帰して印刷ジョブが再開された場合には、印刷ジョブが終了した際に、ステップＳ１１２からステップＳ１１８の処理が実行されて、ｘｍｌファイルにリネームされることとなる。
【００６１】
一方、オフライン状態となって生成されたテンポラリファイルが保存されたまま、プリンタＰＲＴ１の電源が遮断される可能性があるが、この場合については後述する。
【００６２】
なお、ステップＳ１１８、Ｓ１２６、および、Ｓ１２０のいずれかが終了後ステップＳ１３０では、ジョブ監視部２４Ａは、ステップＳ１００におけるＪｏｂＭＩＢの監視を開始してからこの処理ステップが開始されるまでの経過時間ｔｒ１を、ジョブ監視周期ｔｃ１から差し引いて、ジョブ監視待ち時間ｔｗ１を計算する。そして、ジョブ監視待時間ｔｗ１が「０」より大きいか判断する(ステップＳ１４０)。ジョブ監視待時間ｔｗ１が「０」より大きく、まだ、ＪｏｂＭＩＢを再び監視する予定の時刻になっていない場合には、ｔｗ１秒の間、処理の進行を待つ(ステップＳ１５０)。こうして、ステップＳ１００におけるＪｏｂＭＩＢの監視は、ジョブ監視周期ｔｃ１以下にならない間隔（以下、単に「ジョブ監視周期ｔｃ１間隔」と呼ぶ。）を保って繰り返される。
【００６３】
以上のようにして、ジョブ監視部２４Ａによるジョブ監視処理では、繰り返しＪｏｂＭＩＢ情報を監視することにより、プリンタＰＲＴ１の動作を監視して、ジョブ監視情報を実行される印刷ジョブごとに取得し、ｘｍｌファイル形式のジョブ監視情報ファイルとして不揮発性メモリ４０のＤｅｐｏｔのディレクトリ４０Ａに保存することができる。
【００６４】
なお、経過時間ｔｒ１は、ジョブ監視周期ｔｃ１（＝５（秒））に比べて十分短い場合が、通常である。このため、このジョブ監視処理を実行するＣＰＵ２０は、経過時間ｔｒ１を除いて、他の処理を実行することが可能となる。このＣＰＵ２０の処理の空き時間を利用して、通信制御部２２のデータ受信処理部２２Ａが印刷ジョブを含む通信データを受信することができる。
【００６５】
Ａ３．２．Ｄｅｐｏｔディレクトリ監視処理：
図６は、Ｄｅｐｏｔディレクトリ監視処理の手順を示すフローチャートである。図７は、Ｄｅｐｏｔディレクトリ監視処理によるジョブ監視情報ファイルの移動処理について示す説明図である。プリンタＰＲＴ１の電源が投入されると、Ｄｅｐｏｔ監視部２４Ｂは、Ｕｐｌｏａｄディレクトリ４０Ｂに残っている全てのジョブ監視情報ファイルをＤｅｐｏｔディレクトリ４０Ｂに移動させる(ステップＳ２００)。図７（Ａ）は、電源投入時に、ジョブＩＤ「１０３２」のジョブ監視情報ファイル（ファイル名「ｊｏｂ１０３２．ｘｍｌ」）がＵｐｌｏａｄディレクトリ４０Ｂに残っている場合を示しており、このジョブ監視情報ファイルを図７（Ｂ）に示すように、Ｄｅｐｏｔディレクトリ４０Ａに移動させる。
【００６６】
さらに、Ｄｅｐｏｔ監視部２４Ｂは、Ｄｅｐｏｔディレクトリ４０Ａにテンポラリファイルが残っている場合には、そのテンポラリファイルをｘｍｌファイルにリネームする(ステップＳ２１０)。図７（Ａ）は、電源投入時に、ジョブＩＤ「１０４６」のジョブ監視情報のテンポラリファイル（ファイル名「ｊｏｂ１０４６．ｔｍｐ」）がＤｅｐｏｔディレクトリ４０Ａに残っている場合を示しており、このテンポラリファイルを、図７（Ｂ）に示すように、ｘｍｌファイル（ファイル名「ｊｏｂ１０４６．ｘｍｌ」）にリネームする。
【００６７】
なお、上記テンポラリファイルは、例えば、上記ジョブ監視処理（図４参照）のステップＳ１１４におけるｘｍｌファイルの保存の途中や、ステップＳ１２４におけるテンポラリファイルの生成後に、プリンタＰＲＴ１の電源が遮断された場合に発生する。
【００６８】
次に、Ｄｅｐｏｔ監視部２４Ｂは、管理サーバＳＶに対してネットワークを介した通信の接続を要求する（ステップＳ２２０）。このとき、管理サーバＳＶから通信の接続の応答があり、管理サーバＳＶからの処理要求を受け取るまで(ステップＳ２３０)、このサーバへの接続要求を、後述するようにＤｅｐｏｔ監視周期ｔｃ２以下にならない間隔を保って繰り返す。なお、このＤｅｐｏｔ監視周期ｔｃ２は、ＣＰＵ２０がこのＤｅｐｏｔ監視処理によって占有されて、印刷ジョブを含む通信データの受信やジョブ監視処理が滞ることのないように、ジョブ監視周期ｔｃ１に比べて十分長い周期に設定される。これにより、Ｄｅｐｏｔディレクトリ監視処理は、ジョブ監視処理における待時間ｔｗ１によってジョブ監視処理が一時停止している間に、Ｄｅｐｏｔ監視周期ｔｃ２の間隔で実行される。なお、本例では、Ｄｅｐｏｔ監視周期ｔｃ２を３０秒に設定している。ただし、これに限定されるものではなく、ジョブ監視周期ｔｃ１に応じて適宜設定することが好ましい。
【００６９】
管理サーバＳＶからの処理要求があった場合には、Ｄｅｐｏｔディレクトリ４０Ａにある最もジョブＩＤの小さいジョブに対応するジョブ監視情報ファイル（ｘｍｌファイル）を１つ選択して、Ｄｅｐｏｔディレクトリ４０ＡからＵｐｌｏａｄディレクトリ４０Ｂに移動させる(ステップＳ２４０)。なお、このとき、上記した管理サーバＳＶが要求する監視情報の内容がある場合には、その情報が管理サーバから通知されて、ジョブ監視部２４Ａに伝えられる。ジョブ監視部２４Ａはこれ以降に実行されるジョブ監視において通知された内容を加えてジョブの監視を実行する。
【００７０】
なお、ステップＳ２３０またはＳ２４０が終了後ステップＳ２５０では、ステップＳ２２０における管理サーバＳＶへの接続要求の開始からこの処理ステップが開始されるまでの経過時間ｔｒ２を、Ｄｅｐｏｔ監視周期ｔｃ２から差し引いて、Ｄｅｐｏｔ監視待時間ｔｗ２を計算する。そして、Ｄｅｐｏｔ監視待時間ｔｗ２が「０」より大きいか判断する(ステップＳ２６０)。Ｄｅｐｏｔ監視待時間ｔｗ２が「０」より大きく、まだ、管理サーバＳＶへの接続要求を開始する予定の時刻になっていない場合には、ｔｗ２秒の間、処理の進行を待った後(ステップＳ１５０)、ステップＳ２２０に戻って、再び管理サーバＳＶへの接続要求を行う。こうして、ステップＳ２２０における管理サーバＳＶへの接続要求は、Ｄｅｐｏｔ監視周期ｔｃ２以下にならない間隔（以下、単に「Ｄｅｐｏｔ監視周期ｔｃ２間隔」と呼ぶ。）を保って繰り返される。
【００７１】
以上のようにして、Ｄｅｐｏｔ監視部２４Ｂでは、Ｄｅｐｏｔディレクトリ４０Ａに保存されているジョブ監視情報を含むｘｍｌファイルを、管理サーバへの通信の接続が行われるのを待って、ジョブＩＤの小さい印刷ジョブの順に対応するジョブ監視情報を、１つずつＵｐｌｏａｄディレクトリ４０Ｂに移動させることができる。Ｕｐｌｏａｄディレクトリ４０Ｂに移動したジョブ監視情報ファイルは、以下のようにして、Ｕｐｌｏａｄ監視部２０Ｃによって管理サーバＳＶへ送信される。
【００７２】
Ａ３．３．Ｕｐｌｏａｄディレクトリ監視処理：
図８は、Ｕｐｌｏａｄディレクトリ監視処理の手順を示すフローチャートである。図９は、Ｕｐｌｏａｄディレクトリ監視処理によって生成されるキューについて示す説明図である。プリンタＰＲＴ１の電源が投入されると、Ｕｐｌｏａｄ監視部２４Ｃは、Ｕｐｌｏａｄディレクトリ４０Ｂの監視を開始する(ステップＳ３００)。そして、Ｕｐｌｏａｄディレクトリ４０Ｂに未送信のジョブ監視情報ファイルを検出するまで(ステップＳ３１０)、かつ、管理サーバＳＶに接続がなされるまで(ステップＳ３３０)、このＵｐｌｏａｄディレクトリ４０Ｂの監視を、後述するようにＵｐｌｏａｄ監視周期ｔｗ３以下にならない間隔を保って繰り返す。なお、このＵｐｌｏａｄ監視周期ｔｃ３も、印刷ジョブを含む通信データの受信やジョブ監視処理が滞ることのないように、ジョブ監視周期ｔｃ１に比べて十分長い周期に設定される。これにより、Ｕｐｌｏａｄディレクトリ監視処理は、ジョブ監視処理における待時間ｔｗ１によってジョブ監視処理が一時停止している間に、Ｕｐｌｏａｄ監視周期ｔｃ３の間隔で実行される。なお、本例では、Ｕｐｌｏａｄ監視周期ｔｃ３を３０秒に設定している。ただし、これに限定されるものではなく、ジョブ監視周期ｔｃ１に応じて適宜設定することが好ましい。
【００７３】
Ｕｐｌｏａｄディレクトリ４０Ｂ中のジョブ監視情報ファイル（以下、「未送信のジョブ監視情報ファイル」と呼ぶ。）を検出した場合には、Ｕｐｌｏａｄ監視部２４Ｃは、図９に示すように、そのジョブ監視情報ファイルを管理サーバへ送信するためのコマンド（「Ｕｐｌｏａｄ」コマンド）を記載したＵｐｌｏａｄキュー３４ＢをＴＭＰ３４に保存する。なお、図９は、ジョブＩＤ「１０３２」のジョブ監視情報ファイル(ファイル名「ｊｏｂ１０３２．ｘｍｌ」)の「Ｕｐｌｏａｄ」コマンドがＵｐｌｏａｄキュー３４Ｂに記載されている場合を例に示している。
【００７４】
そして、Ｕｐｌｏａｄ監視部２４Ｃは、Ｕｐｌｏａｄキュー３４Ｂに「Ｕｐｌｏａｄ」コマンドが記載されている場合には、管理サーバＳＶに対してネットワークを介した通信の接続を要求する（ステップＳ３２０）。このとき、管理サーバＳＶからの応答により接続がなされたか否か判断する(ステップＳ３３０)。あらかじめ設定されている時間が経過しても接続の応答が無く、タイムアウトとなった場合には、Ｕｐｌｏａｄキュー３４Ｂを保持したまま、再びＵｐｌｏａｄディレクトリ４０Ｂの監視を繰り返す。
【００７５】
一方、管理サーバＳＶから接続の応答があった場合には、Ｕｐｌｏａｄキュー３４Ｂに記載されている「Ｕｐｌｏａｄ」コマンドに従って、未送信のジョブ情報監視ファイルを管理サーバＳＶに送信する(ステップＳ３４０)。
【００７６】
そして、Ｕｐｌｏａｄ監視部２４Ｃは、管理サーバＳＶにおいてジョブ監視情報ファイルの受信が完了して、その旨の応答を受け取って、送信が完了したジョブ監視情報ファイルルの削除要求があったと判断されるまで待機する（ステップＳ３５０）。
【００７７】
ここで、管理サーバＳＶでは管理制御部６２によって、ジョブ監視情報ファイルの受信後、これに含まれるジョブ監視情報を適宜加工してデータベースＤＢに蓄積する。このとき、受信したジョブ監視情報が正しく受信されたか否か判定して、正しく受信できた場合には、受信完了の応答を管理サーバに応答を返す。Ｕｐｌｏａｄ監視部２４Ｃは、管理サーバＳＶから受信完了の応答を受け取ると、送信が完了したジョブ監視情報ファイルの削除要求があったと判断して(ステップＳ３５０)、そのジョブ監視情報ファイルを削除し（ステップＳ３６０）、ステップＳ３１０に戻って再び未送信ファイルの検出を実行する。
【００７８】
なお、ステップＳ３１０において未送信ファイルが検出されなかった場合、あるいは、ステップＳ３３０で管理サーバＳＶへの接続が確認できなかった場合には、ステップＳ３７０では、ステップＳ３００におけるＵｐｌｏａｄディレクトリの監視の開始からこの処理ステップが開始されるまでの経過時間ｔｒ３を、Ｕｐｌｏａｄ監視周期ｔｃ３から差し引いて、Ｕｐｌｏａｄ監視待時間ｔｗ３を計算する。そして、Ｕｐｌｏａｄ監視待時間ｔｗ３が「０」より大きいか判断する(ステップＳ３８０)。Ｕｐｌｏａｄ監視待時間ｔｗ３が「０」より大きく、まだ、Ｕｐｌｏａｄディレクトリ４０Ｂの監視を行う予定の時刻になっていない場合には、ｔｗ３秒の間、処理の進行を待たせた後(ステップＳ３９０)、ステップＳ３００に戻って、再びＵｐｌｏａｄディレクトリの監視を行う。こうして、ステップＳ３００におけるＵｐｌｏａｄディレクトリ４０Ｂの監視は、Ｕｐｌｏａｄ監視周期ｔｃ３以下にならない間隔（以下、単に「Ｕｐｌｏａｄ監視周期ｔｃ３間隔」と呼ぶ。）を保って繰り返される。
【００７９】
以上のようにして、Ｕｐｌｏａｄ監視部２４Ｃでは、Ｕｐｌｏａｄディレクトリ４０Ｂに保存されているジョブ監視情報ファイルを、管理サーバＳＶへの通信の接続がなされるのを待って、送信することができる。
【００８０】
ここで、Ｕｐｌｏａｄディレクトリ４０Ｂ中のジョブ監視情報ファイルは、上記したＤｅｐｏｔディレクトリ監視で説明したように、原則としてジョブＩＤの小さい印刷ジョブの順に１つずつ選択されて、Ｕｐｌｏａｄディレクトリ４０Ｂに移動させることにより保存される。従って、管理サーバＳＶへのジョブ監視情報ファイルの送信は原則として１つずつに制限される。ただし、管理サーバへの通信の接続のタイミングによっては、複数のジョブ監視情報ファイルがＵｐｌｏａｄディレクトリ４０Ｂに保存される状態が発生する場合もある。この場合には、Ｕｐｌｏａｄキューには、複数の「Ｕｐｌｏａｄ」コマンドが保存されることになる。Ｕｐｌｏａｄキューに複数の「Ｕｐｌｏａｄ」コマンドが記載されている場合には、それらに対応する全てのジョブ監視情報ファイルを管理サーバＳＶに送信する。
【００８１】
Ａ４．実施例の効果：
以上説明したように、プリンタＰＲＴ１は、プリンタに関する監視情報、特に、プリンタの使用に対する課金に利用する情報を、印刷ジョブごとに監視し、監視結果であるジョブ監視情報を印刷ジョブごとに管理サーバに通知することが可能である。
【００８２】
また、印刷ジョブごとにジョブ監視情報が通知された管理サーバＳＶは、ジョブ監視情報に含まれているユーザを特定するための情報に基づいて、種々の課金管理を行うことができる。例えば、課金先の異なる複数のグループが１台のプリンタを共同で利用している場合であっても、ジョブ監視情報に含まれているユーザからどのグループに所属するユーザか特定可能であるので、そのグループに対して課金を行うことができる。
【００８３】
また、ジョブ監視制御部２４による監視処理では、ジョブ監視部２４Ａにおけるジョブ監視処理をジョブ監視周期ｔｃ１間隔で実行し、Ｄｅｐｏｔ監視部２４ＢにおけるＤｅｐｏｔディレクトリ監視処理をＤｅｐｏｔ監視周期ｔｃ２間隔（ｔｃ２はｔｃ１より十分長い周期）で実行し、Ｕｐｌｏａｄ監視部２４ＣにおけるＵｐｌｏａｄディレクトリ監視処理をＵｐｌｏａｄ監視周期ｔｃ３間隔（ｔｃ３はｔｃ１より十分長い周期）で実行している。これにより、Ｄｅｐｏｔディレクトリ監視処理およびＵｐｌｏａｄ監視処理によって実行されるジョブ監視情報の管理サーバＳＶへの通知処理に優先して、ジョブ監視処理を実行することができる。
【００８４】
また、上記したように、ジョブ監視処理によってＣＰＵ２０が占有される時間は、ジョブ監視周期ｔｃ１のうち十分に短い経過時間ｔｒ１の間のみであり、残りのジョブ監視待時間ｔｗ１の間において、ＣＰＵ２０は他の処理を実行することができる。他の処理のうち、Ｄｅｐｏｔディレクトリ監視処理のＤｅｐｏｔディレクトリ監視周期ｔｃ２およびＵｐｌｏａｄディレクトリ監視処理のＵｐｌｏａｄ監視周期ｔｃ３は、ジョブ監視周期ｔｃ１に比べて十分大きな時間に設定されている。従って、これらの処理を実行するＣＰＵ２０は、ジョブ監視待時間ｔｗ１の間、ほとんど通信制御部２２のデータ受信処理部２２Ａによる通信データの受信処理を実行することができる。これにより、管理サーバへのジョブ監視情報の通知によって印刷ジョブを含む通信データを受信することができないというような通常の印刷ジョブの処理を妨げることが無いようにすることができる。
【００８５】
また、プリンタＰＲＴ１では、電源が投入されると、管理サーバＳＶに対して通信の接続がなされているか否かに関係なく、ＪｏｂＭＩＢの監視を繰り返し実行し、少なくとも課金に利用される情報を監視して、ジョブ監視情報を印刷ジョブごとに取得してジョブ監視情報ファイルとして保存することができる。通常、印刷ジョブに依存しない監視情報、例えば、障害情報などは、管理サーバから監視の要求があってから監視を開始する構成とすることが多い。仮に、このような構成の場合であっても、本実施例の場合、少なくとも課金に利用される情報については、電源投入後自律的に監視することができるので、プリンタＰＲＴ１の使用に対する課金に利用される情報を確実に管理サーバＳＶに通知することが可能である。
【００８６】
また、ジョブ監視情報の通知は、ジョブ監視情報を通知するための「Ｕｐｌｏａｄ」コマンドを、キューの形式で保持し、プリンタＰＲＴ１の管理サーバＳＶに対する通信の接続がなされた場合には、キューに記載されているコマンドの順に、対応するジョブ監視情報ファイルを送信する形式で実行される。そして、管理サーバへの接続がなされない場合には、与えられる印刷ジョブの処理が進められ、これに応じて監視が実行される。すなわち、プリンタＰＲＴ１は、印刷ジョブを実行しながら、既に実行された後のジョブ監視情報をｘｍｌファイルの形式で、少しずつ順に送信する。従って、ジョブ監視情報の通知の処理によって、印刷ジョブの処理やジョブの監視の処理が妨げられることが無いようにすることが可能である。
【００８７】
また、ジョブ監視情報をジョブ監視情報ファイルとして不揮発性メモリに保存する構成としているため、管理サーバに送信されない状態で、プリンタＰＲＴ１の電源が遮断されたとしても、未送信のジョブ監視情ファイルは不揮発性メモリに保持されるので、プリンタＰＲＴ１で実行された印刷ジョブごとの課金に利用される情報が管理サーバＳＶに送信されずに欠落してしまうことを防止できる。
【００８８】
また、Ｕｐｌｏａｄディレクトリ監視処理によって、プリンタＰＲＴ１から管理サーバＳＶへジョブ監視情報ファイルの送信を行った場合に、管理サーバＳＶから送信が完了したことを示す応答が返された場合に、その送信したジョブ監視情報ファイルを削除する構成としているので、その途中で障害が起こったとしても、そのジョブ監視情報ファイルを再度送信することができるので、信頼性が高い。
【００８９】
また、管理サーバＳＶへ送信するジョブ監視情報ファイルを１つずつ選択し、管理サーバＳＶへ送信する構成としているので、一度に送信するフィル数を制限することができ、ファイルを送信するために発生するＣＰＵ２０への負荷集中を抑制することができる。また、これに応じて、管理サーバＳＶが一度に受信するファイル数も制限されるので、管理サーバＳＶにおけるＣＰＵへの負荷集中も抑制することができる。
【００９０】
Ｂ．変形例：
なお、本発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００９１】
Ｂ１．変形例１：
実施例のデバイス管理システム１０００では、説明の便宜上、１台のクライアントＣＬ１と１台のプリンタＰＲＴ１とがローカルエリアネットワークＬＡＮ１に接続されている場合を示しているが、これに限定されるものではなく、複数のクライアントおよび複数のプリンタが接続されているようにしてもよい。
【００９２】
Ｂ２．変形例２：
実施例のプリンタＰＲＴ１のジョブ監視制御部２４は、プリンタＰＲＴ１の動作をジョブごとに監視する場合を説明しているが、他のプリンタのＩＰアドレスおよびＳＮＭＰエージェントのポート番号を指定することにより、他のプリンタの動作をジョブごとに監視することも可能である。
【００９３】
Ｂ３．変形例３：
実施例では、プリンタ本体ＰＲＢに備えられるＭＩＢからプリンタに関する情報を取得する場合を例に説明しているが、これに限定されるものではなく、ＭＩＢを備えていない場合であっても、プリンタに関する情報を記憶している種々の記憶領域から必要な情報を取得するようにしてもよい。
【００９４】
Ｂ４．変形例４：
実施例では、ジョブ監視処理において、ジョブ監視情報をｘｍｌファイル形式のファイルとして保存し、管理サーバＳＶにジョブ監視情報ファイルを送信する場合を例に説明しているが、種々のデータ形式で管理サーバへ送信するようにしてもよい。
【００９５】
Ｂ５．変形例５：
実施例では、Ｄｅｐｏｔディレクトリ監視処理において、ジョブ監視情報ファイルのＤｅｐｏｔディレクトリ４０ＡからＵｐｌｏａｄディレクトリ４０Ｂへの移動を、ジョブＩＤの小さいジョブのジョブ監視情報ファイルから順に１つずつ選択して行うようにしているが、これに限定されるものではなく種々の方法が行うことができる。例えば、複数個ずつ行うようにしてもよい。また、Ｕｐｌｏａｄディレクトリ４０Ｂにあるジョブ監視情報ファイルの数に応じて、Ｄｅｐｏｔディレクトリ４０Ａから移動させる数を調整するようにしてもよい。
【００９６】
Ｂ６．変形例６：
実施例では、Ｄｅｐｏｔディレクトリ監視処理において、プリンタＰＲＴ１の電源投入時に、Ｕｐｌｏａｄディレクトリ４０Ｂに残っていたファイルを移動させるようにしているが、管理サーバＳＶからの指示に応じて、移動させるようにしてもよい。
【００９７】
Ｂ７．変形例７：
上記実施例では、ジョブ監視情報ファイルをＤｅｐｏｔディレクトリ４０ＡからＵｐｌｏａｄディレクトリ４０Ｂに移動させることにより、管理サーバＳＶへ送信すべきジョブ監視情報ファイルを選択するようにしているが、これに限定されるものではない。例えば、監視情報記憶領域としての不揮発性メモリ４０に保存されているジョブ監視情報ファイルの中から、管理サーバＳＶに送信したいジョブ監視情報ファイルを選択して、図１０に示すようなジョブ監視情報ファイルの選択リスト（選択情報）を作成し、不揮発性メモリに保存する。そして、作成した選択リストに記載されているジョブ監視情報ファイルを管理サーバＳＶに送信するようにしてもよい。要するに、保存されたジョブ監視情報ファイルの全てを管理サーバＳＶへの送信対象として一度に送信するのではなく、一度に送信する数を制限して少しずつ送信することができる構成ならば、どのような構成でもよい。
【００９８】
Ｂ８．変形例８：
上記実施例および変形例では、監視情報記憶領域に不揮発性メモリを適用した場合を例に説明しているが、これに限定されるものではなく揮発性メモリを適用することも可能である。ただし、不揮発性メモリを適用したほうが、電源が遮断された場合にも情報を保持することができるので都合がよい。
【００９９】
Ｂ９．変形例９：
実施例では、プリンタを例に説明しているが、これに限定されるものではなく、例えば、ファクシミリ、スキャナ、複写機等の、ネットワークを介して接続された種々のデバイスにおいても適用可能である。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施例としてのデバイス管理システムの概要構成を示す説明図である。
【図２】印刷ジョブデータの構成を概念的に示す説明図である。
【図３】図１におけるプリンタＰＲＴ１および管理サーバＳＶの構成を示す説明図である。
【図４】ジョブ監視処理の手順を示すフローチャートである。
【図５】ジョブ監視処理によるジョブ監視情報ファイルの生成について示す説明図である。
【図６】Ｄｅｐｏｔディレクトリ監視処理の手順を示すフローチャートである。
【図７】Ｄｅｐｏｔディレクトリ監視処理によるジョブ監視情報ファイルの移動処理について示す説明図である。
【図８】Ｕｐｌｏａｄディレクトリ監視処理の手順を示すフローチャートである。
【図９】Ｕｐｌｏａｄディレクトリ監視処理によって生成されるキューについて示す説明図である。
【図１０】管理サーバＳＶに送信したいジョブ監視情報ファイルの選択リストを示す説明図である。
【符号の説明】
【０１０１】
１０００...デバイス管理システム
ＣＬ１...クライアントＰＣ（クライアント）
ＰＲＴ１...プリンタ
ＳＶ...管理サーバ
ＩＮＴ...インターネット
ＬＡＮ１...ローカルエリアネットワーク
ＬＡＮ２...ローカルエリアネットワーク
ＦＷ...ファイアウォール
ＰＲＢ...プリンタ本体
５１...プリンタエンジン
５２...プリンタコントローラ
ＣＮＢ...カスタムネットワークボード
２０...ＣＰＵ
２２...通信制御部
２２Ａ...データ受信処理部
２２Ｂ...ＳＮＭＰエージェント
２４...ジョブ監視制御部
２４Ａ...ジョブ監視部
２４Ｂ...Ｄｅｐｏｔ監視部
２４Ｃ...Ｕｐｌｏａｄ監視部
３０...揮発性メモリ
４０...不揮発性メモリ
４０Ａ...Ｄｅｐｏｔディレクトリ
４０Ｂ...Ｕｐｌｏａｄディレクトリ
６０...ＣＰＵ
６２...管理制御部
６４...課金管理部
７０...メモリ
８０...ネットワークＩ／Ｆ
ＤＢ...データベース
【図１】
2005321950.tif 000003
【図２】
2005321950.tif 000004
【図３】
2005321950.tif 000005
【図４】
2005321950.tif 000006
【図５】
2005321950.tif 000007
【図６】
2005321950.tif 000008
【図７】
2005321950.tif 000009
【図８】
2005321950.tif 000010
【図９】
2005321950.tif 000011
【図１０】
2005321950.tif 000012