(57)【特許請求の範囲】
【請求項１】
１又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムを管理する計算機で実行するプログラムであって、
前記情報システムに含まれる複数のコンポーネントの情報を収集する第１のステップと、
第１のネットワークに属するスイッチを１つ以上選択する第２のステップと、
前記第１のネットワークを表す第１のネットワークアイコンを含む第１の列と、前記複数の計算機を表す複数の計算機アイコンを含む第２の列とを含む行列に沿って前記複数のコンポーネント間のグラフィカルトポロジーを表示する第３のステップと
を備える処理を前記計算機に実行させ、
前記第１のネットワークアイコンは、前記第２のステップにおいて選択した１つ以上のスイッチを表すスイッチアイコンを含む
ことを特徴とするプログラム。
【請求項２】
前記第３のステップでは、
前記選択した１つ以上のスイッチに接続する計算機を表す所定の計算機アイコンと前記第１のネットワークアイコンとの間に接続線を表示し、
当該所定の計算機アイコンと前記第１のネットワークアイコンに含まれるスイッチアイコンとの間の接続線を表示しない
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記第１の列に含まれるスイッチアイコン、又は前記第２の列に含まれる計算機アイコンを、対応するスイッチ又は計算機の情報に基づいて、列内でソート表示する第４のステップをさらに備える処理を前記計算機に実行させる
ことを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
管理者が選択した接続線が接続先とする計算機及び前記第１のネットワークを選択する第５のステップと、
前記第５のステップで選択した計算機と前記第１のネットワークとの間の接続の数を取得する第６のステップと、
前記接続の数を前記第５ステップにおける前記管理者の選択に応じて表示する第７のステップと
をさらに備える処理を前記計算機に実行させる
ことを特徴とする請求項２又は３に記載のプログラム。
【請求項５】
前記第１のネットワークは、ＳＡＮ又はＬＡＮである
ことを特徴とする請求項１乃至４の何れか一項に記載のプログラム。
【請求項６】
前記第３のステップでは、
前記第１のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続しない
ことを特徴とする請求項１乃至５の何れか一項に記載のプログラム。
【請求項７】
前記第３のステップでは、
前記第１のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続する
ことを特徴とする請求項１乃至５の何れか一項に記載のプログラム。
【請求項８】
前記第３のステップでは、
前記第１のネットワークアイコンに、前記第１のネットワークの識別子を追加する
ことを特徴とする請求項１乃至７のいずれか一項に記載のプログラム。
【請求項９】
１又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムを管理する計算機であって、
前記情報システムに含まれる複数のコンポーネントの情報を収集する収集部と、
第１のネットワークに属するスイッチを１つ以上選択する第１の選択部と、
前記第１のネットワークを表す第１のネットワークアイコンを含む第１の列と、前記複数の計算機を表す複数の計算機アイコンを含む第２の列とを含む行列に沿って前記複数のコンポーネント間のグラフィカルトポロジーを表示する表示部と
を備え、
前記第１のネットワークアイコンは、前記第１の選択部が選択した１つ以上のスイッチを表すスイッチアイコンを含む
ことを特徴とする計算機。
【請求項１０】
前記表示部は、
前記選択した１つ以上のスイッチに接続する計算機を表す所定の計算機アイコンと前記第１のネットワークアイコンとの間に接続線を表示し、
当該所定の計算機アイコンと前記第１のネットワークアイコンに含まれるスイッチアイコンとの間の接続線を表示しない
ことを特徴とする請求項９に記載の計算機。
【請求項１１】
前記表示部は、
前記第１の列に含まれるスイッチアイコン、又は前記第２の列に含まれる計算機アイコンを、対応するスイッチ又は計算機の情報に基づいて、列内でソート表示する
ことを特徴とする請求項９又は１０に記載の計算機。
【請求項１２】
管理者が選択した接続線が接続先とする計算機及び前記第１のネットワークを選択する第２の選択部と、
前記第２の選択部が選択した計算機と前記第１のネットワークとの間の接続の数を取得する取得部と
をさらに備え、
前記表示部は、
前記接続の数を前記管理者の選択に応じて表示する
ことを特徴とする請求項１０又は１１に記載の計算機。
【請求項１３】
前記第１のネットワークは、ＳＡＮ又はＬＡＮである
ことを特徴とする請求項９乃至１２の何れか一項に記載の計算機。
【請求項１４】
前記表示部は、
前記グラフィカルトポロジーにおいて、前記第１のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続しない
ことを特徴とする請求項９乃至１３の何れか一項に記載の計算機。
【請求項１５】
前記表示部は、
前記グラフィカルトポロジーにおいて、前記第１のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続する
ことを特徴とする請求項９乃至１３の何れか一項に記載の計算機。
【請求項１６】
前記表示部は、
前記グラフィカルトポロジーにおいて、前記第１のネットワークアイコンに、前記第１のネットワークの識別子を追加する
ことを特徴とする請求項９乃至１５の何れか一項に記載の計算機。
【請求項１７】
１又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムと、
前記情報システムを管理する計算機と
を有し、
前記計算機は、
前記情報システムに含まれる複数のコンポーネントの情報を収集する収集部と、
第１のネットワークに属するスイッチを１つ以上選択する第１の選択部と、
前記第１のネットワークを表す第１のネットワークアイコンを含む第１の列と、前記複数の計算機を表す複数の計算機アイコンを含む第２の列とを含む行列に沿って前記複数のコンポーネント間のグラフィカルトポロジーを表示する表示部と
を備え、
前記第１のネットワークアイコンは、前記第１の選択部が選択した１つ以上のスイッチを表すスイッチアイコンを含む
ことを特徴とするシステム。
【請求項１８】
前記計算機の前記表示部は、
前記選択した１つ以上のスイッチに接続する計算機を表す所定の計算機アイコンと前記第１のネットワークアイコンとの間に接続線を表示し、
当該所定の計算機アイコンと前記第１のネットワークアイコンに含まれるスイッチアイコンとの間の接続線を表示しない
ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記計算機の前記表示部は、
前記第１の列に含まれるスイッチアイコン、又は前記第２の列に含まれる計算機アイコンを、対応するスイッチ又は計算機の情報に基づいて、列内でソート表示する
ことを特徴とする請求項１７又は１８に記載のシステム。
【請求項２０】
前記計算機は、
管理者が選択した接続線が接続先とする計算機及び前記第１のネットワークを選択する第２の選択部と、
前記第２の選択部が選択した計算機と前記第１のネットワークとの間の接続の数を取得する取得部と
をさらに備え、
前記表示部は、
前記接続の数を前記管理者の選択に応じて表示する
ことを特徴とする請求項１８又は１９に記載のシステム。
【請求項２１】
前記第１のネットワークは、ＳＡＮ又はＬＡＮである
ことを特徴とする請求項１７乃至２０の何れか一項に記載のシステム。
【請求項２２】
前記計算機の前記表示部は、
前記グラフィカルトポロジーにおいて、前記第１のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続しない
ことを特徴とする請求項１７乃至２１の何れか一項に記載のシステム。
【請求項２３】
前記計算機の前記表示部は、
前記グラフィカルトポロジーにおいて、前記第１のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続する
ことを特徴とする請求項１７乃至２１の何れか一項に記載のシステム。
【請求項２４】
前記計算機の前記表示部は、
前記グラフィカルトポロジーにおいて、前記第１のネットワークアイコンに、前記第１のネットワークの識別子を追加する
ことを特徴とする請求項１７乃至２３の何れか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムトポロジー表示を提供するユーザーインターフェースに関する。
【背景技術】
【０００２】
近年の傾向として、企業の情報テクノロジー（ＩＴ）システムはより巨大かつ複雑なものなっている。例えば、一部のビジネスでは、ＩＴシステムはもはや単なるビジネスのインフラストラクチャではなく、ビジネスと連携してビジネスの価値や競争力を高める必要がある。また、ＩＴシステムの急速な成長は大企業に限らず、中堅企業であっても今日では何百のサーバを有することができる。この傾向は、サーバ仮想化技術の急成長により加速している。データセンターやその他ＩＴシステムの急成長という昨今の傾向にも関わらず、いまだＩＴ機構の管理者らは、大型で複雑なＩＴシステムを効率良く管理して適切に動作させることが求められている。ある問題が発生すると、管理者は、問題の存在を認識し、その問題を分析し、早急にそれを解決する必要がある。
【０００３】
一般的に、ＩＴシステムの健全性の監視や発生しうる問題の分析には、何らかの可用性及び性能管理ソフトウェアが使用される。通常、このようなソフトウェアは、ＩＴシステム内の複数のデバイスを発見し、それらの接続を識別する能力を有している。このソフトウェアは、管理の目的物又は対象であるＩＴシステム（したがって、管理されるＩＴシステムを、「管理対象システム」と呼ぶことがある。）から遠隔操作でき、システム内で発見されたデバイスを、グラフィック又はその他の態様によるトポロジー・ビューとして、表示画面上に表示することによって、各デバイスの状態について表示又は報告を行い、また、問題の原因を自動的に分析することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような管理ソフトウェアの使用により、管理者は、これまで手作業で行わなければならなかった多数の単調な操作タスクから解放される。しかし、上述したように、ＩＴシステム自体の急成長に反し、ＩＴ予算は、通常、より制限される傾向にある。その結果、ＩＴシステムの大領域を管理する責任は各管理者が担うことになってしまう。そのため、現在の管理ソフトウェアが提供する管理能力と、管理を要するシステムのサイズとの間に差が生じている。特に、システム監視又は問題分析用として現在使用可能なソフトウェアが提供するトポロジー・ビューは複雑になりすぎて、表示画面上に一度に表示できるのは、ＩＴシステムのほんの一部となっている。システム全体のトポロジーは、情報システムの可用性及び性能を管理するためのシステム管理を管理者が適切に行うために必要な情報であるため、大規模かつ拡張可能なＩＴシステムに使用できるソリューションは現時点では存在しない。
【０００５】
関連技術は、米国特許第７，２４９，３４７号（Ｃｈａｎｇ他）、米国特許出願公報第２００７／００９４５９７号（Ｒｏｓｔｏｍ）、米国特許出願公報第２００７／０２０４２３１号（Ｃｕｎｎｉｎｇｈａｍ他）、米国特許出願公報第２００７／０１５６８６１号（Ｎｅｄｅｌｃｕ他）であり、これらの開示内容は本記載により本明細書に組み込まれる。
【課題を解決するための手段】
【０００６】
本発明の例示的な実施形態では、情報システムの可用性効率を向上させ、かつ、システム状態の監視やシステム内の問題分析といった管理タスクの実行を改善する、ユーザーインターフェースが提供される。本発明のユーザーインターフェースの例示的な実施形態は、情報システムのコンポーネントをグラフィカルトポロジーリスト・ビューに表示することにより、情報システムのエンドツーエンドトポロジーを高密度で表示する。本発明のこれら及びその他の特徴及び利点については、下記の好適実施形態の詳細説明によって、当業者に明らかとなるであろう。
【図面の簡単な説明】
【０００７】
添付図面は、上記概要、及び、下記の好適実施形態の詳細説明とともに、ここに考察される本発明の最良の形態の好適実施形態の原理を図説及び説明するものである。
【図１】図１は、本発明の方法、システム、及びプログラムが適用されうるハードウェア構成の一例を示している。
【図２】図２は、図１の構成に適用される、本発明の論理構成の一例を示している。
【図３】図３は、管理対象である情報システムの一例を示している。
【図４】図４は、トポロジー表示を有する、本発明の例示的なユーザーインターフェースを示している。
【図５Ａ】図５Ａはシステムトポロジ用の例示的なデータモデル及びデータベース関係を示す第１の例である。
【図５Ｂ】図５Ｂはシステムトポロジ用の例示的なデータモデル及びデータベース関係を示す第２の例である。
【図６】図６は、ネットワークテーブルの例示的なデータ構造を示している。
【図７】図７は、ノードテーブルの例示的なデータ構造を示している。
【図８】図８は、コンポーネントテーブルの例示的なデータ構造を示している。
【図９】図９は、接続テーブルの例示的なデータ構造を示している。
【図１０】図１０は、ＩＰ  ＳＡＮ判定の例示的プロセスを示している。
【図１１】図１１は、トポロジーリスト表示を生成及び描画する、例示的プロセスを示している。
【図１２】図１２は、トポロジー接続のパターンの例示的構造を示している。
【図１３】図１３は、生成及び結合された接続データの例示的データ構造を示している。
【図１４】図１４は、ネットワーク及びノードオブジェクトインスタンス及びアレイの例示的データ構造を示している。
【図１５】図１５は、オブジェクトインスタンス生成の例示的プロセスを示している。
【図１６Ａ】図１６Ａは、オブジェクトのレイアウトに関する例示的な基礎を示す第１の図である。
【図１６Ｂ】図１６Ｂは、オブジェクトのレイアウトに関する例示的な基礎を示す第２の図である。
【図１６Ｃ】図１６Ｃは、オブジェクトのレイアウトに関する例示的な基礎を示す第３の図である。
【図１７Ａ】図１７Ａはオブジェクトレイアウトの例示的処理を示している。
【図１７Ｂ】図１７Ｂはオブジェクトレイアウトの例示的処理の続きを示している。
【図１７Ｃ】図１７Ｃはオブジェクトレイアウトの例示的処理の更なる続きを示している。
【図１７Ｄ】図１７Ｄはオブジェクトレイアウトの例示的処理の更なる続きを示している。
【図１７Ｅ】図１７Ｅはオブジェクトレイアウトの例示的処理の更なる続きを示している。
【図１８Ａ】図１８Ａは、接続ラインを描画する例示的基本の第１の図である。
【図１８Ｂ】図１８Ｂは、接続ラインを描画する例示的基本の第２の図である。
【図１８Ｃ】図１８Ｃは、接続ラインを描画する例示的基本の第３の図である。
【図１９Ａ】図１９Ａは、接続ライン描画の例示的処理を示している。
【図１９Ｂ】図１９Ｂは、接続ライン描画の例示的処理の続きである。
【図１９Ｃ】図１９Ｃは、接続ライン描画の例示的処理の更なる続きである。
【図２０】図２０は、スイッチのレイアウト及び描画の例示的処理を示している。
【図２１】図２１は、トポロジー表示を含む、ユーザーインターフェースの例示的な第２実施形態を示している。
【図２２】図２２は、状態表示を含む結合接続データから生成されるマトリクスの例示的データ構造を示している。
【図２３】図２３は、トポロジー表示を含むユーザーインターフェースの例示的な第３実施形態を示している。
【図２４Ａ】図２４Ａは、トポロジー表示を含むユーザーインターフェースの例示的な第４実施形態の第１の説明である。
【図２４Ｂ】図２４Ｂは、トポロジー表示を含むユーザーインターフェースの例示的な第４実施形態の第２の説明である。
【図２４Ｃ】図２４Ｃは、トポロジー表示を含むユーザーインターフェースの例示的な第４実施形態の第３の説明である。
【発明を実施するための最良の形態】
【０００８】
以下に詳述する本発明の詳細な説明において添付図面を参照するが、この添付図面は、開示内容の一部を形成するとともに、本発明を実施しうる特定の実施形態を図説するためのものであり、本発明を限定するためのものではない。添付図面中、複数の図面にわたり、同種の数字は、実質的に類似するコンポーネントを示している。なお、詳細な説明において様々な例示的実施形態を提供するが、後述及び図示するように、本発明は、本明細書中に記載及び図示する実施形態に限定されず、当業者に知られる又は知られていくように、他の実施形態にも及びうるものである。さらに、図面、上述の議論、及び下記の説明は、例示かつ説明を目的としたものであり、いずれの態様においても本発明の範囲を限定することを意図するものではない。
【０００９】
本発明の実施形態は、以下に詳述するように、情報システムのビューイング、分析、及び、管理を可能にするトポロジーシステム構成表を有するグラフィカルユーザーインターフェースを生成し表示するシステム、方法、及び計算機プログラムを提供するものである。本発明の実施形態は、情報システム内の多数のアイテムを、計算機モニタ等の表示デバイス上にコンパクトかつ効率的な態様で表示でき、また、アイテムのトポロジー構成情報を保全するとともに、簡単に理解できるよう表示することができる。
【００１０】
例示的実施形態によると、本発明の方法では、管理の対象又は目的物である情報システム（つまり、管理対象システム）内の各デバイスが発見される。本発明のいくつかの実施形態は、ＬＡＮ（ローカルエリアネットワーク）又はＳＡＮ（ストレージエリアネットワーク）等のネットワーク、及び、これに接続されるノード（例えば、サーバ又はストレージ）の存在及びその関係を自動的に判定し、この情報をデータベースに格納する。また、本発明の例示的実施形態は、データベース内に記憶されているネットワークとノードの関係を連結させることにより、ＬＡＮ＝サーバ＝ＳＡＮ＝ストレージ間のマッピングのエンドツーエンドトポロジーデータを生成する。例示的実施形態では、生成されたデータに基づき、ネットワーク及びノードが、列及び行の格子にしたがってレイアウトされ、ユーザーインターフェース内にアイコンで表示される。また、ネットワークとノードの関係は、ユーザーインターフェース内に接続ラインを表示することによって示され、これによって、格子状の「マトリクス」又は「リスト」形式の表示に似た態様でトポロジーを表示する、システムのグラフィカルトポロジー表示が提供できる。
【００１１】
例示的実施形態では、本発明によって生成されかつ表示されるグラフィカルユーザーインターフェースは、「行」及び「列」から成る。インターフェースの列はシステム層から成りかつシステム層を表すものであり、典型的には、各列が表す層に合わせて、ユーザーインターフェース内の所定の位置に置かれる。ユーザーインターフェース内に設定されるシステム層の列には、バックボーンネットワーク列、ＬＡＮ列、計算機（例えば、サーバ）列、ＳＡＮ列、及びストレージ列が含まれる。アイコンや関連又は接続ラインは、特定の行、及び、ネットワークやスイッチ、サーバ、ストレージ等のノードのオブジェクトに合わせて位置合わせされており、オブジェクトはリストの「セル」に対応している。したがって、アイコンは、所定の列と可変数の行から形成される格子に合わせてレイアウトされる。使用される行数は、表示が必要なシステムコンポーネントアイコンの数によって増減してよく、各層タイプのアイコンはそれぞれの列内にリストされる。
【００１２】
本発明の例示的実施形態では、「トポロジーリスト」である格子に合わせてオブジェクトを表示することにより、無駄なスペースや重複したスペースが表示から削除されるため、システム内のより多くのオブジェクトを一度に表示でき、なおかつ、システムトポロジを正確かつグラフィカルに表すことができる。さらに、本発明の実施形態にはリスト形式のトポロジー表示が含まれるため、ＩＴシステム内のアイテムのソートやフィルタリングといった機能を表示されたシステムに適用することができる。その結果、本発明の実施形態によって、システム可用性及び性能の管理効率を向上させ、ＩＴシステムの状態及び健康状態の日常的監視や、発生しうる問題の分析、問題の解決策の決定、といったタスクを支援する、ユーザーインターフェースが提供される。
【発明を実施するための形態】
【００１３】
実施形態１
【００１４】
例示的ハードアーキテクチャ
【００１５】
図１は、本発明が実施されうるハードアーキテクチャの一例を示している。システム全体は、管理計算機１００と、管理対象システム１１０（つまり、管理の目的物である情報システム）とからなる。管理計算機１００と管理対象システムは、ローカルエリアネットワーク又はワイドエリアネットワーク（ＬＡＮ又はＷＡＮ）１２０を介して接続されていてよく、あるいは、通信を可能にする他の方法で接続されていてもよい。
【００１６】
管理計算機１００は、ＣＰＵ１０１と、メモリ及びストレージ１０２と、ネットワークインターフェース１０３と、キーボード、マウス、その他を含みうる一つ以上の入力デバイス１０４と、モニタ又は同等物であるディスプレイ１０５と、を有するサーバ又はその他汎用計算機であってよい。通常、管理計算機１００は、システム管理者が管理対象システム１１０を管理するために使用する計算機端末である。管理対象システム１１０は、一つ以上のネットワークを構成するネットワークスイッチからなる情報システムであり、システム管理者によって管理計算機１００から管理される対象又は目的物であるサーバとストレージシステム／デバイスとを含んでいる。管理対象システム１１０の例示的な詳細は、図３を参照しながら以下に記載する。
【００１７】
管理計算機の論理エレメント構造
【００１８】
図２は、管理計算機上に提供されうるソフトウェア及び論理エレメント構造の例示的実施形態を示している。本発明のモジュール及びデータ構造は、管理計算機１００、携帯型媒体、又はその他の場所に存在する、メモリ／ストレージ１０２又はその他の計算機読取可能な媒体に記憶されていてよい。ディスカバリモジュール２０１は、管理対象システム内に含まれる、スイッチ、サーバ及びその他計算機、ストレージシステム、アレイ等のデバイスを発見するように構成されている。情報収集モジュール２１０は、ディスカバリモジュールによって発見されたデバイスから、構成情報、デバイス間の接続、状態及び性能評価（メトリクス）等の各種情報を収集する。
【００１９】
情報収集モジュール２１０によって収集されたデータは、データベース２３０に記憶される。データベース２３０は、収集されたデータと、本発明のトポロジーリスト・ビューを表すために使用される多数のテーブルと、を保持する。ネットワークテーブル５００は、図６を参照しながら以下に記載するように、識別されたＬＡＮ及びＳＡＮについての情報を保持する。ノードテーブル６００は、図７を参照しながら以下に記載するように、スイッチ、サーバ、及び、ストレージ等の識別されたノードを保持する。コンポーネントテーブル７００は、図８を参照しながら以下に記載するように、ネットワークとそれに関連するスイッチの関係を維持する。接続テーブル８００は、図９を参照しながら以下に記載するように、ネットワークとそれに接続するノードの関係を保持する。
【００２０】
トポロジー表示モジュール２２０は、図４を参照しながら以下に記載するように、収集されたデータからエンドツーエンドトポロジーデータを生成するとともに、生成されたトポロジーデータをグラフィカルトポロジーリスト・ビューとして表示する、ソフトウェア及び／又はハードウェアである。トポロジー表示モジュール２２０は、トポロジーを作成し表示する際に、ワーキングデータを作成する。この形成され使用されるワーキングデータには結合接続データ１３００が含まれ、この結合接続データ１３００は、マトリクス、テーブル、又は二次元アレイとして表されてよく、また、データベース２３０に記憶される接続情報に基づいて生成された管理対象システム全体のエンドツーエンドトポロジーの集合体である。ＬＡＮオブジェクトアレイ１４１９、ＳＡＮオブジェクトアレイ１４２９、サーバオブジェクトアレイ１４３９、及び、ストレージオブジェクトアレイ１４４９は、図１４に関連して後述するように、トポロジーリスト・ビューを形成及び表示する間にデータベース２３０から抽出される、各ネットワーク及びノードの情報を保持する。
【００２１】
監視モジュール２０２は、管理対象システム１１０内で発生しうるイベントに関するデータを収集し維持する。例えば、監視モジュール２０２は、特定のサーバ、ストレージ、又は、スイッチが正しく動作しているか否か等、管理対象システム１１０内のデバイスから送られるイベントのイベントリストを維持することができる。また、根本原因分析モジュール２０３は、観察したイベントに基づき、管理対象システムのクリティカルポイントを自動的に判定する。報告モジュール２０４は、管理対象システム１１０のシステム健康状態について、オンデマンド又は定期的に、各種報告を行う。これらのモジュールは、管理対象システムのシステム可用性及び性能を管理するための管理ソフトウェアの一般的なコンポーネントとして機能する。
【００２２】
管理対象システム構造
【００２３】
図３は、管理計算機１００によって管理されうる情報システム１１０のシステム構造の一例を示している。図３に示す特定の情報は本発明を説明するために用いられるが、当然のことながら、本発明の使用することで無限に多様な構成を有する情報システムを管理でき、本発明は特定の構成を有する管理対象システムに限定されることはない。例えば、本発明は、インターネットプロトコル（ＩＰ）及びファイバーチャネル（ＦＣ）プロトコル環境における説明がなされているが、これらとともに又はこれらに替えて、他の適切なプロトコルを使用してもよい。本発明の実施形態は、管理対象システムのトポロジーを表示するための例示的ユーザーインターフェースを開示するとともに、管理対象システム内のノードや他のアイテムから収集される情報からトポロジーをどのように表すのかという方法論も開示するものである。
【００２４】
図３に示すように、管理対象システム１１０は、バックボーンネットワーク３１０、ＬＡＮ３３０、サーバ又はその他の計算機３４０、ＳＡＮ３５０、及び、ストレージ３７０から構成されうる。個々のスイッチ、計算機、又は、ストレージを、管理対象システム１１０内の「ノード」と呼ぶこともある。バックボーンネットワーク３１０は、それ自体にＩＰネットワーク構造を有し、このＩＰネットワークはＩＰスイッチのみからなり、サーバは接続されていない。例えば、図３では、バックボーンネットワークにスイッチ３２０−１及び３２０−２が含まれるが、これは、それらスイッチが他のスイッチにのみ接続し、サーバ３４０−１〜３４０−１０のいずれにも接続されないからである。
【００２５】
ＬＡＮ３３０は、通信等を行うためにサーバ３４０に接続されたＩＰスイッチ３２０を含む情報システム内の、サブネットワークである。例えば、ＬＡＮ３３０−１は、ＩＰスイッチ３２０−２、３２０−３、及び、３２０−４からなり、これらスイッチ３２０−２、３２０−３、及び、３２０−４にサーバ３４０−１〜３４０−６が接続されている（したがって、ＬＡＮ３３０−１に属する）。同様に、ＬＡＮ３３０−２は、ＩＰスイッチ３２０−５及び３２０−６からなり、これらスイッチ３３０−５及び３３０−６にサーバ３４０−７〜３４０−１０が接続されている。よって、ＬＡＮ３３０及びバックボーンネットワーク３１０は、クライアント計算機等との通信用にサーバ３４０が使用する、通信ネットワークである。サーバ３４０は、通信に使用されるデータの格納及び探し出しを可能にするとともに、サーバ３４０上で動作中のアプリケーションを走行させるために、ＳＡＮに接続されてよい。本明細書中、サーバ３４０は、情報システム内の計算機ノードの典型的な使用事例として「サーバ」と呼ばれるが、当然のことながら、サーバ３４０は他のタイプの計算機であってよく、本発明は、クライアントに対してサーバとして動作する特定機能を有する計算機に限定されない。したがって、明細書全体を通じて、「サーバ」という用語は、計算機及び計算機ノードという用語と同じ意味で使用され、また当然のことながら、この用語によって本発明が、サーバとしてのみ動作する計算機への適用に限定されることはなく、むしろ「サーバ」は、処理機能を実行するあらゆるタイプの計算機ノードを意味することができる。
【００２６】
ＳＡＮ３５０は、サーバ３４０をストレージ３７０に接続する情報システム内のサブネットワークとして機能する、ストレージエリアネットワークである。図３に示す実施形態では、ＳＡＮ３５０−１は、ＩＰスイッチ３２０−７及び３２０−８からなるＩＰ  ＳＡＮである。例えば、このタイプのＳＡＮには、Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ（ＮＡＳ）又はｉＳＣＳＩ（ＩＰ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）タイプのストレージを接続することができる。サーバ３４０−１〜３４０−７はＳＡＮ３５０−１に接続されている。また、ＳＡＮ３５０−２は、ＦＣスイッチ３６０を含むＦＣ  ＳＡＮである。このタイプのＳＡＮには、ファイバチャネルタイプのストレージ、例えば、高性能ＦＣディスクドライブを有するストレージを接続することができる。図示する実施形態では、サーバ３４０−８、３４０−９、及び３４０−１０がＳＡＮ３５０−２に接続されている。したがって、両ストレージ３７０は、ＩＰ又はＦＣネットワークを使用して通信を可能にするタイプのものである。ストレージ３７０−１は、例えば、コントローラ又はＮＡＳヘッドと、ＳＡＴＡタイプ又は他の適切なタイプの複数のディスクドライブと、を有するストレージシステムであってよく、ストレージ３７０−２は、コントローラと複数のＦＣディスクドライブとを有するストレージシステムであってよい。本発明には他のタイプのストレージシステムを使用することもでき、本発明は特定のストレージタイプに限定されない。
【００２７】
トポロジー表示（トポロジーリスト・ビュー）を有するユーザーインターフェース
【００２８】
図４は、トポロジーリスト・ビューを提供するグラフィカルユーザーインターフェース１５０の一例を示しており、このトポロジーリスト・ビューは、図３を参照して上述した情報システムのトポロジーを、従来技術で利用できるインターフェースを改良した態様で表示するものである。トポロジーは、情報システム内で互いにリンクされる機能コンポーネント又はオブジェクトの関係をグラフィカルに示すものである。図４に示すユーザーインターフェースは、システム内のオブジェクトを表すノード及びネットワークアイコンを使用するとともに、これらオブジェクト間の接続を直線又は階段状の接続ラインを使用して表すことにより、バックボーンネットワークから各ストレージデバイスに至るまでの、管理対象システムのトポロジーを示している。好適実施形態では、本発明のユーザーインターフェースは、「マトリクス」又は「リスト」形式の表現に似た方法でシステムオブジェクトを表しつつ、ユーザーが把握しやすいグラフィカルな接続表示を維持することができる。これは、所定の高さを有する可変数の行と、表示すべき各種エレメント（つまり、バックボーンネットワーク、ＬＡＮ、計算機ノード、ＳＡＮ、及び、ストレージノード）各々に対応する所定数の列と、を有する格子に合わせて、トポロジーをレイアウトすることにより、達成できる。
【００２９】
図示する実施形態では、ユーザーインターフェース１５０は、情報システムの五つのクラス又は層を表す五つの所定列を含んでいる。これらの列は、バックボーンネットワーク列４１１、ＬＡＮ列４１２、計算機（又はサーバ）列４１３、ＳＡＮ列４１４、及び、ストレージ列４１５からなっている。本実施形態で示す列の順、特に、図示する順に互いに隣接して表示されるＬＡＮ＝計算機＝ＳＡＮ＝ストレージ列の順によって、システムの高密度トポロジー・ビューの生成が可能になる。したがって、管理対象システム内の各機能オブジェクトは、ユーザーインターフェース１５０の列４１１〜４１５のうちの一つに分類されるとともに、管理対象システムの一層に属するものとして識別されうる。また、接続ラインは、所定の列に置かれたオブジェクト間に生成され、かつ、特定の「行」によって位置合わせされる。スイッチ３２０、３６０、サーバ３４０、及びストレージ３７０等の管理対象システムのオブジェクトは、それぞれの列にレイアウトすることにより、インターフェース内の対応するセル又はアイコン内にリスト状に表示される。本発明は、このようにシステムオブジェクトをリストとして表示することで、スクリーン上の冗長スペースや無駄なスペースを省き、またこれによって、一度により多くのオブジェクトを表示でき、なおかつ物理的なシステムトポロジを表示することができる。
【００３０】
バックボーンネットワーク列４１１には、バックボーンネットワーク３１０を構成するスイッチ３２０−１、３２０−２をそれぞれ表すＩＰスイッチアイコン４２０−１、４２０−２が含まれる。好適には、各スイッチアイコン４２０は長方形のセルで表され、例えばスイッチ４２０−１の場合は「ｉｐｓｗ１」のように、当該スイッチの英数字のスイッチ識別子４２１を含むことができる。図４に示す例では、バックボーンネットワーク列４１１のスイッチノードアイコン４２０は、一つのリスト内にリストされるだけであって、例えばバックボーンスイッチがネスト化したネットワーク関係等を有している場合であっても、ネットワーク構造に合わせて表示されるようなことはない。これは、バックボーンネットワーク自体の構造が、通常、管理対象システム１１０に関して実行される可用性及び性能管理タスクに不可欠なものではないためである。したがって、バックボーンスイッチアイコン４２０とＬＡＮ列４１２のスイッチアイコン４２０とを接続するラインを表示する必要がない。ただし、他の実施形態として、スイッチアイコン４２０を、以下に記載するＬＡＮ列４１２内の配置と同様に、各ネットワーク長方形に合わせて接続ラインとともに表示することもできる。
【００３１】
ＬＡＮ列４１２には、管理対象システム１１０内にある、ＳＡＮとして定義されないすべてのサブネットワーク（つまり、ＬＡＮ）が縦方向に表示されている。通常、これらサブネットワークにはいくつかのサーバ又は他の計算機が接続されており、実施形態によってはさらにストレージも接続されて、サーバ間の通信、管理対象システム外部にあるクライアント計算機との通信、管理計算機１００との通信等に使用される。これらサブネットワークを定義するとともに、情報システム内の特定のサブネットワークがＬＡＮであるか又はＳＡＮであるかを判定する方法を、以下に示す。
【００３２】
各ＬＡＮアイコン４３０は、ネットワークアドレス識別子４３１持つ長方形のセルを有し、当該サブネットワークを構成するＩＰスイッチ３２０のスイッチアイコン４２０を含んでいる。例えば、ＬＡＮアイコン４３０−１は、ＩＰスイッチ３２０−２〜３２０−４をそれぞれ表すスイッチアイコン４２０−２〜４２０−４を含み、これによって、図３のＬＡＮ３３０−１を表している。同様に、ＬＡＮアイコン４３０−２は、ＩＰスイッチ３２０−５、３２０−６をそれぞれ表すスイッチアイコン４２０−５、４２０−６を含み、これによって、図３のＬＡＮ３３０−２を表している。各ＬＡＮオブジェクトアイコン４３０は、その識別子又は名称として、ネットワークアドレス４３１又はその他英数字の識別子を表示できる。なお、識別子「ｉｐｓｗ２」を有するＩＰスイッチ３２０−２は、図３に示すように、バックボーンネットワーク３１０の一部でありかつＬＡＮ３３０−１の一部でもあるため、ユーザーインターフェース１５０においては、バックボーン列４１１及びＬＡＮ列４１２の両方において、スイッチアイコン４２０−２で表されている。
【００３３】
ユーザーインターフェース１５０内の各ＬＡＮアイコン４３０（及び、後述するＳＡＮアイコン４５０）の高さは、少なくとも部分的には、当該サブネットワークに接続されているサーバ及びストレージの数、及び、後述するように、これらを表す対応するアイコンの数、によって決定される。各ＬＡＮアイコン４３０に対して夫々対応する高さを定義することにより、インターフェース１５０の管理者又は他のユーザーは、左右横方向のビューイング技術を使用して、当該サブネットワークとこのサブネットワークに接続される対応サーバ及びストレージとの関連を容易に認識することができ、表示を垂直方向に調節する必要がない。
【００３４】
計算機列４１３には、計算機ノード（サーバ）アイコン４４０が縦方向に表示されている。好適には、各計算機ノードアイコン４４０は長方形のセルで示され、例えば計算機ノードアイコン４４０−１の場合は「ｓｒｖ１」のように、当該計算機に対する英数字の計算機識別子４４１を含むことができる。計算機ノードアイコン４４０は、出来る限りにおいて、その計算機が接続されている特定ＬＡＮのＬＡＮアイコン４３０に隣接してリストされる。例えば、計算機ノードアイコン４４０−１〜４４０−６は、図３に示すように、ＬＡＮ３３０−１に接続されたサーバ３４０−１〜３４０−６をそれぞれ表わしている。したがって、図４に示すように、計算機アイコン４４０−１〜４４０−６は、ＬＡＮ３３０−１を表すＬＡＮアイコン４３０−１に接続される。同様に、サーバ３４０−７〜３４０−１０を表す計算機ノードアイコン４４０−７〜４４０−１０は、ＬＡＮ３３０−２を表すＬＡＮアイコン４３０に接続される。
【００３５】
ＳＡＮ列４１４には、管理対象システム１１０内の全てのＩＰ又はＦＣ  ＳＡＮを表わすＳＡＮオブジェクトアイコン４５０が含まれる。ＳＡＮは、計算機３４０をストレージノード３７０に接続する、又は、ストレージノード３７０を互いに接続する、ネットワークとして定義されうる。上述したサブネットワークのＬＡＮオブジェクトアイコン４３０と同様、各ＳＡＮオブジェクトアイコン４５０は、上部付近にネットワークアドレスを識別するための英数字のＳＡＮ識別子４５１を有する長方形のセルで表わされる。ＳＡＮアイコン４５０の長方形のセルもまた、ユーザーインターフェース１５０の表示内において、接続された計算機又はストレージノードの数に応じた所定の高さを有しうる。各ＳＡＮアイコン４５０には、ＩＰスイッチアイコン４２０又はＦＣスイッチアイコン４６０が含まれる。例えば、ＳＡＮアイコン４５０−１は、図３のＳＡＮ３５０−１を形成するスイッチ３２０−７及び３２０−８に対応するＩＰスイッチアイコン４２０−７及び４２０−８を含んでいる。同様に、ＳＡＮアイコン４５０−２は、図３のＳＡＮ３５０−２を形成するＦＣスイッチ３６０に対応するＦＣスイッチアイコン４６０を含んでいる。各ＦＣスイッチアイコン４６０は、英数字のＦＣスイッチ識別子４６１を有する長方形のセルで表すことができる。
【００３６】
ストレージ列４１５にはストレージノードアイコン４７０が含まれ、情報システム内のストレージノードを縦方向に表している。好適には、各ストレージノードアイコン４７０は長方形のセルで表され、例えばストレージアイコン４７０−１の場合は「ｓｔｒｇ１」というように、当該ストレージノードを示す英数字のストレージ識別子４７１を含んでいる。図示する例では、ストレージ３７０−１を表すストレージアイコン４７０−１は、ＳＡＮ３５０−１を表すＳＡＮアイコン４５０−１に接続され、これによって、図３に示す関係を表している。同様に、ストレージアイコン４７０−２はＳＡＮアイコン４５０−２に接続され、これによって、図３の、ストレージ３７０−２がＳＡＮ３５０−２に接続されている関係を表している。
【００３７】
サブネットワーク（例えば、ＬＡＮ、ＳＡＮ）とノード（例えば、サーバ、ストレージ）の接続は、ユーザーインターフェース１５０において、水平方向の接続ライン４９０及び階段状の接続ライン４９１で表される。ネットワークオブジェクトアイコン４３０、４５０（つまり、長方形のセル）は、接続されているサーバノードアイコン及び／又はストレージノードアイコンの数に応じて規定される高さで描画されるため、各接続ライン４９０、４９１を明確に描くためのスペースが十分に存在する。これにより、インターフェース１５０の一部のユーザーが、密集して描画されたラインを誤って解釈し、関連の解釈を間違えることから生じるエラーが少なくなる。図の実施形態に示される４種類の接続とは、（ａ）ＬＡＮと計算機、（ｂ）計算機とＳＡＮ、（ｃ）ＳＡＮとストレージ、（ｄ）ＬＡＮとストレージ、の接続である。本実施形態では、計算機ノードとストレージノードとの直接的な（つまり、ＳＡＮを介さない）接続はユーザーインターフェース１５０に表示されず、代わりに、計算機ノードに直接接続されるストレージノードは、それ自体が計算機ノード内の内部ディスクであるかのように扱われる。ただし、他の実施形態として、計算機ノードとストレージノードとの直接的な接続関係をユーザーインターフェース１５０上で表示することもできる。
【００３８】
ネットワークアイコン、ノードアイコン等の各アイコン、又は、接続ライン上に、追加情報を表示することもできる。例えば、可用性管理及び性能管理に役立てるように各アイコンが提供しうる追加情報として、ノードの健康状態、ＯＳタイプ等の構成情報、接続の冗長性、等が含まれる。追加情報は、情報収集モジュール２１０や監視モジュール２０２によって、システムから検索することが出来る。したがって、各スイッチアイコン４２０、４６０、ネットワークアイコン４３０、４５０、計算機アイコン４４０、ストレージアイコン４７０、又は、接続ラインは、そのアイコン等が示す装置の状態を示す状態インジケータ４８０等の状態インジケータを含んでもよい。例えば、関連する装置が適切に機能している場合、状態インジケータ４８０はチェックマークを表示し、また／又は、緑色で表示されてもよい。また、装置が適切に機能していない場合、状態インジケータの色又は形を変えてよく、例えば、計算機アイコン４４０−４の状態インジケータ４８０が示すように、状態インジケータの色を赤色等に変えたり、チェックの代わりに「×」を表示してもよい。また、状態インジケータ４８０は、ある装置がクリティカルレベル付近で機能しているがまだ故障してはいない場合に、黄色に色を変える等して警告レベルを含むようにしてもよい。また、ユーザーインターフェース内の特定のアイコンに他の情報を関連付けてもよく、図４に示す実施形態は、数多くの実現可能な実施形態の一例でしかない。
【００３９】
実施形態の一例が図４に示される本発明のユーザーインターフェース１５０は、本明細書で「トポロジーリスト・ビュー」と呼ぶものにおいて、システムトポロジを表示する。このような特徴が適切である理由は、システム内の接続関係が把握しやすいように本発明のトポロジーがグラフィカルに表示される一方、行と列の格子に合わせてコンポーネントが配置され、トポロジー表示が情報システム内のコンポーネントのリスト又はマトリクスに似ているからである。ユーザーインターフェースは本発明に基づいて配置されるため、表示を水平方向に調節することなく、フロントエンドコンポーネントからバックエンドコンポーネントまですべてを計算機ディスプレイ１０５上で見ることができる。特に、五つの列、つまり、バックボーン列４１１、ＬＡＮ列４１２、計算機列４１３、ＳＡＮ列４１４、及び、ストレージ列４１５はすべて、標準サイズの計算機ディスプレイに読みやすい状態で収まるため、水平スクロールバーを使用しなくても容易に見ることが出来る。また、ユーザーインターフェースにおいて、右側に従来の垂直スクロールバー４９５を備えたり、また／又は、下部のトレイ内等に上／下矢印ボタン４９４を設けることにより、トポロジーの一部がユーザーインターフェースの表示エリア内で見られない場合に、表示されているトポロジーをユーザーが上下、垂直方向に動かすことができるようにしてもよい。
【００４０】
ユーザーインターフェースを生成するためのデータ構造及び処理
【００４１】
本発明の実施形態は、リスト状のグラフィカルトポロジー表示を含む新しいユーザーインターフェースを生成及び表示するものである。このユーザーインターフェースを生成及び表示するためのデータ構造及び処理を次に説明する。
【００４２】
管理対象デバイスの発見及び使用されるモデル
【００４３】
管理対象システム１１０内の各スイッチ、計算機、及び、ストレージデバイスの発見は、トポロジー表示を生成するために初めに行われる。情報システムに含まれるデバイスの情報を収集する従来技術は数多く知られており、その一例として、Ｃｈａｎｇ氏他による米国特許第７，２４９，３４７号があり、同特許は、本記載により本明細書中に組み込まれる。よって、ディスカバリモジュール２０１が実行するステップの詳細は、詳述する必要がない。
【００４４】
管理対象システム１１０に含まれるデバイスがディスカバリモジュール２０１によって発見されると、発見されたデバイスのリストが生成され、このリストには、本発明に基づき生成されるユーザーインターフェースを使用する管理の対象となる、管理対象システム内のすべてのデバイスが表示される。その後、情報収集モジュール２１０は、各デバイスから情報を収集して、ＬＡＮやＳＡＮ等のネットワーク３１０、３３０、３５０と、サーバやストレージ等のノード３４０、３７０との間のすべての接続を判定する。その後、情報収集モジュール２１０は、収集された接続情報及び収集されたデバイス情報を、データベース２３０のテーブル５００、６００、７００、及び、８００を生成することにより、使用可能な形で格納する。各テーブル間の関係及びデータ構造については、図５〜図９を参照しながら、以下に詳しく記載する。
【００４５】
図５Ａ〜図５Ｂは、管理対象システムのシステムトポロジに関連するデータを記憶するためのデータモデル及びＤＢテーブル間関係の例を示している。スイッチ及びノードを発見し、システム内のデバイスから情報を収集した後、管理対象システムのトポロジーは、図５Ａ〜図５Ｂに示すモデルを使用して、分解され、ＤＢ２３０に記憶される。
【００４６】
図５Ａは、管理対象システム内のスイッチとネットワークの関係を識別及び判定するための、ネットワークテーブル５００と、ノードテーブル６００と、コンポーネントテーブル７００の関係を示している。ネットワークテーブル５００は、あるサブネットワークがＬＡＮ又はＳＡＮのどちらに分類されるか等、ネットワークオブジェクトについての情報を記憶する。ノードテーブル６００はノードオブジェクトについての情報を有し、図５Ａのモデルでは、ノードオブジェクトはスイッチに該当する。コンポーネントテーブル７００は、ネットワークと各ネットワークに含まれるスイッチとの間のマッピングを表す情報を記憶する。
【００４７】
図５Ｂは、管理対象システム内の計算機及びストレージノードとネットワークとの関係を識別及び判定するための、ネットワークテーブル５００と、ノードテーブル６００と、接続テーブル８００との関係を示している。ネットワークとそれに接続するサーバ及びストレージのモデルは、ネットワークと、サーバ及びストレージノードとの相互接続を示すテーブルを含む。ネットワークテーブル５００は、ネットワークがＬＡＮ又はＳＡＮのどちらに分類されるか等、ネットワークオブジェクトについての情報を記憶する。ノードテーブル６００は、ノードオブジェクトについての情報を記憶し、このモデルでは、ノードオブジェクトとは計算機又はストレージに該当する。接続テーブル８００は、ネットワークとそれに接続される計算機又はストレージとの間のマッピングに関する情報を記憶する。
【００４８】
ネットワークテーブル
【００４９】
図６は、ネットワークテーブル５００のデータ構造の一例を示している。ネットワークテーブル５００は、管理対象システム１１０内のＬＡＮ及びＳＡＮ両方のレコードを保持している。ネットワークテーブル５００は、ネットワークを識別するための内部ＩＤであるネットワークＩＤエントリ５１０と、ネットワークを識別するためにスクリーン上のユーザーインターフェース内に表示される記述であるネットワーク名エントリ５２０と、当該ネットワークがＩＰ又はＦＣネットワークのどちらであるかを特定するネットワークタイププエントリ５３０と、そのネットワークが本発明に基づきＬＡＮ又はＳＡＮのどちらに分類されるかを特定する表示タイプエントリ５４０と、を含む。例えば、あるＩＰサブネットワークは、ＬＡＮ又はＩＰ  ＳＡＮのどちらかとして使用できる。図６に示す例において、行５９１は、ＩＤ５１０が「Ｎｅｔ１」であり、名称５２０がＩＰアドレス「１０．１０．３３．０」であるネットワークのレコードを表している。ネットワーク「Ｎｅｔ１」は「ＩＰ」ネットワークタイプであり、「ＬＡＮ」として分類されている。行５９２は、「Ｎｅｔ２」と名付けられたネットワークを示しており、「Ｎｅｔ１」と似ているが、異なるＩＰアドレスを名称５２０に持つネットワークである。行５９３もまた、行５９１〜５９２と同様に「ＩＰ」ネットワークを示しているが、このネットワークはＬＡＮではなく「ＳＡＮ」として使用される。また、行５９４は、ＩＰネットワークではなく「ＦＣ」ネットワークのレコードを示している。
【００５０】
ノードテーブル
【００５１】
図７は、ノードテーブル６００のデータ構造の一例を示している。ノードテーブル６００は、スイッチノード３２０、３５０、計算機ノード３４０、及び、ストレージノード３７０に関する情報を保持する。ノードテーブル６００は、ノードを識別するために使用される内部識別子を表示するノードＩＤエントリ６１０と、ノードを識別するためにユーザーインターフェース１５０内に表示される記述を提供する名称エントリ６２０と、ノードがスイッチ、計算機（例えば、サーバ）、又は、ストレージノードのいずれであるかを特定するためのノードタイプエントリ６３０と、を含んでいる。例えば、行６９１は、ノード内部ＩＤ６１０が「Ｎｏｄｅ１」であり、ノード名６２０が「ｉｐｓｗ１」である「スイッチ」ノードのレコードを示している。同様に、行６９２は「サーバ」ノードのレコードであり、行６９３は「ストレージ」ノードのレコードである。
【００５２】
コンポーネントテーブル
【００５３】
図８は、コンポーネントテーブル７００のデータ構造の一例を示している。コンポーネントテーブル７００は、ネットワーク内のスイッチの構成を表している。コンポーネントテーブル７００は、コンポーネントを識別するのに使用される内部識別子を提供するコンポーネントＩＤエントリ７１０と、当該コンポーネントに含まれるノードに対応するネットワークのＩＤを提供するネットワークＩＤエントリ７２０と、当該コンポーネントに含まれるノードを識別するノードＩＤ７３０と、を含んでいる。例えば、行７９１は、ＩＤが「Ｃｍｐ１」であるコンポーネントのレコードを表しており、「Ｎｏｄｅ１」で識別されるノードは、ネットワークＩＤが「Ｎｅｔ１」であるネットワーク内のコンポーネントであることを示している。同様に、行７９２は、コンポーネント「Ｃｍｐ２」のレコードであり、「Ｎｏｄｅ４」として識別されるノードもネットワーク「Ｎｅｔ１」内のコンポーネントであることを示している。行７９３は、コンポーネント「Ｃｍｐ３」のレコードであり、「Ｎｏｄｅ１０」で識別されるノードが、ネットワーク「Ｎｅｔ２」のコンポーネントであることを示している。したがって、コンポーネントテーブルにより、ネットワークテーブル５００内で識別されたサブネットワークと、当該識別されたネットワークに含まれかつノードテーブル６００内で識別されたノードとが関連付けられる。
【００５４】
接続テーブル
【００５５】
図９は、接続テーブル８００のデータ構造の一例を示している。接続テーブル８００は、ネットワークとサーバ及びストレージノードとの間の接続を表している。接続テーブル８００は、接続を内部で識別するのに使用される接続ＩＤエントリ８１０と、対応するノードが接続されているネットワークを識別するネットワークＩＤエントリ８２０と、当該ネットワークに接続されるノードを識別するノードＩＤエントリ８３０と、当該ネットワークと当該ノードとの間の接続数を示す接続数８４０と、を含んでいる。例えば、行８９１は、接続ＩＤが「Ｃｎｃｔ１」である接続のレコードであり、ノードＩＤが「Ｎｏｄｅ５」であるノードがネットワーク「Ｎｅｔ１」に接続されていることを示している。接続が重複している場合、そのことを接続数８４０の列に表示することができる。いくつかの実施形態では、例えば、ポップアップダイアログで接続の重複を表示してもよく、管理者が対応する関連ラインを選択すると、スクリーン上にポップアップダイアログが表示されるようにしてもよい。
【００５６】
ノード情報の収集とノード接続判定
【００５７】
上述したように、情報収集モジュール２１０は、管理対象システム内の各デバイスから情報を収集し、ネットワークとノードの接続関係を判定する。情報収集モジュールは、収集された情報をデータベース２３０に格納し、テーブル５００〜８００を作成する。情報収集モジュール２１０は、ディスカバリモジュール２０１によって発見されかつ管理対象システム１１０内に存在すると確認されたデバイスのリストを有するため、情報収集モジュール２１０は、システム内の各デバイスから様々な状態及び属性（例えば、ＩＰアドレス、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）、ポートＷＷＮ等のネットワークアドレスに関する情報）を取得することができる。情報収集は、ＷＭＩ（Ｗｉｎｄｏｗｓ（登録商標）  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ）、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）、ＳＭＩ−Ｓ（Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｉｔｉａｔｉｖｅ  −  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、又は、ベンダー独自の特定デバイス用インターフェース等、標準的なインターフェースを使用して実行することができる。また、情報収集モジュールは、ＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）を使用してシステム内のサーバにログオンし、サーバから情報を取得することができる。
【００５８】
各ノードからネットワーク関連情報を収集した後、情報収集モジュール２１０は、システム内のサブネットワーク及び当該サブネットワークを構成するノードがＬＡＮ又はＳＡＮのどちらに分類されるかを、収集された情報に基づき判定する。いくつかの実施形態では、例えば、ある複数のスイッチが異なるサブネットアドレスを有する場合は、これらスイッチが別々のサブネットワークの一部として（つまり、異なるＬＡＮを構成するものとして）識別される。例えば、図３では、ＬＡＮ３３０−１のサブネットアドレスが１０．１０．３３．０であり、ＬＡＮ３３０−２のサブネットアドレスが１０．２０．３３．０である。他の方法によりＬＡＮ内のスイッチを分類することも可能である。まず始めに、ＩＰネットワークをＬＡＮとして分類し、ＦＣネットワークをＳＡＮとして分類してもよい。その後、情報収集モジュール２１０が、ＬＡＮとして分類されるＩＰネットワークの中に、実際はＩＰ  ＳＡＮとして使用されているものがないかチェックする。
【００５９】
図１０は、ＩＰネットワークがＬＡＮ又はＩＰ  ＳＡＮのどちらに分類すべきか判定するための処理の一例を示している。ここで使用される基本的なルールは、ＩＰネットワークにストレージデバイスが接続され、また、接続されたサーバ各々が他方で別のＬＡＮに接続されている場合、このようなＩＰネットワークをＳＡＮとして分類する、というものである。
【００６０】
ステップ１０００：上述したように、識別された各ＩＰネットワークは、管理対象システム内のノードから収集された情報に基づき、初めはＬＡＮとして分類される。
【００６１】
ステップ１０１０：処理は、リストからＬＡＮを選択し、このＬＡＮをＳＡＮとして再分類すべきかを判断する。システム内で識別されたすべてのＬＡＮがチェック済みになると、処理が終了する。
【００６２】
ステップ１０２０：ストレージノード３７０から収集した情報にしたがい、選択されかつ現在評価中であるＬＡＮに接続されているストレージデバイスがあるかチェックする。一つ以上のストレージノードが当該ＬＡＮに接続されている場合、処理はステップ１０３０へ進み、そうでない場合はステップ１０１０へ戻り、次のＬＡＮを選択して調査する。
【００６３】
ステップ１０３０：管理対象システム内の計算機ノードから収集した情報にしたがい、評価中のＬＡＮに接続されている計算機ノードを識別する。
【００６４】
ステップ１０４０：ステップ１０３０で識別された計算機ノードを一つ選択する。すべての計算機ノードが調査済みである場合、これは、調査された各サーバが別のＬＡＮにも接続されていることを意味するので、現在評価中のＬＡＮはＳＡＮとして分類でき、処理はステップ１０６０へ進み、そうではない場合、つまり、ステップ１０３０で識別されたすべての計算機ノードが調査済みという訳ではない場合は、処理はステップ１０５０へ進む。
【００６５】
ステップ１０５０：ステップ１０４０で選択された計算機ノードが、評価中のＬＡＮへの接続の他に別のＬＡＮにも接続されている場合、処理はステップ１０４０へ戻り、次の計算機ノードを調査する。これに対し、調査中のサーバが、選択された調査中のＬＡＮにのみ接続されていることが分かった場合、調査中のＬＡＮは、ＳＡＮではなくＬＡＮ（つまり、通信ネットワーク）として動作するものとしてみなされるため、残りの計算機ノードを調査する必要がなく、当該ＬＡＮはそのままＬＡＮとして分類された状態で、処理はステップ１０１０へ進み、次のＬＡＮを選択して評価する。
【００６６】
ステップ１０６０：評価中のＬＡＮに接続されている各計算機ノードが、別のＬＡＮにも接続されていると判定されると、ステップ１０１０で選択されたＩＰネットワークはＳＡＮとして分類され、処理はステップ１０１０へ戻って次のＬＡＮをチェックする。また、管理対象システム内のＩＰネットワークをＬＡＮ又はＳＡＮに分類しやすくするため、ユーザーインターフェースを提供して、ＩＰネットワークの用途がＳＡＮ又はＬＡＮのどちらであるかを管理者が直接分類できるようにしてもよい。
【００６７】
上述した方法を通して、管理対象システム内のノード及びネットワークが識別され、接続タイプ及びネットワークタイプが判定される。その後、情報収集モジュール２１０は、この情報をデータベース２３０に記憶する。管理対象システム内のサーバ、スイッチ、及び、ストレージから取得した情報に基づき、情報収集モジュールは、ノードテーブル６００上に新たなレコードを作成し、情報を記憶する。また、識別されたＬＡＮ／ＳＡＮネットワーク情報に基づき、情報収集モジュール２１０は、収集されかつ判定された情報を使用して、ネットワークテーブル５０上に新たなレコードを作成する。さらに、情報収集モジュールは、スイッチ３２０、３５０がどのネットワークに属するかに基づいてコンポーネントテーブル７００上に新たなレコードを作成するとともに、各計算機３４０又はストレージ３７０がどのネットワークに属するかに基づいて接続テーブル８００上に新たなレコードを作成する。
【００６８】
ディスカバリ及びデータ収集処理が完了すると、管理対象システムの全トポロジー情報がデータベース２３０に記憶されたことになる。ディスプレイ１０５上にトポロジーリスト・ビューを表示する要求が管理者から出されると、トポロジー表示モジュール２２０は、データベース２３０からオブジェクト及び接続情報を抽出し、抽出した情報を使用して、データベースから抽出した情報に基づく管理対象システムのトポロジーリスト・ビューを有するユーザーインターフェース１５０を作成する。
【００６９】
トポロジーリスト・ビュー作成の処理
【００７０】
データベースに記憶されたシステムトポロジー情報に基づいてユーザーインターフェース内にトポロジーリスト・ビューを作成し表示するステップについて、以下に記載する。後述するように、これらの処理はトポロジー表示モジュールによって実施される。図１１は、トポロジーリスト・ビューを有するユーザーインターフェースを生成するために行われる全体的な処理を示している。
【００７１】
ステップ１１００：トポロジー表示モジュール２２０は、データベース２３０にクエリを送信して、ネットワークとノードの接続情報を抽出し、結合接続データ１３００と呼ばれる一時データを構成する。このデータは、ＬＡＮから計算機ノード、ＳＡＮ、ストレージノードまでの間の接続が連結されたデータであり、図１３に示すように、システム内のすべての接続に関する全体的なエンドツーエンドトポロジーが、一つのテーブル又はマトリクス内で結合されている。また、本ステップ中、スクリーン上に描画されるコンポーネントの順序を制御するため、データの行を作成及びソートしてもよい。
【００７２】
ステップ１１１０：結合接続データ１３００を行ごとに読み出し、メモリ上にオブジェクト（ＬＡＮ／サーバ／ＳＡＮ／ストレージ）インスタンスを生成する。これと同時に、各ネットワークオブジェクトに対してどれくらいの数のノードオブジェクトが接続されているかをカウントする。その後、このカウント値を、トポロジーリスト・ビュー内に描画されるネットワークオブジェクトの高さを決定するために使用することができる。
【００７３】
ステップ１１２０：表示されたインターフェースの上部から下に向かって、ネットワーク及びノードオブジェクトをレイアウトする。オブジェクトを各行にレイアウトするに際し、トポロジー表示モジュール２２０は、図４に示す構成のように、ネットワーク及びそれに接続するノードをトポロジーリスト・ビュー内に配置し、オブジェクトを高密度に配置するのではなく水平方向のビューイングを可能にすることで、見やすさを実現する。
【００７４】
ステップ１１３０：ネットワークとそれに接続されるノードの間に接続ラインを作成する。
【００７５】
ステップ１１４０：バックボーンネットワーク、ＬＡＮ、及び、ＳＡＮ内に存在するスイッチをレイアウトする。
【００７６】
結合接続データを作成
【００７７】
本例では、バックボーンネットワーク内のスイッチは、他のトポロジーから独立して、全体の処理の最後に描画される。したがって、まず、ＬＡＮ＝サーバ＝ＳＡＮ＝ストレージのトポロジーが作成される。
【００７８】
本実施形態では、以下に記載するように、情報システム内の四つの基本層について、八つの基本トポロジータイプを描画することができる。
１  ＬＡＮ＝サーバ＝ＳＡＮ＝ストレージがすべて、エンドツーエンドで接続。
２  ＬＡＮ接続がなく、サーバ＝ＳＡＮ＝ストレージ接続のみ。
３  ストレージ接続がなく、ＬＡＮ＝サーバ＝ＳＡＮ接続のみ。
４  ＬＡＮ＝サーバ接続
５  サーバ＝ＳＡＮ接続
６  ＳＡＮ＝ストレージ接続
７  ＬＡＮ＝ストレージ接続
８  サーバ＝ストレージ接続
【００７９】
図１２は、これら八つのトポロジー接続タイプをマトリクス形式で示している。トポロジーパターンテーブル１２００には、タイプエントリ１２１０、ＬＡＮ列１２２０、サーバ列１２３０、ＳＡＮ列１２４０、及び、ストレージ列１２５０が含まれる。したがって、行１２９１〜１２９８は、上述した八つのトポロジー接続例１〜８にそれぞれ対応しているように見える。この処理では、上述したタイプに一致する各接続を抽出するようにデータベース２３０にクエリを出し、各接続を一つのマトリクスに結合することによって、情報システム内の四つの基本層についてエンドツーエンド接続データを生成し、その後、エンドツーエンド接続データを結合してマトリクス又は他の形式に表示して、ユーザーインターフェースのトポロジーリスト・ビュー上で描画されるべきシステム内の各トポロジー構成を保持する。本明細書では、生成された一時データを結合接続データ１３００と呼び、同データは、図１３のマトリクスに示すように、マトリクス、テーブル、アレイ、又はその他で表されてよく、図３に示す例示的な管理対象システムに基づく例示的なエントリを有する。
【００８０】
結合接続データ１３００を生成するためにデータベース２３０に送るクエリは、上述した八つの接続タイプをそれぞれ要求するクエリから構成される。例えば、接続タイプ＃４（つまり、ＬＡＮ＝サーバ接続タイプ）のレコードは、以下のサーチクエリにしたがって情報を選択することにより、収集される。
Table:Network.NetworkID =
Table:Connection.NetworkID         and
Table:Node.NodeID = Table:Connection.NodeID
and
Table:Network.DisplayType = ‘LAN’and
Table:Node.NodeType =‘Server’
【００８１】
上記において、「Ｔａｂｌｅ：Ｎｅｔｗｏｒｋ」、「Ｔａｂｌｅ：Ｎｏｄｅ」、及び、「Ｔａｂｌｅ：Ｃｏｎｎｅｃｔｉｏｎ」は、図６、図７、及び、図９に関連してそれぞれ記載したネットワークテーブル５００、ノードテーブル６００、及び、接続テーブル８００、並びに、これらテーブル内の各種エントリに相当する。
【００８２】
ＬＡＮ＝サーバ接続に対するクエリに対して、図１２に関連して記載したように上記式を［ＬＡＮ、サーバ、ＳＡＮ、ストレージ］のフォーマットにしたがい使用して結果を得ると、［（ＬＡＮ名）、（サーバ名）、ＮＵＬＬ、ＮＵＬＬ］（つまり、各列において空白スペースは「ＮＵＬＬ」というエントリを受け取る）という値が記載されたレコードが作成される。したがって、上記と同じ態様で、既述の七つの接続タイプをそれぞれ収集するように各クエリを送信することにより、一式の完成レコードが得られる）。クエリステートメント上では、これらレコードが、「ＵＮＩＯＮ」（"UNION”）（例えば、タイプ＃１の接続を収集するためのクエリ）ＵＮＩＯＮ（タイプ＃２の接続を収集するためのクエリ）ＵＮＩＯＮ、（タイプ＃８の接続を収集するためのクエリ）によって連結される。クエリの間、実行結果レコードが英数字順にソートされる。この段階でそのようなソートを行うことにより、同一のネットワークオブジェクトが順に示され、それによって、一つの場所にレイアウトしやすくなり、また、ユーザーが所望のアイテムを読みやすくかつ見つけやすくなる。ソートは、左側の列を優先することで左から右へ行うことができ、始めにＬＡＮ名、次にサーバ名、その次にＳＡＮ名、最後にストレージ名によってソートする。ソート中、「ＮＵＬＬ」というエントリは低い優先度で処理される。
【００８３】
図１３は、結合接続データ１３００を作成するために生成されマトリクス内に結合された、接続データの一例を示している。レコードには、接続タイプに応じて、実際のＬＡＮ名、サーバ名、ＳＡＮ名、及び、ストレージ名が記載される。したがって、システム内の各層のコンポーネント（ＬＡＮ、計算機ノード、ＳＡＮ、及び、ストレージノード）すべてのエンドツーエンド接続が、結合接続データ１３００内にリストされる。空白のスペースには、ＮＵＬＬという値が記載される。例えば、行１３９１は、接続タイプ＃１に一致する。例えば、第１のレコードは、ＬＡＮ「１０．１０．３３．０」にはサーバ「ｓｒｖ１」が接続され、このサーバ「ｓｒｖ１」がＳＡＮ「１９２．１６８．１１．０」にも接続し、このＳＡＮにストレージ「ｓｔｒｇ１」が接続されていることを示している。一方、行１３９５は、接続タイプ＃６に一致しており、最後のレコードは、ストレージ「ｓｔｒｇ１１」がＳＡＮ「Ｆａｂｒｉｃ−５」に接続しているが、サーバやＬＡＮへの接続は現時点では見つからない又は存在しないことを示している。なお、実際には、実施形態によって、接続タイプ＃３（ＬＡＮ＝サーバ＝ＳＡＮ）及び接続タイプ＃５（サーバ＝ＳＡＮ）が存在しないこともあり、これは、ストレージが取り付けられていない状態では通常、ＳＡＮは存在しないものとされるからである。また、上述したように、接続タイプ＃８（サーバ＝ストレージ）は、接続されたストレージが当該計算機ノードの内部ストレージと同じである、として扱われるため、既述の実施形態におけるユーザーインターフェースには表示されない。以下に記載する処理では、結合接続データ１３００を使用することにより、管理計算機のメモリ上に各トポロジー表示を作成し、また、ディスプレイ１０５上にオブジェクト及び接続ラインを描画及び表示して、トポロジーリスト・ビュー１５０を有するユーザーインターフェースを作成する。
【００８４】
オブジェクトインスタンスの生成
【００８５】
トポロジー表示モジュールは、結合接続データ１３００から作成されたマトリクスの上から順にレコードを一つずつ読み出すことによって、メモリ１０２上にネットワーク又はノードオブジェクトインスタンスを生成することができる。本処理の目的は、オブジェクトインスタンスを生成し、各ネットワーク（つまり、ＬＡＮ及びＳＡＮ）に接続されているノード（つまり、サーバ及びストレージ）の数をカウントすることである。
【００８６】
図１４は、メモリ１０２上に一時的に記憶されている、ネットワーク及びノードオブジェクトのデータ構造の一例を示している。また、各オブジェクトインスタンスは、例えば、ＬＡＮオブジェクト１４１０のインスタンス用のＬＡＮオブジェクトアレイ１４１９、ＳＡＮオブジェクト１４２０のインスタンス用のＳＡＮオブジェクトアレイ１４２９、サーバオブジェクト１４３０のインスタンス用のサーバオブジェクトアレイ１４３９、及び、ストレージオブジェクト１４４０のインスタンス用のストレージオブジェクトアレイ１４４９等、各アレイ内のアレイ変数として記憶されてよい。
【００８７】
各ＬＡＮオブジェクトインスタンス１４１０は、ネットワークを識別するためにユーザーインターフェース上に表示される記述である名称１４１１と、当該ＬＡＮオブジェクトが描画され始める行番号である開始行番号）１４１２と、当該ＬＡＮオブジェクト１４１０に接続されているサーバオブジェクト名又はストレージオブジェクト名のいずれかをリストするアレイ型変数である接続ノード１４１３と、を含んでいる。このアレイの順序は、サーバオブジェクト及び／又はストレージオブジェクトを描画する際に参照される。ＬＡＮオブジェクト１４１０はまた、当該ＬＡＮオブジェクトがレイアウト又は再配置されたか（を示すレイアウト状態１４１４を含み、その状態としては、「初期状態」、「レイアウト済み」、「固定」の３タイプがある。「初期状態」は、オブジェクトがまだレイアウトされていないことを示し、「レイアウト済み」は、オブジェクトがレイアウトされたが、レイアウトを最適化するために再配置されうることを示し、「固定」は、オブジェクトがレイアウト済みでありかつ最適化中であっても再配置されるべきではないことを示している。
【００８８】
各ＳＡＮオブジェクトインスタンス１４２０は、ネットワークを識別するためにユーザーインターフェースに表示される記述である名称１４２１と、当該ＳＡＮオブジェクトが描画され始める行番号である開始行番号１４２２と、当該ＳＡＮに接続されているサーバのサーバオブジェクト名をリストするアレイ型変数である接続サーバ１４２３であって、このアレイの順序はサーバを描画する順番を決める際に使用される、接続サーバ１４２３と、当該ＳＡＮに接続されているストレージのストレージオブジェクト名をリストするアレイ型変数である接続ストレージ１４２４と、当該ＳＡＮオブジェクトがレイアウト又は再配置されたかを示すレイアウト状態１４２３と、を含んでいる。
【００８９】
各サーバオブジェクトインスタンス１４３０は、サーバを識別するためにユーザーインターフェースに表示される記述である名称１４３１と、当該サーバオブジェクトが描画される行番号である行番号１４３１と、当該サーバオブジェクトがレイアウト又は再配置されたかを示すレイアウト状態１４３３と、当該サーバから複数の異なるＬＡＮに複数の接続ラインが描画される際に使用されるオフセット値である左側オフセット１４３４と、当該サーバから異なるＳＡＮに複数の接続ラインが描画される際に使用されるオフセット値である右側オフセット１４３５と、を含んでいる。これらオフセットについて、図面の説明もまじえて、以下に説明する。
【００９０】
各ストレージオブジェクト１４４０は、ストレージを識別するためにユーザーインターフェースに表示される記述である名称１４４１と、当該スレージオブジェクトが描画される行番号である行番号１４４２と、当該ストレージオブジェクトがレイアウト又は再配置されたかを示すレイアウト状態１４４３と、当該ストレージオブジェクトから複数の異なるＬＡＮ又はＳＡＮに複数の接続ラインが描画されている際に使用されるオフセット値である左側オフセット１４４４と、を含んでいる。
【００９１】
図１５は、オブジェクトインスタンス生成を行うための処理の一例を示している。図１５で使用される「ＬＡＮ．接続ノード」という表現は、ＬＡＮオブジェクトインスタンス１４１０の接続ノード１４１３と名付けられたアレイ変数を指している。同様に、「ＳＡＮ．接続サーバ」及び「ＳＡＮ．接続ストレージ」という表現は、ＳＡＮオブジェクトインスタンス１４２０のアレイ変数である、接続サーバ１４２３及び接続ストレージ１４２４をそれぞれ指している。
【００９２】
ステップ１５００：結合接続データからあるレコードを選択する。例えば、図１３に示しかつ上述したように、結合接続データ１３００は、ソートされたマトリクス又はテーブルとして編成されてよく、レコードは、一番上の第１レコードから始めて、下に向かって順番に選択するようにしてもよい。すべてのレコードが処理済みになると処理が終了し、そうでない場合は、ステップ１５０５に進む。
【００９３】
ステップ１５０５：選択されたレコードについて、ＬＡＮ情報、ＳＡＮ情報、サーバ情報、又は、ストレージ情報が発見されると、処理はステップ１５１０へ進む。レコード内の発見されたすべての情報を処理し終えると、処理はステップ１５２０へ進む。
【００９４】
ステップ１５１０：発見されたＬＡＮ、ＳＡＮ、サーバ、又は、ストレージ情報が既にオブジェクトインスタンスとして生成されたかをチェックする。当該ＬＡＮ、ＳＡＮ、サーバ、又は、ストレージ情報についてオブジェクトインスタンスが既に生成されている場合、処理はステップ１５０５に戻り次の情報を処理し、オブジェクトインスタンスが既に存在しない場合は、ステップ１５１５へ進む。
【００９５】
ステップ１５１５：オブジェクトインスタンスが既に存在しない場合に、（図１４に関連して上述したように、）処理中のＬＡＮ、ＳＡＮ、サーバ、又は、ストレージ情報に対して、新たなオブジェクトインスタンスを生成する。これを行うには、処理は、オブジェクトインスタンスにおいて、名称１４１１、１４２１、１４３１、又は１４４１を設定し、生成されたオブジェクトインスタンスをアレイ変数に追加する。
【００９６】
ステップ１５２０：ステップ１５００で選択されたレコードがサーバ情報を有し、そのサーバ情報が新たなサーバインスタンスである場合（つまり、ステップ１５１５においてサーバオブジェクトインスタンスが生成された場合）、当該サーバがＬＡＮに接続されているか（つまり、レコード内にＬＡＮも発見されるか）判定する。もし接続されていれば、処理はステップ１５２５に進み、そうでなければ、ステップ１５３０へ進む。
【００９７】
ステップ１５２５：新たなサーバオブジェクトインスタンスの名称を、レコード内で発見されたＬＡＮインスタンスの接続ノードアレイ１４１３に追加する。
【００９８】
ステップ１５３０：ステップ１５００で選択されたレコードがサーバ情報を有し、このサーバ情報が新たなサーバインスタンスである場合（つまり、ステップ１５１５でサーバオブジェクトインスタンスが生成された場合）、当該サーバがＳＡＮに接続されているか（つまり、レコード内にＳＡＮも発見されるか）判定する。接続されている場合、処理は１５３５へ進み、そうでない場合は、ステップ１５４０へ進む。
【００９９】
ステップ１５３５：新たなサーバオブジェクトインスタンスの名称を、レコード内で発見されたＳＡＮインスタンスの接続サーバレイ１４２３に追加する。
【０１００】
ステップ１５４０：ステップ１５００で選択されたレコードがストレージ情報を有し、このストレージ情報が新たなストレージインスタンスである場合（つまり、ステップ１５１５でストレージオブジェクトインスタンスが生成された場合）、当該ストレージがＬＡＮに接続されているか（つまり、レコード内にＬＡＮも発見されるか）判定する。接続されていれば、処理はステップ１５４５へ進み、そうでない場合は、ステップ１５５０へ進む。
【０１０１】
ステップ１５４５：新たなストレージオブジェクトインスタンスの名称を、レコード内で発見されたＬＡＮインスタンスの接続ノードアレイ１４１３に追加する。
【０１０２】
ステップ１５５０：ステップ１５００で選択されたレコードがストレージ情報を有し、このストレージ情報が新たなストレージインスタンスである場合（つまり、ステップ１５１５でストレージオブジェクトインスタンスが生成された場合）、当該ストレージがＳＡＮに接続されているか（つまり、レコード内でＳＡＮも発見されるか）判定する。接続されていれば、処理はステップ１５５５へ進み、そうでない場合は、ステップ１５００へ戻る。
【０１０３】
ステップ１５５５：新たなストレージオブジェクトインスタンスの名称を、レコード内で発見されたＳＡＮインスタンスの接続ストレージアレイ１４２４に追加する。
【０１０４】
オブジェクトのレイアウト及び描画
【０１０５】
図１６Ａ〜１６Ｃは、本発明の好適な実施形態における、オジュジェクトのレイアウト及び描画の基本的なルールを示している。図示する実施形態では、ユーザーインターフェース１５０内の各オブジェクトの行の位置は、図１５のオブジェクトインスタンス生成から決定された順番に基づいて、また、図１３に示すソートされた結合接続データ１３００のようなソートされた結合接続データに基づいて、決定することができる。よって、ノード又はネットワークのオブジェクトアイコンは、基本的に、各列４１１、４１２、４１３、４１４、４１５の上から下に向かって順番に描画されうる。各列４１１、４１２、４１３、４１４、４１５において、次のブジェクトが描画される行位置を示すポインタとして、行位置ポインタを保持してもよい、図１６Ａに示すように、例えば、計算機列４１２の下には、均一の高さを有する複数の行１６１５がある。行位置ポインタ１６４０は、この列において、オブジェクトアイコンが描画されうる次の行１６１５を示している。「行位置」は、以下に記載する処理の説明において、各行位置ポインタの変数の名称として使用される。
【０１０６】
また、ユーザーインターフェース１５０での表示用に各オブジェクトのアイコンを効率良くレイアウトして、表示内の密度を増加しかつ無駄なスペースを最小限にするとともに、その一方で、管理対象システム内のオブジェクト間の対応関係及び接続を明確かつ分かりやすく表示するために、レイアウトの最適化が必要である。トポロジーのレイアウトの最適化処理は、オブジェクトを行ごとに配置する間に実行するのが好ましい。例えば、まず最後の行にオブジェクトを配置した後、レイアウト最適化を実行することができる。例えば、接続されたオブジェクトアイコンを一行以上分下へ移動させることによって、階段状のラインを位置合わせして直線ラインを形成できるかチェックする。この再位置合わせを行うのは、本発明の前提に、ユーザーがトポロジー内の各種オブジェクト間の対応を迅速に把握し、かつ、インターフェース内の無駄なスペースを最小限にとどめるためには、ネットワークとノード間を直線ラインで接続するのが一番良い表示形式である、ということがあるからである。
【０１０７】
図１６Ｂに示すように、オブジェクトの移動は、通常、一つ以上のオブジェクトを下へ移動させることによってのみ実行される。オブジェクト移動の前に、当該オブジェクトの下に他のオブジェクトが既に配されていないかチェックする。ただし、複数回に渡ってオブジェクトを下へ移動させると、表示されたユーザーインターフェース１５０内にオープンスペース又は無駄なスペースが大きくできてしまい、ユーザーがシステムトポロジを見にくくなってしまう。したがって、本実施形態では、最適化及び位置合わせのための移動は、各オブジェクトにつき一度に限定し、その後は、当該オブジェクトのレイアウト状態を「固定」に設定する。例えば、図１６Ｂにおいて、サーバオブジェクトアイコン４４０は、最適化以前は、１６１１に示すように階段状ラインによってＬＡＮ４３０に接続されていた。最適化後は、サーバ４４０が下に移動され、直線ライン１６１２によってＬＡＮオブジェクトアイコン４３０に接続されている。
【０１０８】
図１６Ｃは、本発明の実施形態において、オブジェクトアイコンをレイアウトするための固定列と可変数の行１６１５からなる格子をどのように使用すると、直線ライン接続が高密度トポロジー表示を提供できる場合に、接続されたアイコンが同じ行に置かれるかを示している。したがって、互いに接続された異なる層のオブジェクト（ＬＡＮ、計算機ノード、ＳＡＮ、ストレージノード）をそれぞれ表すアイコン４３０、４４０、４５０、及び、４７０が同じ行１６１５に位置合わせされるため、ユーザーインターフェースを水平方向で見ることでオブジェクト間の接続を簡単に見ることができ、ユーザーインターフェースを垂直方向にスクロールする必要がない。ユーザーインターフェース１５０にレイアウトされたアイコンのトポロジーは、結合接続データ１３００内で識別されるエンドツーエンド接続に基づいているため、アイコンをマトリクス状に配置することができる。図示する実施形態では、行の高さは、計算機ノードアイコン及びストレージノードアイコンの高さに対応している。上述したように、ＬＡＮアイコン及びＳＡＮアイコンの高さは、接続された計算機及び／又はサーバノードの数に対応している。例えば、図１６Ｃに示すように、ＬＡＮアイコン４３０ａは、行の高さの整数倍に相当する高さを有するとともに、ＬＡＮアイコン４３０ａがレイアウトされた行には、三つのサーバノード４４０ａ、４４０ｂ、４４０ｃがレイアウトされている。層タイプ列４１１、４１２、４１３、４１４、及び、４１５それぞれに対して行位置ポインタ１６２０、１６３０、１６４０、１６５０、及び、１６７０が設けられ、各アイコンを配することができる次の使用可能な行１６１５を示している。
【０１０９】
さらに図１６Ｃに示すように、ＬＡＮがＳＡＮ無しにストレージに接続されている場合は、特殊な最適化が行われる。ＬＡＮアイコンからストレージアイコンに接続がある場合、接続ラインが計算機列４１３及びＳＡＮ列４１４の両方をまたぐため、レイアウトを他のケースとは少し異なる態様で扱う必要がある。図示するように、サーバイコン４４０ａ、４４０ｂ、４４０ｃ、ＳＡＮアイコン４５０ａ、及び、ストレージアイコン４７０ａ、４７０ｂを含む、第１ＬＡＮアイコン４３０ａに接続されるオブジェクトがレイアウトされたと仮定する。次に、レイアウトされる次のＬＡＮ４３０ｂが、サーバ又はＳＡＮ無しに、ストレージ４７０ｃに接続されているとする。この時、ストレージ４７０ｃに接続されているＬＡＮ４３０ｂは、最も下に位置するサーバ４４０ｃ又は最も下に位置するＳＡＮオブジェクト４５０ａのどちらか低い方の下にレイアウトされなければならない。また、ＬＡＮ行位置ポインタ１６３０は、次のＬＡＮ４３０ｃを配置するのに使用可能な、ＬＡＮ列４１２の次の行へ移動される。ＳＡＮ列４１４の行位置ポインタ１６５０もまた、レイアウト対象となる次のＳＡＮ４５０ｂが存在する場合に備えて、上記と同じ行へ移動する必要がある。その後、ストレージオブジェクトアイコン４７０ｃ又はサーバオブジェクト４４０ｄが、図１６ｃに示すように、最下位のサーバ又はＳＡＮオブジェクトの行の下の行に配置される。この移動ルールに従えば垂直方向の間隔が十分に維持されるため、図示するように、ＬＡＮ４３０ｂからストレージ列４１５のストレージ４７０ｃへの接続ライン１６１４を描画することができる。なお、接続ライン１６１４を説明用に表示しているが、本実施形態では、後述するように、接続ラインの決定及び作成はこの段階では行われず後で行われる。また、後述するように、バックボーンスイッチ並びにＬＡＮ及びＳＡＮ内のスイッチ等、スイッチアイコンのレイアウトも後で行われる。さらに、ストレージ列４１５のストレージ行位置ポインタ１６７０は、最新のストレージオブジェクト４７０ｃの下で、かつ、ＬＡＮ列４１２とストレージ列４１５との間に描画されうるサーバオブジェクト４４０ｄ又はＳＡＮオブジェクトいずれかの下へ移動される。同様に、計算機列の計算機行位置ポインタ１６４０も、直近で描画されたサーバ４４０ｄの下に位置する、次の行へと移動される。
【０１１０】
したがって、本発明のユーザーインターフェースにオブジェクトをレイアウト及び描画することは、図１６ｃに示すように、結合接続データ１３００からレコードを取得するとともに、所定の複数列と各列における次に使用可能な行とに合わせてオブジェクトをレイアウトすること、を含んでいる。初めのレイアウトは結合接続データ１３００にしたがって順次行われ、図１６Ｂに示すように、各オブジェクトがレイアウトされるごとに当該レイアウトの最適化が行われる。ＬＡＮ＝ストレージ接続タイプは、図１６Ｃに関連して上述したようにレイアウトされる。
【０１１１】
図１７Ａ〜図１７Ｅは、トポロジー表示モジュール２２０によって行われる、上述のオブジェクトレイアウトを実行するためのオブジェクトレイアウト生成の処理の一例を示している。
【０１１２】
ステップ１７００：行位置変数１６２０、１６３０、１６４０、１６５０、１６７０を初期化する。
【０１１３】
ステップ１７１０：結合接続データ１３００からレコードを順に選択する。結合接続データ内のレコードがすべて処理されると、処理はステップ２１００（図１７Ｅ）へと進み、オブジェクト描画を行う。
【０１１４】
ステップ１７２０：選択されたレコード内にどのオブジェクト（例えば、ＬＡＮ、サーバ、ＳＡＮ、及び／又はストレージ）が存在するか判断する。
【０１１５】
ステップ１７３０：各アレイ変数から対応するインスタンスを取得する。
【０１１６】
ステップ１７４０：接続タイプがＬＡＮ＝ストレージである場合、処理はステップ１９００（図１７Ｃ）へ進み、そうでない場合は、ステップ１７５０へ進む。
【０１１７】
ステップ１７５０：ＬＡＮが存在しそのレイアウト状態１４１４が「初期状態」（つまり、まだレイアウトされていない状態）であれば、処理はステップ１７６０へ進んで当該ＬＡＮをレイアウトし、そうでない場合、つまり、当該ＬＡＮが既にレイアウト済みであれば、処理はステップ１８１０へ進む（図１７Ｂ）。
【０１１８】
ステップ１７６０：ＬＡＮの開始位置である、ＬＡＮ．開始行番号を、ＬＡＮ列４１２内の行位置ポインタ変数１６３０から決定されるＬＡＮ行位置に設定する。
【０１１９】
ステップ１７７０：当該ＬＡＮに接続されているノード（つまり、サーバ又はストレージ）数をカウントする。
【０１２０】
ステップ１７８０：カウント値をＬＡＮ行位置に追加して、現在レイアウト中のＬＡＮの端部の次になる行を決定する。
【０１２１】
ステップ１７９０：ＬＡＮ．レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【０１２２】
ステップ１８１０：現在処理中のレコード内にＳＡＮが存在し、かつ、ＳＡＮレイアウト状態１４２５が「初期状態」に設定されている場合、処理はステップ１８１１に進み、そうでない場合は、処理はステップ１８２０へ進む。
【０１２３】
ステップ１８１１：ＳＡＮの開始位置であるＳＡＮ．開始行番号を、ＳＡＮ行位置ポインタ１６５０が現在示しているＳＡＮ行位置に設定する。
【０１２４】
ステップ１８１２：ＳＡＮに接続されているストレージノード及びサーバノードの数をカウントする。
【０１２５】
ステップ１８１３：上記二つのうちどちらか大きい方の数を、ＳＡＮ行位置に追加する。
【０１２６】
ステップ１８１４：ＳＡＮ．レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【０１２７】
ステップ１８２０：サーバノードが存在しかつそのレイアウト状態が「初期状態」である場合、処理はステップ１８２１へ進み、そうでない場合、処理はステップ１８２７へ進む。
【０１２８】
ステップ１８２１：サーバの位置であるサーバ．開始行番号を、サーバ行位置ポインタ１６４０が現在示している行であるサーバ行位置に設定する。
【０１２９】
ステップ１８２２：サーバ行位置ポインタ１６４０をインクリメントすることにより、サーバ行位置をインクリメントする。
【０１３０】
ステップ１８２３：サーバ．レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【０１３１】
ステップ１８２７：当該レコード内にサーバ及びＬＡＮが存在し、かつ、このＬＡＮにストレージノードが直接接続している場合、処理はステップ１８２８へ進み、そうでない場合は、処理はステップ１８３０へ進む。
【０１３２】
ステップ１８２８：ストレージ行位置ポインタ１６７０をインクリメントすることにより、ストレージ行位置をインクリメントする（つまり、ストレージ行位置及びサーバ行位置は、ストレージが直接接続するＬＡＮに接続されているサーバ及びストレージオブジェクトをレイアウトする間に同時にインクリメントされる）。
【０１３３】
ステップ１８２９：サーバインスタンスがレイアウト状態１４３３において既に「レイアウト済み」又は「固定」となっている場合などで上記ステップ１８２２においてサーバ行位置がインクリメントされなかった場合、サーバ行位置をインクリメントする。
【０１３４】
ステップ１８３０：当該レコード内にストレージノードが存在し、かつ、そのレイアウト状態１４４３が「初期状態」である場合、処理はステップ１８３１へ進み、そうでない場合は、処理は図１７Ｄのステップ２０００へ進む。
【０１３５】
ステップ１８３１：ストレージの位置であるストレージ．開始行番号を、サーバ行位置ポインタ１６７０が現在示している行であるストレージ行位置に設定する。
【０１３６】
ステップ１８３２：ストレージ行位置ポインタ１６７０を次の行へインクリメントすることにより、ストレージ行位置をインクリメントする。
【０１３７】
ステップ１８３３：ストレージ．レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【０１３８】
図１７Ｃのステップ１９００〜１９９０は、サーバ又はＳＡＮとの接続を介さず直接ストレージに接続するＬＡＮがある場合の処理であって、図１７Ａのステップ１７４０から処理が移行された際の処理を示す。
【０１３９】
ステップ１９００：ＬＡＮ．レイアウト状態が「初期状態」（まだレイアウトされていない状態）である場合、処理はステップ１９３０へ進み、そうでない場合は、処理はステップ１９１０へ進む。
【０１４０】
ステップ１９１０：ＬＡＮ．接続ノードが、既にレイアウト済みの別のストレージインスタンスを有するかをチェックする。そのような別のストレージインスタンスが存在する場合、処理はステップ１９２０へ進み（つまり、処理は、ＬＡＮオブジェクトを現在の配置のままとし）、そうでない場合は、処理はステップ１９３０へ進む。
【０１４１】
ステップ１９２０：ストレージ．行番号を、現在のストレージ行位置ポインタ１６７０に対応する現在のストレージ行位置に設定し、ストレージ行位置とサーバ行位置の両方を、各ポインタ１６４０、１６７０をインクリメントすることにより、インクリメントする。
【０１４２】
ステップ１９３０：ＬＡＮの開始位置を、サーバ（サーバ行位置）又はＳＡＮ（ＳＡＮ行位置）のどちらか低い方の位置に設定する。
【０１４３】
ステップ１９４０：ＬＡＮに接続されているサーバ及びストレージノードをカウントする。
【０１４４】
ステップ１９５０：カウント値をＬＡＮ行位置に追加する（つまり、ＬＡＮ行位置ポインタを、ＬＡＮオブジェクトの端部の次の行へインクリメントする）。
【０１４５】
ステップ１９６０：ＬＡＮ．レイアウト状態を「固定」に設定する（つまり、この処理の完了した後は再配置されない）。
【０１４６】
ステップ１９７０：ＳＡＮ行位置を、ＬＡＮ行位置と同じ行に設定する。
【０１４７】
ステップ１９８０：ストレージ．行番号をＬＡＮ開始位置に設定し、また、ストレージ行位置及びサーバ行位置を、各行位置ポインタ１６７０、１６４０をインクリメントすることにより、次の行に設定する。
【０１４８】
ステップ１９９０：ストレージ．レイアウト状態を「レイアウト済み」に設定する。
【０１４９】
図１７Ｄは、ステップ２０００〜２０６５に記載される、レイアウト済みエレメントを最適化するために行われるステップを示している。
【０１５０】
ステップ２０００：ＬＡＮ＝サーバ接続タイプが存在する場合、処理はステップ２００５へ進む。
【０１５１】
ステップ２００５：ＬＡＮに接続されているサーバ及びストレージノードの数をカウントする。
【０１５２】
ステップ２０１０：サーバオブジェクト行番号が、ＬＡＮの開始行と終了行の間にあるかチェックする。サーバオブジェクトが、ＬＡＮの開始行と終了行の間の行にある場合、その位置は変更する必要がなく、処理はステップ２０６０へ進み、そうでない場合、つまり、サーバオブジェクトが上記範囲外にある場合は、処理はステップ２０１５へ進む。
【０１５３】
ステップ２０１５：サーバ又はＬＡＮオブジェクトのどちらがより上に位置しているか（つまり、前の行から開始しているか）を判定するために、位置を比較する。
【０１５４】
ステップ２０２０：ＬＡＮオブジェクトが上に位置する場合、レイアウト状態１４１４が「固定」に設定されていないこと、及び、ＬＡＮオブジェクトが、既にレイアウト済みのすべてのＬＡＮオブジェクトの中で現在最も下に位置していることをチェックする。
【０１５５】
ステップ２０２４：ＬＡＮ．接続ノードに記憶されているサーバオブジェクトの位置（Ｎ番目）を見つけ、見つけた数字を変数Ｎに設定する。例えば、接続ノード数が５であることからＬＡＮアイコンが５行分に等しい高さを有するように判定され、サーバオブジェクトが３番目に接続されるノードであれば、本例では、変数Ｎが「３」となる。
【０１５６】
ステップ２０２５：サーバ行位置とＬＡＮのＮ番目の行の差分に等しい値である、「ｖ＿Ｄｉｆｆ」を計算する。
【０１５７】
ステップ２０３０：値「ｖ＿Ｄｉｆｆ」をＬＡＮ．開始行番号及びＬＡＮ行位置に追加し、その結果、ＬＡＮオブジェクトは、「ｖ＿Ｄｉｆｆ」の量に等しい行数分、下へ移動する。
【０１５８】
ステップ２０３５：ＬＡＮ．レイアウト状態を「固定」に設定する。
【０１５９】
ステップ２０４０：一方、サーバがより上に位置する場合、サーバのレイアウト状態が「固定」でないこと、及び、当該オブジェクトが、既にレイアウト済みの最も下位に位置するサーバ内に現在配置されていること、をチェックする。
ステップ２０４５：ＬＡＮオブジェクトの開始位置とサーバオブジェクトの開始位置の差分である値「ｖ＿Ｄｉｆｆ」を計算する。
【０１６０】
ステップ２０５０：この値「ｖ＿Ｄｉｆｆ」をサーバ．行番号及びサーバ行位置に追加し、その結果、「ｖ＿Ｄｉｆｆ」の量に等しい行数分、サーバオブジェクトが下へ移動される。
【０１６１】
ステップ２０５５：サーバ．レイアウト状態を「固定」に設定する、つまり、以後の最適化においてもサーバは移動されない。
【０１６２】
ステップ２０６０：ＬＡＮとサーバの間の接続に関して上述したステップ２０００〜２０５５と同じ処理を用いて、サーバとＳＡＮ（もしあれば）の間の最適化を行う。サーバレイアウト状態１４３３が「固定」に設定されている場合は、上述したように、最適化中でもサーバオブジェクトは移動されない。
【０１６３】
ステップ２０６５：ＬＡＮ＝サーバ最適化、及び、サーバ＝ＳＡＮ最適化が完了すると、当該インスタンスのＳＡＮ＝ストレージ接続をチェックする。ＳＡＮ＝ストレージ接続が存在する場合は、ＬＡＮ＝サーバ接続レイアウト最適化について上述したステップ２０００〜２０５５を使用して、最適化処理が行われる。ＳＡＮレイアウト状態１４２５が「固定」に設定されている場合は、最適化中でもＳＡＮオブジェクトは移動されない。
【０１６４】
図１７Ｅは、ユーザーインターフェース内でのオブジェクトの実際の描画、つまり、表示生成を行うステップ２１００〜２１７０を示している。
【０１６５】
ステップ２１００：ＬＡＮオブジェクトアレイ１４１９からＬＡＮオブジェクトインスタンス１４１０を選択する。ＬＡＮオブジェクトインスタンスがない場合、又は、すべてのＬＡＮインスタンスが既に描画済みである場合、処理はステップ２１２０へ進む。
【０１６６】
ステップ２１１０：選択されたＬＡＮオブジェクトインスタンス用の長方形（つまり、長方形のセル）を開始行番号１４１２において描画し、この長方形の高さは接続ノード数に基づいて（接続ノード１４１３から）決定される。さらに、ＬＡＮの名称１４１１を追加する。
【０１６７】
ステップ２１２０：すべてのＬＡＮインスタンスが描画されると、ＳＡＮオブジェクトアレイからＳＡＮオブジェクトインスタンス１４２０を選択する。
【０１６８】
ステップ２１３０：選択されたＳＡＮ用の長方形（つまり、長方形のセル）を開始行番号１４２２において描画し、この長方形の高さは、接続サーバ１４２３の数又は接続ストレージ１４２４の数のうちどちらか大きい方の数に基づいて、決定される。さらに、ＳＡＮの名称１４２１を追加する。
【０１６９】
ステップ２１４０：すべてのＳＡＮインスタンスが描画されると、サーバオブジェクトアレイからサーバオブジェクトインスタンス１４３０を選択する。
【０１７０】
ステップ２１５０：サーバオブジェクトインスタンス内に示される行番号１４３２において長方形（つまり長方形のセル）を描画する。さらに、サーバの名称１４３１をこの長方形に追加する。
【０１７１】
ステップ２１６０：すべてのサーバオブジェクトが描画されると、ストレージオブジェクトアレイからストレージオブジェクトインスタンス１４４０を選択する。
【０１７２】
ステップ２１７０：ストレージオブジェクトインスタンス１４４０内に指定される行番号１４４２において、長方形（つまり、長方形のセル）を描画する。さらに、ストレージオブジェクトインスタンスの名称１４４１をこの長方形に追加する。なお、本実施形態では、ユーザーインターフェース１５０へのスイッチアイコンのレイアウト及び描写は、後述するように、接続ラインの描画後に行われるが、別の態様として早く行うようにしてもよい。
【０１７３】
接続ラインの描画
【０１７４】
管理対象システムの各オブジェクトが表示生成用に描画されると、次に接続ラインが描画される。図１８Ａ〜図１８Ｃは、本実施形態における、接続ラインの描画に用いられる基本ルールを示している。「（ｘ、ｙ）」座標などの座標を使用して、接続ラインの開始点及び終了点、さらに、階段状ラインの場合には中間点を指定するようにしてもよい。図１８Ａは、二つのオブジェクト２２２１、２２２２間の基本的な直線の接続ライン２２１０を示している。例えば、「ｘ」軸座標「Ｘ１」及び「Ｘ２」は各オブジェクト２２２１、２２２２の端部である二つの異なる「ｘ」軸位置を表し、一方、「ｙ」軸座標は、行の開始点及び終了点がともに同じ「Ｙ１」である。オブジェクトの端部にラインが１本のみ接続される場合、「ｙ」座標をオブジェクトの中心に置くことができる。しかし、一つ又は二つのオブジェクトに複数のラインが接続される際は、「ｙ」座標を上方又は下方へオフセットしてし、接続されているオブジェクトの対応する「ｙ」座標も同量分オフセットすることによって、水平なラインを保つことができる。
【０１７５】
同様に、図１８Ｂに示すように、二つのオブジェクト２２２３、２２２４が異なる行に存在するなどして同線上にない場合に、（ｘ、ｙ）座標を使用して、二つのオブジェクト間の階段状ライン２２２０を定義することもできる。階段状ライン２２２０は、それを定義する４組の（ｘ、ｙ）座標、つまり、（Ｘ１、Ｙ１）、（Ｘ２、Ｙ１）、（Ｘ２、Ｙ２）、及び（Ｘ３、Ｙ２）を使用して、描画される。本発明は、本実施形態において、ユーザーインターフェース１５０を見るユーザーに分かりやすいように、すべての接続ラインを直線ライン又は階段状ラインのどちらかに限定している。
【０１７６】
図１８Ｃに示すように、異なる高さを有するオブジェクト間に階段状ラインを描画する際、上方向グリッド及び下方向グリッドを使用することもできる。例えば、トポロジー表示モジュール２２０は、上方向グリッド２２３５及び下方向グリッド２２３６を使用して、複数の階段状ライン間に所定の間隔を維持している。左から右へ上向きに接続する階段状ライン２２３０は上方向グリッド２２３５を使用してレイアウトされ、左から右へ下向きに接続する階段状ライン２２４０は下方向グリッド２２３６を使用してレイアウトされる。図示するように、上方向グリッド２２３５及び下方向グリッド２２３６は互いに横方向にオフセットされているため、接続ラインを多数描画しなければならない場合でも、ラインの垂直部分が重なることはない。
【０１７７】
図１９Ａ〜１９Ｃは、本発明の本実施形態における、接続ラインを描画する処理の一例を示している。接続ラインを描画するステップは、基本的に、（１）ＬＡＮとサーバ／ストレージノードの間のラインの描画、（２）サーバノードとＳＡＮの間のラインの描画、（３）ＳＡＮとストレージノードの間のラインの描画、である。後述するように、ユーザーインターフェース１５０を生成するためのスイッチアイコンのレイアウト及び描画は、本実施形態では、接続ラインの描画の後に行われる。
【０１７８】
ＬＡＮとサーバ／ストレージノード間のラインの描画
【０１７９】
ステップ２３００：ＬＡＮオブジェクト長方形の右端部である座標「Ｘ１」を初期化する。
【０１８０】
ステップ２３１０：ＬＡＮアレイ１４１９からＬＡＮインスタンスを選択する。
ステップ２３２０：行変数「Ｒ１」を、ＬＡＮ開始位置に等しく設定する。
【０１８１】
ステップ２３３０：図１８Ｃに示すように、（ＬＡＮ内で使用するために）グリッド位置変数を初期化する。例えば、上方向グリッド２２３５を最も左の位置に初期化し、下方向グリッド２２３６を最も右の位置（つまり、階段状ラインを描画する場合に、始めに使用される方向グリッド上の位置）に初期化する。
【０１８２】
ステップ２３４０：現在処理中のＬＡＮオブジェクトインスタンス１４１０のＬＡＮ．接続ノードアレイ１４１３から、ノード、つまり、サーバノード又はストレージノードのどちらか、を選択する。
【０１８３】
ステップ２３５０：サーバレイ１４３９又はストレージアレイ１４４９から、名称をもとに、対応するサーバノードインスタンス１４３０又はストレージノードインスタンス１４４０を見つける。
【０１８４】
ステップ２３６０：行変数「Ｒ２」を、見つけたノードインスタンスの行番号１４３２又は１４４２に設定する。
【０１８５】
ステップ２３７０：Ｒ１（ＬＡＮのＮ番目の部分）とＲ２（サーバ／ストレージノード）が同じ行にある場合（Ｒ１＝Ｒ２）、処理は図１９Ｂのステップ２４００へ進み、そうでない場合は、図１９Ｃのステップ２５００へ進む。
【０１８６】
ステップ２３８０：図１９Ｂ又は図１９Ｃの処理においてラインを描画した後、Ｒ１をインクリメントし、次のノードオブジェクトをチェックする。
【０１８７】
図１９Ｂは、直線ラインを描画する場合、つまり、ステップ２３７０においてＲ１＝Ｒ２である場合を示している。
【０１８８】
ステップ２４００：ステップ２３５０で取得したサーバ又はストレージノードオブジェクトの左端部に、座標「Ｘ２」を設定する。
【０１８９】
ステップ２４１０：サーバ又はストレージノードインスタンスの左側オフセット値１４３４又は１４４４を取得し、当該インスタンスにおいてこの値を１インクリメントする。
【０１９０】
ステップ２４２０：座標「Ｙ１」を、行Ｒ１のデフォルト位置に、ステップ２４１０で取得した左側オフセット値をプラスした値として設定する。
【０１９１】
ステップ２４３０：（Ｘ１、Ｙ１）から（Ｘ２、Ｙ１）へ直線ラインを描画し、その後、図１９Ａのステップ２３８０へ戻る。
【０１９２】
図１９Ｃは、階段状ラインを描画する場合、つまり、ステップ２３７０においてＲ１≠Ｒ２である場合を示している。
【０１９３】
ステップ２５００：座標「Ｙ１」を行「Ｒ１」のデフォルト位置に等しく設定する。
【０１９４】
ステップ２５１０：座標「Ｘ２」を、階段状ラインの垂直部分をどこに描画するかを決定するためのｘ軸の値である「グリッド」値に等しく設定する。各ノードは、必要であれば各ノード自体のグリッド値を有してよく、したがって、グリッド値は、ステップ２３５０で見つけたインスタンス（サーバ又はストレージ）に基づいて、また、当該ノードがＲ１より上の行か下の行かに基づいて、サーバ用上方向グリッド、サーバ用下方向グリッド、ストレージ用上方向グリッド、又は、ストレージ用下方向グリッド、のうちの一つである。上方が使用されている場合、各グリッド値を１増やし、そうでない場合、つまり、下方が使用されている場合は、各グリッド値を１減らす。
【０１９５】
ステップ２５２０：サーバノードインスタンス１４３０又はストレージノードインスタンス１４４０の左側オフセット１４３４又は１４４４を取得し、その後、この左側オフセット値をインクリメントする。
【０１９６】
ステップ２５３０：座標「Ｙ２」を、行「Ｒ２」のデフォルト位置にステップ２５２０で取得したオフセット値をプラスした値として設定する。
【０１９７】
ステップ２５４０：座標「Ｘ３」を、当該ノードオブジェクト長方形の左端部に等しく設定する。
【０１９８】
ステップ２５５０：３本のライン、（Ｘ１、Ｙ１）−（Ｘ２、Ｙ１）、（Ｘ２、Ｙ１）−（Ｘ２、Ｙ２）、及び、（Ｘ２、Ｙ２）−（Ｘ３、Ｙ２）を描画することにより、階段状ラインを描画する。階段状ラインの描画後、処理は、図１９Ａのステップ２３８０へと戻る。
【０１９９】
サーバとＳＡＮ間のラインの描画
【０２００】
計算機ノードとＳＡＮオブジェクトの間に接続ラインを描画するステップは、図１９Ａ〜図１９Ｃに示したステップをほぼ同じである。当然のことながら、ＬＡＮインスタンスデータに代えて、ＳＡＮインスタンスデータが使用される。また、ＳＡＮアイコンの位置がサーバイコンの反対側であることから、行変数「Ｒ１」及び「Ｒ２」は入れ替えて使用する。
【０２０１】
ＳＡＮとストレージ間のラインの描画
【０２０２】
ＳＡＮオブジェクトとストレージノードオブジェクトの間に接続ラインを描画するステップは、図１９Ａ〜図１９Ｃに示すステップとほぼ同じであるが、ＬＡＮインスタンスデータに代えてＳＡＮインスタンスデータを使用する点、及び、ストレージオブジェクトインスタンスのみを考慮すればいい点を除く。
【０２０３】
スイッチのレイアウト及び描画
【０２０４】
本実施形態では、一例として、バックボーンネットワーク内のスイッチは、単にバックボーンネットワーク列４１１にリストされるのみで、ネットワーク構造表示を描画しない。このため、図示する実施形態では、個々のスイッチアイコンに対して接続ラインが形成されない。図４に示すように、スイッチアイコン４２０、４６０は、単にそれぞれのネットワークの位置にリストされる。例えば、バックボーンに対応するスイッチアイコン４２０−１、４２０−２はバックボーン列４１１にリストされ、接続ラインは描かれない。同様に、スイッチアイコン４２０−２、４２０−３、４２０−４はＬＡＮアイコン４３０−１の長方形内にリストされ、スイッチアイコン４２０−２、４２０−３、４２０−４に接続ラインは接続されない。代わりに、ＬＡＮアイコンの長方形にのみ接続ラインが接続される。この接続表示方法によると、表示する接続ラインの数を減らすことができるため、トポロジー表示の複雑さを軽減し、理解しやすくすることができる。ただし、別の実施形態として、トポロジーリスト・ビューを提供する際に、各スイッチ間の接続をユーザーインターフェースに表示するようにしてもよい。ＬＡＮ、サーバ、ＳＡＮ、及び、ストレージオブジェクト、並びに、これらオブジェクト間の接続ラインを描画した後、トポロジー表示モジュールは、既に描画されたネットワークアイコン上にすべてのスイッチアイコンを描画する。図２６は、スイッチアイコンを描画する処理の一例を示している。スイッチアイコンを描画するのに必要なデータは、データベース２３０から取得される。
【０２０５】
ステップ２６００：データベース２３０のネットワークテーブル５００からレコードを選択する。
【０２０６】
ステップ２６１０：名称５２０及び表示タイプ５４０を取得し、表示タイプ５４０がＬＡＮであれば、処理はステップ２６２０へ進む。
【０２０７】
ステップ２６２０：ネットワークテーブル５００をコンポーネントテーブル７００及びノードテーブル６００と関連付けることによって、すべてのスイッチノードを選択する。
【０２０８】
ステップ２６３０：ＬＡＮにサーバ又はストレージノードが接続されているかをチェックする。サーバ又はストレージノードが接続されておらず、スイッチのみを有する場合、当該ＬＡＮはバックボーンネットワークであると判定され、処理はステップ２６４０へ進む。
【０２０９】
ステップ２６４０：発見されたスイッチ（バックボーンネットワークに属すると分類されるもの）を、アレイ変数「ｖ＿バックボーンスイッチ」に追加し、処理はステップ２６００へ戻る。
【０２１０】
ステップ２６５０：ＬＡＮオブジェクトアレイ１４１９から対応するＬＡＮインスタンスを見つけ、ＬＡＮオブジェクトインスタンスから開始行番号１４１２を取得する。
【０２１１】
ステップ２６６０：ステップ２６２０で選択されたすべてのスイッチを、選択されたＬＡＮオブジェクトインスタンスに対応するＬＡＮアイコン内に描画する。
【０２１２】
ステップ２６７０：ステップ２６００においてネットワークテーブルから選択された選択レコードがＬＡＮではなくＳＡＮのものである場合、ステップ２６２０〜２６６０を、各ステップにおいて「ＬＡＮ」を「ＳＡＮ」に置き換えて、選択されたＳＡＮに対して行う。
【０２１３】
ステップ２６８０：ＬＡＮ及びＳＡＮアイコンにすべてのスイッチを描画した後、バックボーンネットワークに属すると分類されたスイッチを、バックボーンネットワーク列４１１内に描画する。
【０２１４】
通常、スイッチの描画によって、トポロジー表示を提供するユーザーインターフェースの表示が完了する。この時点において、ユーザー、つまり一般的には管理者は、マウスや他のインターフェースを使用してシステム内の各種アイコンをクリックし、アイコンが表す機器に関する追加情報を見ることができる。また、例えばスイッチアイコンが間違った場所にある、例えば、ＳＡＮの代わりにＬＡＮに配置されている、又は、ＬＡＮの代わりにバックボーンに配置されている、と管理者が感じた場合、本発明は、ある場所から別の場所へ管理者がアイコンを手動で移動させることができるような手段を備えることもできる。
実施形態２
【０２１５】
上述の第１実施形態の範囲には、システム全体のトポロジー表示の生成が含まれている。しかし、本発明では、行と列からなる格子に基づくリスト又はマトリクスに似たトポロジーレイアウトを使用するため、本発明のグラフィカルユーザーインターフェースは、行のソートやアイテムのフィルタリング等、リスト指向の機能に対応できる。後述する第２実施形態は、管理者が指定可能な、ソート又はフィルタリング基準を採用する方法の例を示している。コンポーネント及び動作の多くは第１実施形態に関して上述したものと同様であるので、以下では差異について述べる。
【０２１６】
第１実施形態で記載したように、トポロジーリスト・ビューを有するユーザーインターフェースに表示されるシステムのトポロジーは、どの接続情報がどのように結合接続データ上にリストされたかによって決まる。所望の内容及び順番を含むように接続データを生成及び処理した後、レイアウト処理によって接続をレイアウト及び描画する。そのため、結合接続データ１３００を生成するためのクエリにソート又はフィルタリング基準を追加することにより、あるいは、クエリの結果に対してソート又はフィルタリングを行うことにより、トポロジーのソート又はフィルタリングを行うことができ、その後は、ソート又はフィルタリングされた結果のみがレイアウト及び表示される。
【０２１７】
トポロジーリスト・ビュー及びソート／フィルタリング付のユーザーインターフェース
【０２１８】
図２１は、ユーザーインターフェース２１５０に表示される管理対象システムトポロジの一部を制御するためのソート又はフィルタリングを指定することが可能な、トポロジーリスト・ビューの一例を示している。様々な方法で基準を指定することができるが、本例では、ユーザーインターフェース２１５０を伴うディスプレイ１０５上に、ソート基準ドロップダウンリスト２７１０及びフィルタ基準ドロップダウンリスト２７２０が提供される。管理者は、ドロップダウンリスト２７１０、２７２０を使用して、各ドロップダウンリスト２７１０、２７２０から選択することにより、所望のソート又はフィルタリング基準を選ぶことができる。考えられるソート又はフィルタリング基準としては、ノードの状態、適用されたパッチの日付、ＣＰＵ負荷量、ＯＳ又はベンダタイプ、ユーザーグループ、又は、ユーザーが定義した基準、がある。
【０２１９】
加えて又はあるいは、管理対象システム又はシステム内の特定デバイスのトポロジー表示について特定の範囲を指定する別の方法として、ツリーリスト２７３０を使用することもできる。例えば、ある実施形態では、「ＥＲＰ」と名付けられたフォルダ等、ユーザーグループフォルダの一つをツリーリスト２７３０から選択する操作は、ユーザーインターフェース２１５０に表示されるトポロジーリスト・ビューのフィルタリング基準を指定するためにユーザーによって実行される操作である。
【０２２０】
加えて又はあるいは、列毎に一つのチェックボックス２７４０を設けるなど、ユーザーインターフェースにチェックボックス２７４０を追加することにより、行のソートする際にどの列を第一に優先するのか、管理者が指定できるようにしてもよい。例えば、図２１では、計算機列４１３にチェックが入っているため、管理対象システムのすべての接続関係をソートする際、この列が第一に優先される。本例では、デバイスの状態によってソートする際、まず計算機（サーバ）が状態タイプでソートされ、その後、他のデバイスがソートされるため、管理者は、サーバ内にクリティカルな状況を見つけそのリストを作成するのに集中することができる。
【０２２１】
図２２は、本実施形態で生成される結合接続データ２８００のマトリクスのデータの一例を示している。結合接続データ２８００は、図１３に関して上述した結合接続データ１３００と同様に、ＬＡＮ名２８１０、サーバ名２８３０、ＳＡＮ名２８５０、及び、ストレージ名２８７０、の列を含んでいる。また、本実施形態では、結合接続データ２８００はさらに、ＬＡＮ状態列２８２０、サーバ状態列２８４０、ＳＡＮ状態列２８６０、及び、ストレージ状態列２８８０を含んでいる。本実施形態では、情報収集モジュール２１０は、管理システム内のデバイスから健康状態を定期的に収集し、収集した健康状態情報をデータベース２３０に記憶するように、構成されているものとする。ソート又はフィルタリングは、結合接続データ２８００を生成するためのクエリを送信する際に実行するか、又は、トポロジー表示モジュールによってクエリの結果を取得した後に実行するようにしてもよい。
【０２２２】
図２２に示す例において、管理者は、ドロップダウンメニュー２７１０で「状態」をクリックすることにより状態に応じたソートを指定し、図２１に示すように、計算機列４１３のチェックボックス２７４０にチェックを入れることにより、計算機列４１３が第一の優先順位を持つように指定した。したがって、最もクリティカルな状況（例えば、オーバーロードや適切に機能していない状況）にあるサーバがリストの一番上に記載され、トポロジー表示モジュールがディスプレイ１０５上に管理対象システムのトポロジーをレイアウト及び描画する際は、この順序で対応するトポロジーが表示される。例えば、図２２に示すように、サーバ「ｓｒｖ３０」及び「ｓｒｖ４」は「クリティカル」状態であるが、サーバ「ｓｒｖ１」は「警告」状態でありクリティカル状態のサーバの後でリストされ、残りのサーバは「ＯＫ」としてリストされる。システムのトポロジーがユーザーインターフェース２１５０内に生成される際、表示されるトポロジーのシステムオブジェクトの順番は、ソートされた結合接続データ２８００内で指定された順番に一致する。
実施形態３
【０２２３】
図２３は、本発明のトポロジー表示４１５０を有するユーザーインターフェースの別の実施形態を示している。図２３に示す実施形態では、五つではなく四つの所定の列、つまり、ＬＡＮ列４１２、計算機列４１３、ＳＡＮ列４１４、及び、ストレージ列４１５が存在する。本実施形態では、先の実施形態にあったバックボーン列４１１が削除されている。バックボーンネットワークのスイッチは、トポロジー表示に含まないか、あるいは、ＬＡＮ列の下部に設けられた「バックボーン」等の名称４３１を有するＬＡＮ長方形に表示するようにしてもよい。図２３に示すユーザーインターフェース４１５０におけるアイコン、接続ライン、及び、その他のエレメントのレイアウト及び描画は、前述の実施形態について記載した態様で実行することができる。他の実施形態についても、本明細書の開示内容を考慮すれば当業者にとって明らかである。
実施形態４
【０２２４】
第１〜第３実施形態において上述した例は、スイッチ、計算機、及び、ストレージデバイス等、ＩＴシステム内のハードウェアコンポーネントを管理するためのトポロジー表示を提供する本発明のユーザーインターフェースを対象としている。しかし、トポロジーリスト・ビューを含む本発明の実施形態は、物理的コンポーネントだけでなく、情報システム内の論理コンポーネントも管理するためのトポロジー表示の生成及び表示に適用することもできる。このような論理コンポーネントとしては、例えば、データベースサーバインスタンス等の実行可能なソフトウェアプログラムインスタンス、ハードディスクドライブ（ＨＤＤ）のストレージ容量から形成される論理ボリューム等の論理的／仮想的に構成されたエレメント、計算機上で動作するハイパーバイザ上に形成される仮想装置、等がある。本発明のグラフィカルトポロジー表示に示される論理コンポーネントの間には論理関係が存在する。例えば、本発明の実施形態を使用して表示される論理関係としては、ウェブ三層システム内のウェブ＝アプリケーション＝データベースサーバ間の関係、仮想機械と仮想機械が動作するハイパーバイザとの関係、又は、論理ボリュームとこのボリュームの形成元となるＲＡＩＤグループとの間の関係、等がある。したがって、これらコンポーネント及びコンポーネント間の論理関係のトポロジーを、本発明で記載されるユーザーインターフェース上に表示することができる。
【０２２５】
また、既述の実施形態で記載したように、ハードウェアデバイス間の接続情報は、ＷＭＩ、ＳＮＭＰ、ＳＭＩ−Ｓ等の既存の手段を介して収集することができる。同様に、前述したような論理関係は、専用の又は標準インターフェースを介して取得することができる。例えば、ハイパーバイザと仮想機械との関係は、仮想機械上の管理ソフトウェアから取得することができる。同様に、論理ボリュームとＲＡＩＤグループとの関係は、ストレージ管理ソフトウェア、又は、ストレージデバイス自体に組込まれたモジュールから取得することができる。このように収集された、論理コンポーネント及びそれらの論理関係に関する情報は、図２に示すデータベース２３０に記憶される。収集された情報は、既述の実施形態で記載した態様と同じように、トポロジー表示モジュール２２０から送られたクエリを使用して検索することができる。さらに、既述の実施形態では、ユーザーインターフェース１５０、２１５０、４１５０内のトポロジー層を表すために使用されるラベルは、「バックボーン」、「ＬＡＮ」、「計算機」、「ＳＡＮ」、及び、「ストレージ」であった。しかし、本発明に論理コンポーネントを適用してトポグラフィカル表示に表示する場合、トポロジー層の「クラス」であるラベルは、第１〜第３実施形態で記載したものとは異なる。したがって、第４実施形態では、論理コンポーネントをＩＴシステムの一部として含み、これらの例で使用される各クラスラベルを表示する、各種トポロジーの例を示す。
【０２２６】
図２４Ａは、ウェブ三層システム５１００の例示的なトポロジーを示している。このシステムは、三層のサーバプログラム、つまり、「ウェブサーバ」、「アプリケーションサーバ」、及び、「データベースサーバ」を有して構成されている。これらの層は、トポロジーリスト・ビュー上の各列のラベル名、つまり、ウェブサーバ列５１１０、アプリケーションサーバ列５１２０、及び、データベースサーバ列５１３０として表示される。ウェブサーバ列５１１０には各ウェブサーバイコン５１４０がリストされ、情報システム内でウェブサーバとして機能する各サーバを表している。このタイプのアイコン５１４０は、計算機ノードアイコン１４０と同じように、一行分の高さに相当する高さを有してよく、したがって、行毎に一つずつ位置合わせすることができる。同様に、アプリケーションサーバ列５１２０にはアプリケーションサーバイコン５１５０がリストされ、情報システム内のアプリケーションサーバを表している。このタイプのアイコン５１５０もまた、一行分の高さに相当する高さを有してよく、行毎に一つずつ位置合わせすることができる。同様に、ユーザーインターフェース５１００のデータベースサーバ列５１３０にはデータベースサーバイコン５１６０がリストされ、データベースサーバとして動作するシステム内のサーバを表すとともに、上記同様の高さ及び位置合わせを有する。ウェブサーバイコンと、これと特定の関係にあるアプリケーションサーバイコンとの間には接続ラインが描画され、情報システムにおいて各アイコンが表すウェブサーバインスタンスとアプリケーションサーバインスタンスとの論理関係を表わしている。同様に、アプリケーションサーバイコン５１２０とデータベースサーバイコン５１６０との間にも接続ラインが描画され、データベースサーバイコン５１６０は、特定のアプリケーションサーバインスタンスによって使用されるデータベースサーバインスタンスを表している。
【０２２７】
図２４Ｂは、ＳＡＮを介してストレージに接続されている複数の仮想機械を有する情報システムのユーザーインターフェース５２００の例示的なトポロジー表示を示している。例えば、かかる情報システムは、例えば図３に関連して記載した実施形態の情報システムに類似したものであってよいが、上述の実施形態における物理的な「計算機ノード」の代わりに、ハイパーバイザに属するコンポーネントとして、仮想機械を含んでいる。例えば、カリフォルニア州パロアルトにあるＶＭｗａｒｅ  Ｉｎｃ．社が仮想機械ソフトウェアを提供している。よって、計算機列４１３を仮想機械列５２１０及びハイパーバイザ列５２２０に置き換えることができる。本実施形態で示すＳＡＮ列４１４及びストレージ列４１５は、既述のものと同様である。仮想機械列５２１０には各仮想機械アイコン５２５０がリストされ、各々は、既述の実施形態で表示された「計算機」又は「サーバ」アイコンと同様、一行分の高さに相当する高さを有する。ハイパーバイザ列５２２０にはハイパーバイザアイコン５２６０が表示され、これらは、情報システム内の仮想機械を動作させる、情報システム内のハイパーバイザを表している。仮想機械アイコン５２５０は、情報システム内の各仮想機械インスタンスについてリストされ、仮想機械とそれらのハイパーバイザとの間の依存関係に基づいて、接続ラインが描画される。一つのハイパーバイザで複数の仮想機械を動作させることができるため、各ハイパーバイザオブジェクトアイコン５２６０は、接続された仮想機械の数に相当する行高さを有している。したがって、ハイパーバイザアイコン５２６０−１は、二つの仮想機械５２５０−１及び５２５０−２と関連していることから二行分の高さを有し、一方、ハイパーバイザアイコン５２６０−２は、一つの仮想機械アイコン５２５０−３のみが接続されていることから、一行分の高さに相当する高さを有する。ＳＡＮ層のＳＡＮ列４１４とストレージ層のストレージ列４１５は、先の実施形態で記載したものと同じであってよい。ハイパーバイザアイコン５２６０からＳＡＮアイコン４５０へは接続ラインが描画されており、このＳＡＮアイコン４５０は、情報システム内で各ハイパーバイザインスタンスが接続されている特定のＳＡＮインスタンスを表している。
【０２２８】
図２４Ｃは、データベースインスタンスと、論理ボリュームマネージャ等によって下層のＲＡＩＤグループから構成された論理ボリュームと、を有する情報システムのためのユーザーインターフェース５３００における例示的トポロジー表示を示しており、上記ＲＡＩＤグループは情報システム内のＨＤＤから構成されている。トポロジー表示にはＨＤＤ列５３４０が含まれてよく、このＨＤＤ列には各ＨＤＤアイコン５３８０−１〜５３８０−８がリストされ、各ＨＤＤアイコンは、一行分の高さに相当する高さを有している。ＲＡＩＤグループ列５３３０には、情報システムのＨＤＤ上に生成されるＲＡＩＤグループに対応するＲＡＩＤグループアイコン５３７０がリストされている。接続ラインによって、ＲＡＩＤグループアイコンと、情報システム内に各ＲＡＩＤグループを構成するＨＤＤの各ＨＤＤアイコン５３８０とが接続されている。各ＲＡＩＤグループアイコン５３７０の行高さは、そこに接続するＨＤＤアイコンの数に相当し、ＨＤＤアイコンは、各ＲＡＩＤグループアイコン５３７０と行によって位置合わせされている。論理ボリューム列５３２０には、情報システム内の各ＲＡＩＤグループから構成される論理ボリュームアイコン５３６０が含まれている。各論理ボリュームアイコン５３６０は、それぞれの容量の提供元である、特定のＲＡＩＤグループアイコン５３７０に接続される。また、データベース列５３１０にはデータベースアイコン５３５０がリストされ、論理ボリュームアイコン５３６０に接続されていることが表示されており、情報システム内のどのデータベースインスタンスが、情報システム内のどの論理ボリュームを使用しているかを示している。各データベースアイコン５３５０の行の高さは、そこに接続するボリュームアイコンの数に相当する。
【０２２９】
このように、上述の実施形態で示すように、情報システムのハードウェアコンポーネント及び論理コンポーネントを、タイプ又はクラスによって分離することができる。接続データを収集及びソートすることにより、異なるクラスのオブジェクト間の接続を判定することができる。システムトポロジに表示されるオブジェクトの各クラスを表す列は、可変数の行をともなってユーザーインターフェース内に生成され、所定の列に合わせて各クラスの可変数のオブジェクトがリストされる。上述したように、各クラスのオブジェクトを表すアイコンは、エンドツーエンド接続データにしたがってレイアウトされ、このレイアウトは最適化されて、接続されているオブジェクトのアイコンは、同一の行に又は近くに位置合わせされる。その後、情報システム内の接続や関連を表すために、接続ラインが描画される。このように、本発明の高密度ユーザーインターフェースを使用することにより、情報システム内の多数のハードウェア及び／又は論理コンポーネントのシステムトポロジを表示することができる。
【０２３０】
したがって、明らかなように、本発明の実施形態は、多数の管理対象オブジェクトのトポロジー関係をユーザーインターフェース内に高密度で表示する効率の良い方法を提供するとともに、ユーザーは、管理対象情報システム内の各種オブジェクト間の関連を容易に理解することができる。本発明の実施形態は、所定数の列と、表示されるコンポーネントの数に応じて増減しうる複数の行とからなる格子に合わせてレイアウトされるシステムトポロジを提供し、これによって、トポロジーの高密度と明確分類を同時に実現する、リスト状又はマトリクス状のグラフィカルビューイングフォーマットが形成される。したがって、同一のシステム層のオブジェクトを表すアイコンは所定の列に位置合わせされ、システム層をまたいで互いに接続するアイコンは、可能であれば、同じ行内に位置合わせされる。また、所定の垂直の列と可変数の水平の行とを有するものとしてユーザーインターフェースの例示的実施形態を記載及び図示してきたが、当業者には明らかなように、他の実施形態においては、このような配置を９０度回転させたり、又は、横向きに反転させて、所定の列が水平に、可変数の行が垂直になるようにしてもよい。その他の変更についても、本発明の開示内容に鑑みれば明らかである。
【０２３１】
また、当業者には明らかなように、例えば様々なタイプの計算機システムを使用して、既述の例示的実施形態を実施することができる。本発明に係るグラフィカルユーザーインターフェースは、例えば、図１及び図２に示すような管理計算機と併用することができる。当然のことながら、図１及び図２に示す計算機は、本発明に係るトポロジー・ビューを表示するユーザーインターフェースが実現されうる計算機システムの、例示的な一つのタイプにすぎない。また、計算機システムは、上記発明を実現するために使用されるモジュール、プログラム、及び、データ構造を記憶しかつ読み出しすることが可能な既知のＩ／Ｏデバイス（例えば、ＣＤ及びＤＶＤドライブ、フロッピー（登録商標）ディスクドライブ、ハードドライブ等）を有してもよい。これらモジュール、プログラム、及び、データ構造は、計算機読取可能な媒体にエンコードされていてもよい。例えば、本発明のデータ構造は、本発明で使用されるトポロジー表示モジュール及び／又はその他モジュールが存在する一つ以上の計算機読取可能な媒体とは別個の、計算機読取可能な媒体に記憶されていてもよい。
【産業上の利用可能性】
【０２３２】
以上から明らかなように、本発明の実施形態によって、グラフィカル表示とリスト・ビューの利点を組み合わせた態様でシステムトポロジ表示を提供するユーザーインターフェースを生成及び表示するための方法及び装置が提供される。本発明のユーザーインターフェースの実施形態によって、システム可用性及び性能管理操作を改善することができる。また、本明細書では特定の実施形態を図示及び記載してきたが、当業者には明らかなように、開示される特定の実施形態の代わりに、同じ目的を達成すべく計算された配置を使用することもできる。本開示内容は、本発明のあらゆる改良又は変更を網羅することを意図しており、上記の記載は説明のためになされたものであって、限定するためのものではない旨、理解されなければならない。したがって、本発明の範囲は、添付の請求の範囲、及び、当該請求項の範囲が含みうるすべての均等物を参照して、適切に決定されるものとする。
【図１】
0005668044.tif 000002
【図２】
0005668044.tif 000003
【図３】
0005668044.tif 000004
【図４】
0005668044.tif 000005
【図５Ａ】
0005668044.tif 000006
【図５Ｂ】
0005668044.tif 000007
【図６】
0005668044.tif 000008
【図７】
0005668044.tif 000009
【図８】
0005668044.tif 000010
【図９】
0005668044.tif 000011
【図１０】
0005668044.tif 000012
【図１１】
0005668044.tif 000013
【図１２】
0005668044.tif 000014
【図１３】
0005668044.tif 000015
【図１４】
0005668044.tif 000016
【図１５】
0005668044.tif 000017
【図１６Ａ】
0005668044.tif 000018
【図１６Ｂ】
0005668044.tif 000019
【図１６Ｃ】
0005668044.tif 000020
【図１７Ａ】
0005668044.tif 000021
【図１７Ｂ】
0005668044.tif 000022
【図１７Ｃ】
0005668044.tif 000023
【図１７Ｄ】
0005668044.tif 000024
【図１７Ｅ】
0005668044.tif 000025
【図１８Ａ】
0005668044.tif 000026
【図１８Ｂ】
0005668044.tif 000027
【図１８Ｃ】
0005668044.tif 000028
【図１９Ａ】
0005668044.tif 000029
【図１９Ｂ】
0005668044.tif 000030
【図１９Ｃ】
0005668044.tif 000031
【図２０】
0005668044.tif 000032
【図２２】
0005668044.tif 000033
【図２３】
0005668044.tif 000034
【図２４Ａ】
0005668044.tif 000035
【図２４Ｂ】
0005668044.tif 000036
【図２４Ｃ】
0005668044.tif 000037
【図２１】
0005668044.tif 000038