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