【文献】
住田智雄 外2名,高能率大容量ファイル転送方式とその視覚化手法,情報処理学会論文誌,社団法人情報処理学会,2008年 2月15日,第49巻,第2号,pp.544−554
(58)【調査した分野】(Int.Cl.,DB名)
ネットワークを構成する複数のノードに係る回路図情報に基づき、前記複数のノードのうちの指定ノードの配下におけるノードの接続関係を示すネットワーク概要図を作成するコンピュータに、
前記ネットワーク概要図において、前記複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて表示し、
前記ネットワーク概要図において、前記接続関係を、前記複数のノードのそれぞれに対応するノードシンボルと、前記接続関係のある前記ノードシンボルどうしを結合する接続線とによって、前記指定ノードからの接続段数を意識したツリー形式で表示し、
前記ネットワーク概要図において、同一接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示し、
前記ネットワーク概要図において、同一接続段数におけるノードを並べ替えても前記接続線の交差数が変わらない場合、次の接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、
処理を実行させる、設計支援プログラム。
前記ネットワーク概要図において、前記複数のノードのうち、一の下位ノードが接続される孤立ノードについて、前記下位ノードを前記孤立ノードの直下に配置して表示する、
処理を前記コンピュータに実行させる、請求項1に記載の設計支援プログラム。
前記ネットワーク概要図において、前記指定ノードを最上段の中央に配置して表示するとともに、前記孤立ノードおよび前記下位ノードを含むノード列を、前記指定ノードを配置した中央位置から離れた位置に配置して表示する、
処理を前記コンピュータに実行させる、請求項2に記載の設計支援プログラム。
【発明を実施するための形態】
【0012】
以下、図面を参照して実施の形態を説明する。
〔1〕設計支援装置の構成および機能
図1は、本実施形態の設計支援装置1のハードウエア構成および機能構成を示すブロック図である。
図1に示す設計支援装置1は、回路図読込み部10,メモリ20,処理部30,表示部40およびコマンド部50を有している。
【0013】
設計支援装置1には、ネットワークを構成する複数のノード(製品)に係る回路図情報(インフラCAD情報;例えば
図32参照)を予め格納する回路図データベース2が接続されている。回路図データベース2は、例えば、設計支援装置1に外付けされる外部記憶装置、もしくは、設計支援装置1に備えられたスロット等に挿入される各種記録媒体によって構成される。
【0014】
回路図読込み部10は、設計支援装置1に接続された回路図データベース2から、インフラCAD情報を読み出し、回路図データ(回路図情報)21としてメモリ(格納部)20に格納・保存する。
【0015】
メモリ20は、RAM(Random Access Memory),HDD(Hard Disk Drive),SSD(Solid State Drive)等の内部記憶装置であってもよいし、外部記憶装置であってもよい。メモリ20は、少なくとも、前述のごとく回路図データベース2から読み込まれた回路図データ21と、後述するネットワーク概要図リンクデータ22と、後述するネットワーク概要図マップデータ23とを保存する。さらに、メモリ20は、
図4および
図5にそれぞれ示すネットワーク概要図管理テーブルおよび製品管理テーブルを保存するほか、処理部30を設計支援装置1(作成部)として動作させる設計支援プログラムとを記憶する。
【0016】
処理部30は、CPU,プロセッサ,コンピュータ等であり、上記設計支援プログラムを実行することで、ネットワークトレース部31および配置処理部32を含む作成部として機能する。処理部30による作成部としての機能は、メモリ20に格納された回路図データ21に基づき、複数のノードのうちの指定ノード(オペレータによって指定された製品)の配下におけるノードの接続関係を示すネットワーク概要図を作成して表示部40に表示させるものである。
【0017】
ここで、ネットワークトレース部31は、メモリ20に格納された回路図データ21に基づき、オペレータによって指定された製品(指定ノード)から接続関係をトレースしてネットワーク概要図リンクデータ22を生成しメモリ20に格納する。
また、配置処理部32は、メモリ20に格納されたネットワーク概要図リンクデータ22に基づき、ネットワーク概要図における各ノードの表示位置、つまりネットワーク概要図での各ノードの配置位置を決定し、ネットワーク概要図を作成する。ネットワーク概要図の作成結果は、ネットワーク概要図マップデータ23としてメモリ20に格納される。
【0018】
このとき、処理部30(配置処理部32)は、少なくとも、以下の機能(a1)〜(a6)を果たす。
(a1)ネットワーク概要図において、複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて(もしくはちょっとずらして)表示する機能(
図8を参照しながら後述)。
【0019】
(a2)ネットワーク概要図において、複数のノードのうち、一の下位ノードが接続される孤立ノードについて、当該下位ノードを孤立ノードの直下に配置して表示する機能。さらに、ネットワーク概要図において、指定ノードを最上段の中央に配置して表示するとともに、孤立ノードおよび下位ノードを含むノード列を、指定ノードを配置した中央位置から離れた位置に配置して表示する機能(
図9を参照しながら後述)。
【0020】
(a3)ネットワーク概要図において、ノードの接続関係を、複数のノードのそれぞれに対応するノードシンボルと、接続関係のあるノードシンボルどうしを結合する接続線とによって、指定ノードからの接続段数(ホップ数)を意識したツリー形式で表示する機能(
図8〜
図14参照)。
【0021】
(a4)ネットワーク概要図において、同一接続段数(同一ホップ数)におけるノードを、接続線の交差数が最小になるように配置して表示する機能(
図10〜
図13参照)。
(a5)ネットワーク概要図において、同一接続段数におけるノードを並べ替えても接続線の交差数が変わらない場合、次の接続段数におけるノードを、接続線の交差数が最小になるように配置して表示する機能(
図10〜
図13参照)。
【0022】
このような処理部(作成部)30による、ネットワーク概要図の基本的な作成表示処理については
図8〜
図14を参照しながら後述する。また、処理部(作成部)30による、ネットワーク概要図の作成表示手順の詳細については
図15〜
図31を参照しながら後述する。
【0023】
表示部40は、例えば処理部30によって表示状態を制御されることにより、メモリ20に格納されたネットワーク概要図マップデータ23に基づきネットワーク概要図を表示する。
コマンド部50は、オペレータ等がキーボード,マウス等を操作して入力するコマンドに応じて、メモリ20におけるネットワーク概要図マップデータ23の編集処理等を行なうものである。例えば、コマンド部50は、オペレータによって入力されたコマンドに従って、上述した機能(a1)を実現することもできる。
【0024】
なお、
図2は、本実施形態の回路図における名称を説明する図であり、
図2に示す回路図では、製品(ノード)の本体に相当する部分を「核製品」と表記し、核製品に装着されて核製品とともに製品(ノード)を成す部分を「部品」と表記する。また、核製品が外部と通信すべく通信用の「ネット(ライン)」に接続されるインターフェイス部分を「IF(InterFace)」と表記する。
【0025】
また、
図3は、ネットワーク概要図における名称,段数およびホップ数(接続段数)を説明する図であり、
図3に示すように、ネットワーク概要図において、「製品(ノード)」は、製品(ノード)の種類に応じたノードシンボルによって表示される。また、ネットワーク概要図リンクデータ22に従って、接続関係のある製品(ノード)どうしは、「ライン(接続線)」によって結合される。また、
図3の左側には、製品(ノード)の段数が示され、
図3の右側には、ホップ数が示されている。
図3に示すネットワーク概要図では、1段目〜8段目まで製品(ノード)が表示されている。また、ホップ数は、ネットワークトレース部31により指定製品から接続関係をトレースすることにより得られ、指定製品から通信相手のノードに到達するまでに経由する中継設備(中継ノード)の数である。さらに、
図3に示すネットワーク概要図において、配置処理部32は、
図34に示したものと同様、同一ホップ数に属する製品であってもIF属性に依っては製品を上下に分けて表示する(例えば
図3のホップ数2またはホップ数4の段に属する製品参照)。これにより、同一ホップ数に属する製品であっても接続状態により製品が表示段を分けて表示されるので、見やすいネットワーク概要図を作成表示することができる。
【0026】
図4は、ネットワーク概要図管理テーブルのデータ構造を示す図、
図5は、製品管理テーブルのデータ構造を示す図である。処理部30(ネットワークトレース部31および配置処理部32)は、
図4に示すネットワーク概要図管理テーブルを用いてネットワーク概要図を管理し、ネットワーク概要図の作成を行なう。また、処理部30(ネットワークトレース部31および配置処理部32)は、
図5に示す製品管理テーブルを用いてネットワーク概要図で表示されるべき製品(ノード)を管理し、ネットワーク概要図の作成を行なう。
【0027】
図6は、ネットワーク概要図リンクデータ22上での座標、つまりネットワーク概要図における相対座標を説明する図である。
図6に示すように、相対座標では、指定製品(トップノード)の相対座標は(0,0)であり、指定製品に対する各製品の相対的な位置が座標として用いられる。例えば、5段目(ホップ数3)に属する最も左側の製品の相対座標は(1,5)、5段目(ホップ数3)に属する最も右側の製品の相対座標は(10,5)となる。
【0028】
図7は、ネットワーク概要図マップデータ23上での座標、つまりネットワーク概要図の表示用座標を説明する図である。
図7に示すように、表示用座標では、左上を原点(0,0)とし、当該原点からの距離に基づく位置が座標として用いられる。例えば、指定製品の表示用座標は(1680,40)、5段目(ホップ数3)に属する最も左側の製品の相対座標は(180,680)、5段目(ホップ数3)に属する最も右側の製品の相対座標は(2880,680)となる。
【0029】
〔2〕設計支援装置による、ネットワーク概要図の基本的な作成表示処理
次に、
図1に示す本実施形態の設計支援装置1による、ネットワーク概要図の基本的な作成表示処理(b1)〜(b6)、つまり上述した機能(a1)〜(a5)を用いて行なわれる基本的な処理(b1)〜(b6)について、
図8〜
図14を参照しながら具体的に説明する。
【0030】
(b1)ネットワークトレース部31は、回路図データ21に基づき、オペレータによって指定された製品から接続関係をトレースしてホップ数を求め、ネットワーク概要図リンクデータ22をメモリ20に保存する。
(b2)配置処理部32は、ネットワーク概要図において、指定製品を最上段の中央に配置する。
【0031】
(b3)配置処理部32は、上記機能(a1)を用い、製品管理テーブルを参照し親子のリンクを調べることで、ネットワーク概要図において、複数の製品のうち、種別が同じで且つ接続先製品が同じ2以上の製品を検索する。そして、配置処理部32は、ネットワーク概要図において、検索された2以上の製品を、一の代表ノードシンボルで表示する、または、重ねて(もしくはちょっとずらして)表示する。例えば
図3に示すネットワーク概要図では、このような作成表示処理を行なうことで、
図8の破線A1で囲んだ領域に示すように、5段目(ホップ数3)に属する8個の製品が、4個の製品にまとめられて表示されることになる。
【0032】
(b4)ついで、配置処理部32は、上記機能(a2)を用い、孤立ノードに係るノード列(製品表示列)については、ネットワーク概要図において、指定製品が配置される中央位置に配置せず、中央位置から離れた位置に配置して表示する。例えば
図3および
図8に示すネットワーク概要図では、3段目(ホップ数2の上段)の左側の製品は、一つの下位ノードが接続される孤立ノードである。このような孤立ノードが、製品管理テーブルを参照することで見い出されると、孤立ノードや下位ノードを含むノード列は、例えば
図9の破線A2で囲んだ領域に示すように、ネットワーク概要図の左側に寄せた状態で表示されることになる。このような機能は、ネットワークトレース部31によって得られたネットワーク概要図リンクデータ22に基づき、同一ホップ数に属する製品で他の製品との繋がりが少ないもの程、中央位置から離れた位置(外側)になるよう、相対位置(
図5,
図6参照)を割り振ることで実現可能である。なお、
図9の破線A2で囲んだ領域は、全てのホップ数におけるノードシンボル(製品)の配置が完了した後に整列処理行なった状態を表す。
【0033】
(b5)また、配置処理部32は、上記機能(a3)〜(a5)を用い、ネットワーク概要図において、同一ホップ数に属する製品を、ライン(接続線)の交差数が最小になるように配置して表示する。その際、配置処理部32は、同一ホップ数に属する製品をどのように並べ替えてもラインの交差数が変わらない場合、次のホップ数に属する製品を、ラインの交差数が最小になるように配置して表示する。例えば
図10に示すネットワーク概要図では、破線A3で囲んだ領域内の製品(ホップ数3に属する製品)を、破線A4で囲んだ領域内の製品(ホップ数2に属する製品;孤立ノードを除く)に対し、どのように並べ替えてもラインの交差数は同じである。このような場合、
図11に示すように、次のホップ数4に属する製品(破線A5で囲んだ領域内の製品)を、ラインの交差数が最小になるように配置する。さらに、
図12に示すように、破線A6で囲んだ領域内の製品を、ラインの交差数が最小になるように配置する。
図12に示す状態で交差数は全部で42個であるが、総当たりでラインの交差数が最小になる配置を求めることで、
図12の破線A7で囲んだ領域内の2つの製品が、
図13の破線A9で囲んだ領域内(右方向)に移動し、
図12の破線A6で囲んだ領域は、
図13の破線A8で囲んだ領域に示す状態になる。
【0034】
(b6)最後に、配置処理部32は、
図14に示すように、ネットワーク概要図において表示される製品(ノードシンボル)の間隔を調整し、ネットワーク概要図の仕上げを行なう。このとき、配置処理部32は、製品(ノードシンボル)間の上下間隔を同じするとともに、製品(ノードシンボル)間の左右間隔を同じにする。なお、上下間隔と左右間隔とは、同じ値であってもよいし、異なる値であってもよい。
【0035】
〔3〕設計支援装置による、ネットワーク概要図の作成表示手順の詳細
次に、
図15〜
図31を参照しながら、上述のごとく構成された設計支援装置1によるネットワーク概要図の作成表示手順の詳細について説明する。
【0036】
〔3−1〕ネットワーク概要図の作成表示手順(全体の流れ;getAbstractInfo)
まず、
図15に示すフローチャート(ステップS1〜S7)に従って、
図1に示す設計支援装置1によるネットワーク概要図の作成表示手順(全体の流れ)について説明する。
処理部30(ネットワークトレース部31)は、回路図データ21に基づき、オペレータによって指定された製品からトレース(traceMachine)を行なう(ステップS1)。指定製品からのトレースについては、
図16および
図17を参照しながら後述する。
【0037】
また、処理部30(ネットワークトレース部31)は、グループリンク(製品の親子関係)の構築(createGroupLink)を行なう(ステップS2)。グループリンクの構築については
図20〜
図22を参照しながら後述する。
処理部30(ネットワークトレース部31)によるトレース結果やグループリンク構築結果は、ネットワーク概要図リンクデータ22としてメモリ20に保存される。
【0038】
ついで、処理部30(配置処理部32)は、ネットワーク概要図リンクデータ22に基づき、製品の第1配置処理(layoutMachine)を行なう(ステップS3)。製品の第1配置処理については
図23を参照しながら後述する。
また、処理部30(配置処理部32)は、垂直配置等の製品の第2配置処理(layout2Machine)を行なう(ステップS4)。製品の第2配置処理については
図24を参照しながら後述する。
第1配置処理および第2配置処理の結果は、ネットワーク概要図マップデータ23としてメモリ20に保存される。
【0039】
さらに、処理部30(配置処理部32)は、ネットワーク概要図マップデータ23や製品管理テーブルなどに基づき、マッピング処理(mapMachine)を行ない、表示部40にネットワーク概要図を表示させる(ステップS5)。マッピングに係る処理については
図30および
図31を参照しながら後述する。
【0040】
この後、処理部30(配置処理部32)は、接続情報の設定(routeMachine)を行なう(ステップS6)。そして、処理部30(配置処理部32)は、上記処理(b3)で説明したように、製品管理テーブルを参照し親子のリンクを調べることで、ネットワーク概要図において、同一ホップ数(同一段数)に属する複数の製品(ノード)のうち、種別が同じで且つ接続先製品が同じ2以上の製品を検索する。そして、処理部30(配置処理部32)は、ネットワーク概要図において、検索された2以上の製品を、一の代表ノードシンボルで表示する、または、重ねて表示する(resetAbstTracePack;ステップS7)。
【0041】
〔3−2〕指定製品からのトレース処理(traceMachine)
次に、
図16に示すフローチャート(ステップS11〜S15)に従って、
図17を参照しながら、
図15に示す指定製品(指定ノード)からのトレース処理(ステップS1)の詳細について説明する。
【0042】
まず、処理部30(ネットワークトレース部31)は、製品管理テーブルにおいて、指定製品にトレース済みを表す「トレースフラグ」を設定してから(ステップS11)、指定製品を構成する部品のIF属性を収集する(ステップS12)。このとき、例えば
図17に示すように、製品B0が指定製品であるとすると、処理部30(ネットワークトレース部31)は、指定製品B0の2つのIFの属性を収集する。ただし、収集過程で既にトレース済みのIFの属性の収集は行なわない。例えば、
図17の矢印B1,B2,B3で示すようにトレースが行なわれ、再び製品B0に辿り着いた場合、ループしないようにトレース済みの製品B0は収集対象から除外する。
【0043】
処理部30(ネットワークトレース部31)は、IFを、収集されたIF属性により並び替える(IB(InfiniBand)→SAN(Storage Area Network)→LAN(Local Area Network);ステップS13)。
また、処理部30(ネットワークトレース部31)は、IFを指定して、指定IFから製品をトレースする(traceMachinePin;ステップS14)。指定IFからのトレース処理については
図18および
図19を参照しながら後述する。
そして、処理部30(ネットワークトレース部31)は、トレースした製品を、ホップ数でソートし(ステップS15)、指定製品からのトレース処理を終了する。
【0044】
〔3−3〕IFからのトレース処理(traceMachine Pin)
次に、
図18に示すフローチャート(ステップS21〜S28)に従って、
図19を参照しながら、
図16に示すIFから製品をトレースする処理(ステップS14)の詳細について説明する。
【0045】
処理部30(ネットワークトレース部31)は、指定IFに接続しているネット(例えば
図19のネットB4参照)を求める(ステップS21)。処理部30(ネットワークトレース部31)は、求めたネットを構成する全てのIFについて、以下のステップS23〜S28の処理を繰り返し実行する(ステップS22)。
【0046】
また、処理部30(ネットワークトレース部31)は、IFから部品(例えば
図19の部品B5参照)を求め(ステップS23)、求めた部品から核製品(例えば
図19の核製品B6参照)を求める(ステップS24)。さらに、処理部30(ネットワークトレース部31)は、求めた製品のリンク関係(親,子,ホップ数)をメモリ20の製品管理テーブル等に登録するとともに(ステップS25)、求めた製品をテーブルに登録し(ステップS26)、繋がり種別(LAN,SAN等
)を設定する(ステップS27)。そして、処理部30(ネットワークトレース部31)は、以上のトレースによって見つかった製品から、
図16に示すトレース処理を行なう(ステップS28)。
【0047】
〔3−4〕グループリンク作成処理(createGroupLink)
次に、
図20に示すフローチャート(ステップS31,S32)に従って、
図21を参照しながら、
図15に示すグループリンク(親子関係)の構築処理(ステップS2)の詳細について説明する。
【0048】
処理部30(ネットワークトレース部31)は、製品を構成するマシンを検索し(ステップS31)、マシン相互間での上下関係をグループとする(ステップS32)。具体的に、処理部30(ネットワークトレース部31)は、データ構造の「ネットワーク概要図管理テーブル」(
図4参照)の「全生成製品」にリンクされている「製品管理テーブル」(
図5参照)を順次追いながら、親を複数もつ製品を抽出し、その親に対してグループリンク(「製品管理テーブル」の「グループリンク」をはる。これにより、グループリンク(製品の親子関係)が構築される。例えば
図21に示すように、トレースによって製品Aと製品Cとの親子関係と、製品Bと製品Dとの親子関係とは判明しているが、2つの製品AとBが製品Cの親であるということは分かっていなかったので、グループリンク作成処理によって、2つの製品AとBが製品Cの親であることを示すリンクがはられる。
【0049】
ここで、
図22を参照しながら、製品とマシンの概念について説明する。
「製品」は、製品として購入する最少単位である。
図22においては、符号B7で示す本体と、符号B8,B9で示す増設メモリ,NIC(Network Interface Card)カード,SCSI(Small Computer System Interface)カードとが「製品」に該当する。また、「マシン」は、「製品」が集まって一体として管理される単位である。なお、「部品」は「製品」を構成する各パーツであり、通常、単品では購入されない。
【0050】
〔3−5〕製品の第1配置処理(layoutMachine)
次に、
図23に示すフローチャート(ステップS33〜S45)に従って、
図15に示す製品の第1配置処理(ステップS3)の詳細について説明する。
【0051】
処理部30(配置処理部32)は、各ホップ数0〜n(
図3に示す例ではn=5)に属する製品の数を求める(ステップS33)。これにより、ネットワーク概要図のおおよその幅と高さが求まる。そして、処理部30(配置処理部32)は、ポップアップ画面で表示される「オプション」における製品の「配置スペース」(行の高さ,列の幅)に設定されている値を取得し、ネットワーク概要図の全体サイズを求める(ステップS34)。
【0052】
処理部30(配置処理部32)は、i≦nである間、最上位(ホップ数=0)の製品から、順次、以下の第1配置処理(ステップS36〜S45)を繰り返し実行する(ステップS35)。なお、iは、処理対象のホップ数である。
処理対象のホップ数iが0(最上位)である場合(ステップS36のYESルート)、処理部30(配置処理部32)は、ホップ数0の製品を検索する(PlaceMinimumHorizontalMachine;ステップS37)。ステップS37での処理については
図25を参照しながら後述する。
【0053】
処理部30(配置処理部32)は、ステップS37で検索された製品について、以下の配置処理(ステップS39〜S41)を繰り返し実行する(ステップS38)。まず、処理部30(配置処理部32)は、製品管理テーブルの「固定フラグ」を参照して、検索された製品が配置可能かを判定する(IsNotReserveSheet;ステップS39)。配置可能であれば、処理部30(配置処理部32)は、製品を配置する(placementMachine;ステップS40)。ここで行なわれる配置処理については
図26を参照しながら後述する。また、処理部30(配置処理部32)は、製品が配置されると、製品管理テーブルの「配置フラグ」を設定する(ステップS41)。ステップS37で検索された製品について、以上の配置処理を完了すると、処理部30(配置処理部32)は、処理対象のホップ数iをi+1としてから、ステップS36の処理に戻る。
【0054】
一方、処理対象のホップ数iが0(最上位)でない場合(ステップS36のNOルート)、処理部30(配置処理部32)は、まず、処理対象のホップ数に属する製品がL2Switch系かFCSwitch系かを判定するとともに、処理対象のホップ数に属する製品が複数の親をもつか否かを判定する(ステップS42)。製品がL2Switch系かFCSwitch系かの判定は、製品管理テーブルにおける製品の「商品機能分類」が“HUB”か“HUBM”かに基づいて行なわれる。
【0055】
この後、処理部30(配置処理部32)は、L2Switch系製品およびFCSwitch系製品の並び替えを行なう(PlaceMinimumHorizontalMachine;ステップS43)。ステップS43での処理については
図25を参照しながら後述する。
また、処理部30(配置処理部32)は、複数の親をもつ製品の並び替えを行なう(PlaceMinimumHorizontalMachine;ステップS44)。ステップS44での処理については
図25を参照しながら後述する。
【0056】
そして、処理部30(配置処理部32)は、その他の製品の配置処理(第3配置処理)を行なってから(placementMachine;ステップS45)、処理対象のホップ数iをi+1とし、新たな処理対象のホップ数がn以下である場合にはステップS36の処理に戻る一方、新たな処理対象のホップ数がnを超えたら処理を終了する。なお、ステップS45での処理については
図26を参照しながら後述する。
【0057】
ここで、L2Switch系製品およびFCSwitch系製品の配置(並び替え)、複数の親をもつ製品の配置(並び替え)、その他の製品の配置の順で処理を行なう理由は、以下の通りである。
つまり、ハブ系の製品を最初に配置するのは、まだ製品が配置されていない状態で製品を配置することで、ハブの下に製品がぶら下がっているというイメージを分かり易く表現でき、効率よく製品の配置を行なえるからである。他の製品を配置した後にハブ系の製品を配置すると、先に配置された他の製品を避けてハブ系の製品を配置しなければならず、ハブ系の製品の配置が飛び飛びになり、ハブの下に製品がぶら下がっているというイメージに欠け、効率よい製品の配置を行なえなくなる。
【0058】
また、複数の親をもつ製品は、ハブ系の製品よりも比較的簡単に隣りどうしに配置できる一方で、一つの親をもつ製品よりは気を使った配置を行なう方が望ましいものと考えられるので、ハブ系の製品の次に配置を行なっている。
そして、それ以外の製品は、単純に親の直下に配置すればよいので、最後に配置しても問題がなく、複雑な配置処理を行なうメソッドではなく、単純に配置するメソッドを採用している。
【0059】
なお、同一ホップ数の段に、L2Switch系製品およびFCSwitch系製品とそれ以外の製品とが混在している場合は、L2Switch系製品およびFCSwitch系製品が、それ以外の製品よりも上になるよう、2段に分けて配置すること方が、ネットワーク概要図の見た目もよく、好ましい。
また、ステップS37,S43,S44での処理(PlaceMinimumHorizontalMachine;
図25参照)は、単に製品の並べ替えを行なうだけで、実際に製品を配置する処理は、ステップS40,S45(placementMachine;
図26参照)で行なわれる。
【0060】
〔3−6〕製品の第2配置処理(layout2Machine)
次に、
図24に示すフローチャート(ステップS51〜S53)に従って、
図15に示す製品の第2配置処理(ステップS4)の詳細を説明するフローチャートである。
処理部30(配置処理部32)は、段数間の接続数(段数−1)を求め(ステップS51)、指定段に属する製品数を求める(ステップS52)。ここで、「段数」は、
図3の左側に示され、
図3に示す例では、段数は8であるので、段数間の接続数は7となる。
【0061】
この後、処理部30(配置処理部32)は、求めた製品について、親へのリンク数と子へのリンク数とを製品管理テーブルで調べ、どちらも1であれば、当該製品を親製品の直下に配置する(resetPlaceOfUniformMachine;ステップS53)。これにより、見た目重視での製品配置を行なうことができる。
なお、ステップS53での処理については
図28を参照しながら後述する。
また、親へのリンク数および子へのリンク数は、それぞれ、製品管理テーブル(
図5参照)の「親リンク」,「子リンク」に設定されている。
【0062】
〔3−7〕横方向配線長の最小配置処理(PlaceMinimumHorizontalMachine)
次に、
図25に示すフローチャート(ステップS56〜S58)に従って、
図23に示す製品の横方向配置処理(ステップS37,S43,S44)の詳細について説明する。
【0063】
処理部30(配置処理部32)は、処理対象の製品について、兄弟製品どうし(つまり同一段数の段に属する製品どうし)の接続の有無を認識し(ステップS56)、兄弟製品が無ければ、処理対象製品をテーブルの先頭に追加する(ステップS57)。そして、処理部30(配置処理部32)は、連結度により製品を並び替える(setPlaceOfBrotherMachine;ステップS58)。これにより、横方向の配線長が最小になるように配置処理が行なわれる。なお、ステップS58での処理については
図27を参照しながら後述する。
【0064】
〔3−8〕製品の第3配置処理(placementMachine)
次に、
図26に示すフローチャート(ステップS61〜S65)に従って、
図23に示す製品の第3配置処理(ステップS40,S45)の詳細について説明する。
【0065】
処理部30(配置処理部32)は、まず、処理対象の製品の段数(
図3の左側参照)を求め(ステップS61)、求めた段数の段での配置位置を決定する(ステップS62)。ここで、ネットワーク概要図において、
図3に示すように、製品を市松格子状に配置すべく、例えば、0を中心として、奇数段の相対配置位置は…, -5, -3, -1, 1, 3, 5, …の中から決定され、偶数段の相対配置位置は…, -6, -4 -2, 0, 2, 4, 6, …の中から決定される。
【0066】
この後、処理部30(配置処理部32)は、処理対象の製品を、決定した位置に配置し(ステップS63)、配置した位置と段数とを設定するとともに(ステップS64)、配置情報を製品管理テーブルに設定する(ステップS65)。ここで、配置情報は、製品管理テーブル(
図5)における「トレースの起点から左右のどちら側か」に相当し、「トレースの起点から左右のどちら側か」に設定される値は「中心」,「左側」,「右側」の3種類であり、
図23に示す処理(layoutMachine)で使用される。
【0067】
〔3−9〕兄弟リンクのライン長の最小配置処理(setPlaceOfBrotherMachine)
図27に示すフローチャート(ステップS66〜S69)に従って、
図25に示す製品の並び替え処理(ステップS58)の詳細について説明する。ここで、兄弟リンクとは、製品管理テーブル(
図5参照)における「同一ホップ数の兄弟リンク」に相当する。
【0068】
処理部30(配置処理部32)は、まず、処理対象の製品の呼び出し時の深さを判定し、深さが0の場合はテーブルの後に処理対象の製品を登録し、深さが奇数の場合はテーブルの後ろに処理対象の製品を登録し、深さが偶数の場合はテーブルの前に処理対象の製品を登録する(ステップS66)。また、処理部30(配置処理部32)は、兄弟リンクをループして、兄弟製品どうし(つまり同一段数の段に属する製品どうし)の接続の有無を確認し(ステップS67)、接続が有れば処理対象の製品を配置する(ステップS68)。そして、処理部30(配置処理部32)は、本処理(setPlaceOfBrotherMachine)を再帰的に呼び出して実行することで、別の兄弟製品を配置する(ステップS69)。これにより、兄弟リンクを辿ってライン長が最小になるように、製品の配置が行なわれる。
【0069】
ここで、ステップS66において、深さに応じ、テーブルでの製品の登録位置をテーブルの前後のいずれ一方に切り替えている理由は、以下の通りである。
(1)最初の製品Aを登録すると、テーブルには「A」が登録される。
(2)次に製品Bを登録すると、テーブルには「A→B」の順で製品が登録される。
(3)次に製品Cを登録すると、テーブルには「C→A→B」の順で製品が登録される。
(4)次に製品Dを登録すると、テーブルには「C→A→B→D」の順で製品が登録される。
【0070】
これにより、最初の製品Aを中心にして、以降の製品B,C,D,…がテーブルの前後に交互に登録されることになり、繋がりのある兄弟製品間の接続ラインの長さは自ずと短くなるからである。製品を配置するときにはテーブルの先頭から製品を取り出して配置すれば、製品は隣りどうしで配置される。
【0071】
〔3−10〕一人っ子製品の再配置処理(resetPlaceOfUniformMachine)
図28に示すフローチャート(ステップS71〜S73)に従って、
図29を参照しながら、
図24に示す孤立ノードの配置処理(一人っ子製品の再配置処理;ステップS53)の詳細について説明する。
【0072】
処理部30(配置処理部32)は、処理対象の製品について一段違いの親を検索し(ステップS71)、検索された親の配置範囲(相対座標x)を確認する(ステップS72)。そして、処理部30(配置処理部32)は、処理対象の製品が親製品の下方に移動可能であれば処理対象の製品を移動させる(ステップS73)。例えば
図29に示すように、処理対象の製品(子製品)が親製品に対し右にずれていれば、処理対象の製品を左方向へ親の相対座標範囲まで移動させる。逆に、処理対象の製品が親製品に対し左にずれていれば、処理対象の製品を右方向へ親の相対座標範囲まで移動させる。これにより、複数の親製品をもつ一人っ子製品(孤立ノード)の再配置が行なわれる。
【0073】
〔3−11〕指定マシンのマッピング情報の設定処理(mapMachine)
図30に示すフローチャート(ステップS81〜S85)に従って、
図15に示すマッピング処理(ステップS5)の詳細を説明するフローチャートである。
【0074】
処理部30もしくは表示部40は、指定したマシンに係る全ての製品管理テーブルを参照し(ステップS81)、製品の配置位置が固定化されている場合には製品を固定位置に配置して表示する(「表示用座標」設定;ステップS82)。また、処理部30もしくは表示部40は、相対配置指示の場合には製品を相対位置に配置して表示する(「相対位置」設定;ステップS83)。ステップS83の処理は、ポップアップ画面で表示される「オプション」における製品の「配置スペース」を変更した場合の処理に相当する。
【0075】
そして、処理部30もしくは表示部40は、ステップS82,S83の場合以外の製品については、当該製品の相対位置をネットワーク概要図の位置に変換し当該製品を変換後の位置に配置して表示する(「相対位置」設定;ステップS84)。
さらに、処理部30もしくは表示部40は、処理対象の製品の子製品の配置座標を設定する(ステップS85)。ステップS85での処理については
図31を参照しながら説明する。これにより、指定したマシンのマッピング情報が設定される。
【0076】
〔3−12〕指定マシンの次段マシンのマッピング情報の設定処理(mapLinkMachine)
図31に示すフローチャート(ステップS91〜S95)に従って、
図30に示す子の配置座標の設定処理(ステップS85)の詳細について説明する。
【0077】
処理部30もしくは表示部40は、親製品の配置位置と子製品の配置位置とを取り出し(ステップS91)、子製品の配置位置が固定化されている場合には子製品を固定位置に配置して表示する(「表示用座標」設定;ステップS92)。また、処理部30もしくは表示部40は、相対配置指示の場合には子製品を相対位置に配置して表示する(「相対位置」設定;ステップS93)。ステップS93の処理は、ポップアップ画面で表示される「オプション」における子製品の「配置スペース」を変更した場合の処理に相当する。
【0078】
そして、処理部30もしくは表示部40は、ステップS92,S93の場合以外の子製品については、当該子製品の相対位置をネットワーク概要図の位置に変換し当該子製品を変換後の位置に配置して表示する(「相対位置」設定;ステップS94)。
さらに、処理部30もしくは表示部40は、処理対象の子製品の子製品の配置座標を設定する(ステップS95)。このとき、処理部30もしくは表示部40は、本処理(mapLinkMachine)を再帰的に呼び出して実行する。これにより、指定マシンの次段に接続しているマシンのマッピング情報が設定される。
【0079】
〔4〕設計支援装置の作用効果
本実施形態の設計支援装置1によれば、ネットワーク概要図において、種別が同じで且つ接続先製品が同じ2以上の製品が、一の代表ノードで表示される、または、重ねて(もしくはちょっとずらして)表示される。これにより、接続関係が重複する製品や接続線(ライン)の表示数が削減され、製品間のラインが複雑に交差することがなくなる。したがって、ネットワーク概要図が簡略化されてネットワーク概要図の見やすさが向上し、製品の接続関係が極めて分かりやすくなる。
【0080】
また、本実施形態の設計支援装置1によれば、ネットワーク概要図において、一の下位ノードが接続される孤立ノードについて、当該下位ノードを孤立ノードの直下に配置して表示し、さらに、孤立ノードおよび下位ノードを含むノード列を、指定製品を配置した中央位置から離れた位置に配置して表示する。これにより、孤立ノードがノード群から隔離されるため、ネットワーク概要図の見やすさがさらに向上する。
【0081】
例えば、従来手法では
図33に示すように作成表示されていたネットワーク概要図は、本実施形態の設計支援装置1に適用すれば、
図14に示すように作成表示されることになり、明らかに、ネットワーク概要図が簡略化されてネットワーク概要図の見やすさが向上し、製品の接続関係が分かりやすくなる。
【0082】
〔5〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【0083】
なお、本実施形態の設計支援装置1には、ネットワーク概要図を作成する機能だけでなく、編集過程の或る時点でのネットワーク概要図をスナップショット的に複数保持する機能を併せもたせるとともに、保持したスナップショット的なネットワーク概要図を適宜取り出せるような機能をさらにもたせてもよい。これにより、ネットワーク概要図の作成時の利便性を高めることができる。
【0084】
上述した作成部30,ネットワークトレース部31および配置処理部32としての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(設計支援プログラム)を実行することによって実現される。
【0085】
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【0086】
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記設計支援プログラムは、上述のようなコンピュータに、作成部30,ネットワークトレース部31および配置処理部32としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
【0087】
〔6〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークを構成する複数のノードに係る回路図情報に基づき、前記複数のノードのうちの指定ノードの配下におけるノードの接続関係を示すネットワーク概要図を作成するコンピュータに、
前記ネットワーク概要図において、前記複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて表示する、
処理を実行させる、設計支援プログラム。
【0088】
(付記2)
前記ネットワーク概要図において、前記複数のノードのうち、一の下位ノードが接続される孤立ノードについて、前記下位ノードを前記孤立ノードの直下に配置して表示する、
処理を前記コンピュータに実行させる、付記1に記載の設計支援プログラム。
【0089】
(付記3)
前記ネットワーク概要図において、前記指定ノードを最上段の中央に配置して表示するとともに、前記孤立ノードおよび前記下位ノードを含むノード列を、前記指定ノードを配置した中央位置から離れた位置に配置して表示する、
処理を前記コンピュータに実行させる、付記2に記載の設計支援プログラム。
【0090】
(付記4)
前記ネットワーク概要図において、前記接続関係を、前記複数のノードのそれぞれに対応するノードシンボルと、前記接続関係のある前記ノードシンボルどうしを結合する接続線とによって、前記指定ノードからの接続段数(ホップ数)を意識したツリー形式で表示する、
処理を前記コンピュータに実行させる、付記1〜付記3のいずれか一項に記載の設計支援プログラム。
【0091】
(付記5)
前記ネットワーク概要図において、同一接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、
処理を前記コンピュータに実行させる、付記4に記載の設計支援プログラム。
【0092】
(付記6)
前記ネットワーク概要図において、同一接続段数におけるノードを並べ替えても前記接続線の交差数が変わらない場合、次の接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、
処理を前記コンピュータに実行させる、付記5に記載の設計支援プログラム。
【0093】
(付記7)
ネットワークを構成する複数のノードに係る回路図情報を格納する格納部と、
前記格納部に格納された前記回路図情報に基づき、前記複数のノードのうちの指定ノードの配下におけるノードの接続関係を示すネットワーク概要図を作成する作成部と、を有し、
前記作成部は、
前記ネットワーク概要図において、前記複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて表示する、
設計支援装置。
【0094】
(付記8)
前記作成部は、
前記ネットワーク概要図において、前記複数のノードのうち、一の下位ノードが接続される孤立ノードについて、前記下位ノードを前記孤立ノードの直下に配置して表示する、付記7に記載の設計支援装置。
【0095】
(付記9)
前記作成部は、
前記ネットワーク概要図において、前記指定ノードを最上段の中央に配置して表示するとともに、前記孤立ノードおよび前記下位ノードを含むノード列を、前記指定ノードを配置した中央位置から離れた位置に配置して表示する、付記8に記載の設計支援装置。
【0096】
(付記10)
前記作成部は、
前記ネットワーク概要図において、前記接続関係を、前記複数のノードのそれぞれに対応するノードシンボルと、前記接続関係のある前記ノードシンボルどうしを結合する接続線とによって、前記指定ノードからの接続段数(ホップ数)を意識したツリー形式で表示する、付記7〜付記9のいずれか一項に記載の設計支援装置。
【0097】
(付記11)
前記作成部は、
前記ネットワーク概要図において、同一接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、付記10に記載の設計支援装置。
【0098】
(付記12)
前記作成部は、
前記ネットワーク概要図において、同一接続段数におけるノードを並べ替えても前記接続線の交差数が変わらない場合、次の接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、付記11に記載の設計支援装置。
【0099】
(付記13)
ネットワークを構成する複数のノードに係る回路図情報に基づき、前記複数のノードのうちの指定ノードの配下におけるノードの接続関係を示すネットワーク概要図を作成する設計支援方法であって、
前記ネットワーク概要図において、前記複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて表示する、設計支援方法。
【0100】
(付記14)
前記ネットワーク概要図において、前記複数のノードのうち、一の下位ノードが接続される孤立ノードについて、前記下位ノードを前記孤立ノードの直下に配置して表示する、付記13に記載の設計支援方法。
【0101】
(付記15)
前記ネットワーク概要図において、前記指定ノードを最上段の中央に配置して表示するとともに、前記孤立ノードおよび前記下位ノードを含むノード列を、前記指定ノードを配置した中央位置から離れた位置に配置して表示する、付記14に記載の設計支援方法。
【0102】
(付記16)
前記ネットワーク概要図において、前記接続関係を、前記複数のノードのそれぞれに対応するノードシンボルと、前記接続関係のある前記ノードシンボルどうしを結合する接続線とによって、前記指定ノードからの接続段数(ホップ数)を意識したツリー形式で表示する、付記13〜付記15のいずれか一項に記載の設計支援方法。
【0103】
(付記17)
前記ネットワーク概要図において、同一接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、付記16に記載の設計支援方法。
【0104】
(付記18)
前記ネットワーク概要図において、同一接続段数におけるノードを並べ替えても前記接続線の交差数が変わらない場合、次の接続段数におけるノードを、前記接続線の交差数が最小になるように配置して表示する、付記17に記載の設計支援方法。
【0105】
(付記19)
ネットワークを構成する複数のノードに係る回路図情報に基づき、前記複数のノードのうちの指定ノードの配下におけるノードの接続関係を示すネットワーク概要図を作成するコンピュータに、
前記ネットワーク概要図において、前記複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて表示する、
処理を実行させる、設計支援プログラムを記録したコンピュータ読取可能な記録媒体。
【0106】
(付記20)
ネットワークを構成する複数のノードに係る回路図情報を格納する格納部と、
前記格納部に格納された前記回路図情報に基づき、前記複数のノードのうちの指定ノードの配下におけるノードの接続関係を示すネットワーク概要図を作成するプロセッサと、を有し、
前記プロセッサは、
前記ネットワーク概要図において、前記複数のノードのうち、種別が同じで且つ接続先ノードが同じ2以上のノードを、一の代表ノードで表示する、または、重ねて表示する、
設計支援装置。