(57)【要約】【課題】トポロジーを３次元で表示するときの視認性を向上させること。【解決手段】演算部１ｂは、第１の階層に対応する、演算部１ｂを有する情報処理装置１の表示画面に表示された第１の領域内３に、第１の階層に属する複数の上位ノードを示すモデルを配置する。演算部１ｂは、第１の階層の下の第２の階層に対応する、表示画面に表示された第２の領域４，４ａに、第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの第１の領域内３での配置位置に対応する、第２の領域内４，４ａの配置位置に配置する。演算部１ｂは、接続関係を有する上位ノードのモデルと下位ノードのモデルとを結線表示した図を表示画面に出力する。【選択図】図１
2015225631.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムに含まれる複数のノードの前記情報処理システムにおける接続関係を３次元表示するプログラムであって、
コンピュータに、
前記情報処理システムにおける第１の階層に対応する、表示画面に表示された第１の領域内に、前記第１の階層に属する複数の上位ノードを示すモデルを配置し、
前記情報処理システムにおける前記第１の階層の下の第２の階層に対応する、前記表示画面に表示された第２の領域に、前記第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの前記第１の領域内での配置位置に対応する、前記第２の領域内の配置位置に配置し、
接続関係を有する前記上位ノードのモデルと前記下位ノードのモデルとを結線表示した図を前記表示画面に出力する、
処理を実行させるプログラム。
【請求項２】
前記複数の下位ノードのモデルの配置は、下位ノードと接続関係を有する上位ノードのモデルの前記第１の領域内での配置位置を、該下位ノードのモデルが属する前記第２の領域内に投影し、投影された位置に、該下位ノードのモデルを配置する、
請求項１記載のプログラム。
【請求項３】
前記複数の下位ノードのモデルの配置は、前記第２の領域内の下位ノードのモデルを配置可能な複数の位置のうち、下位ノードと接続関係を有する上位ノードのモデルの前記第１の領域内での位置に対応する、該下位ノードのモデルが属する前記第２の領域内の位置から近い位置へ順に該下位ノードのモデルを配置する、
請求項１または２記載のプログラム。
【請求項４】
前記複数の下位ノードのモデルの配置は、前記複数の上位ノードを１つずつ順番に繰り返し選択し、選択ごとに選択した上位ノードと接続関係を有する下位ノードのモデルを１つずつ配置する、
請求項１乃至３の何れか一項に記載のプログラム。
【請求項５】
情報処理システムに含まれる複数のノードの前記情報処理システムにおける接続関係を３次元表示する情報処理装置であって、
前記複数のノードの接続関係を記憶する記憶部と、
前記情報処理システムにおける第１の階層に対応する、表示画面に表示された第１の領域内に、前記第１の階層に属する複数の上位ノードを示すモデルを配置し、
前記情報処理システムにおける前記第１の階層の下の第２の階層に対応する、前記表示画面に表示された第２の領域に、前記第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの前記第１の領域内での配置位置に対応する、前記第２の領域内の配置位置に配置し、
接続関係を有する前記上位ノードのモデルと前記下位ノードのモデルとを結線表示した図を前記表示画面に出力する演算部と、
を有する情報処理装置。
【請求項６】
情報処理システムに含まれる複数のノードの前記情報処理システムにおける接続関係を３次元表示する表示方法であって、コンピュータが、
前記情報処理システムにおける第１の階層に対応する、表示画面に表示された第１の領域内に、前記第１の階層に属する複数の上位ノードを示すモデルを配置し、
前記情報処理システムにおける前記第１の階層の下の第２の階層に対応する、前記表示画面に表示された第２の領域に、前記第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの前記第１の領域内での配置位置に対応する、前記第２の領域内の配置位置に配置し、
接続関係を有する前記上位ノードのモデルと前記下位ノードのモデルとを結線表示した図を前記表示画面に出力する、
表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラム、情報処理装置および表示方法に関する。
【背景技術】
【０００２】
コンピュータネットワークでは、サーバや端末装置などの多くの機器がネットワークを介して接続されている。ネットワークに接続された機器は、ノードとも呼ばれる。
ネットワークの運用管理を適切に行うためには、ネットワーク内のノードの接続関係（トポロジーともいう）を、正しく把握することが重要である。トポロジーの把握ために、例えば、接続関係を有するノード同士を線（接続線ともいう）で繋いだ図を、クライアントの画面に表示させることができる。これにより、ノード間の接続関係を視覚的に容易に把握できる。
【０００３】
ネットワーク図を描画する技術としては、例えばノード相互間を接続する線が接続相手以外のノードと重ならないように、直線または曲線によって接続相手となるノード相互間を接続する線を生成する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１０５２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワークに接続されるノード数が多くなり、トポロジーが複雑化すると、ネットワーク図の２次元的な表示では接続関係の把握は困難となる。そこでトポロジーを３次元的に表示することが考えられる。例えば、３次元空間内に階層的に設けられた複数の領域に複数のノードのモデルを配置し、配置されたノードのモデル間を接続線で接続することで、トポロジーに示されるノードの接続関係を３次元で表現できる。トポロジーを３次元で表示すれば、視点を変えることで各ノード間の接続関係を様々な方向から視認することができる。例えば、３次元で表示されたトポロジーを９０度、１８０度、２７０度に回転させて、各ノードの接続関係を視認することができる。
【０００６】
しかし、視点を変えても多くの接続線が交差してしまい、ノード間の接続関係が見づらい場合がある。例えば、クライアントの画面に表示されたトポロジーに含まれている複数のノードのモデルのうち、画面の奥側に配置されているノードのモデルの接続関係を視認するために、トポロジーを回転しても、そのノードのモデルの接続線が多数の他の接続線と交差してしまい、どのノードに接続されているのかが把握しづらい場合がある。
【０００７】
１つの側面では、本発明は、トポロジーを３次元で表示するときの視認性を向上させることができるプログラム、情報処理装置および表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、情報処理システムに含まれる複数のノードの情報処理システムにおける接続関係を３次元表示するプログラムが提供される。このプログラムは、コンピュータに、情報処理システムにおける第１の階層に対応する、表示画面に表示された第１の領域内に、第１の階層に属する複数の上位ノードを示すモデルを配置し、情報処理システムにおける第１の階層の下の第２の階層に対応する、表示画面に表示された第２の領域に、第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの第１の領域内での配置位置に対応する、第２の領域内の配置位置に配置し、接続関係を有する上位ノードのモデルと下位ノードのモデルとを結線表示した図を表示画面に出力する処理を実行させる。
【０００９】
また、１つの態様では、情報処理システムに含まれる複数のノードの情報処理システムにおける接続関係を３次元表示する情報処理装置が提供される。この情報処理装置は記憶部と演算部とを有する。記憶部は、複数のノードの接続関係を記憶する。演算部は、情報処理システムにおける第１の階層に対応する、表示画面に表示された第１の領域内に、第１の階層に属する複数の上位ノードを示すモデルを配置し、情報処理システムにおける第１の階層の下の第２の階層に対応する、表示画面に表示された第２の領域に、第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの第１の領域内での配置位置に対応する、第２の領域内の配置位置に配置し、接続関係を有する上位ノードのモデルと下位ノードのモデルとを結線表示した図を表示画面に出力する。
【００１０】
また、１つの態様では、情報処理システムに含まれる複数のノードの情報処理システムにおける接続関係を３次元表示する表示方法が提供される。この表示方法は、コンピュータが、情報処理システムにおける第１の階層に対応する、表示画面に表示された第１の領域内に、第１の階層に属する複数の上位ノードを示すモデルを配置し、情報処理システムにおける第１の階層の下の第２の階層に対応する、表示画面に表示された第２の領域に、第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの第１の領域内での配置位置に対応する、第２の領域内の配置位置に配置し、接続関係を有する上位ノードのモデルと下位ノードのモデルとを結線表示した図を表示画面に出力する。
【発明の効果】
【００１１】
１つの側面では、トポロジーを３次元で表示するときの視認性を向上させる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】クライアントのハードウェア例を示す図である。
【図４】３次元で表示されたトポロジーの比較例を示す図である。
【図５】情報処理システムの機能例を示す図である。
【図６】ノードテーブルの例を示す図である。
【図７】所属グループテーブルの例を示す図である。
【図８】接続関係テーブルの例を示す図である。
【図９】配置可能テーブルの例を示す図である。
【図１０】トポロジーのモデルの作成処理の例を示すフローチャートである。
【図１１】下位ノードのモデルの配置決定処理の例を示すフローチャートである。
【図１２】下位ノードのモデルの配置決定処理の具体例を示す図である。
【図１３】トポロジーのモデルの具体例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置を示す図である。情報処理装置１は、情報処理システムに含まれる複数のノードそれぞれを示すモデルを３次元の仮想空間に配置し、３次元で表示されるトポロジーを作成する。ここで、ノードは、ＰＣ（Personal Computer）やサーバなどの装置またはルータなどの中継装置である。情報処理装置１は、作成したトポロジーを情報処理装置１の画面に表示する。
【００１４】
情報処理装置１は、記憶部１ａと演算部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。演算部１ｂはプログラムを実行するプロセッサであってもよい。「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１５】
記憶部１ａは、各ノード間の接続関係を示す接続情報を記憶する。例えば、接続情報は、ノードＸとノードＸ１，Ｘ２、ノードＹとノードＹ１，Ｙ２，Ｙ３，Ｙ４、ノードＺとノードＺ１，Ｚ２が接続関係を有する旨を示す情報を含む。ノード間の接続関係は、階層的になっている。図１の例では、ノードＸ，Ｙ，Ｚが上位の階層のノード（上位ノード）であり、ノードＸ１，Ｘ２，Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｚ１，Ｚ２が、下位の階層のノード（下位ノード）である。
【００１６】
演算部１ｂは、トポロジーを３次元で表示するためのモデルを、仮想空間２内に作成する。トポロジーは、複数のノードのモデルが階層的に設けられた複数の領域に配置されたツリー状のネットワークの接続関係を表示したものである。ネットワークは、論理ネットワークを示すものであってもよいし、仮想ネットワークを示すものであってもよい。
【００１７】
演算部１ｂは、記憶部１ａに仮想空間２を構築する。これにより、情報処理装置１の画面に仮想空間２が表示される。演算部１ｂは、仮想空間２に第１階層として第１の領域を設ける。演算部１ｂは、仮想空間２に、第１の階層の下の第２階層として複数の第２の領域を設ける。演算部１ｂは、情報処理装置１を操作するユーザからの入力に応答し、第１の階層に設けられた第１の領域内に、第１の領域に属する複数の上位ノードのモデルを配置する。ここで、１つの領域に属するノードのモデルは、例えば、同じ地域、同じ建物に配置されているノード、または同じサブネットまたは同じセグメントのノードである。
【００１８】
さらに演算部１ｂは、トポロジーに従って、仮想空間２内に設けた第１の領域および第２の領域に複数のノードのモデルを配置し、接続関係を有するノードのモデル同士を接続線で結線することで、トポロジーを３次元で表すモデルを作成する。演算部１ｂは、トポロジーを３次元で表すモデルを情報処理装置１の画面に出力する。トポロジーを３次元で表示すれば、視点を変えることで各ノード間の接続関係を様々な方向から視認することができる。
【００１９】
なお、トポロジーを表す３次元のモデルを表示するとき、多くの接続線が交差してしまうと、ノード間の接続関係が見づらくなる。接続線の交差が多くなる原因としては、３次元空間へのノードのモデルの配置が、不適切であることが考えられる。例えば、各階層の領域に配置される各ノードのモデルが、ノードを識別するＩＤ（identifier）、またはある室内に各ノードが配置されている物理的な位置に基づいて配置されると、接続線の交差が多く、接続関係の視認性がよくない。
【００２０】
そこで演算部１ｂは、接続線の交差が少なくなるように、第１の階層のノードのモデルの位置を考慮して、そのノードと接続関係を有する第２の階層のノードのモデルを配置する。すなわち、演算部１ｂは、第２の階層に対応する情報処理装置１に表示された第２の領域に、第２の階層に属する複数の下位ノードそれぞれを示すモデルを、下位ノードと接続関係を有する上位ノードのモデルの第１の領域内での配置位置に対応する、第２の領域内の配置位置に配置する。例えば、第２の階層に属する下位ノードのモデルを第２の領域内に配置する場合は、下位ノードのモデルと接続関係を有する上位ノードのモデルの第１の領域内での配置位置に対応する、第２の領域内の配置位置に、当該下位ノードのモデルを寄せて配置する。
【００２１】
また、例えば、演算部１ｂは、仮想空間２に、第１階層として領域３を設ける。演算部１ｂは、仮想空間２に、第２階層として領域４，４ａを設ける。演算部１ｂは、領域３内に、領域３に属するノードＸ，Ｙ，Ｚのモデルを配置する。次に演算部１ｂは、領域３内でのノードＸ，Ｙ，Ｚのモデルそれぞれの位置に対応する、領域４，４ａの位置を判断する。例えば演算部１ｂは、領域３内でのノードＸ，Ｙ，Ｚのモデルそれぞれの位置を領域４，４ａそれぞれに投影する。そして演算部１ｂは、ノードＸ，Ｙ，Ｚのモデルそれぞれの投影された像の領域４，４ａ内での位置を、ノードＸ，Ｙ，Ｚのモデルそれぞれの位置に対応する位置とする。さらに、演算部１ｂは、領域４に属するノードＸ１のモデルを、ノードＸ１と接続関係を有するノードＸのモデルの領域３内での位置に対応する、ノードＸ１のモデルが属する領域４内の位置に寄せて配置する。同様に、演算部１ｂは、領域４に属するノードＹ１，Ｙ２，Ｚ１のモデルを、ノードＹ１，Ｙ２，Ｚ１と接続関係を有するノードＹ，Ｚのモデルの領域３内での位置に対応する、領域４内の位置に寄せて配置する。また、演算部１ｂは、領域４ａに属するノードＸ２，Ｙ３，Ｙ４，Ｚ２のモデルを、ノードＸ２，Ｙ３，Ｙ４，Ｚ２と接続関係を有するノードＸ，Ｙ，Ｚのモデルの領域３内での位置に対応する、領域４ａ内の位置に寄せて配置する。
【００２２】
そして、演算部１ｂは、接続関係を有するノードのモデル同士を接続線で繋ぐ。これにより、トポロジーを３次元で表示するためのモデルが作成される。演算部１ｂは、作成したトポロジーのモデルを情報処理装置１の画面に表示する。これにより、３次元で表現されたトポロジーが画面に表示される。また、演算部１ｂは、作成したトポロジーのモデルをブラウザに表示できるようにしてもよい。
【００２３】
図１の仮想空間２には、演算部１ｂが作成したトポロジーのモデルが示されている。ノードＸのモデルは、視点からみて、領域３内で手前に配置されているので、ノードＸ１のモデルは領域４内で手前に配置され、ノードＸ２のモデルは領域４ａ内で手前に配置される。ノードＹのモデルは、視点からみて、領域３内で右に配置されているので、ノードＹ１，Ｙ２のモデルは領域４内で右に配置され、ノードＹ３，Ｙ４のモデルは領域４ａ内で右に配置される。ノードＺのモデルは、視点からみて、領域３内で奥に配置されているので、ノードＺ１のモデルは領域４内で奥に配置され、ノードＺ２のモデルは領域４ａ内で奥に配置される。このように、下位のノードのモデルを、当該下位のノードと接続関係を有する上位のノードのモデルの位置に応じた位置に配置することで、交差する接続線を少なくすることができる。
【００２４】
例えば、正面奥に配置されているノードＺ２のモデルの接続関係を視認したい場合を想定する。この場合、演算部１ｂは、ユーザの操作により、３次元で表示されるトポロジーを時計回りに９０度回転させる。すると、交差する接続線が少ないため、ノードＺ２がノードＺと接続関係を有することを容易に認識できる。このように、第１の実施の形態によって作成されたモデルによりトポロジーを３次元で表示すれば、交差する接続線の数が抑止され、各ノード間の接続関係を把握しやすくなる。
【００２５】
すなわち、第１の実施の形態によれば、複数の下位ノードそれぞれを示すモデルが、下位ノードと接続関係を有する上位ノードのモデルの領域内での配置位置に対応する、該下位ノードのモデルが属する領域内の配置位置に、寄せて配置される。このように上位ノードのモデルの位置に、その上位ノードと接続関係を有する下位ノードのモデルの位置を合わせることで、トポロジーのモデルを表示したときに交差する接続線を少なくすることができる。そして、交差する接続線が少なくなることで、ノード間の接続関係を把握しやすくなる。その結果、トポロジーを３次元で表示するときの視認性を向上させることができる。
【００２６】
また、第１の実施の形態では、２つの階層の領域にノードのモデルを配置する方法を示したが、３階層以上でも第１の実施の形態を実現できる。例えば、３階層目の領域に属するノードのモデルを、３階層目の領域に属するノードと接続関係を有する２階層目の領域に属するノードのモデルの領域内での位置に対応する、３階層目の領域内の位置に、寄せて配置することで、交差する接続線を少なくすることができる。
【００２７】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。第２の実施の形態の情報処理システムは、クライアント１００およびサーバ２００を含む。クライアント１００およびサーバ２００は、ネットワーク１０を介して接続されている。ネットワーク１０は、ＬＡＮ（Local Area Network）でもよいし、ＷＡＮ（Wide Area Network）やインターネットなどの広域ネットワークでもよい。
【００２８】
クライアント１００は、トポロジーを３次元で表すモデルを作成するクライアントコンピュータである。クライアント１００は、複数のノードのモデルを３次元の仮想空間に配置し、トポロジーを表すモデルを作成する。クライアント１００は、作成したトポロジーのモデルをクライアント１００の画面に表示する。
【００２９】
サーバ２００は、モデル作成対象となるトポロジーのデータを記憶するコンピュータである。サーバ２００は、クライアント１００からデータの読み出しの要求を受け付ける。サーバ２００は、要求されたデータをクライアント１００に送信する。
【００３０】
図３は、クライアントのハードウェア例を示す図である。クライアント１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、読み取り装置１０６および通信インタフェース１０７を有する。各ユニットがクライアント１００のバスに接続されている。
【００３１】
プロセッサ１０１は、クライアント１００全体を制御する。プロセッサ１０１は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。また、プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００３２】
ＲＡＭ１０２は、クライアント１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００３３】
ＨＤＤ１０３は、クライアント１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。クライアント１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００３４】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、クライアント１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（Electro-Luminescence）ディスプレイなど各種のディスプレイを用いることができる。
【００３５】
入力信号処理部１０５は、クライアント１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２としては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。クライアント１００には、複数の種類の入力デバイスが接続されてもよい。
【００３６】
読み取り装置１０６は、記録媒体１３に記録されたプログラムやデータを読み取る装置である。記録媒体１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００３７】
通信インタフェース１０７は、ネットワーク１０を介してサーバ２００と通信を行う。通信インタフェース１０７は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
【００３８】
なお、サーバ２００もクライアント１００と同様のハードウェアにより実現できる。また、図１に示した第１の実施の形態の情報処理装置１も、クライアント２００と同様のハードウェアにより実現できる。
【００３９】
ここで、第２の実施の形態におけるトポロジーのモデルの作成方法を説明する前に、第２の実施の形態の方法を適用しない場合における問題点について説明する。
図４は、３次元で表示されたトポロジーの比較例を示す図である。図４の上部では、各ノードのモデルが階層的に設けられた複数の領域に配置されたツリー状のネットワークの接続関係を示している。トポロジーに含まれる領域やノードのモデルは、例えば、ＶＲＭＬ(Virtual Reality Modeling Language）、または３次元の空間に領域やノードのモデルを設定できるプログラムを用いて作成される。
【００４０】
サーバ棟Ｖ１は、上位の階層の領域を示している。実験棟Ｖ２および執務棟Ｖ３は、下位の階層の領域を示している。サーバ棟Ｖ１、実験棟Ｖ２および執務棟Ｖ３には、複数のノードのモデルが配置されている。サーバ棟Ｖ１に属するノードのモデルは、サーバ棟に配置されているノードのモデルである。実験棟Ｖ２に属するノードのモデルは、実験棟に配置されているノードのモデルである。執務棟Ｖ３に属するノードのモデルは、執務棟に配置されているノードのモデルである。
【００４１】
図４の比較例では、サーバ棟Ｖ１、実験棟Ｖ２および執務棟Ｖ３に配置されているノードは、ノードを識別するＩＤや実際にサーバ棟、実験棟、執務棟に配置されているノードの物理的な位置に基づいて、配置されているものとする。ここで、ノードは、ＰＣやサーバなどの装置、またはルータなどの中継装置である。例えば、サーバ棟Ｖ１に属するノードのモデルは、サーバである。図４の上部では、サーバ棟、実験棟および執務棟に属するノード間の接続関係を接続線によって表している。
【００４２】
図４の下部は、図４の上部の３次元で表示されるトポロジーを時計回りに９０度回転させた状態を示している。３次元で表示されるトポロジーでは、図４の上部の状態からノード間の接続関係を視認することができるし、視点を変えて、図４の下部の状態からノード間の接続関係を視認することもできる。
【００４３】
ここで、図４の上部の執務棟に属するノードＲ１の接続関係を視認したい場合がある。ノードＲ１のモデルは執務棟Ｖ３の領域の正面奥側に配置されており、視認しにくいため、右回りに９０度回転させ、図４の下部の状態にする。しかし、図４の下部の状態では、多くの接続線が交差しているため、ノードＲ１がどのノードと接続関係を有しているのかを把握しづらい。
【００４４】
そこで第２の実施の形態では、クライアント１００がトポロジーのモデルを作成する際に、接続線の交差が少なくなるようにノードのモデルを配置することで、ノード間の接続関係の視認性を向上させる。
【００４５】
図５は、情報処理システムの機能例を示す図である。図５に示すユニットの一部または全部は、各装置が備えるプロセッサによって実行されるプログラムのモジュールであってもよい。クライアント１００は、記憶部１１０、読み込み部１２０、領域設定部１３０、配置決定部１４０および描画部１５０を有する。読み込み部１２０、領域設定部１３０、配置決定部１４０および描画部１５０は、互いに通信可能である。記憶部１１０は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域として実装される。読み込み部１２０、領域設定部１３０、配置決定部１４０および描画部１５０は、例えば、プロセッサ１０１が実行するプログラムのモジュールとして実装される。
【００４６】
記憶部１１０は、読み込み部１２０、領域設定部１３０、配置決定部１４０および描画部１５０の処理に用いられる情報を記憶する。記憶部１１０は、配置可能テーブル１１１を記憶する。配置可能テーブル１１１には、仮想空間内に設けた領域におけるノードのモデルを配置可能な位置を示す情報が登録されている。
【００４７】
読み込み部１２０は、サーバ２００が記憶するデータの読み出し要求をサーバ２００に送信する。読み込み部１２０は、サーバ２００から読み出しの要求に応じたデータを取得し、取得したデータを記憶部１１０に格納する。また、読み込み部１２０は、データを取得した旨を示す応答をサーバ２００に送信する。
【００４８】
領域設定部１３０は、仮想空間を構築する。これにより、クライアント１００のディスプレイ１１に仮想空間が表示される。さらに領域設定部１３０は、仮想空間内に、各階層のノードのモデルを配置するための領域を設定する。例えば上位の階層の領域ほど、仮想空間の上方に設定される。各領域には、ノードのモデルを配置可能な場所が定義されている。例えば領域が升目で区切られており、各升目に１つずつのノードのモデルが配置できる。升目の大きさは、階層ごとに異なってもよい。各階層の領域の形状は、正方形でもよいし、矩形でもよい。ここで、各階層の領域それぞれの大きさは、同じものとする。
【００４９】
１つの領域に属するノードのモデルは、例えば、同じ地域、同じ建物に配置されているノード、または同じサブネットまたは同じセグメントのノードである。なお複数のサブネットのノードのモデルを同じ領域に配置してもよい。同様に、複数のセグメントのノードのモデルを同じ領域に配置してもよい。第２の実施の形態では、同じ領域に属するノードのモデル同士をグループ化した、複数のグループがあらかじめ設けられている。
【００５０】
また領域設定部１３０は、配置可能テーブル１１１を生成する。例えば、領域設定部１３０は、領域内の升目状に区切られた枠内を配置可能な位置として、配置可能テーブル１１１を生成する。
【００５１】
配置決定部１４０は、仮想空間に設定された領域に、その領域に対応するグループのノードのモデルを配置する。例えば配置決定部１４０は、上位の階層に属するグループと、上位の階層の下の下位の階層に属するグループの２つのグループを選択する。配置決定部１４０は、クライアント１００を操作するユーザからの入力に基づいて、上位の階層に属するノードのモデルを上位の階層の領域に配置する。次に配置決定部１４０は、上位の階層に属するノードのモデルが配置されている上位の階層の領域内での位置を下位の階層の領域に投影する。そして配置決定部１４０は、下位ノードのモデルを配置可能でノードのモデルを未配置の、下位の階層の領域内の位置のうち、上位ノードのモデルの位置を投影した位置から最短距離の位置へ、順に、その上位ノードと接続関係を有する下位ノードのモデルを配置する。
【００５２】
描画部１５０は、接続関係を有するノードのモデル同士を接続線で繋ぎ、トポロジーを３次元で表示するためのモデルを作成する。描画部１５０は、作成されたトポロジーのモデルをブラウザに表示する。例えば、描画部１５０は、トポロジーのモデルをＷｅｂブラウザで表示できるように、当該トポロジーのモデルをＸＭＬ（Extensible Markup Language）の形式に加工してもよい。そして、描画部１５０は、トポロジーをＷｅｂブラウザに表示する。
【００５３】
サーバ２００は、ノードテーブル２０１、所属グループテーブル２０２および接続関係テーブル２０３を記憶する。ノードテーブル２０１には、ノードを識別するための情報が登録されている。所属グループテーブル２０２には、各ノードがどのグループに属するかを示す情報が登録されている。接続関係テーブル２０３には、ノード間の接続関係を示す情報が登録されている。
【００５４】
図６は、ノードテーブルの例を示す図である。ノードテーブル２０１は、サーバ２００に格納されている。ノードテーブル２０１は、ノードＩＤおよびノード名の項目を含む。ノードＩＤの項目には、ノードを識別する符号（ノードＩＤ）が登録される。ノード名の項目には、ノードの名称が登録される。
【００５５】
例えば、ノードテーブル２０１には、ノードＩＤが“Ａ１”、ノード名が“サーバ”という情報が登録される。これは、ノードＩＤ“Ａ１”はノード名“サーバ”であることを示している。
【００５６】
図７は、所属グループテーブルの例を示す図である。所属グループテーブル２０２は、サーバ２００に格納されている。所属グループテーブル２０２は、グループＩＤ、グループ名、階層およびノードＩＤの項目を含む。
【００５７】
グループＩＤの項目には、グループを識別する符号が登録される。グループ名の項目には、グループの名称が登録される。階層の項目には、グループ内のノードのモデルが属する領域が、トポロジーの何階層目に該当するかを示す情報が登録される。図７の例では、階層が数字で示されている。階層を示す数字が小さいほど、上位の階層である。ノードＩＤの項目には、対応するグループに属するノードを識別する符号（ノードＩＤ）が登録される。
【００５８】
例えば、所属グループテーブル２０２には、グループＩＤが“Ａ”、グループ名が“サーバ棟”、階層が“１”およびノードＩＤが“Ａ１，Ａ２”という情報が登録される。これは、グループＩＤ“Ａ”の名称が“サーバ棟”であり、グループＩＤ“Ａ”はトポロジーに含まれる領域のうち１階層目に該当することを示している。また、グループＩＤ“Ａ”には、ノードＩＤ“Ａ１，Ａ２”が属することを示している。
【００５９】
また、例えば、所属グループテーブル２０２には、グループＩＤが“Ｃ”、グループ名が“実験棟”、階層が“２”およびノードＩＤが“Ｃ１，・・・”という情報が登録される。これは、グループＩＤ“Ｃ”の名称が“実験棟”であり、グループＩＤ“Ｃ”はトポロジーに含まれる領域のうち２階層目に該当することを示している。また、グループＩＤ“Ｃ”には、ノードＩＤ“Ｃ１，・・・”が属することを示している。
【００６０】
図８は、接続関係テーブルの例を示す図である。接続関係テーブル２０３は、サーバ２００に格納されている。接続関係テーブル２０３は、接続関係の項目を含む。接続関係の項目には、ノード間の接続関係を示す情報が登録される。ノード間の接続関係を示す情報には、接続関係を有する２つのノードのノードＩＤが含まれる。
【００６１】
例えば、接続関係テーブル２０３には、接続関係が“ノードＡ１−ノードＢ１”という情報が登録される。これは、ノード“Ａ１”とノード“Ｂ１”が接続関係を有することを示している。
【００６２】
図９は、配置可能テーブルの例を示す図である。配置可能テーブル１１１は、記憶部１１０に格納される。配置可能テーブル１１１は、グループＩＤ、座標およびノードＩＤの項目を含む。
【００６３】
グループＩＤの項目には、グループを識別する符号が登録される。座標の項目には、領域設定部１３０が設定した領域内における、ノードのモデルを配置可能な位置の座標が登録される。配置可能テーブル１１１に設定される座標は、グループごとの領域内の所定の点を原点とした、領域ごとのローカル座標である。ノードＩＤの項目には、対応する座標に配置されたノードのモデルを識別する符号が登録される。
【００６４】
例えば、配置可能テーブル１１１には、グループＩＤが“Ｂ”、座標が“（２，２）”、ノードＩＤ“−（ハイフン）”という情報が登録される。これは、グループＩＤ“Ｂ”の領域の座標“（２，２）”に、グループＩＤ“Ｂ”に属するノードを配置可能であり、当該座標には、どのノードも配置されていない（“−”）ことを示している。
【００６５】
また、例えば、配置可能テーブル１１１には、グループＩＤが“Ｂ”、座標が“（２，１０）”、ノードＩＤ“Ｂ２”という情報が登録される。これは、グループＩＤ“Ｂ”の領域の座標“（２，１０）”に、グループＩＤ“Ｂ”に属するノードを配置可能であり、当該座標には、ノードＩＤ“Ｂ２”が配置されていることを示している。
【００６６】
また、配置可能テーブル１１１が領域設定部１３０により生成された段階では、１階層目であるグループＡの座標の項目は、“−”であってもよい。
次に、３次元で表示するためのトポロジーのモデルを作成する処理の説明をする。
【００６７】
図１０は、トポロジーのモデルの作成処理の例を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
（Ｓ１１）読み込み部１２０は、サーバ２００からトポロジーに関する情報を読み込む。例えば読み込み部１２０は、サーバ２００が記憶するノードテーブル２０１、所属グループテーブル２０２、および接続関係テーブル２０３の読み出し要求を、サーバ２００に送信する。読み出し要求に応じて、サーバ２００が、ノードテーブル２０１、所属グループテーブル２０２、および接続関係テーブル２０３を送信する。読み込み部１２０は、サーバ２００が送信したノードテーブル２０１、所属グループテーブル２０２、および接続関係テーブル２０３を取得する。読み込み部１２０は、取得したノードテーブル２０１、所属グループテーブル２０２、および接続関係テーブル２０３を記憶部１１０に格納する。そして、読み込み部１２０は、トポロジーの情報を取得した旨を領域設定部１３０に通知する。
【００６８】
（Ｓ１２）領域設定部１３０は、ノードのグループごとの領域を仮想空間内に設定する。例えば領域設定部１３０は、仮想空間を構築する。そして領域設定部１３０は、所属グループテーブル２０２を参照し、階層の番号に従って各グループの領域を仮想空間に設定する。このとき領域設定部１３０は、例えば上位の階層のグループの領域ほど、仮想空間内の上方に設定する。図７に示したグループの例であれば、グループ名「サーバ棟」のグループに対応する領域より下に、グループ名「執務棟」、「実験棟」、「ネットワーク監視棟」のグループに対応する領域が設定される。
【００６９】
また、領域設定部１３０は、配置可能テーブル１１１を生成する。配置可能テーブル１１１の生成時には、ノードＩＤの項目には、すべて“−”（配置ノードなしを示す記号）が設定されている。領域設定部１３０は、各グループの領域を設定した旨を配置決定部１４０に通知する。
【００７０】
（Ｓ１３）配置決定部１４０は、所属グループテーブル２０２を参照し、１階層目に属するノードを選択し、クライアント１００を操作するユーザにより選択したノードのモデルを１階層目の領域に配置する。例えば、配置されるノードのモデルは、領域内の升目状に区切られた枠内に配置される。配置決定部１４０は、配置した座標を配置可能テーブル１１１に登録する。以下の処理をツリー状の上位のグループから順に処理を行う。
【００７１】
（Ｓ１４）配置決定部１４０は、上位の階層に属するグループと上位の階層の下の下位の階層に属するグループの２つのグループを選択する。例えば、配置決定部１４０は、１階層目に属するグループＡと２階層目に属するグループＢとを選択する。
【００７２】
（Ｓ１５）配置決定部１４０は、選択した下位の階層のグループに属する下位ノードのモデルの配置処理を行う。この処理により、下位ノードのモデルが下位の領域に配置される位置を決定できる。
【００７３】
（Ｓ１６）配置決定部１４０は、全てのグル―プについて処理済みであるか否かの判定を行う。処理済みの場合、配置決定部１４０は、全てのグル―プに属するノードのモデルの配置が決定した旨を描画部１５０に通知する。そして、処理をステップＳ１７に進める。処理済みでない場合、処理をステップＳ１４に進める。この場合、ステップＳ１４で前回選択した下位の階層と同じ階層のグループが処理済みでない場合は、当該グル―プを優先して処理を行う。例えば、ステップＳ１４の下位の階層がグループＢの場合、グループＢと同じ階層のグループＣが処理済みでない場合は、ステップＳ１６の次に行われるステップＳ１４においてグループＡとグル―プＣとの処理を優先して行う。
【００７４】
（Ｓ１７）描画部１５０は、接続関係テーブル２０３を参照し、接続関係を有するノードのモデル同士を接続線で繋ぎ、３次元表示用のトポロジーのモデルを作成する。描画部１５０は、作成されたトポロジーのモデルをブラウザで表示できるように加工する。描画部１５０は、トポロジーのモデルをブラウザで表示する。そして、処理を終了する。
【００７５】
図１１は、下位ノードのモデルの配置決定処理の例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。図１１に示す処理はステップＳ１５の処理に対応する。
【００７６】
（Ｓ２１）配置決定部１４０は、１つの上位ノードＩＤを選択する。配置決定部１４０は、選択した上位ノードＩＤで配列を生成する。
（Ｓ２２）配置決定部１４０は、接続関係テーブル２０３を参照し、選択した上位ノードと接続関係を有する下位ノードを配列に設定する。例えば、配置決定部１４０は、ノードＡ１と接続関係を有するノードＢ１，Ｂ３，Ｂ５をノードＡ１の配列に設定する。
【００７７】
（Ｓ２３）配置決定部１４０は、選択した上位ノードのモデルが配置されている上位グループの領域内での位置を下位グループの領域に投影する。例えば配置決定部１４０は、上位グループに配置されている上位ノードのモデルの座標を、配置可能テーブル１１１から取得する。そして配置決定部１４０は、下位のグループの領域における取得した座標の位置を、上位ノードのモデルの位置を投影した位置とする。
【００７８】
（Ｓ２４）配置決定部１４０は、上位ノードＩＤ毎に配列を生成したか否かを判定する。例えば、上位グループがグループＡの場合、配置決定部１４０は、ノードＡ１，Ａ２で配列を生成したか否かを判定する。生成している場合、配置決定部１４０は、生成した配列のうち１つの配列を選択する。そして、処理をステップＳ２５に進める。生成していない場合、処理をステップＳ２１に進める。
【００７９】
（Ｓ２５）配置決定部１４０は、配列から１つの下位ノードを選択する。例えば、ノードＡ１の配列に含まれるノードＢ１を選択する。配置決定部１４０は、配置可能テーブル１１１を参照し、選択した下位ノードのモデルを配置可能な座標であり、ステップＳ２３で投影した位置から距離が最短の位置の座標を特定する。配置可能な座標とは、他の下位ノードのモデルが配置されていない座標である。
【００８０】
（Ｓ２６）配置決定部１４０は、ステップＳ２５で特定した座標に選択した下位ノードのモデルを配置する。配置決定部１４０は、配置可能テーブル１１１に特定した座標に選択した下位ノードのモデルを配置した旨を登録する。
【００８１】
（Ｓ２７）配置決定部１４０は、全ての配列に含まれる下位ノードに対して処理済みであるか否かを判定する。処理済みの場合、処理を終了する。処理済みでない場合、処理をステップＳ２８に進める。
【００８２】
（Ｓ２８）配置決定部１４０は、異なる配列から１つの下位ノードを選択する。例えば、ステップＳ２５で選択した配列がノードＡ１の場合、次に選択される配列は、ノードＡ２の配列である。すなわち、ステップＳ２５，Ｓ２６の処理を配列毎、順番に下位ノードのモデルを配置する。これは、ステップＳ２５，Ｓ２６の処理を配列毎にラウンドロビンで処理を行うともいえる。そして、処理をステップＳ２５に進める。
【００８３】
また、異なる配列に処理対象の下位ノードが存在しない場合は、同じ配列に含まれる下位ノードを選択する。例えば、ノードＡ２の配列に処理対象の下位ノードが存在しない場合は、ノードＡ１の配列に含まれる未処理の下位ノードを選択する。
【００８４】
このように、下位ノードのモデルは、上位ノードのモデルを投影した位置から距離が最短の位置に配置される。このように配置することで、上位ノードと接続関係を有する下位ノードのモデルを投影した位置の近辺に集めることができる。そして、投影した位置の近辺に下位ノードのモデルを集めることで、３次元でトポロジーを表示した場合、交差する接続線を少なくすることができる。
【００８５】
また、ステップＳ２５，Ｓ２６の処理を配列毎、順番に下位ノードのモデルを配置することで、上位ノードのモデルを投影した位置の近辺に、その上位ノードと接続関係を有する下位ノードを確実に配置できる。すなわち、ある上位ノードと接続関係を有する下位ノードが多数ある場合、それらの下位ノードを連続して選択して優先的に配置してしまうと、他の上位ノードのモデルを投影した位置の近辺にまで、それらの下位ノードのモデルが配置されてしまう場合があり得る。すると、その後、他の上位ノードと接続関係を有する下位ノードのモデルを配置しようとしても、他の上位ノードのモデルを投影した位置の近辺には配置可能な位置が存在せず、上位ノードのモデルを投影した位置から遠い位置にしか下位ノードのモデルを配置できないことになる。そこで、第２の実施の形態では、複数の上位ノードそれぞれの下位ノードのモデルの配置処理が、ラウンドロビン方式で、各上位ノードに対して平等に実施される。これにより、ある上位ノードのモデルを投影した位置の近辺に、その上位ノードと接続関係を有する下位ノードのモデルを確実に配置できるようになる。その結果、上位ノードのモデルを投影した位置から遠い位置にしか下位ノードのモデルを配置できないような事態の発生が抑止され、３次元でトポロジーを表示した場合における交差する接続線の数の増加が抑止される。
【００８６】
次に、下位ノードのモデルの配置決定処理の具体例を説明する。
図１２は、下位ノードのモデルの配置決定処理の具体例を示す図である。図１２では、読み込み部１２０が、サーバ２００からノードテーブル２０１、所属グループテーブル２０２、接続関係テーブル２０３を取得し、記憶部１１０に格納している。記憶部１１０に格納後の処理について具体例を用いて説明する。
【００８７】
領域設定部１３０は、グループＡとグループＢの升目状の領域を仮想空間に設定する。グループＡとグループＢの領域の大きさは、同じである。例えば、各グループの領域の大きさを１６×１６とする。図１２では、領域設定部１３０が設定したグループＡの領域は、４つの枠を有する升目状の領域である。また、領域設定部１３０が設定したグループＢの領域は、１６の枠を有する升目状の領域である。ここで、領域ごとに紙面左上を原点Ｏとして、原点Ｏから右方向をＸ軸、原点Ｏから下方向をＹ軸とする。
【００８８】
領域設定部１３０は、領域を設定すると共に、配置可能テーブル１１１を生成する。図１２では、グループＢの領域内にグループＢに属するノードが配置可能な位置を点で表している。例えば、配置可能な位置を示す点は、点Ｑである。
【００８９】
配置決定部１４０は、上位の階層に属するグループＡと下位の階層に属するグループＢの２つのグループを選択する。配置決定部１４０は、クライアント１００を操作するユーザにより、ノードＡ１，Ａ２のモデルをグループＡの領域内に配置する。配置決定部１４０は、ノードＡ１，Ａ２のモデルを配置した座標を配置可能テーブル１１１に登録する。
【００９０】
配置決定部１４０は、ノードＡ１，Ａ２の配列を生成する。配置決定部１４０は、ノードＡ１と接続関係を有するノードＢ１，Ｂ３，Ｂ５をノードＡ１の配列に設定する。配置決定部１４０は、ノードＡ２と接続関係を有するノードＢ２，Ｂ４，Ｂ６をノードＡ２の配列に設定する。配置決定部１４０は、ノードＡ１，Ａ２のモデルが配置されているグループＡの領域内の位置をグループＢの領域内に投影する。ノードＡ１のモデルが配置されているグループＡの領域内の位置をグループＢの領域内に投影した位置を点Ｐ１とする。ノードＡ２のモデルが配置されているグループＡの領域内の位置をグループＢの領域内に投影した位置を点Ｐ２とする。
【００９１】
配置決定部１４０は、ノードＡ１の配列からノードＢ１を選択する。配置決定部１４０は、配置可能テーブル１１１を参照し、点Ｐ１から距離が最短の位置であって、下位ノードのモデルを配置可能な座標を特定する。ここで、点Ｐ１から距離が最短の位置であって、配置可能な位置が複数ある場合には、配置決定部１４０は、例えば点Ｐ１を中心に所定の位置から時計回りに位置を決定する。配置決定部１４０は、（１０，２）を特定し、ノードＢ１のモデルを配置する。配置決定部１４０は、配置可能テーブル１１１に、ノードＢ１のモデルを（１０，２）に配置した旨を登録する。
【００９２】
配置決定部１４０は、ノードＡ２の配列からノードＢ２を選択する。配置決定部１４０は、配置可能テーブル１１１を参照し、点Ｐ２から距離が最短の位置であって、下位ノードのモデルを配置可能な座標を特定する。配置決定部１４０は、（２，１０）を特定し、ノードＢ２のモデルを配置する。配置決定部１４０は、配置可能テーブル１１１に、ノードＢ２のモデルを（２，１０）に配置した旨を登録する。
【００９３】
配置決定部１４０は、ノードＡ１の配列からノードＢ３を選択する。配置決定部１４０は、配置可能テーブル１１１を参照し、点Ｐ１から距離が最短の位置であって、下位ノードのモデルを配置可能な座標を特定する。具体的には、配置決定部１４０は、点Ｐ１から距離が最短の位置であって、配置可能な位置のうち、点Ｐ１を中心にノードＢ１のモデルから時計回りにして配置可能な座標（１２，２）を特定する。配置決定部１４０は、（１２，２）にノードＢ３のモデルを配置する。配置決定部１４０は、配置可能テーブル１１１に、ノードＢ３のモデルを（１２，２）に配置した旨を登録する。
【００９４】
次に、グループＢに属するノードが以下の順番でグループＢの領域に配置される。まず、ノードＢ４のモデルが（６,１０）に配置され、ノードＢ５のモデルが（１４,２）に配置され、ノードＢ６のモデルが（６,１４）に配置される。このようにして、グループＢに属するノードのモデルは、グループＢの領域に配置される。また、できる限り下位ノードのモデルを、当該下位ノードと接続関係を有する上位ノードのモデルが配置される上位の領域の枠内に対応する下位の領域に配置する。例えば、ノードＡ１のモデルが（８，０）〜（１６，８）の範囲に配置されるので、ノードＡ１と接続関係を有するノードＢ１，Ｂ３，Ｂ５のモデルを（８，０）〜（１６，８）の範囲に配置する。すると、ノードＡ１のモデルと、ノードＢ１，Ｂ３，Ｂ５のモデルそれぞれを接続線で繋いだとき、交差する接続線が少なくなる。
【００９５】
また、グループＢに属するノードのモデルをグループＢの領域に配置する方法について、点Ｐ１から距離が最短の位置であって、配置可能な座標が複数ある場合には、点Ｐ１から最短距離の角の位置の方向から順に配置するようにしてもよい。例えば、点Ｐ１から距離が最短の位置であって、配置可能な座標は、（１０，２）、（１４，２）、（１０，６）、（１４，６）である。点Ｐ１から最短距離の角の位置は（１６，０）なので、配置決定部１４０は、（１２，２）にノードＢ１のモデルを配置し、（１０，２）にノードＢ３のモデルを配置し、（１４，６）にノードＢ５のモデルを配置する。点Ｐ２についても同様にノードＢ２，Ｂ４，Ｂ６のモデルが配置される。
【００９６】
また、点Ｐ１と点Ｐ２から等距離の位置に配置可能な座標がある場合は、時計回りに優先して配置する下位ノードのモデルを決定してもよい。例えば、（２，２）が配置可能な座標である場合、（８，８）を中心に時計回りにして、ノードＡ１と接続関係を有するグループＢに属するノードのモデルを配置するのではなく、ノードＡ２と接続関係を有するグループＢに属するノードのモデルを配置する。
【００９７】
図１３は、トポロジーのモデルの具体例を示す図である。図１３の上部では、第２の実施の形態により作成されたトポロジーのモデルを示している。サーバ棟Ｗ１は、上位の階層の領域を示している。実験棟Ｗ２および執務棟Ｗ３は、下位の階層の領域を示している。サーバ棟Ｗ１、実験棟Ｗ２および執務棟Ｗ３には、複数のノードのモデルが配置されている。図１３の上部では、サーバ棟、実験棟および執務棟に属するノード間の接続関係を接続線によって表している。サーバ棟に属するノードと接続関係を有する実験棟および執務棟に属する各ノードは、サーバ棟Ｗ１に属するノードのモデルがサーバ棟Ｗ１に配置される位置を実験棟Ｗ２および執務棟Ｗ３に投影した位置に、寄せて配置される。このように各ノードのモデルを配置することで、交差する接続線を少なくすることができる。
【００９８】
図１３の下部は、上部のトポロジーのモデルを時計回りに９０度回転させた状態を示している。執務棟に属するノードＲ２の接続関係を視認したい場合がある。そこで、図１３の下部の状態にする。すると、交差する接続線が少ないため、ノードＲ２の接続関係を容易に把握できる。
【００９９】
ここで、トポロジーを３次元で表示すれば、視点を変えることで各ノード間の接続関係を様々な方向から視認することができる。しかし、視点を変えても多くの接続線が交差してしまい、ノード間の接続関係が見づらい場合がある。また、図４に示すようなトポロジーに含まれる各ノードは、ノードを識別するＩＤ、またはある室内に各ノードが配置されている物理的な位置に基づいて、配置されることがある。このため、各ノードのモデルを領域内で、多くの接続線が交差しない位置へ自由に動かすことができない場合がある。
【０１００】
第２の実施の形態によれば、各階層の領域に属する各ノードのモデルは、ノードを識別するＩＤやある室内にノードが配置されている物理的な位置に基づいて配置しなくてもよいので、多くの接続線が交差しないように配置される。また、第２の実施の形態によれば、上位の階層に属するノードのモデルが配置されている上位の階層の領域内での位置を下位の階層の領域に投影する。上位の階層に属するノードと接続関係を有する下位ノードのモデルは、投影した位置から最短の位置に配置される。このように、上位の階層に属するノードと接続関係を有する下位ノードのモデルを下位の階層の領域内に配置することで、交差する接続線を少なくすることができる。そして、交差する接続線を少なくすることで、視点を変えても各ノード間の接続関係を把握しやすくなるので、トポロジーを３次元で表示するときの視認性を向上させることができる。
【０１０１】
なお、第１の実施の形態の情報処理は、演算部１ｂとして用いられるプロセッサに、プログラムを実行させることで実現できる。第２の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
【０１０２】
例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。また、読み込み部１２０、領域設定部１３０、配置決定部１４０、描画部１５０に相当する機能を実現するプログラムを別個のプログラムとし、各プログラムを別個に配布してもよい。読み込み部１２０、領域設定部１３０、配置決定部１４０、描画部１５０の機能が別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、ＲＡＭ１０２やＨＤＤ１０３に格納されているＤｉｓｋなどの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０１０３】
１  情報処理装置
１ａ  記憶部
１ｂ  演算部
２  仮想空間
３  第１の領域
４，４ａ  第２の領域
【図１】
2015225631.tif 000003
【図２】
2015225631.tif 000004
【図３】
2015225631.tif 000005
【図４】
2015225631.tif 000006
【図５】
2015225631.tif 000007
【図６】
2015225631.tif 000008
【図７】
2015225631.tif 000009
【図８】
2015225631.tif 000010
【図９】
2015225631.tif 000011
【図１０】
2015225631.tif 000012
【図１１】
2015225631.tif 000013
【図１２】
2015225631.tif 000014
【図１３】
2015225631.tif 000015