(57)【特許請求の範囲】
【請求項１】
監視対象装置の第１の状態を示す表示画面を定義した画面情報、および、前記監視対象装置の第２の状態を示す通知情報に対して、前記画面情報および前記通知情報に含まれる所定のクラス情報であって、前記通知情報の仕様において規定された、通知される内容の種別を示す前記クラス情報と、前記通知情報に応じた前記画面情報の変更内容との対応関係を示す関係情報を記憶する記憶部と、
前記画面情報の取得要求を前記監視対象装置に送信し、前記取得要求に応じて前記監視対象装置から前記画面情報を受信し、前記画面情報に基づいて前記表示画面を表示装置に表示させ、前記監視対象装置から前記通知情報を受信すると、前記画面情報に含まれる前記クラス情報と前記通知情報に含まれる前記クラス情報とが一致するか否かを判定し、一致しない場合に前記表示装置の前記表示画面を更新せず、一致する場合に、受信した前記通知情報と、前記関係情報とから前記画面情報を更新した更新情報を生成し、更新後の前記画面情報を前記監視対象装置から取得せずに、生成した前記更新情報に基づいて、前記表示装置の前記表示画面を更新する制御部と、
を備える情報処理装置。
【請求項２】
前記制御部は、
前記監視対象装置の第３の状態を示す他の通知情報を受信した際、前記他の通知情報に含まれる前記クラス情報と前記画面情報に含まれる前記クラス情報とが一致するが、前記他の通知情報に対応する前記変更内容が前記関係情報に登録されておらず、前記関係情報に基づいて前記他の通知情報に対応する前記更新情報を生成できない場合に、更新後の前記画面情報を前記監視対象装置から取得する、
請求項１記載の情報処理装置。
【請求項３】
前記関係情報は、前記通知情報に含まれる第１のパラメータと、前記画面情報に含まれる第２のパラメータとの対応関係を示す情報を含み、
前記制御部は、前記通知情報に含まれる前記第１のパラメータに対応する前記第２のパラメータで、前記画面情報を更新して前記更新情報を生成する、
請求項１記載の情報処理装置。
【請求項４】
前記制御部は、前記画面情報に基づいて前記表示装置に前記表示画面を表示させるブラウザを実行し、前記監視対象装置の状態更新があったときに前記通知情報を取得し、前記通知情報を取得後に、前記ブラウザにより前記表示装置に表示されている前記表示画面に対応する前記画面情報を、前記ブラウザから取得する処理を実行する、
請求項１記載の情報処理装置。
【請求項５】
前記通知情報および前記画面情報は、前記表示装置に表示されない情報に関する第３のパラメータを含み、
前記第１のパラメータと前記第２のパラメータとは、前記第３のパラメータを介して関係付けられる、
請求項３記載の情報処理装置。
【請求項６】
コンピュータに、
監視対象装置の第１の状態を示す表示画面を定義した画面情報の取得要求を前記監視対象装置に送信し、
前記取得要求に応じて前記監視対象装置から前記画面情報を受信し、
前記画面情報に基づいて前記表示画面を表示装置に表示させ、
前記監視対象装置の第２の状態を示す通知情報を前記監視対象装置から受信すると、前記画面情報に含まれる所定のクラス情報であって、前記通知情報の仕様において規定された、通知される内容の種別を示す前記クラス情報と前記通知情報に含まれる前記クラス情報とが一致するか否かを判定し、
一致しない場合に前記表示装置の前記表示画面を更新せず、
一致する場合に、前記画面情報および前記通知情報に含まれる前記クラス情報と前記通知情報に応じた前記画面情報の変更内容との対応関係を示す関係情報、および、受信した前記通知情報とから前記画面情報を更新した更新情報を生成し、更新後の前記画面情報を前記監視対象装置から取得せずに、生成した前記更新情報に基づいて、前記表示装置の前記表示画面を更新する、
処理を実行させる情報更新プログラム。
【請求項７】
監視対象のストレージ装置と、前記ストレージ装置の状態を表示する表示装置と、前記表示装置の表示内容を監視する情報処理装置とを有するストレージシステムにおいて、
前記情報処理装置は、
前記ストレージ装置の第１の状態を示す表示画面を定義した画面情報、および、前記ストレージ装置の第２の状態を示す通知情報に対して、前記画面情報および前記通知情報に含まれる所定のクラス情報であって、前記通知情報の仕様において規定された、通知される内容の種別を示す前記クラス情報と、前記通知情報に応じた前記画面情報の変更内容との対応関係を示す関係情報を記憶する記憶部と、
前記画面情報の取得要求を前記ストレージ装置に送信し、前記取得要求に応じて前記ストレージ装置から前記画面情報を受信し、前記画面情報に基づいて前記表示画面を前記表示装置に表示させ、前記ストレージ装置から前記通知情報を受信すると、前記画面情報に含まれる前記クラス情報と前記通知情報に含まれる前記クラス情報とが一致するか否かを判定し、一致しない場合に前記表示装置の前記表示画面を更新せず、一致する場合に、受信した前記通知情報と、前記関係情報とから前記画面情報を更新した更新情報を生成し、更新後の前記画面情報を前記ストレージ装置から取得せずに、生成した前記更新情報に基づいて、前記表示装置の前記表示画面を更新する制御部と、
を備えるストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報更新プログラム、およびストレージシステムに関する。
【背景技術】
【０００２】
ストレージ装置の運用において、管理者は、ストレージ装置の状態確認や、ストレージ装置に対する設定操作などをおこなう。これらの管理者による作業は、Ｗｅｂ ＧＵＩ（Graphic User Interface）を用いておこなわれる。Ｗｅｂ ＧＵＩは、ストレージ装置の設定や保守、情報収集などをおこなうことができるユーザインターフェースであり、Ｗｅｂブラウザ上に表示される。
【０００３】
管理者は、Ｗｅｂ ＧＵＩが有するＷｅｂブラウザの自動再読み込み機能により、あるいは手動操作によるＷｅｂブラウザの再読み込み機能（手動再読み込み機能）により、再読み込み時におけるストレージ装置の状態取得をおこなうことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２７０８９号公報
【特許文献２】特表２０１１−５１７３４６号公報
【特許文献３】特開２００６−３３１３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、自動再読み込み機能は、タイムアップ監視を契機にした再読み込みであり、手動再読み込み機能は、Ｗｅｂブラウザ上の「再読み込みボタン」のクリック操作を契機にした再読み込みである。
【０００６】
したがって、Ｗｅｂブラウザは、再読み込みの指示がなければ、ストレージ装置（監視対象装置）の状態を取得することができない。そのため、Ｗｅｂブラウザで表示するストレージ装置の状態は、再読み込みの指示がない限り更新されない。すなわち、Ｗｅｂブラウザは、ストレージ装置の状態が変化しても、即座に更新内容を表示に反映することができない。
【０００７】
即座に更新内容を表示に反映するためには、自動再読み込み機能においては、タイムアップ時間をできるだけ短くすることが求められ、手動再読み込み機能においては、「再読み込みボタン」の頻回なクリック操作が求められる。
【０００８】
頻回な再読み込みは、Ｗｅｂブラウザとストレージ装置との間の通信回数を過大にして、ストレージ装置の処理負荷を増大させ、スループットの低下などストレージ装置の性能に悪影響を及ぼす。
【０００９】
１つの側面では、本発明は、監視対象装置の性能に与える影響を抑制しながら、監視対象装置の状態を遅滞なく確認可能にできる情報処理装置、情報更新プログラム、およびストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、以下に示すような、情報処理装置が提供される。情報処理装置は、記憶部と、制御部とを備える。記憶部は、監視対象装置の第１の状態を示す表示画面を定義した画面情報、および、監視対象装置の第２の状態を示す通知情報に対して、画面情報および通知情報に含まれる所定のクラス情報であって、通知情報の仕様において規定された、通知される内容の種別を示すクラス情報と、通知情報に応じた画面情報の変更内容との対応関係を示す関係情報を記憶する。制御部は、画面情報の取得要求を監視対象装置に送信し、取得要求に応じて監視対象装置から画面情報を受信し、画面情報に基づいて表示画面を表示装置に表示させ、監視対象装置から通知情報を受信すると、画面情報に含まれるクラス情報と通知情報に含まれるクラス情報とが一致するか否かを判定し、一致しない場合に表示装置の表示画面を更新せず、一致する場合に、受信した通知情報と、関係情報とから画面情報を更新した更新情報を生成し、更新後の画面情報を監視対象装置から取得せずに、生成した更新情報に基づいて、表示装置の表示画面を更新する。
【００１１】
また、１つの態様では、コンピュータに処理を実行させる情報更新プログラムが提供される。また、１つの態様では、監視対象のストレージ装置と、ストレージ装置の状態を表示する表示装置と、表示装置の表示内容を監視する情報処理装置とを有するストレージシステムが提供される。
【発明の効果】
【００１２】
１態様によれば、情報処理装置、情報更新プログラム、およびストレージシステムにおいて、監視対象装置の性能に与える影響を抑制しながら、監視対象装置の状態を遅滞なく確認可能にできる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態の情報処理システムの構成の一例を示す図である。
【図２】第２の実施形態のストレージシステムの構成の一例を示す図である。
【図３】第２の実施形態のホストのハードウェア構成の一例を示す図である。
【図４】第２の実施形態のストレージ装置のハードウェア構成の一例を示す図である。
【図５】第２の実施形態の関係テーブルの更新シーケンスの一例を示す図である。
【図６】第２の実施形態のＨＴＭＬドキュメントの一例を示す図である。
【図７】第２の実施形態のＳＮＩＡクラステーブルの一例を示す図である。
【図８】第２の実施形態のＳＭＩ−Ｓ応答の一例を示す図である。
【図９】第２の実施形態の関係テーブルの一例を示す図である。
【図１０】第２の実施形態の更新後の関係テーブルの一例を示す図である。
【図１１】第２の実施形態のＷｅｂブラウザの表示内容の更新シーケンスの一例を示す図である。
【図１２】第２の実施形態のＩｎｄｉｃａｔｉｏｎ通知の一例（前半部）を示す図である。
【図１３】第２の実施形態のＩｎｄｉｃａｔｉｏｎ通知の一例（後半部）を示す図である。
【図１４】第２の実施形態の関係テーブル更新処理のフローチャートを示す図である。
【図１５】第２の実施形態のブラウザ更新処理のフローチャートを示す図である。
【図１６】第２の実施形態の更新監視エンジンがＨＴＭＬドキュメントをＷｅｂブラウザに通知する場合の、ストレージ装置の状態の更新と、Ｗｅｂブラウザの表示内容の更新のタイミングチャートの一例を示す図である。
【図１７】第２の実施形態の更新監視エンジンが更新指示をＷｅｂブラウザに通知する場合の、ストレージ装置の状態の更新と、Ｗｅｂブラウザの表示内容の更新のタイミングチャートの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して実施形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態の情報処理システムについて図１を用いて説明する。図１は、第１の実施形態の情報処理システムの構成の一例を示す図である。
【００１５】
情報処理システム１は、情報処理装置２と、監視対象装置３と、表示装置４を含む。監視対象装置３は、監視対象装置３の状態が監視対象となる装置である。表示装置４は、監視対象装置３の状態を表示する。情報処理装置２は、表示装置４が表示する表示内容の更新を制御する。
【００１６】
情報処理装置２は、記憶部２ａと制御部２ｂと表示制御部２ｃを含む。記憶部２ａは、関係情報５ａを記憶する。関係情報５ａは、第１の情報５ｂと第２の情報５ｃとの関係性を示す情報である。第１の情報５ｂは、監視対象装置３の状態に関する情報である。第２の情報５ｃは、監視対象装置３の状態を表示する表示装置４の表示内容に関する情報である。
【００１７】
関係情報５ａは、第１の情報５ｂに含まれるパラメータと、第２の情報５ｃに含まれるパラメータとの間の対応関係を示す情報を含む。また、関係情報５ａは、あらかじめ設定される情報であってもよいし、監視対象装置３と表示装置４の稼働中に双方から取得した情報（たとえば、第１の情報５ｂ、第２の情報５ｃ）にもとづいて生成される情報であってもよい。また、関係情報５ａは、あらかじめ設定されると、稼働中に生成される情報の組み合わせであってもよい。
【００１８】
制御部２ｂは、第１の情報５ｂと第２の情報５ｃを比較して、第２の情報５ｃの更新の実行の是非を判定する。制御部２ｂは、監視対象装置３から第１の情報５ｂを取得し、表示制御部２ｃから第２の情報５ｃを取得することができる。たとえば、制御部２ｂは、表示制御部２ｃから取得した第２の情報５ｃが監視対象装置３から取得した第１の情報５ｂに対応しているか否かを判定することにより、第２の情報５ｃの更新の実行の是非を判定することができる。
【００１９】
表示制御部２ｃは、表示装置４の表示制御をおこなう。表示制御部２ｃは、表示装置４の表示制御をおこなう。たとえば、表示制御部２ｃは、表示装置４で表示する表示内容を生成するＷｅｂブラウザである。
【００２０】
制御部２ｂは、第２の情報５ｃの更新の実行を判定した場合に更新情報５ｄを生成する。更新情報５ｄは、第１の情報５ｂと関係情報５ａとから第２の情報を更新した情報である。制御部２ｂは、更新情報５ｄを表示制御部２ｃに通知する。表示制御部２ｃは、更新情報５ｄにもとづいて表示装置４で表示する表示内容を更新できる。
【００２１】
これにより、情報処理装置２は、表示装置４で表示する表示内容を表示制御部２ｃによって更新可能にすることができる。
このように、情報処理装置２は、表示変更の是非を判定して、表示装置４に最新の表示内容を表示させることができる。これにより、表示制御部２ｃは、監視対象装置３との通信（表示制御部２ｃから監視対象装置３への要求と、監視対象装置３から表示制御部２ｃへの応答）を伴う状態取得と表示内容の更新とを頻回におこなうことを要しない。
【００２２】
したがって、情報処理装置２は、監視対象装置３の通信負荷や処理負荷の軽減に貢献する。すなわち、情報処理装置２は、監視対象装置３の性能に与える影響を抑制できる。また、監視対象装置３の管理者は、表示内容の更新操作を頻回におこなうことなく、監視対象装置３の状態の更新を速やかに確認できる。また、監視対象装置３の管理者は、表示内容の更新操作をおこなうことに代えて所定間隔での自動更新を設定する場合でも、自動更新周期を過小に設定することなしに監視対象装置３の状態を遅滞なく確認できる。
【００２３】
［第２の実施形態］
次に、第２の実施形態のストレージシステムについて図２を用いて説明する。図２は、第２の実施形態のストレージシステムの構成の一例を示す図である。
【００２４】
ストレージシステム６は、ストレージ装置１０と、ホスト１００と、ネットワーク（伝送路）８とを含む。ネットワーク８は、ストレージ装置１０とホスト１００とを通信可能に接続する。ホスト１００は、ストレージ装置１０の状態を監視する。したがって、ストレージ装置１０は、ホスト１００の監視対象装置である。
【００２５】
ホスト１００は、更新監視エンジン２００と、Ｗｅｂブラウザ３００とを含む。更新監視エンジン２００は、Ｗｅｂブラウザ３００がモニタ９０に表示する表示内容の更新を監視する。Ｗｅｂブラウザ３００は、監視対象装置であるストレージ装置１０の状態をモニタ９０に表示する。
【００２６】
次に、ホスト１００のハードウェア構成について図３を用いて説明する。図３は、第２の実施形態のホストのハードウェア構成の一例を示す図である。
ホスト１００は、プロセッサ１０１によって装置全体が制御されている。すなわち、プロセッサ１０１は、ホスト１００の制御部として機能する。プロセッサ１０１には、バス１０９を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２７】
ＲＡＭ１０２は、ホスト１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００２８】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００２９】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しをおこなう。ＨＤＤ１０３は、ホスト１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３０】
グラフィック処理装置１０４には、モニタ９０が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、画像をモニタ９０の画面に表示させる。モニタ９０としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。モニタ９０は、ストレージ装置１０の状態を表示する表示装置として機能する。
【００３１】
入力インタフェース１０５には、キーボード９１とマウス９２とが接続されている。入力インタフェース１０５は、キーボード９１やマウス９２から送られてくる信号をプロセッサ１０１に送信する。なお、マウス９２は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３２】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク９３に記録されたデータの読み取りをおこなう。光ディスク９３は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク９３には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３３】
機器接続インタフェース１０７は、ホスト１００に周辺機器を接続するための通信インタフェースである。たとえば、機器接続インタフェース１０７には、メモリ装置９４やメモリリーダライタ９５を接続することができる。メモリ装置９４は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ９５は、メモリカード９６へのデータの書き込み、またはメモリカード９６からのデータの読み出しをおこなう装置である。メモリカード９６は、カード型の記録媒体である。
【００３４】
ネットワークインタフェース１０８は、ネットワーク８に接続されている。ネットワークインタフェース１０８は、ネットワーク８を介して、ストレージ装置１０を含む他のコンピュータ、または通信機器との間でデータの送受信をおこなう。
【００３５】
以上のようなハードウェア構成によって、第２の実施形態の処理機能を実現することができる。たとえば、更新監視エンジン２００とＷｅｂブラウザ３００は、プロセッサ１０１がそれぞれ所定のプログラムを実行することで実現される。なお、第１の実施形態に示した情報処理装置２や監視対象装置３も、図３に示したホスト１００と同様のハードウェアにより実現することができる。
【００３６】
ホスト１００は、たとえば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。ホスト１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、ホスト１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。またホスト１００に実行させるプログラムを、光ディスク９３、メモリ装置９４、メモリカード９６などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３７】
次に、第２の実施形態のストレージ装置のハードウェア構成について図４を用いて説明する。図４は、第２の実施形態のストレージ装置のハードウェア構成の一例を示す図である。
【００３８】
ストレージ装置１０は、チャネルアダプタ１１，１２と、リモートアダプタ１３，１４と、コントローラモジュール（以下、ＣＭ（Controller Module））２０，３０と、ドライブエンクロージャ（以下、ＤＥ（Drive Enclosure））５０を含む。
【００３９】
ストレージ装置１０は、チャネルアダプタ１１，１２を介してホスト１００と接続する。チャネルアダプタ１１は、ＣＭ２０に対応して備えられ、チャネルアダプタ１２は、ＣＭ３０に対応して備えられる。ストレージ装置１０は、リモートアダプタ１３，１４を介して他のストレージ装置と接続できる。リモートアダプタ１３は、ＣＭ２０に対応して備えられ、リモートアダプタ１４は、ＣＭ３０に対応して備えられる。
【００４０】
ＤＥ５０は、複数のＨＤＤを含む。なお、ＤＥ５０は、ＨＤＤに代えて、あるいはＨＤＤとともにＳＳＤ（Solid State Drive）などその他の記憶装置を含むものであってもよい。
【００４１】
ＣＭ２０とＣＭ３０は、相互に接続して負荷を分担することができる。なお、ストレージ装置１０は、２つのＣＭ２０，３０を含むが、これに限らず、ＣＭ２０とＣＭ３０のいずれか一方を含むものであってもよいし、３つ以上のＣＭを含むものであってもよく、たとえば、４つあるいは８つのＣＭを含むものであってもよい。
【００４２】
ＣＭ２０は、プロセッサ２１と、メモリ２２と、ディスクアダプタ２３，２４を含む。ＣＭ３０は、プロセッサ３１と、メモリ３２と、ディスクアダプタ３３，３４を含む。なお、ＣＭ３０はＣＭ２０と同様の構成を有するため、以下、ＣＭ２０の説明をもってＣＭ３０の説明に代える。
【００４３】
プロセッサ２１、メモリ２２、およびディスクアダプタ２３，２４は、図示しないバスを介して接続されている。プロセッサ２１は、ＣＭ２０全体を制御し、階層制御を含むストレージ制御をおこなう。なお、プロセッサ２１は、マルチプロセッサであってもよい。
【００４４】
メモリ２２は、ＨＤＤからデータを読み出したときにデータを保持するほか、ＨＤＤにデータを書き込むときのバッファとなる。また、メモリ２２には、プロセッサ２１に実行させるオペレーティングシステムのプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ２２には、プロセッサ２１による処理に必要な各種データが格納される。
【００４５】
バスに接続される周辺機器としては、入出力インタフェース、および通信インタフェースがある。入出力インタフェースは、入出力装置と接続して入出力をおこなう。入出力インタフェースは、ＨＤＤなどの記憶装置から送られてくる信号やデータをプロセッサ２１やメモリ２２に送信する。また、入出力インタフェースは、たとえば、プロセッサ２１から受信した信号を、他の制御部や、ＣＭ２０と接続する出力装置に出力する。通信インタフェースは、ストレージ装置１０内の他のＣＭ（ＣＭ３０）との間でデータの送受信をおこなう。
【００４６】
ディスクアダプタ２３，２４は、ＨＤＤとのインタフェース制御をおこなう。
以上のようなハードウェア構成によって、ストレージ装置１０、あるいはＣＭ２０，３０の処理機能を実現することができる。なお、第１の実施形態に示した監視対象装置３も、ストレージ装置１０、あるいはＣＭ２０，３０と同様のハードウェアにより実現することができる。
【００４７】
次に、更新監視エンジン２００が管理する関係テーブルの更新について図５から図１０を用いて説明する。まず、関係テーブルの更新シーケンスについて図５を用いて説明する。図５は、第２の実施形態の関係テーブルの更新シーケンスの一例を示す図である。
【００４８】
更新監視エンジン２００は、ＳＮＩＡ（Storage Networking Industry Association）クラステーブルと関係テーブルとをメモリ（ＲＡＭ１０２またはＨＤＤ１０３）上に保持する。ＳＮＩＡクラステーブルと関係テーブルは、第１の実施形態の関係情報５ａに相当する。ＳＮＩＡクラステーブルは、管理者などによってあらかじめ設定される情報である。関係テーブルは、更新監視エンジン２００の稼働後に生成されて、更新される情報である。
【００４９】
更新監視エンジン２００は、更新監視エンジン２００の起動後に、ストレージ装置１０とＷｅｂブラウザ３００とから所定の情報を収集して関係テーブルを更新する。
［シーケンスＳｑ１］更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容の切り替わりを監視する。
【００５０】
［シーケンスＳｑ２］Ｗｅｂブラウザ３００は、表示内容の切り替わりがあった場合に、表示内容の切り替わりがあったことを更新監視エンジン２００に通知する。たとえば、Ｗｅｂブラウザ３００の表示内容の切り替わりは、手動操作による更新や、所定周期での自動更新などがある。
【００５１】
［シーケンスＳｑ３］更新監視エンジン２００は、表示内容の切り替わりがあったことの通知を受けて、Ｗｅｂブラウザ３００にＨＴＭＬ（HyperText Markup Language）ドキュメントを要求する。ＨＴＭＬドキュメントは、Ｗｅｂブラウザ３００がモニタ９０に表示する表示内容に関する情報であり、第１の実施形態の第２の情報５ｃに相当する。
【００５２】
［シーケンスＳｑ４］Ｗｅｂブラウザ３００は、ＨＴＭＬドキュメントを更新監視エンジン２００に通知する。
［シーケンスＳｑ５］更新監視エンジン２００は、ＳＮＩＡ規格に則ったクラス（以下、ＳＮＩＡクラス）のクラス名をＨＴＭＬドキュメントから抽出する。なお、ＳＮＩＡ規格は、ストレージネットワーク技術に関する規格である。ＳＮＩＡ規格には、ストレージ装置が有する機能をベンダに依存することなく、共通認識できるように統一された表現として、規格に基づいたクラスが存在する。
【００５３】
［シーケンスＳｑ６］更新監視エンジン２００は、抽出したクラス名を指定して、ストレージ装置１０の状態の通知を求めるＳＭＩ−Ｓ（Storage Management Initiative - Specification）コマンドをストレージ装置１０に発行する。ＳＭＩ−Ｓは、ＳＮＩＡが開発・保守している、ストレージに関する標準インタフェースである。ＳＭＩ−Ｓコマンドは、ＳＭＩ−Ｓに準拠したコマンドである。
【００５４】
［シーケンスＳｑ７］ストレージ装置１０は、ＳＭＩ−Ｓ応答により、ストレージ装置１０の状態を更新監視エンジン２００に通知する。
［シーケンスＳｑ８］更新監視エンジン２００は、ＳＭＩ−Ｓ応答とＨＴＭＬドキュメントの関係を解析し、解析結果にしたがい関係テーブルを更新する。更新監視エンジン２００は、関係テーブルを更新した後、シーケンスＳｑ１にもどってＷｅｂブラウザ３００の表示内容の切り替わりを監視する。
【００５５】
このように、更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容が切り替わるごとに、関係テーブルを最新の状態にして保持することができる。
次に、シーケンスＳｑ４において更新監視エンジン２００がＷｅｂブラウザ３００から取得するＨＴＭＬドキュメントについて図６を用いて説明する。図６は、第２の実施形態のＨＴＭＬドキュメントの一例を示す図である。
【００５６】
ＨＴＭＬドキュメント５００は、文書中に隠しパラメータ５０１を含む。隠しパラメータ５０１は、＜ｉｎｐｕｔ＞タグの属性を「ｈｉｄｄｅｎ」とすることで、モニタ９０に非表示のクラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」を、Ｗｅｂブラウザ３００から更新監視エンジン２００に通知可能にする。なお、クラス名を非表示にする要請がない場合、すなわちＳＮＩＡクラス名がモニタ９０に表示されることを許容する場合、ＨＴＭＬドキュメント５００は、必ずしも＜ｉｎｐｕｔ＞タグの属性を「ｈｉｄｄｅｎ」とすることを要しない。
【００５７】
なお、クラス名は、Ｗｅｂ ＧＵＩ開発者によってＨＴＭＬドキュメントに含まれるように設定される。ＨＴＭＬドキュメント中のクラス名は、ＨＴＭＬドキュメントとＳＭＩ−Ｓ応答の関係性を解析する際の見出しとなる。ＨＴＭＬドキュメントとＳＭＩ−Ｓ応答の関係性は、たとえば、Ｗｅｂ ＧＵＩ開発者によってあらかじめ定義され、ＳＮＩＡクラステーブルに登録される。
【００５８】
次に、ＳＮＩＡクラステーブルについて図７を用いて説明する。図７は、第２の実施形態のＳＮＩＡクラステーブルの一例を示す図である。
ＳＮＩＡクラステーブル５１０は、更新監視エンジン２００が保持するＳＮＩＡクラステーブルの一例である。ＳＮＩＡクラステーブル５１０は、項目「クラスＩＤ」と、項目「クラス名」と、項目「ステータスプロパティ」と、項目「名称プロパティ」とを含む。
【００５９】
項目「クラスＩＤ（IDentification）」は、ＳＮＩＡクラステーブル５１０に登録されたＳＮＩＡクラスを一意に特定可能な識別情報である。項目「クラス名」は、ＳＮＩＡクラスに付された名称である。項目「ステータスプロパティ」は、ＳＮＩＡクラスのステータスプロパティを示し、項目「名称プロパティ」は、ＳＮＩＡクラスの名称プロパティを示す。
【００６０】
ＳＮＩＡクラステーブル５１０は、複数のエントリ（クラスＩＤ「０００」、クラスＩＤ「００１」、クラスＩＤ「００２」、…）を有する。たとえば、クラスＩＤ「０００」で特定されるＳＮＩＡクラスは、クラス名が「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」であり、ステータスプロパティが「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」であり、名称プロパティが「Ｎａｍｅ」である。また、クラスＩＤ「００１」で特定されるＳＮＩＡクラスは、クラス名が「ＦＪ＿ＳｔｏｒａｇｅＳｙｎｃｈｒｏｎａｉｚｅｄ」であり、ステータスプロパティが「ＳｙｎｃＳｔａｔｅ」であり、名称プロパティが「Ｎａｍｅ」である。また、クラスＩＤ「００２」で特定されるＳＮＩＡクラスは、クラス名が「ＣＩＭ＿ＣｏｍｐｕｔｅｒＳｙｓｔｅｍ」であり、ステータスプロパティが「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」であり、名称プロパティが「Ｎａｍｅ」である。
【００６１】
次に、シーケンスＳｑ７において更新監視エンジン２００がストレージ装置１０から取得するＳＭＩ−Ｓ応答について図８を用いて説明する。図８は、第２の実施形態のＳＭＩ−Ｓ応答の一例を示す図である。
【００６２】
ＳＭＩ−Ｓ応答５２０は、更新監視エンジン２００がＨＴＭＬドキュメント５００から抽出したＳＮＩＡクラス（クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」）を指定した情報取得要求の応答である。ＳＭＩ−Ｓ応答５２０は、クラス名５２１とステータスプロパティ５２２を含む。クラス名５２１は、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」であり、ＳＭＩ−Ｓ応答５２０が更新監視エンジン２００によって指定されたＳＮＩＡクラスの情報であることを示す。また、ＳＮＩＡクラステーブル５１０のクラスＩＤ「０００」のエントリを参照すると、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」のステータスプロパティが「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」であることがわかる。ＳＭＩ−Ｓ応答５２０は、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」のステータスプロパティとして文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」と値「２」を含む。文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」は、ステータスプロパティの名称を示し、値「２」は、ストレージ装置１０の状態に関する情報（ステータスコード）を示す。ステータスコードは、ＳＮＩＡクラスの状態を示すパラメータとして、各値の意味がＳＮＩＡ規格によって定義されている。
【００６３】
なお、Ｗｅｂブラウザ３００の表示内容に関する情報としてＷｅｂ ＧＵＩステータスがある。Ｗｅｂ ＧＵＩステータスは、Ｗｅｂ ＧＵＩ開発者が独自に定義する文字列であり、Ｗｅｂブラウザ３００の表示内容に関する情報である。そのため、Ｗｅｂ ＧＵＩステータスとステータスコードの対応関係は、直ちに把握することができない。そこで、更新監視エンジン２００がＷｅｂ ＧＵＩステータスとステータスコードの対応関係を解析する都度、該対応関係が登録されるのが関係テーブルである。更新監視エンジン２００は、関係テーブルから解析後の対応関係を参照できる。
【００６４】
次に、関係テーブルについて図９を用いて説明する。図９は、第２の実施形態の関係テーブルの一例を示す図である。
関係テーブル５３０は、更新監視エンジン２００が保持する関係テーブルの一例である。関係テーブル５３０は、項目「ステートＩＤ」と、項目「クラスＩＤ」と、項目「ステータスコード」と、項目「Ｗｅｂ ＧＵＩステータス」とを含む。
【００６５】
項目「ステートＩＤ」は、関係テーブル５３０に登録された対応関係を一意に特定可能な識別情報である。項目「クラスＩＤ」は、ＳＮＩＡクラスを一意に特定可能な識別情報である。項目「ステータスコード」は、項目「クラスＩＤ」で特定されるＳＮＩＡクラスのステータスプロパティの値を示す。項目「Ｗｅｂ ＧＵＩステータス」は、項目「クラスＩＤ」で特定されるＳＮＩＡクラスのステータスコードに対応するＷｅｂ ＧＵＩステータスを示す。
【００６６】
関係テーブル５３０は、複数のエントリ（ステートＩＤ「０００」、ステートＩＤ「００１」、ステートＩＤ「００２」、ステートＩＤ「００３」）を有する。たとえば、ステートＩＤ「０００」で特定される対応関係は、クラスＩＤ「０００」で特定されるＳＮＩＡクラスのステータスコード「２」に対応するＷｅｂ ＧＵＩステータスが「“Ａｖａｉｌａｂｌｅ”」であることを示す。また、ステートＩＤ「００１」で特定される対応関係は、クラスＩＤ「０００」で特定されるＳＮＩＡクラスのステータスコード「３」に対応するＷｅｂ ＧＵＩステータスが「“Ｂｒｏｋｅｎ”」であることを示す。また、ステートＩＤ「００２」で特定される対応関係は、クラスＩＤ「００１」で特定されるＳＮＩＡクラスのステータスコード「２」に対応するＷｅｂ ＧＵＩステータスが「“Ａｖａｉｌａｂｌｅ”」であることを示す。また、ステートＩＤ「００３」で特定される対応関係は、クラスＩＤ「００１」で特定されるＳＮＩＡクラスのステータスコード「６」に対応するＷｅｂ ＧＵＩステータスが「“Ｃｏｐｙｉｎｇ”」であることを示す。
【００６７】
なお、関係テーブル５３０は、更新監視エンジン２００によって自動で生成および更新され、解析結果が蓄積されるにつれて規模が大きくなる。更新後の関係テーブルについて図１０を用いて説明する。図１０は、第２の実施形態の更新後の関係テーブルの一例を示す図である。
【００６８】
関係テーブル５３１は、関係テーブル５３０にステートＩＤ「００４」のエントリを追加している。たとえば、ステートＩＤ「００４」で特定される対応関係は、クラスＩＤ「０００」で特定されるＳＮＩＡクラスのステータスコード「４」に対応するＷｅｂ ＧＵＩステータスが「“Ｍａｉｎｔｅｎａｎｃｅ”」であることを示す。
【００６９】
このように、更新監視エンジン２００は、稼働を継続することによって、関係テーブルを充実させることができる。なお、関係テーブルは、既知の情報によって、管理者などがあらかじめ設定するものであってもよい。
【００７０】
次に、更新監視エンジン２００が実行の是非を判定しておこなう、Ｗｅｂブラウザ３００の表示内容の更新について図１１から図１３を用いて説明する。まず、更新監視エンジン２００が実行の是非を判定しておこなう、Ｗｅｂブラウザ３００の表示内容の更新シーケンスについて図１１を用いて説明する。図１１は、第２の実施形態のＷｅｂブラウザの表示内容の更新シーケンスの一例を示す図である。
【００７１】
［シーケンスＳｑ１１］ストレージ装置１０は、ストレージ装置１０の状態に変更があった場合、指定の宛先に対して状態変更を通知する機能を有する。この通知をＩｎｄｉｃａｔｉｏｎ通知と呼ぶ。ストレージ装置１０は、ホスト１００を宛先にしてＩｎｄｉｃａｔｉｏｎ通知を発行できる。
【００７２】
［シーケンスＳｑ１２］更新監視エンジン２００は、ホスト１００を宛先としたＩｎｄｉｃａｔｉｏｎ通知を受け取ることにより、ストレージ装置１０の状態変更を検出できる。
【００７３】
［シーケンスＳｑ１３］更新監視エンジン２００は、表示内容に対応するＨＴＭＬドキュメントをＷｅｂブラウザ３００に要求する。
［シーケンスＳｑ１４］Ｗｅｂブラウザ３００は、表示内容に対応するＨＴＭＬドキュメントを更新監視エンジン２００に通知する。
【００７４】
［シーケンスＳｑ１５］更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容の更新をおこなうか否かを判定する。表示内容の更新の是非の判定は、Ｗｅｂブラウザ３００から取得したＨＴＭＬドキュメントとストレージ装置１０から受け取ったＩｎｄｉｃａｔｉｏｎ通知とを比較しておこなう。更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容の更新が不要であると判定した場合、次のＩｎｄｉｃａｔｉｏｎ通知の受け取りを待つ。一方、更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容の更新をおこなうことを判定した場合、シーケンスＳｑ１６にすすむ。
【００７５】
［シーケンスＳｑ１６］更新監視エンジン２００は、ストレージ装置１０から受け取ったＩｎｄｉｃａｔｉｏｎ通知にもとづいて変更した表示内容をＷｅｂブラウザ３００に通知することができるか否かを判定する。更新監視エンジン２００は、関係テーブルに登録されている対応関係を参照して、Ｉｎｄｉｃａｔｉｏｎ通知から変更した表示内容を生成できる場合に通知可を判定し、変更した表示内容を生成できない場合に通知不可を判定する。
【００７６】
［シーケンスＳｑ１７］更新監視エンジン２００は、通知可を判定した場合に、変更した表示内容に対応するＨＴＭＬドキュメントをＷｅｂブラウザ３００に通知する。
これにより、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態更新後、速やかに表示内容を更新することができる。
【００７７】
［シーケンスＳｑ１８］更新監視エンジン２００は、通知不可を判定した場合に、Ｗｅｂブラウザ３００に表示内容の更新指示をおこなう。Ｗｅｂブラウザ３００は、更新指示を受けて、ストレージ装置１０から情報を取得し、取得した情報にもとづいて表示内容を更新する。
【００７８】
これにより、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態更新後、速やかに表示内容を更新することができる。
次に、シーケンスＳｑ１１において更新監視エンジン２００がストレージ装置１０から取得するＩｎｄｉｃａｔｉｏｎ通知について図１２および図１３を用いて説明する。図１２は、第２の実施形態のＩｎｄｉｃａｔｉｏｎ通知の一例（前半部）を示す図である。図１３は、第２の実施形態のＩｎｄｉｃａｔｉｏｎ通知の一例（後半部）を示す図である。
【００７９】
Ｉｎｄｉｃａｔｉｏｎ通知情報５４０とＩｎｄｉｃａｔｉｏｎ通知情報５５０は、１つのＩｎｄｉｃａｔｉｏｎ通知であり、Ｉｎｄｉｃａｔｉｏｎ通知情報５４０がその前半部を示し、Ｉｎｄｉｃａｔｉｏｎ通知情報５５０がその後半部を示す。
【００８０】
Ｉｎｄｉｃａｔｉｏｎ通知情報５４０は、ＳＮＩＡクラスの変更前パラメータを含み、Ｉｎｄｉｃａｔｉｏｎ通知情報５５０は、ＳＮＩＡクラスの変更後パラメータを含む。これにより、更新監視エンジン２００は、状態変更のあったＳＮＩＡクラスと、その変更前後のパラメータを検出することができる。
【００８１】
たとえば、Ｉｎｄｉｃａｔｉｏｎ通知情報５４０は、クラス名５４１と変更前パラメータ５４２を含む。クラス名５４１は、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」であり、その変更前パラメータ５４２は、ステータスプロパティとして文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」と値「５」を含む。
【００８２】
また、Ｉｎｄｉｃａｔｉｏｎ通知情報５５０は、クラス名５５１と変更後パラメータ５５２を含む。クラス名５５１は、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」であり、その変更後パラメータ５５２は、ステータスプロパティとして文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」と値「２」を含む。
【００８３】
すなわち、Ｉｎｄｉｃａｔｉｏｎ通知情報５４０とＩｎｄｉｃａｔｉｏｎ通知情報５５０は、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」のＳＮＩＡクラスについて、ステータスプロパティ「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」の値が「５」から「２」に更新されたことを示す。このように、更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知からＳＮＩＡクラスの状態変更を検出することができる。
【００８４】
次に、関係テーブル更新処理について図１４を用いて説明する。関係テーブル更新処理は、図５を用いて説明した関係テーブルの更新の際に更新監視エンジン２００が実行する処理である。図１４は、第２の実施形態の関係テーブル更新処理のフローチャートを示す図である。
【００８５】
関係テーブル更新処理は、更新監視エンジン２００の起動を契機にして、更新監視エンジン２００により実行される処理である。
［ステップＳ１１］更新監視エンジン２００は、関係テーブルの作成に用いる記憶領域を確保する。
【００８６】
［ステップＳ１２］更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容を監視し、表示内容に変更があるか否かを判定する。更新監視エンジン２００は、表示内容に変更があったことを、Ｗｅｂブラウザ３００からの通知により検出することができる。更新監視エンジン２００は、表示内容に変更があった場合にステップＳ１３にすすみ、表示内容に変更がない場合に表示内容の監視を継続する。
【００８７】
［ステップＳ１３］更新監視エンジン２００は、表示中の表示内容に対応するＨＴＭＬドキュメントをＷｅｂブラウザ３００に要求し、Ｗｅｂブラウザ３００からＨＴＭＬドキュメントを取得する。
【００８８】
［ステップＳ１４］更新監視エンジン２００は、ＨＴＭＬドキュメントからＳＮＩＡ規格にしたがうクラス名を抽出する。更新監視エンジン２００は、ＨＴＭＬドキュメント内の隠しパラメータを、検索キー「ｔｙｐｅ＝“Ｈｉｄｄｅｎ”」を用いて検索することで、検索結果にある「ｎａｍｅ＝“クラス名”」から「クラス名」を抽出できる。
【００８９】
たとえば、更新監視エンジン２００は、ＨＴＭＬドキュメント５００（図６参照）からクラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」を抽出できる。
［ステップＳ１５］更新監視エンジン２００は、抽出したクラス名を指定して、ＳＭＩ−Ｓコマンドをストレージ装置１０に発行する。更新監視エンジン２００は、ＳＭＩ−Ｓコマンドに対するストレージ装置１０からの応答として、ＳＭＩ−Ｓ応答を取得する。これにより、更新監視エンジン２００は、抽出したクラス名で指定したクラスに付随する情報をストレージ装置１０から取得することができる。
【００９０】
［ステップＳ１６］更新監視エンジン２００は、ＳＭＩ−Ｓ応答から名称プロパティの値と、ステータスプロパティの値を抽出する。
たとえば、更新監視エンジン２００は、ＳＭＩ−Ｓ応答５２０（図８参照）を参照して、ＳＮＩＡクラステーブル５１０（図７参照）に登録されているクラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」の名称プロパティの値と、ステータスプロパティの値を抽出する。更新監視エンジン２００は、ステータスプロパティ５２２（図８参照）が文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」と値「２」を含むことから、ステータスプロパティ「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」のステータスコードとして値「２」を抽出できる。
【００９１】
［ステップＳ１７］更新監視エンジン２００は、抽出した名称プロパティの値をキーにしてＨＴＭＬドキュメントを検索する。
たとえば、更新監視エンジン２００は、文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」を検索キーとして、ＨＴＭＬドキュメント５００から文字列５０２を検出できる。
【００９２】
［ステップＳ１８］更新監視エンジン２００は、一致した名称プロパティの値とともに設定されているステータスプロパティの値をＨＴＭＬドキュメントから抽出する。
たとえば、更新監視エンジン２００は、ＨＴＭＬドキュメント５００から文字列５０２とともに設定されている文字列５０３（「Ａｖａｉｌａｂｌｅ」）をステータスプロパティの値として抽出できる。
【００９３】
［ステップＳ１９］更新監視エンジン２００は、ステップＳ１８で抽出したＨＴＭＬドキュメントに含まれるステータスプロパティの値と、ステップＳ１６で抽出したＳＭＩ−Ｓ応答に含まれるステータスプロパティの値を関係付ける。
【００９４】
たとえば、更新監視エンジン２００は、ＨＴＭＬドキュメント５００から抽出した文字列「Ａｖａｉｌａｂｌｅ」と、ＳＭＩ−Ｓ応答５２０から抽出したステータスコード「２」を関係付ける。
【００９５】
［ステップＳ２０］更新監視エンジン２００は、ステップＳ１９で関係付けた対応関係が関係テーブルに登録済みか否かを判定する。更新監視エンジン２００は、対応関係が関係テーブルに登録済みである場合にステップＳ２２にすすみ、登録済みでない場合にステップＳ２１にすすむ。
【００９６】
［ステップＳ２１］更新監視エンジン２００は、ステップＳ１９で関係付けた対応関係を関係テーブルに登録する。
［ステップＳ２２］更新監視エンジン２００は、ＨＴＭＬドキュメントに含まれるステータスの値と、ＳＭＩ−Ｓ応答に含まれるステータスプロパティの値との対応関係のすべてを抽出したか否かを判定する。更新監視エンジン２００は、対応関係のすべてを抽出していない場合にステップＳ１６にすすみ、対応関係のすべてを抽出した場合にステップＳ２３にすすむ。
【００９７】
［ステップＳ２３］更新監視エンジン２００は、関係テーブル更新処理の終了条件を満足するか否かを判定する。たとえば、更新監視エンジン２００の停止は、関係テーブル更新処理の終了条件の１つである。更新監視エンジン２００は、終了条件を満足しない場合にステップＳ１２にすすみ、終了条件を満足する場合に関係テーブル更新処理を終了する。
【００９８】
これにより、更新監視エンジン２００は、Ｗｅｂブラウザ３００の表示内容が切り替わるごとに、関係テーブルを最新の状態にして保持することができる。
次に、関係テーブル更新処理について図１５を用いて説明する。関係テーブル更新処理は、図１１を用いて説明したＷｅｂブラウザ３００の表示内容更新の際に更新監視エンジン２００が実行する処理である。図１５は、第２の実施形態のブラウザ更新処理のフローチャートを示す図である。
【００９９】
ブラウザ更新処理は、更新監視エンジン２００の起動を契機にして、更新監視エンジン２００により実行される処理である。更新監視エンジン２００は、関係テーブル更新処理により関係テーブルが最新の状態に保持されている状態で、ブラウザ更新処理を実行する。
【０１００】
［ステップＳ３１］更新監視エンジン２００は、ストレージ装置１０が通知するＩｎｄｉｃａｔｉｏｎ通知を待ち受ける。更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知を受け取った場合にステップＳ３２にすすむ。
【０１０１】
［ステップＳ３２］更新監視エンジン２００は、表示中の表示内容に対応するＨＴＭＬドキュメントをＷｅｂブラウザ３００に要求し、Ｗｅｂブラウザ３００からＨＴＭＬドキュメントを取得する。
【０１０２】
［ステップＳ３３］更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知からＳＮＩＡ規格にしたがうクラス名を抽出する。たとえば、更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知（図１２参照）の項目「ＳｏｕｒｃｅＩｎｓｔａｎｃｅ」にあるクラス名５４１（「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」）を抽出できる。
【０１０３】
［ステップＳ３４］更新監視エンジン２００は、ＨＴＭＬドキュメントからＳＮＩＡ規格にしたがうクラス名を抽出する。たとえば、更新監視エンジン２００は、ＨＴＭＬドキュメント５００（図６参照）から、検索キー「ｔｙｐｅ＝“ｈｉｄｄｅｎ”」を用いて検索することで、検索結果にある「ｎａｍｅ＝“クラス名”」からクラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」を抽出できる。
【０１０４】
［ステップＳ３５］更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知から抽出したクラス名と、ＨＴＭＬドキュメントから抽出したクラス名とが一致するか否かを判定する。更新監視エンジン２００は、抽出した２つのクラス名が一致する場合にステップＳ３６にすすみ、一致しない場合にブラウザ更新処理を終了する。
【０１０５】
なお、抽出された２つのクラス名の一致は、ストレージ装置１０において変更があった状態がＷｅｂブラウザ３００において表示対象となっていることを示す。一方、抽出された２つのクラス名の不一致は、ストレージ装置１０において変更があった状態がＷｅｂブラウザ３００において表示対象となっていないことを示す。
【０１０６】
なお、更新監視エンジン２００は、ステップＳ３１からステップＳ３５の処理を実行することで、Ｗｅｂブラウザ３００の画面変更の更新の是非を検出する画面変更検出手段として機能する。
【０１０７】
［ステップＳ３６］更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知から名称プロパティの値を抽出する。たとえば、更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知情報５５０（図１３参照）から変更後パラメータ５５２に含まれる文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」を抽出する。
【０１０８】
［ステップＳ３７］更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知からステータスプロパティの値（ステータスコード）を抽出する。たとえば、更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知情報５５０（図１３参照）から変更後パラメータ５５２に含まれる値「２」を抽出する。
【０１０９】
［ステップＳ３８］更新監視エンジン２００は、Ｉｎｄｉｃａｔｉｏｎ通知から抽出した名称プロパティの値を用いて、ＨＴＭＬドキュメント内を検索する。たとえば、更新監視エンジン２００は、文字列「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」を検索キーとして、ＨＴＭＬドキュメント５００から文字列５０２を検出できる。
【０１１０】
［ステップＳ３９］更新監視エンジン２００は、一致した名称プロパティの値とともに設定されているステータスプロパティの値をＨＴＭＬドキュメントから抽出する。たとえば、更新監視エンジン２００は、ＨＴＭＬドキュメント５００から文字列５０２とともに設定されている文字列５０３（「Ａｖａｉｌａｂｌｅ」）をステータスプロパティの値として抽出できる。
【０１１１】
［ステップＳ４０］更新監視エンジン２００は、ステップＳ３７で抽出したステータスコードに対応するＷｅｂ ＧＵＩステータスを関係テーブルから検索する。更新監視エンジン２００は、ステータスコードに対応するＷｅｂ ＧＵＩステータスが関係テーブルにあった場合にステップＳ４１にすすみ、関係テーブルになかった場合にステップＳ４３にすすむ。
【０１１２】
たとえば、ＳＮＩＡクラステーブル５１０（図７参照）によれば、クラス名「ＦＪ＿ＳｔｏｒａｇｅＶｏｌｕｍｅ」、ステータスプロパティ「ＯｐｅｒａｔｉｏｎａｌＳｔａｔｕｓ」の組は、クラスＩＤ「０００」である。更新監視エンジン２００は、クラスＩＤ「０００」のステータスコード「２」に対応するＷｅｂ ＧＵＩステータスを関係テーブル５３０（図９参照）から検索して、Ｗｅｂ ＧＵＩステータス「Ａｖａｉｌａｂｌｅ」を得る。
【０１１３】
［ステップＳ４１］更新監視エンジン２００は、ステップＳ３２で取得したＨＴＭＬドキュメント内のＷｅｂ ＧＵＩステータスを、ステップＳ４０で検索したＷｅｂ ＧＵＩステータスで置換して、ＨＴＭＬドキュメントを更新する。
【０１１４】
たとえば、更新監視エンジン２００は、ステップＳ３２で取得したＨＴＭＬドキュメント内のＷｅｂ ＧＵＩステータスが「Ｂｒｏｋｅｎ」であったときに、Ｗｅｂ ＧＵＩステータス「Ｂｒｏｋｅｎ」をＷｅｂ ＧＵＩステータス「Ａｖａｉｌａｂｌｅ」に置換して、ＨＴＭＬドキュメントを更新する。
【０１１５】
［ステップＳ４２］更新監視エンジン２００は、更新したＨＴＭＬドキュメントをＷｅｂブラウザ３００に通知して、ブラウザ更新処理を終了する。
これにより、Ｗｅｂブラウザ３００は、自動再読み込み機能や手動再読み込み機能に頼ることなしに、ストレージ装置１０の状態更新を表示内容に反映することができる。また、Ｗｅｂブラウザ３００は、表示内容の更新をおこなう際に、更新監視エンジン２００との間で通信をおこなうだけでよく、ストレージ装置１０との間での通信を要しない。したがって、ストレージ装置１０は、Ｗｅｂブラウザ３００との間で発生する通信負荷を低減することができ、処理負荷が軽減される。
【０１１６】
［ステップＳ４３］更新監視エンジン２００は、Ｗｅｂブラウザ３００に更新指示を通知して、ブラウザ更新処理を終了する。更新指示は、Ｗｅｂブラウザ３００の表示内容がストレージ装置１０の最新の状態を反映していないことから、再読み込み機能による表示内容の更新の指示である。
【０１１７】
これにより、Ｗｅｂブラウザ３００は、再読み込み機能により、ストレージ装置１０の状態更新を表示内容に反映することができる。なお、Ｗｅｂブラウザ３００は、ストレージ装置１０との間での通信を要するが、ストレージ装置１０の状態更新から遅滞なく表示内容の更新をおこなうことができる。また、Ｗｅｂブラウザ３００は、再読み込み機能の実行契機を更新監視エンジン２００から通知されるので、ストレージ装置１０への状態の問い合わせ、すなわち再読み込み機能の実行を頻回におこなうことを要しない。したがって、ストレージ装置１０は、Ｗｅｂブラウザ３００との間で発生する通信負荷を低減することができ、処理負荷が軽減される。
【０１１８】
なお、更新監視エンジン２００は、ステップＳ３６からステップＳ４３の処理を実行することで、Ｗｅｂブラウザ３００に表示内容を更新させる表示内容更新手段として機能する。
【０１１９】
次に、ストレージ装置１０の状態の更新タイミングと、Ｗｅｂブラウザ３００の表示内容の更新タイミングについて図１６および図１７を用いて説明する。まず、更新監視エンジン２００がストレージ装置１０からＩｎｄｉｃａｔｉｏｎ通知を受けてＨＴＭＬドキュメントをＷｅｂブラウザ３００に通知する場合のＷｅｂブラウザ３００の表示内容の更新タイミングについて図１６を用いて説明する。図１６は、第２の実施形態の更新監視エンジンがＨＴＭＬドキュメントをＷｅｂブラウザに通知する場合の、ストレージ装置の状態の更新と、Ｗｅｂブラウザの表示内容の更新のタイミングチャートの一例を示す図である。
【０１２０】
Ｗｅｂブラウザ３００は、自動更新周期ＣＴで表示画面を更新する場合、タイミングｔ０，ｔ３でストレージ装置１０から情報取得をおこなう。このとき、ストレージ装置１０は、タイミングｔ１で状態Ａから状態Ｂに、またタイミングｔ２で状態Ｂから状態Ｃに状態更新があった場合、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態Ａから状態Ｂへの状態更新を表示内容に反映することができない。また、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態Ｂから状態Ｃへの状態更新を表示内容に反映するのがタイミングｔ３となり、タイミングｔ２からのタイムラグＴＬ１を有する。
【０１２１】
一方、更新監視エンジン２００がストレージ装置１０からＩｎｄｉｃａｔｉｏｎ通知を受けてＨＴＭＬドキュメントをＷｅｂブラウザ３００に通知する場合、Ｗｅｂブラウザ３００は、遅滞なくストレージ装置１０の状態更新を表示内容に反映できる。すなわち、Ｗｅｂブラウザ３００は、自動再読み込み機能で表示できなかったストレージ装置１０の状態Ｂを表示することができる。また、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態Ｃをタイミングｔ２からのタイムラグＴＬ１を有することなしに表示できる。
【０１２２】
次に、更新監視エンジン２００がストレージ装置１０からＩｎｄｉｃａｔｉｏｎ通知を受けて更新指示をＷｅｂブラウザ３００に通知する場合のＷｅｂブラウザ３００の表示内容の更新タイミングについて図１７を用いて説明する。図１７は、第２の実施形態の更新監視エンジンが更新指示をＷｅｂブラウザに通知する場合の、ストレージ装置の状態の更新と、Ｗｅｂブラウザの表示内容の更新のタイミングチャートの一例を示す図である。
【０１２３】
更新監視エンジン２００がストレージ装置１０からＩｎｄｉｃａｔｉｏｎ通知を受けて更新指示をＷｅｂブラウザ３００に通知すると、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態更新を遅滞なく検出できる。Ｗｅｂブラウザ３００は、タイミングｔ１で更新指示を受けた場合、タイミングｔ４で表示内容を更新できる。また、Ｗｅｂブラウザ３００は、タイミングｔ２で更新指示を受けた場合、タイミングｔ５で表示内容を更新できる。すなわち、Ｗｅｂブラウザ３００は、自動再読み込み機能で表示できなかったストレージ装置１０の状態Ｂを表示することができる。また、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態Ｃをタイミングｔ２からのタイムラグＴＬ１を有することなしに表示できる。
【０１２４】
このように、Ｗｅｂブラウザ３００は、ストレージ装置１０の状態更新を遅滞なく表示に反映することができるので、再読み込み機能によるストレージ装置１０へのアクセスを抑制することができる。
【０１２５】
したがって、更新監視エンジン２００は、ストレージ装置１０の通信負荷や処理負荷の軽減に貢献する。すなわち、更新監視エンジン２００は、ストレージ装置１０の性能に与える影響を抑制できる。また、ストレージ装置１０の管理者は、表示内容の更新操作を頻回におこなうことなく、ストレージ装置１０の状態の更新を速やかに確認できる。また、ストレージ装置１０の管理者は、表示内容の更新操作をおこなうことに代えて所定間隔での自動更新を設定する場合でも、自動更新周期を過小に設定することなしにストレージ装置１０の状態を遅滞なく確認できる。
【０１２６】
なお、第２の実施形態において、ホスト１００は、更新監視エンジン２００とＷｅｂブラウザ３００を有するとしたが、ホスト１００は、いずれか一方を備えるものであってもよい。その場合、ホスト１００とは別の情報処理装置（たとえば、管理装置）が他方を備えるようにすればよい。たとえば、ホスト１００がＷｅｂブラウザ３００を備え、管理装置が更新監視エンジン２００を備えるものであってもよい。また、ホスト１００が更新監視エンジン２００を備え、管理装置がＷｅｂブラウザ３００を備え、管理装置が備えるモニタにストレージ装置１０の状態を表示するものであってもよい。
【０１２７】
いずれの形態であっても、ストレージ装置１０とＷｅｂブラウザ３００との間の通信は、抑制され得る。
このような更新監視エンジン２００から指示された更新契機にもとづく表示内容の更新は、Ｗｅｂブラウザ３００における手動操作による更新や所定周期の自動更新と比較して、ストレージ装置１０の状態更新から表示内容の更新までの遅延時間を短縮できる。したがって、更新監視エンジン２００は、ストレージ装置１０から頻回に情報を取得することを要しない。これにより、更新監視エンジン２００は、ストレージ装置１０にかかる通信負荷を抑制することができる。
【０１２８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、第１の実施形態の情報処理装置２、ホスト１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１２９】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３０】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１３１】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１３２】
１  情報処理システム
２  情報処理装置
２ａ  記憶部
２ｂ  制御部
２ｃ  表示制御部
３  監視対象装置
４  表示装置
６  ストレージシステム
８  ネットワーク
１０  ストレージ装置
２０，３０  コントローラモジュール
２１，３１，１０１  プロセッサ
２２，３２  メモリ
５０  ドライブエンクロージャ
９０  モニタ
１００  ホスト
１０２  ＲＡＭ
１０３  ＨＤＤ
２００  更新監視エンジン
３００  Ｗｅｂブラウザ
【図１】
0006589341.tif 000002
【図２】
0006589341.tif 000003
【図３】
0006589341.tif 000004
【図４】
0006589341.tif 000005
【図５】
0006589341.tif 000006
【図６】
0006589341.tif 000007
【図７】
0006589341.tif 000008
【図８】
0006589341.tif 000009
【図９】
0006589341.tif 000010
【図１０】
0006589341.tif 000011
【図１１】
0006589341.tif 000012
【図１２】
0006589341.tif 000013
【図１３】
0006589341.tif 000014
【図１４】
0006589341.tif 000015
【図１５】
0006589341.tif 000016
【図１６】
0006589341.tif 000017
【図１７】
0006589341.tif 000018