(57)【要約】【課題】ネットワーク機器のＷｅｂＵＩの構成が変化した際に、該変化の内容に応じてネットワーク機器に対するタスクを適切に制御する管理装置を提供すること。【解決手段】サーバ１００は、ネットワーク機器１５０が提供するウェブページを介した命令であるスクリプトと、当該スクリプトの実行のタイミングとが指定されたタスクを管理し、ネットワーク機器１５０が提供するウェブページの構成の変化を検知すると、該変化に応じて、タスクのスクリプトの実行を制御する。サーバ１００は、検知された変化が管理されたタスクのスクリプトにより操作の対象となるウェブページの要素が削除されていることを示す場合に、該タスクによるスクリプトの実行を停止する。【選択図】  図１０
2015219890.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機器への操作のために必要な該ネットワーク機器が提供するウェブページを介した命令であるスクリプトと、当該スクリプトの実行のタイミングとが指定されたタスクを管理する管理手段と、
前記ネットワーク機器が提供するウェブページの構成の変化を検知する検知手段と、
前記検知手段により検知された変化に応じて、前記管理されたタスクのスクリプトの実行を制御する制御手段と、を有し、
前記制御手段は、前記検知手段により検知された変化が前記管理されたタスクのスクリプトにより操作の対象となるウェブページの要素が削除されていることを示す場合に、前記管理されたタスクによるスクリプトの実行を停止する
ことを特徴とする管理装置。
【請求項２】
前記制御手段は、前記管理されたタスクのスクリプトによる操作の内容がネットワーク機器への情報の書き込みであった場合、前記検知手段による変化の種類を問わず、前記管理されたタスクのスクリプトの実行を停止する
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記制御手段は、前記前記検知手段により検知された変化が前記管理されたタスクのスクリプトにより操作の対象となるウェブページの要素が移動されていることを示す場合に、該スクリプトを修正する
ことを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記検知手段は、前記管理手段により管理されているスクリプトに対応して、ユーザにより指定されたウェブページの一部の領域の変化を検知する
ことを特徴とする請求項１乃至３のいずれか一項に記載の管理装置。
【請求項５】
前記検知手段は、前記ネットワーク機器から前記ウェブページの構成を予め定められた周期で取得し、前記取得したウェブページの構成と前回取得したウェブページの構成とを比較することにより前記変化を検知する
ことを特徴とする請求項１乃至４のいずれか一項に記載の管理装置。
【請求項６】
前記制御手段は、前記管理されたタスクによるスクリプトの実行を停止する際に、該タスクに関連するタスクを検出し、該検出したタスクを停止または実行する
ことを特徴とする請求項１乃至５のいずれか一項に記載の管理装置。
【請求項７】
前記制御手段は、前記管理されたタスクのスクリプトの実行を停止した際に、タスク一覧と前記停止したタスクに関するメッセージを含む画面をユーザに提供する
ことを特徴とする請求項１乃至６のいずれか一項に記載の管理装置。
【請求項８】
前記制御手段は、予め定められた通知レベルに応じて前記メッセージを含む画面をユーザに提供する
ことを特徴とする請求項７に記載の管理装置。
【請求項９】
前記ウェブページの一部の領域または前記通知レベルは、前記ネットワーク機器の画面を模倣する外部装置の画面上に表示される
ことを特徴とする請求項８に記載の管理装置。
【請求項１０】
前記制御手段は、前記検知手段により検知された変化が前記管理されたタスクに与える影響度を算出し、算出された影響度が閾値を超える場合に前記管理されたタスクのスクリプトの実行を停止する
ことを特徴とする請求項１乃至９のいずれか一項に記載の管理装置。
【請求項１１】
ネットワーク機器を管理する管理装置の制御方法であって、
ネットワーク機器への操作のために必要な該ネットワーク機器が提供するウェブページを介した命令であるスクリプトと、当該スクリプトの実行のタイミングとが指定されたタスクを管理する管理工程と、
前記ネットワーク機器が提供するウェブページの構成の変化を検知する検知工程と、
前記検知手段により検知された変化に応じて、前記管理されたタスクのスクリプトの実行を制御する制御工程と、を有し、
前記制御工程では、前記検知工程で検知された変化が前記管理されたタスクのスクリプトにより操作の対象となるウェブページの要素が削除されていることを示す場合に、前記管理されたタスクによるスクリプトの実行が停止される
ことを特徴とする制御方法。
【請求項１２】
請求項１乃至１０のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク機器を管理する管理装置、その制御方法およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク機器を管理する管理サーバが、ネットワーク機器のＷｅｂＵＩ（Ｗｅｂ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を利用して複数のネットワーク機器をリモート操作する方法が提案されている。この場合、管理サーバは、クライアントのＷｅｂブラウザ操作（例えば、キーボード入力、クリック操作など）をシミュレートして、ＷｅｂＵＩを操作することで、ネットワーク機器の管理を行う。管理サーバがＷｅｂＵＩにアクセスすることで、ネットワーク機器のステータスや設定情報など多くの情報を収集し、例えばオフィス向けの高機能複合機などに対しては、各種アプリケーションのインストールや各種設定値の変更などを行うことができる。特許文献１は、統合サーバがシナリオに従ってクライアントのリクエストを処理することによりクライアントのＷｅｂブラウザ操作をシミュレートし、アプリケーション操作を円滑化するシステムを開示している。
【０００３】
また、管理サーバが複数のネットワーク機器の管理を行う場合は、ＷｅｂＵＩの操作手順を外部ファイルに書き出し、機種ごとにスクリプトを管理する。スクリプトには、ページ遷移やキーボード入力操作、マウス操作などの各種ＷｅｂＵＩ操作の手順が記述される。管理サーバはネットワーク機器の固有情報から紐付けされたスクリプトを読み込み、記述された操作手順に従ってＷｅｂＵＩを操作する。これにより、ネットワーク機器別の処理ロジックを実行プログラムと分離し、ネットワーク機器別の管理を効率化することが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８６８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワーク機器において、ファームウェアのアップデートや外部デバイスの接続などに起因してＷｅｂＵＩが変化する場合がある。ＷｅｂＵＩのＨＴＭＬ構造が変化すると、管理サーバは既存のＷｅｂＵＩ操作タスクを適切に実行できず、無理にタスクを実行することで、タスク作成者の意図しない操作を実行してしまうといった課題がある。
【０００６】
本発明は、ネットワーク機器のＷｅｂＵＩの構成が変化した際に、該変化の内容に応じてネットワーク機器に対するタスクを適切に制御する管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の管理装置は、ネットワーク機器への操作のために必要な該ネットワーク機器が提供するウェブページを介した命令であるスクリプトと、当該スクリプトの実行のタイミングとが指定されたタスクを管理する管理手段と、前記ネットワーク機器が提供するウェブページの構成の変化を検知する検知手段と、前記検知手段により検知された変化に応じて、前記管理されたタスクのスクリプトの実行を制御する制御手段と、を有する。前記制御手段は、前記検知手段により検知された変化が前記管理されたタスクのスクリプトにより操作の対象となるウェブページの要素が削除されていることを示す場合に、前記管理されたタスクによるスクリプトの実行を停止する。
【発明の効果】
【０００８】
本発明の管理装置によれば、ネットトワーク機器のＷｅｂＵＩの構成が変化した際に、該変化の内容に応じてネットワーク機器に対するタスクを適切に制御することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態のシステム構成及びハードウェア構成を示す図である。
【図２】図１のシステムのソフトウェア構成を示す図である。
【図３】アプリケーションサーバが利用するスクリプトの記述例である。
【図４】データベースサーバモジュールが管理する各種テーブル構成を示す。
【図５】データベースサーバモジュールが管理する各種テーブル構成を示す。
【図６】データベースサーバモジュールが管理する各種テーブル構成を示す。
【図７】データベースサーバモジュールが管理する各種テーブル構成を示す。
【図８】監視タスク管理画面を示す図である。
【図９】新規監視タスク作成画面を示す図である。
【図１０】実施例１における、タスク処理のフローチャートである。
【図１１】ＷｅｂＵＩのＨＴＭＬ文書を示す図である。
【図１２】ＷｅｂＵＩ操作タスクを停止したことを通知する画面の一例である。
【図１３】実施例２における、タスク処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明に係るネットワーク機器を管理する管理装置を含むネットワークシステムの一実施形態について説明する。ここでは、管理装置としてアプリケーションサーバを例に説明する。また、ネットワーク機器として、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、複合機能を有する複写機を例に説明する。ネットワーク機器は、プリンタ、ＦＡＸなどのＭＦＰ以外の機器も含む。
【００１１】
さらに本明細書では、管理装置が備えるプログラムがネットワーク機器のＷｅｂＵＩを操作、解析、情報抽出することを、Ｗｅｂスクレイピングという言葉を用いて説明する。本明細書において、Ｗｅｂスクレイピングとは、スクリプトの記述手順に従ってＷｅｂＵＩを操作し、ＨＴＭＬを解析してネットワーク機器の情報を抽出する処理を意味する。プログラムがマウス操作やキーボード操作等の入力処理をシミュレートすることで、ＷｅｂＵＩを操作する。Ｗｅｂスクレイピングの用途の例として、ネットワーク機器の種々の設定を任意の値に変更する操作や、ファイルのアップロード機能を利用して、アプリケーションや証明書等のライセンスファイルをインストールする等の用途が挙げられる。また、ネットワーク機器の各種ステータスをＷｅｂＵＩから定期的に取得し、ネットワーク機器の状態を監視することも可能である。勿論、本発明はこれらの用途に限定されるものではない。
【００１２】
（実施例１）
図１は、一実施形態のネットワークシステムの全体構成およびハードウェア構成を説明するブロック図である。ネットワークシステムは、アプリケーションサーバ１００、クライアントコンピュータ１２０およびＭＦＰ１５０を備える。各装置は、ネットワーク１７０を介して接続され、互いにデータ通信を行う。なお、アプリケーションサーバ１００およびクライアントコンピュータ１２０は汎用コンピュータの構成を有する。クライアントコンピュータ１２０のハードウェア構成についてはアプリケーションサーバ１００と同様のため、説明を省略する。
【００１３】
アプリケーションサーバ１００は、ＣＰＵ１０１乃至システムバス１１２を備える。ＣＰＵ１０１は、ＲＯＭ１０３または外部メモリ１１１に記憶されたアプリケーションプログラム等に基づいて処理を実行する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、システムバス１１２に接続される各デバイスを総括的に制御する。また、ＣＰＵ１０１は、ディスプレイ１０９上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のアプリケーションウィンドウを開き、種々のデータ処理を実行する。
【００１４】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＲＯＭ１０３は、基本Ｉ／Ｏプログラム等の記憶領域として機能する読み出し専用のメモリである。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３または外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶される。ＲＯＭ１０３または外部メモリ１１１には、上記アプリケーションプログラム等に基づく処理の際に使用するファイルやその他各種データも記憶される。
【００１５】
ネットワークＩ／Ｆ１０４は、ネットワーク１７０へ接続することで各装置とネットワーク通信を行う。入力Ｉ／Ｆ１０５は、キーボード１０６やマウス等のポインティングデバイス１０７からの入力を制御する。ディスプレイＩ／Ｆ１０８は、ディスプレイ１０９の表示を制御する。外部メモリＩ／Ｆ１１０は、ハードディスク（ＨＤ）等の外部メモリ１１１とのアクセスを制御する。外部メモリ１１１は、ブートプログラム、各種のアプリケーション、ユーザファイル、編集ファイル等を記憶する。
【００１６】
アプリケーションサーバ１００は、ＣＰＵ１０１がＲＯＭ１０３または外部メモリ１１１に書き込まれた基本Ｉ／ＯプログラムおよびＯＳを実行している状態で動作する。コンピュータの電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のイニシャルプログラムロード機能により、ＲＯＭ１０３または外部メモリ１１１からＯＳがＲＡＭ１０２に書き込まれ、ＯＳの動作が開始される。システムバス１１２は各デバイスを接続する。
【００１７】
ＭＦＰ１５０は、ネットワークＩ／Ｆ１５１乃至システムバス１６５を備える。ネットワークＩ／Ｆ１５１は、ネットワーク１７０へ接続することで各装置とネットワーク通信を行う。ＣＰＵ１５２はＲＯＭ１５４または外部メモリ１６２に記憶されたアプリケーションプログラム等に基づいて処理を実行する。例えば、ＣＰＵ１５２は、ネットワークＩ／Ｆ１５１を介してアプリケーションサーバ１００と通信し、ＭＦＰ内の各種情報を送信する。また、ＣＰＵ１５２は、制御プログラム等に基づいて、システムバス１６５に接続されるプリンタＩ／Ｆ１５７を介してプリンタ１５８に出力情報としての画像信号を出力する。なお、制御プログラムはＲＯＭ１５４や外部メモリ１６２等に記憶される。
【００１８】
ＲＡＭ１５３は、ＣＰＵ１５２の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。また、ＲＡＭ１５３は出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００１９】
ＲＯＭ１５４または外部メモリ１６２（例えばＨＤ、ＩＣカード）には、ＣＰＵ１５２の制御プログラムやアプリケーションプログラムおよび上記出力情報を生成する際に使用するフォントデータ、ＭＦＰ１５０上で利用される情報等が記憶される。また、ＲＯＭ１５４または外部メモリ１６２には、ＭＦＰ１５０がアプリケーションをインストールした際に、アプリケーションが一時的に格納される。
【００２０】
操作部Ｉ／Ｆ１５５は、操作部１５６との間のインターフェースを司り、表示すべき画像データを操作部１５６に対して出力する。また、ユーザが操作部１５６を介して入力した情報を受信する。操作部１５６は、操作のためのスイッチおよびＬＥＤ表示器等が配されている操作パネル等に相当する。
【００２１】
プリンタＩ／Ｆ１５７は、プリンタ１５８（プリンタエンジン）に出力情報としての画像信号を出力する。スキャナＩ／Ｆ１５９は、スキャナ１６０（スキャナエンジン）から入力情報として画像信号を受信する。
【００２２】
外部メモリＩ／Ｆ１６１（メモリコントローラ）は、ハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１６２へのアクセスを制御する。前述した外部メモリは１個に限らず、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。また、ＭＦＰ１５０は図示しないＮＶＲＡＭを有し、操作部１５６からのプリンタモード設定情報を記憶するように構成されてもよい。
【００２３】
オプション機器Ｉ／Ｆ１６３は、フィニッシャ、カセットユニット等のオプション機器１６４へのアクセスを制御する。オプション機器は、フィニッシャやカセットユニットの他に、カメラやＩＣカードリーダー等のＭＦＰの機能及び機構を拡張する周辺機器でもよい。システムバス１６５は各デバイスを接続する。
【００２４】
図２は、図１のネットワークシステムのソフトウェア構成を説明するブロック図である。まず、アプリケーションサーバ１００のソフトウェア構成を説明する。
【００２５】
アプリケーションサーバ１００は、管理アプリケーション２００、ネットワークモジュール２０１、データベースサーバモジュール２０２、ファイルサーバモジュール２０３を備える。管理アプリケーション２００および各モジュールは、外部メモリ１１１に保存されたファイルとして存在する。これらは実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。また、管理アプリケーション２００は、外部メモリ１１１の不図示のＣＤ−ＲＯＭ、またはネットワーク１７０を経由して外部メモリ１１１に追加することが可能である。
【００２６】
ネットワークモジュール２０１は、任意の通信プロトコルを使用してクライアントコンピュータ１２０やＭＦＰ１５０とのネットワーク通信を行う。Ｗｅｂサーバモジュール２０５は、クライアントコンピュータ１２０のＷｅｂブラウザ２２１からのＨＴＴＰリクエストを受け取ると、ＨＴＴＰレスポンスを返すＷｅｂサーバサービスを提供する。例えば、Ｗｅｂサーバモジュール２０５は、ＨＴＴＰレスポンスとして、外部メモリ１１１に保存されたＷｅｂページデータを返してもよい。または、Ｗｅｂサーバモジュール２０５は管理アプリケーション２００のＵＩモジュール２０４にＨＴＴＰレスポンスの生成を要求してもよい。
【００２７】
管理アプリケーション２００は、ＵＩモジュール２０４、Ｗｅｂサーバモジュール２０５、探索モジュール２０６、Ｗｅｂスクレイピング管理モジュール２０７、機器操作モジュール２０８、機器構成管理モジュール２０９を備える。管理アプリケーション２００は、アプリケーションサーバ１００とネットワーク１７０で接続されたＭＦＰ１５０を管理するアプリケーションである。管理アプリケーション２００は、例えばＷｅｂサーバモジュール２０５が提供するＷｅｂページへのリクエストに応答して処理を実行するプログラムとして実装される。上記のように、管理アプリケーション２００はＷｅｂサーバモジュール２０５とともに、ＭＦＰ１５０を管理するＷｅｂアプリケーションを実現している。
【００２８】
ＵＩモジュール２０４は、Ｗｅｂサーバモジュール２０５からの要求に応じてＨＴＴＰレスポンスを生成する。また、クライアントコンピュータ１２０のＷｅｂブラウザ２２１からユーザ入力情報を受信し、必要に応じて各モジュールを呼び出す。ＵＩモジュール２０４が呼び出すモジュールの例が、Ｗｅｂサーバモジュール２０５、探索モジュール２０６、Ｗｅｂスクレイピング管理モジュール２０７、機器構成管理モジュール２０９である。また、ＵＩモジュール２０４は、上記モジュール以外のモジュールを呼び出してもよい。
【００２９】
探索モジュール２０６は、アプリケーションサーバ１００とネットワーク１７０で接続されたＭＦＰ１５０を、任意の通信プロトコルを使って探索する。探索モジュール２０６が探索に使用する通信プロトコルの例としては、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）やＳＬＰ（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等が挙げられる。他にもＷＳ−Ｄｉｓｃｏｖｅｒｙ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｙｎａｍｉｃ  Ｄｉｓｃｏｖｅｒｙ）などの通信プロトコルが使用されてもよい。探索モジュール２０６はＭＦＰ１５０を探索し、ＭＦＰ１５０から機器情報を取得して後述のデータベースサーバモジュール２０２の機器管理テーブル３０５へ格納する。
【００３０】
Ｗｅｂスクレイピング管理モジュール２０７は、ネットワーク１７０を経由しＭＦＰ１５０に対してＨＴＴＰリクエストを行い、ＭＦＰ１５０に任意のデータを送信することができる。また、ＭＦＰ１５０のＷｅｂサーバモジュール２３１が生成するＨＴＴＰレスポンスを受信し、ＨＴＭＬ記述を解析することで、特定の情報の抽出を行うことができる。
【００３１】
また、Ｗｅｂスクレイピング管理モジュール２０７は、後述のデータベースサーバモジュール２０２のタスク管理テーブル３０６からタスク情報を取得する。その後、タスク情報を元にデータベースサーバモジュール２０２またはファイルサーバモジュール２０３に格納されたスクリプトを取得する。Ｗｅｂスクレイピング管理モジュール２０７は、取得したスクリプトを読み取り、記述された命令に従ってＭＦＰ１５０のＷｅｂサーバモジュール２３１によって提供されるＷｅｂＵＩを操作することができる。ＷｅｂＵＩの操作とは、例えばＵＲＬ指定によるウェブページ遷移、入力フォームでのキーボード入力やマウスのクリック操作、ＨＴＭＬ記述から特定の文字列を検索、比較し、特定の情報を抽出する等の操作が挙げられる。
【００３２】
スクリプトの記述例を図３に示す。図３のスクリプトは、前述の操作命令をＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式で記述した例である。ＪＳＯＮ形式の他にも、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等の他の記述形式で記述してもよい。Ｗｅｂスクレイピング管理モジュール２０７はこの記述を読み取り、ＷｅｂＵＩ操作を実行することができる。またスクリプトでは、各操作間の待ち時間を指定可能であり、任意のタイミングで操作を実行できてもよい。
【００３３】
図２に戻り、機器操作モジュール２０８は、ユーザからの入力を元にＭＦＰ１５０への設定変更操作を実行する。設定変更操作としては、例えばＭＦＰ１５０のファームウェアをアップデートする操作、ＭＦＰ１５０にアプリケーションをインストールまたはアンインストールする操作、ＭＦＰ１５０に搭載された種々の機能を無効化または有効化する操作等が挙げられる。もちろん、ＭＦＰ１５０の設定を変更する操作であれば、上記操作以外の操作でもよい。なお、ファームウェアのアップデート、アプリケーションのインストールまたはアンインストール等の処理は、実行日時指定のタスク処理として実行してもよい。
【００３４】
また、機器操作モジュール２０８は、データベースサーバモジュール２０２のアプリケーション管理テーブル３０２および不図示のアプリケーションインストールタスク管理テーブル等からタスク情報を取得する。ファームウェアアップデート及びアプリケーションのインストール等に必要なデータは、ファイルサーバモジュール２０３に格納されているものとする。
【００３５】
ファイルサーバモジュール２０３は、ファイルを管理し、他モジュールからの要求に合わせてファイルの格納と取り出しを行う。ファイルサーバモジュール２０３は、管理アプリケーション２００からアクセス可能であれば、アプリケーションサーバ１００とは別の機器上にあってもよい。ネットワーク１７０経由でファイルが送受信される場合は、ＦＴＰやＷｅｂＤＡＶ等のプロトコルが使用されてもよい。ＦＴＰは、Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略称である。また、ＷｅｂＤＡＶは、Ｗｅｂ−ｂａｓｅｄ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｕｔｈｏｒｉｎｇ  ａｎｄ  Ｖｅｒｓｉｏｎｉｎｇの略称である。
【００３６】
データベースサーバモジュール２０２は、データを管理し、他モジュールからの要求に合わせてデータの格納と取り出しを行う。データベースサーバモジュール２０２は、管理アプリケーション２００からアクセス可能であれば、アプリケーションサーバ１００とは別の機器上にあってもよい。
【００３７】
機器構成管理モジュール２０９は、ＭＦＰ１５０の構成情報を管理する。構成情報としては、例えばＭＦＰ１５０の製品名やベンダー情報、ＭＦＰ１５０のファームウェアのバージョン情報などが挙げられる。他にも、ＭＦＰ１５０にインストールされているアプリケーションの識別名称やバージョン情報、ＭＦＰ１５０に接続されているオプション機器の製品名やベンダー情報などが挙げられる。構成情報は、ＭＦＰ１５０を構成するハードウェア及びソフトウェアの情報であれば、他の構成情報でもよい。上記構成情報は、データベースサーバモジュール２０２のベンダー管理テーブル３００、製品機種管理テーブル３０１、アプリケーション管理テーブル３０２、オプション機器管理テーブル３０３、機器管理テーブル３０５等に格納されている。機器構成管理モジュール２０９は、これらのテーブル情報を読み書きすることで、ＭＦＰ１５０の構成情報を管理する。
【００３８】
次に、クライアントコンピュータ１２０のソフトウェア構成を説明する。クライアントコンピュータ１２０はネットワークモジュール２２０およびＷｅｂブラウザ２２１を備える。クライアントコンピュータ１２０を構成する各モジュールは、ＲＯＭ１０３または外部メモリ１１１に保存されたファイルとして存在するプログラムモジュールである。各モジュールは、実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行される。ネットワークモジュール２２０は、任意の通信プロトコルを使用してアプリケーションサーバ１００およびＭＦＰ１５０とネットワーク通信を行う。Ｗｅｂブラウザ２２１は、ネットワークモジュール２２０を介してＨＴＴＰリクエストメッセージを送信し、ＨＴＴＰレスポンスメッセージを受信して表示する。クライアントコンピュータ１２０からアプリケーションサーバ１００へのアクセスはＷｅｂブラウザ２２１を通じて行われる。
【００３９】
次に、ＭＦＰ１５０のソフトウェア構成を説明する。ＭＦＰ１５０は、ネットワークモジュール２３０、Ｗｅｂサーバモジュール２３１、自機構成管理モジュール２３２、アプリケーション管理モジュール２３３、ＵＩモジュール２３４を備える。各モジュールはＲＯＭ１５４または外部メモリ１６２に保存されたファイルとして存在し、実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１５３にロードされ実行される。ネットワークモジュール２３０は、任意の通信プロトコルを使用してアプリケーションサーバ１００やクライアントコンピュータ１２０とネットワーク通信を行う。
【００４０】
Ｗｅｂサーバモジュール２３１は、管理アプリケーション２００のＷｅｂスクレイピング管理モジュール２０７、及びクライアントコンピュータ１２０のＷｅｂブラウザ２２１からのＨＴＴＰリクエストを受信し、ＨＴＴＰレスポンスを返信する。Ｗｅｂサーバモジュール２３１は、返信するＨＴＴＰレスポンスの例として、外部メモリ１１１に保存されたＷｅｂページデータを返信してもよい。または、Ｗｅｂサーバモジュール２３１は、管理アプリケーション２００のＵＩモジュール２０４にＨＴＴＰレスポンスの生成を要求してもよい。
【００４１】
自機構成管理モジュール２３２は、ＭＦＰ１５０のハードウェア構成情報とソフトウェア構成情報の管理を行う。ハードウェア構成情報とは、例えば、自機の製造番号や製造地等の自機固有情報、ＭＦＰ１５０に接続されたオプション機器の製品情報や使用状態等が挙げられる。オプション機器の例としては、フィニッシャやカセットユニット等が挙げられる。オプション機器内部にトナーやヒンジ等の消耗摩耗品が使用されている場合、これらの消耗状態及び摩耗状態も取得し、ネットワークモジュール２３０及びネットワーク１７０を通して管理アプリケーション２００に通知する。ソフトウェア構成情報とは、例えばＭＦＰ１５０のファームウェア情報、インストールされているアプリケーション情報等が挙げられる。
【００４２】
また自機構成管理モジュール２３２は、管理アプリケーション２００の機器操作モジュール２０８から送信されたファームウェアのアップデート要求を受信する。また、アプリケーションのインストール要求をネットワークモジュール２３０経由で受信し、自機のファームウェアアップデート及びアプリケーションのインストールを実行する。アプリケーション管理モジュール２３３は、予め内蔵またはインストールされた各種アプリケーションを管理する。ＵＩモジュール２３４は、ＭＦＰ１５０の操作部１５６に表示されるＵＩの描画および操作部１５６上でユーザのＵＩ操作により入力されたユーザ入力値を受信する。
【００４３】
図４乃至図７は、データベースサーバモジュール２０２内のテーブル構成の一例を示す。テーブル構成は一例であり、本例とは異なるテーブル構成が適用されてよい。
【００４４】
図４は、ベンダー管理テーブル、製品機種管理テーブル、アプリケーション管理テーブル、オプション機器管理テーブルのテーブル構成例を示す。ベンダー管理テーブル３００（図４（Ａ））は、機器構成管理モジュール２０９が、ＭＦＰ１５０の製造ベンダー名等のベンダー情報を管理するためのテーブルである。また、ベンダー管理テーブル３００では、ＭＦＰ１５０に接続されたオプション機器、及びＭＦＰ１５０にインストールされたアプリケーションのベンダー情報も管理することができる。ＭＦＰ、オプション機器、アプリケーション等、専用のベンダー管理テーブルが作成されてもよい。製品機種管理テーブル３０１（図４（Ｂ））は、機器構成管理モジュール２０９が、ＭＦＰ１５０の製品情報を管理するためのテーブルである。製品機種管理テーブル３０１で管理される情報は、例えば製品機種識別子、ベンダー識別子、製品識別名称、ファームウェアバージョン等が挙げられる。製品機種識別子は、製品機種を一意に識別する識別子である。
【００４５】
アプリケーション管理テーブル３０２（図４（Ｃ））は、機器構成管理モジュール２０９が、ＭＦＰ１５０にインストールされているアプリケーションの情報を管理するためのテーブルである。アプリケーション管理テーブル３０２で管理される情報は、例えばアプリケーション識別子、アプリケーション名、ベンダー識別子、バージョン等が挙げられる。アプリケーション識別子とは、アプリケーションを一意に識別する識別子である。またベンダー識別子とは、ベンダー管理テーブル３００におけるベンダー識別子を指しており、ベンダー情報を関連付けるための識別子である。
【００４６】
オプション機器管理テーブル３０３（図４（Ｄ））は、機器構成管理モジュール２０９が、ＭＦＰ１５０に接続されているオプション機器の情報を管理するためのテーブルである。オプション機器管理テーブル３０３で管理される情報は、例えばオプション機器識別子、アベンダー識別子、オプション製品名称等が挙げられる。オプション機器識別子は、オプション機器を一意に識別する識別子である。またベンダー識別子とは、ベンダー管理テーブル３００におけるベンダー識別子を指しており、ベンダー情報を関連付けるための識別子である。
【００４７】
図５は、スクリプト管理テーブルおよび機器管理テーブルのテーブル構成例を示す。スクリプト管理テーブル３０４（図５（Ａ））は、Ｗｅｂスクレイピング管理モジュール２０７が、ＭＦＰ１５０に対してＷｅｂスクレイピングを実行するための操作命令を記述したスクリプトを管理するためのテーブルである。スクリプト管理テーブル３０４で管理される情報は、例えばスクリプト識別子、スクリプト名称、製品機種識別子、オプション機器識別子、アプリケーション識別子、スクリプトデータ等が挙げられる。
【００４８】
スクリプト識別子とは、スクリプトを一意に識別する識別子である。製品機種識別子とは、製品機種管理テーブル３０１における製品機種識別子を指しており、ＭＦＰ１５０の機種情報を関連付けるための識別子である。オプション機器識別子とは、オプション機器管理テーブル３０３におけるオプション機器識別子を指しており、ＭＦＰ１５０に接続されたオプション機器情報を関連付けるための識別子である。
【００４９】
アプリケーション識別子とは、アプリケーション管理テーブル３０２におけるアプリケーション識別子を指しており、ＭＦＰ１５０にインストールされているアプリケーション情報を関連付けるための識別子である。スクリプトデータとは、スクリプトのファイル本体が格納されているファイルサーバモジュール２０３上のパスを示す情報である。または、スクリプトファイルは、データベースサーバモジュール２０２がバイナリデータ形式として保存してもよい。さらに、種々のスクリプトをデータベースサーバモジュール２０２が管理することも可能であり、一つのバイナリデータ形式で管理しなくてもよいものとする。
【００５０】
スクリプト管理テーブル３０４には、ネットワーク機器と該ネットワーク機器に接続されたオプション機器、インストールされているアプリケーション等の構成条件情報、および各構成条件に対応したスクリプトデータが予め登録されているものとする。
【００５１】
機器管理テーブル３０５（図５（Ｂ））は、管理アプリケーション２００が、ＭＦＰ１５０に関する情報を管理するためのテーブルである。機器管理テーブル３０５で管理される情報は、例えばネットワーク機器識別子、機器名称、ユーザアカウント、パスワード、製品機種識別子、オプション機器識別子等が挙げられる。また、機器管理テーブル３０５で管理される情報は、アプリケーション識別子、ＩＰアドレス、ＨＴＴＰポート番号、シリアルナンバー、最終探索日時等が挙げられる。
【００５２】
ネットワーク機器識別子とは、ＭＦＰ１５０を一意に識別する識別子である。製品機種識別子とは、製品機種管理テーブル３０１における識別子を指しており、ＭＦＰ１５０の機種情報を関連付けるための識別子である。ユーザアカウントとは、ＭＦＰ１５０のユーザ認証に必要なログイン情報であり、ＭＦＰ１５０にログイン可能なユーザ名である。またパスワードもユーザ認証に用いるものとする。
【００５３】
オプション機器識別子とは、オプション機器管理テーブル３０３におけるオプション機器識別子を指しており、ＭＦＰ１５０に接続されているオプション機器情報を関連付けるための識別子である。アプリケーション識別子とは、アプリケーション管理テーブル３０２におけるアプリケーション識別子を指しており、ＭＦＰ１５０にインストールされているアプリケーション情報を関連付けるための識別子である。最終探索日時は管理アプリケーション２００の探索モジュール２０６がＭＦＰ１５０を最後に探索した日時の情報である。
【００５４】
図６は、Ｗｅｂスクレイピングタスク管理テーブル、Ｗｅｂスクレイピングタスク実行結果管理テーブル、ＷｅｂＵＩ情報管理テーブルのテーブル構成例を示す。Ｗｅｂスクレイピングタスク管理テーブル３０６（図６（Ａ））は、Ｗｅｂスクレイピング管理モジュール２０７がＭＦＰ１５０に対してＷｅｂスクレイピングを実行するためのタスク情報を管理するテーブルである。Ｗｅｂスクレイピングタスク管理テーブル３０６で管理される情報は、例えばタスク識別子、タスク種別、タスク実行間隔、次回実行日時、ネットワーク機器識別子、次回実行スクリプト識別子、タスク種別、実行フラグ等が挙げられる。
【００５５】
タスク識別子とは、タスクを一意に識別する識別子である。タスク種別は、タスク実行周期を指定する。例えば、一定時間間隔、もしくは年毎、月毎、週毎などで指定可能な、定期的に実行するという種別もあれば、指定の日時に１回のみ実行するという種別も挙げられる。タスク実行間隔では、前述のタスクの実行間隔を指定するものとする。次回実行日時では、次回のタスク実行予定日時が指定されており、指定された日時にタスクを実行する。
【００５６】
ネットワーク機器識別子とは、機器管理テーブル３０５におけるネットワーク機器識別子を指しており、特定のＭＦＰ１５０を関連付けるための識別子である。Ｗｅｂスクレイピング管理モジュール２０７は、ネットワーク機器識別子に対応するＭＦＰ１５０に対して、タスクを実行する。次回実行スクリプト識別子とは、スクリプト管理テーブル３０４におけるスクリプト識別子を指しており、次回実行時に使用するスクリプトを関連付けるための識別子である。タスク種別は、Ｗｅｂスクレイピングの操作内容を判別するための識別子である。例えば、デバイスの設定値を変更するタスクであればＷＲＩＴＥ、設定値情報を取得するタスクであればＲＥＡＤ、という識別記号を指定する。実行フラグには、後述の監視タスクによってタスクの実行を中止しているか否かを示す状態情報が格納される。ＴＲＵＥであればタスクが実行されることを示し、ＦＡＬＳＥであればタスクの実行が中止されていることを示す。
【００５７】
Ｗｅｂスクレイピングタスク実行結果管理テーブル３０７（図６（Ｂ））は、Ｗｅｂスクレイピング管理モジュール２０７が、ＭＦＰ１５０に対してＷｅｂスクレイピングタスクを実行した際のタスク実行結果情報を管理するテーブルである。Ｗｅｂスクレイピングタスク実行結果管理テーブル３０７で管理される情報は、例えばタスク実行結果識別子、タスク識別子、実行日時、タスク実行結果、実行スクリプト識別子、実行ログデータなどが挙げられる。
【００５８】
タスク実行結果識別子とは、タスク実行結果を一意に識別する識別子である。タスク識別子とは、タスク管理テーブル３０６におけるタスク識別子を指しており、Ｗｅｂスクレイピングの実行に用いられたタスク情報を関連付けるための識別子である。実行スクリプト識別子とは、スクリプト管理テーブル３０４におけるスクリプト識別子を指しており、タスク実行時に使用したスクリプトを関連付けるための識別子である。
【００５９】
実行ログデータとは、Ｗｅｂスクレイピング実行時に出力されるログファイルのことであり、ここでは、ログファイルが格納されているファイルサーバモジュール２０３上のパスを示す。ログファイルに出力されるログ情報は、例えばネットワーク機器情報、ＷｅｂＵＩページ遷移情報、ＨＴＭＬ情報、各コマンドの実行結果、各種パラメータ、スクリプト実行エラー情報等が挙げられる。ログファイルは、ファイル形式でなく、データベースサーバモジュール２０２が管理してもよく、データベースサーバモジュール２０２がログファイルをデータベースにバイナリデータ形式として保存してもよい。さらに、種々のログデータをデータベースサーバモジュール２０２が管理することも可能であり、一つのバイナリデータ形式で管理しなくてもよいものとする。
【００６０】
ＷｅｂＵＩ情報管理テーブル３０８（図６（Ｃ））は、Ｗｅｂスクレイピング管理モジュール２０７が、ＭＦＰ１５０に対してＷｅｂスクレイピングタスクを実行した際に取得したＷｅｂＵＩの情報を管理するテーブルである。ＷｅｂＵＩ情報管理テーブル３０８で管理される情報は、例えばＷｅｂＵＩ情報識別子、ＷｅｂＵＩ階層データ、ＷｅｂＵＩＨＴＭＬデータ、ＷｅｂＵＩ情報の取得日時等が挙げられる。
【００６１】
ＷｅｂＵＩ情報識別子とは、ＷｅｂＵＩ情報を一意に識別する識別子である。ＷｅｂＵＩ階層データとは、Ｗｅｂスクレイピング時に、各ページの階層情報を記録したデータファイルのことであり、ここでは、ＷｅｂＵＩの各ページのＵＲＬ情報と、そのＵＲＬに紐づく別ページのＵＲＬ情報などを含む。ＷｅｂＵＩＨＴＭＬデータでは、Ｗｅｂスクレイピング時に取得する各ページのＨＴＭＬ情報を管理している。ＨＴＭＬ情報には当該ページのＨＴＭＬ文字列、画像情報、外部ファイル情報等、各ページに関連する情報が含まれる。
【００６２】
図７は、ＷｅｂＵＩ監視タスク管理テーブルおよびＷｅｂＵＩ監視タスク実行結果管理テーブルのテーブル構成例を示す図である。ＷｅｂＵＩ監視タスク管理テーブル３０９（図７（Ａ））は、Ｗｅｂスクレイピング管理モジュール２０７が、ＭＦＰ１５０に対してＷｅｂＵＩの監視タスクを実行した際のタスク情報を管理するテーブルである。ＷｅｂＵＩ監視タスク管理テーブル３０９で管理される情報は、例えば監視タスク識別子、実行種別、実行間隔、ネットワーク機器識別子、監視領域パス、監視領域座標、監視キーワード、関連タスク識別子、通知レベルなどが挙げられる。
【００６３】
監視タスク識別子は、監視タスクを一意に識別する識別子である。実行種別、実行間隔、ネットワーク機器識別子、次回実行スクリプト識別子については、Ｗｅｂスクレイピングタスク管理テーブル３０６と同等の項目であるため、説明を省く。なお、本実施例ではＷｅｂＵＩ監視タスクの実行にスクリプトを用いるが、もちろん、スクリプトを用いず、プログロムにハードコーディングされた命令を実行してもよく、その他の手段によってＷｅｂＵＩの変化を監視してもよい。
【００６４】
監視領域パスは、監視対象となるＷｅｂＵＩページのＨＴＭＬパスを示す。監視タスクは、ここで指定されたＨＴＭＬパス以下のＨＴＭＬ要素について、変化を検知する。監視領域座標は、監視対象のＷｅｂＵＩ領域をＨＴＭＬパスでなく、ＷｅｂＵＩ上の座標によって指定した場合に、その座標情報を保持する。監視キーワードは、領域内の特定の文字列に対して監視を行いたい場合に指定される。例えば、特定領域内の「ＵＳＢ」という文字列と「有効」という文字列を監視し、何れか、又は両方の文字列が変化した場合に領域変化を検知することができる。文字列変化の判断手法として、完全一致、部分一致が挙げられるが、もちろんその他の手法によって文字列変化を判断してもよい。
【００６５】
関連タスク識別子では、領域変化を検知した際に優先して停止するタスクのタスク識別子が指定される。Ｗｅｂスクレイピング管理モジュール２０７は、領域変化を検知した際に関しタスク識別子に紐付く関連タスクを検出し、検出された関連タスクを停止または実行する。通知レベルでは、領域変化を検知した際にユーザに通知するレベルを指定する。レベルは数値や文字列、その他の方法によって表現してもよい。ＷｅｂＵＩ監視タスクの管理画面例を図８に示す。
【００６６】
図８はＷｅｂブラウザ画面の一例を示す。タスク一覧表示領域７０１はＷｅｂＵＩ監視タスクの一覧であり、各監視タスクの簡易情報を表示している。表示される情報の例として、タスク名、監視タスクの実行状態、監視キーワード、停止タスク、各種操作リンクなどがある。監視タスクの実行状態では、監視対象のＷｅｂＵＩの監視領域に変化を検知した場合に、ＷｅｂＵＩが変更されたことを検知した旨の表示を行う。例えば、状態７０２は、画像や文字の装飾によって強調して表示することで、変化が生じたことをユーザに通知する。もちろん、メールや音声による通知、その他の画面上にメッセージを表示するなどの通知手段でもよい。
【００６７】
タスク一覧７０３は、後述の処理によって停止されたＷｅｂスクレイピングによるタスクの一覧を表示するページへのリンクである。変更操作７０４は、監視タスクの監視領域の変更や、ＷｅｂＵＩの変化を検知した場合にユーザに通知する通知レベルの設定を変更するためのページへのリンクである。もちろん、その他の設定変更を行うことも可能である。削除ボタン７０５は監視タスクを削除するボタンであり、監視タスクを選択的に削除できる。作成ボタン７０６は、監視タスクを新規に作成するボタンであり、新規監視タスク作成画面に遷移する。以上で図８の説明を終了する。
【００６８】
続いて図９について説明する。図９は、図８のＷｅｂブラウザ画面の新規監視タスク作成ボタン７０６をクリックした場合に表示される、ＭＦＰ１５０のＷｅｂＵＩ操作画面の例である。この画面では、Ｗｅｂブラウザ８００がユーザによるＭＦＰ１５０のＷｅｂＵＩ操作を記録し、記録された操作情報を元にＷｅｂスクレイピングのスクリプトを作成する。Ｗｅｂスクレイピング管理モジュール２０７は、監視タスクを実行する際に、作成したスクリプトを実行し、ユーザ操作を再現することで、監視領域を含むＷｅｂＵＩページまで遷移することができる。再現する操作の例として、例えばキーボード入力やマウスのクリック操作、ファイルのアップロード操作、文字列の選択等が挙げられる。Ｗｅｂブラウザはこれらの操作をアプリケーションサーバ１００に非同期に送信する。Ｗｅｂスクレイピング管理モジュール２０７は、操作情報を元に、スクリプトの作成を行う。このとき、操作情報をアプリケーションサーバ１００に送信せず、アプレット等を使用してＷｅｂブラウザと連携するプログラムがスクリプトを動的に作成してもよい。
【００６９】
Ｗｅｂブラウザ画面８００は、画面内部にＭＦＰ１５０のＷｅｂＵＩ（ウェブページ）を模倣して表示する。ＭＦＰ１５０のＷｅｂＵＩ画面８０１には、ＨＴＭＬのインラインフレーム要素及びＪａｖａｓｃｒｉｐｔ（登録商標）等のＷｅｂブラウザで利用可能なスクリプト言語を用いてＭＦＰ１５０のＷｅｂＵＩが表示される。また、ＭＦＰ１５０のＷｅｂＵＩ画面８０１は別ウィンドウに表示されてもよく、Ｗｅｂブラウザのアプレットを用いて、表示処理や操作記録処理等が行なわれてもよい。アプレットの例としては、Ａｄｏｂｅ  Ｆｌａｓｈ（商標）、Ｍｉｃｒｏｓｏｆｔ  Ｓｉｌｖｅｒｌｉｇｈｔ（商標）、Ｍｉｃｒｏｓｏｆｔ  ＤｉｒｅｃｔＸ（商標）、Ｊａｖａ  Ａｐｐｌｅｔ（商標）等が挙げられる。もちろん、それ以外の手法を用いてＭＦＰ１５０のＷｅｂＵＩが表示され、種々の入力操作が記録されてもよい。
【００７０】
選択ボタン８０２は、監視領域を選択するモードに切り替えるボタンであり、これにより、ユーザはウェブページの一部の領域を選択することができる。通常のＷｅｂブラウザ操作によって、画面が監視対象となるＷｅｂＵＩページまで遷移した後、ユーザが選択ボタン８０２をクリックすると、領域８０３のように、監視したいＷｅｂＵＩ領域を、矩形によって選択可能なモードに切り替えることができる。ユーザは選択ボタン８０２を押下後、マウス等のドラッグ操作により監視したい領域を矩形選択することができる。もちろん、タッチパネルなどのフリック操作や、その他の手段によって監視領域を矩形選択してもよい。また、矩形選択を行わない場合は、表示しているＷｅｂＵＩ全画面が監視領域対象とされてよい。Ｗｅｂブラウザ８００は、矩形選択された領域のＨＴＭＬ情報および選択座標などの領域情報をアプリケーションサーバ１００に非同期に送信する。領域情報を受信した管理アプリケーション２００は、データベースサーバモジュール２０２を介して保存する。
【００７１】
設定メニュー８０４は、監視領域を選択後に表示されるコンテキストメニューである。コンテキストメニュー８０４には、選択された領域に対して、監視したいキーワードやＷｅｂＵＩの変化を検知した際のユーザへの通知レベルなどの属性情報を設定するためのリンクが表示される。その他に設定できる項目として、変化検知後に強制停止したいタスクの登録や、通知先の設定などがある。もちろん、その他の設定が行われてもよい。中止ボタン８０５は、ユーザによりクリックされると監視タスクの新規作成を中止して処理を終了する。終了ボタン８０６は、ＭＦＰ１５０のＷｅｂＵＩ操作を終了して監視タスク情報を登録するボタンである。以上で図９の説明を終了する。
【００７２】
図７に戻り、ＷｅｂＵＩ監視タスク実行結果管理テーブル３１０（図７（Ｂ））は、Ｗｅｂスクレイピング管理モジュール２０７が、ＭＦＰ１５０に対してＷｅｂＵＩ監視タスクを実行した際のタスク実行結果情報を管理するテーブルである。ＷｅｂＵＩ監視タスク実行結果管理テーブルで管理される情報は、例えば監視タスク実行結果識別子、監視タスク識別子、実行日時、監視タスク実行結果、実行ログデータなどが挙げられる。監視タスク実行結果識別子とは、監視タスク実行結果を一意に識別する識別子である。監視タスク識別子とは、ＷｅｂＵＩ監視タスク管理テーブル３０９における監視タスク識別子を指す。監視タスク実行結果では、ＷｅｂＵＩの領域変化の有無などの情報が管理される。
【００７３】
以下、図１０を用いて、アプリケーションサーバ１００がＭＦＰ１５０のＷｅｂＵＩの特定の領域を監視し、ＷｅｂＵＩの変化に応じて実行リスクのあるタスクを動的に停止する処理フローを詳細に説明する。Ｓ５００で、管理アプリケーション２００のＷｅｂスクレイピング管理モジュール２０７が、ＷｅｂＵＩ監視タスク管理テーブル３０９から監視タスク情報を取得し、関連するスクリプト情報や監視対象となるネットワーク機器の情報を取得する。取得は、予約された実行時刻、または任意の実行タイミングによって行われる。
【００７４】
Ｓ５０１で、Ｗｅｂスクレイピング管理モジュール２０７は、Ｓ５００で取得したスクリプトの命令手順もしくは管理アプリケーション２００に組み込まれた命令手順に従い、ＭＦＰ１５０のＷｅｂＵＩにＨＴＴＰ通信を行う。この時、ＷｅｂＵＩの利用にログイン処理やその他のブラウジング操作が必要な場合には、ＷｅｂスクレイピングによってＷｅｂＵＩにアクセスしてもよい。Ｗｅｂスクレイピングの命令手順は、監視タスクに紐付けられたスクリプト、またはプログラムに組み込まれた命令手順に従い実行される。
【００７５】
Ｗｅｂスクレイピング管理モジュール２０７は、監視領域が含まれるページに到達すると監視領域のＨＴＭＬ情報を取得し、ＷｅｂＵＩ情報管理テーブル３０８にＨＴＭＬ情報を保存する。また、Ｗｅｂスクレイピング管理モジュール２０７は、監視領域の過去のＨＴＭＬ情報をＷｅｂＵＩ情報管理テーブル３０８から取得する。Ｓ５０２で、Ｗｅｂスクレイピング管理モジュール２０７は、Ｓ５０１で取得した現在の監視領域ＨＴＭＬ情報と前回取得した、過去のＨＴＭＬ情報を比較し、差分があるか否かを判断する。例えば、ＷｅｂＵＩ監視タスク管理テーブル３０９の監視タスク識別子３が示すタスクの場合、Ｓ５０１で取得した監視領域ＨＴＭＬ情報と１０分前に取得した監視領域ＨＴＭＬ情報を比較する。Ｗｅｂスクレイピング管理モジュール２０７は、差分があると判断した場合はＳ５０３に処理を進め、差分が無いと判断した場合にはＳ５００に処理を戻す。なお、Ｓ５００からＳ５０２の一連の処理は、ＷｅｂＵＩ監視タスク管理テーブル３０９の各監視タスクにおいて実行される。
【００７６】
Ｓ５０３で、Ｗｅｂスクレイピング管理モジュール２０７は、Ｗｅｂスクレイピングタスク管理テーブル３０６から、変化を検知した監視領域を参照・利用するＷｅｂスクレイピングタスクを探索し、該タスクに関連する情報を取得する。タスクが監視領域を参照するか否かの判断は、タスクに紐付けられたスクリプトに、監視対象の領域を参照する記述が含まれるか否かで判断できる。例えば、監視領域を含むＷｅｂページのＵＲＬやＨＴＭＬのパスなどの記述を探索することで、判断が可能である。もちろん、その他の手段によって、該タスクが監視領域を参照するか否かの判断を行ってもよい。
【００７７】
Ｓ５０４で、Ｗｅｂスクレイピング管理モジュール２０７は監視領域の変化の種類を判別する。監視領域の変化の種類とは、ＨＴＭＬ構造の変化の種類のことを指す。図１１に、ＷｅｂＵＩのＨＴＭＬ文書の例を示す。タグ６０１はｌｉタグと呼ばれるタグであり、ｌｉタグを連続して記述することで、ｌｉタグ内の文字列を箇条書き表示することのできるＨＴＭＬ要素である。一般に、ｌｉのようなタグをブロックレベル要素と呼び、見出し、段落、表など、文書を構成する基本となる要素であり、一つのブロックとしてＷｅｂブラウザに認識される。ｌｉタグの他には、ａｄｄｒｅｓｓ、ｂｌｏｃｋｑｕｏｔｅ、ｃｅｎｔｅｒ、ｄｉｖ、ｄｌ、ｆｉｅｌｄｓｅｔ、ｆｏｒｍ、ｈ１、ｈ６、ｈｒ、ｎｏｆｒａｍｅｓ、ｎｏｓｃｒｉｐｔ、ｏｌ、ｐ、ｐｒｅ、ｔａｂｌｅ、ｕｌなどがある。
【００７８】
また、タグ６０２は、ブロックレベル要素内に記述されるインライン要素として定義され、ａタグによってページ遷移するためのリンクを作成したり、ｂタグによって文字を強調するなど、文章を装飾して表示することができる。インライン要素の例としては、ａ、ｂ、ｂｉｇ、ｂｒ、ｃｉｔｅ、ｃｏｄｅ、ｅｍ、ｆｏｎｔ、ｉ、ｉｍｇ、ｉｎｐｕｔ、ｌａｂｅｌ、ｓ、ｓｅｌｅｃｔ、ｓｍａｌｌ、ｓｐａｎ、ｓｔｒｉｋｅ、ｓｔｒｏｎｇ、ｓｕｂ、ｔｅｘｔａｒｅａなどが挙げられる。
【００７９】
Ｗｅｂスクレイピング管理モジュール２０７は、Ｓ５０４において監視領域内のブロックレベル要素およびインライン要素の構造の変化から、ＷｅｂＵＩ上の各種設定項目の移動、追加、削除を判別することができる。Ｓ５０５で、Ｗｅｂスクレイピング管理モジュール２０７は、タスク管理テーブル３０６から取得したタスクの実行時に参照が必要なＨＴＭＬ要素が、取得した監視領域のＨＴＭＬ文書から削除されているか否かを判断する。削除の判断は、データベースサーバモジュール２０２のＷｅｂＵＩ情報管理テーブル３０８から、過去のＷｅｂＵＩデータを取得し、ＨＴＭＬ記述を比較することで、削除の判断が可能である。もちろん、その他の手段によってＨＴＭＬ要素の削除を判断してもよい。削除されていないと判断した場合はＳ５０６に進み、削除されていると判断した場合はＳ５０８に進む。
【００８０】
Ｓ５０６で、対象タスクの実行時に参照が必要なＨＴＭＬ要素が、他のＷｅｂＵＩ領域に移動しているか否かを判断する。ＨＴＭＬ要素が移動していると判断した場合は、Ｓ５０９に進む。移動していないと判断した場合は、Ｓ５０７に進む。
【００８１】
Ｓ５０７で、Ｗｅｂスクレイピング管理モジュール２０７はデータベースサーバモジュール２０２のＷｅｂスクレイピングタスク管理テーブル３０６からタスク種別情報を取得し、対象タスクが書き込み系のタスクか読み込み系のタスクかを判断する。
【００８２】
書き込み系のタスクの例として、ＭＦＰ１５０のネットワーク設定値やセキュリティ設定値など、機器の設定値を変更するようなＷｅｂスクレイピングタスクなどが挙げられる。その他にも、アプリケーションのインストールやアンインストール等も、書き込み系のタスクとして判断される。
【００８３】
読み込み系のタスクの例として、ＭＦＰ１５０のＷｅｂＵＩから、消耗品の残量や消費情報、セキュリティ設定値や印刷設定値を取得するＷｅｂスクレイピングタスクが挙げられる。もちろん、その他の機器情報が取得されてもよい。書き込み系のタスクか否かを判断する手段として、予め設定された情報から判断されてもよいし、またスクリプトの記述から書き込み系のタスクか否かが判断されてもよい。もちろん、その他の手段によって判断されてもよい。
【００８４】
Ｗｅｂスクレイピング管理モジュール２０７は、書き込み系のタスクと判断した場合はＳ５０８に処理を進め、書き込み系のタスクでないと判断した場合は、Ｓ５１０に処理を進める。Ｓ５０８で、Ｗｅｂスクレイピング管理モジュール２０７は、データベースサーバモジュール２０２のＷｅｂスクレイピングタスク管理テーブル３０６の実行フラグを更新し、該タスクの実行を停止する。
【００８５】
監視タスクに変更検知時に停止したいタスクが登録されていた場合、Ｗｅｂスクレイピング管理モジュール２０７はＷｅｂＵＩ監視タスク管理テーブル３０９及びＷｅｂスクレイピングタスク管理テーブル３０６から停止するタスク情報を取得する。Ｗｅｂスクレイピング管理モジュール２０７は該当するタスクの実行を停止してもよく、またはタスクの停止をトリガーとして、紐付けられた他の処理を実行してもよい。
【００８６】
Ｓ５０６においてＨＴＭＬ要素が移動していると判断した場合、続くＳ５０９にて、Ｗｅｂスクレイピング管理モジュール２０７はＷｅｂＵＩ情報管理テーブル３０８からＷｅｂＵＩ変化前後のＨＴＭＬ情報を取得する。その後、取得したＨＴＭＬ情報をもとにＷｅｂスクレイピング管理モジュール２０７が該タスクのスクリプトの修正を行う。この修正によって、該タスクは、ＷｅｂＵＩの変化後もＷｅｂスクレイピングによるタスクを実行することが可能となる。
【００８７】
Ｓ５１０で、Ｗｅｂスクレイピング管理モジュール２０７は、データベースサーバモジュール２０２のＷｅｂスクレイピングタスク管理テーブル３０６の全てのタスクに対して、Ｓ５０３からＳ５０９の処理を実行したか否かを判断する。Ｗｅｂスクレイピング管理モジュール２０７は、全てのＷｅｂスクレイピングタスクを参照したと判断した場合はＳ５１１に処理を進め、参照していないと判断した場合は処理をＳ５０３に戻す。
【００８８】
Ｓ５１１で、管理アプリケーション２００は、クライアントコンピュータ１２０のＷｅｂブラウザ２２１にタスクを停止したことを通知する画面を表示する。通知画面の例を図１２に示す。
【００８９】
図１２において、Ｗｅｂブラウザ画面９００には、Ｗｅｂスクレイピングタスクの管理画面が表示される。メッセージ表示領域９０２は、監視タスクの実行によって影響を受けるタスクの実行を停止した旨のメッセージを表示している。もちろん、ポップアップ表示や、その他のページにてメッセージを表示してもよく、また、メッセージ以外にも音声や画像による通知でもよい。
【００９０】
領域９０１は、Ｗｅｂスクレイピングタスクの一覧を表示する領域である。領域９０１では、各タスクの実行結果や実行時間を閲覧可能であり、スクリプトの修正や実行ログを表示するための画面へのリンクなどが表示される。もちろん、タスクに関連する情報や、他の操作を行うためのリンクなどが表示されてもよい。
【００９１】
領域９０３は、タスクの実行停止状態を表示する領域であり、タスクが停止中である旨のメッセージが表示される。再開ボタン９０４は、タスクを再開するためのボタンであり、押下されると停止中のタスクが再開される。もちろん、他の手段によってタスクを再開してもよい。以上で図１２の説明を終了する。
【００９２】
通知画面の表示は、管理アプリケーション２００に接続しているクライアントコンピュータ１２０上のＷｅｂブラウザ２２１に対して行うが、Ｗｅｂブラウザ２２１を起動していない場合は、次回起動時に表示してもよい。もちろん、メール等の他の手段を用いて登録されたユーザに対して通知を行ってもよい。
【００９３】
以上、本発明のアプリケーションサーバによれば、ネットワーク機器のＷｅｂＵＩの構成が変化した際に、該変化の内容に応じてネットワーク機器に対するタスクを適切に制御することが可能となる。管理アプリケーション２００は、ＭＦＰ１５０のＷｅｂＵＩの変化を検知し、その変化の種類に応じて実行の際にリスクを伴うＷｅｂスクレイピングタスクを停止することができる。また、管理アプリケーション２００は必要に応じてスクリプトを修正することで、Ｗｅｂスクレイピングタスクを継続して実行することができる。
【００９４】
（実施例２）
実施例１では、管理アプリケーション２００が、ＷｅｂＵＩの変化を検知し、その変化の種類に応じて実行リスクのあるＷｅｂスクレイピングタスクを停止した。実施例２では、実施例１の処理に加え、監視領域に対するタスク影響度に応じて、実行リスクのあるＷｅｂスクレイピングタスクを停止する方法を説明する。
【００９５】
実施例２のシステムのシステム構成およびハードウェア構成・ソフトウェア構成については、実施例１の図１、図２および図３と同様のため説明を省略する。
【００９６】
以下、図１３を用いて、管理アプリケーション２００がＭＦＰ１５０のＷｅｂＵＩの変化を検知後、監視領域に対するタスク影響度に応じて実行リスクのあるＷｅｂスクレイピングタスクを停止する動作について述べる。なお、実施例１の図１０と同様のステップについては説明を省略する。
【００９７】
Ｓ５００、Ｓ５０１、Ｓ５０２で、Ｗｅｂスクレイピング管理モジュール２０７は、ＷｅｂＵＩの特定の領域を監視する監視タスクを設け、ＷｅｂＵＩの変化を検知する。
【００９８】
Ｓ５２０で、Ｗｅｂスクレイピング管理モジュール２０７は、変化を検知した領域のタスク影響度を算出する。タスク影響度とは、ＷｅｂＵＩの変化によって正常に実行されない可能性のあるＷｅｂスクレイピングタスクの割合を示す指標のことを指す。例えば、特定のＷｅｂＵＩ領域が変化した場合に、その領域を参照するＷｅｂスクレイピングタスクが多ければ、その領域におけるタスク影響度は高く、逆に参照するタスクが少なければ、タスク影響度は低くなる。次にタスク影響度の算出式を示す。
【数１】
2015219890.tif 000003
【００９９】
タスク影響度は、一定期間中に各タスクが特定領域を参照した回数を、各Ｗｅｂスクレイピングタスクの実行回数で除算した総和で算出することができる。参照回数及びタスクの実行回数等のログ情報は、データベースサーバモジュール２０２のＷｅｂスクレイピングタスク実行結果管理テーブル３０７の実行ログデータ等から取得することができる。また、ユーザによりＷｅｂスクレイピングタスク毎に、タスク重要度等のバイアス値が設定されている場合、それらの値をタスク影響度に乗算することで、ユーザ設定を反映したタスク影響度を算出してもよい。
【０１００】
Ｓ５２１で、Ｗｅｂスクレイピング管理モジュール２０７は、Ｓ５２０で算出したタスク影響度をもとに、タスク影響度が閾値を超えているか否かを判断する。閾値は、予めプログラムで定義した値を用いるか、ユーザが任意に設定した値を用いてもよい。例えば、データベースサーバモジュール２０２のＷｅｂＵＩ監視タスク管理テーブル３０９の通知レベル設定値を、タスク影響度の閾値として用いることができる。もちろん、その他の手段を用いて閾値が設定されてもよい。Ｗｅｂスクレイピング管理モジュール２０７は、タスク影響度が閾値を超えると判断した場合は、Ｓ５０３に処理を進め、閾値を超えないと判断した場合はＳ５１１に進む。Ｓ５０３以降のステップについては、実施例１の図１０と同様であるため、説明は省略する。
【０１０１】
以上の処理により、管理アプリケーション２００が、ＭＦＰ１５０のＷｅｂＵＩの変化を検知し、変化した領域のタスク影響度に応じて実行リスクのあるＷｅｂスクレイピングタスクを停止することができるようになる。また、実施例１のＷｅｂＵＩの変化種類に応じてタスクを停止する処理を組み合わせることで、必要以上にＷｅｂスクレイピングタスクを停止せずに、より適切に実行リスクのあるタスクのみを停止することができる。
【０１０２】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015219890.tif 000004
【図２】
2015219890.tif 000005
【図３】
2015219890.tif 000006
【図４】
2015219890.tif 000007
【図５】
2015219890.tif 000008
【図６】
2015219890.tif 000009
【図７】
2015219890.tif 000010
【図８】
2015219890.tif 000011
【図９】
2015219890.tif 000012
【図１０】
2015219890.tif 000013
【図１１】
2015219890.tif 000014
【図１２】
2015219890.tif 000015
【図１３】
2015219890.tif 000016