[第1実施形態]
以下、本発明を実施するための形態について図面を用いて説明する。
<本実施形態のネットワーク機器管理システムの構成例>
図1は、複数のネットワーク機器が設置された複数の顧客内ネットワークなどの拠点ネットワークと、それらネットワーク機器のための遠隔管理サービスサーバーとのネットワークの接続関係を示す図である。
図1において、100〜102は複写機などのネットワーク機器を示している。また、110〜112は顧客の社内LAN(ローカルエリアネットワーク)を示している。LAN110〜112のそれぞれのネットワークは拠点毎に分かれている。各拠点はWAN(ワイドエリアネットワーク)やインターネットVPN、広域イーサネット(登録商標)などのネットワークによって互いに接続されている。図1ではLAN110を顧客企業の本社内ネットワークとして示している。また、LAN111は本社とは別拠点にある営業所ネットワークを示しており、LAN112は、本社および営業所とは別拠点である工場内ネットワークを示している。ネットワーク機器100〜102は、顧客の社内LAN(Local Area Network)110〜112にそれぞれ接続された複合機(MFP(Multi-Function Printer))や単能機(SFP(Single Function Printer))などのプリンタ或いは画像形成装置を示している。
本実施例では、ネットワークを介してさまざまな機器情報、稼働情報を送信可能な機能を備えるネットワーク機器100〜102として、プリント・スキャンなどの機能をもつ複写機を例示している。なお、本実施形態は、複写機以外にもそのような送信機能を備える機器であれば適用可能で、例えばプリンターやスキャナー、ネットワークカメラ、デジタル医療器などにも適用可能である。
社内LANには、ネットワーク機器のほかに複数のPCや業務サーバー、その他の機器が接続されている。図1の本社内ネットワーク110にはさらに3つのネットワーク120,121,122が含まれている。ネットワーク120には一般の社員が利用する端末125やネットワーク機器100が接続されていることを示している。ネットワーク121は、顧客の社内LANとインターネット140との接続ポイントが設けられているネットワークであり、ファイアウォール132やプロクシ(Proxy)サーバー133が接続されていることを示している。ネットワーク122は顧客のデータセンターのネットワークを示しており、業務サーバー131やネットワーク機器100〜102を監視するための監視装置130が接続されている。ここでファイアウォール132はインターネット等の外部ネットワークと社内ネットワークとの通信を制限する機能を有する。
営業所内ネットワーク111には拠点LANであるネットワーク123があり、営業担当者などのユーザーが利用する端末126やネットワーク機器101が接続されている。工場内ネットワーク112には拠点LANであるネットワーク124があり、工場で働くユーザーが利用する端末127やネットワーク機器102が接続されている。また、インターネット140上には遠隔管理サービスサーバー150やその他情報提供サービス151などから構成される機器管理システムがあり、デバイスの稼働状況レポートや遠隔保守などのサービスを提供している。
図1に描いている顧客のネットワークは一例であり、インターネットには無数の企業LANが接続されている。企業ネットワーク110〜112には、セキュリティのためルーターやファイアウォールにアクセス制御が設定されている。例えば、工場内ネットワーク112のネットワークの端末からは本社ネットワーク110にあるデータセンターネットワーク122にアクセスが許可されている。この設定により工場内の端末127から業務サーバー131へアクセスし日々の業務を運営している。しかし、工場内の端末127からインターネット上のサービスにアクセスする必要がない場合、本社内ネットワーク121へのアクセス設定が行なわれていない。このような設定を施すことで工場内のネットワーク124に接続されている端末127からはインターネットへのアクセスができないようになっている。
一方、本社や営業所では、業務上インターネット140へアクセスして外部から提供されるサービスを利用する必要がある。このような拠点のネットワーク120や123に接続されている端末125や126は、ネットワーク121へのアクセスが許されている。また、ネットワーク120や123に接続されている端末125や126は、データセンターネットワークに接続されている業務サーバー131にアクセスが許されている。
このような環境で監視装置130は、顧客内ネットワークのどのネットワーク機器にもアクセスのできるデータセンターネットワーク122に接続されている。監視装置130は、インターネット上の遠隔管理サービスサーバー150へネットワーク機器の監視情報を送信するため、ネットワーク121へアクセスを許されている。またインターネット140へのアクセスが許されている場合には、ファイアウォール132の設定においても、ファイアウォール132を超えてインターネットへのアクセスが許されている。
<本実施形態のネットワーク機器の制御部構成例>
図2は、図1におけるネットワーク機器100〜102等の監視装置130の監視対象となるネットワーク機器のハードウェア制御部の構成を示すブロック図である。ネットワーク機器100の制御部は主として、コピー、プリント、ブラウザーアプリケーションやネットワーク機器自身を監視する監視モジュールなどのプログラムの処理を行う。制御部は、システム管理を行う部分と、画像処理管理を行う部分から構成されている。
システム管理を行う各構成要素は、操作部301、Network I/F部202、回線I/F部203、ROM204、RAM205、記憶装置206、CPU207から構成されている。また、画像処理管理を行う各構成要素は、IO制御部208、画像処理部209、画像回転部210、デジタルI/F部211、圧縮伸長部212、画素密度変換部213から構成されている。そして、これらの構成要素は、システムバス216及び画像バス217に接続されている。ROM204にはコピー、プリント、ネットワーク機器の監視プログラムなどの制御プログラムが格納される。
記憶装置206にはウェブブラウザやユーザーによってインストールされたアプリケーションなどの一般的なプログラムが格納される。プログラムには、監視装置130の要求(リクエスト)に応じて装置自身の稼働状態や設定等を監視し、監視装置130に送信するなど、監視を実行する監視プログラム(あるいは監視モジュール)が含まれる。ROM204や記憶装置206に格納されたこれらのプログラムはCPU207で実行される。RAM205は、プログラムを実行するためのワークメモリエリアである。また、アプリケーションプログラムがネットワーク機器を制御するうえで必要な画像データやネットワークコンテンツを一時記憶するための画像メモリでもある。記憶装置206は不揮発性記憶装置であるため、ネットワーク機器100の再起動後も保持しておく必要のあるアプリケーションのライセンス情報や各設定値などが格納される。Network I/F202はLANと接続するためのインターフェース部であり、LANを介してネットワーク上のさまざまなコンピューターと通信を行う。
また、ネットワーク機器に格納されているアプリケーションの起動や終了その他の処理は、ネットワーク機器外のプログラムからネットワークを介して指示することが可能である。例えば、ネットワーク機器自身を監視する監視モジュールは、監視装置130から指示を受けて起動したり、監視を開始したりすることができる。また、ネットワーク機器の各設定値についても同様であり、ネットワークを介して設定することができる。例えば、ネットワーク機器自身がインターネットアクセスをする際に利用するProxyサーバー133のアドレス設定は、監視装置130からの指示を受けて設定することができる。
回線I/F部203は、公衆電話網に接続され、ROM204内の通信制御プログラムにより制御され、モデムなどの装置を介して遠隔の端末とデータの送受信を行う。ファクシミリの送受信もこの回線I/F部203を使用して行う。操作部201には表示手段やキー入力手段が内蔵されており、これらはCPU207にて制御される。操作者は、キー入力手段を通してスキャナー読み取りやプリント出力に関する各種設定指示や、作動/停止指示を行う。以上のデバイスがシステムバス216上に配置される。
IO制御部208は、システムバス216と画像データを高速で転送する画像バス217とを接続するためのバスブリッジである。画像バス217は、たとえばPCIバスまたはIEEE1394で構成される。
画像バス217上には以下のデバイスが配置される。デジタルI/F部211は、デバイスのリーダー部215やプリンター部214と制御部とを接続し、画像データの同期系/非同期系の変換を行う。また、リーダー部215やプリンター部214内の各所に配置した前述の各種センサーが検出した情報は、このデジタルI/F部211、及びIO制御部208を介してシステムバス216へ流れる。
画像処理部209は、入力及び出力画像データに対し補正/加工/編集を行う。画像回転部210は画像データの回転を行う。画像圧縮伸長部212は、多値画像データはJPEG、2値画像データはJBIG/MMR/MR/MHの圧縮伸張処理を行う。画像密度変換部213は、出力用画像データに対して解像度変換等を行う。
上記構成により、ネットワーク機器101〜103は、複写機やプリンター、スキャナー等の機能を提供すると共に、ネットワークを介してデータセンターネットワーク122に設けられた監視装置130と通信することができる。また、監視モジュールを実行することができる。
<ネットワーク機器のソフトウェアモジュール構成>
図3は、図1における監視装置130の監視対象となるネットワーク機器100〜103のソフトウェアモジュールの構成、特に監視モジュールに関する構成を説明する図である。図中の301乃至307、及び、309乃至311がネットワーク機器100のソフトウェアモジュールに該当する。301はネットワーク機器における自己監視モジュールを表しており、その中で中心的な処理を行なう302は全体マネージャーを表している。図中308はネットワーク機器外部のネットワークを表しており、図1ではLAN120、123、124に相当する。そこに外部からの指示を受けつけ、ネットワーク機器の管理情報を提供するIFとして設定管理IF305がある。この設定管理IF305は外部からのリクエストに対して、ネットワーク機器内で処理を実行し、要求されたデータを返し、さらにネットワーク機器内の設定情報を変更するためのIFを提供している。例えば、プロトコルとしてSNMPのようなネットワーク機器を管理するためのプロトコルを用いることができるが、ここではSNMPに限定することはなく、その他の標準プロトコル、独自のプロトコル、及び、その他の管理プロトコルなどを利用してもよい。
303はタイマーを表している。監視モジュール301の全体マネージャー302が常にネットワーク機器の状態を監視している。ネットワーク機器にジャムやエラーなどのイベントが発生するとデバイスインターフェース309を介してイベントに係るイベント情報を収集して、遠隔管理サービスサーバー150へ収集したイベント情報を送信する。
その他に、カウンターやログなどの情報は送信タイミングをタイマー303にセットしておき、遠隔管理サービスサーバー150に送信すべき時刻になったらタイマー303から呼び出しを受ける。そしてあらかじめ決められたデータを決められた所定の時間間隔で遠隔管理サービスサーバー150に送信する。
304は自己監視モジュールにおける設定管理マネージャーを表している。ここではネットワークを介して設定される系のみを記載しているが、LUI(ローカルUI)など別のIFからの指示に対してもまとめて設定情報の管理を行なってもよい。例えば、遠隔管理サービスサーバー150のURL設定やProxyサーバーの設定、自己監視の開始/停止、などの設定を外部から受け付け、全体マネージャー302と連携して制御している。これらの設定変更は、ローカルUIからでも可能である。
306は通信管理マネージャーを表している。全体マネージャー302はイベントの発生やタイマー303の満了に応じてネットワーク機器の監視情報を遠隔管理サービスサーバー150に送信する。このときこの通信管理マネージャー306によって送信すべき必須データがこのモジュールが収集し、送信すべきデータが十分であるか否かを確認して送信を行なう。また、通信管理マネージャー306は、情報の優先順位や再送すべきか否かなどの制御をして適切な順番と適切なタイミングで送信制御を行なう。
307はHTTP/SOAP IFを表している。このIFはHTTPクライアントであり、外部ネットワーク308に対してデータを送信するためのIFである。ここでは遠隔管理サービスサーバー150に対してネットワーク機器の自己監視情報を送信するためのクライアントとなっている。ここでSOAP(Single Object Access Protocol)は、XMLベースのプロトコルであり、たとえばWebサービスの提供や利用のために用いられる。すなわち本例ではSOAPを用いて監視サーバー150との間でメッセージの送受信を行う。なお図中には、HTTP/SOAPとプロトコルの記載をしているが、REST/JSONを用いた軽量プロトコルでも、MQTTやWeb Socketを用いたIOTなどに利用が見込まれているプロトコルを利用してもよい。ここはネットワーク機器の監視情報を遠隔管理サービスサーバー150に送信するための処理を行なうモジュールでありプロトコルを限定しない。
310は機器設定情報格納部に対するDBアクセスを管理するDBアクセス管理部を表している。また311は、機器設定情報格納部であり、機器の設定情報を格納しておくためのDBを表している。機器設定情報格納部311では、主にIPアドレスやProxyサーバーなどのネットワーク系設定情報や遠隔管理サービスサーバー150のURL情報などが格納されている。機器設定情報格納部311にはこのほか、たとえばイベントの発生のつど収集される情報等を格納してもよい。例えば、図1では監視装置130がネットワーク機器に対して、Proxyサーバーの設定と遠隔管理サービスサーバー150に対する通信テストとを指示した場合には、ネットワーク機器、特に設定管理マネージャー304は、設定管理IF305を介して設定変更等の指示を受け付ける。プロクシサーバーの設定とは、ここではネットワーク機器がプロクシサーバーを介して通信を行うための、ネットワーク機器に対する設定である。設定管理マネージャー304は、Proxyサーバーの設定指示を受け付けるとDBアクセス管理部301を介してDBすなわち機器設定情報格納部311にProxyサーバーの設定を格納する。またこの処理と共に全体マネージャー302に通信テスト発行指示が発行される。
この通信テスト発行指示により、全体マネージャー302はDBアクセス管理部310を介して、通信テストに必要な情報を取得する。この必要な情報とは、遠隔管理サービスサーバー150のURLや、設定したProxyサーバー133のアドレスである。この情報を取得した全体マネージャー302は、通信テストを実行するために通信管理マネージャー306に取得した情報とともに通信テスト指示を発行する。通信マネージャー306は、通信テストの相手のURLやProxyサーバー133のアドレスのほかに、ネットワーク機器の識別子やその他通信テストを実行するために必要な情報を収集し、HTTP/SOAP IF307に通信テスト指示を与える。するとHTTP/SOAP IF307は遠隔管理サービスサーバー150に対して通信テストを実施し、テスト成功のレスポンスを受けると共に全体マネージャー302はネットワーク機器の自己監視を開始する。
<本実施形態の監視装置130の制御部構成例>
図4は、図1における監視装置130、遠隔管理サービスサーバー150を実現するためのサーバーPCなどの情報処理装置のハードウェア構成を示すブロック図である。監視装置130では、ネットワークを介してネットワーク機器100〜102からバイスの管理情報を収集するためのアプリケーションが実行される。また、監視装置130は、一般的な情報処理装置の構成を備えている。すなわち、バス401、CPU402、ROM403、RAM404に加えて、LAN等のネットワークへ接続するためのNetwork I/F405、表示デバイス409を制御する表示制御部406、入力デバイス410、411を制御する入力制御部407、記憶装置408を備えている。
バス401は、図1の監視装置130を構成する各構成部品間のデータを受け渡す共通信号路である。RAM404は、書換え可能な記憶手段であり、ネットワーク機器の管理ソフトウェアを実行するためのワークメモリエリアとなる。ネットワーク機器の管理ソフトウェアには、ネットワークを介してネットワーク機器から監視情報を取得するプログラムや設定変更指示を発行するプログラム、処理の開始や停止を指示するプログラムなどがある。ネットワーク機器から取得した監視情報はこのRAM404で展開され所定の形にデータ変換される。
記憶装置408は、不揮発性記憶装置である。記憶装置408には、監視装置130のハードウェア制御を行うOSが記憶されている。また、このほかに管理対象となる複数ネットワーク機器のリストや、管理ソフトウェアやプラグインソフトウェアを構成する各プログラムが記憶されている。記憶装置408には、これらのプログラムのほかにプログラムの処理に利用するための設定情報、例えば、ネットワーク機器へリクエスト発行するための認証情報やSNMPのコミュニティネームもこの不揮発性記憶装置408に格納される。
Network I/F405は、監視装置130がネットワークへ接続するためのインターフェースであり、監視装置130はネットワークを介してネットワーク機器と通信を行う。
CPU402は、各構成部品403〜411を個別に又は統合的に制御するものであり、記憶装置408に格納されたプログラム基づき、Network I/F405を介してネットワーク機器の監視情報を収集したり制御したりする。
<監視装置130のソフトウェアモジュール構成>
監視装置130は、顧客のネットワーク内に設置され顧客のネットワークに接続されている複数のネットワーク機器を監視する。図5は、監視装置130上で実行される監視装置ソフトウェアにおけるネットワーク機器への指示発行処理を行なうプログラムの機能を示すブロック図である。SFP(シングルファンクションプリンタ)などシンプルな機能を有するネットワーク機器に対して、監視装置130はネットワークを介してステータス情報を要求する。そして得られた監視情報から遠隔管理サービスサーバー150に対して監視情報を送信するか否かの判断を行なう。一方、MFP(マルチファンクションプリンタ)のようにスキャンやプリント、FAXなど複数の機能を有しているネットワーク機器は自身を監視するためのプログラムである監視モジュールが提供され、インストールできる場合がある。このような監視モジュールがインストールされたネットワーク機器に対して監視装置130は、Proxyサーバー133の設定やネットワーク機器内の監視プログラムの起動をネットワーク越しに指示する。監視モジュールを持たないデバイスは、監視装置130からの要求に応じたステータス情報を返すため、一般的な項目が監視の対象となることが多い。これに対して監視モジュールは、それがインストールされているデバイスのために開発されているので、監視モジュールを持つデバイスは、たとえば固有の機能に係る情報など、より詳細な情報を収集し、監視装置130に提供することができる。
図5では、監視装置130のソフトウェアを構成する各ソフトウェアモジュールの入出力処理の例について説明する。ネットワーク機器のメンテナンスサービスを顧客に提供する担当者をユーザーAとして表している。監視装置ソフトウェアは、ユーザーAから管理対象となるネットワーク機器の登録を受け付けるためのUIを有する。
ユーザーIF(UI)制御部501が、遠隔監視装置ソフトウェアにおけるデバイス登録用画面を提供する。ユーザーAは、監視を行なう対象のネットワーク機器リストをネットワークから探索したり顧客に販売したネットワーク機器のリストから作成したりすることで準備する。そして、そのネットワーク機器リストをUI制御部501から監視情報格納部504に登録を行なう。このネットワーク機器リストには、ネットワーク機器のシリアル番号やIPアドレスなどネットワークのアドレス情報が含まれている。これにより監視装置130は顧客内ネットワークでネットワーク機器にアクセスすることができるようになる。また、ユーザーIF入出力制御部では登録されたネットワーク機器リストを表示し、ユーザーAの指示に従いネットワーク機器を監視対象とするか否かを制御することができる。
例えば、監視対象の複数のネットワーク機器に対して、通信テストを実行というボタンを表示し監視開始の指示を受け付ける。そのほかに特定のネットワーク機器を監視対象からはずす指示をユーザーAから受け付ける。502は、監視装置ソフトウェアの中心的な処理を行なう全体管理マネージャーを表している。全体管理マネージャー502は、監視装置ソフトウェア内の各モジュールに対して処理指示を発行したり、指示を伝達したりして、一連の処理が正しく実行されるように管理を行なう。
503は、監視装置ソフトウェアの情報格納部に対する入出力部を示している。504は、監視装置ソフトウェアの監視情報格納部を示している。監視情報格納部504は、ユーザーAからまたはその他の登録方法により登録された監視対象候補および、監視対象のネットワーク機器リストを記憶装置408に格納する。また、この監視情報格納部504は、すべてのネットワーク機器のネットワークアドレスや、製品名、識別子などの監視情報を記憶装置408に格納して管理する。そのほか、監視情報格納部504には、監視対象のネットワーク機器の各ネットワーク機器の性能や機能、さらに監視情報の収集方法や監視に必要なすべての情報も記憶装置408に格納し、管理する。
505は、Proxyプロセス制御部を示している。監視装置ソフトウェアは、監視装置130自身が必要であると判断した場合、または、ユーザーAから指示された場合、Proxyサーバーとしての機能を有効化することができる。すなわち監視装置130をプロクシサーバーとして機能させることができる。506は、遠隔管理サーバー150から発行された指示コマンドのステータス管理部を示している。監視装置130は、遠隔管理サービスサーバー150からネットワークを介して指示コマンドの取得を行なう。この指示コマンドの取得は、監視装置130が遠隔管理サービスサーバー150に対して指示コマンドの問い合わせメソッドを送信して、ポーリングをすることで処理を取得してもよい。これは、ファイアウォール132が外部からの自発的なリクエストをブロックするため、遠隔管理サービスサーバー150が自発的に指示コマンドを送信しても、ファイアウォール132を超えられない可能性があるためである。そのほか、MQTTやWeb SocketのようなHTTP/HTTPSなどのプロトコル上でTCPレベルのセッションを維持してリアルタイムに遠隔管理サービスサーバー150から指示コマンドを受信してもよい。監視装置130は、遠隔管理サービスサーバー150から指示コマンドを受信すると、その指示コマンドを実行し処理結果がどのような結果となったか、各処理のフェーズでステータスを管理する。
ステータス管理部506は、最終的に受信した指示コマンドに対する処理結果を管理し、その結果を遠隔管理サービスサーバー150へ送信するまでの管理を行なっている。
監視装置130は、遠隔管理サービスサーバー150から指示コマンドを受信する。受信される指示コマンドは通常、監視装置130宛ての指示コマンドであるが、特定のネットワーク機器宛の指示コマンドを受けることもある。このようなケースの場合、一旦監視装置130は特定のネットワーク機器宛の指示コマンドを受け付けて、改めて対象のネットワーク機器に対してネットワークを介して指示を発行する。
507は、機器通信管理部を示している。機器通信管理部507では、監視装置130の監視情報格納部504に格納されているネットワーク機器リストのネットワークアドレスをベースにネットワーク機器と通信を行なう。この通信ではネットワーク機器の存在確認や、ネットワーク機器の識別、ネットワーク機器の種別判別、能力確認(ファームウェアバージョンの確認や、特定モジュールの応答)などを行なう。また、SNMPや独自プロトコルを利用してネットワーク機器の障害情報やプリンターの利用状況などのネットワーク機器監視情報を取得する。その他、監視モジュールが組み込まれているネットワーク機器については、ポーリング形式での監視となり効率が良くない。この監視モジュールは組み込みのモジュールと記載しているが、ネットワーク機器上で処理が動くプログラムであればよく、形態には制限しない。具体的には、インストールする形態のプログラムでも、オプション機器を取り付けるネットワーク機器上で動くプログラムでもよい。
このようなケースでは、全体管理マネージャー502はネットワーク機器自身に組み込まれている監視モジュールを有効化するための指示を発行する。そのまま監視モジュールを有効しても遠隔管理サービスサーバー150との通信ができるようなるとは限らない。たとえばネットワーク機器による通信が、ファイアウォール132を超えてインターネット140へアクセスできないように設定されている場合がある。そこで、監視装置130はネットワーク機器がインターネット140へアクセスできるようにProxyサーバー133のアドレスを設定指示し、Proxyサーバー133を介してインターネット140へアクセスさせることが考えられる。
しかし、ネットワーク機器の設置されているネットワークからProxyサーバー133のアドレスを設定するだけで直接インターネットに接続できないことがおおい。そこで、監視装置130がネットワーク機器の監視モジュールを起動させるような場合、監視装置130内でProxyのプロセスを起動し、監視装置130にProxyサーバー機能を持たせる。全体管理マネージャー502は監視装置130のProxyのプロセスがすでに起動済みか否かを判定し、Proxyのプロセスが起動していない場合、Proxyプロセス制御部505にProxy機能の指示を発行する。そして監視装置130自身にProxyのプロセスが立ち上がると、ネットワーク機器に自己監視プログラムすなわち監視モジュールを有効にするよう指示するタイミングで、Proxyサーバーのアドレスとして監視装置130のネットワークアドレスをネットワーク機器に登録する。
<遠隔管理サービスサーバー150のソフトウェアモジュール構成>
遠隔管理サービスサーバー150は、インターネット上に存在するさまざまなサービスのうちの1つである。このサービスは、顧客環境に設置したネットワーク機器の監視情報を収集し、サービスマンやメンテナンス契約会社にメンテナンスのためのサポート情報を提供する。
図6は、遠隔管理サービスサーバー150上で実行される遠隔管理サービスサーバーソフトウェアにおけるネットワーク機器への指示コマンド発行処理を行なうプログラムの機能を示すブロック図である。図6では、遠隔管理サービスサーバー150のソフトウェアを構成する各ソフトウェアモジュールの入出力処理の例について説明する。遠隔管理サービスサーバー150を利用して収集されたネットワーク機器の監視情報を利用する担当者をユーザーBとして表している。また、遠隔管理サービスサーバー150は、指示コマンドをユーザーBから受け付け特定のネットワーク機器に対して送信し、遠隔のネットワーク機器に対して処理を実行させることができる。
ここではユーザーBが指示コマンド発行時の処理について説明する。ネットワーク機器の管理形態として、顧客ネットワーク内に監視装置130が設置されている場合には、監視装置130を介して特定のネットワーク機器に対して指示コマンドを発行する。ユーザーBは、遠隔管理サービスサーバー150を介して任意のネットワーク機器に対して処理コマンドを処理させたい場合、監視装置130に対象のネットワーク機器宛てに指示コマンドを発行する。
また、監視装置130が顧客ネットワーク上になく、ネットワーク機器上で監視モジュールが動いている場合、指示コマンドの問い合わせ通信は、各ネットワーク機器が発行する。このため、ユーザーBが対象のネットワーク機器に指示コマンドを発行すると、対象のネットワーク機器が指示コマンドの問い合わせの通信を行った際にその応答に指示コマンドを発行する。
601はインターネットに公開しているWeb Serviceのインターフェースである。このインターフェースを介してネットワーク機器からの監視情報を受信したり指示コマンドの問い合わせに対して、指示を発行したりする。
602はネットワーク機器から送信された監視情報をWebService601が受信した後、データの種類やどのようなデータを受信したのかを解釈する解釈部である。たとえばSOAPを用いていれば、解釈部602はSOAPメッセージを解釈する。
603は、応答作成部であり、たとえばネットワーク機器から受信した監視情報に対して、データ受信を受け付けたことを示すOK応答や、指示コマンドの問い合わせに対して、応答時に指示を発行したりする。
604は全体管理マネージャーであり、ユーザーからの入力やネットワーク機器からの監視情報の受信について一連の処理を各モジュールに発行し指示する管理プログラムである。
605は管理情報入出力部であり、ユーザーからのリクエストに応じて条件に合致するネットワーク機器を特定したり、ユーザーが特定ネットワーク機器に発行した指示コマンドのステータスについてDBに書き込んだり、読み出したりする。
606は、管理情報格納部であり、遠隔管理サービスサーバー150にて管理されているすべてのネットワーク機器情報や、管理情報などが格納されている。また、ユーザーの発行した指示コマンドのステータスや処理結果などが格納されている。
また、遠隔管理サービスサーバーソフトウェアは、ユーザーBから特定ネットワーク機器に発行する指示コマンドを受け付けるためのUIを有する。遠隔管理サービスサーバーソフトウェアにおける指示コマンドを受け付ける画面をユーザーIF(UI)制御部607とする。例えば、特定ネットワーク機器への指示を発行する際には、以下のような処理が遠隔管理サービスサーバー150にて実行される。ユーザーBは、管理対象のネットワーク機器リストから指示発行対象のネットワーク機器を検索する。このときには、UI制御部607で受信したネットワーク機器を検索するためのクエリは全体管理マネージャー604を介して管理情報入出力部605に送信される。対象ネットワーク機器を特定するためのクエリを受けた管理情報入出力部605は、管理情報格納部606から条件に合致したネットワーク機器を特定し応答として返す。UI制御部607を介してユーザーBに対してクエリ結果となるネットワーク機器情報が提示(たとえば表示)される。ユーザーBは、そのネットワーク機器が目的のネットワーク機器であった場合には、発行可能な指示リストを画面UIから選択し、その指示の発行を設定する。UI制御部607を介してこの指示を受信した全体管理マネージャー604は、管理情報入出力部605を介してネットワーク機器の監視構成を取得する。監視構成とは例えば、ネットワーク機器が監視装置による監視の対象であるか否かや、あるいは監視モジュールがインストールされているか否か、インストールされている監視モジュールの提供する機能などを示す情報であってよい。監視構成を参照することで、たとえば、ネットワーク機器が、監視モジュールを有し、かつ監視装置130による監視対象であることを知ることができる。
ユーザーBが指示した対象ネットワーク機器の監視構成が、監視装置130による監視ネットワーク機器の一つであった場合、全体管理マネージャー604は、対象の監視装置130に対して指示コマンドを作成し管理情報格納部606に格納する。そして、遠隔管理サービスサーバー150は、対象の監視装置130から指示コマンド問い合わせの通信を受信すると、その応答に指示コマンドを発行する。
<本実施形態の監視装置ソフトウェアの動作例>
以下、本発明の実施例について図面を用いて説明する。
上記構成に基づいて、本実施形態の監視装置ソフトウェアの動作例を説明する。
図7は、監視装置130のユーザーがUI制御部501にてネットワーク機器を監視下に入れるための操作を実行してから、遠隔管理サービスサーバー150がネットワーク機器を正常に監視対象とするまでの処理を表したフローチャートである。このフローチャートの処理を実現するためのプログラムは、図4に示すROM403、記憶装置408のいずれかの記憶手段に記憶され、必要に応じてRAM404に展開され、CPU402により実行される。また、ここに示すフローチャートの処理は、図5に示す監視装置ソフトウェアの処理を示したものである。
図7において、監視装置130のUI制御部501からユーザーAがネットワーク機器の監視開始操作を指示することでプログラムが呼び出されると、フローチャートに示す処理が開始される。監視装置プログラムは、ステップS701にて監視装置130が遠隔管理サービスサーバー150と通信可能か否かを確認する。この処理では、ユーザーAから監視開始の指示を受け付けたUI制御部501が全体管理マネージャー502に入力指示を伝えると、全体管理マネージャー502が機器通信管理部507を介して遠隔管理サービスサーバー150への通信可否を判定する。
ステップS701にて監視装置130は遠隔管理サービスサーバー150と通信可能な状態でない場合、ステップS702に進む。
ステップS702では、UI制御部501は、ユーザーAに対してネットワークの設定を正しく設定し遠隔管理サービスサーバー150と通信できるような設定にするようメッセージ表示をする。ステップS702にて、メッセージを表示した後、処理はステップS703へ進む。
ステップS703で監視装置130は、ユーザーからネットワークアドレスやProxyの設定など正しい情報を受け付ける一連の処理を実行する。受け付けた設定等は、それらを格納すべきところへと格納する。ここでは詳細の説明を省略する。ステップS703でユーザーからネットワークの設定情報更新を受けると、処理をステップS701へ進める。
ステップ701にて監視装置130は、遠隔管理サービスサーバー150と通信可能であることが確認できた場合、処理はステップS704へ進む。ステップS704で全体管理マネージャー502は、監視情報格納部504から監視対象とすべきネットワーク機器のリストを取得する。そして、監視設定の完了していない監視対象ネットワーク機器の有無を判定する。ステップS704で、まだ監視設定の完了していない監視対象のネットワーク機器があるとわかると監視装置130は、処理をステップS705に進める。
ステップS705で、全体管理マネージャー502は、機器設定指示管理部507を介して対象ネットワーク機器から機能情報を収集する。ここでの機能情報とは、製品名称やファームウェアのバージョン情報や監視モジュールのソフトウェアバージョン情報などである。これらの取得した情報は、全体管理マネージャー502により監視情報格納部504に格納していたネットワーク機器の識別情報やネットワークアドレス情報などと整合性を確認したのちに関連性を持たせて監視情報格納部に保管される。ステップS705にて、監視対象ネットワーク機器の機器情報を取得すると、次に処理をステップS706に進める。
ステップS706にて、全体管理マネージャー502は取得したネットワーク機器の機能情報から、自己監視機能を有しており、かつ、その自己監視機能をネットワーク経由で有効化することが可能か否かを判定する。たとえば監視モジュールがインストール済みであれば自己監視機能を有すると判定できる。また監視モジュールがインストール済みであれば、たとえばその監視モジュールの識別情報(たとえば製品IDおよびバージョンなど)に基づいて、監視モジュールを遠隔的に有効化可能であるかどうかを判定できる。ステップS706で全体管理マネージャー502は、対象のネットワーク機器に自己監視機能を有していないか、または、ネットワーク経由で有効化することができないとわかると、処理をステップS707へ進める。
ステップS707で全体管理マネージャー502は、対象ネットワーク機器の監視方法をポーリングで行うことを決定し、前もって決められたスケジュールにしたがってネットワーク機器に対して定期的に監視情報を取得するための設定を作成する。この設定にはたとえば、ポーリングの対象となるネットワーク機器のアドレスや、ポーリングの時間間隔等の時間情報、ポーリングによる要求の対象となる監視情報の項目などの内容情報などが含まれる。また、機器設定指示管理部507を介して対象ネットワーク機器に対して監視ネットワーク機器の登録を行う。これは具体的には、SNMPトラップのようにサービスコールエラーがネットワーク機器で発生したら特定のアドレスにイベント発生情報を送信するように対象ネットワーク機器に前もって登録する処理である。これにより監視対象ネットワーク機器に何か問題が発生した時には、そのイベントを監視装置130で受信し、ほぼリアルタイムでユーザーに障害発生情報を通知することができる。ここでは、SNMPトラップを例にあげて記載したが、各社独自の機能を利用してイベント自動通知をしても構わない。ステップS707にて、監視対象ネットワーク機器の監視方法をポーリングにて行う準備が完了したら、処理をステップS704へ進める。
一方ステップS706で全体管理マネージャー502は、対象のネットワーク機器に自己監視機能を有しており、かつ自己監視機能をネットワーク経由で有効化することができるとわかると、処理をステップS708へ進める。
ステップS708にて全体管理マネージャー502は、監視対象のネットワーク機器にProxyサーバーの設定が行われているか、ステップS706で機能情報を取得した際に一緒に取得した設定情報から判定する。ステップS708で、監視対象のネットワーク機器にProxyサーバーの設定が行われていることがわかると、処理をステップS709へ進める。
ステップS709で全体管理マネージャー502は、ネットワーク機器に既に設定済のProxyサーバーの設定を優先して自己監視機能を有効化する。このために全体管理マネージャー502はネットワーク機器設定指示管理部507を介して指示を発行する。全体管理マネージャー502は、対象のネットワーク機器に対して有効化指示を発行すると、処理をステップS710へ進める。
ステップS710で全体管理マネージャー502は、対象ネットワーク機器の自己監視機能の有効化に成功したか否かを直接問い合わせることで確認する。ステップS710で問題なくネットワーク機器の自己監視機能の有効化に成功したことが確認できると、フローチャート上のAを介して処理をステップS704へ進める。
また、ステップS708で対象ネットワーク機器にProxyサーバーの設定が行われていないことがわかるか、またはステップS710でネットワーク機器の自己監視機能の有効化に失敗したことがわかると、処理をステップS711に進める。
ステップS711で全体管理マネージャー502は、Proxyプロセス制御部505にてProxyのプロセスがすでに起動済みか否かを判定する。ステップS711にて全体管理マネージャー502は、監視装置130内でProxyのプロセスが動いていないと判定すると、処理をステップS712へ進める。
ステップS712で全体管理マネージャー502は、Proxyプロセス制御部505に対してProxyプロセスの起動指示を発行し、監視装置130にてProxyサーバーの機能を有効化する。ステップS712でProxyプロセスを立ち上げると、処理をステップS713へ進める。
ステップS711ですでにProxyプロセスが立ち上がっていると判定した場合も、処理をステップS713へ進める。ステップS713で全体管理マネージャー502は、監視装置130自身のネットワークアドレスをProxyサーバーのアドレスとして対象ネットワーク機器に設定させるためのネットワーク設定変更指示を発行する。また、この指示に加えて対象ネットワーク機器の自己監視機能を有効化する指示を発行する。これらのProxyサーバーのアドレス設定指示と自己監視機能の有効化指示を発行した後、処理をステップS714へ進める。
ステップS714で、全体管理マネージャー502は、対象ネットワーク機器の自己監視機能の有効化に成功したか否かを対象ネットワーク機器に直接問い合わせることで判定する。ステップS714で問題なくネットワーク機器の自己監視機能の有効化に成功したことが確認できると、フローチャート上のAを介して処理をステップS704へ進める。また、ステップS714でネットワーク機器の自己監視機能の有効化に失敗したことがわかると、処理をステップS715に進める。
ステップS715で全体管理マネージャー502は、対象ネットワーク機器の監視方法をポーリングで行うことを決定し、前もって決められたスケジュールにしたがってネットワーク機器に対して定期的に監視情報を取得するための設定を作成する。また、機器設定指示管理部507を介して対象ネットワーク機器に対して監視ネットワーク機器の登録を行う。これらはステップS707と同様であり、ステップS707に分岐してもよい。ステップS715ではポーリング方式でネットワーク機器監視を行う設定を完了させると、フローチャート上のAを介して処理をステップS704へ進める。
一方ステップS704で全体管理マネージャー502は、監視設定の完了していない監視対象ネットワーク機器がリスト中になくなったことを確認すると処理をステップS716へ進める。ステップS716で全体管理マネージャー502は、遠隔監視サービス150に対して通信テストの信号と共に監視対象のネットワーク機器リストを送信する。ここで監視装置130が遠隔管理サービスサーバー150に対して監視下にあるネットワーク機器リストを送信することで、遠隔管理サービスサーバー150は、監視するネットワーク機器の構成を把握する。すなわち、監視装置130の管理下にあるネットワーク機器リストを遠隔管理サービスサーバー150は知ることとなる。
ステップS716で遠隔管理サービスサーバー150への通信テスト処理が終わると、ネットワーク機器を監視下に登録するための設定処理が完了する。このフローチャートにて記載している処理は、UI制御部501では「通信テスト」や「監視開始」などのボタンなどで一括して指示できるように実装されることもある。
以上の手順により、監視装置130は、ネットワーク機器の自己監視機能の有無などに応じて、ネットワーク機器の監視モジュールを用いた監視またはポーリングによる監視の何れかを設定して、機器の監視を行うことができる。つまり、監視装置130は、異なる監視形態を採用する複数のネットワーク機器を監視対象として管理することができる。
さらに、ネットワーク機器の監視モジュールを用いる場合には、インターネットへのアクセスのためにプロクシサーバーを用いるようネットワーク機器を設定する。こうすることで、ネットワーク機器からファイアウォールを超えたインターネットへのアクセスが制限されている場合でも、プロクシサーバーを介したインターネットへのアクセスが可能となる。特にプロクシサーバーが動作していない場合には、監視装置自身の有するプロクシ機能をプロクシサーバーとして用いることで、プロクシサーバーの有無を問わずそれを利用できる。
<本実施形態のネットワーク機器登録及び監視開始のシーケンス図>
図8は、監視装置130のユーザーがユーザーIF入出力制御部にてネットワーク機器を監視下に入れるための操作を実行してから、遠隔管理サービスサーバー150がネットワーク機器を正常に監視対象とするまでの処理を表したシーケンス図である。図8においては、ネットワーク機器Aは監視モジュールを持たないか、または自己監視機能を有効化できないために、監視装置130からのポーリングによる監視対象である。一方、ネットワーク機器Bは、監視モジュールを有し、かつ監視モジュールによる自己監視機能を有効化できたネットワーク機器である。
図8において、ユーザーIF入出力制御部501を介してユーザーAが監視装置130に複数の監視対象ネットワーク機器に通信テストを指示することにより処理が開始される。監視装置130は、ステップS801にてユーザーAから通信テスト指示を受ける。この指示を受けることで監視装置ソフトウェアの処理プロセスが立ち上がる。このプロセスが立ち上がると、ネットワーク機器リスト中のネットワーク機器一台一台に対して機能情報取得の通信処理S802を行う。この通信処理は、図7のフローチャート中のS705の処理に相当する。機能情報取得対象のネットワーク機器が、監視モジュールの機能を有していた場合、S802の応答であるS803の通信でネットワーク機器Bには自己監視モジュールの機能を有している旨の内容を含む情報が提供される。
S802の応答情報を受けた監視装置130は、必要であれば監視装置130内でProxyプロセスを立ち上げる。次に監視装置130は、ネットワーク機器Bに対して監視装置130をProxyサーバーとして設定する指示と監視モジュールの起動指示をS804として送信する。
ここでのProxyサーバー設定指示と監視モジュールの起動指示は同じタイミングでなくても良い。Proxyサーバーの設定指示と監視モジュールの起動指示を受信したネットワーク機器Bは、遠隔管理サービスサーバー150に対してS804で指示されたProxyサーバーの設定を利用して遠隔管理サービスサーバー150に通信テストS805を送信する。ネットワーク機器Bは、遠隔管理サービスサーバー150からOKレスポンスS806を受信すると、S804で指示されたProxyサーバーの設定値を不揮発の記憶領域に保存する。遠隔管理サービスサーバー150との通信テストを完了したネットワーク機器Bは、自己監視モジュールによる監視機能を有効化し監視状態に入る。そして、ネットワーク機器Bは監視状態に入ったのちに、S804の応答として監視装置130にS807へOKレスポンスを返す。
S807でOKレスポンスを受信した監視装置130は、別の監視下に入っていないネットワーク機器に対して、機能情報の取得S808を送信する。ここで送信する内容はS802の取得と同様のものである。ネットワーク機器Aから機能情報の応答がS809として返る。ここでネットワーク機器Aには自己監視モジュールが設定されていないことがわかると、監視装置130はネットワーク機器Aをポーリングによって監視することを決め、そのための設定を行う。ここで監視対象設定の全てのネットワーク機器が監視下に入ったことがわかると、最後に監視装置130は遠隔管理サービスサーバー150に対して通信テストS810を送信する。監視装置130は通信テストを送信する際、監視装置130の監視下にあるネットワーク機器のリストを遠隔管理サービスサーバー150に対して送信する。ここで、監視装置130の監視下となるネットワーク機器リストを送信することで、対象ネットワーク機器への指示コマンドの送信先が監視装置130であることを遠隔管理サービスサーバー150に通知する。
なおポーリングにより収集した機器情報や機器の状態などの監視情報は、監視装置130から遠隔管理サービスサーバー150に対して、たとえば定期的に送信される。また監視モジュールを持つ監視対象のネットワーク機器は、たとえば設定に従って定期的にコマンド問合せを遠隔管理サービスサーバー150に送信し、コマンドをポーリングする。遠隔管理サービスサーバー150は、送信すべき指示があればそれを送信し、それに応じてネットワーク機器から応答される例えば監視情報を収集する。
また、ここでのシーケンスは、新規ネットワーク機器登録時における処理シーケンスを示しているが、監視途中で新しいネットワーク機器が新規で追加される際にも、同様の処理が行なわれる。ユーザーAからの通信テストS801の指示から上記で記載のシーケンスを通して、新規ネットワーク機器の追加を行なうことができる。
以上の構成および手順により、本実施形態の監視システムでは、監視対象のネットワーク機器の持つ機能に応じて、より高い監視機能を用いた機器の監視を実現できる。さらに、監視装置がプロクシサーバー機能を提供することにより、ネットワーク接続に制限がある場合にも、そのより高い監視機能を生かすことができる。本例では監視モジュールを用いた監視の方が、ポーリングによる監視よりも高機能を有するものとしている。そして、監視モジュールを利用できるネットワーク機器については、監視モジュールを用いた監視を行うようネットワーク機器を設定する。これにより上述したように、監視モジュールの持つより高い機能を生かすことができる。一方で、監視モジュールのインストールができないようなネットワーク機器が混在していても、そちらに対してはポーリングによる監視を行うことができる。
[第2実施形態]
以下、本発明の実施例について図面を用いて説明する。
これまでの実施例1では、ネットワーク機器から遠隔管理サービスサーバー150までの監視情報を転送するための経路を提供するための技術を記載した。実施例1では、各ネットワーク機器内の自己監視モジュールを起動させる。ここで、ネットワーク機器内の自己監視モジュールには、ネットワーク機器の監視情報を遠隔管理サービスサーバー150へ送信する機能だけでなく、遠隔管理サービスサーバー150に対して指示コマンドの問い合わせを発行する機能を備える。この自己監視モジュールによる問合せの発行により、遠隔管理サービスサーバー150からの様々な設定変更などの指示が可能となる。実施例2では、実施例1における構成をとった場合において、通信負荷などを考慮した、この指示コマンドの問い合わせの特徴的な実現方法について説明する。
<ネットワーク機器のソフトウェア処理例>
通常、監視装置130が設置されない顧客のネットワーク環境では、ネットワーク機器のLUI(ローカルUI)からネットワーク機器の監視モジュールを有効にする。LUIから自己監視モジュールを有効にした場合、通常のネットワーク機器監視情報を遠隔管理サービスサーバー150に送信する。さらに、遠隔管理サービスサーバー150から指示コマンドがないかを確認する指示コマンドの問い合わせ通信を定期的にまたはイベント的にポーリングする。
実施例2の場合、ネットワーク機器の監視モジュールはネットワークを介して監視装置130から指示され起動する。この場合、指示コマンドの問い合わせは監視装置130がまとめて行うので、ネットワーク機器の監視モジュールは指示コマンンドの問い合わせのためのポーリングは行わない。
ネットワーク機器が指示コマンドの問い合わせを実施するタイミングは、監視装置130がネットワーク機器に対して「指示コマンドの問い合わせの呼び出し指示」を発行した時のみとなる。
<遠隔管理サービスサーバー150のソフトウェア処理例>
図6では、ユーザーBが指示コマンド発行時のソフトウェアモジュール構成と処理について説明した。ここでは、実施例2の遠隔管理サービスサーバー150の処理例について説明する。ネットワーク機器の管理形態として、顧客ネットワーク内に監視装置130が設置されている場合には、遠隔管理サービスサーバー150は、監視装置130を介して特定のネットワーク機器に対して指示コマンドを発行する。しかし、特定ネットワーク機器に発行する一つ一つの指示を監視装置130が中継し、指示コマンドの解釈や処理ステータス、さらに処理結果の管理を行うと監視装置130の処理が複雑化してしまう。このため、遠隔管理サービスサーバー150が監視装置130の管理する特定ネットワーク機器に指示コマンドを発行する場合、指示コマンドの問い合わせの呼び出し指示を監視装置130に発行する。遠隔管理サービスサーバー150からの指示コマンドは、監視対象のネットワーク機器からのコマンド問い合わせに応じて送信される。指示コマンドの問い合わせの呼び出し指示とは、ネットワーク機器にコマンド問い合わせを送信させるための指示である。この指示コマンドの問い合わせの呼び出し指示を受け付けた監視装置130は、対象のネットワーク機器に対して遠隔管理サービスサーバー150に指示コマンドの問い合わせを発行するように指示を出す。特定ネットワーク機器で自己監視モジュールが動いている場合、この指示コマンドの問い合わせの呼び出しを受けると、遠隔管理サービスサーバー150に指示コマンドの問い合わせを発行する。これにより遠隔管理サービスサーバー150に対して例えば定期的に行われる指示のポーリングは、監視装置130からのものとなる。ネットワーク機器からのポーリングは、その機器に対する問い合わせ呼び出しがある場合であり、通信の付加および遠隔管理サービスサーバー150の負荷は軽減される。
例えば、ユーザーBは特定ネットワーク機器への指示を発行する際には、以下のような処理が遠隔管理サービスサーバー150にて実行される。ユーザーBは、管理対象のネットワーク機器リストから指示発行対象のネットワーク機器を検索する。このときには、ユーザーIF入力制御部607で受信したネットワーク機器を検索するためのクエリは全体管理マネージャー604を介して管理情報入出力部605に送信される。対象ネットワーク機器を特定するためのクエリを受けた管理情報入出力部605は、管理情報格納部606から条件に合致したネットワーク機器を特定し応答として返す。ユーザーIF入出力部607を介してユーザーBに対してクエリ結果となるネットワーク機器情報が提示される。ユーザーBは、そのネットワーク機器が指示を発行する対象であるネットワーク機器であった場合には、発行可能な指示リストを表示した画面UIから発行する指示コマンドを選択し設定する。ユーザーIF入出力制御部607を介してこの設定を受信した全体管理マネージャー604は、管理情報入出力部605を介してネットワーク機器の監視構成を取得する。
ユーザーBが指示した対象ネットワーク機器の監視構成が、遠隔管理装置130による指示コマンドの問い合わせを代理で行なう方式であった場合、遠隔管理サービスの全体管理マネージャー604は、ふたつの指示を作成し管理情報格納部606に格納する。ひとつは、監視装置130に対する指示コマンドであり、この指示コマンドは、対象のネットワーク機器に指示コマンドを発行させるようにするための、指示コマンドの問い合わせの呼び出し指示である。もうひとつは、対象ネットワーク機器が指示コマンドの問い合わせを実行してきたときにその応答として発行するユーザーBが発行した指示コマンドである。
<本実施形態2の監視装置ソフトウェアの動作例>
上記構成に基づいて、本実施形態2の監視装置ソフトウェアの動作例を説明する。図9は、監視装置130が遠隔管理サービスサーバー150に対して指示コマンドの問い合わせを実行してから、監視下のネットワーク機器に指示コマンド問い合わせの呼び出しを発行し処理を完了するまでを表したフローチャートである。このフローチャートの処理は、図4に示すROM403、記憶装置408のいずれかの記憶手段に記憶され、必要に応じてRAM404に展開され、CPU402により実行される。また、ここに示すフローチャートの処理は、図5に示す監視装置ソフトウェアの処理を示したものである。
図9において、タイマーや何かのイベントのトリガにより指示コマンドの問い合わせ処理が呼び出されると、フローチャートに示す処理が開始される。監視装置プログラムは、ステップS901にて機器通信管理部507を介して遠隔管理サービスサーバー150に対して指示コマンドの問い合わせを行う。全体管理マネージャー502は、指示コマンドの問い合わせを実行すると処理をステップS902へ進める。
ステップS902にて全体管理マネージャーは、遠隔管理サービスサーバー150からの応答に指示コマンドが含まれているか否かを判定する。ここで遠隔管理サービスサーバー150から指示コマンドがなかった場合には、処理をステップS903へ進める。
ステップS903にて全体管理マネージャー502は、次回指示コマンドの問い合わせ発行の定期スケジュールか、指示コマンドの問い合わせ処理の発行条件が揃うまで待機する。そして、次回の指示コマンドの問い合わせ発行条件が揃うと全体管理マネージャー502は処理をステップS901へ進める。
ステップ S902にて全体管理マネージャー502は、遠隔管理サービスサーバー150からの応答に指示コマンドが含まれていることを確認すると、処理をステップS904へ進める。
ステップS904ではステータス管理部506が新規の指示コマンドを受信したことから、監視情報格納部504に全体管理マネージャー502を介して指示コマンドのステータスを管理するためのデータベースのレコードを作成する。例えば、ここで作成されるレコードを図11(a)に示す。レコードには、受信日時と、指示IDと、対象IDと、ステータスと、コードと、更新日時と、繰り返し回数とが含まれる。作成されたレコードには、受信日時と、指示IDと、更新日時の値が設定される。受信日時は指示コマンドを受信した日時である。指示IDは指示コマンドの識別情報であり、たとえば監視装置130が割り当てる値でよい。更新日時はレコードの更新ごとに更新されるが、初期値は受信日時と同一でよい。他のフィールドには確定した値は設定されず、たとえば適当な初期値を割り当てておけばよい。
ステップS904でステータス管理部506が指示コマンドを管理するためのレコードを発行すると、全体管理マネージャー502は処理をステップS905に進める。ステップS905にて全体管理マネージャー502は、指示コマンドの実行対象である宛先を確認する。ここで指示コマンドの宛先が自身の監視装置130宛てのものであった場合、全体管理マネージャー502は処理をステップS906に進める。
ステップS906にて全体管理マネージャー502は、指示されたコマンドを実行する。そして、処理をステップS907に進める。ステップS907では、ステータス管理部506は指示コマンドを実行開始したことを記録するため、ステップS904にて作成したレコードを更新する。そのレコードの例を図9(b)に示す。新たに実行した装置の識別情報を対象IDフィールドに、実行されたコマンドをコマンドフィールドに、コマンドの実行状態をステータスフィールドにセットし、更新日時をその時の日時で更新する。図11(b)の例では、対象IDは「監視装置A」、コマンドは「スケジュール変更指示」、ステータスは「実行中」である。
ステップS907にてレコードを更新すると、全体管理マネージャー502は処理をステップS908へ進める。ステップS908にて全体管理マネージャー502は、指示コマンドの実行結果を確認する。指示コマンドの結果が無事成功し完了していた場合、全体管理マネージャー502は処理をステップS909へ進める。
ステップS909では、ステータス管理部506は指示コマンドの結果が問題なく成功したことを記録するため、ステップS904にて作成したレコードを更新する。更新したレコードを図11(c)に示す。この例ではステータスが「実行中」から「成功」へと書き換えられる。ステップS909にてレコードを更新すると、全体管理マネージャー502は処理をステップS910へ進める。
ステップS910にて全体管理マネージャー502は、指示コマンドが無事に成功したことを遠隔管理サービスサーバー150に通知するため、機器通信管理部507を介して指示コマンド結果通知処理を行う。指示コマンド結果通知処理を完了すると全体管理マネージャー502は処理をステップS913に進める。
一方ステップS908にて、指示コマンドの結果が何らかの理由で失敗して終了していたと判定した場合、全体管理マネージャー502は処理をステップS911へ進める。
ステップS911では、ステータス管理部506は指示コマンドの結果が失敗であることと、その時の結果コードを記録するため、ステップS904にて作成したレコードを更新する。図11(d)にそのレコードを示す。ステータスには「失敗」を示す情報が、コードにはたとえば失敗の理由等を示す結果コードが記録される。ステップS911にてレコードを更新すると、全体管理マネージャー502は処理をステップS912へ進める。
ステップS912にて全体管理マネージャー502は、指示コマンドが失敗したことと結果コードを遠隔管理サービスサーバー150に通知するため、機器通信管理部507を介して指示コマンド結果通知処理を行う。指示コマンド結果通知処理を完了すると全体管理マネージャー502は処理をステップS913に進める。
ステップS913では、ステータス管理部506は指示コマンドの結果を遠隔管理サービスサーバー150に通知完了しすべての処理を完了したので、ステップS904にて作成したレコードを更新して、監視装置130の処理を完了する。
ステップS905にて指示コマンドの宛先が監視装置130自身に宛てたものでなかった場合、全体管理マネージャー502は処理をステップS914に進める。
ステップS914にて全体管理マネージャー150は、指示コマンドの実行先である宛先が、管理装置130による監視対象であるネットワーク機器リスト中に存在するか否かを判定する。なおかつ、この指示コマンドは、「指示コマンドの問い合わせの呼び出し指示」であることか否かを判定する。この結果、指示コマンドの宛先が管理装置130の監視対象であるネットワーク機器であり、かつ、指示コマンドが「指示コマンドの問い合わせの呼び出し指示」あった場合、全体管理マネージャー502は処理をステップS915に進める。
ステップS915では、ステータス管理部506は指示コマンドの宛先が監視対象のネットワーク機器と特定し指示コマンドの内容も確認したことから、ステータスを更新するため、ステップS904にて作成したレコードを更新する。図11(e)はその更新後のレコードの例を示す。対象IDには宛先の「ネットワーク機器A」が、コマンドには「指示コマンドの問い合わせの呼び出し指示」が、書き込まれている。なおコマンドフィールドの値は、たとえばコマンドを示す識別情報でよい。ステップS915にてレコードを更新すると、全体管理マネージャー502は処理をステップS916へ進める。
ステップS916にて全体管理マネージャー502は、対象のネットワーク機器に対して「指示コマンドの問い合わせの呼び出し指示」を発行する。この「指示コマンドの問い合わせの呼び出し指示」を受けたネットワーク機器は、実施例1で説明した自己監視モジュールの動作しているネットワーク機器である。この指示を受けたネットワーク機器は、遠隔管理サービスサーバー150に対して、指示コマンドの問い合わせを発行する。ステップS916にて全体管理マネージャー502は、対象のネットワーク機器に対して「指示コマンドの問い合わせの呼び出し指示」を発行すると処理をステップS917に進める。
ステップS917にて全体管理マネージャー502は、ステップS916にて発行した「指示コマンドの問い合わせの呼び出し指示」が成功したか否かを判定する。「指示コマンドの問い合わせの呼び出し指示」が失敗するのは、対象のネットワーク機器の電源がオフ、省電力モード中、ネットワークに接続されていない、などにより、一時的に指示コマンドが対象のネットワーク機器に到達しないケースが含まれる。一方で、対象のネットワーク機器に指示コマンドが到達し、それを実行した結果、コマンド処理に失敗した場合などについては、ステップS917においては成功したと判定される。ステップS917にて「指示コマンドの問い合わせの呼び出し指示」が成功していた場合、全体管理マネージャー502は処理をステップS918へ進める。
ステップS918では、ステータス管理部506は「指示コマンドの問い合わせの呼び出し指示」が成功したことを記録するため、ステップS904にて作成したレコードを更新する。図12(a)にその例を示す。図11(e)のレコードのステータス欄に「成功」を書き込んだものとなる。なおたとえば、「指示コマンドの問い合わせの呼び出し指示」の受信確認を対象のネットワーク機器から受信した場合に、それが成功したものと判定できる。ステップS918にてレコードを更新すると、全体管理マネージャー502は処理をステップS919へ進める。
ステップS919にて全体管理マネージャー502は、対象のネットワーク機器に対する指示コマンドの転送が成功したことを遠隔管理サービスサーバー150に通知するため、機器通信管理部507を介して指示コマンド結果通知処理を行う。なお、対象のネットワーク機器からの指示コマンドの実行結果を受信した場合には、遠隔管理サービスサーバー150に通知される指示コマンド結果通知にその実行結果の内容を含めてもよい。指示コマンド結果通知処理を完了すると全体管理マネージャー502は処理をステップS913に進める。
ステップS917にて、ネットワーク機器の電源がOFFなどの理由で「指示コマンドの問い合わせの呼び出し指示」が失敗した場合、全体管理マネージャー502は処理をステップS920へ進める。
ステップS920では、ステータス管理部506は「指示コマンドの問い合わせの呼び出し指示」が失敗したことを記録するため、ステップS904にて作成したレコードを更新する。ここではさらに「指示コマンドの問い合わせ呼び出し指示」が何回目の失敗であるのかもレコードに記録する。図12(b)にその例を示す。図12(b)の例では、失敗はまだ確定しておらず、ステータスは「再処理中」とし、指示コマンドの呼び出しを試みた回数を繰り返し回数として記録する。ステップS918にてレコードを更新すると、全体管理マネージャー502は処理をステップS921へ進める。
ステップS921にてステータス管理部506は、一定回数以上(例えば、10回)「指示コマンドの問い合わせの呼び出し指示」に失敗しているのか否かを確認する。ここで一定回数以上「指示コマンドの問い合わせの呼び出し指示」に失敗していた場合、処理をステップS922へ進める。繰り返し回数は、レコードに記録された繰り返し回数を参照すればよい。
ステップS922では、ステータス管理部506は「指示コマンドの問い合わせの呼び出し指示」が一定回数以上失敗したことを記録するため、ステップS904にて作成したレコードを更新する。図12(c)にその例を示す。この段階では再試行はこれ以上行わず、失敗を確定させるためにステータスは「失敗」となり、コードが記録される。ステップS922にてレコードを更新すると、全体管理マネージャー502は処理をステップS923へ進める。
ステップS923にて全体管理マネージャー502は、対象のネットワーク機器に対する指示コマンドの転送に失敗したことを遠隔管理サービスサーバー150に通知するため、機器通信管理部507を介して指示コマンド結果通知処理を行う。指示コマンド結果通知処理を完了すると全体管理マネージャー502は処理をステップS913に進める。
ステップS921にて、「指示コマンドの問い合わせの呼び出し指示」の失敗が、まだ一定回数以上に達していない場合、一定の期間をあけて再送処理へ入る。そして全体管理マネージャー502は、処理をステップS915へ進める。
ステップS914にて、指示コマンドの対象が監視装置130の監視対象のネットワーク機器リスト中に存在しなかった場合、または、指示コマンドが「指示コマンドの問い合わせの呼び出し指示」ではない場合には、全体管理マネージャー502は処理をステップS924へ進める。
ステップS924では、ステータス管理部506は指示コマンドの宛先となるネットワーク機器が監視装置130の監視対象のネットワーク機器でないことを記録するため、ステップS904にて作成したレコードを更新する。図12(d)にその例を示す。失敗の理由はたとえばコード欄に記録される。なお、指示コマンドが「指示コマンドの問い合わせの呼び出し指示」でないことが失敗の理由である場合には、コマンドフィールドには、指示されたコマンドの識別情報が記録され、コードとしてそのことを示す情報が記録される。ステップS924にてレコードを更新すると、全体管理マネージャー502は処理をステップS925へ進める。
ステップS925にて全体管理マネージャー502は、指示コマンドが失敗したことを遠隔管理サービスサーバー150に通知するため、機器通信管理部507を介して指示コマンド結果通知処理を行う。指示コマンド結果通知処理を完了すると全体管理マネージャー502は処理をステップS913に進める。
以上の手順で、監視装置130は遠隔管理サービスサーバー150に対して指示コマンドの問い合わせを例えば定期的に行う。それに応じて、遠隔管理サービスサーバー150は、発行すべき指示コマンドがあればそれを対象の装置に宛てて送ることができる。送信される指示コマンドが「指示コマンドの問い合わせの呼び出し指示」であり、かつ、宛先が管理対象のネットワーク機器であるなら、監視装置130は、宛先のネットワーク機器にコマンドを転送し、その機器に「指示コマンドの問い合わせ」を、遠隔管理サービスサーバー150に宛てて送信させることができる。このように、監視装置130が遠隔管理サービスサーバー150に対するポーリングを代行し、監視対象のネットワーク機器のそれぞれからは、必要に応じて問い合わせを発行させることで、トラフィックを軽減し、遠隔管理サービスサーバー150の負荷を軽減することができる。なおかつ、遠隔管理サービスサーバー150からの指示は、ポーリングの間隔に応じて適時に得ることができる。さらに、ネットワーク機器にインストールされた監視モジュールの機能を生かした、様々な監視情報を得ることができる。なお、監視モジュールがインストールされていないネットワーク機器については、第1実施形態と同様に、監視装置130がそれら機器を対象としてポーリングすることで監視情報を得る。
<本実施形態のネットワーク機器への指示コマンド発行時のシーケンス図>
図10は、遠隔管理サービスサーバー150のユーザーが特定のネットワーク機器に対して「通信スケジュールの変更」指示を発行してから、特定ネットワーク機器の通信スケジュールが変更されるまでの処理を表したシーケンス図である。図10において、監視装置130は複数のネットワーク機器を監視している。
監視装置130は、監視している複数のネットワーク機器を代表して遠隔管理サービスサーバー150に対して指示コマンドの問い合わせの通信S1001を行う。図10のシーケンス図は、この監視装置130が送信する指示コマンドの問い合わせの通信S1001から開始される。S1001の指示コマンドの問い合わせの通信時には、まだ遠隔管理サービスサーバー150に特定の指示がユーザーから発行されていない。このため、指示コマンドの問い合わせの通信に対して指示コマンドなしS1002の応答を返す。
その後、ユーザーIF入出力制御部607を介してユーザーBが、自己監視モジュールの制御下のネットワーク機器Bに対して通信スケジュールの変更指示S1003を発行する。通信スケジュールの変更指示を受けた遠隔管理サービスサーバー150は、ネットワーク機器Bの監視機器構成を機器管理情報格納部606から取得し確認する。
ネットワーク機器Bは、直接通信テストを実行してきたネットワーク機器なので、遠隔管理サービスサーバー150はネットワーク機器B内で自己監視モジュールが動いていることを把握する。実際には、通信テストを受信することで遠隔管理サービスサーバー150は監視構成を把握する。また、その後の監視装置130からの通信テストにて送信されるネットワーク機器リスト中にネットワーク機器Bの識別子が入っていた。このことから、遠隔管理サービスサーバー150は対象のネットワーク機器は自己監視モジュールが動いていながら、指示コマンドの問い合わせ通信は監視装置130が実施していることを把握する。
この機器監視構成から遠隔管理サービスサーバー150は、ネットワーク機器B宛ての指示コマンドとして「スケジュールの変更指示」を準備する。また、さらに監視装置130宛ての指示コマンドとして「ネットワーク機器Bに対する指示コマンドの問い合わせの呼び出し指示」を発行する準備を行なう。これらの指示コマンドの発行準備ができると遠隔管理サービスサーバー150は、指示の受け付けOKを表すレスポンスS1004をユーザーBに返す。
次に監視装置130は、複数のネットワーク機器を代表して指示コマンドの問い合わせS1005を遠隔管理サービスサーバー150に送信する。遠隔管理サービスサーバー150には対象の監視装置130宛ての指示コマンドが準備されているので遠隔管理サービスサーバー150は、応答S1006の通信にて、「ネットワーク機器Bの指示コマンドの問い合わせの呼び出し指示」を発行する。遠隔管理サービスサーバー150からの応答S1006を受信した監視装置130は、顧客内ネットワークに接続されているネットワーク機器Bに対して「指示コマンドの問い合わせの呼び出し指示」S1007を発行する。
ネットワーク機器BからOKの応答レスポンスS1008が返ってきた場合には、監視装置130は遠隔管理サービスサーバー150に対して処理結果としての「完了」通知S1009を送信する。
遠隔管理サービスサーバー150は、「完了」通知S1009を受信すると「ネットワーク機器Bの指示コマンドの問い合わせの呼び出し指示」が無事にネットワーク機器Bに発行されたことを把握し、応答としてOKレスポンスS1010を監視装置130に返す。
もし、監視装置130がネットワーク機器Bに対して指示を発行する際に、ネットワーク機器Bの電源がOFFとなっていて通信できない場合があれば一定期間の再送を試みる。
例えば、1時間毎に10回を上限にネットワーク機器Bへ「指示コマンドの問い合わせの呼び出し指示」を試みる。そして通信ができない場合には、S1009の処理結果通知で、「ネットワーク機器Bに対する指示コマンドの問い合わせの呼び出し指示」は「失敗」の通知を行なう。
S1007にて「指示コマンドの問い合わせの呼び出し指示」を受信したデバイスBは、遠隔管理サービスサーバー150に対して指示コマンドの問い合わせS1011を発行する。この指示コマンドの問い合わせを受信した遠隔管理サービスサーバー150は、ユーザーBから指示を受けていた「ネットワーク機器Bに対するスケジュール変更指示」をS1011への応答S1012に付加して返す。S1012にてスケジュール変更指示を受信したデバイスBはスケジュールの変更処理を実行し、その実行結果を遠隔管理サービスサーバー150に「処理結果通知」S1013として送信する。遠隔管理サービスサーバー150は、処理結果を受信するとOKレスポンスを応答S1014としてネットワーク機器Bに返す。その後、ユーザーBはS1003でネットワーク機器Bに指示したスケジュール変更指示の結果をS1015にて確認する。遠隔管理サービスサーバー150はS1013にて受信した指示結果をユーザーBに対して処理結果S1016として返す。
また、一定期間経つと、定期通信として監視装置130は遠隔管理サービスサーバー150に対して指示コマンドの問い合わせS1017を送信する。
この時には、また指示コマンドが設定されていないので、遠隔管理サービスサーバー150は、指示なしS1018を返す。
以上のようにして、本実施形態においても、各ネットワーク機器から遠隔管理サービスサーバーに対してコマンド問合せを発行し、それに応じてコマンドを受信することができる、そのコマンドを実行することで、監視の設定を変更することなどができる。また監視情報も、各ネットワーク機器から遠隔管理サービスサーバーに直接送信せず、いったん監視装置130に送信して蓄積し、それを遠隔管理サービスサーバーに送信するように構成してもよい。またたとえば、ネットワーク機器からはコマンド問合せを発行し、遠隔管理サービスサーバーからの指示に応じて設定を変更したり、あるいは監視情報を送信しているが、これではトラップなどで監視対象の機器から通知された監視情報を適時に送信できなこともあり得る。そこで、コマンド問合せに代えて、コマンド要求をネットワーク機器から遠隔管理サービスサーバー150に送信してもよい。この場合には遠隔管理サービスサーバー150は送信元の機器に対してコマンド問合せ呼び出しを送信する。これにより、ネットワーク機器がイニシアチブをとって、情報を遠隔管理サービスサーバーに送信することもできる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。