(57)【特許請求の範囲】
【請求項１】
コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置において，
コンピュータ画面を用いた入力より，実際の物理的な機器である実装置によって構成される実装置ネットワーク図を作成または編集する処理手段と，１つの前記実装置，または用途もしくは機能が同じ複数の前記実装置を仮想装置として表現し，各仮想装置に対して定義された仮想的なインタフェースポート間を，コンピュータ画面を用いて入力された情報をもとに実装置間を接続するラインとは異なる仮想ラインで接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集する処理手段とを有するネットワーク図作成処理部と，
前記ネットワーク図作成処理部によって作成または編集された実装置ネットワーク図の構成データと仮想装置ネットワーク図の構成データとそれらの各構成データの関係情報とを記憶するネットワーク構成データ記憶部と，
前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うネットワーク構成データ出力処理部とを備える
ことを特徴とするネットワーク設計処理装置。
【請求項２】
請求項１記載のネットワーク設計処理装置において，
前記ネットワーク図作成処理部は，コンピュータ画面を用いた入力に基づき，前記仮想装置を論理的に意味付ける属性情報を設定し，その属性情報を仮想装置の構成データに関連付けて前記ネットワーク構成データ記憶部に格納する処理手段を有し，
前記ネットワーク構成データ出力処理部は，出力する仮想装置ネットワーク図中に前記属性情報を表示する処理手段を有する
ことを特徴とするネットワーク設計処理装置。
【請求項３】
コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置において，
コンピュータ画面を用いた入力より，実際の物理的な機器である実装置によって構成される実装置ネットワーク図を作成または編集する処理手段と，１つの前記実装置，または用途もしくは機能が同じ複数の前記実装置を仮想装置として表現し，各仮想装置に対して定義された仮想的なインタフェースポート間を接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集する処理手段とを有するネットワーク図作成処理部と，
前記ネットワーク図作成処理部によって作成または編集された実装置ネットワーク図の構成データと仮想装置ネットワーク図の構成データとそれらの各構成データの関係情報とを記憶するネットワーク構成データ記憶部と，
前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うネットワーク構成データ出力処理部とを備え，
前記ネットワーク図作成処理部は，コンピュータ画面を用いた入力に基づき，前記実装置ネットワーク図における実装置間の通信による論理的な接続関係を示すセッションおよび前記仮想装置ネットワーク図における仮想装置間の通信による論理的な接続関係を示すセッションを設定し，各セッションごとにセッションの始点および終点に関する情報を含むセッションの属性情報を，前記ネットワーク構成データ記憶部に格納する処理手段を有し，
前記ネットワーク構成データ出力処理部は，前記セッションを示す情報を，出力する実装置ネットワーク図もしくは仮想装置ネットワーク図，またはそれらの双方の図に重畳させて表示する処理手段を有する
ことを特徴とするネットワーク設計処理装置。
【請求項４】
請求項３記載のネットワーク設計処理装置において，
前記ネットワーク図作成処理部は，前記仮想装置ネットワーク図に設定されたセッションの情報に基づき，その始点と終点の情報から実装置ネットワーク図における対応する始点と終点の位置を求め，仮想装置ネットワーク図におけるセッションを，対応する実装置ネットワーク図におけるセッションに展開し，その展開したセッションの情報を前記ネットワーク構成データ記憶部に格納する処理手段を有する
ことを特徴とするネットワーク設計処理装置。
【請求項５】
請求項１記載のネットワーク設計処理装置において，
前記ネットワーク図作成処理部は，コンピュータ画面を用いた入力に基づき，前記複数の仮想装置をグループ化して，新しい仮想装置として表し，その構成データを前記ネットワーク構成データ記憶部に格納する処理手段を有する
ことを特徴とするネットワーク設計処理装置。
【請求項６】
コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置が実行するネットワーク設計処理方法であって，
コンピュータ画面を用いた入力に基づき，装置シンボルを画面上のネットワーク図中に配置し，それらの装置シンボル間の入出力用のピンを接続することにより，実際の物理的な機器である実装置によって構成される実装置ネットワーク図を作成または編集し，その実装置ネットワーク図の構成データをネットワーク構成データ記憶部に格納するステップと，
前記実装置ネットワーク図における１つの前記実装置，または用途もしくは機能が同じ複数の前記実装置を選択する情報を入力し，選択された実装置のグループに仮想装置を表す仮想シンボルを割り当て，各仮想シンボルに仮想的なインタフェースポートとなる仮想ピンを定義する情報を入力し，前記仮想ピン間を接続する情報を入力し，前記実装置間を接続するラインとは異なる仮想ラインで前記仮想ピン間を接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集し，その仮想装置ネットワーク図の構成データを前記ネットワーク構成データ記憶部に格納するステップと，
前記装置シンボルにおけるピンと，前記仮想シンボルにおける仮想ピンとの対応関係を示す情報を入力し，その対応関係を示す情報を前記ネットワーク構成データ記憶部に格納するステップと，
前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うステップとを有する
ことを特徴とするネットワーク設計処理方法。
【請求項７】
コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置が実行するネットワーク設計処理方法であって，
コンピュータ画面を用いた入力に基づき，仮想的なネットワーク機器である仮想装置を表す仮想シンボルを画面上に配置し，各仮想シンボルに仮想的なインタフェースポートとなる仮想ピンを定義する情報を入力し，前記仮想ピン間を接続する情報を入力し，前記実装置間を接続するラインとは異なる仮想ラインで前記仮想ピン間を接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集し，その仮想装置ネットワーク図の構成データをネットワーク構成データ記憶部に格納するステップと，
コンピュータ画面を用いた入力に基づき，前記仮想シンボルに対応づけて，各仮想シンボルごとに実際の物理的な機器である１つの実装置を表す１個の装置シンボル，または用途もしくは機能が同じ実際の物理的な機器である複数の実装置を表す複数個の装置シンボルを配置し，それらの装置シンボルの入出力用のピンと前記仮想ピンとの対応情報を入力し，前記装置シンボル間の入出力用のピンを接続することにより，実装置によって構成される実装置ネットワーク図を作成または編集し，その実装置ネットワーク図の構成データおよびその構成データと前記仮想装置ネットワーク図の構成データとの関係情報を前記ネットワーク構成データ記憶部に格納するステップと，
前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うステップとを有する
ことを特徴とするネットワーク設計処理方法。
【請求項８】
コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置が行う処理をコンピュータに実行させるためのネットワーク設計処理用プログラムであって，
前記コンピュータを，
コンピュータ画面を用いた入力より，実際の物理的な機器である実装置によって構成される実装置ネットワーク図を作成または編集する処理手段と，１つの前記実装置，または用途もしくは機能が同じ複数の前記実装置を仮想装置として表現し，各仮想装置に対して定義された仮想的なインタフェースポート間を，コンピュータ画面を用いて入力された情報をもとに実装置間を接続するラインとは異なる仮想ラインで接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集する処理手段とを有するネットワーク図作成処理部と，
前記ネットワーク図作成処理部によって作成または編集された実装置ネットワーク図の構成データと仮想装置ネットワーク図の構成データとそれらの各構成データの関係情報とを記憶するネットワーク構成データ記憶部と，
前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うネットワーク構成データ出力処理部として
機能させるためのネットワーク設計処理用プログラム。
【請求項９】
コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置が行う処理をコンピュータに実行させるためのネットワーク設計処理用プログラムを記録したコンピュータ読み取り可能な記録媒体であって，
前記コンピュータを，
コンピュータ画面を用いた入力より，実際の物理的な機器である実装置によって構成される実装置ネットワーク図を作成または編集する処理手段と，１つの前記実装置，または用途もしくは機能が同じ複数の前記実装置を仮想装置として表現し，各仮想装置に対して定義された仮想的なインタフェースポート間を，コンピュータ画面を用いて入力された情報をもとに実装置間を接続するラインとは異なる仮想ラインで接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集する処理手段とを有するネットワーク図作成処理部と，
前記ネットワーク図作成処理部によって作成または編集された実装置ネットワーク図の構成データと仮想装置ネットワーク図の構成データとそれらの各構成データの関係情報とを記憶するネットワーク構成データ記憶部と，
前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うネットワーク構成データ出力処理部として
機能させるためのネットワーク設計処理用プログラムを記録したプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，インターネットビジネスなど近年益々複雑化／大規模化しているネットワークインフラストラクチャの初期設計，検証，試験，敷設，運用などの一連の作業を，効率化／高品質化するための技術に関するものであり，特に，ネットワークシステムの設計を支援するネットワーク設計処理装置，ネットワーク設計処理方法およびネットワーク設計処理用プログラムに関するものである。【０００２】
大規模なネットワークインフラストラクチャとしては，例えば，ＩＤＣセンターなどのサーバ，ストレージ群とそれらを繋ぐネットワーク構成などがある。
【背景技術】
【０００３】
近年，インターネットを利用したビジネスが多角化し，拡大するに従って，ネットワークインフラは，社会的なインフラストラクチャとして不可欠なものとなってきている。そのため，ネットワークインフラには，十分なセキュリティや，ノンストップ運用などの安定的な稼働が要求されている。これらの要求を満たすためのハードウェアやソフトウェアも，多種多様で複雑なものとなっている。また，Ｗｅｂサービスなどでは，顧客からの要求トラフィックが予想しにくいこともあって，運用を行いながらサーバ増強やネットワーク構成の変更などを実施していく必要があり，そのネットワークインフラは日々変化している。さらに，ビジネスチャンスを捉えるためには，短期間でインフラ設計／検証を行う必要がある。【０００４】
従来は，ネットワークインフラの設計を，一般の図面作成用ソフト，ワープロソフト，表編集ソフトなどを用いて人手で行い，その設計された図面をもとに，装置の手配や工事，運用が行われていた。しかし，最新の多用な装置構成を正しく理解し，過去の失敗事例を参照しながら最適な設計や保守を行うためには，熟練された技術が必要となる。このことが，効率化やコストダウンの課題となっている。【０００５】
なお，ネットワークの設計や運用に関する技術が記載された先行技術文献として，例えば特許文献１，特許文献２などがある。特許文献１には，仮想ネットワーク（ＶＬＡＮ）の設計／保守に関する技術であって，物理ネットワークと仮想ネットワークとの対応関係をわかり易く表示する技術が記載されている。また，特許文献２には，ネットワーク運用管理システムに関する技術であって，ユーザ等の論理オブジェクトおよび論理オブジェクト間の関係を管理し，それらの変更に応じてネットワークを構成する個々の装置の設定を変更する技術が記載されている。
【特許文献１】特開２００４−４０３７４号公報
【特許文献２】特開平９−２８２２５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のネットワークの設計支援技術には，次のような問題があった。例えば，装置間の図面，装置をグループ化した抽象的な図面，通信の流れ（セッション）を表す図面などを，必要に応じてそれぞれ別々に人手によって作成していた。そのため，図面間に食い違いが生じることがあるなど，それらの図面間の整合性の保持が難しく，また，それらの図面が持つ情報を総合的に利用することが困難であった。【０００７】
また，工事作業者向け，システムエンジニア（ＳＥ）向け，カスタマエンジニア（ＣＥ）向け，運用管理者向けなど，各工程ごとに似たような図面がそれぞれ別々に作成されており，その作成に手間がかかり，さらにその改版時に反映忘れなどによるミスが発生してしまうという問題があった。それらの図面間のチェックも，人手に頼っていた。また，図面が単にドキュメントに留まっており，ＣＡＤ設計などで一般的に行われている設計ルールチェックなど，機械的にチェックを行うための情報が個々の図面から得られないという問題があった。【０００８】
ネットワークのシステム設計を行う際には，物理的な装置構成に加え，ネットワークを利用するサービスセッションがどのように実現されるかを十分に考慮する必要がある。また，設計者に限らず，ネットワーク図を利用するＳＥ，ＣＥ，運用管理者等は，ネットワーク上に配置される物理的な各装置および装置群がどのような用途に利用されているか，ネットワーク上でどのような意義を有しているかなどを容易に把握できる必要がある。【０００９】
上述の特許文献１のように，ネットワークの設計に関し，物理ネットワークと仮想ネットワークとを関連付けて設計し，仮想ネットワークのノードに割当てたネットワークアドレスを，物理ネットワークの構成および仮想ネットワークの構成に重ねて表示する従来技術が存在するが，特許文献１に開示されている技術は，ＶＬＡＮ(Virtual LAN) ，ＶＰＮ(Virtual Private Network) といった具体的なネットワーク技術名称を持つネットワークを対象とした技術であり，ネットワーク上の各装置の用途に着目して装置をグループ化し，ネットワーク全体の機能的な構成をわかりやすく表示できるようにするための技術ではない。【００１０】
また，上記特許文献２に記載されている技術は，ネットワーク上の物理オブジェクトとユーザ等の論理オブジェクトとを関連付けて管理する技術であるが，具体的には，例えば論理オブジェクトであるユーザの組織における所属が変更になったような場合に，そのユーザが所有する物理オブジェクトである情報機器のアドレスの変更などを簡易に行うことができるようにした技術であり，これもネットワーク上の各装置の用途に着目して装置をグループ化し，ネットワーク全体の機能的な構成をわかりやすく表示できるようにしたり，設計を容易にしたりするための技術ではない。【００１１】
本発明は，上記問題点の解決を図り，ネットワーク上における同じ用途または機能を持つ物理的な装置をまとめて仮想装置として表現し，また，それらの仮想装置間の仮想的なインタフェースをネットワーク上で表すことにより，設計しようとしているネットワークまたは設計されたネットワークの全体的な構成および機能の把握を容易化すること，また，仮想装置のネットワークと実装置のネットワークとの関係情報を内部で管理することにより，その関係情報の有効利用を可能にすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明のネットワーク設計処理装置は，上記の課題を解決するため，ネットワーク図において，１つの実装置，または用途もしくは機能が同じ複数の実装置をグルーピングして仮想装置として表現し，その仮想装置に対して仮想的なインタフェースポートを設け，仮想的なインタフェース間を接続可能とする。この仮想装置によって構成されるネットワーク図を，実際の物理的な機器によって構成されるネットワークを示す実装置ネットワーク図に対して，仮想装置ネットワーク図として管理し，実装置ネットワーク図および仮想装置ネットワーク図の各構成データを関連付けてデータベースに記憶する。同じ用途の装置をまとめて表現することで，表示を簡素化することが可能になる。
【００１３】
また，仮想装置ネットワーク図における仮想装置に，用途属性（ホットスタンバイ／負荷分散等）を設定し，設定された用途属性の情報を出力する手段を設ける。これにより，実装置ネットワーク図と仮想装置ネットワーク図とを対比し，用途属性に応じて各装置の接続の仕方をチェックできるようにする。したがって，用途に応じた接続がなされているかどうかを容易に，かつ正確にチェックすることが可能になる。【００１４】
詳しくは，本発明は，コンピュータ画面を用いてネットワーク図を入力し，ネットワークシステムの設計を支援するネットワーク設計処理装置において，コンピュータ画面を用いた入力より，実際の物理的な機器である実装置によって構成される実装置ネットワーク図を作成または編集する処理手段と，１つの前記実装置，または用途もしくは機能が同じ複数の前記実装置を仮想装置として表現し，各仮想装置に対して定義された仮想的なインタフェースポート間を，コンピュータ画面を用いて入力された情報をもとに実装置間を接続するラインとは異なる仮想ラインで接続することにより，仮想装置によって構成される仮想装置ネットワーク図を作成または編集する処理手段とを有するネットワーク図作成処理部と，前記ネットワーク図作成処理部によって作成または編集された実装置ネットワーク図の構成データと仮想装置ネットワーク図の構成データとそれらの各構成データの関係情報とを記憶するネットワーク構成データ記憶部と，前記ネットワーク構成データ記憶部に記憶されたデータに基づき，実装置ネットワーク図の出力，仮想装置ネットワーク図の出力およびそれらを重ね合わせたネットワーク図の出力を，外部からの指定によって切り替えて行うネットワーク構成データ出力処理部とを備えることを特徴とする。
【００１５】
これによって，ネットワークの物理的な構造，装置をグループ化した仮想的な構造を表現することができる。すなわち，ネットワークシステムを構成するサーバ，ストレージ，ルータ，ファイヤウォール，負荷分散装置などの装置間の物理的なネットワーク接続を表現でき，かつそれらの装置を用途または機能に応じてグループ化して，論理的な意味を持つ仮想的な装置のネットワークを示す図として表現することもできる。設計の順序としては，実装置ネットワークの設計後に，実装置のグループ化によって仮想装置ネットワークを設計する方法，または仮想装置ネットワークを先に設計し，各仮想装置に実装置を割り当てることにより，実装置ネットワークを設計する方法のいずれも用いることができ，設計の自由度を向上させることが可能である。【００１６】
また，グループ化した装置群の仮想装置に仮想的なインタフェースポートを持たせ，その仮想的なインタフェースポート間を接続することにより，物理的な装置に依存しない仮想的なネットワーク接続関係を表現することができ，ネットワークの論理的な意味の把握を容易化することができる。【００１７】
また本発明は，上記のネットワーク設計処理装置において，ネットワーク図作成処理部は，コンピュータ画面を用いた入力に基づき，前記仮想装置を論理的に意味付ける属性情報を設定し，その属性情報を仮想装置の構成データに関連付けて前記ネットワーク構成データ記憶部に格納する処理手段を有し，ネットワーク構成データ出力処理部は，出力する仮想装置ネットワーク図中に前記属性情報を表示する処理手段を有することを特徴とする。【００１８】
仮想装置に設定する属性情報とは，例えば装置の二重化（Ｈｏｔ  ｓｔａｎｄｂｙ），冗長分散，クラスタリングなどの論理的な意味付けの情報であり，この属性情報を保存することにより，設計完了時点などにおいて，ネットワーク構成が二重化されているか，負荷分散が行えるかというような設計チェックを自動的に行うために必要な情報の出力が可能となり，設計の品質を向上させるためのデータを得ることができる。【００１９】
また本発明は，上記のネットワーク設計処理装置において，ネットワーク図作成処理部は，コンピュータ画面を用いた入力に基づき，前記実装置ネットワーク図における実装置間の通信による論理的な接続関係を示すセッションおよび前記仮想装置ネットワーク図における仮想装置間の通信による論理的な接続関係を示すセッションを設定し，各セッションごとにセッションの始点および終点に関する情報を含むセッションの属性情報を，前記ネットワーク構成データ記憶部に格納する処理手段を有し，ネットワーク構成データ出力処理部は，前記セッションを示す情報を，出力する実装置ネットワーク図もしくは仮想装置ネットワーク図，またはそれらの双方の図に重畳させて表示する処理手段を有することを特徴とする。【００２０】
これにより，実体を持たないセッションという論理的な概念を表現することができる。すなわち，ネットワークシステムによるサービスで提供される論理的な一連の仕事の単位や流れを示すセッションを，実装置ネットワーク図および仮想装置ネットワーク図の図面上で表すことができる。セッションは，属性情報として，そのセッションの始点と終点となる実装置または仮想装置のポート情報を保持することができるとともに，データ通信のプロトコルや論理的なポート番号などの情報を持つことができるため，ネットワーク内の装置の役割や各装置が提供するサービス内容の把握をさらに容易化することができるようになる。【００２１】
また，本発明は，上記のネットワーク設計処理装置において，ネットワーク図作成処理部は，前記仮想装置ネットワーク図に設定されたセッションの情報に基づき，その始点と終点の情報から実装置ネットワーク図における対応する始点と終点の位置を求め，仮想装置ネットワーク図におけるセッションを，対応する実装置ネットワーク図におけるセッションに展開し，その展開したセッションの情報を前記ネットワーク構成データ記憶部に格納する処理手段を有することを特徴とする。【００２２】
これにより，実装置ネットワーク図におけるセッションの定義を，仮想的に設定されたセッションから自動的に行うことができ，設計の簡易化が可能になるとともに，設計の誤りを少なくすることができる。【００２３】
また，本発明は，上記のネットワーク設計処理装置において，ネットワーク図作成処理部は，コンピュータ画面を用いた入力に基づき，前記複数の仮想装置をグループ化して，新しい仮想装置として表し，その構成データを前記ネットワーク構成データ記憶部に格納する処理手段を有することを特徴とする。【００２４】
これにより，実装置をグループ化したものをさらにグループ化して，グループの入れ子構造で構成データを管理することができるため，複雑なネットワーク構造を段階的に簡易化して提示することができるようになる。
【発明の効果】
【００２５】
本発明により，ネットワークの物理的な構造，および用途または機能が同じ実装置をグループ化した仮想的な構造を表現することができ，ネットワーク図を簡素化して，見た目にわかりやすく表示することができるようになる。また，実装置の用途または機能に着目した仮想装置のネットワークと実装置のネットワークとの関係情報を内部で管理することにより，その関係情報の出力を，設計チェックなどに有効に利用することができるようになる。【００２６】
したがって，大規模なネットワークインフラストラクチャ等の設計段階において，論理的な設計と物理的な設計の矛盾やミスを未然に防ぎ，設計品質（精度）を大幅に高めるとともに，一つの図面上での作業により，設計作業の効率化を実現することができる。さらに，実装置ネットワーク図，仮想装置ネットワーク図およびそれらの関係情報は，ネットワークシステムの運用時にも，またネットワークシステムの設計変更時にも活用することができ，ネットワークシステムの保守および改良に有効に利用することができる。
【図面の簡単な説明】
【００２７】
【図１】ネットワーク設計処理装置の構成例を示す図である。
【図２】ネットワーク図の作成を説明する図である。
【図３】実装置ネットワークと仮想装置ネットワークの概念を説明する図である。
【図４】実装置ネットワークと仮想装置ネットワークのネットワーク図編集画面の例を示す図である。
【図５】作成されたネットワーク図の例を示す図である。
【図６】ネットワーク構成データのデータ構造の例を示す図である。
【図７】仮想装置ネットワークから実装置ネットワークを設計する例を説明する図である。
【図８】図７のネットワーク図の束線表記を分解して示した図である。
【図９】図８のネットワーク図を表すデータ構造の例を示す図である。
【図１０】実装置ネットワークを先に作成する場合のネットワーク図の編集処理を説明する図である。
【図１１】仮想装置ネットワークを先に作成する場合のネットワーク図の編集処理を説明する図である。
【図１２】属性オブジェクトによる属性情報の保持構造の例を示す図である。
【図１３】設定ファイルのテンプレートの例を示す図である。
【図１４】グループの入れ子構造の例を示す図である。
【図１５】セッション表現の例を示す図である。
【図１６】セッションが表現されたネットワーク図の内部データ構造の例を示す図である。
【図１７】セッション情報の編集処理を説明する図である。
【図１８】セッションの展開処理フローチャートである。
【図１９】仮想装置ネットワークから実装置ネットワークにセッションを展開した例を示す図である。
【図２０】仮想装置ネットワークから実装置ネットワークにセッションを展開したときの内部データ構造の例を示す図である。
【図２１】ＨＵＢ同士がトランク接続されている場合のセッションの展開例を説明する図である。
【図２２】ＨＵＢ同士がトランク接続されている場合のネットワーク図の内部データ構造の例を示す図である。
【図２３】レイヤによる図面表現の概念を示す図である。
【図２４】レイヤによる図面表現の例を示す図である。
【図２５】レイヤによる図面表現の例を示す図である。
【図２６】レイヤによる図面表現の例を示す図である。
【図２７】レイヤによる図面表現の例を示す図である。
【図２８】レイヤによる図面表現の例を示す図である。
【図２９】レイヤの管理構造の例を示す図である。
【符号の説明】
【００２８】
１    ネットワーク設計処理装置
２    入出力装置
１０  ネットワーク図作成処理部
１１  実装置ネットワーク編集部
１２  仮想装置ネットワーク編集部
１３  セッション情報編集部
１４  関連付け処理部
１５  ネットワーク構成データ記憶部
１６  ネットワーク構成データ出力処理部
２０  ディスプレイ画面
２１  ネットワーク図編集ウインドウ
２２  機器ステンシルのウインドウ
２３  仮想装置ステンシルのウインドウ
２４  プロパティ設定用ウインドウ
３    実装置ネットワーク
４    仮想装置ネットワーク
【発明を実施するための最良の形態】
【００２９】
以下，本発明の実施の形態について，図を用いて説明する。【００３０】
〔ネットワーク設計処理装置の構成〕
図１は，本発明の実施の形態によるネットワーク設計処理装置の構成例を示す図である。ネットワーク設計処理装置１は，ＣＰＵおよびメモリ等からなるハードウェアと，ソフトウェアプログラムとから構成されるコンピュータ・システムであり，ハードウェアおよびソフトウェアプログラムによって実現されるネットワーク図作成処理部１０，ネットワーク構成データ記憶部１５，ネットワーク構成データ出力処理部１６を備える。また，ネットワーク図作成処理部１０は，実装置ネットワーク編集部１１，仮想装置ネットワーク編集部１２，セッション情報編集部１３，関連付け処理部１４を備える。【００３１】
入出力装置２は，表示装置やマウスまたはキーボード等からなり，ネットワーク設計処理装置１に接続される。【００３２】
ネットワーク図作成処理部１０は，例えばＣＡＤ(Computer Aided Design) などの図形処理ソフトウェアの処理機能を持ち，入出力装置２からの入出力によってネットワーク図を作成する処理を行う。実装置ネットワーク編集部１１は，実際の物理的な装置（実装置という）によって構成されるネットワーク図を作成，編集する処理部であり，従来技術と同様なネットワーク図の作成機能を持つ。仮想装置ネットワーク編集部１２は，実装置を用途または機能に応じてグループ化した仮想的な装置（仮想装置という）を構成要素とするネットワーク図を作成，編集する処理部である。【００３３】
セッション情報編集部１３は，実装置間または仮想装置間の通信による論理的な接続関係を示すセッション情報を編集する処理部である。関連付け処理部１４は，実装置ネットワーク編集部１１，仮想装置ネットワーク編集部１２およびセッション情報編集部１３によって定義されたネットワーク構成データを，それらの関係がわかるように関連付けてネットワーク構成データ記憶部１５に格納する処理部である。ここで，ネットワーク構成データを関連付けて格納するとは，例えば関係のあるネットワーク要素の構成データをリンクして格納することを意味する。【００３４】
ネットワーク構成データ記憶部１５は，ネットワーク図作成処理部１０によって作成された，実装置，仮想装置，セッション情報およびそれらの属性情報等のネットワークの構成に関するデータを記憶する。【００３５】
ネットワーク構成データ出力処理部１６は，ネットワーク構成データ記憶部１５に記憶されたデータに基づき，実装置ネットワーク図，仮想装置ネットワーク図およびそれらを重ね合わせたネットワーク図，さらにそれらにセッション情報を記入したものなど，ネットワークの構成を示す各種の情報を入出力装置２に出力する処理を行う。【００３６】
〔ネットワーク図の作成〕
図２は，ネットワーク図の作成を説明する図である。ネットワーク設計者は，ネットワーク図を作成する場合，入出力装置２を用いてネットワーク図作成処理部１０のＧＵＩ（Graphical User Interface）を利用することにより，図２に示すようなディスプレイ画面２０のネットワーク図編集ウインドウ２１上にネットワーク図を作成する。ネットワーク図を作成するためのポインティングデバイスとして，左ボタンおよび右ボタンを有するマウスを用いる場合の例を説明する。他のポインティングデバイスを用いても同様に処理できる。【００３７】
機器ステンシルのウインドウ２２には，あらかじめ用意された部品ライブラリのデータに基づき，実装置のネットワークに用いられる各機器の部品が並べられている。同様に仮想装置ステンシルのウインドウ２３には，仮想装置ネットワークの作成に用いられる部品が並べられている。設計者は，機器ステンシルのウインドウ２２または仮想装置ステンシルのウインドウ２３からネットワーク図に配置する機器の部品をマウスの左ボタンで選択し，そのままドラッグ＆ドロップすることにより選択した機器の部品をネットワーク図に配置していく。このようなＣＡＤの応用によるネットワーク図の作成方法は，従来から用いられている方法である。【００３８】
機器ステンシルに対する操作に対して，実装置ネットワーク編集部１１が動作し，仮想装置ステンシルの操作に対して，仮想装置ネットワーク編集部１２が動作する。また，セッション情報の入力も，セッション設定用のステンシルまたはメニュー等によって行うことができるようになっており，セッション情報の入力に対しては，セッション情報編集部１３が動作する。【００３９】
ネットワーク図上に配置された実装置，仮想装置，セッション等に対しては，必要に応じて各種の属性情報を設定できるようになっている。図２の例では，ネットワーク図上にドラッグ＆ドロップによって配置された実装置の図形を，マウスの右ボタンでクリックしてプロパティ設定用ウインドウ２４を開き，そのプロパティ設定用ウインドウ２４上で，その実装置（Router）に対する名称やアドレス等の属性を設定している。【００４０】
ネットワーク図上に配置される各機器等の属性情報は，予め機器ステンシルまたは仮想装置ステンシル等の部品ごとに定義しておくことができ，これを部品属性情報として，ネットワーク図作成処理部１０が管理する属性ファイル（図示省略）に保持しておくことができる。プロパティ設定用ウインドウ２４では，その属性ファイルに事前に定義されていた属性の項目については，属性ファイルから読み出した属性情報がデフォルト値として埋め込まれる。したがって，設計者は，プロパティ設定用ウインドウ２４から個々の機器等に特有の属性情報だけを入力すればよく，例えばサーバのホスト名やアドレス情報など，必要最小限の属性情報を入力するだけでよい。【００４１】
〔実装置ネットワークと仮想装置ネットワーク〕
図３は，実装置ネットワークと仮想装置ネットワークの概念を説明する図である。実装置ネットワーク３は，実際に存在する物理的な装置を構成要素とするネットワークである。従来，ＣＡＤシステム等を用いて作成されていたネットワーク図が，この実装置ネットワーク３に相当する。ここでは，インターネット３０１も実装置と見立てている。他に，ファイアウォール３０２，３０３，負荷分散装置３０４，３０５，サーバ装置３０６〜３０８，ハブなどのスイッチ装置３０９〜３１２などの実装置があり，これらがラインで接続されネットワークが構成されている。【００４２】
ネットワーク設計において，実際のネットワーク機器を手配し，現場で接続を行うためには，図３に示すような実装置ネットワーク３のネットワーク図が不可欠となる。しかし，このような実際の装置を配置したネットワーク図は，規模が大きくなればなるほど装置数が多くなり，装置間の関係が複雑化して見通しの悪いものとなる。特に，ネットワークを利用するサービスセッションがどのように実現されるのか，実装置ネットワーク３のネットワーク図を見ても把握することがきわめて困難である。【００４３】
本発明では，実装置ネットワーク３に対し，実装置のグループ化，仮想インタフェースポート，仮想接続という概念を導入し，図３に示すような仮想装置ネットワーク４を，ネットワーク図上で定義できるようにする。ネットワークシステムの冗長構成を設計する場合や，サービスを提供するためのセッションがどの経路を通るかなどの設計を行う場合には，仮想装置ネットワーク４のような論理的なネットワーク図の方が分かり易い。【００４４】
グループ化は，複数の実装置をまとめて１台の仮想的な装置（仮想装置という）として扱うことを意味する。なお，例外的に１台の実装置を１台の仮想装置として定義することもできる。図３の例では，実装置ネットワーク３における２台のファイアウォール３０２，３０３が二重化構成のファイアウォールであるため，仮想装置ネットワーク４において，それらが一つの仮想装置４０２として表されている。【００４５】
同様に，外部からの処理の依頼をサーバ装置３０６〜３０８に振り分けるための負荷分散装置３０４，３０５も，二重化構成となっており，用途が同じであるので，仮想装置ネットワーク４においてはそれらがグループ化され，仮想装置４０４として表されている。サーバ装置３０６〜３０８は，外部からの処理依頼に対して同じサービスを実行する装置であり，これも仮想装置ネットワーク４においては仮想装置４０６として表されている。また，全体的なネットワーク構成を明瞭にするため，実装置ネットワーク３におけるインターネット３０１も，仮想装置ネットワーク４では一つの仮想装置４０１として表されている。【００４６】
これらの仮想装置４０１，４０２，４０４，４０６に対して，仮想装置間の入出力のための接続口となる仮想インタフェースポート４１０〜４１５が設けられ，これらの仮想インタフェースポート４１０〜４１５がラインで結ばれることにより，仮想装置ネットワーク４において仮想接続４０７〜４０９として示されるように，仮想的な接続関係が表現される。なお，この仮想接続４０７〜４０９を示すラインを仮想ネットと呼ぶ。例えばスイッチ装置３０９，３１０は，仮想接続４０８に内包される。【００４７】
一般的な既存の図面編集ツールや回路図面編集ツールにも，図形のグループ化処理はある。しかし，それは，単にまとめて移動や複写を行うためにグループ化しているだけである。本実施の形態では，グループ化した要素（仮想装置）に対して仮想的なインタフェースポートを設けることにより，外部との通信を表現することができ，また，グループに属性を設定することにより，グループに対する意味付けを行うことができるという特徴がある。【００４８】
ネットワーク設計処理装置１におけるネットワーク図作成処理部１０は，図３に示すような実装置ネットワーク３と仮想装置ネットワーク４とを，同一のディスプレイ画面上で関連付けながら作成および編集する機能を持つ。【００４９】
図４は，実装置ネットワークと仮想装置ネットワークのネットワーク図編集画面の例を示す。図４に示す符号は，図３に示す符号に対応している。２４は仮想装置４０６のプロパティ設定用ウインドウである。本発明では，最初に実装置ネットワークを画面上で作成し，実装置ネットワークにおける実装置で用途または機能が同じものをまとめることにより，仮想装置ネットワークを作成する方法を用いることを基本とするが，最初に仮想装置ネットワークを作成し，それに実装置を割り当てていくことにより，実装置ネットワークを完成させるような方法を用いることもできる。実装置ネットワークと仮想装置ネットワークの作成を並列に行うこともできる。【００５０】
ネットワーク図編集のウインドウ２１において，実装置ネットワークと仮想装置ネットワークとを両方重ねて表示するだけでなく，図示省略したメニューより，レイヤを選択し，実装置ネットワークだけを選択的に表示することも，また仮想装置ネットワークだけを選択的に表示することも可能である。また，ネットワーク図の一部分だけを拡大表示し，その中で例えば選択された特定の仮想装置の部分だけ実装置を表示するというような各種の選択的表示も，次に説明するネットワーク構成データ記憶部１５に記憶されるデータのデータ構造から，容易に行うことができる。【００５１】
〔ネットワーク構成データのデータ構造〕
図５および図６を用いて，ネットワーク構成データ記憶部１５に格納されるネットワーク構成データのデータ構造について説明する。【００５２】
図５は，ネットワーク図作成処理部１０によって作成されたネットワーク図の例を示す。ネットワーク図においては，装置がシンボルで表現される。シンボルは，図面上の装置を表す図形形状である。図５のネットワーク図では，シンボルＳＹＭ１，ＳＹＭ２で表される実装置３２１，３２２がグループ化されて，仮想装置４２０として定義されている。仮想装置４２０を表すシンボルを，この例では仮想シンボルＶＳＹＭ１としている。また，シンボルＳＹＭ３の実装置３２３が一つの仮想装置４２１として定義され，仮想シンボルＶＳＹＭ２として表されている。【００５３】
実装置３２１には入出力用のピンＰ１１，Ｐ１２があり，実装置３２２には，ピンＰ２１，Ｐ２２があり，実装置３２３には，ピンＰ３１〜Ｐ３３がある。ピンＰ１２とＰ３１はライン群であるネットＮＥＴ１によって接続され，ピンＰ２２とＰ３２は，ネットＮＥＴ２によって接続されている。【００５４】
仮想装置４２０に対して，他のネットワーク要素との通信関係を表すために，仮想インタフェースポートＶＰ１１，ＶＰ１２が設けられ，仮想装置４２１には，仮想インタフェースポートＶＰ２１，ＶＰ２２が設けられている。仮想インタフェースポートＶＰ１２と仮想インタフェースポートＶＰ２１とは，仮想ネットＶＮＥＴで接続されている。【００５５】
図５に示すような実装置ネットワークおよび仮想装置ネットワークを示すデータは，図６に示すようなデータ構造で，ネットワーク構成データ記憶部１５に記憶される。本実施の形態では，実装置ネットワークおよび仮想装置ネットワークにおけるネットワークの構成要素をオブジェクトと呼び，これらのオブジェクトのデータをポインタによってリンクすることにより管理する。【００５６】
図６において，３０００は実装置ネットワークの先頭オブジェクトをポイントする実装置層ポインタであり，４０００は仮想装置ネットワークの先頭オブジェクトをポイントする仮想装置層ポインタである。３０１０，３０２０，３０３０はそれぞれ図５に示す実装置３２１，３２２，３２３に対応するシンボルオブジェクトである。各シンボルオブジェクト３０１０，３０２０，３０３０には，ピンオブジェクト３０１１〜３０３３がリンクされている。ラインに接続されるピンオブジェクト３０１２，３０２２，３０３１，３０３２には，ネットオブジェクト３０４０，３０５０がリンクされ，これらのネットオブジェクトには，各ネットを構成するラインオブジェクト３０４１〜３０５３がリンクされている。【００５７】
一方，仮想装置層ポインタ４０００には，図５に示す仮想装置４２０，４２１に対応する仮想シンボルオブジェクト４０１０，４０２０が連鎖的にリンクされ，これらのオブジェクトには，それぞれ仮想インタフェースポートを表す仮想ピンオブジェクト４０１１〜４０２２がリンクされている。また，各仮想シンボルオブジェクト４０１０，４０２０に対して，それがどのような用途に用いられるかというような仮想装置の用途や種別や意味等の属性情報４０１３，４０２３がリンクされ，さらに，仮想装置がどの実装置によって構成されるかを示す実装置へのリンク情報４０１４，４０２４がリンクされている。【００５８】
また，実装置のネットオブジェクトと同様に，仮想インタフェースポートの接続に対応する仮想ネットオブジェクト４０３０が，仮想ピンオブジェクト４０１２，４０２１からリンクされ，仮想ネットオブジェクト４０３０から仮想ラインオブジェクト４０３１および実装置へのリンク情報４０３２がリンクされている。なお，図６では図示を省略しているが，実装置のシンボルオブジェクトにも属性情報を持たせることができる。【００５９】
以上のようなデータ構造において，オブジェクトは図形形状の情報を保持するが，図６から明らかなように，仮想装置の仮想シンボルも実体の装置シンボルと同様の構造で表現することが可能となり，実装置ネットワーク，仮想装置ネットワークという異なるレベルのネットワーク図の表記を一つのデータ構造で保持することが可能となる。このようなデータ構造によって，図５に示すような実装置ネットワークと仮想装置ネットワークのデータが管理される。【００６０】
以上のように，本実施の形態では，
１）実装置ネットワークと呼ぶ物理的なネットワーク図に記述した実装置をグループ化して仮想的な装置を生成するとともに，
２）グループに対して仮想的なインタフェースポートを付与し，
３）その仮想的なインタフェースポート間を接続することで，
仮想装置ネットワークと呼ぶ論理的なネットワーク図を表現する。【００６１】
さらに，グループに対して，
４）そのグループの意味や属性などを設定することを可能とする。設定されたグループの意味や属性などは，仮想装置ごとに一覧情報として出力することにより，ネットワーク設計後に行う設計ルールチェックなどに利用可能である。例えば，必要な装置が二重化されていて障害発生時にもダウンしない構成になっているかなどのチェックに利用することができる。また，グループをさらにグループ化することもできる。【００６２】
〔仮想装置ネットワークから実装置ネットワークの設計〕
前述した例では，実装置ネットワークにおける実装置をグループ化して仮想装置を定義し，仮想装置ネットワークを作成したが，先に仮想装置ネットワークを作成し，仮想装置ネットワーク上の仮想装置に実際の物理的な装置を割り当てて配置することにより，実装置ネットワークを設計することも可能である。次に，その例を説明する。【００６３】
まず，ネットワークに必要な機能から，図７の上側に示すような仮想装置ネットワーク４を設計する。仮想装置４３０は，仮想シンボルａｐｐＧで表されるアプリケーションサーバ装置のグループであり，仮想装置４３１は，仮想シンボルｄｂＧで表されるデータベースサーバ装置のグループである。仮想装置４３０と仮想装置４３１とは，仮想インタフェースポートＶＬ１，ＶＬ２を介して，仮想ネットＶＮＴ１，ＶＮＴ２で接続される。仮想装置４３１に対して，プロパティ設定用ウインドウ２４によって「現用／待機」の属性情報が定義されている。すなわち，データベースサーバ装置として，実際の運用に利用する現用系サーバ装置と，障害時に現用系と切り替えるための待機系サーバ装置の少なくとも２台のサーバ装置が用意されることが定義されている。【００６４】
なお，例えば仮想ネットＶＮＴ１（ＶＮＴ２も同様）の仮想装置４３０側の仮想インタフェースポートと，仮想装置４３１側の仮想インタフェースポートとを同じＶＬ１で表記しているが，これらは異なるポートである。説明の都合上，区別する必要がある場合には，仮想装置４３０側の仮想インタフェースポートを“ａｐｐＧ．ＶＬ１”と表し，仮想装置４３１側の仮想インタフェースポートを“ｄｂＧ．ＶＬ１”と表す。【００６５】
ここで，実際の物理的な実装置ネットワークを設計するため，実装置ネットワーク編集部１１によって，各仮想装置４３０，４３１に実装置を割り当てる。ここでは，図７の下側の図に示すように，仮想装置４３０に対して，装置シンボルがａｐｐ１，ａｐｐ２で表される２台のアプリケーションサーバ装置の実装置３３１，３３２を配置し，仮想装置４３１に対して，仮想シンボルがＤＢ１，ＤＢ２で表される２台のデータベースサーバ装置の実装置３３３，３３４を配置する設計を行っている。また，仮想ネットＶＮＴ１，ＶＮＴ２として，それぞれハブ装置（ＨＵＢ１）の実装置３３５と，ハブ装置（ＨＵＢ２）の実装置３３６を有するネットが用いられている。【００６６】
実装置のインタフェースポートとしては，ハブ装置（ＨＵＢ１，ＨＵＢ２）のポートＰ１−Ｐ４，各実装置３３１〜３３４のピンＬ１，Ｌ２が定義されている。図７のネットワーク図では，束線表記によって接続関係が簡略化して表されているが，実際の接続は，図８に示すようになっている。したがって，図７の下側に示されるネットワーク図を，ネットワーク構成データ記憶部１５の記憶装置に保存する場合には，図９に示すようなデータ構造によって保存することになる。【００６７】
図９において，実装置ネットワーク関係のオブジェクトおよびリンクを実線，仮想装置ネットワーク関係のオブジェクトおよびリンクを点線で表しているが，オブジェクト間の関係は図６のデータ構造で説明したものと同様である。属性情報はｐｒｏｐ，実装置へのリンク情報をＬＮＫで表されている。【００６８】
仮想ピンオブジェクト（各ＶＬ１，ＶＬ２）は，グループに設定された仮想的なインタフェースポートのオブジェクトである。図９の例では，仮想ピンオブジェクトは，実体のピンオブジェクトへのリンク情報（破線矢印）を保持している。仮想的なインタフェースポートと実装置のインタフェースポートとのリンクは，例えば，後述するセッションの概念をグループから実装置にマッピングする場合や，仮想装置と実装置との対応関係から実装置の設計ルールチェックを行う場合などに利用される。【００６９】
仮想ピンと実装置のピン間のリンクは，１対１の対応に限られず，一つの仮想ピンが複数の実装置のピンに対応する１対ｎの対応と，複数の仮想ピンが一つの実装置のピンに対応するｎ対１の対応のいずれも可能である。例えば，図９の例では，ａｐｐＧ→ＶＬ１→ＬＮＫが，ａｐｐ１→Ｌ１とａｐｐ２→Ｌ１の２箇所にリンクしている。また，本実施の形態では，リンクの方向を一方向としているが，双方向のリンク構造にしてもよい。リンクの方向を双方向とした場合，仮想装置から実装置を参照する処理および実装置から仮想装置を参照する処理を容易に実現することができる。【００７０】
ネットワーク接続の一部となるネットワークスイッチのような配線の一部を担う装置の実体に対しては，仮想ネットオブジェクトからその装置シンボルオブジェクトへのリンク情報を持つことで，仮想装置ネットワークと実装置ネットワークとの対応関係を表現することができる。図９の例では，仮想ネットオブジェクト（ＶＮＴ１，ＶＮＴ２）からＨＵＢ装置の装置シンボルオブジェクト（ＨＵＢ１，ＨＵＢ２）へのリンクによって，これらの対応関係が示されている。【００７１】
〔ネットワーク図の編集〕
前述のように，実装置ネットワークと仮想装置ネットワークの設計順序は，どちらが先であってもよい。以下，実装置ネットワークを先に設計する場合と，仮想装置ネットワーク図を先に設計する場合の２通りについて，ネットワーク構造の編集操作および処理の例を説明する。【００７２】
図１０は，実装置ネットワークを先に作成する場合のネットワーク図の編集処理を説明する図である。ここでは，先に実装置ネットワークを設計し，その後に仮想装置ネットワークを設計した場合のネットワーク図編集の例を示している。【００７３】
図２に示されるようなネットワーク図編集のウインドウ２１において，機器ステンシルから装置シンボルが選択され図面上に配置されると（ＯＰ１），実装置ネットワーク編集部１１は，ネットワーク構成データ記憶部１５に記憶するための装置シンボルオブジェクトとピンオブジェクトとを作成する（Ｓ１）。なお，実装置のシンボルは，予めライブラリ情報として用意されており，実装置に対応した図形形状，インタフェースポート（ピン）の情報がデータベースとして保持されている。以上の操作ＯＰ１および処理ステップＳ１は，必要な装置数分繰り返される。【００７４】
次に，装置シンボルのピン間を接続する操作により，ネットワーク図に配置された装置シンボルのピン間がラインで結ばれ，その接続関係（ネット）が明らかにされると（ＯＰ２），実装置ネットワーク編集部１１は，ネットオブジェクトと図形形状を表すラインオブジェクトを作成する。また，関連付け処理部１４は，ピンオブジェクトとネットオブジェクト間にリンクを張る（Ｓ２）。この操作ＯＰ２および処理ステップＳ２は，必要なネット数分繰り返される。【００７５】
続いて，仮想装置ネットワークの編集に移る。ネットワーク図上でグループ化対象の装置シンボルが選択され，ネットワーク図に仮想シンボルの形状が描かれると（ＯＰ３），仮想装置ネットワーク編集部１２は，仮想シンボルオブジェクトを作成する。関連付け処理部１４は，仮想シンボルオブジェクトと装置シンボルオブジェクト間にリンクを張る（Ｓ３）。【００７６】
次に，ネットワーク図上の仮想シンボルに対して仮想ピンが定義されると（ＯＰ４），仮想装置ネットワーク編集部１２は，仮想ピンオブジェクトを作成する（Ｓ４）。なお，仮想ピンの定義は，明示的に指示してもよいし，仮想シンボルから仮想ネットを引き出すことによって自動的に行われるようにすることも可能である。【００７７】
次に，仮想ピンと実装置のピンとの対応関係を定義する操作に対し（ＯＰ５），関連付け処理部１４は，仮想ピンオブジェクトとピンオブジェクト間にリンクを張る（Ｓ５）。この操作ＯＰ５および処理ステップＳ５は，当該仮想シンボルの仮想ピン数分繰り返される。なお，装置シンボルの種別やピンの種別，装置シンボル間の接続関係などから，ヒューリステイックな手法により，仮想ピンと実装置のピンとの対応付けを自動的に行うこともできる。このとき，自動対応付けの結果を画面上に表示し，未対応の箇所だけ人手によって仮想ピンと実装置のピンとの対応付けを行うようにすることもできる。以上の操作ＯＰ３〜ＯＰ５と処理ステップＳ３〜Ｓ５は，必要な仮想シンボル数分繰り返される。【００７８】
仮想シンボルのピン間を接続する操作により，仮想シンボルの仮想ピン間がラインで結ばれ，その仮想的な接続関係（仮想ネット）が明らかにされると（ＯＰ６），仮想装置ネットワーク編集部１２は，仮想ネットオブジェクトと，図形形状を表す仮想ラインオブジェクトを作成する。関連付け処理部１４は，仮想ピンオブジェクトと仮想ネットオブジェクト間にリンクを張る。また，仮想ピンと実装置のピンとの対応関係から仮想ネットと実装置のネットとの対応関係も明らかとなるので，仮想ネットオブジェクトと実装置のネットオブジェクト間のリンク付けを行う（Ｓ６）。この操作ＯＰ６および処理ステップＳ６は，必要な仮想ネット数分繰り返される。【００７９】
図１１は，仮想装置ネットワークを先に作成する場合のネットワーク図の編集処理を説明する図である。ここでは，先に実装置ネットワークを設計し，その後に仮想装置ネットワークを設計した場合のネットワーク図編集の例を示している。【００８０】
ネットワーク図に仮想シンボルの形状を描く操作が行われると（ＯＰ１１），仮想装置ネットワーク編集部１２は，仮想シンボルオブジェクトを作成する（Ｓ１１）。このネットワーク図上の仮想シンボルに対して仮想ピンが定義されると（ＯＰ１２），仮想装置ネットワーク編集部１２は，仮想ピンオブジェクトを作成する（Ｓ１２）。この操作ＯＰ１２および処理ステップＳ１２は，必要な仮想ピン数分繰り返される。なお，仮想ピンの定義は，明示的に指示してもよいし，仮想シンボルから仮想ネットを引き出すことによって自動的に行われるようにすることも可能である。【００８１】
以上の操作ＯＰ１１，ＯＰ１２および処理ステップＳ１１，Ｓ１２は，必要な仮想シンボル数分繰り返される。【００８２】
仮想シンボルのピン間を接続する操作により，仮想シンボルの仮想ピン間がラインで結ばれ，その仮想的な接続関係（仮想ネット）が明らかにされると（ＯＰ１３），仮想装置ネットワーク編集部１２は，仮想ネットオブジェクトと仮想ラインオブジェクトを作成する。関連付け処理部１４は，仮想ピンオブジェクトと仮想ネットオブジェクト間にリンクを張る（Ｓ１３）。この操作ＯＰ１３および処理ステップＳ１３は，必要な仮想ネット数分繰り返される。【００８３】
次に，装置シンボルがネットワーク図に配置され，装置シンボルと仮想シンボルの対応付けが行われると（ＯＰ１４），実装置ネットワーク編集部１１は，装置シンボルオブジェクトとピンオブジェクトを作成し，関連付け処理部１４は，仮想シンボルオブジェクトと装置シンボルオブジェクト間にリンクを張る（Ｓ１４）。なお，装置シンボルは，予めライブラリ情報として用意されており，実装置に対応した図形形状，インタフェースポート（ピン）がライブラリのデータベースに備えられている。また，装置シンボルを仮想シンボル内に配置することで，明示的な対応付けの操作を省略することができる。ネットワーク図上では，装置シンボルの拡大縮小が可能であるので，装置シンボルを縮小して仮想シンボル内に収めることもできる。仮想シンボルと装置シンボルとを離してネットワーク図上に配置することも可能であるが，このときには，明示的な対応付けの操作が必要となる。【００８４】
続いて行われる操作によって仮想ピンと実装置のピンとの対応関係が定義されると（ＯＰ１５），関連付け処理部１４は，仮想ピンオブジェクトとピンオブジェクト間にリンクを張る（Ｓ１５）。この操作ＯＰ１５および処理ステップＳ１５は，当該仮想シンボルの仮想ピン数分繰り返される。なお，装置シンボルの種別やピンの種別，装置シンボル間の接続関係などから，ヒューリステイックな手法により，仮想ピンと実装置のピンとの対応付けを自動的に行うこともできる。このとき，自動対応付けの結果を画面上に表示し，未対応の箇所だけ人手によって仮想ピンと実装置のピンとの対応付けを行うようにすることもできる。【００８５】
以上の操作ＯＰ１４，ＯＰ１５および処理ステップＳ１４，Ｓ１５は，必要な装置シンボル数分繰り返される。【００８６】
装置シンボルのピン間を接続する操作により，装置シンボルのピン間がラインで結ばれ，物理的な接続関係（ネット）が明らかにされると（ＯＰ１６），実装置ネットワーク編集部１１は，ネットオブジェクトと，図形形状を表すラインオブジェクトを作成する。関連付け処理部１４は，ピンオブジェクトとネットオブジェクト間にリンクを張る。また，仮想ピンと実装置のピンとの対応関係から仮想ネットと実装置のネットとの対応関係も明らかとなるので，仮想ネットオブジェクトとネットオブジェクト間のリンクを張る（Ｓ１６）。この操作ＯＰ１６および処理ステップＳ１６は，必要なネット数分繰り返される。【００８７】
〔グループの意味付け〕
実際のネットワークにおいて，例えば複数の装置をグループ化するといった場合でも，その意味は，二重化(Hot standby) ，冗長分散，クラスタリングなど，様々なものが考えられる。本発明では，実装置をグループ化した仮想装置の意味付けとして，このような用途・機能に関する情報を属性情報として保持する。このグループに設定された属性情報に基づいて，装置のコンフィグレーション情報などを自動生成することが可能となる。【００８８】
図９に示したデータ構造において，仮想シンボルオブジェクトの属性情報が，属性情報オブジェクト（ｐｒｏｐ）として保持されている。図９の例では，仮想シンボルオブジェクトだけが属性情報オブジェクトを保持しているが，仮想ネットオブジェクト，装置シンボルオブジェクト，ネットオブジェクトなど，他のオブジェクトも属性情報オブジェクトを保持することができる。【００８９】
図１２は，属性オブジェクトによる属性情報の保持構造の例を示す。属性情報オブジェクトは，仮想シンボルオブジェクト，仮想ネットオブジェクトなどの親のオブジェクトによらず同様の構造を持つ。この属性情報の保持構造により，仮想的にまとめたグループの意味付けを，プロパティ情報として持つことができる。【００９０】
次に，属性情報からのコンフィグレーション情報を生成する例について，Redhat（登録商標） Linuxでの現用／待機系（仮想アドレス使用）の設定例をもとに説明する。ここでは，関連する各オブジェクトが，以下のようなプロパティを保持しているものと仮定する。【００９１】
DBn.Lx.name   ：ＤＢｎのＬｘに付けられたインタフェース名プロパティ
DBn.Lx.net.*  ：ＤＢｎのＬｘに付けられたネット関連プロパティ
dbG.VLy.number：ＤＢグループ（ｄｂＧ）の仮想インタフェースｙに付けられた番号
dbG.VLy.net.* ：ＤＢグループの仮想インタフェースｙに関連付けられた仮想ネット関連プロパティ
図１３は，設定ファイルのテンプレートの例を示す。図１３において，５０１は現用系（ＤＢ１）の実アドレス設定ファイルのテンプレート，５０２は現用系（ＤＢ１）の仮想アドレス設定ファイルのテンプレート，５０３は待機系（ＤＢ２）の実アドレス設定ファイルのテンプレート，５０４は待機系（ＤＢ２）の仮想アドレス設定ファイルのテンプレートである。【００９２】
図１３に示すような設定ファイルのテンプレートを用意しておき，そのテンプレート中の，＜＞内を，属性情報オブジェクト中のプロパティ値で置き換えることによりコンフィグレーションファイルを生成することができる。なお，図１３中の ( )内は，具体的な値を例示したものである。【００９３】
また，図１３の設定ファイルの例は，Ｌ１（ＶＬ１）側の情報である。この例では，冗長化プロパティに“仮想アドレス使用”属性が含まれているので，ＶＬ１からＬＮＫを通して関連付けられているＬ１の実インタフェースは独自の設定を持ち，その上で，ＶＬ１からの仮想設定を追加する形式となることが分かるので，その状況を加味して設定が展開される。省略したＬ２側も考え方はまったく同じであり，単にＬ１（ＶＬ１）がＬ２（ＶＬ２）に変わるだけである。【００９４】
この設定例の特徴は，次の通りである。
１）実アドレス設定は，現用系／待機系で異なり（10.77.153.70，10.77.153.71），両者ともブート時から有効（ONBOOT=yes）となる。
２）仮想アドレス設定は，現用系／待機系で共用（10.77.153.72）するが，現用系はブート時から有効（ONBOOT=yes）となり，待機系はブート時は無効（ONBOOT=no ）となる。【００９５】
〔グループの入れ子構造〕
図１４は，グループの入れ子構造の例を示す図である。図１４において，３５０〜３５７は実装置である。４５１〜４５６は仮想装置であり，それぞれＧＲＯＵＰ１〜２，ｇｒｏｕｐ３〜６の名称が付けられている。【００９６】
本実施の形態では，仮想装置としてグループ化されたものをさらにグループ化することも可能である。図１４の例では，ＧＲＯＵＰ１は，グループ内にｇｒｏｕｐ４，ｇｒｏｕｐ５を持つ入れ子構造となっている。また，ＧＲＯＵＰ２は，グループ内にｇｒｏｕｐ４，ｇｒｏｕｐ６を持つ入れ子構造となっている。【００９７】
図１４において，Server www1-1 ，www1-2の実装置３５４，３５５からなるｇｒｏｕｐ５，Server www2-1 ，www2-2の実装置３５６，３５７からなるｇｒｏｕｐ６は，グループ名のみで，属性情報中に二重化構成の説明がない。この場合には，グループを構成するサーバである実装置３５４，３５５および実装置３５６，３５７は，自分がグループ化されていることを知らない。“グループの上位グループ”に含まれるLoad Balancer に自分の配下のサーバグループｇｒｏｕｐ５，ｇｒｏｕｐ６を教える役割を担うのみである。【００９８】
図１４において，２台のFirewallからなるｇｒｏｕｐ３，２台のLoad Balancer からなるｇｒｏｕｐ４は，現用／待機の最下層グループである。これらの現用／待機の属性が与えられたグループでは，グループ構成サーバ同士で生死確認を行うなどの動作で，現用／待機の切り替えが行われる。手動で切り換える（cold standby等）ことも可能である。これは，例えば属性情報の詳細内容を示すサブ属性で“現用／待機”の切換え方法を記述することなどによって実現することができる。【００９９】
図１４において，ｇｒｏｕｐ４，ｇｒｏｕｐ６からなるＧＲＯＵＰ２の属性は，グループの上位グループでの現用／待機である。“Load Balancer の性質として，グループ内での冗長アクセスには責任を持つ必要がある”という論理のもと，各Load Balancer 要素が，“グループの上位グループ”の冗長方法（現用／待機）を自分の設定ファイルに記述し，このグループを構成するサーバが現用／待機動作を実行できるように設定される。この場合，例えば属性情報の詳細内容を示すサブ属性で，“どのようなタイミングで現用系が“死んだ”と判断するか”等の設定も必要となる。【０１００】
図１４において，ｇｒｏｕｐ４，ｇｒｏｕｐ５からなるＧＲＯＵＰ１の属性は，グループの上位グループでの分散アクセスである。ＧＲＯＵＰ２の場合と同じ論理で，冗長アクセスを行うための設定をLoad Balancer に対して行う必要がある。サブ属性には，例えば負荷最小，ラウンドロビン，生死の判断方法など，分散の方法を記述する。【０１０１】
なお，グループの入れ子を行うための内部構造は，基本的に図９と同様の構造であり，上位概念の仮想シンボルオブジェクトから下位概念の仮想シンボルオブジェクトへのリンクを持つことで，表現可能となる。【０１０２】
また，図１４の例とは逆に，例えばＨＵＢの（ポート）ＶＬＡＮ機能やサーバのゾーニングのように，一つの機器内を仮想的に複数の機能／装置に分割する場合がある。これについても，上述のグループの入れ子構造の場合と同様に扱うことができる。例えば，図１４のｇｒｏｕｐ５を一つのサーバと考え，その中に含まれるServer www1-1 ，www1-2をサーバ内のゾーニングされた各ゾーンと考えればよい。【０１０３】
この場合のデータ保持構造も，ここまで説明したものの延長で実現可能である。図９のデータ構造を拡張する場合を例にとると，次のようにして機能分割の場合のデータ保持構造を実現することができる。【０１０４】
１）実装置を表しているオブジェクト（例えば，図９のａｐｐ１，ＤＢ１，Ｌ１等）にリンク（ＬＮＫ）を付加し，
２）仮想機能部分のオブジェクトを新たに作成し，
３）実装置を表しているオブジェクトのＬＮＫから，仮想機能部分のオブジェクトの対応部分に対してリンクを張る。【０１０５】
このように，グループの入れ子構造で，仮想機能が実体の機器によりグループ化され，さらにそれらの実装置が機器グループとしてさらにグループ化されるというケースも，表現することが可能となる。【０１０６】
〔セッションの概念〕
ネットワーク装置間の関連付けには，ＬＡＮケーブル等による物理的な接続関係，装置をグループ化した場合の仮想的な接続関係の他に，セッションと呼ばれる論理的な接続関係がある。セッションは，クラスタ装置間でアクセスを行う際の一連の処理の単位であり，各セッションでは，様々なプロトコルによる通信が行われる。本実施の形態では，このようなセッションによる装置間のアクセスを，実装置ネットワークまたは仮想装置ネットワークのいずれでも表現することが可能である。従来技術である特許文献１，２には，ネットワーク図において，このようなセッションという概念は記載されていない。【０１０７】
図１５は，セッション表現の例を示す図である。図１５では，セッション（ＶＳＥＳ１）が，仮想装置ネットワーク上に，一点鎖線の矢印で表現されている。図１５に示すように，仮想装置ネットワーク上では，ある仮想シンボルの仮想ピンがセッションの始点となり，他の仮想シンボルの仮想ピンがセッションの終点となる。また，実装置ネットワーク上では，ある装置シンボルのピンがセッションの始点となり，他の装置シンボルのピンがセッションの終点となる。【０１０８】
セッションには，プロトコルなどの属性情報（プロパティ）が与えられ，その属性情報が仮想シンボルオブジェクトの属性情報オブジェクトなどと同様に，ネットワーク構成データ記憶部１５に保持される。【０１０９】
図１５には示されていないが，既知のＧＵＩ技術を用いて，セッションの属性情報を，図面上にアイコンで表現することもできる。このとき，セッションを示す一点鎖線の矢印のところにセッションの属性情報を示す小さなアイコンを配置し，実際に編集や参照を行う場合には，そのアイコンをクリックすることにより別のウインドウが表示されてそのセッションの詳細な情報を確認できるようにする。【０１１０】
セッションのプロトコルとしては，例えば，ＴＣＰ，ＵＤＰ，ＩＣＭＰなどがある。ＴＣＰは，始点がＳｙｎパケットのｓｒｃであり，終点がＳｙｎパケットのｄｓｔである。ＵＤＰ，ＩＣＭＰは，始点がＩＰパケットのｓｒｃ，終点がＩＰパケットのｄｓｔである。逆向きもセッションとするかは，指定可能とする。【０１１１】
セッションの始点を特定のサーバに固定できる場合には，たとえセッションがインターネット越しになったとしても，そのサーバをセッションの始点とする。このようなセッションには，例えば，インターネット越しに監視を行う場合の監視端末からサービス用サーバへのｐｉｎｇ（ICMP ECHO ）セッションなどがある。セッションは，始点，終点と，各機器を接続したネット（物理的な接続関係）と，図面表記のための経路情報を保持していればよい。【０１１２】
以上のように，物理的な接続関係を表現するネット，仮想的な接続関係を表現する仮想ネットと同様に，セッションという接続をネットワーク図に表現することができる。ネットワーク図上に表現されたセッションには，プロトコルやポート番号，ＩＣＭＰの場合にはＩＣＭＰコマンドなどのプロパティを設定することができる。また，セッションの始点，終点が，ネットワーク図における装置シンボルのピンにリンク付けられる構造となっている。【０１１３】
図１６は，セッションが表現されたネットワーク図の内部データ構造の例を示す図である。図１６の内部データ構造の例は，図１５で表現されたネットワーク図面の内部データ構造の例である。図１６の内部データ構造は，図９に示す基本的な実装置および仮想装置ネットワーク図の内部データ構造に，セッションの構造が付加されたものとなっている。図１６において，４０４０はセッションオブジェクトであり，４０４１および４０４２は属性情報オブジェクトである。セッションに関するリンク構造は一点鎖線で表されている。【０１１４】
図１６に示すように，セッションの始点／終点となる各仮想シンボルの仮想ピンオブジェクト（各ＶＬ１）から，セッションオブジェクト（ＶＳＥＳ１）の始点／終点に対してのリンクが張られている。これは，論理的な仮想装置ネットワークでのセッションのリンクの例であるが，物理的な実装置ネットワークでのセッションのリンクも同様となる。このようなセッションオブジェクトのリンク構造によって，セッションの始点となる装置／インタフェースポート，終点となる装置／インタフェースポートが容易に分かる。さらに，セッションオブジェクトは，複数の属性情報オブジェクト（ｐｒｏｐ１，ｐｒｏｐ２）へのリンクを持つことができる。属性情報オブジェクトに，通信プロトコルやポート番号などの論理的な情報を保持することができる。【０１１５】
図１７は，セッション情報の編集処理を説明する図である。なお，図１７では，仮想装置ネットワークのセッション情報の編集を例に説明するが，実装置ネットワークのセッション情報の編集も同様である。なお，本実施の形態では，実装置ネットワークのセッションオブジェクトを実セッションオブジェクト，仮想装置ネットワークのセッションオブジェクトを仮想セッションオブジェクトと呼ぶ。【０１１６】
ネットワーク図編集の画面において，セッションの始点となる仮想ピンの選択操作があると（ＯＰ２１），セッション情報編集部１３は，仮のセッションオブジェクトを作成する。また，関連付け処理部１４は，始点となる仮想ピンオブジェクトと仮のセッションオブジェクトの始点間にリンクを張る（Ｓ２１）。仮のセッションオブジェクトは，セッションの終点が決まるまでは，正式のセッションオブジェクトにならない。【０１１７】
次に，セッションの終点に向かって途中経路を指示しながら，線分を描く操作に対し（ＯＰ２２），セッション情報編集部１３は，仮のセッションオブジェクトに経路情報を追加する（Ｓ２２）。この操作ＯＰ２２と処理ステップＳ２２は，必要な途中経路数分繰り返される。セッションの経路情報を，後で変更することも可能である。【０１１８】
ネットワーク図上でセッションの終点となる仮想ピンが選択されると（ＯＰ２３），セッション情報編集部１３は，仮のセッションオブジェクトを正式なセッションオブジェクトとして登録する。また，関連付け処理部１４は，終点となる仮想ピンオブジェクトとセッションオブジェクトの終点間にリンクを張る。セッション情報編集部１３は，セッションの属性情報を設定するためのウインドウを画面に表示し，属性情報の入力を促す（Ｓ２３）。セッションの属性情報は，一通りの設計が完了した後で，設定することも可能である。その場合には，ネットワーク図上のセッションを表す矢印図形を選択して属性設定のウインドウを開くなどの操作により，セッションの属性情報の入力が行われる。【０１１９】
セッションの属性情報を設定するためのウインドウにおいて，セッションのプロトコルやポート番号などの属性情報を定義する情報が入力されると（ＯＰ２４），セッション情報編集部１３は，セッションの属性情報オブジェクトを作成し，定義された属性情報を格納する（Ｓ２４）。以上の操作ＯＰ２１〜ＯＰ２４および処理ステップＳ２１〜Ｓ２４は，必要なセッション数分繰り返される。作成されたセッションオブジェクトおよび属性情報オブジェクトの情報は，設計者に対してデータ保存の確認をとった後，ネットワーク構成データ記憶部１５に保存される。【０１２０】
〔仮想装置ネットワークのセッションの実装置ネットワークへのマッピング〕
図１６では，仮想装置の仮想ピンオブジェクトから仮想セッションオブジェクトへのリンクを持てる構造を示した。しかし，仮想装置ネットワーク図の情報をもとに，ネットワークルータのルーティングテーブル定義などの各装置の設定情報の自動生成や，装置が実現可能なインタフェースポートを持っているかどうかなどの検証を行うためには，仮想装置の仮想インタフェースポート間を接続した仮想セッションを，実装置におけるインタフェースポートを接続する実セッションに展開する必要がある。【０１２１】
大規模システムの設計などでは，実装置ネットワークにおける物理接続に対して必要な実セッションを総て記述することは，煩雑でありミスを誘発しやすく，また図面がセッションで埋め尽くされて汚くなってしまう。このことから，論理的な接続上でのセッション記述とその物理接続への展開を可能とする方法があれば，きわめて有用であると考えられる。【０１２２】
セッションの仮想装置ネットワークから実装置ネットワークへの展開は，仮想ピンと物理的なピンとの対応付けの情報を利用して行うことができる。仮想セッションオブジェクトから，そのセッションの始点／終点となる仮想シンボルの仮想ピンオブジェクトを辿り，さらに仮想ピンオブジェクトと物理的なピンオブジェクト間のリンクを辿ることで，実装置ネットワークでのセッションの始点／終点となる装置とそのインタフェースポートが分かる。【０１２３】
以下，図１８から図２２を用いて，仮想装置ネットワークから実装置ネットワークへのセッションの展開処理を説明する。ここでは，図１５に示すネットワーク図に描かれた仮想シンボルａｐｐＧの仮想ピンＶＬ１を始点とし，仮想シンボルｄｂＧの仮想ピンＶＬ１を終点とする仮想装置ネットワークのセッションを，実装置ネットワークに展開する場合を例として説明する。展開前のネットワーク図の内部データ構造は，図１６に示す通りである。なお，以下の説明では，仮想装置ネットワークのセッションを仮想セッション，実装置ネットワークのセッションを実セッションと呼ぶものとする。【０１２４】
図１８は，セッションの展開処理フローチャートである。図１８を用いて，セッション情報編集部１３が行う仮想装置ネットワークから実装置ネットワークへのセッションの展開処理を説明する。【０１２５】
展開する仮想セッションの始点のリンク情報から，仮想セッションの始点となる仮想ピンを検出する（Ｓ３０）。例えば，図１６に示すように，仮想セッションＶＳＥＳ１を示す仮想セッションオブジェクトの始点のリンクは，仮想シンボルａｐｐＧの仮想ピンＶＬ１（以下，ａｐｐＧ．ＶＬ１と表す）の仮想ピンオブジェクトに張られている。よって，仮想セッションの始点となる仮想ピンとして，ａｐｐＧ．ＶＬ１が検出される。【０１２６】
検出された仮想セッションの始点となる仮想ピンからのリンクを辿ることにより，その実体となるすべてのピン（実装置のピン）を検出し，それらを始点集合として保存する（Ｓ３１）。ただし，仮想ピンからのリンクが別の仮想ピンである場合には，さらにリンクを辿って実体となるピンのみを検出し，始点集合として保存する。例えば，図１６に示すように，仮想ピンａｐｐＧ．ＶＬ１の仮想ピンオブジェクトのリンクは，装置シンボルａｐｐ１のピンＬ１（以下，ａｐｐ１．Ｌ１と表す）と，装置シンボルａｐｐ２のピンＬ１（以下，ａｐｐ２．Ｌ１と表す）のピンオブジェクトに張られている。よって，仮想ピンａｐｐＧ．ＶＬ１の実体となるピンとして，ａｐｐ１．Ｌ１とａｐｐ２．Ｌ１とが検出され，始点集合として保存される。【０１２７】
次に，展開する仮想セッションの終点のリンク情報から，仮想セッションの終点となる仮想ピンを検出する（Ｓ３２）。例えば，図１６に示すように，仮想セッションＶＳＥＳ１の仮想セッションオブジェクトの終点のリンクは，仮想シンボルｄｂＧの仮想ピンＶＬ１（以下，ｄｂＧ．ＶＬ１と表す）の仮想ピンオブジェクトに張られている。よって，仮想セッションの終点となる仮想ピンとして，ｄｂＧ．ＶＬ１が検出される。【０１２８】
検出された仮想セッションの終点となる仮想ピンからのリンクを辿ることにより，その実体となるすべてのピンを検出し，それらに仮想ピンを含めたものを終点集合として保存する（Ｓ３３）。ただし，仮想ピンからのリンクが別の仮想ピンである場合には，さらにリンクを辿って実体となるピンを検出し，仮想ピンも含めて終点集合として保存する。例えば，図１６に示すように，仮想ピンｄｂＧ．ＶＬ１の仮想ピンオブジェクトのリンクは，装置シンボルＤＢ１のピンＬ１（以下，ＤＢ１．Ｌ１と表す）と，装置シンボルＤＢ２のピンＬ１（以下，ＤＢ２．Ｌ１と表す）のピンオブジェクトに張られている。よって，仮想ピンｄｂＧ．ＶＬ１の実体となるピンとして，ＤＢ１．Ｌ１とＤＢ２．Ｌ１とが検出され，仮想ピンｄｂＧ．ＶＬ１も含めて終点集合として保存される。【０１２９】
保存した始点集合，終点集合をもとに，始点ピンと終点ピン（仮想ピンを含む）とのすべての組合せを求める（Ｓ３４）。例えば，上記の始点集合｛ａｐｐ１．Ｌ１，ａｐｐ２．Ｌ１｝，終点集合｛ｄｂＧ．ＶＬ１，ＤＢ１．Ｌ１，ＤＢ２．Ｌ１｝をもとに，始点となるピンと終点となるピンまたは仮想ピンとのすべての組合せを求めると，
ａｐｐ１．Ｌ１−ｄｂＧ．ＶＬ１
ａｐｐ１．Ｌ１−ＤＢ１．Ｌ１
ａｐｐ１．Ｌ１−ＤＢ２．Ｌ１
ａｐｐ２．Ｌ１−ｄｂＧ．ＶＬ１
ａｐｐ２．Ｌ１−ＤＢ１．Ｌ１
ａｐｐ２．Ｌ１−ＤＢ２．Ｌ１
の６通りの始点−終点の組合せが求められる。【０１３０】
求められた始点−終点の組合せから，以下に示す条件のいずれかを満たす組合せを抽出する（Ｓ３５）。
（条件１）同一のネットに所属するピンの組合せ
（条件２）同一のネットに属するＨＵＢとそのＨＵＢ（複数）を経由して接続しているピンの組合せ
（条件３）終点が仮想ピンである組合せ
なお，ＨＵＢ同士の接続は，ＨＵＢのあるピンと別のＨＵＢのあるピンとが同一のネットに所属している場合に，そのネットを介して経由可能とする。また，終点が仮想ピンである場合には，実ネットから仮想ネットを経由して探索を行う。【０１３１】
例えば，上記の６通りの組合せについて，条件１〜３を満たす組合せを抽出すると，条件１からａｐｐ１．Ｌ１−ＤＢ１．Ｌ１，ａｐｐ１．Ｌ１−ＤＢ２．Ｌ１，ａｐｐ２．Ｌ１−ＤＢ１．Ｌ１，ａｐｐ２．Ｌ１−ＤＢ２．Ｌ１の４個の組合せが抽出され，条件３からａｐｐ１．Ｌ１−ｄｂＧ．ＶＬ１，ａｐｐ２．Ｌ１−ｄｂＧ．ＶＬ１の２個の組合せが抽出される。条件２によって抽出される組合せはない。この例では，結局６通りの組合せすべてが抽出される。【０１３２】
抽出された組合せについての実セッションオブジェクトを作成し，その実セッションオブジェクトと，その実セッションの始点／終点となる各ピン（仮想ピンも含む）との間のリンクを張る（Ｓ３６）。なお，ここでは，終点が仮想ピンであるセッションも実セッションとして扱っている。【０１３３】
例えば，上記の６通りの組合せについて，それぞれ，
ａｐｐ１．Ｌ１−ｄｂＧ．ＶＬ１間のセッション  →  実セッションＳＥＳ１
ａｐｐ１．Ｌ１−ＤＢ１．Ｌ１間のセッション    →  実セッションＳＥＳ２
ａｐｐ１．Ｌ１−ＤＢ２．Ｌ１間のセッション    →  実セッションＳＥＳ３
ａｐｐ２．Ｌ１−ｄｂＧ．ＶＬ１間のセッション  →  実セッションＳＥＳ４
ａｐｐ２．Ｌ１−ＤＢ１．Ｌ１間のセッション    →  実セッションＳＥＳ５
ａｐｐ２．Ｌ１−ＤＢ２．Ｌ１間のセッション    →  実セッションＳＥＳ６
とし，各実セッションの実セッションオブジェクトを作成する。それぞれの実セッションについて，作成された実セッションオブジェクトの始点と，その実セッションの始点となるピンとの間のリンクを張る。また，作成された実セッションオブジェクトの終点と，その実セッションの終点となるピン（仮想ピンを含む）との間のリンクを張る。【０１３４】
各ピン（仮想ピンを含む）のプロパティをチェックし，展開された実セッションに対して有効／無効フラグを追加（または変更）する（Ｓ３７）。このステップＳ３７の処理は，リンクを有効化するプロパティが揃ったとき，または変更されたときに，適宜実行される。例えば，仮想ピンに仮想アドレスを設定する場合には，上記のＳＥＳ１，ＳＥＳ４のセッションが有効となるが，仮想アドレスを用いないＤＮＳ等の冗長化の場合には，上記のＳＥＳ１，ＳＥＳ４のセッションが無効となる。また，終点が仮想アドレスのアクセスのみを有効とする場合には，実体のピン間のアクセスである上記のＳＥＳ２，ＳＥＳ３，ＳＥＳ５，ＳＥＳ６のセッションが無効となる。【０１３５】
図１９は，仮想装置ネットワークから実装置ネットワークにセッションを展開した例を示す図である。図１９の左側が実装置ネットワーク図を示し，図１９の右側が仮想装置ネットワーク図を示す。なお，図１９の左側のネットワーク図では，簡略化のため，接続関係（ＮＥＴ１−４，ＮＥＴ５−８）が束線表記（図中太線で表す）されている。【０１３６】
図１８で説明した展開処理の結果，仮想セッションＶＳＥＳ１は，図１９に示すような実セッションに展開される。なお，図１９では，図を見やすくするため，ａｐｐ１．Ｌ１を始点とする実セッション（上記のＳＥＳ１，ＳＥＳ２，ＳＥＳ３）だけを，ネットワーク図に記載している。ａｐｐ２．Ｌ１を始点とする実セッション（上記のＳＥＳ４，ＳＥＳ５，ＳＥＳ６）については，記載を省略している。【０１３７】
図２０は，仮想装置ネットワークから実装置ネットワークにセッションを展開したときの内部データ構造の例を示す図である。図２０の内部データ構造は，特に展開されたセッションの部分に着目した内部データ構造となっている。【０１３８】
図１８で説明した展開処理の結果，実セッションＳＥＳ１，ＳＥＳ２，ＳＥＳ３に対して，それぞれ実セッションオブジェクト３１０１，３１０２，３１０３が作成され，それぞれ始点となるピンのピンオブジェクト，終点となるピン（仮想ピンを含む）のピンオブジェクト（仮想ピンオブジェクトを含む）へのリンク情報が設定されている。なお，図２０では，ａｐｐ１．Ｌ１を始点とする実セッションＳＥＳ１，ＳＥＳ２，ＳＥＳ３についてだけ実セッションオブジェクトが示されているが，実際には，ａｐｐ２．Ｌ１を始点とする実セッションＳＥＳ４，ＳＥＳ５，ＳＥＳ６の実セッションオブジェクトについても同様に実セッションオブジェクトが存在する。【０１３９】
図２１は，ＨＵＢ同士がトランク接続されている場合のセッションの展開例を説明する図である。図２１の左側が実装置ネットワーク図を示し，図２１の右側が仮想装置ネットワーク図を示す。図１８の説明では，ステップＳ３５で条件２が満たされる場合の例がなかった。ここでは，条件２が満たされる場合の例について説明する。【０１４０】
なお，図２１の左側のネットワーク図では，簡略化のため，接続関係（ＮＥＴ１−４，ＮＥＴ５−８）が束線表記（図中太線で表す）されている。また，図２１では，ａｐｐ１．Ｌ１を始点とする実セッションのみをネットワーク図に記載し，ａｐｐ２．Ｌ１を始点とする実セッションについては，図の簡略化のため記載を省略している。【０１４１】
図２１の例では，ＨＵＢ１とＨＵＢ２とがネットＮＥＴ９によりトランク接続されている。ＨＵＢ１とＨＵＢ２とがトランク接続されることにより，例えば，ａｐｐ１．Ｌ１−ＤＢ１．Ｌ２間の接続が可能となる。また，図２１の右側の仮想装置ネットワーク図では，仮想シンボルａｐｐＧ，仮想シンボルｄｂＧに，それぞれ仮想ピンとしてＶＬ１の一つだけが設定されており，これに伴い，仮想ネットもＶＮＴ１の一つだけが設定されている。【０１４２】
図２２は，ＨＵＢ同士がトランク接続されている場合のネットワーク図の内部データ構造の例を示している。図２２の内部データ構造は，特にＨＵＢ１とＨＵＢ２とがトランク接続され，仮想ネットがＶＮＴ１のみとなった部分に特に着目した内部データ構造を示しており，その他の部分の構造は図示を省略している。省略された部分の構造は，図１６に示す構造と同じ構造になる。【０１４３】
以下，図２１に示すネットワーク図の例に従って，仮想セッションＶＳＥＳ１の実セッションへの展開における，特に図１８のステップＳ３５で条件２によって抽出されるａｐｐ１．Ｌ１−ＤＢ１．Ｌ２の組合せの場合について説明する。【０１４４】
ＨＵＢ１とＨＵＢ２とがトランク接続されることにより，ａｐｐ１．Ｌ１−ＤＢ１．Ｌ２間は，
ａｐｐ１．Ｌ１−ＮＥＴ１−ＨＵＢ１．Ｐ４−ＨＵＢ１．Ｐ５−ＮＥＴ９
−ＨＵＢ２．Ｐ５−ＨＵＢ２．Ｐ３−ＮＥＴ７−ＤＢ１．Ｌ２
とリンクを辿ることができるようになる。すなわち，ａｐｐ１．Ｌ１−ＤＢ１．Ｌ２の組合せは，図１８のステップＳ３５の条件２を満たすため，有効な組合せとして保存される。【０１４５】
これにより，図１８のステップＳ３５の条件１，条件３を満たす組合せも含めて，図２１に示すように，ａｐｐ１．Ｌ１を始点とする実セッションは，５つ存在することがわかる。同様に，ａｐｐ１．Ｌ２，ａｐｐ２．Ｌ１，ａｐｐ２．Ｌ２を始点とする実セッションも，それぞれ５つずつ存在する。したがって，図２１の右側の仮想セッションＶＳＥＳ１は，２０個の実セッションに展開されることになる。【０１４６】
〔実装置ネットワーク図，仮想装置ネットワーク図，セッションの重畳表示〕
図２３は，レイヤによる図面表現の概念を示す図である。図２３に実装置レイヤ６０，仮想装置レイヤ６１，セッション情報レイヤ６２として示すように，ネットワーク図にレイヤの概念を導入することができる。【０１４７】
実装置レイヤ６０では，実装置ネットワークが示され，仮想装置レイヤ６１では，仮想装置ネットワークが示され，セッション情報レイヤ６２では，実セッションまたは仮想セッションが示される。これらの三つのレイヤから，ネットワーク図の全体が成り立っている。【０１４８】
図２３において，レイヤ間の点線の矢印は，各レイヤ間のリンクを意味している。この点線の矢印は，実際のネットワーク図上では直接的には表現されないが，複数のレイヤを図面に重畳表示するときに，矢印でリンクされる部分が対応するように表示されることになる。【０１４９】
図２３の例では，レイヤ構造を３層としているが，実際のレイヤ構造は３層に限らない。例えば，セッション情報レイヤ６２を，実セッションを表現したレイヤと仮想セッションを表現したレイヤとに分けることができる。以下では，実セッションのレイヤと仮想セッションのレイヤとを分けた例を説明する。また，セッションを表現したレイヤを，サービスのための通信のサービスセッションを表現したレイヤ，保守のための通信のメンテナンスセッションを表現したレイヤといったように，セッションの属性に応じて分けることもできる。さらに，そのサービスセッションを表現したレイヤを，ネットワークシステムが提供するサービスに応じて分けることもできる。【０１５０】
既存の図面作成ツールにも，レイヤの概念を持つものがある。しかし，既存の図面作成ツールのレイヤの概念は，単に図面を重ね合わせるためだけのものである。これに対し，本実施の形態は，図面をレイヤごとに管理するということだけに留まらず，レイヤ間を跨ってオブジェクトを繋ぐリンクを持たせることにより，実装置ネットワークから仮想装置ネットワークまでのシステムを統一して捉えることが可能なシステムとなっている。これにより，単なるネットワーク図面を作成するシステムではなく，装置間の接続検証，仮想装置ネットワークと実装置ネットワーク間の矛盾チェック，各装置の設定情報の自動生成などへの応用が可能となる情報を管理できるシステムとなっている。【０１５１】
図１６の内部データ構造において，各レイヤのオブジェクト間を繋ぐリンクの先頭へのポインタを，レイヤ管理用のオブジェクトが持つようにすれば，図２３に示すようなリンクの図面表記を内部的に保持できる構造となる（後述の図２９参照）。そのような構造の上で，ネットワーク図面の編集を行い，レイヤの表示／非表示制御を行うことで，所望のネットワーク図を参照することが可能となる。【０１５２】
図２４〜図２８は，レイヤによる図面表現の例を示す図である。各レイヤの表示／非表示を切り換えることにより，実装置ネットワークだけを表示したり，すべてのネットワーク情報を一つの図面として重畳表示したりと，様々な図面表現を行うことができる。【０１５３】
図２４は，実装置ネットワークのレイヤのみを表示した例を示している。ここで，実セッションを表現したレイヤを追加表示すると，実装置ネットワークの図面上に重なるように実セッションが表示される。図２５は，実装置ネットワークのレイヤと実セッションを表現したレイヤとを重畳表示した例である。【０１５４】
図２６は，仮想装置ネットワークのレイヤのみを表示した例を示している。ここで，仮想セッションを表現したレイヤを追加表示すると，仮想装置ネットワークの図面上に重なるように仮想セッションが表示される。図２７は，仮想装置ネットワークのレイヤと仮想セッションを表現したレイヤとを重畳表示した例である。なお，仮想装置ネットワークのレイヤの表示にあたって，各仮想装置に含まれる実装置の用途または名称と装置数とを，例えば「装置名×ｎ個」というような形式で各仮想装置に付加して表示してもよい。【０１５５】
図２８は，すべてのレイヤを重畳表示したときの例を示している。このようにすべてのレイヤが同時に表示されるとネットワーク図が複雑となり，ネットワーク図の設計／編集などの作業がやりにくくなる場合がある。このような場合には，設計者は，作業に必要なレイヤだけを選択して表示させることにより，設計／編集の作業を簡易化することができる。【０１５６】
図２９は，レイヤの管理構造の例を示す図である。内部的にレイヤの状態を管理するレイヤ管理オブジェクト７１は，レイヤの表示／非表示を制御する図面表示フラグ７２と，そのレイヤ上の図面の編集操作の可否を制御する編集操作可否フラグ７３とを，各レイヤごとに持っている。設計者からの操作指示によって，これらのフラグの切り換えが行われる。図２９の例では，すべてのレイヤが表示されるように設定されているが，編集操作が可能なのは実装置レイヤと実セッションだけである。特定のレイヤの編集操作可否フラグ７３を編集不可に設定して編集作業を行うことにより，誤って作成済みのレイヤの情報を書き換えてしまうようなことを回避することができる。【０１５７】
また，図２９に示すように，レイヤ管理オブジェクト７１から，ネットワーク図を構成する各オブジェクトの先頭オブジェクト８１〜８６へのリンクが張られている。ここから，表示対象や編集対象となっているオブジェクトのリンクを辿ることにより，レイヤごとの制御が可能となる。【０１５８】
なお，ネットワーク図の全体をレイヤ別に表示または重畳表示するだけでなく，ネットワーク図において指定された範囲だけを部分的に表示する手段を設けることもできる。例えば図２６に示す仮想装置ネットワークのレイヤの表示において，指定された仮想装置だけを実装置に展開し，部分的な範囲についてだけ仮想装置と実装置とを重畳表示するような手段を設けることも可能である。【０１５９】
以上のレイヤの管理情報に基づく画面の表示処理またはプリンタ等への出力処理は，ネットワーク構成データ出力処理部１６が行うが，この他にネットワーク構成データ出力処理部１６は，ネットワーク構成データ記憶部１５に格納されたデータに基づき，設計されたネットワークシステムのチェックに用いるための実装置の一覧表，仮想装置の一覧表，実セッションの一覧表，仮想セッションの一覧表，実インタフェースポート（ピン）の一覧表，仮想インタフェースポートの一覧表，それらの各属性情報の一覧表，およびそれらの関係を示すリンク情報等を，設計者による出力メニューの選択により出力する機能を備える。【０１６０】
以上のネットワーク設計処理装置が行う処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【産業上の利用可能性】
【０１６１】
本発明は，グラフィカルな入出力インタフェースをもった計算機システム上で，実施される。本発明は，特に大規模ネットワークインフラストラクチャ設計の効率化／高品質化などに有用な技術である。
【図１】
0004746091.tif 000002
【図２】
0004746091.tif 000003
【図３】
0004746091.tif 000004
【図４】
0004746091.tif 000005
【図５】
0004746091.tif 000006
【図６】
0004746091.tif 000007
【図７】
0004746091.tif 000008
【図８】
0004746091.tif 000009
【図９】
0004746091.tif 000010
【図１０】
0004746091.tif 000011
【図１１】
0004746091.tif 000012
【図１２】
0004746091.tif 000013
【図１３】
0004746091.tif 000014
【図１４】
0004746091.tif 000015
【図１５】
0004746091.tif 000016
【図１６】
0004746091.tif 000017
【図１７】
0004746091.tif 000018
【図１８】
0004746091.tif 000019
【図１９】
0004746091.tif 000020
【図２０】
0004746091.tif 000021
【図２１】
0004746091.tif 000022
【図２２】
0004746091.tif 000023
【図２３】
0004746091.tif 000024
【図２４】
0004746091.tif 000025
【図２５】
0004746091.tif 000026
【図２６】
0004746091.tif 000027
【図２７】
0004746091.tif 000028
【図２８】
0004746091.tif 000029
【図２９】
0004746091.tif 000030