説明

情報システムトポロジー表示を提供するユーザーインターフェース

【課題】
情報システムのエンドツーエンドトポロジーを高密度で表示する。
【解決手段】
1又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムを管理する計算機において、情報システムに含まれる複数のコンポーネントの情報を収集し、第1のネットワークに属するスイッチを1つ以上選択し、第1のネットワークを表す第1のネットワークアイコンを含む第1の列と、複数の計算機を表す複数の計算機アイコンを含む第2の列とを含む行列に沿って複数のコンポーネント間のグラフィカルトポロジーを表示するようにし、第1のネットワークアイコンが、選択した1つ以上のスイッチを表すスイッチアイコンを含むようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報システムトポロジー表示を提供するユーザーインターフェースに関する。
【背景技術】
【0002】
近年の傾向として、企業の情報テクノロジー(IT)システムはより巨大かつ複雑なものなっている。例えば、一部のビジネスでは、ITシステムはもはや単なるビジネスのインフラストラクチャではなく、ビジネスと連携してビジネスの価値や競争力を高める必要がある。また、ITシステムの急速な成長は大企業に限らず、中堅企業であっても今日では何百のサーバを有することができる。この傾向は、サーバ仮想化技術の急成長により加速している。データセンターやその他ITシステムの急成長という昨今の傾向にも関わらず、いまだIT機構の管理者らは、大型で複雑なITシステムを効率良く管理して適切に動作させることが求められている。ある問題が発生すると、管理者は、問題の存在を認識し、その問題を分析し、早急にそれを解決する必要がある。
【0003】
一般的に、ITシステムの健全性の監視や発生しうる問題の分析には、何らかの可用性及び性能管理ソフトウェアが使用される。通常、このようなソフトウェアは、ITシステム内の複数のデバイスを発見し、それらの接続を識別する能力を有している。このソフトウェアは、管理の目的物又は対象であるITシステム(したがって、管理されるITシステムを、「管理対象システム」と呼ぶことがある。)から遠隔操作でき、システム内で発見されたデバイスを、グラフィック又はその他の態様によるトポロジー・ビューとして、表示画面上に表示することによって、各デバイスの状態について表示又は報告を行い、また、問題の原因を自動的に分析することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような管理ソフトウェアの使用により、管理者は、これまで手作業で行わなければならなかった多数の単調な操作タスクから解放される。しかし、上述したように、ITシステム自体の急成長に反し、IT予算は、通常、より制限される傾向にある。その結果、ITシステムの大領域を管理する責任は各管理者が担うことになってしまう。そのため、現在の管理ソフトウェアが提供する管理能力と、管理を要するシステムのサイズとの間に差が生じている。特に、システム監視又は問題分析用として現在使用可能なソフトウェアが提供するトポロジー・ビューは複雑になりすぎて、表示画面上に一度に表示できるのは、ITシステムのほんの一部となっている。システム全体のトポロジーは、情報システムの可用性及び性能を管理するためのシステム管理を管理者が適切に行うために必要な情報であるため、大規模かつ拡張可能なITシステムに使用できるソリューションは現時点では存在しない。
【0005】
関連技術は、米国特許第7,249,347号(Chang他)、米国特許出願公報第2007/0094597号(Rostom)、米国特許出願公報第2007/0204231号(Cunningham他)、米国特許出願公報第2007/0156861号(Nedelcu他)であり、これらの開示内容は本記載により本明細書に組み込まれる。
【課題を解決するための手段】
【0006】
本発明の例示的な実施形態では、情報システムの可用性効率を向上させ、かつ、システム状態の監視やシステム内の問題分析といった管理タスクの実行を改善する、ユーザーインターフェースが提供される。本発明のユーザーインターフェースの例示的な実施形態は、情報システムのコンポーネントをグラフィカルトポロジーリスト・ビューに表示することにより、情報システムのエンドツーエンドトポロジーを高密度で表示する。本発明のこれら及びその他の特徴及び利点については、下記の好適実施形態の詳細説明によって、当業者に明らかとなるであろう。
【図面の簡単な説明】
【0007】
添付図面は、上記概要、及び、下記の好適実施形態の詳細説明とともに、ここに考察される本発明の最良の形態の好適実施形態の原理を図説及び説明するものである。
【図1】図1は、本発明の方法、システム、及びプログラムが適用されうるハードウェア構成の一例を示している。
【図2】図2は、図1の構成に適用される、本発明の論理構成の一例を示している。
【図3】図3は、管理対象である情報システムの一例を示している。
【図4】図4は、トポロジー表示を有する、本発明の例示的なユーザーインターフェースを示している。
【図5A】図5Aはシステムトポロジ用の例示的なデータモデル及びデータベース関係を示す第1の例である。
【図5B】図5Bはシステムトポロジ用の例示的なデータモデル及びデータベース関係を示す第2の例である。
【図6】図6は、ネットワークテーブルの例示的なデータ構造を示している。
【図7】図7は、ノードテーブルの例示的なデータ構造を示している。
【図8】図8は、コンポーネントテーブルの例示的なデータ構造を示している。
【図9】図9は、接続テーブルの例示的なデータ構造を示している。
【図10】図10は、IP SAN判定の例示的プロセスを示している。
【図11】図11は、トポロジーリスト表示を生成及び描画する、例示的プロセスを示している。
【図12】図12は、トポロジー接続のパターンの例示的構造を示している。
【図13】図13は、生成及び結合された接続データの例示的データ構造を示している。
【図14】図14は、ネットワーク及びノードオブジェクトインスタンス及びアレイの例示的データ構造を示している。
【図15】図15は、オブジェクトインスタンス生成の例示的プロセスを示している。
【図16A】図16Aは、オブジェクトのレイアウトに関する例示的な基礎を示す第1の図である。
【図16B】図16Bは、オブジェクトのレイアウトに関する例示的な基礎を示す第2の図である。
【図16C】図16Cは、オブジェクトのレイアウトに関する例示的な基礎を示す第3の図である。
【図17A】図17Aはオブジェクトレイアウトの例示的処理を示している。
【図17B】図17Bはオブジェクトレイアウトの例示的処理の続きを示している。
【図17C】図17Cはオブジェクトレイアウトの例示的処理の更なる続きを示している。
【図17D】図17Dはオブジェクトレイアウトの例示的処理の更なる続きを示している。
【図17E】図17Eはオブジェクトレイアウトの例示的処理の更なる続きを示している。
【図18A】図18Aは、接続ラインを描画する例示的基本の第1の図である。
【図18B】図18Bは、接続ラインを描画する例示的基本の第2の図である。
【図18C】図18Cは、接続ラインを描画する例示的基本の第3の図である。
【図19A】図19Aは、接続ライン描画の例示的処理を示している。
【図19B】図19Bは、接続ライン描画の例示的処理の続きである。
【図19C】図19Cは、接続ライン描画の例示的処理の更なる続きである。
【図20】図20は、スイッチのレイアウト及び描画の例示的処理を示している。
【図21】図21は、トポロジー表示を含む、ユーザーインターフェースの例示的な第2実施形態を示している。
【図22】図22は、状態表示を含む結合接続データから生成されるマトリクスの例示的データ構造を示している。
【図23】図23は、トポロジー表示を含むユーザーインターフェースの例示的な第3実施形態を示している。
【図24A】図24Aは、トポロジー表示を含むユーザーインターフェースの例示的な第4実施形態の第1の説明である。
【図24B】図24Bは、トポロジー表示を含むユーザーインターフェースの例示的な第4実施形態の第2の説明である。
【図24C】図24Cは、トポロジー表示を含むユーザーインターフェースの例示的な第4実施形態の第3の説明である。
【発明を実施するための最良の形態】
【0008】
以下に詳述する本発明の詳細な説明において添付図面を参照するが、この添付図面は、開示内容の一部を形成するとともに、本発明を実施しうる特定の実施形態を図説するためのものであり、本発明を限定するためのものではない。添付図面中、複数の図面にわたり、同種の数字は、実質的に類似するコンポーネントを示している。なお、詳細な説明において様々な例示的実施形態を提供するが、後述及び図示するように、本発明は、本明細書中に記載及び図示する実施形態に限定されず、当業者に知られる又は知られていくように、他の実施形態にも及びうるものである。さらに、図面、上述の議論、及び下記の説明は、例示かつ説明を目的としたものであり、いずれの態様においても本発明の範囲を限定することを意図するものではない。
【0009】
本発明の実施形態は、以下に詳述するように、情報システムのビューイング、分析、及び、管理を可能にするトポロジーシステム構成表を有するグラフィカルユーザーインターフェースを生成し表示するシステム、方法、及び計算機プログラムを提供するものである。本発明の実施形態は、情報システム内の多数のアイテムを、計算機モニタ等の表示デバイス上にコンパクトかつ効率的な態様で表示でき、また、アイテムのトポロジー構成情報を保全するとともに、簡単に理解できるよう表示することができる。
【0010】
例示的実施形態によると、本発明の方法では、管理の対象又は目的物である情報システム(つまり、管理対象システム)内の各デバイスが発見される。本発明のいくつかの実施形態は、LAN(ローカルエリアネットワーク)又はSAN(ストレージエリアネットワーク)等のネットワーク、及び、これに接続されるノード(例えば、サーバ又はストレージ)の存在及びその関係を自動的に判定し、この情報をデータベースに格納する。また、本発明の例示的実施形態は、データベース内に記憶されているネットワークとノードの関係を連結させることにより、LAN=サーバ=SAN=ストレージ間のマッピングのエンドツーエンドトポロジーデータを生成する。例示的実施形態では、生成されたデータに基づき、ネットワーク及びノードが、列及び行の格子にしたがってレイアウトされ、ユーザーインターフェース内にアイコンで表示される。また、ネットワークとノードの関係は、ユーザーインターフェース内に接続ラインを表示することによって示され、これによって、格子状の「マトリクス」又は「リスト」形式の表示に似た態様でトポロジーを表示する、システムのグラフィカルトポロジー表示が提供できる。
【0011】
例示的実施形態では、本発明によって生成されかつ表示されるグラフィカルユーザーインターフェースは、「行」及び「列」から成る。インターフェースの列はシステム層から成りかつシステム層を表すものであり、典型的には、各列が表す層に合わせて、ユーザーインターフェース内の所定の位置に置かれる。ユーザーインターフェース内に設定されるシステム層の列には、バックボーンネットワーク列、LAN列、計算機(例えば、サーバ)列、SAN列、及びストレージ列が含まれる。アイコンや関連又は接続ラインは、特定の行、及び、ネットワークやスイッチ、サーバ、ストレージ等のノードのオブジェクトに合わせて位置合わせされており、オブジェクトはリストの「セル」に対応している。したがって、アイコンは、所定の列と可変数の行から形成される格子に合わせてレイアウトされる。使用される行数は、表示が必要なシステムコンポーネントアイコンの数によって増減してよく、各層タイプのアイコンはそれぞれの列内にリストされる。
【0012】
本発明の例示的実施形態では、「トポロジーリスト」である格子に合わせてオブジェクトを表示することにより、無駄なスペースや重複したスペースが表示から削除されるため、システム内のより多くのオブジェクトを一度に表示でき、なおかつ、システムトポロジを正確かつグラフィカルに表すことができる。さらに、本発明の実施形態にはリスト形式のトポロジー表示が含まれるため、ITシステム内のアイテムのソートやフィルタリングといった機能を表示されたシステムに適用することができる。その結果、本発明の実施形態によって、システム可用性及び性能の管理効率を向上させ、ITシステムの状態及び健康状態の日常的監視や、発生しうる問題の分析、問題の解決策の決定、といったタスクを支援する、ユーザーインターフェースが提供される。
【発明を実施するための形態】
【0013】
実施形態1
【0014】
例示的ハードアーキテクチャ
【0015】
図1は、本発明が実施されうるハードアーキテクチャの一例を示している。システム全体は、管理計算機100と、管理対象システム110(つまり、管理の目的物である情報システム)とからなる。管理計算機100と管理対象システムは、ローカルエリアネットワーク又はワイドエリアネットワーク(LAN又はWAN)120を介して接続されていてよく、あるいは、通信を可能にする他の方法で接続されていてもよい。
【0016】
管理計算機100は、CPU101と、メモリ及びストレージ102と、ネットワークインターフェース103と、キーボード、マウス、その他を含みうる一つ以上の入力デバイス104と、モニタ又は同等物であるディスプレイ105と、を有するサーバ又はその他汎用計算機であってよい。通常、管理計算機100は、システム管理者が管理対象システム110を管理するために使用する計算機端末である。管理対象システム110は、一つ以上のネットワークを構成するネットワークスイッチからなる情報システムであり、システム管理者によって管理計算機100から管理される対象又は目的物であるサーバとストレージシステム/デバイスとを含んでいる。管理対象システム110の例示的な詳細は、図3を参照しながら以下に記載する。
【0017】
管理計算機の論理エレメント構造
【0018】
図2は、管理計算機上に提供されうるソフトウェア及び論理エレメント構造の例示的実施形態を示している。本発明のモジュール及びデータ構造は、管理計算機100、携帯型媒体、又はその他の場所に存在する、メモリ/ストレージ102又はその他の計算機読取可能な媒体に記憶されていてよい。ディスカバリモジュール201は、管理対象システム内に含まれる、スイッチ、サーバ及びその他計算機、ストレージシステム、アレイ等のデバイスを発見するように構成されている。情報収集モジュール210は、ディスカバリモジュールによって発見されたデバイスから、構成情報、デバイス間の接続、状態及び性能評価(メトリクス)等の各種情報を収集する。
【0019】
情報収集モジュール210によって収集されたデータは、データベース230に記憶される。データベース230は、収集されたデータと、本発明のトポロジーリスト・ビューを表すために使用される多数のテーブルと、を保持する。ネットワークテーブル500は、図6を参照しながら以下に記載するように、識別されたLAN及びSANについての情報を保持する。ノードテーブル600は、図7を参照しながら以下に記載するように、スイッチ、サーバ、及び、ストレージ等の識別されたノードを保持する。コンポーネントテーブル700は、図8を参照しながら以下に記載するように、ネットワークとそれに関連するスイッチの関係を維持する。接続テーブル800は、図9を参照しながら以下に記載するように、ネットワークとそれに接続するノードの関係を保持する。
【0020】
トポロジー表示モジュール220は、図4を参照しながら以下に記載するように、収集されたデータからエンドツーエンドトポロジーデータを生成するとともに、生成されたトポロジーデータをグラフィカルトポロジーリスト・ビューとして表示する、ソフトウェア及び/又はハードウェアである。トポロジー表示モジュール220は、トポロジーを作成し表示する際に、ワーキングデータを作成する。この形成され使用されるワーキングデータには結合接続データ1300が含まれ、この結合接続データ1300は、マトリクス、テーブル、又は二次元アレイとして表されてよく、また、データベース230に記憶される接続情報に基づいて生成された管理対象システム全体のエンドツーエンドトポロジーの集合体である。LANオブジェクトアレイ1419、SANオブジェクトアレイ1429、サーバオブジェクトアレイ1439、及び、ストレージオブジェクトアレイ1449は、図14に関連して後述するように、トポロジーリスト・ビューを形成及び表示する間にデータベース230から抽出される、各ネットワーク及びノードの情報を保持する。
【0021】
監視モジュール202は、管理対象システム110内で発生しうるイベントに関するデータを収集し維持する。例えば、監視モジュール202は、特定のサーバ、ストレージ、又は、スイッチが正しく動作しているか否か等、管理対象システム110内のデバイスから送られるイベントのイベントリストを維持することができる。また、根本原因分析モジュール203は、観察したイベントに基づき、管理対象システムのクリティカルポイントを自動的に判定する。報告モジュール204は、管理対象システム110のシステム健康状態について、オンデマンド又は定期的に、各種報告を行う。これらのモジュールは、管理対象システムのシステム可用性及び性能を管理するための管理ソフトウェアの一般的なコンポーネントとして機能する。
【0022】
管理対象システム構造
【0023】
図3は、管理計算機100によって管理されうる情報システム110のシステム構造の一例を示している。図3に示す特定の情報は本発明を説明するために用いられるが、当然のことながら、本発明の使用することで無限に多様な構成を有する情報システムを管理でき、本発明は特定の構成を有する管理対象システムに限定されることはない。例えば、本発明は、インターネットプロトコル(IP)及びファイバーチャネル(FC)プロトコル環境における説明がなされているが、これらとともに又はこれらに替えて、他の適切なプロトコルを使用してもよい。本発明の実施形態は、管理対象システムのトポロジーを表示するための例示的ユーザーインターフェースを開示するとともに、管理対象システム内のノードや他のアイテムから収集される情報からトポロジーをどのように表すのかという方法論も開示するものである。
【0024】
図3に示すように、管理対象システム110は、バックボーンネットワーク310、LAN330、サーバ又はその他の計算機340、SAN350、及び、ストレージ370から構成されうる。個々のスイッチ、計算機、又は、ストレージを、管理対象システム110内の「ノード」と呼ぶこともある。バックボーンネットワーク310は、それ自体にIPネットワーク構造を有し、このIPネットワークはIPスイッチのみからなり、サーバは接続されていない。例えば、図3では、バックボーンネットワークにスイッチ320−1及び320−2が含まれるが、これは、それらスイッチが他のスイッチにのみ接続し、サーバ340−1〜340−10のいずれにも接続されないからである。
【0025】
LAN330は、通信等を行うためにサーバ340に接続されたIPスイッチ320を含む情報システム内の、サブネットワークである。例えば、LAN330−1は、IPスイッチ320−2、320−3、及び、320−4からなり、これらスイッチ320−2、320−3、及び、320−4にサーバ340−1〜340−6が接続されている(したがって、LAN330−1に属する)。同様に、LAN330−2は、IPスイッチ320−5及び320−6からなり、これらスイッチ330−5及び330−6にサーバ340−7〜340−10が接続されている。よって、LAN330及びバックボーンネットワーク310は、クライアント計算機等との通信用にサーバ340が使用する、通信ネットワークである。サーバ340は、通信に使用されるデータの格納及び探し出しを可能にするとともに、サーバ340上で動作中のアプリケーションを走行させるために、SANに接続されてよい。本明細書中、サーバ340は、情報システム内の計算機ノードの典型的な使用事例として「サーバ」と呼ばれるが、当然のことながら、サーバ340は他のタイプの計算機であってよく、本発明は、クライアントに対してサーバとして動作する特定機能を有する計算機に限定されない。したがって、明細書全体を通じて、「サーバ」という用語は、計算機及び計算機ノードという用語と同じ意味で使用され、また当然のことながら、この用語によって本発明が、サーバとしてのみ動作する計算機への適用に限定されることはなく、むしろ「サーバ」は、処理機能を実行するあらゆるタイプの計算機ノードを意味することができる。
【0026】
SAN350は、サーバ340をストレージ370に接続する情報システム内のサブネットワークとして機能する、ストレージエリアネットワークである。図3に示す実施形態では、SAN350−1は、IPスイッチ320−7及び320−8からなるIP SANである。例えば、このタイプのSANには、Network Attached Storage(NAS)又はiSCSI(IP Small Computer System Interface)タイプのストレージを接続することができる。サーバ340−1〜340−7はSAN350−1に接続されている。また、SAN350−2は、FCスイッチ360を含むFC SANである。このタイプのSANには、ファイバチャネルタイプのストレージ、例えば、高性能FCディスクドライブを有するストレージを接続することができる。図示する実施形態では、サーバ340−8、340−9、及び340−10がSAN350−2に接続されている。したがって、両ストレージ370は、IP又はFCネットワークを使用して通信を可能にするタイプのものである。ストレージ370−1は、例えば、コントローラ又はNASヘッドと、SATAタイプ又は他の適切なタイプの複数のディスクドライブと、を有するストレージシステムであってよく、ストレージ370−2は、コントローラと複数のFCディスクドライブとを有するストレージシステムであってよい。本発明には他のタイプのストレージシステムを使用することもでき、本発明は特定のストレージタイプに限定されない。
【0027】
トポロジー表示(トポロジーリスト・ビュー)を有するユーザーインターフェース
【0028】
図4は、トポロジーリスト・ビューを提供するグラフィカルユーザーインターフェース150の一例を示しており、このトポロジーリスト・ビューは、図3を参照して上述した情報システムのトポロジーを、従来技術で利用できるインターフェースを改良した態様で表示するものである。トポロジーは、情報システム内で互いにリンクされる機能コンポーネント又はオブジェクトの関係をグラフィカルに示すものである。図4に示すユーザーインターフェースは、システム内のオブジェクトを表すノード及びネットワークアイコンを使用するとともに、これらオブジェクト間の接続を直線又は階段状の接続ラインを使用して表すことにより、バックボーンネットワークから各ストレージデバイスに至るまでの、管理対象システムのトポロジーを示している。好適実施形態では、本発明のユーザーインターフェースは、「マトリクス」又は「リスト」形式の表現に似た方法でシステムオブジェクトを表しつつ、ユーザーが把握しやすいグラフィカルな接続表示を維持することができる。これは、所定の高さを有する可変数の行と、表示すべき各種エレメント(つまり、バックボーンネットワーク、LAN、計算機ノード、SAN、及び、ストレージノード)各々に対応する所定数の列と、を有する格子に合わせて、トポロジーをレイアウトすることにより、達成できる。
【0029】
図示する実施形態では、ユーザーインターフェース150は、情報システムの五つのクラス又は層を表す五つの所定列を含んでいる。これらの列は、バックボーンネットワーク列411、LAN列412、計算機(又はサーバ)列413、SAN列414、及び、ストレージ列415からなっている。本実施形態で示す列の順、特に、図示する順に互いに隣接して表示されるLAN=計算機=SAN=ストレージ列の順によって、システムの高密度トポロジー・ビューの生成が可能になる。したがって、管理対象システム内の各機能オブジェクトは、ユーザーインターフェース150の列411〜415のうちの一つに分類されるとともに、管理対象システムの一層に属するものとして識別されうる。また、接続ラインは、所定の列に置かれたオブジェクト間に生成され、かつ、特定の「行」によって位置合わせされる。スイッチ320、360、サーバ340、及びストレージ370等の管理対象システムのオブジェクトは、それぞれの列にレイアウトすることにより、インターフェース内の対応するセル又はアイコン内にリスト状に表示される。本発明は、このようにシステムオブジェクトをリストとして表示することで、スクリーン上の冗長スペースや無駄なスペースを省き、またこれによって、一度により多くのオブジェクトを表示でき、なおかつ物理的なシステムトポロジを表示することができる。
【0030】
バックボーンネットワーク列411には、バックボーンネットワーク310を構成するスイッチ320−1、320−2をそれぞれ表すIPスイッチアイコン420−1、420−2が含まれる。好適には、各スイッチアイコン420は長方形のセルで表され、例えばスイッチ420−1の場合は「ipsw1」のように、当該スイッチの英数字のスイッチ識別子421を含むことができる。図4に示す例では、バックボーンネットワーク列411のスイッチノードアイコン420は、一つのリスト内にリストされるだけであって、例えばバックボーンスイッチがネスト化したネットワーク関係等を有している場合であっても、ネットワーク構造に合わせて表示されるようなことはない。これは、バックボーンネットワーク自体の構造が、通常、管理対象システム110に関して実行される可用性及び性能管理タスクに不可欠なものではないためである。したがって、バックボーンスイッチアイコン420とLAN列412のスイッチアイコン420とを接続するラインを表示する必要がない。ただし、他の実施形態として、スイッチアイコン420を、以下に記載するLAN列412内の配置と同様に、各ネットワーク長方形に合わせて接続ラインとともに表示することもできる。
【0031】
LAN列412には、管理対象システム110内にある、SANとして定義されないすべてのサブネットワーク(つまり、LAN)が縦方向に表示されている。通常、これらサブネットワークにはいくつかのサーバ又は他の計算機が接続されており、実施形態によってはさらにストレージも接続されて、サーバ間の通信、管理対象システム外部にあるクライアント計算機との通信、管理計算機100との通信等に使用される。これらサブネットワークを定義するとともに、情報システム内の特定のサブネットワークがLANであるか又はSANであるかを判定する方法を、以下に示す。
【0032】
各LANアイコン430は、ネットワークアドレス識別子431持つ長方形のセルを有し、当該サブネットワークを構成するIPスイッチ320のスイッチアイコン420を含んでいる。例えば、LANアイコン430−1は、IPスイッチ320−2〜320−4をそれぞれ表すスイッチアイコン420−2〜420−4を含み、これによって、図3のLAN330−1を表している。同様に、LANアイコン430−2は、IPスイッチ320−5、320−6をそれぞれ表すスイッチアイコン420−5、420−6を含み、これによって、図3のLAN330−2を表している。各LANオブジェクトアイコン430は、その識別子又は名称として、ネットワークアドレス431又はその他英数字の識別子を表示できる。なお、識別子「ipsw2」を有するIPスイッチ320−2は、図3に示すように、バックボーンネットワーク310の一部でありかつLAN330−1の一部でもあるため、ユーザーインターフェース150においては、バックボーン列411及びLAN列412の両方において、スイッチアイコン420−2で表されている。
【0033】
ユーザーインターフェース150内の各LANアイコン430(及び、後述するSANアイコン450)の高さは、少なくとも部分的には、当該サブネットワークに接続されているサーバ及びストレージの数、及び、後述するように、これらを表す対応するアイコンの数、によって決定される。各LANアイコン430に対して夫々対応する高さを定義することにより、インターフェース150の管理者又は他のユーザーは、左右横方向のビューイング技術を使用して、当該サブネットワークとこのサブネットワークに接続される対応サーバ及びストレージとの関連を容易に認識することができ、表示を垂直方向に調節する必要がない。
【0034】
計算機列413には、計算機ノード(サーバ)アイコン440が縦方向に表示されている。好適には、各計算機ノードアイコン440は長方形のセルで示され、例えば計算機ノードアイコン440−1の場合は「srv1」のように、当該計算機に対する英数字の計算機識別子441を含むことができる。計算機ノードアイコン440は、出来る限りにおいて、その計算機が接続されている特定LANのLANアイコン430に隣接してリストされる。例えば、計算機ノードアイコン440−1〜440−6は、図3に示すように、LAN330−1に接続されたサーバ340−1〜340−6をそれぞれ表わしている。したがって、図4に示すように、計算機アイコン440−1〜440−6は、LAN330−1を表すLANアイコン430−1に接続される。同様に、サーバ340−7〜340−10を表す計算機ノードアイコン440−7〜440−10は、LAN330−2を表すLANアイコン430に接続される。
【0035】
SAN列414には、管理対象システム110内の全てのIP又はFC SANを表わすSANオブジェクトアイコン450が含まれる。SANは、計算機340をストレージノード370に接続する、又は、ストレージノード370を互いに接続する、ネットワークとして定義されうる。上述したサブネットワークのLANオブジェクトアイコン430と同様、各SANオブジェクトアイコン450は、上部付近にネットワークアドレスを識別するための英数字のSAN識別子451を有する長方形のセルで表わされる。SANアイコン450の長方形のセルもまた、ユーザーインターフェース150の表示内において、接続された計算機又はストレージノードの数に応じた所定の高さを有しうる。各SANアイコン450には、IPスイッチアイコン420又はFCスイッチアイコン460が含まれる。例えば、SANアイコン450−1は、図3のSAN350−1を形成するスイッチ320−7及び320−8に対応するIPスイッチアイコン420−7及び420−8を含んでいる。同様に、SANアイコン450−2は、図3のSAN350−2を形成するFCスイッチ360に対応するFCスイッチアイコン460を含んでいる。各FCスイッチアイコン460は、英数字のFCスイッチ識別子461を有する長方形のセルで表すことができる。
【0036】
ストレージ列415にはストレージノードアイコン470が含まれ、情報システム内のストレージノードを縦方向に表している。好適には、各ストレージノードアイコン470は長方形のセルで表され、例えばストレージアイコン470−1の場合は「strg1」というように、当該ストレージノードを示す英数字のストレージ識別子471を含んでいる。図示する例では、ストレージ370−1を表すストレージアイコン470−1は、SAN350−1を表すSANアイコン450−1に接続され、これによって、図3に示す関係を表している。同様に、ストレージアイコン470−2はSANアイコン450−2に接続され、これによって、図3の、ストレージ370−2がSAN350−2に接続されている関係を表している。
【0037】
サブネットワーク(例えば、LAN、SAN)とノード(例えば、サーバ、ストレージ)の接続は、ユーザーインターフェース150において、水平方向の接続ライン490及び階段状の接続ライン491で表される。ネットワークオブジェクトアイコン430、450(つまり、長方形のセル)は、接続されているサーバノードアイコン及び/又はストレージノードアイコンの数に応じて規定される高さで描画されるため、各接続ライン490、491を明確に描くためのスペースが十分に存在する。これにより、インターフェース150の一部のユーザーが、密集して描画されたラインを誤って解釈し、関連の解釈を間違えることから生じるエラーが少なくなる。図の実施形態に示される4種類の接続とは、(a)LANと計算機、(b)計算機とSAN、(c)SANとストレージ、(d)LANとストレージ、の接続である。本実施形態では、計算機ノードとストレージノードとの直接的な(つまり、SANを介さない)接続はユーザーインターフェース150に表示されず、代わりに、計算機ノードに直接接続されるストレージノードは、それ自体が計算機ノード内の内部ディスクであるかのように扱われる。ただし、他の実施形態として、計算機ノードとストレージノードとの直接的な接続関係をユーザーインターフェース150上で表示することもできる。
【0038】
ネットワークアイコン、ノードアイコン等の各アイコン、又は、接続ライン上に、追加情報を表示することもできる。例えば、可用性管理及び性能管理に役立てるように各アイコンが提供しうる追加情報として、ノードの健康状態、OSタイプ等の構成情報、接続の冗長性、等が含まれる。追加情報は、情報収集モジュール210や監視モジュール202によって、システムから検索することが出来る。したがって、各スイッチアイコン420、460、ネットワークアイコン430、450、計算機アイコン440、ストレージアイコン470、又は、接続ラインは、そのアイコン等が示す装置の状態を示す状態インジケータ480等の状態インジケータを含んでもよい。例えば、関連する装置が適切に機能している場合、状態インジケータ480はチェックマークを表示し、また/又は、緑色で表示されてもよい。また、装置が適切に機能していない場合、状態インジケータの色又は形を変えてよく、例えば、計算機アイコン440−4の状態インジケータ480が示すように、状態インジケータの色を赤色等に変えたり、チェックの代わりに「×」を表示してもよい。また、状態インジケータ480は、ある装置がクリティカルレベル付近で機能しているがまだ故障してはいない場合に、黄色に色を変える等して警告レベルを含むようにしてもよい。また、ユーザーインターフェース内の特定のアイコンに他の情報を関連付けてもよく、図4に示す実施形態は、数多くの実現可能な実施形態の一例でしかない。
【0039】
実施形態の一例が図4に示される本発明のユーザーインターフェース150は、本明細書で「トポロジーリスト・ビュー」と呼ぶものにおいて、システムトポロジを表示する。このような特徴が適切である理由は、システム内の接続関係が把握しやすいように本発明のトポロジーがグラフィカルに表示される一方、行と列の格子に合わせてコンポーネントが配置され、トポロジー表示が情報システム内のコンポーネントのリスト又はマトリクスに似ているからである。ユーザーインターフェースは本発明に基づいて配置されるため、表示を水平方向に調節することなく、フロントエンドコンポーネントからバックエンドコンポーネントまですべてを計算機ディスプレイ105上で見ることができる。特に、五つの列、つまり、バックボーン列411、LAN列412、計算機列413、SAN列414、及び、ストレージ列415はすべて、標準サイズの計算機ディスプレイに読みやすい状態で収まるため、水平スクロールバーを使用しなくても容易に見ることが出来る。また、ユーザーインターフェースにおいて、右側に従来の垂直スクロールバー495を備えたり、また/又は、下部のトレイ内等に上/下矢印ボタン494を設けることにより、トポロジーの一部がユーザーインターフェースの表示エリア内で見られない場合に、表示されているトポロジーをユーザーが上下、垂直方向に動かすことができるようにしてもよい。
【0040】
ユーザーインターフェースを生成するためのデータ構造及び処理
【0041】
本発明の実施形態は、リスト状のグラフィカルトポロジー表示を含む新しいユーザーインターフェースを生成及び表示するものである。このユーザーインターフェースを生成及び表示するためのデータ構造及び処理を次に説明する。
【0042】
管理対象デバイスの発見及び使用されるモデル
【0043】
管理対象システム110内の各スイッチ、計算機、及び、ストレージデバイスの発見は、トポロジー表示を生成するために初めに行われる。情報システムに含まれるデバイスの情報を収集する従来技術は数多く知られており、その一例として、Chang氏他による米国特許第7,249,347号があり、同特許は、本記載により本明細書中に組み込まれる。よって、ディスカバリモジュール201が実行するステップの詳細は、詳述する必要がない。
【0044】
管理対象システム110に含まれるデバイスがディスカバリモジュール201によって発見されると、発見されたデバイスのリストが生成され、このリストには、本発明に基づき生成されるユーザーインターフェースを使用する管理の対象となる、管理対象システム内のすべてのデバイスが表示される。その後、情報収集モジュール210は、各デバイスから情報を収集して、LANやSAN等のネットワーク310、330、350と、サーバやストレージ等のノード340、370との間のすべての接続を判定する。その後、情報収集モジュール210は、収集された接続情報及び収集されたデバイス情報を、データベース230のテーブル500、600、700、及び、800を生成することにより、使用可能な形で格納する。各テーブル間の関係及びデータ構造については、図5〜図9を参照しながら、以下に詳しく記載する。
【0045】
図5A〜図5Bは、管理対象システムのシステムトポロジに関連するデータを記憶するためのデータモデル及びDBテーブル間関係の例を示している。スイッチ及びノードを発見し、システム内のデバイスから情報を収集した後、管理対象システムのトポロジーは、図5A〜図5Bに示すモデルを使用して、分解され、DB230に記憶される。
【0046】
図5Aは、管理対象システム内のスイッチとネットワークの関係を識別及び判定するための、ネットワークテーブル500と、ノードテーブル600と、コンポーネントテーブル700の関係を示している。ネットワークテーブル500は、あるサブネットワークがLAN又はSANのどちらに分類されるか等、ネットワークオブジェクトについての情報を記憶する。ノードテーブル600はノードオブジェクトについての情報を有し、図5Aのモデルでは、ノードオブジェクトはスイッチに該当する。コンポーネントテーブル700は、ネットワークと各ネットワークに含まれるスイッチとの間のマッピングを表す情報を記憶する。
【0047】
図5Bは、管理対象システム内の計算機及びストレージノードとネットワークとの関係を識別及び判定するための、ネットワークテーブル500と、ノードテーブル600と、接続テーブル800との関係を示している。ネットワークとそれに接続するサーバ及びストレージのモデルは、ネットワークと、サーバ及びストレージノードとの相互接続を示すテーブルを含む。ネットワークテーブル500は、ネットワークがLAN又はSANのどちらに分類されるか等、ネットワークオブジェクトについての情報を記憶する。ノードテーブル600は、ノードオブジェクトについての情報を記憶し、このモデルでは、ノードオブジェクトとは計算機又はストレージに該当する。接続テーブル800は、ネットワークとそれに接続される計算機又はストレージとの間のマッピングに関する情報を記憶する。
【0048】
ネットワークテーブル
【0049】
図6は、ネットワークテーブル500のデータ構造の一例を示している。ネットワークテーブル500は、管理対象システム110内のLAN及びSAN両方のレコードを保持している。ネットワークテーブル500は、ネットワークを識別するための内部IDであるネットワークIDエントリ510と、ネットワークを識別するためにスクリーン上のユーザーインターフェース内に表示される記述であるネットワーク名エントリ520と、当該ネットワークがIP又はFCネットワークのどちらであるかを特定するネットワークタイププエントリ530と、そのネットワークが本発明に基づきLAN又はSANのどちらに分類されるかを特定する表示タイプエントリ540と、を含む。例えば、あるIPサブネットワークは、LAN又はIP SANのどちらかとして使用できる。図6に示す例において、行591は、ID510が「Net1」であり、名称520がIPアドレス「10.10.33.0」であるネットワークのレコードを表している。ネットワーク「Net1」は「IP」ネットワークタイプであり、「LAN」として分類されている。行592は、「Net2」と名付けられたネットワークを示しており、「Net1」と似ているが、異なるIPアドレスを名称520に持つネットワークである。行593もまた、行591〜592と同様に「IP」ネットワークを示しているが、このネットワークはLANではなく「SAN」として使用される。また、行594は、IPネットワークではなく「FC」ネットワークのレコードを示している。
【0050】
ノードテーブル
【0051】
図7は、ノードテーブル600のデータ構造の一例を示している。ノードテーブル600は、スイッチノード320、350、計算機ノード340、及び、ストレージノード370に関する情報を保持する。ノードテーブル600は、ノードを識別するために使用される内部識別子を表示するノードIDエントリ610と、ノードを識別するためにユーザーインターフェース150内に表示される記述を提供する名称エントリ620と、ノードがスイッチ、計算機(例えば、サーバ)、又は、ストレージノードのいずれであるかを特定するためのノードタイプエントリ630と、を含んでいる。例えば、行691は、ノード内部ID610が「Node1」であり、ノード名620が「ipsw1」である「スイッチ」ノードのレコードを示している。同様に、行692は「サーバ」ノードのレコードであり、行693は「ストレージ」ノードのレコードである。
【0052】
コンポーネントテーブル
【0053】
図8は、コンポーネントテーブル700のデータ構造の一例を示している。コンポーネントテーブル700は、ネットワーク内のスイッチの構成を表している。コンポーネントテーブル700は、コンポーネントを識別するのに使用される内部識別子を提供するコンポーネントIDエントリ710と、当該コンポーネントに含まれるノードに対応するネットワークのIDを提供するネットワークIDエントリ720と、当該コンポーネントに含まれるノードを識別するノードID730と、を含んでいる。例えば、行791は、IDが「Cmp1」であるコンポーネントのレコードを表しており、「Node1」で識別されるノードは、ネットワークIDが「Net1」であるネットワーク内のコンポーネントであることを示している。同様に、行792は、コンポーネント「Cmp2」のレコードであり、「Node4」として識別されるノードもネットワーク「Net1」内のコンポーネントであることを示している。行793は、コンポーネント「Cmp3」のレコードであり、「Node10」で識別されるノードが、ネットワーク「Net2」のコンポーネントであることを示している。したがって、コンポーネントテーブルにより、ネットワークテーブル500内で識別されたサブネットワークと、当該識別されたネットワークに含まれかつノードテーブル600内で識別されたノードとが関連付けられる。
【0054】
接続テーブル
【0055】
図9は、接続テーブル800のデータ構造の一例を示している。接続テーブル800は、ネットワークとサーバ及びストレージノードとの間の接続を表している。接続テーブル800は、接続を内部で識別するのに使用される接続IDエントリ810と、対応するノードが接続されているネットワークを識別するネットワークIDエントリ820と、当該ネットワークに接続されるノードを識別するノードIDエントリ830と、当該ネットワークと当該ノードとの間の接続数を示す接続数840と、を含んでいる。例えば、行891は、接続IDが「Cnct1」である接続のレコードであり、ノードIDが「Node5」であるノードがネットワーク「Net1」に接続されていることを示している。接続が重複している場合、そのことを接続数840の列に表示することができる。いくつかの実施形態では、例えば、ポップアップダイアログで接続の重複を表示してもよく、管理者が対応する関連ラインを選択すると、スクリーン上にポップアップダイアログが表示されるようにしてもよい。
【0056】
ノード情報の収集とノード接続判定
【0057】
上述したように、情報収集モジュール210は、管理対象システム内の各デバイスから情報を収集し、ネットワークとノードの接続関係を判定する。情報収集モジュールは、収集された情報をデータベース230に格納し、テーブル500〜800を作成する。情報収集モジュール210は、ディスカバリモジュール201によって発見されかつ管理対象システム110内に存在すると確認されたデバイスのリストを有するため、情報収集モジュール210は、システム内の各デバイスから様々な状態及び属性(例えば、IPアドレス、MAC(Media Access Control)アドレス、HBA(Host Bus Adapter)、WWN(World Wide Name)、ポートWWN等のネットワークアドレスに関する情報)を取得することができる。情報収集は、WMI(Windows(登録商標) Management Instrumentation)、SNMP(Simple Network Management Protocol)、SMI−S(Storage Management Initiative − Specification)、又は、ベンダー独自の特定デバイス用インターフェース等、標準的なインターフェースを使用して実行することができる。また、情報収集モジュールは、SSH(Secure Shell)を使用してシステム内のサーバにログオンし、サーバから情報を取得することができる。
【0058】
各ノードからネットワーク関連情報を収集した後、情報収集モジュール210は、システム内のサブネットワーク及び当該サブネットワークを構成するノードがLAN又はSANのどちらに分類されるかを、収集された情報に基づき判定する。いくつかの実施形態では、例えば、ある複数のスイッチが異なるサブネットアドレスを有する場合は、これらスイッチが別々のサブネットワークの一部として(つまり、異なるLANを構成するものとして)識別される。例えば、図3では、LAN330−1のサブネットアドレスが10.10.33.0であり、LAN330−2のサブネットアドレスが10.20.33.0である。他の方法によりLAN内のスイッチを分類することも可能である。まず始めに、IPネットワークをLANとして分類し、FCネットワークをSANとして分類してもよい。その後、情報収集モジュール210が、LANとして分類されるIPネットワークの中に、実際はIP SANとして使用されているものがないかチェックする。
【0059】
図10は、IPネットワークがLAN又はIP SANのどちらに分類すべきか判定するための処理の一例を示している。ここで使用される基本的なルールは、IPネットワークにストレージデバイスが接続され、また、接続されたサーバ各々が他方で別のLANに接続されている場合、このようなIPネットワークをSANとして分類する、というものである。
【0060】
ステップ1000:上述したように、識別された各IPネットワークは、管理対象システム内のノードから収集された情報に基づき、初めはLANとして分類される。
【0061】
ステップ1010:処理は、リストからLANを選択し、このLANをSANとして再分類すべきかを判断する。システム内で識別されたすべてのLANがチェック済みになると、処理が終了する。
【0062】
ステップ1020:ストレージノード370から収集した情報にしたがい、選択されかつ現在評価中であるLANに接続されているストレージデバイスがあるかチェックする。一つ以上のストレージノードが当該LANに接続されている場合、処理はステップ1030へ進み、そうでない場合はステップ1010へ戻り、次のLANを選択して調査する。
【0063】
ステップ1030:管理対象システム内の計算機ノードから収集した情報にしたがい、評価中のLANに接続されている計算機ノードを識別する。
【0064】
ステップ1040:ステップ1030で識別された計算機ノードを一つ選択する。すべての計算機ノードが調査済みである場合、これは、調査された各サーバが別のLANにも接続されていることを意味するので、現在評価中のLANはSANとして分類でき、処理はステップ1060へ進み、そうではない場合、つまり、ステップ1030で識別されたすべての計算機ノードが調査済みという訳ではない場合は、処理はステップ1050へ進む。
【0065】
ステップ1050:ステップ1040で選択された計算機ノードが、評価中のLANへの接続の他に別のLANにも接続されている場合、処理はステップ1040へ戻り、次の計算機ノードを調査する。これに対し、調査中のサーバが、選択された調査中のLANにのみ接続されていることが分かった場合、調査中のLANは、SANではなくLAN(つまり、通信ネットワーク)として動作するものとしてみなされるため、残りの計算機ノードを調査する必要がなく、当該LANはそのままLANとして分類された状態で、処理はステップ1010へ進み、次のLANを選択して評価する。
【0066】
ステップ1060:評価中のLANに接続されている各計算機ノードが、別のLANにも接続されていると判定されると、ステップ1010で選択されたIPネットワークはSANとして分類され、処理はステップ1010へ戻って次のLANをチェックする。また、管理対象システム内のIPネットワークをLAN又はSANに分類しやすくするため、ユーザーインターフェースを提供して、IPネットワークの用途がSAN又はLANのどちらであるかを管理者が直接分類できるようにしてもよい。
【0067】
上述した方法を通して、管理対象システム内のノード及びネットワークが識別され、接続タイプ及びネットワークタイプが判定される。その後、情報収集モジュール210は、この情報をデータベース230に記憶する。管理対象システム内のサーバ、スイッチ、及び、ストレージから取得した情報に基づき、情報収集モジュールは、ノードテーブル600上に新たなレコードを作成し、情報を記憶する。また、識別されたLAN/SANネットワーク情報に基づき、情報収集モジュール210は、収集されかつ判定された情報を使用して、ネットワークテーブル50上に新たなレコードを作成する。さらに、情報収集モジュールは、スイッチ320、350がどのネットワークに属するかに基づいてコンポーネントテーブル700上に新たなレコードを作成するとともに、各計算機340又はストレージ370がどのネットワークに属するかに基づいて接続テーブル800上に新たなレコードを作成する。
【0068】
ディスカバリ及びデータ収集処理が完了すると、管理対象システムの全トポロジー情報がデータベース230に記憶されたことになる。ディスプレイ105上にトポロジーリスト・ビューを表示する要求が管理者から出されると、トポロジー表示モジュール220は、データベース230からオブジェクト及び接続情報を抽出し、抽出した情報を使用して、データベースから抽出した情報に基づく管理対象システムのトポロジーリスト・ビューを有するユーザーインターフェース150を作成する。
【0069】
トポロジーリスト・ビュー作成の処理
【0070】
データベースに記憶されたシステムトポロジー情報に基づいてユーザーインターフェース内にトポロジーリスト・ビューを作成し表示するステップについて、以下に記載する。後述するように、これらの処理はトポロジー表示モジュールによって実施される。図11は、トポロジーリスト・ビューを有するユーザーインターフェースを生成するために行われる全体的な処理を示している。
【0071】
ステップ1100:トポロジー表示モジュール220は、データベース230にクエリを送信して、ネットワークとノードの接続情報を抽出し、結合接続データ1300と呼ばれる一時データを構成する。このデータは、LANから計算機ノード、SAN、ストレージノードまでの間の接続が連結されたデータであり、図13に示すように、システム内のすべての接続に関する全体的なエンドツーエンドトポロジーが、一つのテーブル又はマトリクス内で結合されている。また、本ステップ中、スクリーン上に描画されるコンポーネントの順序を制御するため、データの行を作成及びソートしてもよい。
【0072】
ステップ1110:結合接続データ1300を行ごとに読み出し、メモリ上にオブジェクト(LAN/サーバ/SAN/ストレージ)インスタンスを生成する。これと同時に、各ネットワークオブジェクトに対してどれくらいの数のノードオブジェクトが接続されているかをカウントする。その後、このカウント値を、トポロジーリスト・ビュー内に描画されるネットワークオブジェクトの高さを決定するために使用することができる。
【0073】
ステップ1120:表示されたインターフェースの上部から下に向かって、ネットワーク及びノードオブジェクトをレイアウトする。オブジェクトを各行にレイアウトするに際し、トポロジー表示モジュール220は、図4に示す構成のように、ネットワーク及びそれに接続するノードをトポロジーリスト・ビュー内に配置し、オブジェクトを高密度に配置するのではなく水平方向のビューイングを可能にすることで、見やすさを実現する。
【0074】
ステップ1130:ネットワークとそれに接続されるノードの間に接続ラインを作成する。
【0075】
ステップ1140:バックボーンネットワーク、LAN、及び、SAN内に存在するスイッチをレイアウトする。
【0076】
結合接続データを作成
【0077】
本例では、バックボーンネットワーク内のスイッチは、他のトポロジーから独立して、全体の処理の最後に描画される。したがって、まず、LAN=サーバ=SAN=ストレージのトポロジーが作成される。
【0078】
本実施形態では、以下に記載するように、情報システム内の四つの基本層について、八つの基本トポロジータイプを描画することができる。
1 LAN=サーバ=SAN=ストレージがすべて、エンドツーエンドで接続。
2 LAN接続がなく、サーバ=SAN=ストレージ接続のみ。
3 ストレージ接続がなく、LAN=サーバ=SAN接続のみ。
4 LAN=サーバ接続
5 サーバ=SAN接続
6 SAN=ストレージ接続
7 LAN=ストレージ接続
8 サーバ=ストレージ接続
【0079】
図12は、これら八つのトポロジー接続タイプをマトリクス形式で示している。トポロジーパターンテーブル1200には、タイプエントリ1210、LAN列1220、サーバ列1230、SAN列1240、及び、ストレージ列1250が含まれる。したがって、行1291〜1298は、上述した八つのトポロジー接続例1〜8にそれぞれ対応しているように見える。この処理では、上述したタイプに一致する各接続を抽出するようにデータベース230にクエリを出し、各接続を一つのマトリクスに結合することによって、情報システム内の四つの基本層についてエンドツーエンド接続データを生成し、その後、エンドツーエンド接続データを結合してマトリクス又は他の形式に表示して、ユーザーインターフェースのトポロジーリスト・ビュー上で描画されるべきシステム内の各トポロジー構成を保持する。本明細書では、生成された一時データを結合接続データ1300と呼び、同データは、図13のマトリクスに示すように、マトリクス、テーブル、アレイ、又はその他で表されてよく、図3に示す例示的な管理対象システムに基づく例示的なエントリを有する。
【0080】
結合接続データ1300を生成するためにデータベース230に送るクエリは、上述した八つの接続タイプをそれぞれ要求するクエリから構成される。例えば、接続タイプ#4(つまり、LAN=サーバ接続タイプ)のレコードは、以下のサーチクエリにしたがって情報を選択することにより、収集される。
Table:Network.NetworkID =
Table:Connection.NetworkID and
Table:Node.NodeID = Table:Connection.NodeID
and
Table:Network.DisplayType = ‘LAN’and
Table:Node.NodeType =‘Server’
【0081】
上記において、「Table:Network」、「Table:Node」、及び、「Table:Connection」は、図6、図7、及び、図9に関連してそれぞれ記載したネットワークテーブル500、ノードテーブル600、及び、接続テーブル800、並びに、これらテーブル内の各種エントリに相当する。
【0082】
LAN=サーバ接続に対するクエリに対して、図12に関連して記載したように上記式を[LAN、サーバ、SAN、ストレージ]のフォーマットにしたがい使用して結果を得ると、[(LAN名)、(サーバ名)、NULL、NULL](つまり、各列において空白スペースは「NULL」というエントリを受け取る)という値が記載されたレコードが作成される。したがって、上記と同じ態様で、既述の七つの接続タイプをそれぞれ収集するように各クエリを送信することにより、一式の完成レコードが得られる)。クエリステートメント上では、これらレコードが、「UNION」("UNION”)(例えば、タイプ#1の接続を収集するためのクエリ)UNION(タイプ#2の接続を収集するためのクエリ)UNION、(タイプ#8の接続を収集するためのクエリ)によって連結される。クエリの間、実行結果レコードが英数字順にソートされる。この段階でそのようなソートを行うことにより、同一のネットワークオブジェクトが順に示され、それによって、一つの場所にレイアウトしやすくなり、また、ユーザーが所望のアイテムを読みやすくかつ見つけやすくなる。ソートは、左側の列を優先することで左から右へ行うことができ、始めにLAN名、次にサーバ名、その次にSAN名、最後にストレージ名によってソートする。ソート中、「NULL」というエントリは低い優先度で処理される。
【0083】
図13は、結合接続データ1300を作成するために生成されマトリクス内に結合された、接続データの一例を示している。レコードには、接続タイプに応じて、実際のLAN名、サーバ名、SAN名、及び、ストレージ名が記載される。したがって、システム内の各層のコンポーネント(LAN、計算機ノード、SAN、及び、ストレージノード)すべてのエンドツーエンド接続が、結合接続データ1300内にリストされる。空白のスペースには、NULLという値が記載される。例えば、行1391は、接続タイプ#1に一致する。例えば、第1のレコードは、LAN「10.10.33.0」にはサーバ「srv1」が接続され、このサーバ「srv1」がSAN「192.168.11.0」にも接続し、このSANにストレージ「strg1」が接続されていることを示している。一方、行1395は、接続タイプ#6に一致しており、最後のレコードは、ストレージ「strg11」がSAN「Fabric−5」に接続しているが、サーバやLANへの接続は現時点では見つからない又は存在しないことを示している。なお、実際には、実施形態によって、接続タイプ#3(LAN=サーバ=SAN)及び接続タイプ#5(サーバ=SAN)が存在しないこともあり、これは、ストレージが取り付けられていない状態では通常、SANは存在しないものとされるからである。また、上述したように、接続タイプ#8(サーバ=ストレージ)は、接続されたストレージが当該計算機ノードの内部ストレージと同じである、として扱われるため、既述の実施形態におけるユーザーインターフェースには表示されない。以下に記載する処理では、結合接続データ1300を使用することにより、管理計算機のメモリ上に各トポロジー表示を作成し、また、ディスプレイ105上にオブジェクト及び接続ラインを描画及び表示して、トポロジーリスト・ビュー150を有するユーザーインターフェースを作成する。
【0084】
オブジェクトインスタンスの生成
【0085】
トポロジー表示モジュールは、結合接続データ1300から作成されたマトリクスの上から順にレコードを一つずつ読み出すことによって、メモリ102上にネットワーク又はノードオブジェクトインスタンスを生成することができる。本処理の目的は、オブジェクトインスタンスを生成し、各ネットワーク(つまり、LAN及びSAN)に接続されているノード(つまり、サーバ及びストレージ)の数をカウントすることである。
【0086】
図14は、メモリ102上に一時的に記憶されている、ネットワーク及びノードオブジェクトのデータ構造の一例を示している。また、各オブジェクトインスタンスは、例えば、LANオブジェクト1410のインスタンス用のLANオブジェクトアレイ1419、SANオブジェクト1420のインスタンス用のSANオブジェクトアレイ1429、サーバオブジェクト1430のインスタンス用のサーバオブジェクトアレイ1439、及び、ストレージオブジェクト1440のインスタンス用のストレージオブジェクトアレイ1449等、各アレイ内のアレイ変数として記憶されてよい。
【0087】
各LANオブジェクトインスタンス1410は、ネットワークを識別するためにユーザーインターフェース上に表示される記述である名称1411と、当該LANオブジェクトが描画され始める行番号である開始行番号)1412と、当該LANオブジェクト1410に接続されているサーバオブジェクト名又はストレージオブジェクト名のいずれかをリストするアレイ型変数である接続ノード1413と、を含んでいる。このアレイの順序は、サーバオブジェクト及び/又はストレージオブジェクトを描画する際に参照される。LANオブジェクト1410はまた、当該LANオブジェクトがレイアウト又は再配置されたか(を示すレイアウト状態1414を含み、その状態としては、「初期状態」、「レイアウト済み」、「固定」の3タイプがある。「初期状態」は、オブジェクトがまだレイアウトされていないことを示し、「レイアウト済み」は、オブジェクトがレイアウトされたが、レイアウトを最適化するために再配置されうることを示し、「固定」は、オブジェクトがレイアウト済みでありかつ最適化中であっても再配置されるべきではないことを示している。
【0088】
各SANオブジェクトインスタンス1420は、ネットワークを識別するためにユーザーインターフェースに表示される記述である名称1421と、当該SANオブジェクトが描画され始める行番号である開始行番号1422と、当該SANに接続されているサーバのサーバオブジェクト名をリストするアレイ型変数である接続サーバ1423であって、このアレイの順序はサーバを描画する順番を決める際に使用される、接続サーバ1423と、当該SANに接続されているストレージのストレージオブジェクト名をリストするアレイ型変数である接続ストレージ1424と、当該SANオブジェクトがレイアウト又は再配置されたかを示すレイアウト状態1423と、を含んでいる。
【0089】
各サーバオブジェクトインスタンス1430は、サーバを識別するためにユーザーインターフェースに表示される記述である名称1431と、当該サーバオブジェクトが描画される行番号である行番号1431と、当該サーバオブジェクトがレイアウト又は再配置されたかを示すレイアウト状態1433と、当該サーバから複数の異なるLANに複数の接続ラインが描画される際に使用されるオフセット値である左側オフセット1434と、当該サーバから異なるSANに複数の接続ラインが描画される際に使用されるオフセット値である右側オフセット1435と、を含んでいる。これらオフセットについて、図面の説明もまじえて、以下に説明する。
【0090】
各ストレージオブジェクト1440は、ストレージを識別するためにユーザーインターフェースに表示される記述である名称1441と、当該スレージオブジェクトが描画される行番号である行番号1442と、当該ストレージオブジェクトがレイアウト又は再配置されたかを示すレイアウト状態1443と、当該ストレージオブジェクトから複数の異なるLAN又はSANに複数の接続ラインが描画されている際に使用されるオフセット値である左側オフセット1444と、を含んでいる。
【0091】
図15は、オブジェクトインスタンス生成を行うための処理の一例を示している。図15で使用される「LAN.接続ノード」という表現は、LANオブジェクトインスタンス1410の接続ノード1413と名付けられたアレイ変数を指している。同様に、「SAN.接続サーバ」及び「SAN.接続ストレージ」という表現は、SANオブジェクトインスタンス1420のアレイ変数である、接続サーバ1423及び接続ストレージ1424をそれぞれ指している。
【0092】
ステップ1500:結合接続データからあるレコードを選択する。例えば、図13に示しかつ上述したように、結合接続データ1300は、ソートされたマトリクス又はテーブルとして編成されてよく、レコードは、一番上の第1レコードから始めて、下に向かって順番に選択するようにしてもよい。すべてのレコードが処理済みになると処理が終了し、そうでない場合は、ステップ1505に進む。
【0093】
ステップ1505:選択されたレコードについて、LAN情報、SAN情報、サーバ情報、又は、ストレージ情報が発見されると、処理はステップ1510へ進む。レコード内の発見されたすべての情報を処理し終えると、処理はステップ1520へ進む。
【0094】
ステップ1510:発見されたLAN、SAN、サーバ、又は、ストレージ情報が既にオブジェクトインスタンスとして生成されたかをチェックする。当該LAN、SAN、サーバ、又は、ストレージ情報についてオブジェクトインスタンスが既に生成されている場合、処理はステップ1505に戻り次の情報を処理し、オブジェクトインスタンスが既に存在しない場合は、ステップ1515へ進む。
【0095】
ステップ1515:オブジェクトインスタンスが既に存在しない場合に、(図14に関連して上述したように、)処理中のLAN、SAN、サーバ、又は、ストレージ情報に対して、新たなオブジェクトインスタンスを生成する。これを行うには、処理は、オブジェクトインスタンスにおいて、名称1411、1421、1431、又は1441を設定し、生成されたオブジェクトインスタンスをアレイ変数に追加する。
【0096】
ステップ1520:ステップ1500で選択されたレコードがサーバ情報を有し、そのサーバ情報が新たなサーバインスタンスである場合(つまり、ステップ1515においてサーバオブジェクトインスタンスが生成された場合)、当該サーバがLANに接続されているか(つまり、レコード内にLANも発見されるか)判定する。もし接続されていれば、処理はステップ1525に進み、そうでなければ、ステップ1530へ進む。
【0097】
ステップ1525:新たなサーバオブジェクトインスタンスの名称を、レコード内で発見されたLANインスタンスの接続ノードアレイ1413に追加する。
【0098】
ステップ1530:ステップ1500で選択されたレコードがサーバ情報を有し、このサーバ情報が新たなサーバインスタンスである場合(つまり、ステップ1515でサーバオブジェクトインスタンスが生成された場合)、当該サーバがSANに接続されているか(つまり、レコード内にSANも発見されるか)判定する。接続されている場合、処理は1535へ進み、そうでない場合は、ステップ1540へ進む。
【0099】
ステップ1535:新たなサーバオブジェクトインスタンスの名称を、レコード内で発見されたSANインスタンスの接続サーバレイ1423に追加する。
【0100】
ステップ1540:ステップ1500で選択されたレコードがストレージ情報を有し、このストレージ情報が新たなストレージインスタンスである場合(つまり、ステップ1515でストレージオブジェクトインスタンスが生成された場合)、当該ストレージがLANに接続されているか(つまり、レコード内にLANも発見されるか)判定する。接続されていれば、処理はステップ1545へ進み、そうでない場合は、ステップ1550へ進む。
【0101】
ステップ1545:新たなストレージオブジェクトインスタンスの名称を、レコード内で発見されたLANインスタンスの接続ノードアレイ1413に追加する。
【0102】
ステップ1550:ステップ1500で選択されたレコードがストレージ情報を有し、このストレージ情報が新たなストレージインスタンスである場合(つまり、ステップ1515でストレージオブジェクトインスタンスが生成された場合)、当該ストレージがSANに接続されているか(つまり、レコード内でSANも発見されるか)判定する。接続されていれば、処理はステップ1555へ進み、そうでない場合は、ステップ1500へ戻る。
【0103】
ステップ1555:新たなストレージオブジェクトインスタンスの名称を、レコード内で発見されたSANインスタンスの接続ストレージアレイ1424に追加する。
【0104】
オブジェクトのレイアウト及び描画
【0105】
図16A〜16Cは、本発明の好適な実施形態における、オジュジェクトのレイアウト及び描画の基本的なルールを示している。図示する実施形態では、ユーザーインターフェース150内の各オブジェクトの行の位置は、図15のオブジェクトインスタンス生成から決定された順番に基づいて、また、図13に示すソートされた結合接続データ1300のようなソートされた結合接続データに基づいて、決定することができる。よって、ノード又はネットワークのオブジェクトアイコンは、基本的に、各列411、412、413、414、415の上から下に向かって順番に描画されうる。各列411、412、413、414、415において、次のブジェクトが描画される行位置を示すポインタとして、行位置ポインタを保持してもよい、図16Aに示すように、例えば、計算機列412の下には、均一の高さを有する複数の行1615がある。行位置ポインタ1640は、この列において、オブジェクトアイコンが描画されうる次の行1615を示している。「行位置」は、以下に記載する処理の説明において、各行位置ポインタの変数の名称として使用される。
【0106】
また、ユーザーインターフェース150での表示用に各オブジェクトのアイコンを効率良くレイアウトして、表示内の密度を増加しかつ無駄なスペースを最小限にするとともに、その一方で、管理対象システム内のオブジェクト間の対応関係及び接続を明確かつ分かりやすく表示するために、レイアウトの最適化が必要である。トポロジーのレイアウトの最適化処理は、オブジェクトを行ごとに配置する間に実行するのが好ましい。例えば、まず最後の行にオブジェクトを配置した後、レイアウト最適化を実行することができる。例えば、接続されたオブジェクトアイコンを一行以上分下へ移動させることによって、階段状のラインを位置合わせして直線ラインを形成できるかチェックする。この再位置合わせを行うのは、本発明の前提に、ユーザーがトポロジー内の各種オブジェクト間の対応を迅速に把握し、かつ、インターフェース内の無駄なスペースを最小限にとどめるためには、ネットワークとノード間を直線ラインで接続するのが一番良い表示形式である、ということがあるからである。
【0107】
図16Bに示すように、オブジェクトの移動は、通常、一つ以上のオブジェクトを下へ移動させることによってのみ実行される。オブジェクト移動の前に、当該オブジェクトの下に他のオブジェクトが既に配されていないかチェックする。ただし、複数回に渡ってオブジェクトを下へ移動させると、表示されたユーザーインターフェース150内にオープンスペース又は無駄なスペースが大きくできてしまい、ユーザーがシステムトポロジを見にくくなってしまう。したがって、本実施形態では、最適化及び位置合わせのための移動は、各オブジェクトにつき一度に限定し、その後は、当該オブジェクトのレイアウト状態を「固定」に設定する。例えば、図16Bにおいて、サーバオブジェクトアイコン440は、最適化以前は、1611に示すように階段状ラインによってLAN430に接続されていた。最適化後は、サーバ440が下に移動され、直線ライン1612によってLANオブジェクトアイコン430に接続されている。
【0108】
図16Cは、本発明の実施形態において、オブジェクトアイコンをレイアウトするための固定列と可変数の行1615からなる格子をどのように使用すると、直線ライン接続が高密度トポロジー表示を提供できる場合に、接続されたアイコンが同じ行に置かれるかを示している。したがって、互いに接続された異なる層のオブジェクト(LAN、計算機ノード、SAN、ストレージノード)をそれぞれ表すアイコン430、440、450、及び、470が同じ行1615に位置合わせされるため、ユーザーインターフェースを水平方向で見ることでオブジェクト間の接続を簡単に見ることができ、ユーザーインターフェースを垂直方向にスクロールする必要がない。ユーザーインターフェース150にレイアウトされたアイコンのトポロジーは、結合接続データ1300内で識別されるエンドツーエンド接続に基づいているため、アイコンをマトリクス状に配置することができる。図示する実施形態では、行の高さは、計算機ノードアイコン及びストレージノードアイコンの高さに対応している。上述したように、LANアイコン及びSANアイコンの高さは、接続された計算機及び/又はサーバノードの数に対応している。例えば、図16Cに示すように、LANアイコン430aは、行の高さの整数倍に相当する高さを有するとともに、LANアイコン430aがレイアウトされた行には、三つのサーバノード440a、440b、440cがレイアウトされている。層タイプ列411、412、413、414、及び、415それぞれに対して行位置ポインタ1620、1630、1640、1650、及び、1670が設けられ、各アイコンを配することができる次の使用可能な行1615を示している。
【0109】
さらに図16Cに示すように、LANがSAN無しにストレージに接続されている場合は、特殊な最適化が行われる。LANアイコンからストレージアイコンに接続がある場合、接続ラインが計算機列413及びSAN列414の両方をまたぐため、レイアウトを他のケースとは少し異なる態様で扱う必要がある。図示するように、サーバイコン440a、440b、440c、SANアイコン450a、及び、ストレージアイコン470a、470bを含む、第1LANアイコン430aに接続されるオブジェクトがレイアウトされたと仮定する。次に、レイアウトされる次のLAN430bが、サーバ又はSAN無しに、ストレージ470cに接続されているとする。この時、ストレージ470cに接続されているLAN430bは、最も下に位置するサーバ440c又は最も下に位置するSANオブジェクト450aのどちらか低い方の下にレイアウトされなければならない。また、LAN行位置ポインタ1630は、次のLAN430cを配置するのに使用可能な、LAN列412の次の行へ移動される。SAN列414の行位置ポインタ1650もまた、レイアウト対象となる次のSAN450bが存在する場合に備えて、上記と同じ行へ移動する必要がある。その後、ストレージオブジェクトアイコン470c又はサーバオブジェクト440dが、図16cに示すように、最下位のサーバ又はSANオブジェクトの行の下の行に配置される。この移動ルールに従えば垂直方向の間隔が十分に維持されるため、図示するように、LAN430bからストレージ列415のストレージ470cへの接続ライン1614を描画することができる。なお、接続ライン1614を説明用に表示しているが、本実施形態では、後述するように、接続ラインの決定及び作成はこの段階では行われず後で行われる。また、後述するように、バックボーンスイッチ並びにLAN及びSAN内のスイッチ等、スイッチアイコンのレイアウトも後で行われる。さらに、ストレージ列415のストレージ行位置ポインタ1670は、最新のストレージオブジェクト470cの下で、かつ、LAN列412とストレージ列415との間に描画されうるサーバオブジェクト440d又はSANオブジェクトいずれかの下へ移動される。同様に、計算機列の計算機行位置ポインタ1640も、直近で描画されたサーバ440dの下に位置する、次の行へと移動される。
【0110】
したがって、本発明のユーザーインターフェースにオブジェクトをレイアウト及び描画することは、図16cに示すように、結合接続データ1300からレコードを取得するとともに、所定の複数列と各列における次に使用可能な行とに合わせてオブジェクトをレイアウトすること、を含んでいる。初めのレイアウトは結合接続データ1300にしたがって順次行われ、図16Bに示すように、各オブジェクトがレイアウトされるごとに当該レイアウトの最適化が行われる。LAN=ストレージ接続タイプは、図16Cに関連して上述したようにレイアウトされる。
【0111】
図17A〜図17Eは、トポロジー表示モジュール220によって行われる、上述のオブジェクトレイアウトを実行するためのオブジェクトレイアウト生成の処理の一例を示している。
【0112】
ステップ1700:行位置変数1620、1630、1640、1650、1670を初期化する。
【0113】
ステップ1710:結合接続データ1300からレコードを順に選択する。結合接続データ内のレコードがすべて処理されると、処理はステップ2100(図17E)へと進み、オブジェクト描画を行う。
【0114】
ステップ1720:選択されたレコード内にどのオブジェクト(例えば、LAN、サーバ、SAN、及び/又はストレージ)が存在するか判断する。
【0115】
ステップ1730:各アレイ変数から対応するインスタンスを取得する。
【0116】
ステップ1740:接続タイプがLAN=ストレージである場合、処理はステップ1900(図17C)へ進み、そうでない場合は、ステップ1750へ進む。
【0117】
ステップ1750:LANが存在しそのレイアウト状態1414が「初期状態」(つまり、まだレイアウトされていない状態)であれば、処理はステップ1760へ進んで当該LANをレイアウトし、そうでない場合、つまり、当該LANが既にレイアウト済みであれば、処理はステップ1810へ進む(図17B)。
【0118】
ステップ1760:LANの開始位置である、LAN.開始行番号を、LAN列412内の行位置ポインタ変数1630から決定されるLAN行位置に設定する。
【0119】
ステップ1770:当該LANに接続されているノード(つまり、サーバ又はストレージ)数をカウントする。
【0120】
ステップ1780:カウント値をLAN行位置に追加して、現在レイアウト中のLANの端部の次になる行を決定する。
【0121】
ステップ1790:LAN.レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【0122】
ステップ1810:現在処理中のレコード内にSANが存在し、かつ、SANレイアウト状態1425が「初期状態」に設定されている場合、処理はステップ1811に進み、そうでない場合は、処理はステップ1820へ進む。
【0123】
ステップ1811:SANの開始位置であるSAN.開始行番号を、SAN行位置ポインタ1650が現在示しているSAN行位置に設定する。
【0124】
ステップ1812:SANに接続されているストレージノード及びサーバノードの数をカウントする。
【0125】
ステップ1813:上記二つのうちどちらか大きい方の数を、SAN行位置に追加する。
【0126】
ステップ1814:SAN.レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【0127】
ステップ1820:サーバノードが存在しかつそのレイアウト状態が「初期状態」である場合、処理はステップ1821へ進み、そうでない場合、処理はステップ1827へ進む。
【0128】
ステップ1821:サーバの位置であるサーバ.開始行番号を、サーバ行位置ポインタ1640が現在示している行であるサーバ行位置に設定する。
【0129】
ステップ1822:サーバ行位置ポインタ1640をインクリメントすることにより、サーバ行位置をインクリメントする。
【0130】
ステップ1823:サーバ.レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【0131】
ステップ1827:当該レコード内にサーバ及びLANが存在し、かつ、このLANにストレージノードが直接接続している場合、処理はステップ1828へ進み、そうでない場合は、処理はステップ1830へ進む。
【0132】
ステップ1828:ストレージ行位置ポインタ1670をインクリメントすることにより、ストレージ行位置をインクリメントする(つまり、ストレージ行位置及びサーバ行位置は、ストレージが直接接続するLANに接続されているサーバ及びストレージオブジェクトをレイアウトする間に同時にインクリメントされる)。
【0133】
ステップ1829:サーバインスタンスがレイアウト状態1433において既に「レイアウト済み」又は「固定」となっている場合などで上記ステップ1822においてサーバ行位置がインクリメントされなかった場合、サーバ行位置をインクリメントする。
【0134】
ステップ1830:当該レコード内にストレージノードが存在し、かつ、そのレイアウト状態1443が「初期状態」である場合、処理はステップ1831へ進み、そうでない場合は、処理は図17Dのステップ2000へ進む。
【0135】
ステップ1831:ストレージの位置であるストレージ.開始行番号を、サーバ行位置ポインタ1670が現在示している行であるストレージ行位置に設定する。
【0136】
ステップ1832:ストレージ行位置ポインタ1670を次の行へインクリメントすることにより、ストレージ行位置をインクリメントする。
【0137】
ステップ1833:ストレージ.レイアウト状態を「初期状態」から「レイアウト済み」に設定する。
【0138】
図17Cのステップ1900〜1990は、サーバ又はSANとの接続を介さず直接ストレージに接続するLANがある場合の処理であって、図17Aのステップ1740から処理が移行された際の処理を示す。
【0139】
ステップ1900:LAN.レイアウト状態が「初期状態」(まだレイアウトされていない状態)である場合、処理はステップ1930へ進み、そうでない場合は、処理はステップ1910へ進む。
【0140】
ステップ1910:LAN.接続ノードが、既にレイアウト済みの別のストレージインスタンスを有するかをチェックする。そのような別のストレージインスタンスが存在する場合、処理はステップ1920へ進み(つまり、処理は、LANオブジェクトを現在の配置のままとし)、そうでない場合は、処理はステップ1930へ進む。
【0141】
ステップ1920:ストレージ.行番号を、現在のストレージ行位置ポインタ1670に対応する現在のストレージ行位置に設定し、ストレージ行位置とサーバ行位置の両方を、各ポインタ1640、1670をインクリメントすることにより、インクリメントする。
【0142】
ステップ1930:LANの開始位置を、サーバ(サーバ行位置)又はSAN(SAN行位置)のどちらか低い方の位置に設定する。
【0143】
ステップ1940:LANに接続されているサーバ及びストレージノードをカウントする。
【0144】
ステップ1950:カウント値をLAN行位置に追加する(つまり、LAN行位置ポインタを、LANオブジェクトの端部の次の行へインクリメントする)。
【0145】
ステップ1960:LAN.レイアウト状態を「固定」に設定する(つまり、この処理の完了した後は再配置されない)。
【0146】
ステップ1970:SAN行位置を、LAN行位置と同じ行に設定する。
【0147】
ステップ1980:ストレージ.行番号をLAN開始位置に設定し、また、ストレージ行位置及びサーバ行位置を、各行位置ポインタ1670、1640をインクリメントすることにより、次の行に設定する。
【0148】
ステップ1990:ストレージ.レイアウト状態を「レイアウト済み」に設定する。
【0149】
図17Dは、ステップ2000〜2065に記載される、レイアウト済みエレメントを最適化するために行われるステップを示している。
【0150】
ステップ2000:LAN=サーバ接続タイプが存在する場合、処理はステップ2005へ進む。
【0151】
ステップ2005:LANに接続されているサーバ及びストレージノードの数をカウントする。
【0152】
ステップ2010:サーバオブジェクト行番号が、LANの開始行と終了行の間にあるかチェックする。サーバオブジェクトが、LANの開始行と終了行の間の行にある場合、その位置は変更する必要がなく、処理はステップ2060へ進み、そうでない場合、つまり、サーバオブジェクトが上記範囲外にある場合は、処理はステップ2015へ進む。
【0153】
ステップ2015:サーバ又はLANオブジェクトのどちらがより上に位置しているか(つまり、前の行から開始しているか)を判定するために、位置を比較する。
【0154】
ステップ2020:LANオブジェクトが上に位置する場合、レイアウト状態1414が「固定」に設定されていないこと、及び、LANオブジェクトが、既にレイアウト済みのすべてのLANオブジェクトの中で現在最も下に位置していることをチェックする。
【0155】
ステップ2024:LAN.接続ノードに記憶されているサーバオブジェクトの位置(N番目)を見つけ、見つけた数字を変数Nに設定する。例えば、接続ノード数が5であることからLANアイコンが5行分に等しい高さを有するように判定され、サーバオブジェクトが3番目に接続されるノードであれば、本例では、変数Nが「3」となる。
【0156】
ステップ2025:サーバ行位置とLANのN番目の行の差分に等しい値である、「v_Diff」を計算する。
【0157】
ステップ2030:値「v_Diff」をLAN.開始行番号及びLAN行位置に追加し、その結果、LANオブジェクトは、「v_Diff」の量に等しい行数分、下へ移動する。
【0158】
ステップ2035:LAN.レイアウト状態を「固定」に設定する。
【0159】
ステップ2040:一方、サーバがより上に位置する場合、サーバのレイアウト状態が「固定」でないこと、及び、当該オブジェクトが、既にレイアウト済みの最も下位に位置するサーバ内に現在配置されていること、をチェックする。
ステップ2045:LANオブジェクトの開始位置とサーバオブジェクトの開始位置の差分である値「v_Diff」を計算する。
【0160】
ステップ2050:この値「v_Diff」をサーバ.行番号及びサーバ行位置に追加し、その結果、「v_Diff」の量に等しい行数分、サーバオブジェクトが下へ移動される。
【0161】
ステップ2055:サーバ.レイアウト状態を「固定」に設定する、つまり、以後の最適化においてもサーバは移動されない。
【0162】
ステップ2060:LANとサーバの間の接続に関して上述したステップ2000〜2055と同じ処理を用いて、サーバとSAN(もしあれば)の間の最適化を行う。サーバレイアウト状態1433が「固定」に設定されている場合は、上述したように、最適化中でもサーバオブジェクトは移動されない。
【0163】
ステップ2065:LAN=サーバ最適化、及び、サーバ=SAN最適化が完了すると、当該インスタンスのSAN=ストレージ接続をチェックする。SAN=ストレージ接続が存在する場合は、LAN=サーバ接続レイアウト最適化について上述したステップ2000〜2055を使用して、最適化処理が行われる。SANレイアウト状態1425が「固定」に設定されている場合は、最適化中でもSANオブジェクトは移動されない。
【0164】
図17Eは、ユーザーインターフェース内でのオブジェクトの実際の描画、つまり、表示生成を行うステップ2100〜2170を示している。
【0165】
ステップ2100:LANオブジェクトアレイ1419からLANオブジェクトインスタンス1410を選択する。LANオブジェクトインスタンスがない場合、又は、すべてのLANインスタンスが既に描画済みである場合、処理はステップ2120へ進む。
【0166】
ステップ2110:選択されたLANオブジェクトインスタンス用の長方形(つまり、長方形のセル)を開始行番号1412において描画し、この長方形の高さは接続ノード数に基づいて(接続ノード1413から)決定される。さらに、LANの名称1411を追加する。
【0167】
ステップ2120:すべてのLANインスタンスが描画されると、SANオブジェクトアレイからSANオブジェクトインスタンス1420を選択する。
【0168】
ステップ2130:選択されたSAN用の長方形(つまり、長方形のセル)を開始行番号1422において描画し、この長方形の高さは、接続サーバ1423の数又は接続ストレージ1424の数のうちどちらか大きい方の数に基づいて、決定される。さらに、SANの名称1421を追加する。
【0169】
ステップ2140:すべてのSANインスタンスが描画されると、サーバオブジェクトアレイからサーバオブジェクトインスタンス1430を選択する。
【0170】
ステップ2150:サーバオブジェクトインスタンス内に示される行番号1432において長方形(つまり長方形のセル)を描画する。さらに、サーバの名称1431をこの長方形に追加する。
【0171】
ステップ2160:すべてのサーバオブジェクトが描画されると、ストレージオブジェクトアレイからストレージオブジェクトインスタンス1440を選択する。
【0172】
ステップ2170:ストレージオブジェクトインスタンス1440内に指定される行番号1442において、長方形(つまり、長方形のセル)を描画する。さらに、ストレージオブジェクトインスタンスの名称1441をこの長方形に追加する。なお、本実施形態では、ユーザーインターフェース150へのスイッチアイコンのレイアウト及び描写は、後述するように、接続ラインの描画後に行われるが、別の態様として早く行うようにしてもよい。
【0173】
接続ラインの描画
【0174】
管理対象システムの各オブジェクトが表示生成用に描画されると、次に接続ラインが描画される。図18A〜図18Cは、本実施形態における、接続ラインの描画に用いられる基本ルールを示している。「(x、y)」座標などの座標を使用して、接続ラインの開始点及び終了点、さらに、階段状ラインの場合には中間点を指定するようにしてもよい。図18Aは、二つのオブジェクト2221、2222間の基本的な直線の接続ライン2210を示している。例えば、「x」軸座標「X1」及び「X2」は各オブジェクト2221、2222の端部である二つの異なる「x」軸位置を表し、一方、「y」軸座標は、行の開始点及び終了点がともに同じ「Y1」である。オブジェクトの端部にラインが1本のみ接続される場合、「y」座標をオブジェクトの中心に置くことができる。しかし、一つ又は二つのオブジェクトに複数のラインが接続される際は、「y」座標を上方又は下方へオフセットしてし、接続されているオブジェクトの対応する「y」座標も同量分オフセットすることによって、水平なラインを保つことができる。
【0175】
同様に、図18Bに示すように、二つのオブジェクト2223、2224が異なる行に存在するなどして同線上にない場合に、(x、y)座標を使用して、二つのオブジェクト間の階段状ライン2220を定義することもできる。階段状ライン2220は、それを定義する4組の(x、y)座標、つまり、(X1、Y1)、(X2、Y1)、(X2、Y2)、及び(X3、Y2)を使用して、描画される。本発明は、本実施形態において、ユーザーインターフェース150を見るユーザーに分かりやすいように、すべての接続ラインを直線ライン又は階段状ラインのどちらかに限定している。
【0176】
図18Cに示すように、異なる高さを有するオブジェクト間に階段状ラインを描画する際、上方向グリッド及び下方向グリッドを使用することもできる。例えば、トポロジー表示モジュール220は、上方向グリッド2235及び下方向グリッド2236を使用して、複数の階段状ライン間に所定の間隔を維持している。左から右へ上向きに接続する階段状ライン2230は上方向グリッド2235を使用してレイアウトされ、左から右へ下向きに接続する階段状ライン2240は下方向グリッド2236を使用してレイアウトされる。図示するように、上方向グリッド2235及び下方向グリッド2236は互いに横方向にオフセットされているため、接続ラインを多数描画しなければならない場合でも、ラインの垂直部分が重なることはない。
【0177】
図19A〜19Cは、本発明の本実施形態における、接続ラインを描画する処理の一例を示している。接続ラインを描画するステップは、基本的に、(1)LANとサーバ/ストレージノードの間のラインの描画、(2)サーバノードとSANの間のラインの描画、(3)SANとストレージノードの間のラインの描画、である。後述するように、ユーザーインターフェース150を生成するためのスイッチアイコンのレイアウト及び描画は、本実施形態では、接続ラインの描画の後に行われる。
【0178】
LANとサーバ/ストレージノード間のラインの描画
【0179】
ステップ2300:LANオブジェクト長方形の右端部である座標「X1」を初期化する。
【0180】
ステップ2310:LANアレイ1419からLANインスタンスを選択する。
ステップ2320:行変数「R1」を、LAN開始位置に等しく設定する。
【0181】
ステップ2330:図18Cに示すように、(LAN内で使用するために)グリッド位置変数を初期化する。例えば、上方向グリッド2235を最も左の位置に初期化し、下方向グリッド2236を最も右の位置(つまり、階段状ラインを描画する場合に、始めに使用される方向グリッド上の位置)に初期化する。
【0182】
ステップ2340:現在処理中のLANオブジェクトインスタンス1410のLAN.接続ノードアレイ1413から、ノード、つまり、サーバノード又はストレージノードのどちらか、を選択する。
【0183】
ステップ2350:サーバレイ1439又はストレージアレイ1449から、名称をもとに、対応するサーバノードインスタンス1430又はストレージノードインスタンス1440を見つける。
【0184】
ステップ2360:行変数「R2」を、見つけたノードインスタンスの行番号1432又は1442に設定する。
【0185】
ステップ2370:R1(LANのN番目の部分)とR2(サーバ/ストレージノード)が同じ行にある場合(R1=R2)、処理は図19Bのステップ2400へ進み、そうでない場合は、図19Cのステップ2500へ進む。
【0186】
ステップ2380:図19B又は図19Cの処理においてラインを描画した後、R1をインクリメントし、次のノードオブジェクトをチェックする。
【0187】
図19Bは、直線ラインを描画する場合、つまり、ステップ2370においてR1=R2である場合を示している。
【0188】
ステップ2400:ステップ2350で取得したサーバ又はストレージノードオブジェクトの左端部に、座標「X2」を設定する。
【0189】
ステップ2410:サーバ又はストレージノードインスタンスの左側オフセット値1434又は1444を取得し、当該インスタンスにおいてこの値を1インクリメントする。
【0190】
ステップ2420:座標「Y1」を、行R1のデフォルト位置に、ステップ2410で取得した左側オフセット値をプラスした値として設定する。
【0191】
ステップ2430:(X1、Y1)から(X2、Y1)へ直線ラインを描画し、その後、図19Aのステップ2380へ戻る。
【0192】
図19Cは、階段状ラインを描画する場合、つまり、ステップ2370においてR1≠R2である場合を示している。
【0193】
ステップ2500:座標「Y1」を行「R1」のデフォルト位置に等しく設定する。
【0194】
ステップ2510:座標「X2」を、階段状ラインの垂直部分をどこに描画するかを決定するためのx軸の値である「グリッド」値に等しく設定する。各ノードは、必要であれば各ノード自体のグリッド値を有してよく、したがって、グリッド値は、ステップ2350で見つけたインスタンス(サーバ又はストレージ)に基づいて、また、当該ノードがR1より上の行か下の行かに基づいて、サーバ用上方向グリッド、サーバ用下方向グリッド、ストレージ用上方向グリッド、又は、ストレージ用下方向グリッド、のうちの一つである。上方が使用されている場合、各グリッド値を1増やし、そうでない場合、つまり、下方が使用されている場合は、各グリッド値を1減らす。
【0195】
ステップ2520:サーバノードインスタンス1430又はストレージノードインスタンス1440の左側オフセット1434又は1444を取得し、その後、この左側オフセット値をインクリメントする。
【0196】
ステップ2530:座標「Y2」を、行「R2」のデフォルト位置にステップ2520で取得したオフセット値をプラスした値として設定する。
【0197】
ステップ2540:座標「X3」を、当該ノードオブジェクト長方形の左端部に等しく設定する。
【0198】
ステップ2550:3本のライン、(X1、Y1)−(X2、Y1)、(X2、Y1)−(X2、Y2)、及び、(X2、Y2)−(X3、Y2)を描画することにより、階段状ラインを描画する。階段状ラインの描画後、処理は、図19Aのステップ2380へと戻る。
【0199】
サーバとSAN間のラインの描画
【0200】
計算機ノードとSANオブジェクトの間に接続ラインを描画するステップは、図19A〜図19Cに示したステップをほぼ同じである。当然のことながら、LANインスタンスデータに代えて、SANインスタンスデータが使用される。また、SANアイコンの位置がサーバイコンの反対側であることから、行変数「R1」及び「R2」は入れ替えて使用する。
【0201】
SANとストレージ間のラインの描画
【0202】
SANオブジェクトとストレージノードオブジェクトの間に接続ラインを描画するステップは、図19A〜図19Cに示すステップとほぼ同じであるが、LANインスタンスデータに代えてSANインスタンスデータを使用する点、及び、ストレージオブジェクトインスタンスのみを考慮すればいい点を除く。
【0203】
スイッチのレイアウト及び描画
【0204】
本実施形態では、一例として、バックボーンネットワーク内のスイッチは、単にバックボーンネットワーク列411にリストされるのみで、ネットワーク構造表示を描画しない。このため、図示する実施形態では、個々のスイッチアイコンに対して接続ラインが形成されない。図4に示すように、スイッチアイコン420、460は、単にそれぞれのネットワークの位置にリストされる。例えば、バックボーンに対応するスイッチアイコン420−1、420−2はバックボーン列411にリストされ、接続ラインは描かれない。同様に、スイッチアイコン420−2、420−3、420−4はLANアイコン430−1の長方形内にリストされ、スイッチアイコン420−2、420−3、420−4に接続ラインは接続されない。代わりに、LANアイコンの長方形にのみ接続ラインが接続される。この接続表示方法によると、表示する接続ラインの数を減らすことができるため、トポロジー表示の複雑さを軽減し、理解しやすくすることができる。ただし、別の実施形態として、トポロジーリスト・ビューを提供する際に、各スイッチ間の接続をユーザーインターフェースに表示するようにしてもよい。LAN、サーバ、SAN、及び、ストレージオブジェクト、並びに、これらオブジェクト間の接続ラインを描画した後、トポロジー表示モジュールは、既に描画されたネットワークアイコン上にすべてのスイッチアイコンを描画する。図26は、スイッチアイコンを描画する処理の一例を示している。スイッチアイコンを描画するのに必要なデータは、データベース230から取得される。
【0205】
ステップ2600:データベース230のネットワークテーブル500からレコードを選択する。
【0206】
ステップ2610:名称520及び表示タイプ540を取得し、表示タイプ540がLANであれば、処理はステップ2620へ進む。
【0207】
ステップ2620:ネットワークテーブル500をコンポーネントテーブル700及びノードテーブル600と関連付けることによって、すべてのスイッチノードを選択する。
【0208】
ステップ2630:LANにサーバ又はストレージノードが接続されているかをチェックする。サーバ又はストレージノードが接続されておらず、スイッチのみを有する場合、当該LANはバックボーンネットワークであると判定され、処理はステップ2640へ進む。
【0209】
ステップ2640:発見されたスイッチ(バックボーンネットワークに属すると分類されるもの)を、アレイ変数「v_バックボーンスイッチ」に追加し、処理はステップ2600へ戻る。
【0210】
ステップ2650:LANオブジェクトアレイ1419から対応するLANインスタンスを見つけ、LANオブジェクトインスタンスから開始行番号1412を取得する。
【0211】
ステップ2660:ステップ2620で選択されたすべてのスイッチを、選択されたLANオブジェクトインスタンスに対応するLANアイコン内に描画する。
【0212】
ステップ2670:ステップ2600においてネットワークテーブルから選択された選択レコードがLANではなくSANのものである場合、ステップ2620〜2660を、各ステップにおいて「LAN」を「SAN」に置き換えて、選択されたSANに対して行う。
【0213】
ステップ2680:LAN及びSANアイコンにすべてのスイッチを描画した後、バックボーンネットワークに属すると分類されたスイッチを、バックボーンネットワーク列411内に描画する。
【0214】
通常、スイッチの描画によって、トポロジー表示を提供するユーザーインターフェースの表示が完了する。この時点において、ユーザー、つまり一般的には管理者は、マウスや他のインターフェースを使用してシステム内の各種アイコンをクリックし、アイコンが表す機器に関する追加情報を見ることができる。また、例えばスイッチアイコンが間違った場所にある、例えば、SANの代わりにLANに配置されている、又は、LANの代わりにバックボーンに配置されている、と管理者が感じた場合、本発明は、ある場所から別の場所へ管理者がアイコンを手動で移動させることができるような手段を備えることもできる。
実施形態2
【0215】
上述の第1実施形態の範囲には、システム全体のトポロジー表示の生成が含まれている。しかし、本発明では、行と列からなる格子に基づくリスト又はマトリクスに似たトポロジーレイアウトを使用するため、本発明のグラフィカルユーザーインターフェースは、行のソートやアイテムのフィルタリング等、リスト指向の機能に対応できる。後述する第2実施形態は、管理者が指定可能な、ソート又はフィルタリング基準を採用する方法の例を示している。コンポーネント及び動作の多くは第1実施形態に関して上述したものと同様であるので、以下では差異について述べる。
【0216】
第1実施形態で記載したように、トポロジーリスト・ビューを有するユーザーインターフェースに表示されるシステムのトポロジーは、どの接続情報がどのように結合接続データ上にリストされたかによって決まる。所望の内容及び順番を含むように接続データを生成及び処理した後、レイアウト処理によって接続をレイアウト及び描画する。そのため、結合接続データ1300を生成するためのクエリにソート又はフィルタリング基準を追加することにより、あるいは、クエリの結果に対してソート又はフィルタリングを行うことにより、トポロジーのソート又はフィルタリングを行うことができ、その後は、ソート又はフィルタリングされた結果のみがレイアウト及び表示される。
【0217】
トポロジーリスト・ビュー及びソート/フィルタリング付のユーザーインターフェース
【0218】
図21は、ユーザーインターフェース2150に表示される管理対象システムトポロジの一部を制御するためのソート又はフィルタリングを指定することが可能な、トポロジーリスト・ビューの一例を示している。様々な方法で基準を指定することができるが、本例では、ユーザーインターフェース2150を伴うディスプレイ105上に、ソート基準ドロップダウンリスト2710及びフィルタ基準ドロップダウンリスト2720が提供される。管理者は、ドロップダウンリスト2710、2720を使用して、各ドロップダウンリスト2710、2720から選択することにより、所望のソート又はフィルタリング基準を選ぶことができる。考えられるソート又はフィルタリング基準としては、ノードの状態、適用されたパッチの日付、CPU負荷量、OS又はベンダタイプ、ユーザーグループ、又は、ユーザーが定義した基準、がある。
【0219】
加えて又はあるいは、管理対象システム又はシステム内の特定デバイスのトポロジー表示について特定の範囲を指定する別の方法として、ツリーリスト2730を使用することもできる。例えば、ある実施形態では、「ERP」と名付けられたフォルダ等、ユーザーグループフォルダの一つをツリーリスト2730から選択する操作は、ユーザーインターフェース2150に表示されるトポロジーリスト・ビューのフィルタリング基準を指定するためにユーザーによって実行される操作である。
【0220】
加えて又はあるいは、列毎に一つのチェックボックス2740を設けるなど、ユーザーインターフェースにチェックボックス2740を追加することにより、行のソートする際にどの列を第一に優先するのか、管理者が指定できるようにしてもよい。例えば、図21では、計算機列413にチェックが入っているため、管理対象システムのすべての接続関係をソートする際、この列が第一に優先される。本例では、デバイスの状態によってソートする際、まず計算機(サーバ)が状態タイプでソートされ、その後、他のデバイスがソートされるため、管理者は、サーバ内にクリティカルな状況を見つけそのリストを作成するのに集中することができる。
【0221】
図22は、本実施形態で生成される結合接続データ2800のマトリクスのデータの一例を示している。結合接続データ2800は、図13に関して上述した結合接続データ1300と同様に、LAN名2810、サーバ名2830、SAN名2850、及び、ストレージ名2870、の列を含んでいる。また、本実施形態では、結合接続データ2800はさらに、LAN状態列2820、サーバ状態列2840、SAN状態列2860、及び、ストレージ状態列2880を含んでいる。本実施形態では、情報収集モジュール210は、管理システム内のデバイスから健康状態を定期的に収集し、収集した健康状態情報をデータベース230に記憶するように、構成されているものとする。ソート又はフィルタリングは、結合接続データ2800を生成するためのクエリを送信する際に実行するか、又は、トポロジー表示モジュールによってクエリの結果を取得した後に実行するようにしてもよい。
【0222】
図22に示す例において、管理者は、ドロップダウンメニュー2710で「状態」をクリックすることにより状態に応じたソートを指定し、図21に示すように、計算機列413のチェックボックス2740にチェックを入れることにより、計算機列413が第一の優先順位を持つように指定した。したがって、最もクリティカルな状況(例えば、オーバーロードや適切に機能していない状況)にあるサーバがリストの一番上に記載され、トポロジー表示モジュールがディスプレイ105上に管理対象システムのトポロジーをレイアウト及び描画する際は、この順序で対応するトポロジーが表示される。例えば、図22に示すように、サーバ「srv30」及び「srv4」は「クリティカル」状態であるが、サーバ「srv1」は「警告」状態でありクリティカル状態のサーバの後でリストされ、残りのサーバは「OK」としてリストされる。システムのトポロジーがユーザーインターフェース2150内に生成される際、表示されるトポロジーのシステムオブジェクトの順番は、ソートされた結合接続データ2800内で指定された順番に一致する。
実施形態3
【0223】
図23は、本発明のトポロジー表示4150を有するユーザーインターフェースの別の実施形態を示している。図23に示す実施形態では、五つではなく四つの所定の列、つまり、LAN列412、計算機列413、SAN列414、及び、ストレージ列415が存在する。本実施形態では、先の実施形態にあったバックボーン列411が削除されている。バックボーンネットワークのスイッチは、トポロジー表示に含まないか、あるいは、LAN列の下部に設けられた「バックボーン」等の名称431を有するLAN長方形に表示するようにしてもよい。図23に示すユーザーインターフェース4150におけるアイコン、接続ライン、及び、その他のエレメントのレイアウト及び描画は、前述の実施形態について記載した態様で実行することができる。他の実施形態についても、本明細書の開示内容を考慮すれば当業者にとって明らかである。
実施形態4
【0224】
第1〜第3実施形態において上述した例は、スイッチ、計算機、及び、ストレージデバイス等、ITシステム内のハードウェアコンポーネントを管理するためのトポロジー表示を提供する本発明のユーザーインターフェースを対象としている。しかし、トポロジーリスト・ビューを含む本発明の実施形態は、物理的コンポーネントだけでなく、情報システム内の論理コンポーネントも管理するためのトポロジー表示の生成及び表示に適用することもできる。このような論理コンポーネントとしては、例えば、データベースサーバインスタンス等の実行可能なソフトウェアプログラムインスタンス、ハードディスクドライブ(HDD)のストレージ容量から形成される論理ボリューム等の論理的/仮想的に構成されたエレメント、計算機上で動作するハイパーバイザ上に形成される仮想装置、等がある。本発明のグラフィカルトポロジー表示に示される論理コンポーネントの間には論理関係が存在する。例えば、本発明の実施形態を使用して表示される論理関係としては、ウェブ三層システム内のウェブ=アプリケーション=データベースサーバ間の関係、仮想機械と仮想機械が動作するハイパーバイザとの関係、又は、論理ボリュームとこのボリュームの形成元となるRAIDグループとの間の関係、等がある。したがって、これらコンポーネント及びコンポーネント間の論理関係のトポロジーを、本発明で記載されるユーザーインターフェース上に表示することができる。
【0225】
また、既述の実施形態で記載したように、ハードウェアデバイス間の接続情報は、WMI、SNMP、SMI−S等の既存の手段を介して収集することができる。同様に、前述したような論理関係は、専用の又は標準インターフェースを介して取得することができる。例えば、ハイパーバイザと仮想機械との関係は、仮想機械上の管理ソフトウェアから取得することができる。同様に、論理ボリュームとRAIDグループとの関係は、ストレージ管理ソフトウェア、又は、ストレージデバイス自体に組込まれたモジュールから取得することができる。このように収集された、論理コンポーネント及びそれらの論理関係に関する情報は、図2に示すデータベース230に記憶される。収集された情報は、既述の実施形態で記載した態様と同じように、トポロジー表示モジュール220から送られたクエリを使用して検索することができる。さらに、既述の実施形態では、ユーザーインターフェース150、2150、4150内のトポロジー層を表すために使用されるラベルは、「バックボーン」、「LAN」、「計算機」、「SAN」、及び、「ストレージ」であった。しかし、本発明に論理コンポーネントを適用してトポグラフィカル表示に表示する場合、トポロジー層の「クラス」であるラベルは、第1〜第3実施形態で記載したものとは異なる。したがって、第4実施形態では、論理コンポーネントをITシステムの一部として含み、これらの例で使用される各クラスラベルを表示する、各種トポロジーの例を示す。
【0226】
図24Aは、ウェブ三層システム5100の例示的なトポロジーを示している。このシステムは、三層のサーバプログラム、つまり、「ウェブサーバ」、「アプリケーションサーバ」、及び、「データベースサーバ」を有して構成されている。これらの層は、トポロジーリスト・ビュー上の各列のラベル名、つまり、ウェブサーバ列5110、アプリケーションサーバ列5120、及び、データベースサーバ列5130として表示される。ウェブサーバ列5110には各ウェブサーバイコン5140がリストされ、情報システム内でウェブサーバとして機能する各サーバを表している。このタイプのアイコン5140は、計算機ノードアイコン140と同じように、一行分の高さに相当する高さを有してよく、したがって、行毎に一つずつ位置合わせすることができる。同様に、アプリケーションサーバ列5120にはアプリケーションサーバイコン5150がリストされ、情報システム内のアプリケーションサーバを表している。このタイプのアイコン5150もまた、一行分の高さに相当する高さを有してよく、行毎に一つずつ位置合わせすることができる。同様に、ユーザーインターフェース5100のデータベースサーバ列5130にはデータベースサーバイコン5160がリストされ、データベースサーバとして動作するシステム内のサーバを表すとともに、上記同様の高さ及び位置合わせを有する。ウェブサーバイコンと、これと特定の関係にあるアプリケーションサーバイコンとの間には接続ラインが描画され、情報システムにおいて各アイコンが表すウェブサーバインスタンスとアプリケーションサーバインスタンスとの論理関係を表わしている。同様に、アプリケーションサーバイコン5120とデータベースサーバイコン5160との間にも接続ラインが描画され、データベースサーバイコン5160は、特定のアプリケーションサーバインスタンスによって使用されるデータベースサーバインスタンスを表している。
【0227】
図24Bは、SANを介してストレージに接続されている複数の仮想機械を有する情報システムのユーザーインターフェース5200の例示的なトポロジー表示を示している。例えば、かかる情報システムは、例えば図3に関連して記載した実施形態の情報システムに類似したものであってよいが、上述の実施形態における物理的な「計算機ノード」の代わりに、ハイパーバイザに属するコンポーネントとして、仮想機械を含んでいる。例えば、カリフォルニア州パロアルトにあるVMware Inc.社が仮想機械ソフトウェアを提供している。よって、計算機列413を仮想機械列5210及びハイパーバイザ列5220に置き換えることができる。本実施形態で示すSAN列414及びストレージ列415は、既述のものと同様である。仮想機械列5210には各仮想機械アイコン5250がリストされ、各々は、既述の実施形態で表示された「計算機」又は「サーバ」アイコンと同様、一行分の高さに相当する高さを有する。ハイパーバイザ列5220にはハイパーバイザアイコン5260が表示され、これらは、情報システム内の仮想機械を動作させる、情報システム内のハイパーバイザを表している。仮想機械アイコン5250は、情報システム内の各仮想機械インスタンスについてリストされ、仮想機械とそれらのハイパーバイザとの間の依存関係に基づいて、接続ラインが描画される。一つのハイパーバイザで複数の仮想機械を動作させることができるため、各ハイパーバイザオブジェクトアイコン5260は、接続された仮想機械の数に相当する行高さを有している。したがって、ハイパーバイザアイコン5260−1は、二つの仮想機械5250−1及び5250−2と関連していることから二行分の高さを有し、一方、ハイパーバイザアイコン5260−2は、一つの仮想機械アイコン5250−3のみが接続されていることから、一行分の高さに相当する高さを有する。SAN層のSAN列414とストレージ層のストレージ列415は、先の実施形態で記載したものと同じであってよい。ハイパーバイザアイコン5260からSANアイコン450へは接続ラインが描画されており、このSANアイコン450は、情報システム内で各ハイパーバイザインスタンスが接続されている特定のSANインスタンスを表している。
【0228】
図24Cは、データベースインスタンスと、論理ボリュームマネージャ等によって下層のRAIDグループから構成された論理ボリュームと、を有する情報システムのためのユーザーインターフェース5300における例示的トポロジー表示を示しており、上記RAIDグループは情報システム内のHDDから構成されている。トポロジー表示にはHDD列5340が含まれてよく、このHDD列には各HDDアイコン5380−1〜5380−8がリストされ、各HDDアイコンは、一行分の高さに相当する高さを有している。RAIDグループ列5330には、情報システムのHDD上に生成されるRAIDグループに対応するRAIDグループアイコン5370がリストされている。接続ラインによって、RAIDグループアイコンと、情報システム内に各RAIDグループを構成するHDDの各HDDアイコン5380とが接続されている。各RAIDグループアイコン5370の行高さは、そこに接続するHDDアイコンの数に相当し、HDDアイコンは、各RAIDグループアイコン5370と行によって位置合わせされている。論理ボリューム列5320には、情報システム内の各RAIDグループから構成される論理ボリュームアイコン5360が含まれている。各論理ボリュームアイコン5360は、それぞれの容量の提供元である、特定のRAIDグループアイコン5370に接続される。また、データベース列5310にはデータベースアイコン5350がリストされ、論理ボリュームアイコン5360に接続されていることが表示されており、情報システム内のどのデータベースインスタンスが、情報システム内のどの論理ボリュームを使用しているかを示している。各データベースアイコン5350の行の高さは、そこに接続するボリュームアイコンの数に相当する。
【0229】
このように、上述の実施形態で示すように、情報システムのハードウェアコンポーネント及び論理コンポーネントを、タイプ又はクラスによって分離することができる。接続データを収集及びソートすることにより、異なるクラスのオブジェクト間の接続を判定することができる。システムトポロジに表示されるオブジェクトの各クラスを表す列は、可変数の行をともなってユーザーインターフェース内に生成され、所定の列に合わせて各クラスの可変数のオブジェクトがリストされる。上述したように、各クラスのオブジェクトを表すアイコンは、エンドツーエンド接続データにしたがってレイアウトされ、このレイアウトは最適化されて、接続されているオブジェクトのアイコンは、同一の行に又は近くに位置合わせされる。その後、情報システム内の接続や関連を表すために、接続ラインが描画される。このように、本発明の高密度ユーザーインターフェースを使用することにより、情報システム内の多数のハードウェア及び/又は論理コンポーネントのシステムトポロジを表示することができる。
【0230】
したがって、明らかなように、本発明の実施形態は、多数の管理対象オブジェクトのトポロジー関係をユーザーインターフェース内に高密度で表示する効率の良い方法を提供するとともに、ユーザーは、管理対象情報システム内の各種オブジェクト間の関連を容易に理解することができる。本発明の実施形態は、所定数の列と、表示されるコンポーネントの数に応じて増減しうる複数の行とからなる格子に合わせてレイアウトされるシステムトポロジを提供し、これによって、トポロジーの高密度と明確分類を同時に実現する、リスト状又はマトリクス状のグラフィカルビューイングフォーマットが形成される。したがって、同一のシステム層のオブジェクトを表すアイコンは所定の列に位置合わせされ、システム層をまたいで互いに接続するアイコンは、可能であれば、同じ行内に位置合わせされる。また、所定の垂直の列と可変数の水平の行とを有するものとしてユーザーインターフェースの例示的実施形態を記載及び図示してきたが、当業者には明らかなように、他の実施形態においては、このような配置を90度回転させたり、又は、横向きに反転させて、所定の列が水平に、可変数の行が垂直になるようにしてもよい。その他の変更についても、本発明の開示内容に鑑みれば明らかである。
【0231】
また、当業者には明らかなように、例えば様々なタイプの計算機システムを使用して、既述の例示的実施形態を実施することができる。本発明に係るグラフィカルユーザーインターフェースは、例えば、図1及び図2に示すような管理計算機と併用することができる。当然のことながら、図1及び図2に示す計算機は、本発明に係るトポロジー・ビューを表示するユーザーインターフェースが実現されうる計算機システムの、例示的な一つのタイプにすぎない。また、計算機システムは、上記発明を実現するために使用されるモジュール、プログラム、及び、データ構造を記憶しかつ読み出しすることが可能な既知のI/Oデバイス(例えば、CD及びDVDドライブ、フロッピー(登録商標)ディスクドライブ、ハードドライブ等)を有してもよい。これらモジュール、プログラム、及び、データ構造は、計算機読取可能な媒体にエンコードされていてもよい。例えば、本発明のデータ構造は、本発明で使用されるトポロジー表示モジュール及び/又はその他モジュールが存在する一つ以上の計算機読取可能な媒体とは別個の、計算機読取可能な媒体に記憶されていてもよい。
【産業上の利用可能性】
【0232】
以上から明らかなように、本発明の実施形態によって、グラフィカル表示とリスト・ビューの利点を組み合わせた態様でシステムトポロジ表示を提供するユーザーインターフェースを生成及び表示するための方法及び装置が提供される。本発明のユーザーインターフェースの実施形態によって、システム可用性及び性能管理操作を改善することができる。また、本明細書では特定の実施形態を図示及び記載してきたが、当業者には明らかなように、開示される特定の実施形態の代わりに、同じ目的を達成すべく計算された配置を使用することもできる。本開示内容は、本発明のあらゆる改良又は変更を網羅することを意図しており、上記の記載は説明のためになされたものであって、限定するためのものではない旨、理解されなければならない。したがって、本発明の範囲は、添付の請求の範囲、及び、当該請求項の範囲が含みうるすべての均等物を参照して、適切に決定されるものとする。


【特許請求の範囲】
【請求項1】
1又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムを管理する計算機で実行するプログラムであって、
前記情報システムに含まれる複数のコンポーネントの情報を収集する第1のステップと、
第1のネットワークに属するスイッチを1つ以上選択する第2のステップと、
前記第1のネットワークを表す第1のネットワークアイコンを含む第1の列と、前記複数の計算機を表す複数の計算機アイコンを含む第2の列とを含む行列に沿って前記複数のコンポーネント間のグラフィカルトポロジーを表示する第3のステップと
を備える処理を前記計算機に実行させ、
前記第1のネットワークアイコンは、前記第2のステップにおいて選択した1つ以上のスイッチを表すスイッチアイコンを含む
ことを特徴とするプログラム。
【請求項2】
前記第1のネットワークは、SAN又はLUNである
ことを特徴とする請求項1に記載のプログラム。
【請求項3】
前記第3のステップでは、
前記第1のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続しない
ことを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
前記第3のステップでは、
前記第1のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続する
ことを特徴とする請求項1又は2に記載のプログラム。
【請求項5】
前記第3のステップでは、
前記第1のネットワークアイコンに、前記第1のネットワークの名前を追加する
ことを特徴とする請求項1乃至4のいずれか一項に記載のプログラム。
【請求項6】
1又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムを管理する計算機であって、
前記情報システムに含まれる複数のコンポーネントの情報を収集する収集部と、
第1のネットワークに属するスイッチを1つ以上選択する選択部と、
前記第1のネットワークを表す第1のネットワークアイコンを含む第1の列と、前記複数の計算機を表す複数の計算機アイコンを含む第2の列とを含む行列に沿って前記複数のコンポーネント間のグラフィカルトポロジーを表示する表示部と
を備え、
前記第1のネットワークアイコンは、前記第2のステップにおいて選択した1つ以上のスイッチを表すスイッチアイコンを含む
ことを特徴とする計算機。
【請求項7】
前記第1のネットワークは、SAN又はLUNである
ことを特徴とする請求項6に記載の計算機。
【請求項8】
前記表示部は、
前記グラフィカルトポロジーにおいて、前記第1のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続しない
ことを特徴とする請求項6又は7に記載の計算機。
【請求項9】
前記表示部は、
前記グラフィカルトポロジーにおいて、前記第1のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続する
ことを特徴とする請求項6又は7に記載の計算機。
【請求項10】
前記表示部は、
前記グラフィカルトポロジーにおいて、前記第1のネットワークアイコンに、前記第1のネットワークの名前を追加する
ことを特徴とする請求項6乃至9のいずれか一項に記載の計算機。
【請求項11】
1又は複数のネットワークをそれぞれ構成する複数のスイッチと、複数の計算機とをコンポーネントとして含む情報システムと、
前記情報システムを管理する計算機と
を有し、
前記計算機は、
前記情報システムに含まれる複数のコンポーネントの情報を収集する収集部と、
第1のネットワークに属するスイッチを1つ以上選択する選択部と、
前記第1のネットワークを表す第1のネットワークアイコンを含む第1の列と、前記複数の計算機を表す複数の計算機アイコンを含む第2の列とを含む行列に沿って前記複数のコンポーネント間のグラフィカルトポロジーを表示する表示部と
を備え、
前記第1のネットワークアイコンは、前記第2のステップにおいて選択した1つ以上のスイッチを表すスイッチアイコンを含む
ことを特徴とするシステム。
【請求項12】
前記第1のネットワークは、SAN又はLUNである
ことを特徴とする請求項11に記載のシステム。
【請求項13】
前記計算機の前記表示部は、
前記グラフィカルトポロジーにおいて、前記第1のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続しない
ことを特徴とする請求項11又は12に記載のシステム。
【請求項14】
前記計算機の前記表示部は、
前記グラフィカルトポロジーにおいて、前記第1のネットワークアイコンに含まれる前記スイッチアイコン同士を、接続線で接続する
ことを特徴とする請求項11又は12に記載のシステム。
【請求項15】
前記計算機の前記表示部は、
前記グラフィカルトポロジーにおいて、前記第1のネットワークアイコンに、前記第1のネットワークの名前を追加する
ことを特徴とする請求項11乃至14のいずれか一項に記載のシステム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16A】
image rotate

【図16B】
image rotate

【図16C】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図17C】
image rotate

【図17D】
image rotate

【図17E】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図18C】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図19C】
image rotate

【図20】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24A】
image rotate

【図24B】
image rotate

【図24C】
image rotate

【図21】
image rotate


【公開番号】特開2013−101629(P2013−101629A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−266693(P2012−266693)
【出願日】平成24年12月5日(2012.12.5)
【分割の表示】特願2010−531188(P2010−531188)の分割
【原出願日】平成20年12月17日(2008.12.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】