(57)【特許請求の範囲】
【請求項１】
ｍ台（ｍは１以上の整数）のデバイスそれぞれに対し、２以上の監視装置が監視を行うように構成された複数の監視装置を管理する管理装置であって、
前記監視装置の監視機能の停止を伴う所定の処理を前記複数の監視装置に対してそれぞれ行う管理処理を、前記監視装置の少なくとも１つを前記所定の処理の対象とする複数の期間に分けて実行する管理処理部と、
各デバイスと各監視装置について、監視されるデバイスと監視する監視装置の組み合わせを取得する取得部と、
前記複数の期間の数と、各期間において対象となる監視装置とを、前記取得された組み合わせを考慮して決定する決定部と、
を備え、
前記決定部は、前記管理処理が行われているときに、いずれの監視装置からも監視されない前記デバイスの数がｎ（ｎは０以上で（ｍ−１）以下の整数）以下であり、かつ、前記複数の期間の数を低減するように、前記決定を行う、管理装置。
【請求項２】
請求項１に記載の管理装置において、
前記決定部は、前記管理処理が行われているときに、いずれの監視装置からも監視されない前記デバイスが発生しないように、前記決定を行う、管理装置。
【請求項３】
請求項２に記載の管理装置において、
前記決定部は、前記管理処理の過程において、前記所定の処理を終了された監視装置に監視される前記デバイスの数が早い段階で多くなるように、前記決定を行う管理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の管理装置において、
前記所定の処理は、前記監視装置にインストールされ、前記監視装置の少なくとも一部の機能を実現するプログラムをバージョンアップすることである管理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の管理装置において、
前記デバイスは、プリンタである管理装置。
【請求項６】
ｍ台（ｍは１以上の整数）のデバイスそれぞれに対し、２以上の監視装置が監視を行うように構成された複数の監視装置を管理する管理方法であって、
前記監視装置の監視機能の停止を伴う所定の処理を前記複数の監視装置に対してそれぞれ行う管理処理を、前記監視装置の少なくとも１つを前記所定の処理の対象とする複数の期間に分けて実行し、
前記管理処理に先立って、各デバイスと各監視装置について、監視されるデバイスと監視する監視装置の組み合わせを取得し、
前記管理処理に先立って、前記複数の期間の数と、各期間において対象となる監視装置とを、前記取得された組み合わせを考慮して決定し、
前記決定は、前記管理処理が行われているときに、いずれの監視装置からも監視されない前記デバイスの数がｎ（ｎは０以上で（ｍ−１）以下の整数）以下であり、かつ、前記複数の期間の数を低減するように行う、管理方法。
【請求項７】
ｍ台（ｍは１以上の整数）のデバイスそれぞれに対し、２以上の監視装置が監視を行うように構成された複数の監視装置を管理するためのコンピュータプログラムであって、
前記監視装置の監視機能の停止を伴う所定の処理を前記複数の監視装置に対してそれぞれ行う管理処理を、前記監視装置の少なくとも１つを前記所定の処理の対象とする複数の期間に分けて実行する第１の機能と、
前記管理処理に先立って、各デバイスと各監視装置について、監視されるデバイスと監視する監視装置の組み合わせを取得する第２の機能と、
前記管理処理に先立って、前記複数の期間の数と、各期間において対象となる監視装置とを、前記取得された組み合わせを考慮して決定する第３の機能と、
をコンピュータに実現させ、
前記第３の機能は、前記管理処理が行われているときに、いずれの監視装置からも監視されない前記デバイスの数がｎ（ｎは０以上で（ｍ−１）以下の整数）以下であり、かつ、前記複数の期間の数を低減するように決定する機能である、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスの監視装置の管理技術に関し、特に、監視装置の監視機能の停止を伴う所定の処理を、監視装置に対して行うための技術に関する。
【背景技術】
【０００２】
ローカルエリアネットワークをはじめとするネットワークに接続して使用されるネットワークデバイス、例えば、ネットワークプリンタを、ネットワーク上の監視装置を用いて監視することが行われている。ネットワークデバイスは、自発的にあるいは監視装置からの要求に応じて、ネットワークデバイスの動作状態などの属性情報を、監視装置に送信する。
【０００３】
かかる場合、例えば、監視装置に障害が発生したときに、ネットワークデバイスの監視が中断してしまうことを抑制するために、ネットワークデバイスを含むネットワークシステムに複数の監視装置を導入する、いわゆる冗長な監視を行うシステムが知られている（例えば、特許文献１）。
【０００４】
【特許文献１】特開２００２−３３０１３２号公報
【特許文献２】特開２００３−５１８２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このようなネットワークシステムにおいて、監視装置にインストールされている監視プログラムのバージョンアップを行いたい場合がある。バージョンアップを行っている間は、監視装置の監視機能は停止してしまうので、複数の監視装置を同時にバージョンアップすると、その間、ネットワークデバイスの監視は全く行われないという、いわゆる監視漏れの問題があった。一方、複数の監視装置を一台ずつバージョンアップしていたのでは、効率が悪くなるおそれがあった。
【０００６】
なお、このような課題は、監視プログラムのバージョンアップに限らず、監視機能の停止を伴う所定の処理を、監視装置に対して行う場合に共通する課題であった。
【０００７】
本発明は、上記課題を解決するためになされたものであり、複数の監視装置に対して、監視機能の停止を伴う所定の処理を、監視漏れを抑制しつつ効率良く行うことを目的とする。
【課題を解決するための手段】
【０００８】
上記課題の少なくとも一部を解決するため、本発明の第１の態様は、１または複数のデバイスに対する冗長な監視を行う複数の監視装置を管理する管理装置を提供する。本発明の第１の態様に係る管理装置は、管理処理部と、取得部と、決定部と、を備える。前記管理処理部は、前記監視装置の監視機能の停止を伴う所定の処理を前記複数の監視装置に対してそれぞれ行う管理処理を、前記監視装置の少なくとも１つを前記所定の処理の対象とする複数の期間に分けて実行する。前記取得部は、各デバイスと各監視装置について、監視されるデバイスと監視する監視装置の組み合わせを取得する。前記決定部は、前記複数の期間の数と、各期間において対象となる監視装置とを、前記取得された組み合わせを考慮して決定する。
【０００９】
第１の態様に係る管理装置によれば、管理処理に先立って、複数の期間の数と、各期間において対象となる監視装置とを、監視されるデバイスと監視する監視装置の組み合わせを考慮して決定する。従って、管理処理を、複数の期間に分けて実行する際に、最適な期間の数とその期間において対象となる監視装置を決定することができる。この結果、監視漏れの抑制や、効率的な管理処理を実現することができる。
【００１０】
第１の態様に係る管理装置において、前記管理処理が行われているときに、いずれの監視装置からも監視されない前記デバイスが発生しないことを第１の条件として、前記決定を行っても良い。こうすれば、管理処理に伴う監視漏れの発生を抑制することができる。
【００１１】
第１の態様に係る管理装置において、前記決定部は、前記第１の条件を満たしつつ、前記複数の期間の数を低減するように、前記決定を行っても良い。こうすれば、監視漏れの発生を抑制しつつ、管理処理を効率良く行うことができる。
【００１２】
第１の態様に係る管理装置において、前記決定部は、前記第１の条件を満たしつつ、前記管理処理の過程において、前記所定の処理を終了された監視装置に監視される前記デバイスの数が早い段階で多くなるように、前記決定を行っても良い。こうすれば、所定の処理の効力を早い段階で、多くのデバイスに対する監視に反映させることができる。
【００１３】
第１の態様に係る管理装置において、前記所定の処理は、前記監視装置にインストールされ、前記監視装置の少なくとも一部の機能を実現するプログラムをバージョンアップすることであっても良い。こうすれば、監視装置の機能を実現するプログラムのバージョンアップする処理において、監視漏れの抑制や、効率的な管理処理を実現することができる。
【００１４】
第１の態様に係る管理装置において、前記デバイスは、プリンタであっても良い。
【００１５】
なお、本発明は、種々の態様で実現することが可能であり、例えば、複数の監視装置と、管理装置を備えるシステムとして実現することができる。さらに本発明は、１または複数のデバイスに対する冗長な監視を行う複数の監視装置を管理する管理方法のような方法発明として実現することができる。あるいは、かかる装置、システムまたは方法を構築するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明について、図面を参照しつつ、実施例に基づいて説明する。
【００１７】
Ａ．実施例：
・ネットワークシステムの構成：
図１は、実施例におけるネットワークシステムの概略構成図である。ネットワークシステム１０００は、図１に示すように、クライアントとしての計算機（以下、単にクライアントという。）ＣＬ１〜ＣＬ３と、監視装置としての計算機ＡＧ１〜ＡＧ４（以下、単に監視装置という。）と、ネットワークデバイスとしてのプリンタＰＲＴ１〜ＰＲＴ８と、サーバＳＶと、を含む。クライアントＣＬ１〜ＣＬ３と、監視装置ＡＧ１〜ＡＧ４と、プリンタＰＲＴ１〜ＰＲＴ８とは、ローカルエリアネットワークＬＡＮ１を介して互いに接続されている。一方、サーバＳＶは、他のローカルエリアネットワークＬＡＮ２に接続されている。そのローカルエリアネットワークＬＡＮ１は、ファイアウォールＦＷを介してインターネットＩＮＴに接続されている。また、サーバＳＶは、ローカルエリアネットワークＬＡＮ２に接続されており、そのローカルエリアネットワークＬＡＮ２は、インターネットＩＮＴに接続されている。なお、以下の説明において、各クライアントＣＬ１〜ＣＬ３、各監視装置ＡＧ１〜ＡＧ４、および、各プリンタＰＲＴ１〜ＰＲＴ８を区別する必要がない場合には、符号の末尾の数字を省略し、それぞれ、クライアントＣＬ、監視装置ＡＧ、プリンタＰＲＴと表記する。
【００１８】
ファイアウォールＦＷは、ローカルエリアネットワークＬＡＮ１に接続された機器が、インターネットＩＮＴ経由で不正にアクセスされるのを避けるため、インターネットＩＮＴ経由で受信するこれら機器への接続要求を破棄するように設定されている。
【００１９】
クライアントＣＬは、中央演算装置（ＣＰＵ）と記憶装置（ＲＯＭ、ＲＡＭなど）を備える周知の計算機である。クライアントＣＬのユーザは、クライアントＣＬからローカルエリアネットワークＬＡＮ１を介して印刷ジョブを送信することによって、ローカルエリアネットワークＬＡＮ１上のプリンタＰＲＴに印刷を実行させることができる。
【００２０】
図２は、サーバの内部構成を示すブロック図である。サーバＳＶは、周知の計算機であり、図２に示すように、中央演算装置（ＣＰＵ）２１０と、ＲＯＭ、ＲＡＭなどの内部記憶装置２２０と、ハードディスクなどの外部記憶装置２８０と、を備えている。サーバＳＶは、さらに、表示部２６０と、キーボードやマウスなどの操作部２７０と、通信インターフェース部（Ｉ／Ｆ部）２９０と、を備えている。通信Ｉ／Ｆ部２９０は、ローカルエリアネットワークＬＡＮ２に接続されており、ＩＮＴなどを介してネットワーク上の他の機器、例えば、監視装置ＡＧとの通信を実行する。
【００２１】
サーバＳＶは、ローカルエリアネットワークＬＡＮ１に接続されたプリンタＰＲＴ１〜ＰＲＴ８の稼働状況を管理する管理サーバとして機能する。サーバＳＶは、ローカルエリアネットワークＬＡＮ１に接続された監視装置ＡＧ１〜ＡＧ４からプリンタＰＲＴ１〜ＰＲＴ８の属性情報を受信することにより、プリンタＰＲＴ１〜ＰＲＴ８の管理を行う。また、サーバＳＶは、監視装置ＡＧ１〜ＡＧ４の管理を行う管理サーバとして機能する。監視装置ＡＧ１〜ＡＧ４の管理は、例えば、監視装置にインストールされ、前記監視装置の少なくとも一部の機能を実現するプログラムをバージョンアップすることを含む。
【００２２】
サーバＳＶの内部記憶装置２２０には、種々のプログラムやデータが格納されるが、図２においては、本実施例における処理に必要な構成を選択的に図示し、本明細書においては、図示された構成について説明する。内部記憶装置２２０には、サーバプログラム２３０と、構成記録ファイル２５０とが、格納されている。サーバプログラム２３０がＣＰＵ２１０によって実行されることにより、サーバＳＶの管理サーバとしての機能が実現される。
【００２３】
サーバプログラム２３０は、バージョンアップ処理部２３２と、構成取得部２３４と、バージョンアップ対象決定部２３６と、監視装置通信部２３８とを含んでいる。バージョンアップ処理部２３２は、監視装置ＡＧの監視プログラムのバージョンアップを監視装置ＡＧ１〜ＡＧ４に対してそれぞれ行うバージョンアップ処理を実行する。構成取得部２３４は、バージョンアップ処理に先立って、各プリンタＰＲＴと各監視装置ＡＧについて、監視されるプリンタＰＲＴと監視する監視装置の組み合わせを取得する。バージョンアップ対象決定部２３６は、バージョンアップ処理に先立って、バージョンアップ処理の進め方の順序などを決定するバージョンアップ対象決定処理を実行する。監視装置通信部２３８は、監視装置ＡＧとの通信を実行する。構成記録ファイル２５０には、上述した監視されるプリンタＰＲＴと監視する監視装置の組み合わせが記録される。
【００２４】
図３は、監視装置の内部構成を示すブロック図である。監視装置ＡＧは、周知の計算機であり、図３に示すように、ＣＰＵ１１０と、ＲＯＭやＲＡＭなどの内部記憶装置１２０と、ハードディスクなどの外部記憶装置１８０と、を備えている。監視装置ＡＧは、さらに、表示部１６０と、キーボードやマウスなどの操作部１７０と、通信インターフェース部（Ｉ／Ｆ部）１９０と、を備えている。通信Ｉ／Ｆ部１９０は、ローカルエリアネットワークＬＡＮ１に接続されており、ネットワーク上の他の機器、例えば、サーバＳＶやプリンタＰＲＴとの通信を実行する。
【００２５】
監視装置ＡＧの内部記憶装置１２０には、種々のプログラムやデータが格納されるが、図３においては、本実施例における処理に必要な構成を選択的に図示し、本明細書においては、図示された構成について説明する。内部記憶装置１２０には、監視プログラム１３２と、サーバ通信プログラム１３４と、監視設定ファイル１５０と、収集情報ファイル１４０とが、格納されている。
【００２６】
監視プログラム１３２がＣＰＵ１１０によって実行されることにより、プリンタＰＲＴから属性情報を収集するプリンタ監視機能が監視装置ＡＧにおいて実現される。図４は、監視設定ファイルの一例を示す説明図である。監視設定ファイル１５０は、監視装置ＡＧの監視プログラム１３２が、監視対象のプリンタから属性情報を収集する際に参照する情報が設定されたファイルである。監視設定ファイル１５０には、図４に示すように、監視装置ＡＧが監視対象とするプリンタのプリンタＩＤが、ＩＰアドレスと関連付けて記録されている。図４に示す監視設定ファイル１５０は、監視装置ＡＧ１に格納されているものであり、監視装置ＡＧ１は、８つのプリンタＰＲＴのうちのプリンタＰＲＴ１〜ＰＲＴ５を監視対象としていることがわかる。ここで、各監視装置ＡＧ１〜ＡＧ４は、必ずしもプリンタＰＲＴ１〜ＰＲＴ８全てを監視対象とする必要はないが、プリンタＰＲＴ１〜ＰＲＴ８のそれぞれが監視装置ＡＧ１〜ＡＧ４のうちの２以上の監視装置から監視対象とされることが好ましい。こうすることによって、各プリンタＰＲＴ１〜ＰＲＴ８について冗長な監視が行われ、監視装置のいずれかが故障した場合などにおいても、監視漏れを防止または抑制することができる。
【００２７】
監視プログラム１３２は、監視対象であるプリンタに、そのプリンタの属性情報を一定の周期的で問い合わせることにより、そのプリンタから属性情報を収集する。属性情報の問い合わせは、例えば、ＳＮＭＰ（Simple Network Management Protocol）に従って実行される。監視プログラム１３２は、収集された属性情報を、収集情報ファイル１４０に記憶しておく。収集される属性情報は、例えば、プリンタのトナー残量などの消耗品情報、紙詰まりなどプリンタのエラー状態を示すエラー情報、印刷枚数などプリンタの印刷実績を示す実績情報を含む。
【００２８】
サーバ通信プログラム１３４は、サーバＳＶとの通信を実行する。監視装置ＡＧが接続されたローカルエリアネットワークＬＡＮ１とインターネットＩＮＴとの間には、上述したようにファイアウォールＦＷが設置されている。このため、監視装置ＡＧとサーバＳＶとの間で通信を行うためには、監視装置ＡＧからサーバＳＶに接続要求を送って、サーバＳＶとの間の接続を確立する必要がある。監視装置ＡＧとサーバＳＶとの間の通信は、例えば、例えば、ＨＴＴＰ（Hyper Text Transfer Protocol）に従って、実行される。
【００２９】
図５は、通常時におけるサーバと監視装置との定期的な通信を示すシーケンス図である。この定期的な通信は、各監視装置ＡＧ１〜ＡＧ４とサーバＳＶとの間で行われているが、図５では、図の煩雑を避けるため、監視装置ＡＧ１とサーバＳＶとの通信と、監視装置ＡＧ２とサーバＳＶとの通信を、選択的に図示している。図５に示すように、各監視装置ＡＧのサーバ通信プログラム１３４は、一定の周期Ｔｃで、サーバＳＶに対して定期通信を行う（図５：ａ１およびｂ１）。サーバＳＶの監視装置通信部２３８は、この定期通信に対する応答（定期応答）を行う（図５：ａ２およびｂ２）。定期通信では、主に、監視装置ＡＧがプリンタＰＲＴから収集した属性情報（収集情報ファイル１４０）の送信が行われる。これにより、サーバＳＶは、上述したように各プリンタＰＲＴの管理を行うことができる。定期応答は、主に、監視装置ＡＧからの属性情報をサーバＳＶが受信したことを確認するために行われる。
【００３０】
サーバＳＶの構成取得部２３４は、監視装置ＡＧから送信される情報、例えば、収集情報ファイル１４０や監視設定ファイル１５０によって、どの監視装置ＡＧが、どのプリンタＰＲＴを監視対象としているかを認識することができる。すなわち、構成取得部２３４は、監視されるプリンタＰＲＴと監視する監視装置ＡＧの組み合わせを、取得することができる。構成取得部２３４は、監視されるプリンタＰＲＴと監視する監視装置ＡＧの組み合わせ（監視−被監視組み合わせ）を構成記録ファイル２５０に記録しておく。
【００３１】
図６は、構成記録ファイル２５０を説明する概念図である。図６（ａ）は、監視−被監視組み合わせを模式的に示している。実線で結ばれているプリンタＰＲＴと監視装置ＡＧが監視−被監視組み合わせを構成している。図６（ａ）では、各プリンタＰＲＴがそれぞれ２つの監視装置ＡＧから冗長に監視されていることが解る。図６（ｂ）は、図６（ａ）に示す監視−被監視組み合わせが記録された構成記録ファイル２５０の一例である。
【００３２】
・バージョンアップ処理：
サーバＳＶが、各監視装置ＡＧにインストールされた監視プログラム１３２をバージョンアップする処理について説明する。まず、サーバＳＶの管理者が、新たなバージョンの監視プログラム１３２を、サーバＳＶの内部記憶装置２２０や外部記憶装置２８０に格納して、バージョンアップ処理の実行を指示する。そうすると、サーバＳＶにおいてバージョンアップ処理に先立って、バージョンアップ対象決定処理が実行される。
【００３３】
図７〜図１０を参照して、バージョンアップ対象決定処理について説明する。図７は、バージョンアップ対象決定処理の処理ルーチンを示すフローチャートである。図８は、バージョンアップを複数の期間に分ける組み合わせパターンを示す図である。図９は、組み合わせパターンごとの監視漏れの数を示す図である。図１０は、バージョンアップ後の監視装置に監視されるプリンタの数を示す図である。バージョンアップ処理は、複数の期間に分けて実行される。各監視装置ＡＧ１〜ＡＧ４は、複数の期間のいずれかにおいて、バージョンアップの対象とされる。バージョンアップ対象決定処理は、複数の期間の数と、各期間において対象となる監視装置ＡＧとを、上述した監視−被監視組み合わせを考慮して決定する処理である。
【００３４】
バージョンアップ対象決定処理が開始されると、サーバプログラム２３０のバージョンアップ対象決定部２３６は、先ず、バージョンアップ処理を複数の期間に分ける組み合わせパターンを生成する（ステップＳ１０２）。バージョンアップ処理を複数の期間に分けて行うのは、全ての監視装置ＡＧを同時にバージョンアップすると、その間、ネットワークデバイスの監視は全く行われなくなるからである。監視装置ＡＧのバージョンアップが行われている間、監視装置ＡＧのプリンタ監視機能は、完全に停止するからである。一方、監視装置ＡＧ１〜ＡＧ４を、４つの期間に分けて１台ずつバージョンアップすると、各プリンタＰＲＴの監視漏れが発生するおそれはないが、全ての監視装置ＡＧ１〜ＡＧ４のバージョンアップが終了するまでに時間がかかり過ぎ、効率が悪い。このため、バージョンアップ対象決定部２３６は、２つの期間、あるいは、３つの期間に分けてバージョンアップを実行する組み合わせパターンを生成する。
【００３５】
２つの期間に分けて、４台の監視装置ＡＧをバージョンアップするパターンには、第１の期間に３台、第２の期間に１台の監視装置ＡＧをバージョンアップするパターンＡと、第１の期間と第２の期間に２台ずつ監視装置ＡＧをバージョンアップするパターンＢがある。３つの期間に分けて、４台の監視装置ＡＧをバージョンアップするパターンには、第１の期間に２台、第２の期間と第３の期間に１台ずつ監視装置ＡＧをバージョンアップするパターンＣがある。この段階では、各期間の実行順序は考えない。
【００３６】
図８に示すように、パターンＡに属する組み合わせパターンは、４つの組み合わせパターンＡ−１〜Ａ−４が考えられ、パターンＢに属する組み合わせパターンは、３つの組み合わせパターンＢ−１〜Ｂ−３が考えられ、パターンＣに属する組み合わせパターンは、６つの組み合わせパターンＣ−１〜Ｃ−６が考えられる。バージョンアップ対象決定部２３６は、これらの全ての組み合わせパターンを生成する。
【００３７】
次いで、バージョンアップ対象決定部２３６は、生成された組み合わせパターンのそれぞれについて、各期間で発生する監視漏れの数を計算する（ステップＳ１０４）。図９には、その計算結果が示されている。例えば、組み合わせパターンＡ−１では、第１の期間において３台の監視装置ＡＧ１〜ＡＧ３がバージョンアップ対象とされるので、第１の期間においては、残りの監視装置ＡＧ４のみが監視を継続できることになる。そうすると、図６から解るように、監視装置ＡＧ４に監視されていない３台のプリンタＰＲＴ１〜ＰＲＴ３が監視漏れとなる。一方、組み合わせパターンＡ−１では、第２の期間において１台の監視装置ＡＧ４がバージョンアップ対象とされるので、第２の期間においては、残りの３台の監視装置ＡＧ１〜ＡＧ３が監視を継続することになる。そうすると、図６から解るように、監視装置ＡＧ１〜ＡＧ３のいずれからも監視されていないプリンタＰＲＴは無いので、監視漏れはない。従って、組み合わせパターンＡ−１の第１の期間の監視漏れの数は３であり、組み合わせパターンＡ−１の第２の期間の監視漏れの数は０である。バージョンアップ対象決定部２３６は、このようにして、全ての生成された組み合わせパターンについて監視漏れの数を計算する。
【００３８】
次に、バージョンアップ対象決定部２３６は、ステップＳ１０２において生成された組み合わせパターンの中から実際に使用する１つの組み合わせパターンを決定する（ステップＳ１０６）。ここで、１つの組み合わせパターンを決定するための条件は、監視漏れが発生しないことである。図９から解るように、組み合わせパターンＣ−４では、監視漏れが発生しないので、バージョンアップ対象決定部２３６は、組み合わせパターンＣ−４を、実際に使用する組み合わせパターンとして決定する。
【００３９】
使用する組み合わせパターンが決定されると、バージョンアップ対象決定部２３６は、決定された組み合わせパターンについて、全ての実行順序パターンを生成する（ステップＳ１０８）。例えば、組み合わせパターンＣ−４には、第１〜第３の期間をどのような順序で実行するかによって、図１０の右側に示すように、６つの順序パターンＣ−４−１〜Ｃ−４−６がある。バージョンアップ対象決定部２３６は、その全ての順序パターンを生成する。
【００４０】
次に、バージョンアップ対象決定部２３６は、生成された全ての順序パターンについて、各段階においてバージョンアップ済みの監視装置ＡＧに監視されるプリンタＰＲＴの数を計算する（ステップＳ１１０）。図１０に示すように、例えば、最初にバージョンアップが行われる期間を期間Ａ、２番目にバージョンアップが行われる期間を期間Ｂ、最後にバージョンアップが行われる期間を期間Ｃとする。例えば、順序パターンＣ−４−１では、期間Ａにおいて２台の監視装置ＡＧ２、ＡＧ３がバージョンアップされる。従って、監視装置ＡＧ２、ＡＧ３によって監視されているプリンタＰＲＴの台数が、期間Ａの終了段階においてバージョンアップ済みの監視装置ＡＧに監視されるプリンタＰＲＴの数になる。この例では、監視装置ＡＧ２、ＡＧ３によって、８台のプリンタＰＲＴのうちのプリンタＰＲＴ１〜ＰＲＴ３、ＰＲＴ６〜ＰＲＴ８が監視されている。従って、順序パターンＣ−４−１では、期間Ａの終了段階においてバージョンアップ済みの監視装置ＡＧに監視されるプリンタＰＲＴの数は、６台ということになる。バージョンアップ対象決定部２３６は、このようにして、全ての順序パターンについて、バージョンアップ済みの監視装置ＡＧに監視されるプリンタＰＲＴの数を計算する。
【００４１】
次に、バージョンアップ対象決定部２３６は、ステップＳ１０８において生成された順序パターンの中から実際に使用する１つの順序パターンを決定する（ステップＳ１１２）。ここで、１つの順序パターンを決定するための条件は、バージョンアップを終了された監視装置ＡＧに監視されるプリンタＰＲＴの数がなるべく早い段階で多くなることである。図１０に示す例において、順序パターンＣ−４−１またはＣ−４−２では、期間Ａが終了した段階で、他の順序パターンより多い６台のプリンタＰＲＴ１〜ＰＲＴ３、ＰＲＴ６〜ＰＲＴ８がバージョンアップを終了された監視装置ＡＧに監視されることになる。従って、この例では、バージョンアップ対象決定部２３６は、本ステップにおいて、順序パターンＣ−４−１またはＣ−４−２のいずれかを、使用する順序パターンとして決定する。使用する順序パターンが決定されると、バージョンアップ対象決定部２３６は、バージョンアップ対象決定処理を終了する。
【００４２】
使用する順序パターンが決定されると、サーバプログラム２３０のバージョンアップ処理部２３２は、決定された順序パターンに従って、バージョンアップ処理を実行する。図１１は、バージョンアップ処理の処理シーケンスを示すシーケンス図である。ここでは、図１０における順序パターンＣ−４−１に従ったバージョンアップ処理について説明する。順序パターンＣ−４−１は、期間Ａにおいて２台の監視装置ＡＧ２、ＡＧ３のバージョンアップを行い、期間Ｂにおいて１台の監視装置ＡＧ１のバージョンアップを行い、期間Ｃにおいて、１台の監視装置ＡＧ４のバージョンアップを行うパターンである。図１１では、図の煩雑を避けるため、監視装置ＡＧ１とサーバＳＶとの通信と、監視装置ＡＧ２とサーバＳＶとの通信を、選択的に図示している。
【００４３】
まず、サーバプログラム２３０のバージョンアップ処理部２３２は、期間Ａのバージョンアップを開始する。バージョンアップ処理部２３２は、期間Ａにおけるバージョンアップ対象である監視装置ＡＧ２または監視装置ＡＧ３からの上述した定期通信を待つ。バージョンアップ処理部２３２側から、監視装置ＡＧ２や監視装置ＡＧ３に能動的に通信を行うことは、上述したようにインターネットＩＮＴとローカルエリアネットワークＬＡＮ１との間のファイアウォールＦＷのために不可能だからである。
【００４４】
期間Ａにおけるバージョンアップ対象である監視装置ＡＧから定期通信（例えば、図１１：ａ１）があると、バージョンアップ処理部２３２は、その定期通信に対する定期応答にバージョンアップリクエスト（ＶＵリクエストと略す。）を含める（例えば、図１１：ａ２）。一方、期間Ａにおけるバージョンアップ対象ではない監視装置ＡＧからの定期通信（例えば、図１１：ｂ０１）があっても、バージョンアップ処理部２３２は、その定期通信に対する定期応答にＶＵリクエストを含めず、通常どおりの定期応答を行う（例えば、図１１：ｂ０２）。
【００４５】
監視装置ＡＧのサーバ通信プログラム１３４は、ＶＵリクエストを含む定期応答を受信すると、サーバＳＶに対して、新たなバージョンの監視プログラム１３２のダウンロードを要求するダウンロード要求を送信する（例えば、図１１：ａ３）。サーバＳＶのバージョンアップ処理部２３２は、監視装置ＡＧからダウンロード要求を受信すると、それに応答して新たなバージョンの監視プログラム１３２を監視装置ＡＧにダウンロードする（例えば、図１１：ａ４）。例えば、新たなバージョンの監視プログラム１３２は、ＺＩＰ形式などに従った圧縮ファイルとして、インストーラと共にダウンロードされる。
【００４６】
新たなバージョンの監視プログラムファイルを受け取った監視装置ＡＧは、受け取ったファイルを用いて、監視プログラム１３２のバージョンアップを実行する（例えば、図１１：ａ５）。バージョンアップの実行には、プログラムファイルの解凍、および、新たなバージョンの監視プログラム１３２のインストールが含まれる。監視プログラム１３２のバージョンアップが完了すると、監視装置ＡＧのサーバ通信プログラム１３４は、バージョンアップの完了をサーバＳＶに対して通知する（例えば、図１１：ａ６）。
【００４７】
このようにして、期間Ａにおけるバージョンアップ対象である監視装置ＡＧの全て、上述した順序パターンＣ−４−１の場合には監視装置ＡＧ２および監視装置ＡＧ３から、バージョンアップの完了通知を受け取ると、サーバＳＶのバージョンアップ処理部２３２は、期間Ａを終了して、期間Ｂを開始する。
【００４８】
期間Ｂにおいて、バージョンアップ処理部２３２は、期間Ｂにおけるバージョンアップ対象である監視装置ＡＧから定期通信（例えば、図１１：ｂ１）があると、バージョンアップ処理部２３２は、その定期通信に対する定期応答にバージョンアップリクエスト（ＶＵリクエストと略す。）を含める（例えば、図１１：ｂ２）。一方、期間Ｂにおけるバージョンアップ対象ではない監視装置ＡＧからの定期通信（例えば、図１１：ａ０１）があっても、バージョンアップ処理部２３２は、その定期通信に対する定期応答にＶＵリクエストを含めず、通常どおりの定期応答を行う（例えば、図１１：ａ０２）。
【００４９】
その後、バージョンアップ処理部２３２と、期間Ｂにおけるバージョンアップ対象である監視装置ＡＧ、上述した順序パターンＣ−３−１の場合には監視装置ＡＧ１は、上述した図１１：ａ３〜ａ６と同様の処理（例えば、図１１：ｂ３〜ｂ６）を実行する。これにより、期間Ｂにおけるバージョンアップ対象である監視装置ＡＧにおいて、監視プログラム１３２のバージョンアップが実行される。
【００５０】
バージョンアップ処理部２３２は、期間Ｂを終了すると、期間Ｃを開始し、期間Ｃにおけるバージョンアップ対象である監視装置ＡＧ、上述した順序パターンＣ−４−１の場合には監視装置ＡＧ４に対して、上述した処理を同様に行う。バージョンアップ処理部２３２は、全ての監視装置ＡＧ１〜ＡＧ４の監視プログラム１３２のバージョンアップが完了すると、バージョンアップ処理を終了する。
【００５１】
以上説明した本実施例における管理装置としてのサーバＳＶによれば、監視漏れの無い組み合わせパターンが選択されるので、バージョンアップ処理に伴う監視漏れの発生を抑制することができる。
【００５２】
さらに、サーバＳＶによれば、監視漏れの発生がないならば、複数の監視装置ＡＧのバージョンアップを同じ期間に行う。例えば、上述の例では、監視装置ＡＧ２と監視装置ＡＧ３のバージョンアップを同じ期間Ａに行っている。従って、期間の数を低減し、速やかに全ての監視装置ＡＧのバージョンアップを完了することができる。
【００５３】
さらに、サーバＳＶによれば、バージョンアップを終了された監視装置ＡＧに監視されるプリンタＰＲＴの数がなるべく早い段階で多くなるように、順序パターンが選択される。従って、新たなバージョンの監視プログラム１３２による監視を、なるべく早い段階で多くのプリンタＰＲＴに対して行うことができる。
【００５４】
Ｂ．変形例：
・第１変形例：
上記実施例のバージョンアップ対象決定処理におけるステップＳ１０４において、監視漏れの無い組み合わせパターンが複数ある場合には、期間の数が少ない方を選択することが好ましい。こうすることにより、より速やかに全ての監視装置ＡＧのバージョンアップを完了することができる。また、期間の数が同じで、監視漏れの無い組み合わせパターンが複数ある場合には、複数の組み合わせパターンのそれぞれについて、全ての順序パターンを生成し（ステップＳ１０８）、それぞれの全ての順序パターンについてバージョンアップ済みの監視装置ＡＧに監視されるプリンタＰＲＴの数を計算する（ステップＳ１１０）のが好ましい。こうすることにより、より最適な順序パターンを決定することができる。
・第２変形例：
上記実施例のバージョンアップ対象決定処理におけるステップＳ１０４において、監視漏れの無い組み合わせパターンが無い場合には、一台ずつ監視装置ＡＧをバージョンアップすることとしても良い。または、ｎ台（例えば、２台）までは監視漏れを許容することとし、ｎ台を超える監視漏れが発生せざるを得ない場合には、一台ずつ監視装置ＡＧをバージョンアップすることとしても良い。
・第３変形例：
上記実施例では、監視プログラム１３２のバージョンアップする処理について説明したが、これに限られない。監視装置に対する処理であって、処理中に監視装置の監視機能の停止を伴う処理であれば良く、例えば、サーバ通信プログラム１３４のバージョンアップや、監視装置の初期化処理などに対して適用することができる。
【００５５】
・第４変形例：
上記実施例では、被監視デバイスとしてプリンタＰＲＴが用いられているが、他の種類のデバイスを用いても良い。例えば、スキャナ、複合機、ファクシミリ、コピー機を、被監視デバイスとして用いても良い。あるいは、ルータ、スイッチを始めとするネットワーク中継装置を被監視デバイスとしても良い。
【００５６】
・第５変形例：
上記実施例において、ハードウエアによって実現されていた構成の一部をソフトウエアに置き換えても良く、逆にソフトウエアによって実現されていた構成の一部をハードウエアに置き換えても良い。
【００５７】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【図面の簡単な説明】
【００５８】
【図１】実施例におけるネットワークシステムの概略構成図。
【図２】サーバの内部構成を示すブロック図。
【図３】監視装置の内部構成を示すブロック図。
【図４】監視設定ファイルの一例を示す説明図。
【図５】通常時におけるサーバと監視装置との定期的な通信を示すシーケンス図。
【図６】構成記録ファイルを説明する概念図。
【図７】バージョンアップ対象決定処理の処理ルーチンを示すフローチャート。
【図８】バージョンアップを複数の期間に分ける組み合わせパターンを示す図。
【図９】組み合わせパターンごとの監視漏れの数を示す図。
【図１０】バージョンアップ後の監視装置に監視されるプリンタの数を示す図。
【図１１】バージョンアップ処理の処理シーケンスを示すシーケンス図。
【符号の説明】
【００５９】
１１０…ＣＰＵ
１２０…内部記憶装置
１３２…監視プログラム
１３４…サーバ通信プログラム
１４０…収集情報ファイル
１５０…監視設定ファイル
１６０…表示部
１７０…操作部
１８０…外部記憶装置
１９０…通信Ｉ／Ｆ部
２１０…ＣＰＵ
２２０…内部記憶装置
２３０…サーバプログラム
２３２…バージョンアップ処理部
２３４…構成取得部
２３６…バージョンアップ対象決定部
２３８…監視装置通信部
２５０…構成記録ファイル
２６０…表示部
２７０…操作部
２８０…外部記憶装置
２９０…通信Ｉ／Ｆ部
１０００…ネットワークシステム
ＰＲＴ１〜ＰＲＴ８…プリンタ
ＣＬ１〜ＣＬ３…クライアント
ＳＶ…サーバ
ＡＧ１〜ＡＧ４…監視装置
【図１】
0004821441.tif 000002
【図２】
0004821441.tif 000003
【図３】
0004821441.tif 000004
【図４】
0004821441.tif 000005
【図５】
0004821441.tif 000006
【図６】
0004821441.tif 000007
【図７】
0004821441.tif 000008
【図８】
0004821441.tif 000009
【図９】
0004821441.tif 000010
【図１０】
0004821441.tif 000011
【図１１】
0004821441.tif 000012