(57)【特許請求の範囲】
【請求項１】
コンピュータが、
ノード間の情報の入力を受け付ける入力受付ステップと、
注視対象ノードとして指定されたノードを中心とし、前記注視対象ノードからの相対的な階層が深い階層ほど半径が大きくなる同心円を設定する設定ステップと、
前記入力受付ステップにて受け付けられた情報に基づき、各ノードのアイコンを、前記設定ステップにて設定した同心円のうち、自ノードの階層の深さに応じた半径の円周上に、自ノードより深い階層のノードの数に応じて自ノードの配下に属するノードの数と当該自ノードと同じ階層に属するすべてのノードの配下に属するノードの数の合計数及び各階層に割り当てられた角度の表示範囲を用いて排他的に設定された表示領域内に表示すると共に、隣接するノードのアイコン間を結ぶ線を表示するアイコン表示ステップと、
を実行し、
更に前記設定ステップによって、同心円を設定する際、
前記入力受付ステップにて受け作られた情報を元に、ノードのアイコンの対角線のサイズを最小差分角で割ったものを半径として設定することで、同心円上に表示させるノードのアイコンを全て表示させても、各アイコンの表示に重なりがなくなる最小の半径の同心円を設定することを特徴とするネットワーク接続関係マップ表示方法。
【請求項２】
ノード間の情報の入力を受け付ける入力受付手段と、
注視対象ノードとして指定されたノードを中心とし、前記注視対象ノードからの相対的な階層が深い階層ほど半径が大きくなる同心円を設定する設定手段と、
前記入力受付手段に入力された情報に基づき、各ノードのアイコンを、前記設定手段にて設定した同心円のうち、自ノードの階層の深さに応じた半径の円周上に、自ノードより深い階層のノードの数に応じて自ノードの配下に属するノードの数と当該自ノードと同じ階層に属するすべてのノードの配下に属するノードの数の合計数及び各階層に割り当てられた角度の表示範囲を用いて排他的に設定された表示領域内に表示すると共に、隣接するノードのアイコン間を結ぶ線を表示するアイコン表示手段を有し、
更に前記設定手段によって、同心円を設定する際、
前記入力受付手段にて受け作られた情報を元に、ノードのアイコンの対角線のサイズを最小差分角で割ったものを半径として設定することで、同心円上に表示させるノードのアイコンを全て表示させても、各アイコンの表示に重なりがなくなる最小の半径の同心円を設定することを特徴とするネットワーク接続関係マップ表示装置。
【請求項３】
コンピュータに、
ノード間の情報の入力を受け付ける入力受付ステップと、
注視対象ノードとして指定されたノードを中心とし、前記注視対象ノードからの相対的な階層が深い階層ほど半径が大きくなる同心円を設定する設定ステップと、
前記入力受付ステップにて受け付けられた情報に基づき、各ノードのアイコンを、前記設定ステップにて設定した同心円のうち、自ノードの階層の深さに応じた半径の円周上に、自ノードより深い階層のノードの数に応じて自ノードの配下に属するノードの数と当該自ノードと同じ階層に属するすべてのノードの配下に属するノードの数の合計数及び各階層に割り当てられた角度の表示範囲を用いて排他的に設定された表示領域内に表示すると共に、隣接するノードのアイコン間を結ぶ線を表示するアイコン表示ステップを実行させ、
更に前記設定ステップによって、同心円を設定する際、
前記入力受付ステップにて受け作られた情報を元に、ノードのアイコンの対角線のサイズを最小差分角で割ったものを半径として設定することで、同心円上に表示させるノードのアイコンを全て表示させても、各アイコンの表示に重なりがなくなる最小の半径の同心円を設定させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト間の相関関係を表すマップ上で、オブジェクト及びオブジェクト間の関係を監視するシステムに関する。
【０００２】
【従来の技術】
例えば、ネットワーク上に存在するホストやルータ、ハブ等を監視するシステムなどの場合、注視対象あるいは監視対象としてのオブジェクトとしては、ホストやルータ、ハブ等のノードが相当する。この場合、監視対象となるノード（ルート）とその配下に存在するノードとの相関関係を監視するにあたり、その関係の把握や情報の参照が容易に行えることが要求される。ネットワーク監視システムにおいては、監視対象となるホストの情報や、他ホストとの接続関係を容易に参照できることが必要となる。そこで、その接続関係を表すためには、ノードとノード間の相関関係をグラフィックとして表示するマップとして表現するのが有効であるが、マップを描画するに際して、監視に必要な情報の参照を容易にする描画方法が必要となってくる。
【０００３】
従来においては、ルートとその配下に存在するノードとの相関関係を表現する方式として、木構造マップ描画方法が存在している。
図２８は、従来の木構造マップ描画方法を説明する図である。
【０００４】
本方法では、ルートを表すアイコンを頂点とし、その配下に存在するノードのうち、同一の階層にあるノードを表すアイコンを同列の位置に描画し、隣接関係を持つアイコンの間を線で結ぶことによって、ルートとその配下に存在するノードとの多階層の相関関係を表現している。なお、以下の説明では、階層数の大きい階層を上位階層とし、階層数の少ない階層を下位階層として説明する。従って、図２８では、第１階層であるルートが最下位階層であり、図の下の階層に行くに従い、上位階層となる。
【０００５】
従来の方法では、ルートを表すノードを一番上の位置に配置し、ここから次第に上位階層に行くに従ってノードの数が増えるように表示される。したがって、常にルートを中心としたネットワーク構成の表示であるために、注目したいノードに基づいてフレキシブルに表示を変えることができない。また、上位階層に行くに従って、同一階層に表示されるノードの数が増えるので、上位階層に行くに従い表示されるアイコン（ノードに対応）の数が増加し、表示が見にくくなるという問題が生じる。
【０００６】
ルートのノードとしては、ネットワークの中心となるホスト等が選択されるが、従来のように木構造で表示していると、実際のネットワークとは関係のないネットワークの構成の表示形態となってしまう。
【０００７】
【発明が解決しようとする課題】
従来の木構造マップ描画方法では、実際に監視しようとしている対象の物理的な構成とは関係なく、ルートを表すアイコンを頂点としたマップとなるため、本マップによって監視を行おうとした場合、監視対象全体の構成の把握や、ある特定のノードに着目した監視を直感的に行うのが困難であり、効率的な監視を行うことができなかった。
【０００８】
本発明の課題は、監視対象全体の構成の把握や、ある特定ノードに着目した監視を直感的に且つ効率的に行うことの出来るアイコンの表示方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明のアイコン表示方法は、注視対象となるオブジェクトを表すアイコンを描画するステップと、注視対象となるオブジェクトと相関関係を持つオブジェクトを表すアイコンのうち、相関関係の緊密度が等しいものを、注視対象となるオブジェクトを表すアイコンの描画位置から等距離となる位置に描画するステップと、隣接関係を持つオブジェクトを表すアイコンの間を線で結ぶステップとを備え、注視対象となるオブジェクトと、これと相関関係を有するオブジェクトとの相関関係を、同心円上に表すことを特徴とする。
【００１０】
本発明の他の側面におけるアイコン表示方法は、注視対象となるオブジェクトを表すアイコンを描画するステップと、描画されたオブジェクトと最も緊密な相関関係を持つオブジェクトを表すアイコンを該描画されたオブジェクトを表すアイコンから等距離となる位置に描画するステップとを備え、隣接関係を持つオブジェクトを表すアイコンの間を線で結ぶことによって、オブジェクト間の相関関係を表すことを特徴とする。
【００１１】
本発明のアイコン表示装置は、オブジェクトに対応するアイコンをオブジェクト間の相関関係を考慮して描画するアイコン表示装置であって、注視対象となるオブジェクトを表すアイコンの描画位置を決定し、注視対象となるオブジェクトと相関関係を持つオブジェクトを表すアイコンのうち、相関関係の緊密度が等しいものを、注視対象となるオブジェクトを表すアイコンの描画位置から等距離となる位置を、注視対象となるオブジェクトと相関関係を持つオブジェクトを表すアイコンの描画位置として算出する算出手段と、注視対象となるオブジェクトを表すアイコンを描画し、該算出手段で求められた位置に注視対象となるオブジェクトと相関関係を持つオブジェクトを表すアイコンを描画し、隣接関係を持つオブジェクトを表すアイコンの間を線で結ぶ描画手段とを備え、注視対象となるオブジェクトと、これと相関関係を有するオブジェクトとの相関関係を、同心円上に描画することを特徴とする。
【００１２】
本発明の他の側面におけるアイコン表示装置は、オブジェクトに対応するアイコンをオブジェクト間の相関関係を考慮して描画するアイコン表示装置であって、注視対象となるオブジェクトを表すアイコンの描画位置を決定し、描画位置が決定されたオブジェクトと最も緊密な相関関係を持つオブジェクトを表すアイコンを該描画されたオブジェクトを表すアイコンから等距離となる位置を、描画位置が決定されたオブジェクトと最も緊密な相関関係を持つオブジェクトを表すアイコンの描画位置として算出する算出手段と、該算出手段の処理結果に基づいて、注視対象となるオブジェクト、及び、その他のオブジェクトを表すアイコンを描画し、隣接関係を持つオブジェクトを表すアイコンの間を線で結ぶ描画手段を備え、オブジェクト間の相関関係を描画することを特徴とする。
【００１３】
本発明によれば、オブジェクトを表すアイコンを注視対象となるオブジェクトを表すアイコンを基準に同心円上あるいは、各オブジェクトを中心とする円上に配置するので、注視対象となるオブジェクトを表すアイコンとの相関関係の緊密さを一目で認識することができる。また、各オブジェクトを表すアイコンの相関関係を各アイコンを線で結ぶことにより、各オブジェクト間のネットワークのような複雑な相関関係を非常に明快に認識することが出来る。また、注視対象となるオブジェクトを変更することによって、オブジェクト間の相関関係を様々な角度から認識し直すことが出来、オブジェクト間の相関関係やオブジェクトそのものの情報を容易に取得することができる。
【００１４】
【発明の実施の形態】
図１は、本発明のマップ描画方法を実現する装置の原理構成図である。
本発明の装置への入力データとしては、各ノードに関する情報とノード間の関係を表すデータが入力される。各ノードに関する情報とは、例えば、ノードの名称や属性等がある。また、ノード間の関係を表すデータとしては、ノード同士の親子関係を表す情報、ルートとすべきノード等である。
【００１５】
これらの情報が入力されると、座標演算部１０は、先ず、ルートとすべきノードの位置を決定し、次にノード同士の親子関係から順次、ルートとなったノードからの表示位置を演算する。更に、各ノードに関する情報を各ノードに関連付けておく。これらの演算が終わると、座標演算部１０は、演算の結果得られたノードを表すアイコンの表示すべき座標値を、上記各情報と共にマップ描画部１１に送信する。
【００１６】
各ノードの座標データは各ノードを表すアイコンの描画角度や描画半径等であり、マップ描画部１１が本発明によるアイコンの表示を行う場合に、ルートとなるアイコンの位置からの動径方向の距離が描画半径であり、マップ上にアイコンを実際に描画する場合に決定される基準線からの角度が描画角度である。
【００１７】
マップ描画部１１は、座標演算部１０から入力された各アイコンの座標値を下に各アイコンを表示する。このとき、各アイコンの図柄をどのようにするかという指示を行うようにすることも可能であり、これをユーザの指定の下に行う場合には、予め座標演算部１０へのデータの入力の際に、他のデータと共に入力するようにしておく。
【００１８】
マップ描画部１１は、各アイコンを描画するとともに、各アイコンに対応するノードに関する情報を各アイコンに連携させておく。このようにすることによって、ユーザがマップ描画部１１によって表示されたアイコンをクリックする等により、クリックされたアイコンに対応するノードのより詳しいデータを取得することが出来るようになる。従って、ネットワーク監視装置に本発明を適用した場合に、ネットワーク監視者に詳しい情報を提供することができる。また、マップ描画部１１は、マップ上にノードに対応するアイコンを表示し、これらを線で結ぶ以外にも情報を表示することが可能である。例えば、ネットワーク監視装置の場合、各アイコンを結ぶ線はネットワークの伝送路に対応するので、各線にトラフィック量を表示して、ネットワーク監視者がネットワークのどの部分でどの程度のトラフィック量があるかが一目で分かるように表示することができる。ただし、ネットワークを構成する全ての線に対してトラフィック量を表示していたのでは、表示が煩雑になるので、注目するノード、すなわちルートの周囲だけ表示するようにすれば、マップをより見やすくすることができる。
【００１９】
このようにして、マップ描画部１１で生成されたマップは不図示の表示装置等に出力され、ネットワーク監視者等、マップを使用して作業するユーザに提示される。
【００２０】
図２は、本発明の方法を実現するための装置のハードウェア環境図である。
本発明の方法は、ソフトウェアとしてパソコン等に実装して使用することが可能である。この場合に、パソコン等に要求されるハードウェアとしては、同図に示されるように、ＣＰＵ２３、ＲＯＭ２２、ＲＡＭ２１、通信装置２０、記憶装置２４、記録媒体読み取り装置２５、入出力装置２９等がバス２７によって、接続された構成が考えられる。通信装置２０等は必ずしも必要ではないが、本発明の方法をソフトウェアプログラムとして利用する場合に、より利用の形態をバラエティに富んだものとすることができる。
【００２１】
ＣＰＵ２３は、本発明の方法を実行するプログラムに基づいてデータの処理を行うものである。当該プログラムは、ＣＰＵ２３が読み取り可能な形で展開され、ＲＡＭ２１などに記憶される。ＲＯＭ２２は、同図の装置が起動された際に、入出力装置２９からの入力や、入出力装置２９への出力を可能とするために、最初にＣＰＵ２３によって読み込まれるＢＩＯＳ等が記録されるものである。もちろん、同図の装置が本発明の方法を専用に行うように設計される場合には、ＲＯＭ２２に当該プログラムを記録するようにしてもよい。
【００２２】
ＲＡＭ２１は、前述のように、当該プログラムを記憶し、ＣＰＵ２３が読み込んで実行するできるようにするものであって、作業メモリの役割を行う。当該プログラムは、例えば、ハードディスク等からなる記憶装置２４に記憶され、入出力装置２９からのユーザの指示に従って、ＣＰＵ２３がＲＡＭ２１に展開され、ＲＡＭ２１に展開された状態で実行される。入出力装置２９は、ディスプレイ、キーボード、マウス等からなり、同図の装置を使用するユーザからの指示をＣＰＵ２３に与えたり、ＣＰＵ２３の演算結果をユーザに分かるように表示したりするものである。
【００２３】
本発明の方法を実現するプログラムは、記憶装置２４に記憶させておき、利用するのみではなく、ＣＤ−ＲＯＭやフロッピーディスク等の可搬記録媒体２６に記録しておき、記録媒体読み取り装置２５で読みとって、ＲＡＭ２１に展開して使用するような実行の形態も可能である。このような利用形態の場合、当該プログラムは持ち運びのできる可搬記録媒体２６に記録されているので、多くの人に頒布することが出来ると共に、一般に同図のようなハードウェア環境を持つ、汎用パソコン等にインストールするなどして、本発明の方法をコンピュータ上で容易に利用することができるという利点を有する。
【００２４】
また、今日のコンピュータ通信の普及に伴い、ネットワークを介して本発明の方法を実現するプログラムをダウンロードして、自分のパソコン等で実行させるという利用形態も可能である。すなわち、通信装置２０を用いて、商用ネットワークやインターネット等に接続し、本発明の方法を実現するプログラムをネットワーク上で提供している情報提供者２８のデータベースから当該プログラムをダウンロードし、ＲＡＭ２１に展開して使用することも可能である。当該プログラムの全体を一旦、情報提供者２８からダウンロードして使用する他に、ネットワーク上で当該プログラムを使用する利用形態も可能である。すなわち、通信装置２０でネットワークに接続したまま、情報提供者２８のプログラムを実行させ、演算結果等のデータを通信装置２０を介してやり取りすることにより、あたかも自分の装置上でプログラムを実行しているように利用することが可能である。この場合、通信装置２０を介してやり取りされるデータは入出力装置２９を介してユーザに提示されたり、ユーザから入力されるものである。また、必要に応じて、通信装置２０を介して受信したデータをＲＡＭ２１や記憶装置２４に一旦記憶させて、入出力装置２９からユーザに提示したり、入出力装置２９から入力されたデータをＲＡＭ２１や記憶装置２４に一旦記憶させてから通信装置２０を介して情報提供者２８に送信するという方法をとることも可能である。
【００２５】
図３は、本発明のマップの表示方法の一実施形態を説明する図である。
同図に示されるように、本実施形態においては、ルートとなるノード（ネットワーク監視装置の場合には、監視対象となる注目すべきノード）を中心として、ノードを表すアイコンのうち、相関関係の階層レベルが等しいものを、ルートを表すアイコンから等距離となる位置に描画することによって、各階層に属するノードを表すアイコンを、ルートを表すアイコンを中心とする同心円上に配置するマップを描画する。
【００２６】
例えば、同図では、各階層毎にアイコンの形状が異なるように設定されている。先ず、第１階層のルートを表すアイコンは、今、注目しているノードであり、中心に配置され、白塗りの四角で示されている。ルートには、２つのノードが接続されており、これらが第２階層のノードとして黒塗りの四角で示されている。第２の階層に属する２つのノードは、共に同じアイコンで示されており、ルートから最も近い同心円上に配置されている。これにより、ルートに最も近くに接続されているノードが２つであることが一目で認識することができる。次に、第２階層の各ノードには、それぞれ３つと２つのノードが接続されており、ルートから見ると第３階層のノードとなる。第３階層のノードは、同図では黒丸で示されている。第３階層のノードは、ルートから見て第２番目の同心円上に配置されており、ルートから見て２番目に近いノードであることが一目で分かる。第３階層のノードは、ルートから２番目に近い同心円上に５つ配置されている。更に、ルートから１階層遠いノードは、黒三角で示されており、ルートから第３番目の同心円上に配置されている。この第４階層のノードは、同図では、ルートから最も遠いノードとなっており、８つのノードが配置されている。
【００２７】
このようにして、本実施形態では、注目するノード（ルート）からたどって、より多くのノードを介して到達するような遠い階層に位置するノードを中心のルートからより遠い同心円上に配置することによって、注目するノードを中心としたネットワークの構成を容易に把握することができるようになっている。
【００２８】
なお、同図では、同じ階層に属するノードは同じアイコンで示す例が図示されているが、必ずしもこのようにする必要はなく、後述するように、ユーザが好むように表示するアイコンを設定することも可能である。
【００２９】
このような表示方法を採用すれば、アイコンの表示密度を均等に出来、ある特定の階層のアイコンの密度が非常に高くなってしまい見ずらくなる点を改善することができる。すなわち、表示画面の一辺の長さを２Ｒとすると、従来の方法では、最も階数の大きい階層（最上位階層）に属するアイコンは、長さ２Ｒの線上に全て配置されなければならない。しかし、本表示方法によれば、最外周の同心円の半径をＲとすると、最上位階層のアイコンは長さ２πＲの円周上に配置すれば良いので、同じ数のアイコンを配置するとすれば、アイコンの線上の密度が小さくなり、表示画面を見やすくすることができる。また、一般に、下位階層（階数の小さい階層）のノードの数は小さいので、ルートに近い半径の小さな円周上に配置したとしてもノードに対応するアイコンの密度を必要以上に高めることはない。このように、本表示方法を用いれば、表示画面全体にアイコンが均等に配置されることになる。
図４は、図３の表示例において同心円上にアイコンを配置する方法を説明する図である。
【００３０】
本実施形態によるマップ描画方法においては、アイコンやアイコン間を結ぶ線とが重なり合わないように、マップ上での各アイコンの描画位置を自動的に決定する機能が設けられる。
【００３１】
同図（ａ）に示すように、第２階層の同心円上に均等に、ルートに接続する３つのノードが配置されている。このように、ルートに接続する第２階層のノードのアイコンを同心円上に配置する場合には、ルートに接続する第２階層のノードの数に対応して、同心円上を均等に分割し、対応するアイコンを配置しても問題は起きない。
【００３２】
次に、第２階層の１つのノードに第３階層のノードが５つ接続していたとする。この場合、第２階層と同様に第３階層のノードのアイコン数で同心円の円周を均等に割り振り、アイコンを配置したとする。すると、第２階層の１つのノードに接続する第３階層のノードのアイコンが第３階層の同心円上に均等に配置されるため、同図（ａ）に示されるように、ノード間を結ぶ線が交叉するようになってしまう。これでは、マップが見ずらくなってしまう。特に、同図（ａ）のようにネットワーク構成が単純な場合には、まだネットワークの構成を把握することが出来るが、もっと複雑なネットワーク構成の表示を行おうとする場合には、各アイコン間を結ぶ線が複雑に交叉してしまい、ネットワークの構成を容易に把握できなくなってしまう。
【００３３】
そこで、同図（ｂ）に示すように、第２階層の１つのノードのアイコンに接続されている第３階層のノードのアイコンを表示する場合に、これらを表示する第３階層の同心円上の範囲を限定し、この範囲内に収まるようにする。このようにすれば、同図（ｂ）に示すように、第３階層のアイコンと第２階層のアイコンを結ぶ線がルートと第２階層のアイコンを結ぶ線と交わることがないので、マップを見ずらくすることがない。
【００３４】
図５は、図３の実施形態のマップの描画処理を示すフローチャートである。
先ず、ステップＳ１で、ノード及びノード間の相関関係に関する情報を取得する。次に、ステップＳ２で、マップ上での各ノードのアイコンの描画位置を決定する。この描画位置の詳細な決定方法は、後述する。実際には、ステップＳ２の処理は、後述の図９、１０で示されるフローチャートに対応する処理が行われる。ステップＳ２で各ノードのアイコンの描画位置が決定できたら、ステップＳ３で、マップに描画された各ノードに関する情報やステップＳ２で求められた描画位置を元に、マップを描画する。
【００３５】
前述したように、マップの描画にあたっては、各ノードに対応するアイコンを表示する他に、アイコン間を結ぶ線に対応してネットワークのトラフィック量を表示するなど、様々な表示の変形が考えられ、ユーザの希望に応じて、ノードに関する情報を適宜表示するようにする。例えば、トラフィック量は、マップ上の線をクリックすれば、表示されるように構成しておき、各アイコンの側に対応するノードの名称を表示するなどの方法が考えられる。このようにすれば、ユーザは、マップを見ただけでどのアイコンが何という名称のノードであるかを認識することができ、実際のネットワークに関する知識をユーザが持っているならば、どこに設けられているノードであるかをも知ることができる。従って、マップに描画されているルートとノードの関係を実際のネットワークにおけるノード間の関係に置き換えて考えやすくなるという利点を有する。あるいは、マップ上には、ノードに対応するアイコンとアイコン間を結ぶ線のみを描画しておき、ノードに関する情報等はそれぞれのアイコン等をクリックしたときに出力されるように構成してもよい。このようにした場合には、マップが簡素化され、非常に見やすくなる。
【００３６】
いずれにしても、ステップＳ３では、各ノードに対応するアイコンとアイコン間を結ぶ線を描画し、それぞれのアイコン及び線等に各情報を関連付けておき、必要なときにはいつでも、マップ上から、これらの情報を参照することが出来るようにしておく。
【００３７】
図６から図８は、図３の実施形態における各アイコンの描画位置決定方法を説明する図である。
図４で説明した様に、マップを描画するために各アイコンを描画する位置を算出する際に、アイコンやアイコン間を結ぶ線とが重なり合わないような算出方式を採用する必要がある。ここでは、図３の実施形態における算出方法の一例を示す。
【００３８】
本例では、各アイコンを描画する位置を決定する要素として、ルートのアイコンを中心とした場合の、中心からの距離と、中心から延びる基準軸からの変位角を使用する。
【００３９】
始めに、基準軸からの変位角（以下、実変位角という）を算出する方式を示す。
先ずは、それぞれのノードを表すアイコンに対して、以下の▲１▼〜▲４▼の計算方法により、描画のために使用する角度（以下、割り当て角度という）を割り当てる。なお、割り当て角度は、それぞれのノードの配下に属するノードの数に比例するように割り当てる。また、以降の計算方法において、ルートが属する階層を第１階層、以下、配下のノードが属する階層を、順に第２階層、第３階層、とする。
▲１▼先ず、算出対象のルートまたはノード（以下、自ノードという）の配下に属するノード（以下、子ノードという）の数を計数する。ただし、子ノードが存在しない場合は、仮想の子ノードが存在するものとみなし、子ノードの数を１とする。例えば、図６（ａ）では、自ノードに３つの子ノードが接続されているので、ここでは、計数値は３とする。
▲２▼次に、自ノードと同じ階層に属するすべてのノードに存在する子ノードの数を合計する。図６には示されていないが、例えば、図３を参照して述べると、▲１▼の算出対象の自ノードが第２階層のノードであった場合、第２階層のノードの一方には、３つの子ノードがあり、もう一方には２つの子ノードがあるので、ここでの合計数は５となる。
▲３▼以下の計算式により、自ノードのアイコンへの割り当て角度（単位：ラジアン）を算出する。
【００４０】
γ＝α／（▲２▼の値）×▲１▼の値
ここで、γは自ノードのアイコンへの割り当て角度である。図６に示されるように、γは自ノードの配下にある子ノードをどの範囲の角度内に位置させるかを示すものである。図６（ａ）では、このγは自ノードを中心とした角度のように記載しているが、実際には、ルートを中心とした角度である。従って、自ノードがルートである場合には、γは図６（ａ）に示されるようになるが、ルートでない場合には、自ノードを含むルートを中心とした角度範囲となる。この式の意味は、自ノードと同じ階層に属するすべてのノードに存在する子ノードの数に占める自ノードに属する子ノードの数に比例して自ノードに割り当て角度を割り当てようというものである。
【００４１】
ここで、アイコンやアイコン間を結ぶ線とが重なり合わない様にするため、各階層において、割り当て角度の合計に制限を設けるようにする。そこで、一例として、自ノードが属する階層に応じて、上記の計算式中のαには以下の値を採用する。
【００４２】
第１階層：２π
第２階層：１．５π
第３階層：π
第４階層：０．５π
ただし、ここで示したαの値は、単なる一例であって、マップが見やすくなるように、本実施形態を利用するものが最適に設定すべきものである。このとき、各αの値は、アイコンやアイコン間を結ぶ線が重なり合わないように設定するので、ネットワークの構成によって変える必要が出てくる可能性もある。従って、監視するネットワークの構成によって、αを可変とすることが出来るようにしておいてもよい。
▲４▼▲３▼で求めた割り当て角度の補正を行う。これは、自ノードを配下に持つノード（以下、親ノードという）との関係において、異なる親ノードの配下に属するノード同士のアイコンが交叉するのを防ぐために、親ノードのアイコンへの割り当て角度の範囲内に、配下の全ての子ノードのアイコンを配置する必要があるためである。（以下、同じ親ノードの配下に属するノードを兄弟ノードという）。
【００４３】
例えば、図６（ａ）を用いて説明すれば、図６（ａ）の自ノードを親ノード読み替え、子ノードを自ノードと読み替える。そして、自ノードの配下に幾つかの子ノードが接続されるとする。上記▲３▼で、各自ノードには、割り当て角度がそれぞれ割り当てられた。しかし、自ノードの下位階層の親ノードには、既に割り当て角度γが割り当てられており、親ノードに属する自ノードや子ノード、あるいは、更に上位の階層のアイコンは、親ノードの割り当て角度の範囲内に入るようにする必要がある。そのようにしないと、異なる親ノードに属する子ノード（親ノードの２つ上位の階層のノード）のアイコンが互いに重なり合う可能性がある。
【００４４】
そのため、各アイコンへの割り当て角度は以下の関係式を満たす必要がある。
（親ノードのアイコンへの割り当て角度）≧（すべての兄弟ノードのアイコンへの割り当て角度の合計＝β）
この不等式の意味は、図６（ａ）に示されている様に、兄弟ノードのそれぞれに割り当てられている割り当て角度（図６（ａ）で▲３▼と示されている）の合計βが親ノードに割り当てられている割り当て角度γ以下であるようにすることである。このようにすれば、兄弟ノードに属するノードを▲３▼の範囲内に配置したとしても、親ノードの割り当て角度γから外にはみ出すことがない。
【００４５】
そこで、上記の不等式を満たす場合は、兄弟ノードの１つに対して▲３▼で割り当てられた値をそのまま自ノードのアイコンへの割り当て角度とする。上記の不等式を満たさない場合は、以下の計算式により、自ノードのアイコンへの割り当て角度を補正する。
【００４６】
γ（自ノード）＝（▲３▼の値）／β×γ（親ノード）
β＝全ての兄弟ノードのアイコンへの割り当て角度の合計
γ（親ノード）＝親ノードのアイコンへの割り当て角度
ここで、（▲３▼の値）とは、兄弟ノード（▲３▼の説明では自ノードとして説明した）の割り当て角度であって、最初に割り当てられた自ノードに対するγの値である。このように、自ノードのγの値は、▲３▼のステップで一旦割り当てられた後、上記不等式を満たさないと判断された場合には、親ノードのγの値で補正される。親ノードのγの値で補正されるとは、自ノードに割り当てられたγの値の兄弟ノードのアイコンへの割り当て角度の合計であるβに占める割合に比例して親ノードのγの値を分割して、新たに自ノードにγとして割り当てるということである。
【００４７】
ただし、第１階層に属するルートについては、親ノードが存在しないため、▲３▼の値をそのまま自ノードのアイコンへの割り当て角度とする。
次に、それぞれのノードを表すアイコンに対して、以下の▲５▼の計算方法により、仮変位角（単位：ラジアン）を算出する。仮変位角とは、親ノードのアイコンへの割り当て角度において、一方の端の軸を基準とし（以下、この基準とする軸を仮基準軸という）、この仮基準軸からの変位角のことをいう。
▲５▼以下の計算式により、仮変位角を算出する。
【００４８】
仮変位角＝δ＋（▲４▼の値）／２
δ＝兄弟ノードのうち、上記の計算式により既に仮変位角を算出済のもののアイコンへの割り当て角度の合計
ここで、（▲４▼の値）とは、自ノードに対して割り当てられた割り当て角度であり、▲４▼の不等式を満たすものである。すなわち、▲３▼で割り当てられた割り当て角度あるいは、▲４▼で補正された割り当て角度である。
【００４９】
▲５▼の処理の様子を示したのが図６（ｂ）である。図６（ｂ）では、親ノードに属する各兄弟ノード１〜３をそれぞれ順次、自ノードとして処理していく様子を示しており、兄弟ノード１には、割り当て角度として２０°、兄弟ノード２には３０°、兄弟ノード３には４０°が割り当てられている場合を示している。なお、ここでは、説明の便宜上、割り当て角度の単位を、「°」としているが、実際には、後の計算の便利を考えて、「ラジアン」を単位として計算される。
【００５０】
まず、兄弟ノード１を自ノードとして仮変位角を求める場合には、親ノードに属するノードはいずれも仮変位角を求める処理が行われていないので、δ＝０となる。そして、（▲４▼の値）、すなわち、自ノードに対して割り当てられた割り当て角度が２０°なので、仮変位角は１０°となる。このように、割り当て角度を２で割るのは、各自ノードを自ノードに割り当てられた割り当て角度内の中央に位置させようとするものである。
【００５１】
次に、兄弟ノード２を自ノードとして仮変位角を求める場合には、既に兄弟ノード１が処理済なので、δ＝２０°となり、これに、兄弟ノード２の割り当て角度３０°の半分の１５°を加えたもの、すなわち、３５°が兄弟ノード２の仮変位角となる。すなわち、兄弟ノード２は、仮基準軸から３５°の角度のところに位置することになる。
【００５２】
更に、兄弟ノード３を自ノードとして仮変位角を求める場合には、既に、兄弟ノード１、２が処理済なので、δ＝５０°となる。これに、兄弟ノード３の割り当て角度４０°の半分の２０°が加えられ、兄弟ノード３の仮変位角となる。この場合、兄弟ノード３の仮変位角は７０°となる。
【００５３】
このようにして、親ノードに属する兄弟ノードのそれぞれに対し、仮変位角を決定していく。
なお、各階層毎に、隣り合う兄弟ノードの仮変位角の差分のうち最小の値を、最小差分角として記憶しておく。
【００５４】
以上の結果から、以下の▲６▼の処理で各アイコンについて、実変位角（単位：ラジアン）を算出する。実変位角とは、実際にマップ上にアイコンを配置する場合に、マップ上に設けられる基準軸とのなす角度を示している。
▲６▼先ず、第１階層のルートは、マップ上の中心点あるいは、マップ上の座標軸の原点に配置する。
【００５５】
親ノードが第１階層に属するルートの場合、ルートの配下の第２階層の自ノードに対しては▲５▼の値をそのまま実変位角とする。
親ノードが第２階層以降に属する各ノードについては、以下の計算式により、実変位角を算出する。
【００５６】
実変位角＝ε−ζ／２＋（▲５▼の値）
ε＝親ノードのアイコンの実変位角
ζ＝親ノードのアイコンへの割り当て角度
この式によると、先ず、自ノードの属する親ノードの実変位角を自ノードを含む兄弟ノードの配置角度の中心とし、親ノードのアイコンへの割り当て角度の半分を親ノードの実変位角から引いた角度を、兄弟ノードを配置するための基準軸の実変位角とする。そして、この基準軸に対し、それぞれの兄弟ノードに対して▲５▼で求めた仮変位角を加えて、自ノードを含む兄弟ノードをマップ上に配置するための実変位角とする。このようにして、各ノードのマップ上での配置位置を決める基準軸からの実変位角が求まる。
【００５７】
以上、▲１▼〜▲６▼までの算出方法で出てきたそれぞれの角度の関係を表したものが、図７である。
同図に示されるように、各ノードに割り当てられる割り当て角度は、ルートを中心とした角度である。例えば、同図でいうと、ルートの次の第２階層の１つのノードの配下にある全てのノードは、ルートから見て、その第２階層のノードに割り当てられた割り当て角度の範囲内に全て収まるように配置される。各階層のノードに割り当てられる割り当て角度は、ルートから見た１つ下位の階層のノード（親ノード）に割り当てられた割り当て角度の範囲内で、子ノードの数に比例してそれぞれの兄弟ノード（自ノードを含む）に割り当てられる。
【００５８】
各ノードに対して割り当て角度が求められると、次に、仮想的な基準軸（仮基準軸）を想定し、この仮基準軸からの変位角（仮変位角）を求める。そして、最後に、親ノードの実変位角と親ノードへの割り当て角度から基準軸を決定し、この基準軸に仮変位角を加えることによって、マップ上でアイコンが配置されるべき角度である実変位角が求められる。
【００５９】
続いて、ルートのアイコンを中心とした場合の、中心からの距離（以下、描画半径という）を算出する。
▲７▼第１階層に属するルートの描画半径は０とする。
【００６０】
第２階層以降について、以下の計算式により、描画半径を算出する。
描画半径＝η＋ι×３
η＝一つ前の階層の描画半径
ι＝アイコンのサイズ
ここで、描画半径を求めるために設定されている“３”という値は、便宜上設定されているだけであり、本実施形態の方法を利用しようとするものが適宜設定すべきものである。
【００６１】
ただし、同一階層の隣り合うアイコン間の変位角の差分値によっては、アイコンが重なって描画される場合がありうる。その様子を図８に図示する。▲７▼では、描画半径の“３”に対応するファクターを適切に選択することによって、アイコンの相互の重なりを防ぐようにするが、このファクターは全ての階層に共通に使用されるものであるので、アイコンの重なりを防ぐために、このファクターの数値を大きくすると、全ての同心円間の半径の差が大きくなり、１つの画面で表示できるノードの数が少なくなってしまう。
【００６２】
そこで、このようなアイコンの重なり合いを防ぎ、１つの画面で表示できるノードの数をできるだけおおくするため、以下の計算式により、描画半径ｒの最小値を算出する。
【００６３】
最小差分角×ｒ≧√（２）×ι
∴  ｒ≧√（２）×ι／最小差分角
なお、√（２）×ιは、アイコンの対角線のサイズを表す。
【００６４】
最小差分角は、▲５▼で予め記憶しておいた仮変位角の差分の内、一番小さいものである。最小差分角は単位として「ラジアン」を使用しているので、同心円上に配置されるアイコン間の幅は、アイコンが配置されているアイコンの半径に最小差分角をかけたものである。アイコンが配置される角度が最も小さい２つのアイコンが重ならないように同心円の半径を決定すれば、自動的に全てのアイコンの重なりを防ぐことが出来る。従って、最も小さいアイコン間の幅が、アイコンの対角線の長さよりも大きければよいというのが、上記不等式の意味である。上記不等式では、アイコンが正方形をしていると仮定しており、アイコンの一辺の長さιの、２の平方根倍をアイコンの対角線の長さ（サイズ）としている。
【００６５】
そして、上記不等式を満たす場合には、▲７▼で求められた描画半径を使用し、上記不等式を満たさない場合には、▲７▼で求められた描画半径を上記不等式で表される最小値以上に設定し直して描画する。
【００６６】
以上の手順により算出された実変位角と描画半径を用いて各アイコンの描画する位置を決定することができる。
図９及び図１０は、図６〜図８で説明した方法を実現する処理のフローチャートである。
【００６７】
まず、ステップＳ１０で、処理するノードの階層を“１”に初期化する。次に、ステップＳ１１で、現在処理している階層の全てのノードについて、子ノードの数を元に割り当て角度を算出する。ステップＳ１１の処理は、図６〜図８の説明における処理▲１▼〜▲３▼を行うことに相当する。
【００６８】
ステップＳ１２では、現在処理している階層が“１”か否かを判断する。階層が“１”であった場合には、現在処理しているノードがルートであることを示すので、処理▲４▼において、割り当て角度を補正する必要がないので、ステップＳ１４で割り当て角度を補正しないままステップＳ１６に進む。ステップＳ１２で階層が“１”より大きいと判断された場合には、ステップＳ１３で、親ノードの割り当て角度と兄弟ノードの割り当て角度の合計との比較を行う。親ノードの割り当て角度の方が大きいか、両者が等しい場合には、現在処理しているノードの割り当て角度を補正する必要がないので、ステップＳ１４で割り当て角度を補正しないまま、ステップＳ１６に進む。ステップＳ１３で、兄弟ノードの割り当て角度の合計の方が親ノードの割り当て角度よりも大きいと判断された場合には、上記処理▲４▼に従って割り当て角度を補正し（ステップＳ１５）、ステップＳ１６に進む。
【００６９】
ステップＳ１６では、上記処理▲５▼に従い、現在処理している階層の全てのノードについて、仮変位角を算出すると共に、最小差分角を算出し、ステップＳ１７に進む。ステップＳ１７では、再び現在処理している階層が“１”、あるいは、“１”より大きいか否かを判断する。階層が“１”であると判断された場合には、現在処理しているのがルートであることになるので、ステップＳ１９に進み、上記処理▲６▼に従い、仮変位角をそのまま実変位角として採用する。すなわち、階層が“１”の場合には、仮変位角が２πであり、実変位角も２πになる。そして、ステップＳ２１に進んで、上記処理▲７▼に従い、描画半径を０として採用し、ルートのマップ上の描画位置として設定する。ステップＳ１７で階層が“１”より大きいと判断された場合には、ステップＳ１８で、既に算出されている親ノードの実変位角を元に現在処理している階層のノードの実変位角を算出し（上記処理▲６▼）、ステップＳ２０で、親ノードの描画半径を元に、描画半径を算出する（上記処理▲７▼）。
【００７０】
ステップＳ２１、ステップＳ２０のいずれかの処理が終わると、ステップＳ２２に進み、次の階層があるか否かを判断する。次の階層がある場合には、ステップＳ２４に進み、階層の設定値を１つ増加し、ステップＳ１１に戻って、新しい階層の処理を行う。ステップＳ２２で、次の階層がないと判断された場合には、ステップＳ２３に進み、それまでの処理で求められた各ノードに対する実変位角及び描画半径を元にマップを描画して処理を終了する。
【００７１】
図１１は、本発明の方法を実現するプログラムの各機能の関係を示した図である。
同図は、本発明の方法を実現するプログラムの各機能をモジュールとして図示したものである。プログラムに起動がかけられると、ノード情報取得モジュール１１１が動作し、マップを描画するためのノード情報を取得する。この情報は手動でユーザが入力するようにしてもよいが、一般にネットワークに関する情報は非常に多くなるので、他にデータベースを設けておいて、このデータベースから取得する様にする。同図では、ネットワーク構成格納データベース１１０が設けられており、ネットワークに関する情報は全てこのデータベース１１０から取得するように構成される。ネットワーク構成格納データベース１１０には、ノード間の接続関係などマップを描画するのに必要な情報も含まれており、ノード情報取得モジュール１１１が動作すると、これらの情報を取得する。
【００７２】
ノード情報取得モジュール１１１が取得したデータは、マップ描画モジュール１１２に渡され、マップの描画の為に使用される。マップ描画モジュールは、図９及び図１０のフローチャートで説明した処理を行いマップの描画を行うと共に、各ノードのアイコンの重なり合いを防いだり、ルートに着目した監視を行うための機能の呼び出しを行ったりする。
【００７３】
アイコン変更モジュール１１３は、マップ描画モジュール１１２から呼び出され、各ノードを表すアイコンを変更する機能を提供する。アイコンを変更した結果はマップ描画モジュール１１２のマップ描画処理に反映され、アイコン変更モジュール１１３の設定に基づいたアイコンの描画が行われる。
【００７４】
情報表示モジュール１１４は、マップ上のアイコンや線が選択された場合に、マップ描画モジュール１１２から呼び出され、選択されたアイコンや線に対応する詳細情報を表示する。表示方法としては、例えば、選択されたアイコンや線の近傍に新しいウィンドウを開き、この中に情報をテキストの形で表示するという方法が採用可能である。情報表示モジュール１１４は、その他にもウィンドウシステム等が提供する様々な機能を使って情報を表示するように構成することが可能であり、詳細については当業者ならば様々な方法を実現可能であろう。
【００７５】
ルート変更モジュール１１５は、マップの中心となるルートを変更する機能を提供する。マップ描画モジュール１１２から呼び出されると、ルート変更モジュール１１５は、新しいルートとしてどのノードが選ばれたかを特定し、マップ描画モジュール１１２に、新しいノードをルートとしてマップを描画させるように指示する。
【００７６】
ノード描画位置変更モジュール１１６は、ユーザがノードの描画位置や相関関係を変更する操作を希望する場合に、マップ描画モジュール１１２から呼び出される。ノード描画位置変更モジュール１１６は、ユーザからのノードの選択や、選択されたノードの描画位置の変更、ノード間の相関関係の変更操作を検出し、これらの操作による変更の結果をマップ描画モジュール１１２に返して、マップの描画に反映させる。
【００７７】
図１２は、ユーザの指定によってアイコンの図柄を変える機能を説明する図である。
同図に示されているのは、マップを描画する際の設定やユーザによる操作によって、マップに表示されるノードを表すアイコンの形状や色彩を、他の種類のノードを表すアイコンのものと異ならせる機能である。
【００７８】
ノードを表すアイコンの形状や色彩を、他の種類のノードを表すアイコンと差別化することにより、特定の種類のノードに着目した監視を行う事が出来る。同図はそのための手段の提供形態の例を図示したものである。
【００７９】
図１２（ａ）は、各階層毎にノードを表すアイコンの形状や色彩を設定する機能の提供例であり、図１２（ｂ）は、マップにおいて階層やノードを選択することにより、指定した階層に属するアイコンを、他の階層に属するアイコンと異なる形状や色彩で描画する機能の提供例である。
【００８０】
同図（ａ）は、階層毎にノードを表すアイコンを設定する設定画面の例である。画面にはアイコン設定用のウィンドウが表示される。同図（ａ）では、階層を指定する入力窓とその階層に適用すべきアイコンの種類を入力する入力窓とが設けられている。同図（ａ）のウィンドウの下側には現在設定されている内容が示されており、第１階層が白抜きの四角、第２階層が黒塗りの四角、等が設定されていることが分かるようになっている。同ウィンドウの入力窓に階層の番号とアイコンを設定して確定したいときには、同図（ａ）で「適用」と示されているボタンを押せばよい。アイコンを設定する場合には、アイコンの入力窓の横に付いている矢印のボタンを押すことにより、装置に登録されているアイコンの種類が列挙されるようになり、ユーザは、この列挙されたアイコンのメニューの中から選び出すことが出来るようになっている。
【００８１】
また、同図（ａ）では、マップ上でノードに対応するアイコンを指定し、これを表すアイコンを変える機能の提供形態を示しており、ユーザはマウス等でマップ上のアイコンをクリックするなどして選択する。アイコンが選択されると、同図（ａ）のようなアイコン図柄の選択メニューが表示され、その中から好みのアイコンを選択するようにする。このような操作により、指定されたアイコンの図柄が変更され、マップ上には新しいアイコンが表示される。
【００８２】
同図（ｂ）は、注目したい階層のノードのアイコンのみを他とは異ならせて表示させたものである。すなわち、同図（ｂ）では、第２階層のノードのアイコンのみが黒塗りの丸で示されており、他のノードは全て白塗りの四角で示されている。このように、注目したい階層のノードのアイコンのみを他の階層のノードのアイコンと異ならせることにより、特定の階層にのみ注目したネットワークの監視を行うことが出来る。例えば、同図（ｂ）において、ルートのノードを変更すれば、アイコンの図柄は同じまま表示されるマップが変化する。このマップを見ることによって、黒塗りの丸で示されるノードの監視を、他のノードを中心とした観点から行うことが出来るので、さまざま角度からネットワークの構成等を検討することが出来る。
【００８３】
図１３は、図１２で例示されたアイコンの変更機能を使ってマップをネットワーク監視に適した表示に変更した場合の例を示す図である。
同図では、階層毎にアイコンを変えるのではなく、ネットワークに含まれるノードの種類によってアイコンを変えている。同図の例では、サーバを黒塗り四角で、クライアントを黒塗り三角で、ハブを白抜きの四角で、ルータを黒塗り丸で示している。
【００８４】
このように、ネットワーク監視などマップ上に表示されるノードに幾つかの種類があり、これらが異なる機能を果たしている場合には、ノードの種類毎にアイコンを変えることにより、ネットワークの構成をよりわかりやすくすることができる。同図では、ハブの１つがルートとして描画されており、ルートのハブには１つのサーバと２つのハブが接続されていることが直感的に把握できるようになっている。
【００８５】
特に、このようにノードの種類によってアイコンを変えることにより、ルートのノードから見たネットワークの概略構成とネットワークのどこにどのような種類のノードが接続されているかを一目で分かるようにすることができるので、ネットワーク監視を行う場合に非常に有効である。
【００８６】
図１４は、図１２、及び図１３で説明した機能を実現するための処理を示すフローチャートである。
ステップＳ３０で、マップの機能メニューからアイコン変更機能を選択する。すると、ステップＳ３１で、図１２で示したようなアイコン変更のための情報の設定画面が表示される。
【００８７】
ステップＳ３２で、ユーザは設定情報を設定画面を使って入力し、ノードに関する情報を変更する。そして、ステップＳ３２で変更されたノードに関する情報を元に、マップ上のアイコンを変更する（ステップＳ３３）。
【００８８】
図１５は、ノードやノード間の隣接関係に関する情報を通知する機能の提示例を示している。
同図に示されているのは、マップ上のアイコンやアイコン間を結ぶ線を選択することによって、選択されたノードに関する詳細な情報や選択された線で結ばれたノード間の隣接関係に関する詳細な情報を通知する機能である。
【００８９】
同図に示されているように、マップ上のアイコンやアイコン間を結ぶ線を選択すると、別のウィンドウが開いてノードやノードの相関関係等に関する情報が出力される。同図では、ノードの名称及び種別がノードに関する情報として例示されている。このウィンドウを開いて情報を提供する方法としては、前述したように、ウィンドウシステム等に組み込まれている機能を使って、ウィンドウを開き、このウィンドウの中にテキストデータを出力するという実現の仕方が考えられる。
【００９０】
図１６は、図１５の機能を実現するための処理のフローチャートである。
先ず、マップが表示されている状態で、マップ上のアイコンまたは線を選択する（ステップＳ４０）。次に、マップの機能メニューから詳細情報の表示機能を選択する（ステップＳ４１）。そして、ユーザがアイコンまたはアイコンを結ぶ線を選択すると、ステップＳ４２で、選択されたアイコンまたは線の詳細情報の表示画面を表示する。
【００９１】
図１５に図示するように、マップ上のアイコンやアイコン間を結ぶ線を選択することによって、アイコンが表すノードやノード間の隣接関係に関する情報を通知する機能を提供することにより、各ノードの情報を参照することが可能となる。図１５の例では、選択した時点でノードの情報を画面に表示しているが、サマリ情報についてはマップ上に常に表示するようにしたり、ノード情報を音声などで通知するようにしてもよい。
【００９２】
図１７は、ルートを変更する機能の提示例である。
同図に示すのは、ユーザが、マップ上のアイコンを選択することによって、そのアイコンが表すノードを新たなルートとして、本発明によるマップを新たに描画する機能である。
【００９３】
最初、同図の（Ａ）に示されるようなマップが表示されていたとする。ルートのアイコンは白抜きの四角で示されている。ここで、ユーザがルートの左側のノードを選択したとすると、同図（Ｂ）に示されるように、選択されたノードが新たなルートとして設定され、マップが描画される。なお、同図では、同一階層のアイコンは同一の図柄のアイコンで示されているが、同図（Ａ）及び（Ｂ）を見比べれば明らかなように、同図（Ａ）で最初ルートであったノード１７０が同図（Ｂ）では、第２階層のノード１７０になっている。一方、同図（Ａ）で第２階層のノードであったノード１７１は、ユーザによって選択されたことによって同図（Ｂ）ではルートのノード１７１になっている。
図１８は、図１７の機能を提供するための処理を表すフローチャートである。
【００９４】
先ず、マップ上で新しくマップの中心となるアイコン（ルート）をマウス等で選択する（ステップＳ５０）。次に、ステップＳ５１で、マップの機能メニューからルートの変更機能を選択する。ステップＳ５２でノード間の相関関係を表す情報を新しいルートを起点とした情報に変更する。ステップＳ５３で、図９、１０を用いた処理を使って、マップ上での各ノードの描画位置を決定する。最後に、ステップＳ５４で、ノードに関する情報、描画位置を元にマップを再描画する。
【００９５】
図１７に図示するように、マップ上のアイコンを選択することによって、そのアイコンが表すノードを新たなルートとしたマップを描画する機能を提供することにより、監視対象を随時変更するような監視を行うことが可能となる。図１７の例では、ルートを変更する度に新たなマップを描画しているが、元のマップ自体を再描画するようにしてもよい。
【００９６】
図１９は、選択したアイコンの描画位置や他のアイコンとの相関関係を変更する機能の提示例である。
ユーザが、マップ上のアイコンを選択することによって、そのアイコンの描画位置や他のアイコンとの相関関係を変更することができ、変更後のマップが本発明によるマップ描画方法にのっとるように他のアイコンの描画位置を自動的に補正する。
【００９７】
同図では、第３階層（ルートは白抜きの四角で示されている）のノードとこのノードの配下にあるノードとを選択し、別の第２階層のノードの配下に移動した様子を示している。このような機能を設けることによって、ユーザは、ネットワーク構成を自由に再構成することができ、最適なネットワーク構成を探すことが出来る。従って、ネットワークを構築する際に、ネットワーク構成の検討を予め行うことができ、ネットワークの監視のみならず、ネットワークの設計の援助としても使用することができる。
【００９８】
図２０は、図１９の機能を実現するための処理を示すフローチャートである。ステップＳ６０で、ユーザは、マップ上の、描画位置を変更するアイコンを選択する。ステップＳ６１で、マップの機能メニューから描画位置の変更機能を選択し、ステップＳ６２で、選択したアイコンの移動先となるアイコンを選択する。そして、ステップＳ６３で、ノード間の相関関係を新しく移動によって変更された相関関係のものに変更し、ステップＳ６４でマップ上での各ノードの描画位置を決定する。ステップＳ６４の処理は、図９、１０で説明した処理に従う。そして、ステップＳ６５で、ノードに関する情報、描画位置を元に、マップを描画する。
【００９９】
図１９に図示するように、マップ上のアイコンを選択することによって、アイコンの描画位置や他のアイコンとの相関関係を変更可能とする機能を提供することにより、監視対象の相関関係について、容易に把握したり、変化に対応できるようにするため、監視者が自由にマップのレイアウトを変更することが可能となる。マップのレイアウトの変更は、監視者が手動で行うほかに、相関関係の変化を感知し、自動的に行う機構を提供してもよい。
【０１００】
以上のマップ描画方式及び機能により、ルートとその配下に存在するノードとの相関関係を監視するためのマップが描画される。
なお、図１９、図２０で示される機能を使用する場合、新たに、アイコン同士の重なり合いや、アイコン間を接続する線の交叉が生じる可能性があるが、図２０のフローチャートでも分かるように、アイコンの位置や相関関係を変更した場合には、前述の描画方法により新たにマップを描画し直すので、自動的に重なり合いや交叉を解消することになる。
【０１０１】
図２１は、ルートの周辺にルートに関する情報を表示する機能を説明する図である。
同図では、階層毎に異なるアイコンを使用してマップを描画している。ルートである第１階層は白抜きの四角で、第２階層は黒塗りの四角で、第３階層は黒塗りの丸で、第４階層は黒塗りの三角で表されている。この様なマップにおいて、ルートを中心にネットワーク監視を行う場合、ルートの周辺にルートに関する情報を表示する。
【０１０２】
同図では、一例として、ルートの名称やルートに使用されているＣＰＵの種類などのルートそのものに関するルート情報と、ルートが隣接するノードとどの程度の量の通信量をやり取りしているかを示すトラフィック量等のルート接続情報が示されている。特に、ルート情報はルートのアイコンのすぐ下に、ルート接続情報はルートと隣接するノードとを結ぶ線上に表示されている。
【０１０３】
このような表示方法を使用することによって、ネットワーク監視において注目したいノードをルートに持ってきて、その周辺の情報を読み取ることにより、効率よくネットワーク監視を行うことができる。
【０１０４】
図２２は、図２１の機能を実現するための処理のフローチャートである。
先ず、マップの機能メニューからルートの周辺情報の表示機能を選択する（ステップＳ７０）。次に、ルートの周辺に監視のための情報を表示する（ステップＳ７１）。ここで、ステップＳ７１では、図１１に示されているネットワーク構成格納データベース１１０からルートに関する情報を取得し、ウィンドウシステムの既存の機能を使って、マップ上のルートの近傍に取得したデータを表示するようにする。ルートのノード自身に関する情報は、ルートのアイコンのすぐ側、例えば、アイコンのすぐ下等に表示するようにする。ルートのアイコンと他のノードのアイコンを接続する線に関する情報（トラフィック量等）は、線のすぐ近傍に表示するようにする。具体的な表示位置は、実際のプログラムを作成する当業者によって適宜決められるべきものである。
【０１０５】
上記実施形態では、ルートとその配下に存在するノードとの相関関係を監視するためのマップを描画し、その関係の把握や各情報の参照を容易に行えるようにしている。また、監視対象の変更や相関関係の変更、もしくは監視者の意向に対応して、マップの変更を容易に行えるようにしている。
【０１０６】
従って、ルートとその配下に存在するノードとの相関関係を監視する場合には、本実施形態によって描画されたマップによって、効率的な監視を行うことが可能となる。
【０１０７】
図２３は、マップ上にノードのアイコンを表示する方法の別の実施形態を示す図である。
同図の実施形態においては、各ノードについて、自身を表すアイコンを、自身を配下に持つ、一つ下位の階層に属するノードを表すアイコンから等距離となる位置に描画することによって、各ノードを表すアイコンを中心とする円上に、隣接関係を持つ配下のノードを表すアイコンを配置するマップを描画する。
【０１０８】
同図のマップの表示方法においては、ルート２３０を中心に配置すると共に、第２階層のアイコン（黒塗りの四角で示されている）をルート２３０を中心とした円上に配置している。前述のマップの表示方法の実施形態においては、全ての階層のアイコンがルートを中心とした同心円上に配置されていた。本実施形態の場合には、第３階層のアイコンは、その親ノードとなるアイコンを中心とした円上に配置されている。すなわち、第２階層のノード２３１−１の配下にある第３階層のノードのアイコン（黒塗りの丸で示されている）２３２−１、２３２−２、２３２−３はノード２３１−１を中心とした円上に配置されている。また、第２階層のノード２３１−２の配下にあるノードのアイコン２３２−４、２３２−５はノード２３１−２のアイコンを中心とした円上に配置されている。同様に、それぞれ第３階層のノード２３２−１、２３２−２、２３２−３、２３２−５を親ノードとして持つ第４階層のノードのアイコン（黒塗りの三角でしめされている）は、それぞれの親ノードを中心とする円上に配置されている。
【０１０９】
このように配置することによっても、ルートを中心とし、ルートからの距離が遠いほど実際のネットワークにおいてもルートから遠い位置に配置されていることが容易に認識されるので、図３で説明したマップの表示方法と同じ効果を得ることが出来る。
【０１１０】
図２４及び図２５は、図２３の表示を行うための処理を示すフローチャートである。
先ず、ステップＳ１００で、ノード及びノード間の相関関係に関する情報を取得する。これは、専用のデータベースから読み取る。次に、ステップＳ１０１で、ルート（階層が“１”）への割り当て角度を２πとし、実変位角を“０”と設定する。ステップＳ１０２で、マップの中心となる位置にルートのアイコンを描画する。ステップＳ１０３で、処理すべき階層を“２”に設定し、ステップＳ１０４で対象の親ノードを設定する。階層が“２”の時は、ステップＳ１０４の親ノードはルートとなる。
【０１１１】
ステップＳ１０５で、対象の親ノードに属する兄弟ノード間で親ノードへの割り当て角度を配分し、自ノードへの割り当て角度を算出する。この算出方法については後述する。次に、ステップＳ１０６に進み、隣り合うノードのアイコンが重なり合わないように描画半径を算出する。この描画半径の算出についても後述する。そして、ステップＳ１０９で、ステップＳ１０４で対象とされた親ノード以外に同一階層の別の親ノードがあるか否かが判断される。別の親ノードがある場合には、ステップＳ１０７で、次の親ノードの設定を行い、ステップＳ１０５に戻って、新しい親ノードに属する自ノードの描画位置を算出する。ステップＳ１０９で、別の親ノードがないと判断された場合には、ステップＳ１１０に進んで、次の階層があるか否かが判断される。次の階層がある場合には、ステップＳ１０８に進んで、処理すべき階層の設定値を１つ増加し、ステップＳ１０４に戻って、以下の処理を行う。
【０１１２】
ステップＳ１１０で、次の階層がないと判断された場合には、ステップＳ１１１に進んで、以上の処理で得られたノードに関する描画位置と、ステップＳ１００でデータベースから読み込んだノードに関する情報を元にマップを描画して、処理を終了する。
【０１１３】
図２６及び図２７は、図２４の割り当て角度及び描画半径の算出方法を説明する図である。
先ず、算出対象のノード（以下、自ノードという）の配下に属するノード（以下、子ノードという）の数を計数する。ただし、子ノードが存在しない場合は、仮想の子ノードが存在するものとみなし、子ノードの数を“１”とする。
【０１１４】
次に、自ノードと同じ親ノードの配下に属するノード（以下、兄弟ノードという）すべてについて、子ノードの数を合計する。
そして、以下の計算式により、自ノードのアイコンへの割り当て角度を算出する。
【０１１５】
（自ノードへの割り当て角度）＝（親ノードへの割り当て角度）／（兄弟ノードに属する全ての子ノードの数の合計）×（自ノードの配下に属する子ノードの数）
このように、親ノードへの割り当て角度を、配下に属する兄弟ノードで配分し、自ノードへの割り当て角度とする。配分する比率は、図３の表示方法の算出例▲１▼〜▲３▼で行った算出方法と同様に、子ノードの数に比例させる。
【０１１６】
図２６に示されているように、自ノードを含む兄弟ノードｘ、ｙにそれぞれ親ノードの割り当て角度θ’及びθ’’がそれぞれ割り当てられているが、ノードｘは、子ノードを２つ持っており、ノードｙは子ノードが１つだけなので、θ’：θ’’＝２：１となる。
【０１１７】
次に、仮変位角を算出する。仮変位角とは、図３の場合の算出方法で用いた意味と同じであって、自ノードを含む、すべての兄弟ノードへの割り当て角度を合わせた角度において、一方の端を基準（図２６の仮基準軸）とした場合、この仮基準軸からの変位角のことを言う。
【０１１８】
この仮変位角の計算は、図３の場合の算出方法のステップ▲５▼の計算と同じである。なお、後で描画半径を算出するときに使用するために最小差分角を記憶しておく。
【０１１９】
次に、実変位角を算出する。ただし、図２３の描画方法では、自ノードは親ノードを中心とした円周上に描画されるため、親ノードの描画位置を座標軸の中心として算出する。（図３の場合には、常にルートの描画位置を座標軸の中心として算出している。）実変位角の算出は、図３の表示方法に適用される算出方法のステップ▲６▼の式がそのまま使える。
【０１２０】
親ノードの実変位角をε、ノードｘの実変位角をθｘ、ノードｙの実変位角をθｙとした場合の、各角度の関係を示したのが図２７である。親ノードの実変位角を求める場合に使用した基準軸と兄弟ノードの実変位角を求める場合に使用する基準軸とは、互いに平行に設定する。例えば、画面上の座標軸のｘ軸等を採用する。しかし、本実施形態の場合には、各自ノードは親ノードを中心とした円周上に配置されるので、座標軸の中心は親ノードに一致するように移動して、配置を行う。
【０１２１】
最後に、描画半径の算出を行う。図３の場合には、描画半径は、ルートを中心とした場合の中心からの距離であったが、図２３の場合には、親ノードを中心とした場合の、中心からの距離となる。よって、以下の式により描画半径を算出する。
【０１２２】
描画半径ｒ＝ι×３
ι＝アイコンのサイズ
ここで、ファクター“３”は、前述同様適宜定められるべきであって、“３”という数値は便宜上定められているものである。
【０１２３】
更に、図３の場合と同様に、隣り合うアイコンの重なり合いを防ぐため、前述のステップ▲７▼の関係式により、描画半径ｒの最小値を、予め記録しておいた最小差分角を使用して算出する。そして、描画半径がこの最小値より小さくならないように描画半径を設定して、アイコンを描画する。
【０１２４】
なお、図２３〜図２７のアイコンの描画方法は図３〜図１０のアイコンの描画方法と等価であって、図１１以降に説明した各機能は、図２３〜図２７のアイコンの描画方法を使用してもそのまま適用できるものである。
【０１２５】
【発明の効果】
以上説明したように、本発明によれば監視対象であるルートとその配下のノードとの相関関係を表すマップを、その構成や各ノードの情報を容易に把握できるように描画することができ、監視作業を効率的に行うことができる。
【図面の簡単な説明】
【図１】本発明のマップ描画方法を実現する装置の原理構成図である。
【図２】本発明の方法を実現するための装置のハードウェア環境図である。
【図３】本発明のマップの表示方法の一実施形態を説明する図である。
【図４】図３の表示例において同心円上にアイコンを配置する方法を説明する図である。
【図５】図３の実施形態のマップの描画処理を示すフローチャートである。
【図６】図３の実施形態における各アイコンの描画位置決定方法を説明する図（その１）である。
【図７】図３の実施形態における各アイコンの描画位置決定方法を説明する図（その２）である。
【図８】図３の実施形態における各アイコンの描画位置決定方法を説明する図（その３）である。
【図９】図６〜図８で説明した方法を実現する処理のフローチャート（その１）である。
【図１０】図６〜図８で説明した方法を実現する処理のフローチャート（その２）である。
【図１１】本発明の方法を実現するプログラムの各機能の関係を示した図である。
【図１２】ユーザの指定によってアイコンの図柄を変える機能を説明する図である。
【図１３】図１２で例示されたアイコンの変更機能を使ってマップをネットワーク監視に適した表示に変更した場合の例を示す図である。
【図１４】図１２、及び図１３で説明した機能を実現するための処理を示すフローチャートである。
【図１５】ノードやノード間の隣接関係に関する情報を通知する機能の提示例を示している。
【図１６】図１５の機能を実現するための処理のフローチャートである。
【図１７】ルートを変更する機能の提示例である。
【図１８】図１７の機能を提供するための処理を表すフローチャートである。
【図１９】選択したアイコンの描画位置や他のアイコンとの相関関係を変更する機能の提示例である。
【図２０】図１９の機能を実現するための処理を示すフローチャートである。
【図２１】ルートの周辺にルートに関する情報を表示する機能を説明する図である。
【図２２】図２１の機能を実現するための処理のフローチャートである。
【図２３】マップ上にノードのアイコンを表示する方法の別の実施形態を示す図である。
【図２４】図２３の表示を行うための処理を示すフローチャート（その１）である。
【図２５】図２３の表示を行うための処理を示すフローチャート（その２）である。
【図２６】図２４の割り当て角度及び描画半径の算出方法を説明する図（その１）である。
【図２７】図２４の割り当て角度及び描画半径の算出方法を説明する図（その２）である。
【図２８】従来の木構造マップ描画方法を説明する図である。
【符号の説明】
１０      座標演算部
１１      マップ描画部
２０      通信装置
２１      ＲＡＭ
２２      ＲＯＭ
２３      ＣＰＵ
２４      記憶装置
２５      記録媒体読み取り装置
２６      可搬記録媒体
２７      バス
２８      情報提供者
２９      入出力装置
１１０      ネットワーク構成格納データベース
１１１      ノード情報取得モジュール
１１２      マップ描画モジュール
１１３      アイコン変更モジュール
１１４      情報表示モジュール
１１５      ルート変更モジュール
１１６      ノード描画位置変更モジュール
【図１】
0003636272.tif 000002
【図２】
0003636272.tif 000003
【図３】
0003636272.tif 000004
【図４】
0003636272.tif 000005
【図５】
0003636272.tif 000006
【図６】
0003636272.tif 000007
【図７】
0003636272.tif 000008
【図８】
0003636272.tif 000009
【図９】
0003636272.tif 000010
【図１０】
0003636272.tif 000011
【図１１】
0003636272.tif 000012
【図１２】
0003636272.tif 000013
【図１３】
0003636272.tif 000014
【図１４】
0003636272.tif 000015
【図１５】
0003636272.tif 000016
【図１６】
0003636272.tif 000017
【図１７】
0003636272.tif 000018
【図１８】
0003636272.tif 000019
【図１９】
0003636272.tif 000020
【図２０】
0003636272.tif 000021
【図２１】
0003636272.tif 000022
【図２２】
0003636272.tif 000023
【図２３】
0003636272.tif 000024
【図２４】
0003636272.tif 000025
【図２５】
0003636272.tif 000026
【図２６】
0003636272.tif 000027
【図２７】
0003636272.tif 000028
【図２８】
0003636272.tif 000029