(57)【要約】      （修正有）【課題】仮想サーバ及び物理サーバの頻繁な構成の変更が発生しても、閲覧者が余分な操作を行うことなく全体の構成を把握しやすいツリー構造を速やかに構築して表示させる方法を提供する。【解決手段】個々のツリーをルートオブジェクトから最遠の階層まで延ばす偽装的オブジェクトを仮想し、最遠階層のオブジェクトを等間隔に配置して、その上位オブジェクトを、子オブジェクトの位置の相加平均に設定する。【選択図】図６
2014219870.tif 000002
【特許請求の範囲】
【請求項１】
一のルートオブジェクトと、
前記ルートオブジェクトに従属する単数又は複数の第一オブジェクトと、
前記第一オブジェクトのそれぞれに０個又は自然数個が従属する第二オブジェクトとを
少なくとも有する３層以上の階層からなるツリー構造で表現可能なオブジェクト群について、
それぞれのオブジェクトのＩＤを含む属性情報と、それらのオブジェクトの階層別に把握される従属関係情報とを取得するステップ、
上記オブジェクトのうち、最もルートオブジェクトから離れた階層である最遠階層に位置するオブジェクト以外のオブジェクトであって、自らに従属するオブジェクトを有さないオブジェクトがあれば、それに従属する一の偽装的なオブジェクトである偽装的オブジェクトを生成させて従属関係情報を設定する工程を、対象に上記偽装的オブジェクトそれ自体を含めて実行するステップ、
上記偽装的オブジェクトを含む全てのオブジェクトを、階層毎のグループに纏め、個々のグループにおいて、個々のオブジェクトが従属する直近上位オブジェクトがあればその直近上位オブジェクトの表示順でソートして表示順を定め、かつ、同一の直近上位オブジェクトに従属するオブジェクトが複数あればその複数あるオブジェクトをいずれかの順に表示順を定める工程を実行するステップ、
上記最遠階層に位置する上記偽装的オブジェクトを含むオブジェクトについて、それぞれ定めた上記表示順に予め定めた座標間隔を乗じて、それぞれのオブジェクトの一の座標方向における座標値を決定するステップ、
上記最遠階層以外の階層に位置する、上記偽装的オブジェクトを含むオブジェクトについて、上記最遠階層に近い階層から順に、自身に従属する全てのオブジェクトの上記一の座標方向における座標値の相加平均に相当する値を、当該オブジェクトの上記一の座標方向における座標値に決定するステップ、
及び、
上記の階層毎のグループに纏めた手順以降のいずれかのステップに前後して、個々のオブジェクトの上記一の座標方向に対して垂直な方向に配する深度方向の座標値を、上記階層順に所定の間隔を空けて決定するステップ、
を実行することで決定された座標に、上記オブジェクト群を構成する個々のオブジェクトのアイコンを表示する、トポロジー図の作成方法。
【請求項２】
上記オブジェクト群を構成するオブジェクトとして、
データセンター、前記データセンターに従属するそれを構成する物理サーバ、前記物理サーバ上で実行されそれに従属する仮想サーバを含む、請求項１に記載のトポロジー図の作成方法。
【請求項３】
上記オブジェクト群を構成するオブジェクトとして、
複数の上記データセンターから構成され、上記データセンターが従属するデータセンター間ネットワークを含む、請求項２に記載のトポロジー図の作成方法。
【請求項４】
コンピュータに、
一のルートオブジェクトと、
前記ルートオブジェクトに従属する単数又は複数の第一オブジェクトと、
前記第一オブジェクトのそれぞれに０個又は自然数個が従属する第二オブジェクトとを
少なくとも有する３層以上の階層からなるツリー構造で表現可能なオブジェクト群について、
それぞれのオブジェクトのＩＤを含む属性情報と、それらのオブジェクトの階層別に把握される従属関係情報とを取得するステップ、
上記オブジェクトのうち、最もルートオブジェクトから離れた階層である最遠階層に位置するオブジェクト以外のオブジェクトであって、自らに従属するオブジェクトを有さないオブジェクトがあれば、それに従属する一の偽装的なオブジェクトである偽装的オブジェクトを生成させて従属関係情報を設定する工程を、対象に上記偽装的オブジェクトそれ自体を含めて実行するステップ、
上記偽装的オブジェクトを含む全てのオブジェクトを、階層毎のグループに纏め、個々のグループにおいて、個々のオブジェクトが従属する直近上位オブジェクトがあればその直近上位オブジェクトの表示順でソートして表示順を定め、かつ、同一の直近上位オブジェクトに従属するオブジェクトが複数あればその複数あるオブジェクトをいずれかの順に表示順を定める工程を実行するステップ、
上記最遠階層に位置する上記偽装的オブジェクトを含むオブジェクトについて、それぞれ定めた上記表示順に予め定めた座標間隔を乗じて、それぞれのオブジェクトの一の座標方向における座標値を決定するステップ、
上記最遠階層以外の階層に位置する、上記偽装的オブジェクトを含むオブジェクトについて、上記最遠階層に近い階層から順に、自身に従属する全てのオブジェクトの上記一の座標方向における座標値の相加平均に相当する値を、当該オブジェクトの上記一の座標方向における座標値に決定するステップ、
及び、
上記の階層毎のグループに纏めた手順以降のいずれかのステップに前後して、個々のオブジェクトの上記一の座標方向に対して垂直な方向に配する深度方向の座標値を、上記階層順に所定の間隔を空けて決定するステップ、
を実行させることで決定された座標に、上記オブジェクト群を構成する個々のオブジェクトのアイコンを表示させる、トポロジー図の作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想環境の構成情報を表示させる方法及びプログラムに関する。特に、動的に構成が変更される仮想サーバ及び物理サーバを含めた情報を表示させる方法及びプログラムに関する。
【背景技術】
【０００２】
通信事業者やASP事業者などが有するデータセンターでは多数の物理サーバが稼働しており、個々の物理サーバの中には仮想サーバを実行させているものがある。この構造は故障や機器の負荷による自動制御や顧客の要望に応じて日々変化している。具体的には、物理サーバの導入や変更、廃止が行われたり、仮想サーバの生成、削除、移行などが行われる。データセンターを運用するオペレーションセンタでは、障害が発生した際に迅速に機器の構成を参照するため、これらの構成情報を常に把握できていなければならない。そのため、トポロジー図を表示するソフトウェアが一般に用いられている。このソフトウェアは、動的に変更される物理サーバと仮想サーバ、及びこれらの間の紐付け関係を動的に把握し、表示する情報はそれに追従して更新させなければならない。
【０００３】
トポロジー図の表示方法としては様々なものが提案されている。例えば、センターや物理サーバ、仮想サーバという階層を為す個々のオブジェクトを階層毎に表示したり、一のオブジェクトからその下位に連なるオブジェクトを表示する２階層表示をしたり、全階層をツリー表示したりするといった手法である。
【０００４】
オブジェクト数が多いほど、全域を視認性よく把握する図を構成することが難しくなる。バス型などで階層毎に表示する場合は、オブジェクトを選択したらドリルダウンして下位の階層を表示するといった階層の切替操作を行う手法が一般的である。スター型などで一のオブジェクトとそれに連なる下位のオブジェクトとの２階層を表示する場合には、周辺のオブジェクトが重ならないようにオブジェクトを選択して表示位置を変更するといった手法を採ることがある。
【０００５】
特許文献１には、プラント情報表示装置として、関心領域とデフォルメ条件を入力し、関心のある領域のみをデフォルメ対象領域とし、それ以外を非デフォルメ対象領域と分けて表示する手法が提示されている。また、特許文献２には、被管理オブジェクトの資源マッピングにあたり、ツリー構造を生成するアルゴリズムが記載されている。さらに、特許文献３には、ツリー構造により階層データベース又はストレージ構造に関するデータアイテムを表示する例が提示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４７４９４４０号公報
【特許文献２】特開平１１−５１４１１１号公報
【特許文献３】特表２００７−５０９４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、階層毎に表示する場合は一目で見られるのはその階層に限られ、全体を見渡すには不向きである。２階層表示をする場合も表示領域が限られ、特にスター型であると子オブジェクトが多い場合にはオブジェクト同士の重なりを回避して見やすく表示することが難しく、オブジェクトの重なりを回避するための余分な操作が必要となる場合があった。
【０００８】
また、特許文献１に記載の方法は一部のみを抽出するため、全体像を見やすく表示させる用途に向いたものではない。さらに、特許文献２ではツリー構造が示されているが、あくまで構造の一部をツリー構造として表示するものであり、システム全体の構造を、体裁を整えて見やすくするようなものではない。さらにまた、特許文献３では、ツリー構造を作ることはできても、生成されるツリー構造全体の体裁を整えることは想定されていなかった。
【０００９】
そこでこの発明は、頻繁な構成の変更が発生しても、閲覧者が余分な操作を行うことなく全体の構成を把握しやすいツリー構造を速やかに構築して表示させることを目的とする。
【課題を解決するための手段】
【００１０】
この発明は、
一のルートオブジェクトと、
前記ルートオブジェクトに従属する単数又は複数の第一オブジェクトと、
前記第一オブジェクトのそれぞれに０個又は自然数個が従属する第二オブジェクトとを
少なくとも有する３層以上の階層からなるツリー構造で表現可能なオブジェクト群について、
それぞれのオブジェクトのＩＤを含む属性情報と、それらのオブジェクトの階層別に把握される従属関係情報とを取得するステップ、
上記オブジェクトのうち、最もルートオブジェクトから離れた階層である最遠階層に位置するオブジェクト以外のオブジェクトであって、自らに従属するオブジェクトを有さないオブジェクトがあれば、それに従属する一の偽装的なオブジェクトである偽装的オブジェクトを生成させて従属関係情報を設定する工程を、対象に上記偽装的オブジェクトそれ自体を含めて実行するステップ、
上記偽装的オブジェクトを含む全てのオブジェクトを、階層毎のグループに纏め、個々のグループにおいて、個々のオブジェクトが従属する直近上位の親オブジェクトのレコードの順でまずソートして表示順を定め、かつ、同一の親オブジェクトに従属するオブジェクトが複数あればその複数あるオブジェクトをいずれかの順に表示順を定める工程を実行するステップ、
上記最遠階層に位置する上記偽装的オブジェクトを含むオブジェクトについて、それぞれ定めた上記表示順に予め定めた座標間隔を乗じて、それぞれのオブジェクトの一の座標方向における座標値を決定するステップ、
上記最遠階層以外の階層に位置する、上記偽装的オブジェクトを含むオブジェクトについて、上記最遠階層に近い階層から順に、自身に従属する全てのオブジェクトの上記一の座標方向における座標値の相加平均に相当する値を、当該オブジェクトの上記一の座標方向における座標値に決定するステップ、
及び、上記の階層毎のグループに纏めた手順以降のいずれかのステップに前後して、
個々のオブジェクトの上記一の座標方向に対して垂直な方向に配する深度方向の座標値を、上記階層順に所定の間隔を空けて決定するステップ、
を実行することで決定された座標に、上記オブジェクト群を構成する個々のオブジェクトのアイコンを表示する方法により、上記の課題を解決したのである。
【００１１】
上記のステップをコンピュータに実行させるプログラムにより、オブジェクトの最新の情報を取得した後、速やかにそれらのオブジェクトを配置するのに最適な位置の座標をそれぞれのオブジェクトに割り当てることができ、全体が俯瞰しやすいツリー状のトポロジー図を速やかに構築することができる。ただし、階層を飛び越えて従属するオブジェクトは無いものである必要がある。
【００１２】
具体的には、上記オブジェクト群を構成するオブジェクトとして、データセンター、前記データセンターに従属する物理サーバ、前記物理サーバ上で実行されそれに従属する仮想サーバを対象とすると、データセンターにおけるサーバの構成変化に対応して、センターの構成全体を容易に把握できるトポロジー図を作成できる。実行にあたっては、それらオブジェクトの上記属性情報及び従属関係情報を把握する構成管理サーバを立てておき、この構成管理サーバからそれら情報を取得するとよい。
【００１３】
さらに、上記のオブジェクト群を構成するオブジェクトとして、複数の上記データセンターから構成され、上記データセンターが従属するデータセンター間ネットワークが含まれていても、同様にトポロジー図を作成することができる。また逆に、仮想サーバ上で実行されるＯＳやプログラムを、仮想サーバの子オブジェクトとして含めても、同様にトポロジー図を作成することができる。
【発明の効果】
【００１４】
この発明にかかる方法及びプログラムより、ツリー構造を為す環境においてオブジェクトが動的に変化する状況を、更新後速やかに、全体像として把握可能なトポロジー図を作成、表示することができ、そのシステム環境の監視、把握を容易にすることが出来る。
【００１５】
インフラ事業者が用いる場合には、仮想環境上に構築されたシステムの監視を行うオペレーションセンタにおいて、この発明を実行して得られるトポロジー図に各機器の故障情報をマッピングすることで、障害発生箇所を迅速に特定でき、障害復旧までの時間短縮が期待される。また、表示位置を調整するための操作が不要で、ツリー構造全体で一覧することができるので、保守者の操作負荷の削減も期待される。
【００１６】
ｗｅｂサービス事業者が用いる場合には、提供するサービスの画面構成及び該当ユーザの利用状況を、樹形図を用いてリアルタイムに表示することで、ユーザの利用画面の推移がグラフィカルに把握でき、アクセス元ページや離脱ページなどの訪問特性の分析に活用出来る。これにより、アクセス数の向上やオンラインショッピングサイトでの購買率の向上が期待される。
【図面の簡単な説明】
【００１７】
【図１】この発明を実施する実施形態の対象例であるデータセンターネットワークの構成例図
【図２】この発明の実施形態で用いるトポロジー情報表示装置の機能ブロック図
【図３】図１の実施形態における属性情報についてのオブジェクト情報テーブルの初期状態例図
【図４】図１の実施形態における従属関係情報についての関係情報テーブルの例図
【図５】図１の実施形態における座標ルールマスタの例図
【図６】この発明を図１の実施形態で実施する際のフローチャート例図
【図７】図３のオブジェクト情報テーブルに従属関係を追加した時点の例図
【図８】図３のオブジェクト情報テーブルから生成した階層分離型ワークテーブルの例図
【図９】この発明の実施形態中で実行する偽装的オブジェクト生成処理のフローチャート例図
【図１０】図３のオブジェクト情報テーブルから生成した偽装追加ワークテーブルの例図
【図１１】この発明の実施形態中で実行する採番処理（処理Ｂ）のフローチャート例図
【図１２】（ａ）図８に仮のＸ座標を割り当てた段階における階層分離型ワークテーブルの例図、（ｂ）（ａ）を反映させた偽装追加ワークテーブルの例図
【図１３】この発明の実施形態中で実行する座標計算（処理Ｃ）のフローチャート例図
【図１４】（ａ）図１２（ｂ）を元に座標決定後の座標決定ワークテーブルの例図、（ｂ）決定後の座標を反映させたオブジェクト情報テーブルの例図
【図１５】（ａ）図１の実施形態について仮座標で描画した場合のトポロジー図の例、（ｂ）Ｘ座標調整後に描画した場合のトポロジー図の例
【発明を実施するための形態】
【００１８】
以下、この発明について詳細に説明する。この発明は、一のルートオブジェクトと、前記ルートオブジェクトに従属する単数又は複数の第一オブジェクトと、前記第一オブジェクトのそれぞれに０個又は自然数個が従属する第二オブジェクトとを少なくとも有する三層以上の階層からなるツリー構造で表現可能なオブジェクト群について、トポロジー図を作成表示する方法である。
【００１９】
この対象となるオブジェクトは、互いに子を跨いで孫に繋がるような階層を飛び越えた従属関係を有さないオブジェクトである必要がある。オブジェクトは物理的なものでもよいし、概念的なものでもよい。
【００２０】
ここでは、データセンター間ネットワーク１１をルートオブジェクトとし、それに従属する子オブジェクトである第一オブジェクトとなるデータセンター１２、それに従属する孫オブジェクトである第二オブジェクトとなる物理サーバ１３、それに従属する曾孫オブジェクトとなる仮想サーバ１４からなるオブジェクト群に対する実施形態を挙げて説明する。この実施形態にかかるシステムの構成図を図１に示す。仮想サーバ１４は物理サーバ１３上で実行されるものであり、一の物理サーバ１３上に、複数の仮想サーバ１４が実行されていてもよい。ただし、仮想サーバ１４を有さない物理サーバ１３があってもよい。また、物理サーバ１３が複数個集まってデータセンター１２を構築する。そして、データセンター１２が複数個集まってデータセンター間ネットワーク１１を構築する。
【００２１】
なお、この発明にかかる方法の対象としては、データセンター間ネットワークがルートオブジェクトである場合に限らず、データセンターをルートオブジェクト、第一オブジェクトを物理サーバ、第二オブジェクトを仮想サーバとする実施形態でも実行可能である。
【００２２】
この発明を実行するにあたっては、まず、それぞれのオブジェクトのＩＤを含む属性情報と、それらのオブジェクトの階層別に把握される従属関係情報とを取得する必要がある。このため、データセンター間ネットワーク１１において用いる際には、これらを構成する物理サーバ１３、仮想サーバ１４、データセンター１２、データセンター間ネットワーク１１に対して、少なくともＩＤとして利用可能な識別情報を含む上記属性情報と、それらの繋がりを含む従属関係情報を、出来るだけ最新の状態で取得する構成管理サーバ２１を設けておくことが望ましい。具体的には、それぞれのオブジェクトに対して定期的に問い合わせのためのパケットを送出し、それぞれのオブジェクトに、自身に従属するオブジェクトの情報を応答するように指示可能とする。これを受けたオブジェクトは、多段的に自身に従属するオブジェクトの属性情報と、それらとの従属関係情報を取得した上で、構成管理サーバ２１に返答する。
【００２３】
本発明を実行するにあたっては、保守者端末２２からの指示によって、発明のプロセスを実行可能な機能を有するトポロジー情報表示装置２０によると好ましい。具体的には、そのための機能を備えたサーバであるとよい。トポロジー情報表示装置２０が構成管理サーバ２１から上記属性情報と上記従属関係情報を取得することで、作成するトポロジー図ができるだけ最新に近いものとすることができる。また、作図を実行するたびに全オブジェクトに対してアクセスして情報を確認するような負荷を掛けずに済む。トポロジー情報表示装置２０で生成したトポロジー図は、保守者端末２２へ送信され、表示される。この表示は、保守者端末２２からの個別の命令によるものでもよいし、保守者端末２２に常時表示される情報が、トポロジー情報表示装置２０での作図の更新に応じて更新されるものでもよい。
【００２４】
上記のトポロジー情報表示装置２０の機能ブロック図を図２に示す。そのハードウェアには一般的なコンピュータを利用可能である。すなわち、記憶部３１は、上記属性情報及び上記従属関係情報を記録するものであり、具体的にはハードディスクなどの磁気ディスクや、ＳＳＤなどの不揮発メモリ、又は揮発性メモリからなる。制御部３２は一般的なＣＰＵなどの演算装置であり、上記属性情報や上記従属関係情報などを含むテーブル情報を読み込み、後述する機能５１〜５４の内容にかかるステップを含むプログラムを実行して、演算し、書き込みを行うものである。通信部３３は物理的なネットワークインターフェースであり、制御部３２との間でデータや命令をやりとりし、ネットワークを通じて構成管理サーバ２１及び保守者端末２２と相互に通信するものである。
【００２５】
記憶部３１には、上記の属性情報を含むデータベースであるオブジェクト情報テーブル４１と、上記の従属関係情報を含むデータベースである関係情報テーブル４２が含まれる。これらは、構成管理サーバ２１から取得した属性情報と従属関係情報の初期値をテーブル化したものである。その後、オブジェクト情報テーブル４１は、後述する機能の実行に伴ってソートされ、項目が埋められていく。
【００２６】
上記のオブジェクト情報テーブル４１の例を図３に示す。初期の時点では、構成管理サーバ２１から取得した限定的な情報が含まれるのみであり、空欄が多数を占める。上記属性情報としては、少なくともＩＤが含まれ、判別しやすい名称を含んでいても良い。図中の画面コードとは、保守者端末２２のディスプレイ装置が複数個ある場合に、その複数あるディスプレイ装置のいずれに表示するかを判別可能にするためのコードである。図中の枝番とは、把握すべきツリー状に表現されるオブジェクト群が複数ある場合に、どのオブジェクト群に属するかを識別するための符号である。以下の説明では例として、ディスプレイ装置が一つで、「画面コード」が１に固定され、ツリー状に表現されるオブジェクト群が一つで、「枝番」が１に固定された実施形態を挙げて説明する。
【００２７】
また、図中の階層とは、ルートオブジェクトの位置する階層を１とし、それに従属する子オブジェクトである第一オブジェクトの位置する階層を２，またその第一オブジェクトに従属する、いわばルートオブジェクトの孫オブジェクトである第二オブジェクトの位置する階層を３，それにさらに第二オブジェクトに従属する、いわばルートオブジェクトの曾孫オブジェクトである第三オブジェクトの位置する階層を４としている。すなわち、それぞれのオブジェクトがルートオブジェクトからどれほど離れた従属位置に存在するかを示す値である。
【００２８】
図中の親ＩＤとは、当該オブジェクトが直接に従属している、階層の値が当該オブジェクトより１小さいオブジェクトのＩＤであり、初期時点では空欄である。関係情報テーブル４２の情報を読み込んだ上で設定される。図中の子数とは、当該オブジェクトに直接に従属している、階層の値が当該オブジェクトより１大きいオブジェクトが幾つあるかを示す値であり、初期時点では空欄である。同じく、関係情報テーブル４２の情報を読み込んだ上で設定される。
【００２９】
図中のＹ座標、及びＸ座標はトポロジー図が表示される際に個々のオブジェクトを示すアイコンの表示位置の座標である。本発明はこの座標を好適かつ簡便に得ることを直接的な目的として動作する。図中の表示順とは途中でソートした際に、同階層に位置するオブジェクトの中で、一方の端部から数えた当該オブジェクトの位置順となる順番であり、テーブル上においてはソートされたレコードの表示順として現れる。図中の同階層数とは、同じ階層に存在するオブジェクトの個数である。
【００３０】
なお、この例では階層の深度が深まる方向をＹ座標方向、個々のオブジェクトの展開をＸ座標方向にとって説明しているが、この直交座標系が、Ｘ，Ｙ逆でも本発明は実施可能である。
【００３１】
次に、関係情報テーブル４２の例を図４に示す。上記従属関係情報としては、個々のオブジェクトを接続元とし、それが従属する親の関係にあるオブジェクトを接続先として、ツリーを表示する際に線で表示される全ての関係を記録している。すなわち、データセンター１２ａ（ｄｃ０１）と１２ｂ（ｄｃ０２）は、どちらも従属する親の関係にあるオブジェクトがデータセンター間ネットワーク１１（ｎｗ０１）である。物理サーバ１３ａ（ｐｍ０１）と１３ｂ（ｐｍ０２）は、どちらも従属する親の関係にあるオブジェクトがデータセンター１２ａ（ｄｃ０１）である。
【００３２】
また、それらとは別に、ディスプレイ装置上に表示する際の、各階層のオブジェクトのＹ座標を、座標ルールマスタ４３として規定しておく。この座標ルールマスタ４３の例を図５に示す。すなわち、ルートオブジェクトから子、孫、曾孫……と続くオブジェクトが、どの画面のどの高さに配置されるかを規定しておく。ルートオブジェクトから下方向に伸びるツリー図とするか、逆方向に伸びるツリー図とするかは、このＹ座標により決定される。それぞれの階層間のＹ座標の値は、等間隔となるように規定しておくとよいが、ある程度の間隔を空けていれば等間隔でなくてもよい。このＹ座標は画面コードごと、枝番ごとに違う値に規定しておいてもよい。これにより異なる構成からなるオブジェクト群の枝を縦に複数並べることもできるし、違う画面に並べることもできる。
【００３３】
このうち、主に上記機能によって変更を行うのはオブジェクト情報テーブル４１である。以下、トポロジー図の生成フロー例を、図６のフローチャートを用いて説明する。まず（Ｓ１００）、トポロジー情報表示装置２０は、構成管理サーバ２１から、それぞれのオブジェクトの上記属性情報である名称、種別を取得し、オブジェクト情報テーブル４１に格納し（Ｓ１０１）、次いで、構成管理サーバ２１から、オブジェクト間の上記従属関係情報である繋がりについての情報を取得し、その繋がりの両端間の名称と種別を関係情報テーブル４２に格納する（Ｓ１０２）、構成情報収集機能５１を実行する。この段階で、それぞれのテーブルの内容は、図３及び図４に記載したような状態となっている。オブジェクト情報テーブル４１には空欄が残っている。
【００３４】
次に（Ｓ１０３）、オブジェクト情報テーブル４１の各レコードごとに、当該オブジェクトの、直近の上位階層にあるオブジェクトとの繋がりを、関係情報テーブル４２を検索して求め、当該オブジェクトの直近の上位階層にあるオブジェクトのＩＤ（図３中「親ＩＤ」と表記する。）と、当該オブジェクトに直接従属する子の関係にある直近の下位階層にあるオブジェクトの個数を、オブジェクト情報テーブル４１に追加する階層別オブジェクト数集計・子オブジェクト数集計機能５２を実行する。この時点でのオブジェクト情報テーブル４１の状態を図７に示す。ルートオブジェクトであるデータセンター間ネットワーク１１では、「親ＩＤ」の項目は空欄のままである。
【００３５】
次に（Ｓ１０４）、オブジェクト情報テーブル４１の中にある「画面コード及び枝番」に該当するレコードを、上記の座標ルールマスタ４３（図５）から抽出したテーブルであるルール情報一覧４４を作成する対象規則抽出機能５４を実行する。すなわちこれは、汎用の規定の中から、この作業で取り扱っているオブジェクト情報テーブル４１で用いるデータを抽出する工程であり、後述するＹ座標計算の際に行う処理を高速化する効果がある。画面及びツリーが単一の場合はこの抽出工程自体を行う必要がないため、このＳ１０４は省略可能である。その場合、次のＳ１０５では「ルール情報一覧」ではなく、「座標ルールマスタ」を直接参照する。
【００３６】
次に（Ｓ１０５〜Ｓ１１０）、それぞれのオブジェクトの表示位置を求める表示位置計算機能５３を実行する。
まず（Ｓ１０５）、オブジェクト情報テーブル４１のそれぞれのレコードについて、上記座標ルールマスタ、又はそれから抽出した上記ルール情報一覧から、階層が一致するものを抽出して、上記の座標ルールマスタ４３、又は上記のルール情報一覧４４に記録されているＹ座標を、適用させていく。こうしてＹ座標を埋めたオブジェクト情報テーブル４１を、階層ごとに抽出して、図８に示すようなワークテーブル群である階層分離型ワークテーブル４６を得る。この階層分離型ワークテーブル４６に対して、ルートオブジェクトから階層の昇順に、各階層の一件ごとに、偽装的オブジェクト生成処理（処理Ａ)を行う。
【００３７】
この偽装的オブジェクト生成処理（処理Ａ）により、最遠階層ではなくかつ子オブジェクトを有さないオブジェクトに対して、個々のオブジェクトを表示する際に間隔を調整するための偽装的オブジェクトを、テーブル上に生成させる。その手順例を、図９を用いて説明する。まず（Ｓ２０１）、階層分離型ワークテーブル４６の分離させたテーブルのうち、ルートオブジェクトに近い階層から順に、「子オブジェクトの数が０であり、かつ最遠階層ではない」オブジェクトを抽出する（Ｓ２０２）。なお、ルートオブジェクト自体は本処理の対象にはなりえず、第一オブジェクト以深の階層（テーブル中の階層番号が２以上）であるオブジェクトに対しての処理となる。また、そのようなオブジェクトが一つも見つからなければ、処理はそのまま終了する（Ｓ２０２→Ｎｏ→Ｓ２０６→Ｓ２０７）。
【００３８】
上記の条件に該当するオブジェクトが見つかったら、その子オブジェクトを有さないオブジェクトのＩＤと名前を利用して、当該オブジェクトに従属する偽装的オブジェクトを生成させる（Ｓ２０３）。例えば、当該オブジェクトのＩＤ及び名前のそれぞれを用いて、その文字列の先頭に、偽装的オブジェクトであることを識別するための「Ｚ＿」を付与したＩＤ及び名前を設定する。なお、この設定方式に限定されるものではなく、偽装的オブジェクトであることが容易に識別可能なものであればよい。そしてその偽装的オブジェクトの階層は、当該オブジェクトの階層に１を加えたものであり、そうして設定された階層に対応した上記の座標ルールマスタ４３又はルール情報一覧４４の記載に従うＹ座標を設定する。このようにして生成したオブジェクトを、作業中の階層分離型ワークテーブル４６に、新たなレコードとして追加する（Ｓ２０４）。所属するテーブル群としては、新たに生成された偽装的オブジェクト自体の階層に対応した階層に挿入することになる。その上で、偽装的オブジェクトが生成した分、当該オブジェクト、すなわち生成した偽装的オブジェクトの親オブジェクトのレコードについて、子オブジェクトの個数（図中「子数」）に１追加する（Ｓ２０５）。すなわち、元は０であったので、１とする。
【００３９】
この偽装的オブジェクト生成処理を、ルートオブジェクトに近い階層から順に行っていく。ただし、最遠階層では実行しない。この偽装的オブジェクト生成処理は、ツリーの枝葉の先端を仮想的に揃えて座標位置上順に並べるための処理である以上、他の枝葉がそれ以上先に子オブジェクトを有していない最遠階層で、それより先に偽装的オブジェクトを生成させるのは無意味でありかつ、際限なく子オブジェクトが伸びていくことで処理が破綻するからである。
【００４０】
その上で、偽装的オブジェクトを生成させてレコードが修正された階層分離型ワークテーブル４６の内容を、オブジェクト情報テーブル４１に反映させた新たなテーブルである偽装追加ワークテーブル４５に登録する（Ｓ２０６）。
【００４１】
この偽装的オブジェクト生成処理（Ｓ１０６）を、階層内の全てのレコードに対して順に処理し（Ｓ１０７）、当該階層が終わったら、次の階層へ移り、子オブジェクトのないオブジェクトに偽装的オブジェクトを生成する処理を繰り返す。これを、最遠階層の一つ前の階層まで繰り返す（Ｓ１０８）。すなわち、生成される偽装的オブジェクトに設定される階層が最遠階層となる階層まで処理を続ける。
【００４２】
ただし、この偽装的オブジェクト生成処理は、偽装的オブジェクト自体に対しても再帰的に実行される。他の形態のオブジェクトであって、４階層以上あるオブジェクト群の第一オブジェクトの中に、子オブジェクトを有さないオブジェクトがあれば、第二オブジェクトとなる偽装的オブジェクトを生成した後で、その偽装的オブジェクトもまた、子オブジェクトを有さずかつ最遠階層ではないということになるので、その偽装的オブジェクトに従属する偽装的オブジェクトを生成させることになる。
【００４３】
オブジェクト情報テーブル４１に上記の偽装的オブジェクトを追加させた新たなテーブルである偽装追加ワークテーブル４５の追加時点での状態を図１０に示す。図中「Ｚ＿Ｚ＿……」となっている仮想サーバの偽装的オブジェクトは、すなわち、偽装的オブジェクトに従属して生成された偽装的オブジェクトであることを示している。
【００４４】
偽装的オブジェクトを生成し終えた後に、採番処理（処理Ｂ）を実行する（Ｓ１０９）。これは、生成させた偽装的オブジェクトも含めて、ツリーを形成するオブジェクト間を繋ぐ線が交差することがないように、順番を揃える工程である。個々のオブジェクトは階層毎に位置（ここではＸ軸位置）を順番に並べることになるが、親オブジェクトが右端にあるのに、その子オブジェクトが逆端にあってはツリーとしては成立しない。このため、親オブジェクトの階層内順番に従うように、子オブジェクトの階層順も並べていく必要がある。
【００４５】
この採番処理（Ｓ１０９）の手順を、図１１を用いて説明する。まず（Ｓ３０１）、偽装追加ワークテーブル４５を、階層昇順にソート、すなわちルートオブジェクトの階層から最遠階層へ向かって順にソートした上で（ただし、上記図では最初からその順になっている。）、その階層内において、親オブジェクトレコードの順でまずソートし、次いで、親オブジェクトレコードが同じオブジェクト同士では、当該オブジェクトのＩＤのアルファベット順にてソートする。このため、偽装的オブジェクトの判別のために「Ｚ＿」を付与する上記のような方式で区別しておくと、アルファベット順で最後に配置させやすくなり、偽装的オブジェクトが連なる枝を纏めやすくなる。また、一つしかないルートオブジェクトに従属する第一オブジェクトの場合は、単にそれぞれの当該第一オブジェクトの、付与したＩＤの順でソートすることになる。
【００４６】
なお、親オブジェクトのレコード順でソートした後に、同一の親オブジェクトに従属する子オブジェクトが複数あるときのソートの基準は、上記のようなＩＤ順に限られず、名称順や、個々のレコードの登録日時順、その他の基準で並べてもよいし、特に基準なくランダムな順序で並べてもよく、いずれかの順であってもツリーは生成可能である。
【００４７】
上記の処理により、個々のオブジェクトはまず親オブジェクトレコードの表示順でソートされてあるので、ツリーを形成する線が交差することがなくなる。
【００４８】
その上で、さらにツリーを見やすく形成するための軸方向の位置調整（例ではＸ軸の調整）を行う。そのためにまず、個々のオブジェクトについて、仮の位置（ここではＸ軸）を決定する（Ｓ３０３）。具体的には、階層分離型ワークテーブル４６の上記のソートした順に、項目中の表示順を確定する。この表示順は、階層毎に一方の端から数えて何番目に配置されるかを示す番号であり、階層毎の順番である。同時に、その階層毎の最終表示順の番号が、同階層にあるオブジェクトの個数（図中の項目「同階層数」である。）として確定される。なお、ここの個数は、実体のあるオブジェクトの個数ではなく、偽装的オブジェクトを含めた表示上考えるべき個数である。その上で、この表示順に、所定のＸ座標間隔を乗じて、Ｘ軸方向の仮の表示位置を割り当てる。この所定のＸ座標間隔とは、最大のオブジェクト数を有する階層、すなわち最遠階層にある全オブジェクトを、Ｘ軸方向にその間隔にて並べることができる値である必要がある。
【００４９】
この段階で、Ｘ座標間隔として３０を割り当てた例での階層分離型ワークテーブル４６の状態を図１２（ａ）に示す。また、その表示順、同階層数、Ｘ座標の仮採番の値を、偽装追加ワークテーブル４５に反映させた（Ｓ３０４）状態を図１２（ｂ）に示す。全階層、全レコードに対して仮のＸ座標を割り当てたら（Ｓ３０５、Ｓ３０６）、採番処理（処理Ｂ）は完了する（Ｓ３０７）。
【００５０】
ただし、この仮のＸ座標の割り当ては、最遠階層だけ行っても本発明の実施が可能である。以降の座標計算（処理Ｃ）において、最遠階層から順に、確定させるＸ座標を計算するが、その際に最遠階層以外の階層にあるオブジェクトについては、当該オブジェクトのＸ座標を決定するにあたり、当該オブジェクトの仮のＸ座標を特に利用することは無いからである。
【００５１】
最後に、上記で定めた表示順、仮の座標を用いて、個々のオブジェクトの座標位置を確定させる座標計算（処理Ｃ）を実行する（Ｓ１１０）。その手順を、図１３を用いて説明する。まず（Ｓ４０１）、偽装追加ワークテーブル４５から情報を取得し、そのレコードを、階層について降順に、階層内の表示順はそのまま（上記の例では昇順）としたテーブルを得る（Ｓ４０２）。偽装追加ワークテーブル４５に対してソートをかけ直してもよいし、新たなテーブルとして抽出してもよい。ここでは新たなテーブルを座標決定ワークテーブル４７として扱う。これにより、最遠階層を始めに、ルートオブジェクトを最後とするテーブルが得られる。
【００５２】
まず、最遠階層を基準とするため、最遠階層にあるオブジェクトのＸ座標はそのままとする（Ｓ４０３→Ｓ４０７）。このとき、偽装的オブジェクトのＸ座標もそのままとなる。保守者端末にトポロジー図を表示する段階では描画されないが、偽装的オブジェクトが存在すると仮定してそれよりルートに近い階層のオブジェクトの位置を調整することで、全体像を把握しやすい好適なツリー図が得られることになる。
【００５３】
次に、最遠階層よりルートに近い階層（階層降順に並べた座標決定ワークテーブル４７では下の階層となる。）のオブジェクトについて、それぞれのオブジェクトに従属する子オブジェクトのＸ座標を全て取得する（Ｓ４０４〜Ｓ４０５）。すなわち、当該オブジェクトに従属する子オブジェクトが一つであればその子オブジェクトのＸ座標を取得し、当該オブジェクトが複数の子オブジェクトを有するのであればそれらの子オブジェクト全てのＸ座標を取得する。子オブジェクトが一つであれば、当該オブジェクトのＸ座標はその子オブジェクトのＸ座標と同じにする。この場合、ツリーの当該部分はＹ軸方向に延びる傾きが無いものとなる。子オブジェクトが複数ある場合、当該オブジェクトのＸ座標は、それらの子オブジェクトのＸ座標の相加平均値とする（Ｓ４０６）。すなわち、それらの子オブジェクトの中央真下に位置するようにする。この相加平均値は、複数有る子オブジェクトの全てのＸ座標を加算して個数で割って求めてもよいし、それらの子オブジェクトの左端の座標と右端の座標を足して２で割って求めてもよい。計算処理としては後者の方が高速に処理しやすい。このような計算を、階層順に進めて行く（Ｓ４０７→Ｓ４０８）。第二オブジェクトのＸ座標が決定したら、そのＸ座標を用いて第一オブジェクトのＸ座標を決定し、第一オブジェクトのＸ座標が決定したら、そのＸ座標を用いてルートオブジェクトのＸ座標を決定する。
【００５４】
Ｘ座標を決定した段階での、座標決定ワークテーブル４７の状態を図１４（ａ）に示す。物理サーバＡ（１３ａ、ｐｍ０１）のＸ座標は、それに従属する二つの仮想サーバのＸ座標３０と６０の相加平均である４５となっている。一方、偽装的オブジェクトである仮想サーバしか有さない物理サーバＢは、その偽装的オブジェクトのＸ座標をそのまま受け継いで９０となっている。また、物理サーバも仮想サーバも有さないデータセンターは、その孫オブジェクトである偽装的オブジェクトのＸ座標をそのまま受け継いで１２０となっている。
【００５５】
こうして得られた座標決定ワークテーブル４７でのＸ座標及びＹ座標を、オブジェクト情報テーブル４１の対応するＩＤのレコードに反映させる（Ｓ４０９）。ただし、偽装的オブジェクトについての値は反映させる必要はない。あくまで、レイアウトを好適にする計算のために想定したものであり、実際に閲覧者が見るべきものではないからである。反映させたオブジェクト情報テーブル４１の例を図１４（ｂ）に示す。
【００５６】
こうして得られたオブジェクト情報テーブル４１の値を用いて、それぞれのオブジェクトを、指定されたＸ座標及びＹ座標に、間隔に収まる大きさのアイコンにて表示するとともに、それぞれのオブジェクトの親オブジェクトとの間に直線を引くことで、好適なツリーが得られる。この描画をトポロジー情報表示装置２０で行った上で画像データを保守者端末２２に送ってもよいし、完成したオブジェクト情報テーブル４１を保守者端末２２に送って、保守者端末２２が描画プログラムを実行して作図してもよい（Ｓ４１０）。以上で、計算処理は完了し（Ｓ４１１）、本発明にかかる作図方法は完了する（Ｓ１１１）。
【００５７】
上記のＸ座標について仮段階の際のトポロジー図の例を図１５（ａ）に、最終決定後のトポロジー図の例を図１５（ｂ）に示す。実際には偽装的オブジェクトは描画されないが、その位置を仮想的に含めて示す。偽装的オブジェクトがあることにより、ツリーの分岐が好適に調整されており、直系にないオブジェクト同士の関係が明瞭になっている。
【符号の説明】
【００５８】
１１  データセンター間ネットワーク
１２、１２ａ、１２ｂ  データセンター
１３、１３ａ、１３ｂ  物理サーバ
１４、１４ａ、１４ｂ  仮想サーバ
２０  トポロジー情報表示装置
２１  構成管理サーバ
２２  保守者端末
３１  記憶部
３２  制御部
３３  通信部
４１  オブジェクト情報テーブル
４２  関係情報テーブル
４３  座標ルールマスタ
４４  ルール情報一覧
４５  偽装追加ワークテーブル
４６  階層分離型ワークテーブル
４７  座標決定ワークテーブル
５１  構成情報収集機能
５２  階層別オブジェクト数集計・子オブジェクト数集計機能
５３  表示位置計算機能
５４  対象規則抽出機能
【図１】
2014219870.tif 000003
【図２】
2014219870.tif 000004
【図３】
2014219870.tif 000005
【図４】
2014219870.tif 000006
【図５】
2014219870.tif 000007
【図６】
2014219870.tif 000008
【図７】
2014219870.tif 000009
【図８】
2014219870.tif 000010
【図９】
2014219870.tif 000011
【図１０】
2014219870.tif 000012
【図１１】
2014219870.tif 000013
【図１２】
2014219870.tif 000014
【図１３】
2014219870.tif 000015
【図１４】
2014219870.tif 000016
【図１５】
2014219870.tif 000017