(57)【要約】【課題】  デバイスからサーバに所定の監視情報を送信するデバイス管理システムにおいて、デバイスからサーバへのアクセス頻度を低減する。【解決手段】  ネットワークに接続された各プリンタは、アップロード時刻になったときに、管理サーバに未送信の監視情報ファイルを保持しているか否かを判断し、管理サーバに未送信の監視情報ファイルを保持している場合に、他のプリンタから、他のプリンタが保持する管理サーバに未送信の監視情報ファイルを収集し、自らが保持する未送信の監視情報ファイルとともに、管理サーバにアップロードする。【選択図】  図４
2006195692.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークに接続されるデバイスに内蔵され、該デバイスに関する所定の監視情報を、前記ネットワークに接続された所定のサーバに送信するデバイス監視制御装置であって、
前記監視情報を記憶する監視情報記憶部と、
予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき前記監視情報が記憶されているか否かを判断する判断部と、
該判断部によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記ネットワークに接続された他のデバイスに対して、該他のデバイスが保持する前記送信すべき監視情報の送信要求をそれぞれ送信し、該送信要求の応答として、前記他のデバイスから、それぞれ前記送信すべき監視情報を収集する監視情報収集部と、
該収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信する送信部と、
を備えるデバイス監視制御装置。
【請求項２】
請求項１記載のデバイス監視制御装置であって、
前記監視情報収集部は、前記判断部によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていないと判断されたときに、前記収集を禁止する、
デバイス監視制御装置。
【請求項３】
請求項１記載のデバイス監視制御装置であって、さらに、
当該デバイス監視制御装置が内蔵されたデバイスにおいて、所定のイベントが発生したか否かを判断するイベント発生判断部を備え、
前記監視情報収集部は、さらに、前記イベント発生判断部によって、当該デバイス監視制御装置が内蔵されたデバイスにおいて、前記所定のイベントが発生したと判断されたときに、前記収集を行う、
デバイス監視制御装置。
【請求項４】
請求項１記載のデバイス監視制御装置であって、さらに、
当該デバイス監視制御装置が内蔵されたデバイスを識別するための識別情報を記憶する識別情報記憶部を備え、
前記監視情報収集部は、さらに、前記他のデバイスから、該他のデバイスを識別するための識別情報を収集し、
前記送信部は、前記収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記収集された識別情報、および、前記識別情報記憶部に記憶された識別情報とそれぞれ対応付けて、前記送信を行う、
デバイス監視制御装置。
【請求項５】
請求項１記載のデバイス監視制御装置であって、さらに、
前記収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、一体的に記録した監視情報ファイルを作成する監視情報ファイル作成部を備え、
前記送信部は、前記監視情報ファイルを、前記サーバに送信する、
デバイス監視制御装置。
【請求項６】
請求項１記載のデバイス監視制御装置であって、さらに、
前記サーバから、前記監視情報の受信が完了したことを示す受信完了応答を受け付ける受信完了応答受付部と、
該受信完了応答に応じて、前記監視情報記憶部に記憶されている、前記サーバに送信済みの前記監視情報を削除する監視情報削除部と、
を備えるデバイス監視制御装置。
【請求項７】
請求項６記載のデバイス監視制御装置であって、
前記送信部は、さらに、前記受信完了応答に応じて、前記監視情報を収集した前記他のデバイスに、前記収集済みの監視情報の削除要求を送信する、
デバイス監視制御装置。
【請求項８】
請求項１記載のデバイス監視制御装置であって、さらに、
前記他のデバイスから、前記送信要求を受け付ける送信要求受付部を備え、
前記送信部は、さらに、前記送信要求に応じて、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記送信要求を送信した前記他のデバイスに送信する、
デバイス監視制御装置。
【請求項９】
請求項８記載のデバイス監視制御装置であって、さらに、
前記他のデバイスから、前記監視情報の受信が完了したことを示す受信完了応答を受け付ける受信完了応答受付部と、
該受信完了応答に応じて、前記監視情報記憶部に記憶されている、前記他のデバイスに送信済みの監視情報を削除する監視情報削除部と、
を備えるデバイス監視制御装置。
【請求項１０】
請求項８記載のデバイス監視制御装置であって、さらに、
前記他のデバイスから、該他のデバイスに送信済みの前記監視情報の削除要求を受け付ける削除要求受付部と、
該削除要求に応じて、前記監視情報記憶部に記憶されている、前記他のデバイスに送信済みの監視情報を削除する監視情報削除部と、
を備えるデバイス監視制御装置。
【請求項１１】
ネットワークに接続されるデバイスであって、
請求項１ないし１０のいずれかに記載のデバイス監視制御装置を備える、
デバイス。
【請求項１２】
第１のデバイスと、第２のデバイスと、所定のサーバとを、所定のネットワークを介して、互いに接続することによって構成されたデバイス管理システムであって、
前記第１のデバイスは、該第１のデバイスに関する所定の監視情報を記憶する監視情報記憶部を備えており、
前記第１のデバイスは、予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき監視情報が記憶されているか否かを判断し、該判断によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記第２のデバイスに対して、該第２のデバイスが保持する前記送信すべき監視情報の送信要求を送信し、
前記第２のデバイスは、前記送信要求に応じて、該第２のデバイスが保持する前記送信すべき監視情報を、前記第１のデバイスに送信し、
前記第１のデバイスは、前記第２のデバイスから受信した監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信する、
デバイス管理システム。
【請求項１３】
所定のネットワークに接続されるデバイスに内蔵され、該デバイスに関する所定の監視情報を、前記ネットワークに接続された所定のサーバに送信するデバイス監視制御装置の制御方法であって、
（ａ）前記監視情報を、該監視情報を記憶するための監視情報記憶部に記憶する工程と、
（ｂ）予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき前記監視情報が記憶されているか否かを判断する工程と、
（ｃ）該判断によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記ネットワークに接続された他のデバイスに対して、該他のデバイスが保持する前記送信すべき監視情報の送信要求をそれぞれ送信し、該送信要求の応答として、前記他のデバイスから、それぞれ前記送信すべき監視情報を収集する工程と、
（ｄ）該収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信する工程と、
を備える制御方法。
【請求項１４】
第１のデバイスと、第２のデバイスと、所定のサーバとを、所定のネットワークを介して、互いに接続することによって構成されたデバイス管理システムの制御方法であって、
前記第１のデバイスは、該第１のデバイスに関する所定の監視情報を記憶するための監視情報記憶部を備えており、
（ａ）前記第１のデバイスにおいて、予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき監視情報が記憶されているか否かを判断する工程と、
（ｂ）該判断によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記第１のデバイスから、前記第２のデバイスに対して、該第２のデバイスが保持する前記送信すべき監視情報の送信要求を送信する工程と、
（ｃ）前記第２のデバイスにおいて、前記送信要求に応じて、該第２のデバイスが保持する前記送信すべき監視情報を、前記第１のデバイスに送信する工程と、
（ｄ）前記第１のデバイスにおいて、前記第２のデバイスから受信した監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信する工程と、
を備える制御方法。
【請求項１５】
所定のネットワークに接続されるデバイスに内蔵され、該デバイスに関する所定の監視情報を、前記ネットワークに接続された所定のサーバに送信するデバイス監視制御装置を制御するためのコンピュータプログラムであって、
前記監視情報を、該監視情報を記憶するための監視情報記憶部に記憶する機能と、
予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき前記監視情報が記憶されているか否かを判断する機能と、
該判断によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記ネットワークに接続された他のデバイスに対して、該他のデバイスが保持する前記送信すべき監視情報の送信要求をそれぞれ送信し、該送信要求の応答として、前記他のデバイスから、それぞれ前記送信すべき監視情報を収集する機能と、
該収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１６】
請求項１５記載のコンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたデバイスの監視制御技術に関するものである。
【背景技術】
【０００２】
近年、インターネットや、ローカルエリアネットワークなどのネットワーク技術の普及に伴い、ネットワークに接続されたプリンタなどの複数のデバイスを、ネットワークを介して接続された管理サーバによって管理するデバイス管理システムが提案されている（例えば、下記特許文献参照）。このデバイス管理システムでは、ネットワークに接続された各デバイスは、例えば、各デバイスに内蔵されたネットワークボードによって、デバイスの動作状態など、デバイスに関する所定の監視情報を取得し、それぞれ個別に管理サーバに送信する。監視情報としては、例えば、デバイスをプリンタとした場合、印刷枚数、インクやトナーなどの使用量や、残量、エラー情報等が挙げられる。
【０００３】
【特許文献１】特開２００４−１８５３５１号公報
【特許文献２】特開２００２−１８９６３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したデバイス管理システムにおいて、管理サーバと、デバイスとの間に、ファイアウォールが設置されている場合には、管理サーバが主体となって、管理サーバから各デバイスに監視情報の送信を要求し、各デバイスから監視情報の収集を行うことができない場合があった。また、各デバイスが主体となって、管理サーバからの要求によらずに、管理サーバに監視情報を送信する場合、管理サーバの管理対象となるデバイスの数が膨大になると、多数のデバイスが、管理サーバに一斉にアクセスして、それぞれ監視情報を一斉に送信し、管理サーバにおける監視情報の処理が滞ったり、不能になったりするおそれがあった。このような課題は、プリンタに限らず、ネットワークに接続された種々のデバイスを、管理サーバによって管理するデバイス管理システムにおいて、共通の課題である。
【０００５】
本発明は、上述の課題を解決するためになされたものであり、デバイスからサーバに所定の監視情報を送信するデバイス管理システムにおいて、デバイスからサーバへのアクセス頻度を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題の少なくとも一部を解決するため、本発明では、以下の構成を採用した。
本発明のデバイス監視制御装置は、
所定のネットワークに接続されるデバイスに内蔵され、該デバイスに関する所定の監視情報を、前記ネットワークに接続された所定のサーバに送信するデバイス監視制御装置であって、
前記監視情報を記憶する監視情報記憶部と、
予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき前記監視情報が記憶されているか否かを判断する判断部と、
該判断部によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記ネットワークに接続された他のデバイスに対して、該他のデバイスが保持する前記送信すべき監視情報の送信要求をそれぞれ送信し、該送信要求の応答として、前記他のデバイスから、それぞれ前記送信すべき監視情報を収集する監視情報収集部と、
該収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信する送信部と、
を備えることを要旨とする。
【０００７】
本発明のデバイス監視制御装置は、ネットワークに接続されるデバイスに、例えば、ネットワークカードや、ネットワークボードとして内蔵される。デバイスには、例えば、プリンタや、スキャナや、プロジェクタや、オーディオ装置や、家電機器や、クライアントコンピュータや、ＰＤＡ（Personal Digital Assistance）など、ネットワークに接続されて利用される種々の装置が含まれる。また、「予め設定されたタイミング」とは、監視情報をサーバに送信すべく設定されたタイミングである。以下、このタイミングを、アップロード時刻とも呼ぶ。「サーバに送信すべき監視情報」としては、例えば、サーバに未送信の監視情報が挙げられる。
【０００８】
本発明では、アップロード時刻になったときに、監視情報記憶部に、サーバに送信すべき監視情報が記憶されている場合に、他のデバイスから、そのデバイスが保持する送信すべき監視情報を収集し、これらを、自らが保持する送信すべき監視情報とともに、サーバに送信する。換言すれば、アップロード時刻になっても、監視情報記憶部に、サーバに送信すべき監視情報が記憶されていない場合には、他のデバイスからの監視情報の収集は行わず、サーバへの監視情報の送信も行わない。したがって、本発明によって、アップロード時刻になっても、他のデバイスからの監視情報の収集、および、サーバへの監視情報の送信を行わない場合を生じさせることができるので、デバイス監視制御装置、すなわち、デバイスからサーバへのアクセス頻度を低減することができる。
【０００９】
上記デバイス監視制御装置において、
前記監視情報収集部は、前記判断部によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていないと判断されたときに、前記収集を禁止するようにしてもよい。
【００１０】
本発明では、アップロード時刻になっても、監視情報記憶部に、サーバに送信すべき監視情報が記憶されていないときには、他のデバイスからの監視情報の収集は行わず、サーバへの監視情報の送信も行わない。したがって、デバイス監視制御装置からサーバへのアクセス頻度を低減することができる。
【００１１】
また、本発明のデバイス監視制御装置において、さらに、
当該デバイス監視制御装置が内蔵されたデバイスにおいて、所定のイベントが発生したか否かを判断するイベント発生判断部を備え、
前記監視情報収集部は、さらに、前記イベント発生判断部によって、当該デバイス監視制御装置が内蔵されたデバイスにおいて、前記所定のイベントが発生したと判断されたときに、前記収集を行うようにすることが好ましい。
【００１２】
所定のイベントとしては、例えば、サーバへの通知に緊急性を有する重大なイベントが挙げられる。この重大なイベントとしては、例えば、デバイスをプリンタとした場合、プリントエンジンの故障や、プリントコントローラにおいて色調整が行えないことなどが挙げられる。本発明によって、デバイス監視制御装置からサーバへのアクセス頻度を低減するとともに、デバイスにおいて、例えば、サーバへの通知に緊急性を有するイベントが発生したときには、これを速やかにサーバに通知することができる。
【００１３】
また、本発明のデバイス監視制御装置において、さらに、
当該デバイス監視制御装置が内蔵されたデバイスを識別するための識別情報を記憶する識別情報記憶部を備え、
前記監視情報収集部は、さらに、前記他のデバイスから、該他のデバイスを識別するための識別情報を収集し、
前記送信部は、前記収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記収集された識別情報、および、前記識別情報記憶部に記憶された識別情報とそれぞれ対応付けて、前記送信を行うようにすることが好ましい。
【００１４】
識別情報としては、例えば、デバイスに付与された名前や、ＭＡＣアドレスや、ＩＰアドレスや、製造番号などを用いることができる。本発明によって、サーバ側で、各監視情報を出力したデバイスを容易に特定することができる。
【００１５】
また、本発明のデバイス監視制御装置において、さらに、
前記収集された監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、一体的に記録した監視情報ファイルを作成する監視情報ファイル作成部を備え、
前記送信部は、前記監視情報ファイルを、前記サーバに送信するようにすることが好ましい。
【００１６】
こうすることによって、複数のデバイスの監視情報を、サーバに一度に送信することができるので、ネットワークトラフィックの増大を抑制することができる。
【００１７】
また、本発明のデバイス監視制御装置において、さらに、
前記サーバから、前記監視情報の受信が完了したことを示す受信完了応答を受け付ける受信完了応答受付部と、
該受信完了応答に応じて、前記監視情報記憶部に記憶されている、前記サーバに送信済みの前記監視情報を削除する監視情報削除部と、
を備えるようにしてもよい。
【００１８】
こうすることによって、監視情報記憶部に記憶されている監視情報は、全てサーバに送信すべき監視情報となるので、判断部は、監視情報記憶部に、サーバに送信すべき監視情報が記憶されているか否かを容易に判断することができる。
【００１９】
上記デバイス監視制御装置において、
前記送信部は、さらに、前記受信完了応答に応じて、前記監視情報を収集した前記他のデバイスに、前記収集済みの監視情報の削除要求を送信するようにしてもよい。
【００２０】
こうすることによって、他のデバイスは、当該デバイス監視制御装置から受信した削除要求に従って、収集済みの監視情報を削除することができる。そして、他のデバイスが保持する監視情報は、全てサーバに送信すべき監視情報となるので、他のデバイスは、サーバに送信すべき監視情報を保持しているか否かを容易に判断することができる。
【００２１】
本発明のデバイス監視制御装置において、さらに、
前記他のデバイスから、前記送信要求を受け付ける送信要求受付部を備え、
前記送信部は、さらに、前記送信要求に応じて、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記送信要求を送信した前記他のデバイスに送信するようにしてもよい。
【００２２】
こうすることによって、デバイス監視制御装置は、他のデバイスから受け付けた送信要求に従って、送信すべき監視情報を、他のデバイスに送信することができる。
【００２３】
上記デバイス監視制御装置において、さらに、
前記他のデバイスから、前記監視情報の受信が完了したことを示す受信完了応答を受け付ける受信完了応答受付部と、
該受信完了応答に応じて、前記監視情報記憶部に記憶されている、前記他のデバイスに送信済みの監視情報を削除する監視情報削除部と、
を備えるようにしてもよい。
【００２４】
こうすることによって、デバイス監視制御装置は、他のデバイスから受け付けた受信完了応答によって、他のデバイスに送信済みの監視情報を削除することができる。
【００２５】
また、上記送信要求受付部を備えるデバイス監視制御装置において、さらに、
前記他のデバイスから、該他のデバイスに送信済みの前記監視情報の削除要求を受け付ける削除要求受付部と、
該削除要求に応じて、前記監視情報記憶部に記憶されている、前記他のデバイスに送信済みの監視情報を削除する監視情報削除部と、
を備えるようにしてもよい。
【００２６】
こうすることによって、デバイス監視制御装置は、他のデバイスから受け付けた削除要求に従って、他のデバイスに送信済みの監視情報を削除することができる。
【００２７】
本発明は、デバイスの発明として構成することもできる。すなわち、
本発明のデバイスは、
ネットワークに接続されるデバイスであって、
上述したいずれかのデバイス監視制御装置を備えることを要旨とする。
【００２８】
こうすることによって、先に説明したデバイス監視制御装置と同様に、デバイスからサーバへのアクセス頻度を低減することができる。
【００２９】
本発明は、デバイス管理システムの発明として構成することもできる。すなわち、
本発明のデバイス管理システムは、
第１のデバイスと、第２のデバイスと、所定のサーバとを、所定のネットワークを介して、互いに接続することによって構成されたデバイス管理システムであって、
前記第１のデバイスは、該第１のデバイスに関する所定の監視情報を記憶する監視情報記憶部を備えており、
前記第１のデバイスは、予め設定されたタイミングで、前記監視情報記憶部に、前記サーバに送信すべき監視情報が記憶されているか否かを判断し、該判断によって、前記監視情報記憶部に、前記送信すべき監視情報が記憶されていると判断されたときに、前記第２のデバイスに対して、該第２のデバイスが保持する前記監視情報の送信要求を送信し、
前記第２のデバイスは、前記送信要求に応じて、該第２のデバイスが保持する前記送信すべき監視情報を、前記第１のデバイスに送信し、
前記第１のデバイスは、前記第２のデバイスから受信した監視情報、および、前記監視情報記憶部に記憶された前記送信すべき監視情報を、前記サーバに送信することを要旨とする。
【００３０】
本発明において、第１のデバイス、および、第２のデバイスには、先に説明した本発明のデバイス監視制御装置が内蔵されている。この場合、あるデバイス（第１のデバイス）において、アップロード時刻になり、監視情報記憶部に、サーバに送信すべき監視情報が記憶されている場合には、他のデバイス（第２のデバイス）から監視情報を収集するので、この他のデバイスにおいて、アップロード時刻になっても、他のデバイスの監視情報記憶部には、サーバに送信すべき監視情報が記憶されている確率が低くなる。他のデバイスは、あるデバイスが既に収集したために、監視情報記憶部に、サーバに送信すべき監視情報が記憶されていない場合には、アップロード時刻になっても、監視情報の収集も、監視情報の送信も行わない。したがって、複数のデバイスからサーバへのアクセス頻度を低減することができる。また、本発明では、監視情報を収集して、サーバに送信するデバイスを固定せずに、いずれのデバイスも監視情報を収集して、サーバに送信する第１のデバイスとなりうるので、稼働中のデバイスが保持する監視情報を確実にサーバに送信することができる。
【００３１】
本発明は、上述した種々の特徴を必ずしも全て備えている必要はなく、その一部を省略したり、適宜、組み合わせたりして構成することができる。本発明は、上述のデバイス監視制御装置や、デバイスや、デバイス管理システムとしての構成の他、デバイス監視制御装置の制御方法や、デバイスの制御方法や、デバイス管理システムの制御方法として構成することもできる。また、これらを実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【００３２】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、デバイス監視装置や、デバイスの動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．デバイス管理システムの構成：
Ｂ．第１実施例：
Ｂ１．プリンタの構成：
Ｂ２．プリンタの動作処理：
Ｂ３．ＦＴＰコマンド処理：
Ｂ４．アップロード処理：
Ｃ．第２実施例：
Ｄ．第３実施例：
Ｅ．第４実施例：
Ｆ．変形例：
【００３４】
Ａ．デバイス管理システムの構成：
図１は、本発明の一実施例としてのデバイス管理システム１０００の概略構成を示す説明図である。このデバイス管理システム１０００は、企業内のローカルエリアネットワークＬＡＮと、管理センタの管理サーバＳＶとを、インターネットＩＮＴを介して接続することによって構成されている。ローカルエリアネットワークＬＡＮと、インターネットＩＮＴとの間には、ファイアウォールＦＷが設置されており、インターネットＩＮＴ側からローカルエリアネットワークＬＡＮへのアクセスは禁止されている。図示した例では、管理サーバＳＶに接続されるローカルエリアネットワークＬＡＮの数は１つとしたが、これに限られず、任意に設定可能である。
【００３５】
企業内のローカルエリアネットワークＬＡＮには、パーソナルコンピュータＰＣや、複数のプリンタＰＲＴ＃１〜ＰＲＴ＃ｎが接続されている（以下、プリンタＰＲＴ＃１〜ＰＲＴ＃ｎを総称して、プリンタＰＲＴとも呼ぶ）。図示した例では、パーソナルコンピュータＰＣの数は１台としたが、これに限られず、任意に設定可能である。
【００３６】
パーソナルコンピュータＰＣには、文書作成プログラム等のアプリケーションプログラムや、プリンタＰＲＴの動作を制御するためのプリンタドライバなどがインストールされており、パーソナルコンピュータＰＣから出力された印刷ジョブは、パーソナルコンピュータＰＣで設定されたいずれかのプリンタＰＲＴに受け渡され、印刷される。
【００３７】
各プリンタＰＲＴ＃１〜ＰＲＴ＃ｎには、それぞれカスタムネットワークボードＣＮＢ＃１〜ＣＮＢ＃ｎが内蔵されている（以下、カスタムネットワークボードＣＮＢ＃１〜ＣＮＢ＃ｎを総称して、カスタムネットワークボードＣＮＢとも呼ぶ）。このカスタムネットワークボードＣＮＢは、ローカルエリアネットワークＬＡＮや、インターネットＩＮＴを介して、印刷ジョブや、後述する監視情報などの各種データをやり取りするためのネットワークインタフェースである。また、カスタムネットワークボードＣＮＢは、後述するように、プリンタＰＲＴの動作を、印刷ジョブごとに監視し、その監視結果である監視情報を、管理サーバＳＶに通知する機能を有している。監視情報には、例えば、印刷枚数や、トナーの使用量や、エラー情報などの種々のログデータが含まれる。カスタムネットワークボードＣＮＢは、本発明におけるデバイス監視制御装置に相当する。
【００３８】
管理センタの管理サーバＳＶは、プリンタＰＲＴに内蔵されたカスタムネットワークボードＣＮＢから通知された監視情報を、図示しないデータベースに格納する。また、管理サーバＳＶには、ディスプレイＤＰや、マウスＭＳや、キーボードＫＢが接続されており、管理担当者がデータベースに格納された監視情報を閲覧したり、プリンタＰＲＴを管理するための各種設定を行ったりすることができる。
【００３９】
本実施例のデバイス管理システム１０００の動作概要は、以下の通りである。各カスタムネットワークボードＣＮＢには、プリンタＰＲＴの監視情報を管理サーバＳＶに送信（アップロード）すべきアップロード時刻が設定されている。本実施例では、各カスタムネットワークボードＣＮＢには、それぞれ異なるアップロード時刻が設定されているものとする。そして、本実施例では、各プリンタＰＲＴに、プリンタＰＲＴの電源が投入されてから、最初にアップロードを行うべき時刻までの待ち時間と、それ以降周期的にアップロードを行う周期とが設定されており、アップロードは周期的に繰り返して行われる。このアップロード時刻の設定は、プリンタＰＲＴに予め設定されていたり、ユーザが手動で行うようにしてもよいし、乱数を用いたり、管理サーバＳＶ側で指定されたアップロード時刻を、管理サーバＳＶからダウンロードしたりして、自動で行うようにしてもよい。
【００４０】
いずれかのプリンタＰＲＴにおいて、アップロード時刻になると、そのプリンタＰＲＴは、監視情報を管理サーバＳＶにアップロードすべきか否かを判断し、アップロードすべきと判断した場合には、他のプリンタＰＲＴに、そのプリンタＰＲＴが保持する監視情報の送信要求を送信する。そして、その応答として、他のプリンタＰＲＴから監視情報を収集して、自ら保持する監視情報と、他のプリンタＰＲＴから収集した監視情報とを、管理サーバＳＶにアップロードする。つまり、デバイス管理システム１０００において、他のプリンタＰＲＴから、監視情報を収集して、管理サーバＳＶにアップロードするプリンタＰＲＴは、固定されておらず、各プリンタＰＲＴの動作状況に応じて切り替わる。以下、他のプリンタＰＲＴから監視情報を収集して、管理サーバＳＶに監視情報をアップロードするプリンタＰＲＴを、「代理プリンタ」とも呼び、監視情報を収集されるプリンタＰＲＴを、「被代理プリンタ」とも呼ぶ。図示した例では、プリンタＰＲＴ＃１が代理プリンタとして機能している場合の監視情報の流れを、破線矢印によって示している。これらの動作の詳細については、後述する。
【００４１】
Ｂ．第１実施例：
Ｂ１．プリンタの構成：
図２は、プリンタＰＲＴの構成を示す説明図である。プリンタＰＲＴは、印刷を実行するプリンタ本体１００と、カスタムネットワークボードＣＮＢとを備えている。そして、プリンタ本体１００は、プリンタエンジン１１０と、プリンタコントローラ１２０とを備えている。
【００４２】
プリンタコントローラ１２０は、図示しないＣＰＵや、ＲＡＭや、ＲＯＭを備えるコンピュータであり、パーソナルコンピュータＰＣから、カスタムネットワークボードＣＮＢを介して印刷ジョブを受け取り、プリンタエンジン１１０を制御して、印刷を実行させる。また、プリンタコントローラ１２０は、監視部１２２を備えおり、プリンタ本体１００に関する種々の監視情報を収集して、ＭＩＢ（Management Information Base）の形式で保存している。ＭＩＢには、プリンタ本体１００に関して予め規格で統一的に規定されている情報や、製造者によって独自に規定されている情報が含まれる。
【００４３】
カスタムネットワークボードＣＮＢは、ＣＰＵ１０と、メモリ２０と、タイマ３０とを備えている。メモリ２０は、揮発性メモリと、不揮発性メモリの両方を含んでいる。ＣＰＵ１０は、メモリ制御部１２と、判断部１４と、アップロードファイル作成部１６と、通信制御部１８とを備えている。これらの機能ブロックは、ＣＰＵ１０が、図示しないＲＯＭに記憶されている所定のコンピュータプログラムを、読み出して実行することによって、ソフトウェア的に構築されている。これらの機能ブロックの少なくとも一部を、ハードウェア的に構成するようにしてもよい。
【００４４】
メモリ制御部１２は、メモリ２０への種々のデータの書き込みや、読み出しや、削除を行う。メモリ２０に記憶されるデータには、後述するように、プリンタコントローラ１２０から取得した自らの監視情報を記録した監視情報ファイルや、各プリンタＰＲＴから収集した監視情報ファイルや、管理サーバＳＶに送信すべきアップロードファイルなどが含まれる。メモリ２０、および、メモリ制御部１２は、本発明における監視情報記憶部、識別情報記憶部、監視情報削除部に相当する。
【００４５】
判断部１４は、後述する動作処理や、ＦＴＰコマンド処理や、アップロード処理において、種々の判断を行う。判断部１４は、本発明における判断部、イベント発生判断部に相当する。
【００４６】
アップロードファイル作成部１６は、メモリ２０に設定されたスプールディレクトリ２２に保存されている監視情報ファイルと、ｏｔｈｅｒディレクトリ２４に保存されている監視情報ファイルとを合成して、管理サーバＳＶに送信するためのアップロードファイルを作成する。アップロードファイル作成部１６は、本発明における監視情報ファイル作成部に相当する。
【００４７】
通信制御部１８は、通信相手に応じて、通信プロトコルを切り換え、ローカルエリアネットワークＬＡＮや、インターネットＩＮＴを介して、パーソナルコンピュータＰＣや、他のプリンタＰＲＴや、管理サーバＳＶと通信を行う。また、通信制御部１８は、プリンタコントローラ１２０とのデータのやり取りも行う。通信制御部１８は、本発明における監視情報収集部、送信部、受信完了応答受付部、送信要求受付部、削除要求受付部に相当する。
【００４８】
タイマ３０は、プリンタＰＲＴの電源がオンされてからの時間を計測する。本実施例では、タイマ３０は、プリンタＰＲＴの電源がオンされてからの時間の計測、および、電源の投入回数のカウントを行う。
【００４９】
メモリ２０には、スプールディレクトリ２２と、ｏｔｈｅｒディレクトリ２４と、アップロードディレクトリ２６とが設定されている。スプールディレクトリ２２には、プリンタコントローラ１２０から受け取った監視情報が、ファイル形式で保存される。ｏｔｈｅｒディレクトリ２４には、他のプリンタＰＲＴから収集した監視情報ファイルが保存される。アップロードディレクトリ２６には、アップロードファイル作成部１６によって作成されたアップロードファイルが保存される。アップロードファイルは、管理サーバＳＶにアップロードされるファイルである。
【００５０】
図３は、アップロードファイルの生成について示す説明図である。図示するように、スプールディレクトリ２２には、監視情報ファイルＦａ１、Ｆａ２、Ｆａ３が保存されており、ｏｔｈｅｒディレクトリ２４には、監視情報ファイルＦｂ１、Ｆｂ２、Ｆｂ３、Ｆｃ１、Ｆｃ２、Ｆｃ３、...が保存されているものとする。これら各監視情報ファイルには、監視情報とともに、各プリンタＰＲＴの識別情報も記録されている。この識別情報としては、例えば、各プリンタＰＲＴに付与された名前や、ＭＡＣアドレスや、ＩＰアドレスや、製造番号などを用いることができる。また、各監視情報ファイルには、それぞれ監視情報ファイルが作成され、メモリ２０に記憶された時刻も記録されている。
【００５１】
アップロードファイル作成部１６は、図示するように、監視情報ファイルＦａ１、Ｆａ２、Ｆａ３と、監視情報ファイルＦｂ１、Ｆｂ２、Ｆｂ３、Ｆｃ１、Ｆｃ２、Ｆｃ３、...とを合成して、アップロードファイルＦｕを作成し、アップロードディレクトリ２６に保存する。こうすることによって、複数のプリンタＰＲＴの監視情報を、管理サーバＳＶに一度に送信することができるので、ネットワークトラフィックの増大を抑制することができる。また、各監視情報ファイルには、プリンタＰＲＴの識別情報も含まれているので、アップロードファイルＦｕを受信した管理サーバＳＶは、アップロードファイルＦｕの内容を解析することによって、各監視情報を出力したプリンタＰＲＴを容易に特定することができる。
【００５２】
Ｂ２．プリンタの動作処理：
図４は、プリンタＰＲＴの動作処理の流れを示すフローチャートである。この動作処理は、各プリンタＰＲＴにおいて、電源がオンされると、オフされるまで、カスタムネットワークボードＣＮＢのＣＰＵ１０が継続して実行する処理である。
【００５３】
まず、ＣＰＵ１０は、他のプリンタ、すなわち、代理プリンタから存在確認を問い合わせるブロードキャストを受信したか否かを判断する（ステップＳ１００）。ＣＰＵ１０は、このブロードキャストを受信すると（ステップＳ１００：ＹＥＳ）、このプリンタＰＲＴを被代理プリンタとして機能させ、ブロードキャストの送信元である代理プリンタに、自らの存在を示す応答を送信する（ステップＳ１１０）。ステップＳ１００において、代理プリンタからブロードキャストを受信していない場合には（ステップＳ１００：ＮＯ）、ステップＳ１２０に進む。
【００５４】
次に、ＣＰＵ１０は、他のプリンタ、すなわち、代理プリンタからＦＴＰ接続要求を受信したか否かを判断する（ステップＳ１２０）。そして、ＣＰＵ１０は、代理プリンタからＦＴＰ接続要求を受信した場合には（ステップＳ１２０：ＹＥＳ）、受信したＦＴＰコマンドに応じて、ＦＴＰコマンド処理を実行する（ステップＳ２００）。ＦＴＰコマンド処理が終了すると、被代理プリンタとしての役割も終了する。ＦＴＰコマンド処理については、後述する。ステップＳ１２０において、代理プリンタからＦＴＰ接続要求を受信していない場合には（ステップＳ１２０：ＮＯ）、ステップＳ３００に進む。
【００５５】
次に、ＣＰＵ１０は、プリンタ本体１００において、重大なイベントが発生したか否かを判断する（ステップＳ３００）。重大なイベントとは、管理サーバＳＶへの通知に緊急性を有するイベントであり、例えば、プリンタエンジン１１０の故障や、プリンタコントローラ１２０において色調整が行えないことなどが挙げられる。この判断は、スプールディレクトリ２２に保存される監視情報ファイルの内容に基づいてなされる。ＣＰＵ１０は、プリンタ本体１００において、重大なイベントが発生したと判断した場合には（ステップＳ３００：ＹＥＳ）、このプリンタＰＲＴを代理プリンタとして機能させ、アップロード処理を実行する（ステップＳ４００）。こうすることによって、管理サーバＳＶへの通知に緊急性を有するイベントが発生したときには、これを速やかに管理サーバＳＶに通知することができる。アップロード処理については、後述する。アップロード処理が終了すると、代理プリンタとしての役割を終了し、ステップＳ１００に戻る。
【００５６】
ステップＳ３００において、プリンタ本体１００において、重大なイベントが発生していないと判断した場合には（ステップＳ３００：ＮＯ）、ＣＰＵ１０は、タイマ３０を参照して、アップロード時刻になったか否かを判断する（ステップＳ３１０）。アップロード時刻になっていない場合には（ステップＳ３１０：ＮＯ）、ステップＳ１００に戻る。一方、アップロード時刻になった場合には（ステップＳ３１０：ＹＥＳ）、ＣＰＵ１０は、スプールディレクトリ２２に、管理サーバＳＶにアップロードすべき監視情報ファイルが存在するか否かを判断する（ステップＳ３２０）。スプールディレクトリ２２に、管理サーバＳＶにアップロードすべき監視情報ファイルが存在する場合には（ステップＳ３２０：ＹＥＳ）、このプリンタＰＲＴを代理プリンタとして機能させ、アップロード処理を実行する（ステップＳ４００）。そして、アップロード処理が終了すると、代理プリンタとしての役割を終了し、ステップＳ１００に戻る。ステップＳ３２０において、スプールディレクトリ２２に、管理サーバＳＶにアップロードすべき監視情報ファイルが存在しない場合には（ステップＳ３２０：ＮＯ）、アップロード処理を行わずに、すなわち、このプリンタＰＲＴを代理プリンタとして機能させることなく、ステップＳ１００に戻る。
【００５７】
Ｂ３．ＦＴＰコマンド処理：
図５は、図４のステップ２００におけるＦＴＰコマンド処理の流れを示す説明図である。この処理は、被代理プリンタのＣＰＵ１０が実行する処理である。
【００５８】
まず、被代理プリンタのＣＰＵ１０は、代理プリンタとのＦＴＰ接続が切断されたか否かを判断する（ステップＳ２１０）。ＦＴＰ接続が切断された場合には（ステップＳ２１０：ＹＥＳ）、ＦＴＰコマンド処理を終了する。
【００５９】
ステップＳ２１０において、ＦＴＰ接続が切断されていない場合には（ステップＳ２１０：ＮＯ）、ＣＰＵ１０は、代理プリンタからＦＴＰコマンドを受信したか否かを判断する（ステップＳ２２０）。代理プリンタからＦＴＰコマンドを受信していない場合には（ステップＳ２２０：ＮＯ）、ＣＰＵ１０は、ＦＴＰコマンドを受信するまで待機する。
【００６０】
ステップＳ２２０において、代理プリンタからＦＴＰコマンドを受信した場合には（ステップＳ２２０：ＹＥＳ）、ＣＰＵ１０は、受信したＦＴＰコマンドが終了コマンドであるか否かを判断する（ステップＳ２３０）。代理プリンタから受信したＦＴＰコマンドが終了コマンドでない場合には（ステップＳ２３０：ＮＯ）、ＣＰＵ１０は、受信したＦＴＰコマンドに対応する処理を実行する（ステップＳ２４０）。この処理には、後述するように、監視情報ファイルの転送や、削除などが含まれる。この処理が終了すると、ステップＳ２１０に戻る。ステップＳ２３０において、代理プリンタから受信したＦＴＰコマンドが終了コマンドである場合には（ステップＳ２３０：ＹＥＳ）、ＣＰＵ１０は、代理プリンタとのＦＴＰ接続を切断し（ステップＳ２５０）、ＦＴＰコマンド処理を終了する。そして、被代理プリンタとしての役割を終了する。
【００６１】
Ｂ４．アップロード処理：
図６、および、図７は、図４のステップ４００におけるアップロード処理の流れを示すフローチャートである。この処理は、代理プリンタのＣＰＵ１０が実行する処理である。
【００６２】
まず、代理プリンタのＣＰＵ１０は、他のプリンタ、すなわち、ローカルエリアネットワークＬＡＮに接続されている全ての被代理プリンタに対して、存在確認を問い合わせるブロードキャストを送信する（ステップＳ４１０）。そして、ＣＰＵ１０は、いずれかの被代理プリンタから、このブロードキャストに対する応答を受信したか否かを判断する（ステップＳ４２０）。いずれの被代理プリンタからもブロードキャストに対する応答を受信しない場合には（ステップＳ４２０）、ＣＰＵ１０は、監視情報ファイルの収集を行うべき被代理プリンタが存在しないものと判断し、スプールディレクトリ２２に保存されている監視情報ファイルを合成して、アップロードファイルＦｕを作成し（ステップＳ４４０）、このアップロードファイルＦｕを圧縮して、管理サーバＳＶにアップロードする（ステップＳ４５０）。管理サーバＳＶへのアップロードファイルＦｕのアップロードは、セキュリティの確保のため、ＳＳＬ（Secure Socket Layer）を用いて行う。
【００６３】
ステップＳ４２０において、いずれかの被代理プリンタから、ブロードキャストに対する応答を受信した場合には（ステップＳ４２０：ＹＥＳ）、そのうちの１つの応答元の被代理プリンタとＦＴＰ接続を行い（ステップＳ４３０）、ＦＴＰ接続した被代理プリンタに、管理サーバＳＶにアップロードすべき監視情報ファイルが存在するか否かを問い合わせて判断する（ステップＳ４３２）。ＣＰＵ１０は、ＦＴＰ接続した被代理プリンタに、管理サーバＳＶにアップロードすべき監視情報ファイルが存在すると判断した場合には（ステップＳ４３２：ＹＥＳ）、その監視情報ファイルの送信要求を送信し、その監視情報ファイルを全てコピーして受信し（ステップＳ４３４）、ｏｔｈｅｒディレクトリ２４に保存する。そして、ＣＰＵ１０は、ＦＴＰ接続を切断する（ステップＳ４３６）。ステップＳ４３２において、ＦＴＰ接続した被代理プリンタに、管理サーバＳＶにアップロードすべき監視情報ファイルが存在しないと判断した場合には（ステップＳ４３２：ＮＯ）、ＣＰＵ１０は、そのままＦＴＰ接続を切断する（ステップＳ４３６）。
【００６４】
次に、ＣＰＵ１０は、全てのブロードキャストの応答元の被代理プリンタに対して、ステップＳ４３０〜Ｓ４３６の処理を行ったか否かを判断する（ステップＳ４３８）。ステップＳ４３０〜Ｓ４３６の処理を行っていない被代理プリンタが残っている場合には（ステップＳ４３８：ＮＯ）、ステップＳ４３０に戻る。ステップ４３８において、全てのブロードキャストの応答元の被代理プリンタに対して、ステップＳ４３０〜Ｓ４３６の処理を行った場合には（ステップＳ４３８：ＹＥＳ）、スプールディレクトリ２２に保存されている監視情報ファイルと、ｏｔｈｅｒディレクトリ２４に保存されている監視情報ファイルとを合成して、アップロードファイルＦｕを作成して（ステップＳ４４０）、アップロードディレクトリ２６の保存し、このアップロードファイルＦｕを圧縮して、管理サーバＳＶにアップロードする（ステップＳ４５０）。
【００６５】
次に、ＣＰＵ１０は、アップロードに成功したか否かを判断する（ステップＳ４６０）。この判断は、管理サーバＳＶから、アップロードに対する受信完了応答を受信したか否かに基づいて行われる。ＣＰＵ１０は、管理サーバＳＶから、アップロードに対する受信完了応答を受信した場合には、アップロードが成功したと判断し、受信完了応答を受信しない場合には、アップロードが失敗したと判断する。
【００６６】
ステップＳ４６０において、アップロードに成功した場合には、ステップＳ４３４において監視情報ファイルを取得した取得元の被代理プリンタのうちの１つとＦＴＰ接続を行い（ステップＳ４７０）、その被代理プリンタに対して、アップロード済みの監視情報ファイルの削除要求を送信する（ステップＳ４７２）。このとき、１つのアップロード済みの監視情報ファイルに対して、１つの削除要求が送信される。この削除要求を受信した被代理プリンタは、削除要求に応じて、監視情報ファイルを削除する。こうすることによって、被代理プリンタのスプールディレクトリ２２には、管理サーバＳＶに未送信の監視情報ファイルのみが残されるので、ＣＰＵ１０は、後に、スプールディレクトリ２２に未送信の監視情報ファイルが存在しているか否かを容易に判断することができる。
【００６７】
次に、ＣＰＵ１０は、ＦＴＰ接続を行っている被代理プリンタについて、全てのアップロード済みの監視情報ファイルについての削除要求を送信したか否かを判断する（ステップＳ４７４）。アップロード済みの監視情報ファイルについて、削除要求を送信していない監視情報ファイルが残っている場合には（ステップＳ４７４：ＮＯ）、ステップＳ４７２に戻る。一方、全てのアップロード済みの監視情報ファイルについての削除要求を送信した場合には（ステップＳ４７４：ＹＥＳ）、接続を行っている被代理プリンタとのＦＴＰ接続を切断する（ステップＳ４７６）。
【００６８】
次に、ＣＰＵ１０は、全ての監視情報ファイルの取得元の被代理プリンタに対して、ステップＳ４７０〜Ｓ４７４の処理を行ったか否かを判断する（ステップＳ４７８）。ステップＳ４７０〜Ｓ４７４の処理を行っていない被代理プリンタが残っている場合には（ステップＳ４７８：ＮＯ）、ステップＳ４７０に戻る。一方、全ての被代理プリンタに対してステップＳ４７０〜Ｓ４７４の処理を行った場合には（ステップＳ４７８：ＹＥＳ）、ＣＰＵ１０は、自身のスプールディレクトリ２２に保存されているアップロード済みの監視情報ファイルを削除する（ステップＳ４８０）。さらに、ＣＰＵ１０は、アップロードディレクトリ２６に保存されているアップロードファイルＦｕ、および、ｏｔｈｅｒディレクトリ２４に保存されている被代理プリンタから取得した監視情報ファイルを削除する（ステップＳ４９０）。
【００６９】
ステップ４６０において、アップロードに失敗した場合には（ステップＳ４６０：ＮＯ）、ＣＰＵ１０は、アップロードディレクトリ２６に保存されているアップロードファイルＦｕ、および、ｏｔｈｅｒディレクトリ２４に保存されている被代理プリンタから取得した監視情報ファイルを削除し（ステップＳ４９０）、スプールディレクトリ２２に保存されている監視情報ファイルは、いずれかのプリンタＰＲＴが、アップロード処理を実行するときまで保持する。そして、アップロード処理を終了する。
【００７０】
以上説明した第１実施例のデバイス管理システム１０００では、各プリンタＰＲＴは、アップロード時刻になったときに、スプールディレクトリ２２に、管理サーバＳＶに未送信の監視情報ファイルが保存されている場合には、代理プリンタとして機能し、他のプリンタＰＲＴから、監視情報ファイルを収集して、これらを、自らが保持する未送信の監視情報ファイルとともに、管理サーバＳＶにアップロードする。換言すれば、各プリンタＰＲＴは、アップロード時刻になっても、スプールディレクトリ２２に、管理サーバＳＶに未送信の監視情報ファイルが保存されていない場合には、代理プリンタとして機能せず、すなわち、他のプリンタＰＲＴの監視情報ファイルの収集は行わず、アップロードファイルの管理サーバＳＶへのアップロードも行わない。したがって、各プリンタＰＲＴから管理サーバＳＶへのアクセス頻度を低減することができる。
【００７１】
また、第１実施例のデバイス管理システム１０００によれば、代理プリンタを固定せずに、いずれのプリンタＰＲＴも代理プリンタとなりうる。そして、いずれかのプリンタＰＲＴが代理プリンタとなって、他の被代理プリンタが保持する監視情報を収集して、それらを確実に管理サーバＳＶにアップロードすることができる。
【００７２】
Ｃ．第２実施例：
第２実施例のデバイス管理システム１０００の構成は、第１実施例のデバイス管理システム１０００と同じである。また、第２実施例のプリンタＰＲＴの構成も、第１実施例のプリンタＰＲＴと同じである。ただし、第２実施例のプリンタＰＲＴは、カスタムネットワークボードＣＮＢのＣＰＵ１０によって行われる処理が、第１実施例のプリンタＰＲＴと一部異なる。以下、第１実施例と異なる点について説明する。
【００７３】
図８は、第２実施例におけるプリンタＰＲＴの動作処理の流れを示すフローチャートである。図示したフローチャートは、第１実施例における動作処理（図４参照）において、ステップＳ３１０の代わりに行う処理である。なお、第２実施例では、代理プリンタは、後述するように、アップロードファイルＦｕの管理サーバＳＶへのアップロードが成功したときに、被代理プリンタに対して、アップロード延期要求を送信する。
【００７４】
図４のステップＳ３００において、プリンタ本体１００において、重大なイベントが発生していないと判断した場合には（ステップＳ３００：ＮＯ）、ＣＰＵ１０は、他のプリンタ、すなわち、代理プリンタからアップロード延期要求を受信したか否かを判断する（ステップＳ３１０ａ）。アップロード延期要求を受信した場合には（ステップＳ３１０ａ：ＹＥＳ）、ＣＰＵ１０は、タイマ３０を参照して、アップロード延期要求の受信時刻Ｔｒを、メモリ２０に保存する（ステップＳ３１２ａ）。
【００７５】
次に、ＣＰＵ１０は、タイマ３０を参照して、アップロード時刻になったか否かを判断する（ステップＳ３１４ａ）。アップロード時刻になっていない場合には（ステップＳ３１４ａ：ＮＯ）、図４のステップＳ１００に戻る。一方、アップロード時刻になった場合には（ステップＳ３１４ａ：ＹＥＳ）、ＣＰＵ１０は、現在時刻Ｔｐがアップロード延期要求を受信した受信時刻Ｔｒから所定時間Ｔｃを経過しているか否かを判断する（ステップＳ３１６ａ）。所定時間Ｔｃは、任意に設定可能である。現在時刻Ｔｐがアップロード延期要求を受信した受信時刻Ｔｒから所定時間Ｔｃを経過していない場合には（ステップＳ３１６ａ：ＮＯ）、図４のステップＳ１００に戻る。一方、現在時刻Ｔｐがアップロード延期要求を受信した受信時刻Ｔｒから所定時間Ｔｃを経過している場合には（ステップＳ３１６ａ：ＹＥＳ）、図４のステップＳ３２０に進む。
【００７６】
また、ステップＳ３１０ａにおいて、代理プリンタからアップロード延期要求を受信していない場合には（ステップＳ３１０ａ：ＮＯ）、タイマ３０を参照して、アップロード時刻になったか否かを判断する（ステップＳ３１８ａ）。アップロード時刻になっていない場合には（ステップＳ３１８ａ：ＮＯ）、図４のステップＳ１００に戻る。一方、アップロード時刻になった場合には（ステップＳ３１８ａ：ＹＥＳ）、図４のステップＳ３２０に進む。
【００７７】
図９は、第２実施例におけるアップロード処理の流れを示すフローチャートである。第２実施例におけるアップロード処理は、第１実施例におけるアップロード処理（図６、図７参照）のステップＳ４６０以降の処理が、第１実施例におけるアップロード処理と一部異なっている。すなわち、図７におけるステップＳ４７８と、ステップＳ４８０との間に、ステップＳ４７９が挿入されている。他の処理は、第１実施例におけるアップロード処理と同じである。
【００７８】
図６のステップＳ４６０において、アップロードに成功した場合には、ステップＳ４３４において監視情報ファイルを取得した取得元の被代理プリンタのうちの１つとＦＴＰ接続を行い（ステップＳ４７０）、その被代理プリンタに対して、アップロード済みの監視情報ファイルの削除要求を送信する（ステップＳ４７２）。このとき、１つのアップロード済みの監視情報ファイルに対して、１つの削除要求が送信される。この削除要求を受信した被代理プリンタは、削除要求に応じて、監視情報ファイルを削除する。
【００７９】
次に、ＣＰＵ１０は、ＦＴＰ接続を行っている被代理プリンタについて、全てのアップロード済みの監視情報ファイルについての削除要求を送信したか否かを判断する（ステップＳ４７４）。アップロード済みの監視情報ファイルについて、削除要求を送信していない監視情報ファイルが残っている場合には（ステップＳ４７４：ＮＯ）、ステップＳ４７２に戻る。一方、全てのアップロード済みの監視情報ファイルについての削除要求を送信した場合には（ステップＳ４７４：ＹＥＳ）、接続を行っている被代理プリンタとのＦＴＰ接続を切断する（ステップＳ４７６）。
【００８０】
次に、ＣＰＵ１０は、全ての監視情報ファイルの取得元の被代理プリンタに対して、ステップＳ４７０〜Ｓ４７４の処理を行ったか否かを判断する（ステップＳ４７８）。ステップＳ４７０〜Ｓ４７４の処理を行っていない被代理プリンタが残っている場合には（ステップＳ４７８：ＮＯ）、ステップＳ４７０に戻る。一方、全ての被代理プリンタに対してステップＳ４７０〜Ｓ４７４の処理を行った場合には（ステップＳ４７８：ＹＥＳ）、ＣＰＵ１０は、監視情報ファイルを取得した取得元の被代理プリンタ全てに、アップロード延期要求を送信する（ステップＳ４７９）。こうすることによって、アップロード延期要求を受信した被代理プリンタは、自らに設定されたアップロード時刻になったときに、先に説明したように、アップロード延期要求に基づいて、代理プリンタになるか否かを判断することができる。
【００８１】
次に、ＣＰＵ１０は、スプールディレクトリ２２に保存されているアップロード済みの監視情報ファイルを削除する（ステップＳ４８０）。さらに、ＣＰＵ１０は、アップロードディレクトリ２６に保存されているアップロードファイルＦｕ、および、ｏｔｈｅｒディレクトリ２４に保存されている被代理プリンタから取得した監視情報ファイルを削除する（ステップＳ４９０）。
【００８２】
ステップ４６０において、アップロードに失敗した場合には（ステップＳ４６０：ＮＯ）、ＣＰＵ１０は、アップロードディレクトリ２６に保存されているアップロードファイルＦｕ、および、ｏｔｈｅｒディレクトリ２４に保存されている被代理プリンタから取得した監視情報ファイルを削除し（ステップＳ４９０）、スプールディレクトリ２２に保存されている監視情報ファイルは、いずれかのプリンタＰＲＴが、アップロード処理を実行するときまで保持する。そして、アップロード処理を終了する。
【００８３】
以上説明した第２実施例のデバイス管理システム１０００では、各プリンタＰＲＴは、アップロード時刻になったときに、代理プリンタから収集延期要求を受け付けてから所定時間Ｔｃが経過していない場合には、スプールディレクトリ２２に、管理サーバＳＶに未送信の監視情報ファイルが存在する場合であっても、まだ、他のプリンタＰＲＴから監視情報ファイルを収集して、管理サーバＳＶにアップロードする必要はないと判断して、代理プリンタとして機能せず、他のプリンタＰＲＴからの監視情報ファイルの収集、および、アップロードファイルの管理サーバＳＶへのアップロードを、次回のアップロード時刻になるまで延期する。つまり、第２実施例のデバイス管理システム１０００では、なるべく１つのプリンタＰＲＴを、代理プリンタとして機能させ、複数のプリンタＰＲＴが個別にアップロード処理を行うことを回避する。こうすることによって、各プリンタＰＲＴから管理サーバＳＶへのアクセス頻度を、第１実施例のデバイス管理システム１０００よりも低減することができる。
【００８４】
Ｄ．第３実施例：
第３実施例のデバイス管理システム１０００の構成は、第１実施例のデバイス管理システム１０００と同じである。また、第３実施例のプリンタＰＲＴの構成も、第１実施例のプリンタＰＲＴと同じである。ただし、第３実施例のプリンタＰＲＴは、カスタムネットワークボードＣＮＢのＣＰＵ１０によって行われる処理が、第１実施例のプリンタＰＲＴと一部異なる。以下、第１実施例と異なる点について説明する。
【００８５】
図１０は、第３実施例におけるプリンタＰＲＴの動作処理の流れを示すフローチャートである。図示したフローチャートは、第１実施例における動作処理（図４参照）において、ステップＳ３１０の代わりに行う処理である。なお、第３実施例では、各被代理プリンタは、先に説明した削除要求に応じて、監視情報ファイルの削除を行ったときに、その削除時刻Ｔｄを、メモリ２０に保存する。
【００８６】
図４のステップＳ３００において、プリンタ本体１００において、重大なイベントが発生していないと判断した場合には（ステップＳ３００：ＮＯ）、ＣＰＵ１０は、メモリ２０に、削除時刻Ｔｄが保存されているか否かを判断する（ステップＳ３１０ｂ）。メモリ２０に、削除時刻Ｔｄが保存されている場合には（ステップＳ３１０ｂ：ＹＥＳ）、ＣＰＵ１０は、タイマ３０を参照して、アップロード時刻になったか否かを判断する（ステップＳ３１２ｂ）。アップロード時刻になっていない場合には（ステップＳ３１２ｂ：ＮＯ）、図４のステップＳ１００に戻る。一方、アップロード時刻になった場合には（ステップＳ３１２ｂ：ＹＥＳ）、ＣＰＵ１０は、現在時刻Ｔｐが削除時刻Ｔｄから所定時間Ｔｃを経過しているか否かを判断する（ステップＳ３１４ｂ）。所定時間Ｔｃは、任意に設定可能である。現在時刻Ｔｐが削除時刻Ｔｄから所定時間Ｔｃを経過していない場合には（ステップＳ３１４ｂ：ＮＯ）、図４のステップＳ１００に戻る。一方、現在時刻Ｔｐが削除時刻Ｔｄから所定時間Ｔｃを経過している場合には（ステップＳ３１４ｂ：ＹＥＳ）、図４のステップＳ３２０に進む。
【００８７】
また、ステップＳ３１０ｂにおいて、メモリ２０に、削除時刻Ｔｄが保存されていない場合には（ステップＳ３１０ｂ：ＮＯ）、アップロード時刻になったか否かを判断する（ステップＳ３１６ｂ）。アップロード時刻になっていない場合には（ステップＳ３１６ｂ：ＮＯ）、図４のステップＳ１００に戻る。一方、アップロード時刻になった場合には（ステップＳ３１８：ＹＥＳ）、図４のステップＳ３２０に進む。
【００８８】
以上説明した第３実施例のデバイス管理システム１０００では、各プリンタＰＲＴは、アップロード時刻になったときに、前回、監視情報ファイルを送信し、その送信済みの監視情報ファイルを削除してから所定時間Ｔｃが経過していない場合には、スプールディレクトリ２２に、管理サーバＳＶに未送信の監視情報ファイルが存在する場合であっても、まだ、他のプリンタＰＲＴから監視情報ファイルを収集して、管理サーバＳＶにアップロードする必要はないと判断して、代理プリンタとして機能せず、他のプリンタＰＲＴからの監視情報ファイルの収集、および、アップロードファイルの管理サーバＳＶへのアップロードを、次回のアップロード時刻になるまで延期する。こうすることによっても、各プリンタＰＲＴから管理サーバＳＶへのアクセス頻度を、第１実施例のデバイス管理システム１０００よりも低減することができる。
【００８９】
Ｅ．第４実施例：
第４実施例のデバイス管理システム１０００の構成は、第１実施例のデバイス管理システム１０００と同じである。また、第４実施例のプリンタＰＲＴの構成も、第１実施例のプリンタＰＲＴと同じである。ただし、第４実施例のプリンタＰＲＴは、カスタムネットワークボードＣＮＢのＣＰＵ１０によって行われる処理が、第１実施例のプリンタＰＲＴと一部異なる。以下、第１実施例と異なる点について説明する。
【００９０】
図１１は、第４実施例におけるプリンタＰＲＴの動作処理の流れを示すフローチャートである。図示したフローチャートは、第１実施例における動作処理（図４参照）において、ステップＳ３１０、および、ステップＳ３２０の代わりに行う処理である。なお、第４実施例では、各プリンタＰＲＴは、この動作処理において、スプールディレクトリ２２に保存されている各監視情報ファイルの保存時刻を利用する。
【００９１】
図４のステップＳ３００において、プリンタ本体１００において、重大なイベントが発生していないと判断した場合には（ステップＳ３００：ＮＯ）、ＣＰＵ１０は、タイマ３０を参照して、アップロード時刻になったか否かを判断する（ステップＳ３１０ｃ）。アップロード時刻になっていない場合には（ステップＳ３１０ｃ：ＮＯ）、図４のステップＳ１００に戻る。一方、アップロード時刻になった場合には（ステップＳ３１０ｃ：ＹＥＳ）、ＣＰＵ１０は、スプールディレクトリ２２に、所定時間Ｔｃ以上前に保存された監視情報ファイルが存在するか否かを判断する（ステップＳ３１２ｃ）。所定時間Ｔｃは、任意に設定可能である。スプールディレクトリ２２に、所定時間Ｔｃ以上前に保存された監視情報ファイルが存在しない場合には（ステップＳ３１２ｃ：ＮＯ）、すぐに管理サーバＳＶに送信すべき監視情報ファイルはないものと判断し、このプリンタＰＲＴを代理プリンタとして機能させずに、図４のステップＳ１００に戻る。一方、スプールディレクトリ２２に、所定時間Ｔｃ以上前に保存された監視情報ファイルが存在する場合には（ステップＳ３１２ｃ：ＹＥＳ）、この監視情報ファイルは、すぐに管理サーバＳＶに送信すべき監視情報ファイルであると判断し、図４のステップＳ４００に進み、このプリンタＰＲＴを代理プリンタとして機能させて、アップロード処理を行う。
【００９２】
以上説明した第４実施例のデバイス管理システム１０００では、各プリンタＰＲＴは、アップロード時刻になったときに、スプールディレクトリ２２に、所定時間Ｔｃ以上前に保存された未送信の監視情報ファイルが存在していない場合には、未送信の監視情報ファイルが存在する場合であっても、まだ、他のプリンタＰＲＴから監視情報ファイルを収集して、管理サーバＳＶにアップロードする必要はないと判断して、代理プリンタとして機能せず、他のプリンタＰＲＴからの監視情報ファイルの収集、および、アップロードファイルの管理サーバＳＶへのアップロードを、次回のアップロード時刻になるまで延期する。つまり、第４実施例のデバイス管理システム１０００では、いずれかのプリンタＰＲＴが代理プリンタとしてアップロード処理を行った後の所定時間は、他のプリンタＰＲＴはアップロード処理を行わない。こうすることによっても、各プリンタＰＲＴから管理サーバＳＶへのアクセス頻度を低減することができる。
【００９３】
Ｆ．変形例：
以上、本発明のいくつかの実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形例が可能である。
【００９４】
Ｆ１．変形例１：
上記実施例では、各プリンタＰＲＴは、タイマ３０を備えるものとしたが、時計を備えるようにしてもよい。また、各プリンタＰＲＴは、インターネットＩＮＴ上に設置されたいわゆるＮＴＰサーバから、必要に応じて時刻を取得するようにしてもよい。
【００９５】
Ｆ２．変形例２：
上記実施例では、全てのプリンタＰＲＴが、カスタムネットワークボードＣＮＢを備え、代理プリンタとして機能しうるものとしたが、少なくとも２台のプリンタＰＲＴが、このＰＲＴを代理プリンタとして機能させるカスタムネットワークボードＣＮＢを備えるようにすればよい。この場合、プリンタを代理プリンタとして機能させるカスタムネットワークボードＣＮＢを備えない他のプリンタは、代理プリンタからの要求に応じて、監視情報ファイルの転送や、削除等を行う機能を備えるようにすればよい。
【００９６】
Ｆ３．変形例３：
上記実施例では、被代理プリンタは、代理プリンタからの削除要求に応じて、送信済みの監視情報ファイルの削除を行うものとしたが、受信完了応答に応じて、送信済みの監視情報ファイルを削除するようにしてもよい。
【００９７】
Ｆ４．変形例４：
上記第３実施例では、各プリンタＰＲＴは、監視情報ファイルの削除時刻Ｔｄを、メモリ２０に記憶し、この削除時刻Ｔｄに基づいて、アップロード処理を行うか否かの判断を行ったが、これに限られない。削除時刻Ｔｄの代わりに、例えば、監視情報ファイルを代理プリンタに送信した時刻や、代理プリンタから、監視情報ファイルの受信応答を受信した時刻や、削除要求を受信した時刻に基づいて、アップロード処理を行うか否かを判断するようにしてもよい。
【００９８】
Ｆ５．変形例５：
上記第２ないし第４実施例では、プリンタＰＲＴの動作処理において、スプールディレクトリ２２に、管理サーバＳＶに未送信の監視情報ファイルが存在するか否かを判断したが、この判断を行わないようにしてもよい。
【００９９】
Ｆ６．変形例６：
上記実施例では、ネットワークに接続されるプリンタＰＲＴに、本発明のデバイス監視制御装置を適用した例を示したが、これに限られない。例えば、スキャナや、プロジェクタや、オーディオ装置や、家電機器や、クライアントコンピュータや、ＰＤＡ（Personal Digital Assistance）など、ネットワークに接続されて利用される種々のデバイスに、本発明のデバイス監視制御装置を適用するようしにてもよい。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施例としてのデバイス管理システム１０００の概略構成を示す説明図である。
【図２】プリンタＰＲＴの構成を示す説明図である。
【図３】アップロードファイルの生成について示す説明図である。
【図４】プリンタＰＲＴの動作処理の流れを示すフローチャートである。
【図５】ＦＴＰコマンド処理の流れを示す説明図である。
【図６】アップロード処理の流れを示すフローチャートである。
【図７】アップロード処理の流れを示すフローチャートである。
【図８】第２実施例におけるプリンタＰＲＴの動作処理の流れを示すフローチャートである。
【図９】第２実施例におけるアップロード処理の流れを示すフローチャートである。
【図１０】第３実施例におけるプリンタＰＲＴの動作処理の流れを示すフローチャートである。
【図１１】第４実施例におけるプリンタＰＲＴの動作処理の流れを示すフローチャートである。
【符号の説明】
【０１０１】
１０００...デバイス管理システム
１０...ＣＰＵ
１２...メモリ制御部
１４...判断部
１６...アップロードファイル作成部
１８...通信制御部
２０...メモリ
２２...スプールディレクトリ
２４...ｏｔｈｅｒディレクトリ
２６...アップロードディレクトリ
３０...タイマ
１００...プリンタ本体
１１０...プリンタエンジン
１２０...プリンタコントローラ
１２２...監視部
ＰＣ...パーソナルコンピュータ
ＰＲＴ...プリンタ
ＣＮＢ...カスタムネットワークボード
ＳＶ...管理サーバ
ＤＰ...ディスプレイ
ＫＢ...キーボード
ＭＳ...マウス
ＩＮＴ...インターネット
ＬＡＮ...ローカルエリアネットワーク
ＦＷ...ファイアウォール
【図１】
2006195692.tif 000003
【図２】
2006195692.tif 000004
【図３】
2006195692.tif 000005
【図４】
2006195692.tif 000006
【図５】
2006195692.tif 000007
【図６】
2006195692.tif 000008
【図７】
2006195692.tif 000009
【図８】
2006195692.tif 000010
【図９】
2006195692.tif 000011
【図１０】
2006195692.tif 000012
【図１１】
2006195692.tif 000013