(第一実施形態)
以下、本発明の第一実施形態を図1〜図33を用いて説明する。
図1は、本発明の第一実施形態の計算機システムの構成を示す図である。
本計算機システムは、管理サーバ2と、管理サーバ2によって管理されるネットワーク4を含む。
管理サーバ2に備わる入出力装置にネットワーク4の構成が表示されるので、ネットワーク4の管理者1は、入出力装置を介してネットワーク4の構成を把握できる。また、管理者1は、管理サーバ2に備わる入出力装置にネットワーク4を冗長化する指示を入力できる。
管理サーバ2は、ネットワーク4に接続される。そして、管理サーバ2は、ネットワーク機器3間の接続関係を示すリンク情報を受信する。また、管理サーバ2は、ネットワーク機器3を設定するためのプロトコルを用いてネットワーク機器3の設定内容を設定する。ネットワーク機器3は、例えば、ルータ、スイッチ及び利用者端末等である。
図2は、本発明の第一実施形態のネットワーク4の構成を示す図である。
ネットワーク4は、管理サーバ2、スイッチ301〜305及び利用者端末341〜344によって構成される。なお、スイッチ301〜305を総称してスイッチ300とし、利用者端末341〜344を総称して利用者端末340とする。
スイッチ301及びスイッチ305は、ネットワーク4の最上位のスイッチであり、ネットワーク4の中心に位置するコアスイッチという。スイッチ301とスイッチ305とは、直接接続される。
スイッチ302〜304は、スイッチ300以外の機器(本実施形態では、管理サーバ2、利用者端末341及び利用者端末342)を直接収容するフロアスイッチである。なお、スイッチ302〜304は、コアスイッチであるスイッチ301及びスイッチ305の両方に直接接続される。これによって、コアスイッチであるスイッチ301及びスイッチ305が冗長化され、スイッチ301及びスイッチ305のいずれかに障害が発生しても、フロアスイッチであるスイッチ302〜304は、障害発生していない方のスイッチ301又はスイッチ305と通信できる。
管理サーバ2はスイッチ302に接続され、VLAN99に属する。利用者端末341及び利用者端末342はスイッチ303に接続され、利用者端末341はVLAN10に属し、利用者端末342はVLAN20に属する。利用者端末343及び利用者端末344はスイッチ304に接続され、利用者端末343はVLAN20に属し、利用者端末344はVLAN10に属する。
図3は、本発明の第一実施形態の管理サーバ2の構成を示す図である。
管理サーバ2は、メモリ20、入出力インタフェース(I/F)21、ネットワークインタフェース(I/F)22及びCPU24を備える。
管理サーバ2は、入出力I/F21を介して、入出力装置23に接続する。入出力装置23は、例えば、ディスプレイ、キーボード及びマウス等である。管理サーバ2は、ネットワークI/F22を介して、ネットワーク4に接続する。
メモリ20は、OS203、機器設定プログラム204、冗長構成設定生成プログラム211、機器設定情報データベース205、VLAN情報管理テーブル212、ポート情報管理テーブル213及び冗長系管理テーブル214を含む。CPU24は、メモリ20にロードされた各種プログラムを実行する。
機器設定プログラム204は、OS203上で動作し、各スイッチ300にVLANを設定し、スイッチ301とスイッチ305とを接続する各ポートをGSRP用のポートに設定する。なお、機器設定プログラム204は、コマンドラインインタフェース又はNet.conf等を用いて、各スイッチ300を設定する。機器設定情報データベース205は、OS203上で読み書き可能なデータであり、各スイッチ300の設定内容を保持する。
冗長構成設定生成プログラム211は、OS203上で動作し、ネットワーク4を冗長化するために必要なスイッチ300の設定内容を生成する。
VLAN情報管理テーブル212は、OS203上で読み書き可能なデータであり、各スイッチ300に定義されたVLANをスイッチ300ごとに管理する。なお、VLAN情報管理テーブル212は、図10〜図13で詳細を説明する。
ポート情報管理テーブル213は、OS203上で読み書き可能なデータであり、各スイッチ300に備わるポートの利用状態を管理する。なお、ポート情報管理テーブル213は、図6〜図9で詳細を説明する。
冗長系管理テーブル214は、OS203上で読み書き可能なデータであり、冗長化スイッチを構成する二つのスイッチ間の接続関係を管理する。なお、冗長系管理テーブル214は、図28で詳細を説明する。
図4は、本発明の第一実施形態の管理サーバ2上でネットワークを設計する場合のシーケンス図である。
まず、管理者1は、入出力装置23に表示されるネットワーク構成入力画面230を介して、ネットワークの構成を管理サーバ2に入力する(S701)。なお、ネットワーク構成入力画面230については、図5で詳細を説明する。
管理サーバ2は、入力されたネットワークの構成に基づいて、VLAN情報管理テーブル212、ポート情報管理テーブル213及び冗長系管理テーブル214によって管理されるネットワークの情報を更新する(S702)。
そして、管理サーバ2は、入力されたネットワークの構成を、ネットワーク構成入力画面230に反映し、入出力装置23に表示する(S703)。
次に、管理者1は、図14に示す冗長化スイッチ指定画面234を介して、ネットワーク構成入力画面230を介して、冗長化の対象となるスイッチ300を指定する(S704)。
管理サーバ2は、指定されたスイッチ300を冗長化するために必要なネットワークの構成を生成する(S705)。そして、管理サーバ2は、生成したネットワークの構成に基づいて、VLAN情報管理テーブル212、ポート情報管理テーブル213及び冗長系管理テーブル214によって管理されるネットワークの情報を更新する(S706)。次に、管理サーバ2は、更新されたネットワークの構成をネットワーク構成入力画面230に反映し、入出力装置23に表示する(S707)。
そして、管理者1は、入出力装置23に表示されたネットワーク構成入力画面230のネットワークの構成と実際のネットワーク4の構成とが一致するか否かを確認する(S708)。入出力装置23に表示されたネットワーク構成入力画面230のネットワークの構成と実際のネットワーク4の構成とが一致している場合、管理者1は、設定内容を各スイッチ300に更新するように、入出力装置23を介して、管理サーバ2に指示する(S709)。
管理サーバ2は、この指示が入力されると、設定内容を更新する指示を各スイッチ300に送信する(S710)。各スイッチ300は、管理サーバ2からの指示を受信すると、設定内容を更新する(S711)。
これによって、管理サーバ2が、ネットワーク4を冗長化するために必要な各スイッチ300の設定内容を自動的に生成し、各スイッチ300の設定内容を更新するので、管理者1の作業量を低減できる。
図5は、本発明の第一実施形態のネットワーク構成入力画面230を説明する図である。
ネットワーク構成入力画面230は、編集ウィンドウ231、編集パレット232及び編集キャンバス233を含む。
編集ウィンドウ231は、管理者1がネットワークの構成を編集するためのウィンドウである。編集パレット232は、スイッチ300を示すアイコン、ネットワーク機器間の接続を示すアイコン及び利用者端末340を示すアイコン等を含む。編集キャンバス233には、管理者1が設計したネットワークを示す図が表示される。
管理者1は、編集パレット232のいずれかのアイコンをドラッグアンドドロップ操作によって編集キャンバス233上に配置すると、管理サーバ2は、配置されたアイコンを編集キャンバス233上に新たに表示する。管理者1は、編集キャンバス233上に表示されたネットワーク機器間の接続を示すアイコンを操作し、ネットワーク機器間を接続することによって、ネットワークの構成を管理サーバ2に指示する。
図6〜図9は、本発明の第一実施形態のポート情報管理テーブル213の構成を示す図である。
ポート情報管理テーブル213は、管理サーバ2が管理するスイッチ300ごとに生成されている。
ポート情報管理テーブル213は、ポート識別子21301、接続先ノード識別子21302、接続先ポート識別子21303及びVLAN識別子21304を含む。
ポート識別子21301には、スイッチ300に備わるポートの一意な識別子が登録される。
接続先ノード識別子21302には、ポート情報管理テーブル213に対応するスイッチ300に備わる各ポートに接続されるネットワーク機器の一意な識別子が登録される。あるポートにスイッチ300が接続される場合、接続先ノード識別子21302には、接続されるスイッチ300の一意な識別子が登録される。また、あるポートに利用者端末340又は管理サーバ2が接続される場合、接続先ノード識別子21302には、接続される機器がスイッチ300でないことを示す一意な識別子が登録される。本実施形態の場合、接続される機器がスイッチ300でないことを示す識別子は「999」である。
接続先ポート識別子21303には、接続先スイッチ300に備わるポートのうち、接続元のポートに接続されるポートの一意な識別子が登録される。なお、接続元のポートにスイッチ300以外の機器が接続されている場合、接続先ポート識別子21303には何も登録されない。
VLAN識別子21304には、ポート情報管理テーブル213に対応するスイッチ300に備わる各ポートに割り当てられたVLANの一意な識別子が登録される。
図6は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ301に対応するポート情報管理テーブル2131の構成を示す図である。
ポート情報管理テーブル2131は、スイッチ301に備わるポート「0」は、スイッチ302に備わるポート「6」に接続され、スイッチ301に備わるポート「1」は、スイッチ303に備わるポート「6」に接続され、スイッチ301に備わるポート「2」は、スイッチ304に備わるポート「6」に接続されることを示す。
また、ポート情報管理テーブル2131は、スイッチ301に備わるポート「0」には、VLAN99が割り当てられ、スイッチ301に備わるポート「1」には、VLAN10、VLAN20及びVLAN99が割り当てられ、スイッチ301に備わるポート「2」には、VLAN10、VLAN20及びVLAN99が割り当てられることを示す。
図7は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ302に対応するポート情報管理テーブル2132の構成を示す図である。
ポート情報管理テーブル2132は、スイッチ302に備わるポート「0」は、スイッチ300以外の機器に接続され、スイッチ302に備わるポート「6」は、スイッチ301に備わるポート「0」に接続されることを示す。
また、ポート情報管理テーブル2132は、スイッチ302に備わるポート「0」には、VLAN99が割り当てられ、スイッチ302に備わるポート「6」には、VLAN99が割り当てられることを示す。
VLAN99は、管理用のVLANであるので、ポート「0」には管理サーバ2が接続されている。
図8は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ303に対応するポート情報管理テーブル2133の構成を示す図である。
ポート情報管理テーブル2133は、スイッチ303に備わるポート「0」は、スイッチ300以外の機器に接続され、スイッチ303に備わるポート「1」は、スイッチ300以外の機器に接続され、スイッチ303に備わるポート「6」は、スイッチ301に備わるポート「1」に接続されることを示す。
また、ポート情報管理テーブル2133は、スイッチ303に備わるポート「0」には、VLAN10が割り当てられ、スイッチ303に備わるポート「1」には、VLAN20が割り当てられ、スイッチ303に備わるポート「6」には、VLAN10、VLAN20及びVLAN99が割り当てられることを示す。
なお、ポート「0」及び「1」にはVLAN99が割り当てられていないので、ポート「0」及び「1」には、利用者端末340が接続されていることを示す。
図9は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ304に対応するポート情報管理テーブル2134の構成を示す図である。
ポート情報管理テーブル2134は、スイッチ304に備わるポート「0」は、スイッチ300以外の機器に接続され、スイッチ304に備わるポート「1」は、スイッチ300以外の機器に接続され、スイッチ304に備わるポート「6」は、スイッチ301に備わるポート「2」に接続されることを示す。
また、ポート情報管理テーブル2134は、スイッチ304に備わるポート「0」には、VLAN20が割り当てられ、スイッチ304に備わるポート「1」には、VLAN10が割り当てられ、スイッチ304に備わるポート「6」には、VLAN10、VLAN20及びVLAN99が割り当てられることを示す。
なお、ポート「0」及び「1」にはVLAN99が割り当てられていないので、ポート「0」及び「1」には、利用者端末340が接続されていることを示す。
図10〜図13は、本発明の第一実施形態のVLAN情報管理テーブル212の構成を示す図である。
VLAN情報管理テーブル212は、管理サーバ2が管理するスイッチ300ごとに生成されている。
VLAN情報管理テーブル212は、VLAN識別子21201、ポート識別子21202及びIPアドレス21203を含む。
VLAN識別子21201には、VLAN情報管理テーブル212に対応するスイッチ300に定義されているVLANの一意な識別子が登録される。ポート識別子21202には、同じエントリのVLAN識別子21201に登録されたVLANが割り当てられるポートの一意な識別子が登録される。IPアドレス21203には、同じエントリのVLAN識別子21201に登録されたVLAN上で、VLAN情報管理テーブル212に対応するスイッチ300にアクセスするためのIPアドレスが登録される。
図10は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ301のVLAN情報管理テーブル2121の構成を示す図である。
VLAN情報管理テーブル2121は、スイッチ301にVLAN10、VLAN20及びVLAN99が定義されることを示す。また、VLAN情報管理テーブル2121は、VLAN10は、ポート「1」及びポート「2」に割り当てられ、VLAN20は、ポート「1」及びポート「2」に割り当てられ、VLAN99は、ポート「0」、ポート「1」及びポート「2」に割り当てられることを示す。さらにVLAN情報管理テーブル2121は、VLAN10上でのスイッチ301のIPアドレスは、「192.168.10.201」であること、VLAN20上でのスイッチ301のIPアドレスは、「192.168.20.201」であること、及びVLAN99上でのスイッチ301のIPアドレスは、「192.168.99.1」であることを示す。
図11は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ302のVLAN情報管理テーブル2122の構成を示す図である。
VLAN情報管理テーブル2122は、スイッチ302にVLAN99が定義されることを示す。また、VLAN情報管理テーブル2122は、VLAN99は、ポート「0」及びポート「6」に割り当てられることを示す。さらに、VLAN情報管理テーブル2122は、VLAN99上でのスイッチ302のIPアドレスは、「192.168.99.2」であることを示す。
図12は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ303のVLAN情報管理テーブル2123の構成を示す図である。
VLAN情報管理テーブル2123は、スイッチ303にVLAN10、VLAN20及びVLAN99が定義されることを示す。また、VLAN情報管理テーブル2123は、VLAN10は、ポート「0」及びポート「6」に割り当てられ、VLAN20は、ポート「1」及びポート「6」に割り当てられ、VLAN99は、ポート「6」に割り当てられることを示す。さらに、VLAN情報管理テーブル2123は、VLAN10上でのスイッチ303のIPアドレスは、「192.168.10.203」であること、VLAN20上でのスイッチ303のIPアドレスは、「192.168.20.203」であること、及びVLAN99上でのスイッチ303のIPアドレスは、「192.168.99.3」であることを示す。
図13は、本発明の第一実施形態の管理者1によってネットワークの構成が入力された後のスイッチ304のVLAN情報管理テーブル2124の構成を示す図である。
VLAN情報管理テーブル2124は、スイッチ304にVLAN10、VLAN20及びVLAN99が定義されることを示す。また、VLAN情報管理テーブル2124は、VLAN10は、ポート「1」及びポート「6」に割り当てられ、VLAN20は、ポート「0」及びポート「6」に割り当てられ、VLAN99は、ポート「6」に割り当てられることを示す。さらに、VLAN情報管理テーブル2124は、VLAN上でのスイッチ304のIPアドレスは、「192.168.10.204」であること、VLAN20上でのスイッチ304のIPアドレスは、「192.168.20.204」であること、及びVLAN99上でのスイッチ304のIPアドレスは、「192.168.99.4」であることを示す。
なお、図9〜図13において、すべてのスイッチ301〜304にVLAN99が定義され、すべてのスイッチ301〜304は、VLAN99上でのIPアドレスが定義されているので、管理サーバ2は、すべてのスイッチ301〜304にアクセスできる。
図14は、本発明の第一実施形態の冗長化の対象となるスイッチ300を指定するための冗長化スイッチ指定画面234を説明する図である。
冗長化スイッチ指定画面234は、編集ウィンドウ231、編集キャンバス233及びサブメニュー235を含む。
冗長化スイッチ指定画面234は、管理者1によってネットワークの構成が入力された後、S703の処理で表示されるネットワーク構成入力画面230であって、管理者1が冗長化の対象となるスイッチ300を指定するための画面である。
編集ウィンドウ231及び編集キャンバス233は、図5に示すネットワーク構成入力画面230と同じであるので説明を省略する。
なお、編集キャンバス233には、S701で管理者1によって入力されたネットワークの構成が表示されている。
サブメニュー235は、管理者1がスイッチ300のアイコンをマウスで指定することによって、表示される。サブメニュー235は、「冗長化」、「コピー」、「削除」及び「プロパティ」を含む。
管理者1があるスイッチ300を指定した場合、指定されたスイッチ300のアイコンが強調して表示される。なお、指定されたスイッチ300のアイコンを強調して表示する方法には、点線等でそのスイッチ300を囲む等の方法がある。
そして、強調して表示されたスイッチ300のアイコン付近にサブメニュー235が表示される。管理者1が「冗長化」を指定すると、そのスイッチ300のアイコンによって特定されるスイッチ300が冗長化の対象となるスイッチ300として選択される。
この場合、管理サーバ2は、冗長化の対象となるスイッチ300として選択されたスイッチ300の一意な識別子を検索する。
本実施形態では、冗長化の対象となるスイッチ300は、マウスによって選択されるが、管理者1がキーボードを介して、冗長化の対象となるスイッチ300の識別子を入力してもよい。
本発明は、この冗長化スイッチ指定画面のような管理者との間のユーザインターフェースを備えることによって、従来、管理者が個々のスイッチを設定しなければならなかった冗長構成ネットワークの設計作業を、画面上でネットワーク内の冗長化対象のスイッチを選択することで実現可能とする。これにより、本発明は管理者による冗長構成ネットワーク設計作業の誤りを低減し、冗長構成ネットワーク設計作業の信頼性を高める効果を有する。さらに詳細には、本発明は、画面上に図形で設計対象のネットワークを表示することによって、管理者が冗長化対象スイッチを直感的に選択可能となり、設計の誤りを低減する効果を有する。
図15は、本発明の第一実施形態の冗長化構成生成処理のフローチャートである。
冗長構成設定生成プログラム211がCPU24によって実行されることにより、冗長化構成生成処理は実行される。なお、冗長化構成生成処理は、図4に示すS703の処理である。
まず、管理者1は、冗長化スイッチ指定画面234を介して、冗長化の対象となる冗長化対象スイッチ300を指定する。そして、CPU24は、指定された冗長化対象スイッチ300の識別子を取得する(S1801)。なお、CPU24は、S1801の処理で取得されたスイッチ300の識別子をS0として保持する。
そして、CPU24は、冗長化対象スイッチ300(S0)とともに冗長化スイッチを構成する新規スイッチ300(S)に対応するポート情報管理テーブル213及びVLAN情報管理テーブル212を、メモリ20上に生成する(S1802)。
次に、CPU24は、冗長化対象スイッチ300(S0)に対応するポート情報管理テーブル213を参照し、冗長化対象スイッチ300(S0)に接続される接続先スイッチ300を一つ選択し、接続先スイッチ300の識別子及び接続先スイッチ300に備わるポートのうち冗長化対象スイッチ300に接続されるポートの識別子を取得する(S1803)。なお、CPU24は、S1802の処理で取得したスイッチの識別子をS1として保持し、S1802の処理で取得したポートの識別子をP1として保持する。ここで、冗長化対象スイッチ300(S0)と接続先スイッチ300(S1)との間の接続を、有効なリンクという。よって、冗長化対象スイッチ300(S0)と利用者端末340との間の接続は、有効なリンクではない。
具体的には、CPU24は、冗長化対象スイッチ300(S0)に対応するポート情報管理テーブル213に登録されたエントリから、接続先ノード識別子21302にスイッチ300の識別子が登録されているエントリを一つ選択する。そして、CPU24は、選択したエントリから、接続先ノード識別子21302に登録されたスイッチの識別子及び接続先ポート識別子21303に登録されたポートの識別子を取得する。
次に、CPU24は、S1803の処理で取得したスイッチ300の識別子S1及びポートの識別子P1を参照し、図16に示す冗長リンク生成処理を実行し(S1804)、接続先スイッチ300(S1)に対応するポート情報管理テーブル213及びVLAN情報管理テーブル212、並びに新規スイッチ300(S)に対応するポート情報管理テーブル213及びVLAN情報管理テーブル212を更新する。
次に、CPU24は、冗長化対象スイッチ300(S0)の全ての有効なリンクに対して、冗長リンク生成処理が実行されたか否かを判定する(S1805)。
S1805の処理で、冗長化対象スイッチ300(S0)の全ての有効なリンクに対して、冗長リンク生成処理が実行されていないと判定された場合、S1803の処理に戻り、冗長リンク生成処理が未だ実行されていない有効なリンクを一つ選択する。
一方、S1805の処理で、冗長化対象スイッチ300(S0)の全ての有効なリンクに対して、冗長リンク生成処理が実行されたと判定された場合、CPU24は、冗長系制御プロトコルの設定を生成する。
まず、CPU24は、冗長化対象スイッチ300(S0)に対応するポート情報管理テーブル213を参照し、冗長化対象スイッチ300(S0)に備わるポートのうちネットワーク機器に接続されていない空きポートを一つ選択し、選択された空きポートの識別子を取得する。また、CPU24は、新規スイッチ300(S)のポート情報管理テーブル213を参照し、新規スイッチ300(S)に備わるポートのうち、機器に接続されていない空きポートを一つ選択し、選択された空きポートの識別子を取得する(S1806)。なお、CPU24は、冗長化対象スイッチ300(S0)の空きポートの識別子をP4として保持し、新規スイッチ300(S)の空きポートの識別子をP5として保持する。
なお、CPU24は、新規スイッチ300(S)の空きポートを取得する場合、取得した冗長化対象スイッチ300(S0)の空きポートの識別子と同じ識別子によって識別されるポートがあれば、そのポートを空きポートとして取得する。
これによって、新規スイッチ300(S)に備わるポートのうち冗長化対象スイッチ300(S0)に接続されるポートの識別子が、冗長化対象スイッチ300(S0)に備わるポートのうち新規スイッチ300(S)に接続されるポートの識別子と同じになる。よって、管理者1は、接続先スイッチ300(S1)と冗長化スイッチを構成するスイッチ300(冗長化対象スイッチ300(S0)及び新規スイッチ300(S))との接続関係を把握しやすい。
次に、CPU24は、冗長化対象スイッチ300(S0)に備わるポートのうち、S1806の処理で取得したポートの識別子によって識別されるポート(P4)、及び新規スイッチ300(S)に備わるポートのうち、S1806の処理で取得したポート識別子によって識別されるポート(P5)を、冗長系制御プロトコルを適用するポートに設定する(S1807)。
具体的には、CPU24は、冗長化対象スイッチ300(S0)に対応するポート情報管理テーブル213に含まれるエントリのうちポート識別子21301に登録された識別子がS1806の処理で取得した空きポートの識別子(P4)と一致するエントリに含まれるVLAN識別子21304に、冗長系制御プロトコル通信用のVLANの識別子を登録する。また、CPU24は、新規スイッチ300(S)に対応するポート情報管理テーブル213に含まれるエントリのうちポート識別子21301に登録された識別子がS1806の処理で取得した空きポートの識別子(P5)と一致するエントリに含まれるVLAN識別子21304に、冗長系制御プロトコル通信用のVLANの識別子を登録する。
さらに、CPU24は、冗長化対象スイッチ300(S0)に対応するVLAN情報管理テーブル212に、VLAN識別子21201が冗長系制御プロトコル通信用のVLANの識別子であるエントリを追加する。そして、CPU24は、このエントリに含まれるポート識別子21202に、S1806の処理で取得した空きポートの識別子(P4)を登録し、IPアドレス21203に、冗長系制御プロトコル通信用のVLAN上における冗長化対象スイッチ300(S0)の一意なIPアドレスを登録する。
また、CPU24は、新規スイッチ300(S)に対応するVLAN情報管理テーブル212に、VLAN識別子21201が冗長系制御プロトコル通信用のVLANの識別子であるエントリを追加する。そして、CPU24は、このエントリに含まれるポート識別子21202に、S1806の処理で取得した空きポートの識別子(P5)を登録し、IPアドレス21203に、冗長系制御プロトコル通信用のVLAN上における新規スイッチ300(S)の一意なIPアドレスを登録する。
そして、CPU24は、図28に示す冗長系管理テーブル214を更新する。具体的には、CPU24は、ペア識別子21401に、冗長化対象スイッチ300(S1)と新規スイッチ300(S)とから構成される冗長ペアの一意な識別子を登録し、第一ノード識別子21402に、冗長ペアを構成する一方のスイッチ300の識別子を登録し、第一ポート識別子21403に、第一ノード識別子21402に登録された識別子によって識別されるスイッチ300に備わるポートのうち、冗長ペア構成する他方のスイッチ300に接続されるポートの識別子が登録され、第二ノード識別子21404に、冗長ペアを構成する他方のスイッチ300の識別子を登録し、第二ポート識別子21405に、第二ノード識別子21404に登録された識別子によって識別されるスイッチ300に備わるポートのうち、冗長ペア構成する他方のスイッチ300に接続されるポートの識別子が登録される。
次に、CPU24は、冗長化対象スイッチ300(S0)に対応するポート情報管理テーブル213を更新する(S1808)。具体的には、CPU24は、冗長化対象スイッチ300(S0)に対応するポート情報管理テーブル213に登録されたエントリのうち、ポート識別子21301に登録された識別子がS1806の処理で取得した冗長化対象スイッチ300(S0)のポート識別子(P4)と一致するエントリを選択する。そして、CPU24は、選択したエントリに含まれる接続先ノード識別子21302に、新規スイッチ300の識別子(S)を登録し、選択したエントリに含まれる接続先ポート識別子21303に新規スイッチ300(S)の空きポートの識別子(P5)を登録する。
また、CPU24は、新規スイッチ300(S)に対応するポート情報管理テーブル213を更新する(S1809)。具体的には、CPU24は、新規スイッチ300(S)に対応するポート情報管理テーブル213に登録されたエントリのうち、ポート識別子21301に登録された識別子がS1806の処理で取得した新規スイッチ300(S)のポート識別子(P5)と一致するエントリを選択する。そして、CPU24は、選択したエントリに含まれる接続先ノード識別子21302に、冗長化対象スイッチ300の識別子(S0)を登録し、選択したエントリに含まれる接続先ポート識別子21303に冗長化対象スイッチ300(S0)の空きポートの識別子(P4)を登録する。
CPU24は、S1809の処理を実行後、冗長化構成生成処理を終了する。
図16は、本発明の第一実施形態の冗長リンク生成処理のフローチャートである。
冗長構成設定生成プログラム211がCPU24によって実行されることにより、冗長リンク生成処理は実行される。なお、冗長リンク生成処理は、図15に示すS1804の処理である。
CPU24は、S1901〜S1904の処理を実行することによって、接続先スイッチ300(S1)と新規スイッチ300(S)との接続関係を、接続先スイッチ300(S1)に対応するポート情報管理テーブル213及び新規スイッチ300(S)に対応するポート情報管理テーブル213に設定する。
まず、CPU24は、接続先スイッチS1に備わるポートのうち、ネットワーク機器に接続されていない空きポートを一つ選択し、選択された空きポートの識別子を取得する(S1901)。なお、CPU24は、接続先スイッチ300(S1)の空きポートの識別子をP2として保持する。
次に、CPU24が接続先スイッチ300(S1)の空きポートを取得する具体的な方法について説明する。
まず、CPU24は、接続先スイッチ300(S1)に備わるポートのうち、図15に示す冗長化構成生成処理のS1803の処理で選択した冗長化対象スイッチ300(S0)に接続されるポートの識別子(P1)と番号が連続するポートの識別子によって識別されるポートが空きポートか否かを判定する。
そして、ポートの識別子(P1)と番号が連続するポートの識別子によって識別されるポートが空きポートである場合には、このポートの識別子を取得する。
一方、ポートの識別子(P1)と番号が連続するポートの識別子によって識別されるポートが空きポートでない場合には、他のポートが空きポートであるか否かを判定する。
これによって、ポートの識別子(P1)と番号が連続するポートの識別子によって識別されるポートが空きポートである場合には、接続先スイッチ300(S1)に備わるポートのうち冗長化対象スイッチ300(S0)に接続されるポート(P1)の識別子の番号が、接続先スイッチ300(S1)に備わるポートのうち新規スイッチ300(S)に接続されるポート(P2)の識別子と連続する。よって、管理者1は、接続先スイッチ300(S1)と冗長化スイッチを構成するスイッチ300(冗長化対象スイッチ300(S0)及び新規スイッチ300(S))との接続関係を把握しやすい。
次に、CPU24は、新規スイッチ300(S)に備わるポートのうち、ネットワーク機器に接続されていない空きポートを一つ選択し、選択された空きポートの識別子を取得する(S1902)。なお、CPU24は、新規スイッチ300(S)の空きポートの識別子をP3として保持する。
次に、CPU24が新規スイッチ300(S)の空きポートを取得する具体的な方法について説明する。
まず、CPU24は、新規スイッチ300(S)に備わるポートにおいて、冗長化対象スイッチ300(S0)に備わるポートのうち接続先スイッチ300(S1)に接続されるポートの識別子と番号が同じポートの識別子によって識別されるポートが空きポートか否かを判定する。
そして、接続先スイッチ300(S1)に接続されるポートの識別子と番号が同じポートの識別子によって識別されるポートが空きポートである場合には、このポートの識別子を取得する。
一方、接続先スイッチ300(S1)に接続されるポートの識別子と番号が同じポートの識別子によって識別されるポートが空きポートでない場合には、他のポートが空きポートであるか否かを判定する。
これによって、冗長化対象スイッチ300(S0)に備わるポートのうち接続先スイッチ300(S1)に接続されるポートの識別子と番号が同じポートの識別子によって識別されるポートが空きポートである場合には、新規スイッチ300(S)に備わるポートのうち接続先スイッチ300(S1)に接続されるポートの識別子が、冗長化対象スイッチ300(S0)に備わるポートのうち接続先スイッチ300(S1)に接続されるポートの識別子と同じになる。よって、管理者1は、接続先スイッチ300(S1)と冗長化スイッチを構成するスイッチ300(冗長化対象スイッチ300(S0)及び新規スイッチ300(S))との接続関係を把握しやすい。
次に、CPU24は、接続先スイッチ300(S1)に対応するポート情報管理テーブル213に含まれるエントリのうち、ポート識別子21301に登録されたポートの識別子がS1901の処理で取得したポートの識別子(P2)と一致するエントリを選択する。そして、CPU24は、選択したエントリに含まれる接続先ノード識別子21302に新規スイッチ300(S)の識別子を登録し、選択したエントリに含まれる接続先ポート識別子21303にS1902の処理で取得したポートの識別子(P3)を登録する(S1903)。
CPU24は、新規スイッチ300(S)に対応するポート情報管理テーブル213に含まれるエントリのうち、ポート識別子21301に登録されたポートの識別子がS1902の処理で取得したポートの識別子(P3)と一致するエントリを選択する。そして、CPU24は、選択したエントリに含まれる接続先ノード識別子21302に接続先スイッチ300(S1)の識別子を登録し、選択したエントリに含まれる接続先ポート識別子21303にS1901の処理で取得したポートの識別子(P2)を登録する(S1904)。
次に、新規スイッチ300(S)及び接続先スイッチ300(S1)にVLANを設定する処理について説明する。
まず、CPU24は、接続先スイッチ300(S1)に対応するポート情報管理テーブル213を参照し、S1803の処理で選択したポート(P1)に割り当てられたVLANの識別子から、一つのVLANの識別子を取得する(S1905)。なお、CPU24は、選択したVLANの識別子を、V1として保持する。
まず、CPU24は、接続先スイッチ300(S1)に備わるポートのうち新規スイッチ300(S)に接続されるポート(P2)に、接続先スイッチ300(S1)に備わるポートのうち冗長化対象スイッチ300(S0)と接続するスイッチ300に接続されるポートに割り当てられたVLANを割り当てるため、S1906〜S1907の処理を実行する。これによって、CPU24は、接続先スイッチ300(S1)に対応するポート情報管理テーブル213及び接続先スイッチ300(S1)に対応するポート情報管理テーブル213を更新する。
CPU24は、接続先スイッチ300(S1)に対応するポート情報管理テーブル213に含まれるエントリのうち、ポート識別子21301に登録されたポートの識別子がS1901の処理で取得したポートの識別子(P2)と一致するエントリを選択する。そして、CPU24は、選択したエントリに含まれるVLAN識別子21304に、S1905の処理で取得したVLANの識別子(V1)を登録する。
そして、CPU24は、接続先スイッチ300(S1)に対応するVLAN情報管理テーブル212に含まれるエントリのうち、VLAN識別子21201に登録されたVLANの識別子がS1905の処理で取得したVLANの識別子(V1)と一致するエントリを選択する。CPU24は、選択したエントリに含まれるポート識別子21202に、S1901の処理で取得したポートの識別子(P2)を登録する。
次に、CPU24は、新規スイッチ300(S)に備わるポートのうち接続先スイッチ300(S1)に接続されるポート(P3)に、接続先スイッチ300(S1)に備わるポートのうち冗長化対象スイッチ300(S0)と接続するスイッチ300に接続されるポートに割り当てられたVLANを割り当てるため、S1908〜S1909の処理を実行する。これによって、CPU24は、新規スイッチ300(S)に対応するポート情報管理テーブル213及び新規スイッチ300(S)に対応するVLAN情報管理テーブル212を更新する。
まず、CPU24は、新規スイッチ300(S)に対応するポート情報管理テーブル213に含まれるエントリのうち、ポート識別子21301に登録されたポートの識別子がS1902の処理で取得したポートの識別子(P3)と一致するエントリを選択する。そして、CPU24は、選択したエントリに含まれるVLAN識別子21304に、S1905の処理で取得したVLANの識別子(V1)を登録する(S1908)。
そして、CPU24は、新規スイッチ300(S)に対応するVLAN情報管理テーブル212に含まれるエントリのうち、VLAN識別子21201に登録されたVLANの識別子がS1905の処理で取得したVLANの識別子(V1)と一致するエントリを選択する。CPU24は、選択したエントリに含まれるポート識別子21202に、S1902の処理で取得したポートの識別子(P3)を登録する(S1909)。
なお、新規スイッチ300(S)に対応するVLAN情報管理テーブル212に含まれるエントリに、VLAN識別子21201に登録されたVLANの識別子がS1905の処理で取得したVLANの識別子(V1)と一致するエントリが存在しない場合、CPU24は、VLAN識別子21201に登録されたVLANの識別子がS1905の処理で取得したVLANの識別子(V1)と一致するエントリを追加する。そして、CPU24は、追加したエントリに含まれるポート識別子21202に、S1902の処理で取得したポートの識別子(P3)を登録する。
次に、CPU24は、S1803の処理で選択したポート(P1)に割り当てられた全てのVLANの識別子に対して、S1906〜S1909の処理が実行されたか否かを判定する(S1910)。
S1803の処理で選択したポート(P1)に割り当てられた全てのVLANの識別子に対して、S1906〜S1909の処理が実行されたと判定された場合、CPU24は、冗長リンク生成処理を終了し、図15に示すS1805の処理に進む。
一方、S1803の処理で選択したポート(P1)に割り当てられた全てのVLANの識別子に対して、S1906〜S1909の処理が実行されていない場合、CPU24は、S1905の処理に戻り、他のVLANの識別子を取得する。
図17は、本発明の第一実施形態の冗長化構成生成処理が実行された後のネットワークを確認するための冗長系表示画面236を示す図である。
冗長系表示画面236は、編集ウィンドウ231及び編集キャンバス233を含む。
冗長系表示画面236は、図4に示す冗長化構成生成処理が実行された後に、更新されたポート情報管理テーブル213及びVLAN情報管理テーブル212に基づいて、表示される画面である。
なお、冗長化スイッチを構成する新たに追加された新規スイッチ300のアイコンが点線で表示される。また、新規スイッチ300と他のスイッチ300とのリンクも点線で表示される。これによって、管理者1は、新たに新規スイッチ300が追加されたことによる変更を容易に把握できる。
本発明は、このように、冗長系表示画面に設計後のネットワーク構成を表示することによって、管理者による設計内容の直観的な把握を助ける効果を有する。これによって、管理者は、設計内容が設計の意図に沿うか否かを容易に把握でき、最終的な設計内容を容易に確認できるとともに、設計の誤りを低減できる。
次に、図2おいて管理者1が冗長化対象スイッチ300にスイッチ301を指定し、新規スイッチ300としてスイッチ305が指定される場合に、CPU24が冗長化構成生成処理を実行することによって更新するスイッチ301〜305に対応するポート情報管理テーブル213、VLAN情報管理テーブル212及び冗長系管理テーブル214を図18〜図28を用いて説明する。なお、冗長化対象スイッチ300を冗長化対象スイッチ301とし、新規スイッチ300を新規スイッチ305とする。
まず、冗長化構成生成処理によって更新された冗長化対象スイッチ301に対応するポート情報管理テーブル2131及びVLAN情報管理テーブル2121を、図18及び図26を用いて説明する。
図18は、本発明の第一実施形態の冗長化構成生成処理によって更新された冗長化対象スイッチ301に対応するポート情報管理テーブル2131を示す図である。
冗長化対象スイッチ301に対応するポート情報管理テーブル2131は、S1807及びS1808の処理で更新される。
具体的には、S1808の処理で、ポート識別子21301に登録された識別子が「7」と一致するエントリに含まれる接続先ノード識別子21302には、新規スイッチ305の識別子「305」が登録される。また、このエントリに含まれる接続先ポート識別子21303には、新規スイッチ305に備わるポートのうち、冗長化対象スイッチ301に接続されるポートの識別子「7」が登録される。さらに、S1807の処理で、このエントリに含まれるVLAN識別子21304には、冗長系制御プロトコル通信用のVLANの識別子「200」が登録される。
図26は、本発明の第一実施形態の冗長化構成生成処理によって更新された冗長化対象スイッチ301に対応するVLAN情報管理テーブル2121を示す図である。
冗長化対象スイッチ301に対応するVLAN情報管理テーブル2121は、S1807の処理で更新される。
具体的には、S1807の処理で、VLAN識別子21201が冗長系制御プロトコル通信用のVLANの識別子「200」であるエントリが追加される。そして、このエントリに含まれるポート識別子21202に、冗長化対象スイッチ301に備わるポートのうち新規スイッチ305に接続されるポートの識別子「7」が登録され、このエントリに含まれるIPアドレス21203に、VLAN「200」上における冗長化対象スイッチ301の一意なIPアドレス「192.168.200.1」が登録される。
次に、冗長化構成生成処理によって更新されたスイッチ302に対応するポート情報管理テーブル2132及びVLAN情報管理テーブル2122を、図19及び図23を用いて説明する。
図19は、本発明の第一実施形態の冗長化構成生成処理によって更新されたスイッチ302に対応するポート情報管理テーブル2132を示す図である。
スイッチ302は、冗長化対象スイッチ301に接続される接続先スイッチ300である。したがって、スイッチ302は、図15に示すS1803の処理で接続先スイッチ300として、スイッチ302の識別子「302」及びスイッチ302に備わるポートのうち冗長化対象スイッチ301に接続されるポートの識別子「6」が選択される。
そして、図16に示すS1901の処理で、スイッチ302に備わるポートにおいて、冗長化対象スイッチ301に接続されるポートの識別子「6」と連続するポートの識別子「7」が空きポートとして取得される。よって、S1903の処理で、ポート情報管理テーブル2132に含まれるエントリのうちポート識別子21301に登録された識別子が「7」であるエントリに含まれる接続先ノード識別子21302に、新規スイッチ305の識別子「305」を登録し、このエントリに含まれる接続先ポート識別子21303に、新規スイッチ305に備わるポートのうちS1902の処理で取得した空きポートの識別子「0」を登録する。
なお、S1902の処理において、CPU24は、新規スイッチ305に備わるポートにおいて、冗長化対象スイッチ301に備わるポートのうちスイッチ302に接続されるポートの識別子「0」と同じポートの識別子「0」によって識別されるポートを空きポートとして取得する。つまり、新規スイッチ305に備わるポートのうちポートの識別子「0」によって識別されるポートがスイッチ302に接続される。
したがって、スイッチ302に対応するポート情報管理テーブル2132に含まれる接続先ポート識別子21303に、新規スイッチ305に備わるポートの識別子「0」が登録される。
図16に示すS1905の処理で、スイッチ302に備わるポートのうち冗長化対象スイッチ301に接続されるポート「6」に割り当てられたVLANの識別子「99」が取得される。
そして、S1906の処理で、ポート情報管理テーブル2132に含まれるエントリのうちポート識別子21301に登録された識別子が「7」であるエントリに含まれるVLAN識別子21304に、S1905の処理で取得されたVALNの識別子「99」が登録される。
図23は、冗長化構成生成処理によって更新されたスイッチ302に対応するVLAN情報管理テーブル2122を示す図である。
図16に示すS1907の処理で、VLAN情報管理テーブル2122に含まれるエントリのうち、VLAN識別子21201に登録された識別子がS1905の処理で取得されたVLANの識別子「99」と一致するエントリに含まれるポート識別子21202に、S1902の処理で新規スイッチ305に備わるポートのうち空きポートとして取得されたポートの識別子「7」が登録される。
以上により、スイッチ302に対応するポート情報管理テーブル2132に、スイッチ302と新規スイッチ305との接続関係が登録される。また、スイッチ302に対応するポート情報管理テーブル2132及びVLAN情報管理テーブル2122に、スイッチ302に備わるポートのうち冗長化対象スイッチ301に接続されるポート「6」に割り当てられたVLANが、スイッチ302に備わるポートのうち新規スイッチ305に接続されるポート「7」に割り当てられる。
次に、冗長化構成生成処理によって更新されたスイッチ303に対応するポート情報管理テーブル2133及びVLAN情報管理テーブル2123を、図20及び図24を用いて説明する。
図20は、本発明の第一実施形態の冗長化構成生成処理によって更新されたスイッチ303に対応するポート情報管理テーブル2133を示す図である。
スイッチ303は、冗長化対象スイッチ301に接続される接続先スイッチ300である。したがって、スイッチ303は、図15に示すS1803の処理で接続先スイッチ300として、スイッチ302の識別子「303」及びスイッチ303に備わるポートのうち冗長化対象スイッチ301に接続されるポートの識別子「6」が選択される。
図19と同じく、図16に示すS1903の処理で、CPU24は、ポート情報管理テーブル2133に含まれるエントリのうちポート識別子21301に登録された識別子が「7」であるエントリに含まれる接続先ノード識別子21302に、新規スイッチ305の識別子「305」を登録し、このエントリに含まれる接続先ポート識別子21303に、新規スイッチ305に備わるポートのうちS1902の処理で取得した空きポートの識別子「1」を登録する。
そして、S1906の処理で、CPU24は、このエントリに含まれるVLAN識別子21304に、S1905の処理で取得されたポート「6」に割り当てられたVLANの識別子「10」、「20」及び「99」を登録する。
図24は、本発明の第一実施形態の冗長化構成生成処理によって更新されたスイッチ303に対応するVLAN情報管理テーブル2123を示す図である。
図16に示すS1907の処理で、CPU24は、VLAN情報管理テーブル2123に含まれるエントリのうち、VLAN識別子21201に登録された識別子がS1905の処理で取得されたVLANの識別子「10」、「20」及び「99」のいずれかと一致するすべてのエントリに含まれるポート識別子21202に、S1902の処理で取得されたポートの識別子「7」を登録する。
以上により、スイッチ303に対応するポート情報管理テーブル2133に、スイッチ303と新規スイッチ305との接続関係が登録される。また、スイッチ303に対応するポート情報管理テーブル2133及びVLAN情報管理テーブル2123に、スイッチ303に備わるポートのうち冗長化対象スイッチ301に接続されるポート「6」に割り当てられたVLANが、スイッチ303に備わるポートのうち新規スイッチ305に接続されるポート「7」に割り当てられる。
次に、冗長化構成生成処理によって更新されたスイッチ304に対応するポート情報管理テーブル2134及びVLAN情報管理テーブル2124を、図21及び図25を用いて説明する。
図21は、本発明の第一実施形態の冗長化構成生成処理によって更新されたスイッチ304に対応するポート情報管理テーブル2134を示す図である。
スイッチ304は、冗長化対象スイッチ301に接続される接続先スイッチ300である。したがって、スイッチ304は、図15に示すS1803の処理で接続先スイッチ300として、スイッチ304の識別子「304」及びスイッチ304に備わるポートのうち冗長化対象スイッチ301に接続されるポートの識別子「6」が選択される。
図19と同じく、図16に示すS1903の処理で、CPU24は、ポート情報管理テーブル2134に含まれるエントリのうちポート識別子21301に登録された識別子が「7」であるエントリに含まれる接続先ノード識別子21302に、新規スイッチ305の識別子「305」を登録し、このエントリに含まれる接続先ポート識別子21303に、新規スイッチ305に備わるポートのうちS1902の処理で取得した空きポートの識別子「2」を登録する。
そして、S1906の処理で、CPU24は、このエントリに含まれるVLAN識別子21304に、S1905の処理で取得されたポート「6」に割り当てられたVALNの識別子「10」、「20」及び「99」を登録する。
図25は、本発明の第一実施形態の冗長化構成生成処理によって更新されたスイッチ304に対応するVLAN情報管理テーブル2124を示す図である。
図16に示すS1907の処理で、CPU24は、VLAN情報管理テーブル2124に含まれるエントリのうち、VLAN識別子21201に登録された識別子がS1905の処理で取得されたVLANの識別子「10」、「20」及び「99」のいずれかと一致するエントリに含まれるポート識別子21202に、S1902の処理で取得されたポートの識別子「7」を登録する。
以上により、スイッチ304に対応するポート情報管理テーブル2134に、スイッチ304と新規スイッチ305との接続関係が登録される。また、スイッチ304に対応するポート情報管理テーブル2134及びVLAN情報管理テーブル2124に、スイッチ304に備わるポートのうち冗長化対象スイッチ301に接続されるポート「6」に割り当てられたVLANが、スイッチ304に備わるポートのうち新規スイッチ305に接続されるポート「7」に割り当てられる。
次に、冗長化構成生成処理によって更新された新規スイッチ305に対応するポート情報管理テーブル2135及びVLAN情報管理テーブル2125を、図22及び図27を用いて説明する。
図22は、本発明の第一実施形態の冗長化構成生成処理によって更新された新規スイッチ305に対応するポート情報管理テーブル2135を示す図である。
図16に示すS1904の処理で、冗長化対象スイッチ301に接続されるスイッチ302、スイッチ303及びスイッチ304の識別子並びにスイッチ302、スイッチ303及びスイッチ304に備わるポートのうち冗長化対象スイッチ301に接続されたポートの識別子が、接続先ノード識別子21302及び接続先ポート識別子21303に登録される。
スイッチ302、スイッチ303及びスイッチ304に備わるポートのうち新規スイッチ305に接続されるポートは、図19〜図22で説明したように、これらのスイッチ302〜304に備わるポートのうち冗長化対象スイッチに接続されるポート「6」と連続するポート「7」である。
また、新規スイッチ305に備わるポートのうちスイッチ302に接続されるポートは、図19で説明したように、冗長化対象スイッチ301に備わるポートのうちスイッチ302に接続されるポート「0」と同じポート「0」である。
同様に、新規スイッチ305に備わるポートのうちスイッチ303に接続されるポートはポート「1」で、新規スイッチ305に備わるポートのうちスイッチ304に接続されるポートはポート「2」である。
よって、ポート情報管理テーブル2135に含まれるエントリのうち、ポート識別子21301に登録された識別子が「0」であるエントリに含まれる接続先ノード識別子21302にはスイッチ302の識別子「302」が登録され、このエントリに含まれる接続先ポート識別子21303にはスイッチ302のポートの識別子「7」が登録される。
同様に、ポート識別子21301に登録された識別子が「1」であるエントリに含まれる接続先ノード識別子21302にはスイッチ303の識別子「303」が登録され、このエントリに含まれる接続先ポート識別子21303にはスイッチ303のポートの識別子「7」が登録される。また、ポート識別子21301に登録された識別子が「2」であるエントリに含まれる接続先ノード識別子21302にはスイッチ304の識別子「304」が登録され、このエントリに含まれる接続先ポート識別子21303にはスイッチ304のポートの識別子「7」が登録される。
次に、CPU24は、スイッチ302〜スイッチ304に備わるポートのうち冗長化対象スイッチ301に接続されるポート「6」に割り当てられたVLANの識別子をVLAN識別子21304に登録する。
よって、ポート情報管理テーブル2135に含まれるエントリのうち、ポート識別子21301に登録された識別子が「0」であるエントリに含まれるVLAN識別子21304には「99」が登録され、ポート識別子21301に登録された識別子が「1」であるエントリに含まれるVLAN識別子21304には「10」、「20」及び「99」が登録され、ポート識別子21301に登録された識別子が「2」であるエントリに含まれるVLAN識別子21304には「10」、「20」及び「99」が登録される。
そして、CPU24は、S1807及びS1809の処理で、ポート情報管理テーブル2135に含まれるエントリのうち、ポート識別子21301に登録された識別子が「7」であるエントリに含まれる接続先ノード識別子21302に冗長化対象スイッチ301の識別子「301」を登録し、このエントリに含まれる接続先ポート識別子21303に冗長化対象スイッチ301に備わるポートのうち新規スイッチ305に接続されるポートの識別子「7」を登録し、このエントリに含まれるVLAN識別子21304に冗長系制御プロトコル通信用のVLANの識別子「200」を登録する。
図27は、本発明の第一実施形態の冗長化構成生成処理によって更新された新規スイッチ305に対応するVLAN情報管理テーブル2125を示す図である。
S1802の処理で生成された新規スイッチ305に対応するVLAN情報管理テーブル2125には、何も登録されていない。よって、S1909の処理で、スイッチ302〜スイッチ304に備わるポートのうち冗長化対象スイッチ301に接続されるポート「6」に割り当てられたVLANの識別子「10」、「20」。「99」が、それぞれVLAN識別子21201に登録され、エントリが追加される。
そして、VLAN識別子21201が「10」のエントリに含まれるポート識別子21202には、VLAN「10」が割り当てられるポートの識別子「1」及び「2」が登録される。また、このエントリに含まれるIPアドレス21203には、VLAN「10」上での新規スイッチ305の一意なIPアドレス「192.168.10.205」が登録される。
なお、VLAN識別子21201が「20」のエントリ及び「99」のエントリについても、同じなので説明を省略する。
次に、S1807の処理で、VLAN情報管理テーブル2125は、さらに更新される。
具体的には、S1807の処理で、VLAN識別子が冗長系制御プロトコル通信用のVLANの識別子「200」であるエントリが追加される。そして、このエントリに含まれるポート識別子21202に、新規スイッチ305に備わるポートのうち冗長化対象スイッチ301に接続されるポートの識別子「7」が登録され、このエントリに含まれるIPアドレス21203に、VLAN「200」上における新規スイッチ305の一意なIPアドレス「192.168.200.5」が登録される。
図28は、本発明の第一実施形態の冗長化構成生成処理によって更新された冗長系管理テーブル214を示す図である。
冗長系管理テーブル214は、ペア識別子21401、第一ノード識別子21402、第一ポート識別子21403、第二ノード識別子21404及び第二ポート識別子21405を含む。
ペア識別子21401には、冗長化スイッチを構成するスイッチ300の組合せのネットワーク4内での一意な識別子が登録される。
第一ノード識別子21402には、冗長化スイッチを構成する一方のスイッチ300の一意な識別子が登録される。
第一ポート識別子21403には、冗長化スイッチを構成する一方のスイッチ300に備わるポートのうち冗長化スイッチを構成する他方のスイッチ300に接続される一意なポートの識別子が登録される。
第二ノード識別子21404には、冗長化スイッチを構成する他方のスイッチ300の一意な識別子が登録される。
第二ポート識別子21405には、冗長化スイッチを構成する他方のスイッチ300に備わるポートのうち冗長化スイッチを構成する一方のスイッチ300に接続されるポートの一意な識別子が登録される。
なお、冗長化スイッチを構成するスイッチであれば、第一ノード識別子21402及び第二ノード識別子21404のどちらに登録されてもよい。
CPU24は、S1807の処理で、第一ノード識別子21402に冗長化対象スイッチ301の識別子「301」が登録され、第一ポート識別子21403に冗長化対象スイッチ301に備わるポートのうち新規スイッチ305に接続されるポートの識別子「7」が登録され、第二ノード識別子21404に新規スイッチ305の識別子「305」が登録され、第二ポート識別子21405に新規スイッチ305に備わるポートのうち冗長化対象スイッチ301に接続されるポートの識別子「7」が登録される。
また、ペア識別子21401には、冗長化スイッチを構成する冗長化対象スイッチ301と新規スイッチ305との組み合わせの一意な識別子「1」が登録される。
次に、管理サーバ2によって送信される各スイッチ301〜305の設定内容を更新するための更新メッセージを、図29〜図33を用いて説明する。
図29は、本発明の第一実施形態のスイッチ301の設定内容を更新するための更新メッセージ2051を説明する図である。
更新メッセージ2051は、スイッチ301に備わるポートのうち、ポートの識別子「7」によって識別されるポートに、VLAN「200」を割り当てる指示をXMLで記述したメッセージである。
図30は、本発明の第一実施形態のスイッチ302の設定内容を更新するための更新メッセージ2052を説明する図である。
更新メッセージ2052は、スイッチ302に備わるポートのうち、ポートの識別子「7」によって識別されるポートに、VLAN「99」が割り当てられる指示をXMLで記述したメッセージである。
図31は、本発明の第一実施形態のスイッチ303の設定内容を更新するための更新メッセージ2053を説明する図である。
更新メッセージ2053は、スイッチ303に備わるポートのうち、ポートの識別子「7」によって識別されるポートに、VLAN「10」、「20」及び「99」を割り当てる指示をXMLで記述したメッセージである。
図32は、本発明の第一実施形態のスイッチ304の設定内容を更新するための更新メッセージ2054を説明する図である。
更新メッセージ2054は、スイッチ304に備わるポートのうち、ポートの識別子「7」によって識別されるポートに、VLAN「10」、「20」及び「99」を割り当てる指示をXMLで記述したメッセージである。
図33は、本発明の第一実施形態のスイッチ305の設定内容を更新するための更新メッセージ2055を説明する図である。
更新メッセージ2055は、スイッチ305に備わるポートのうち、ポートの識別子「0」によって識別されるポートにVLAN「99」を割り当て、ポートの識別子「1」によって識別されるポートにVLAN「10」、「20」及び「99」を割り当て、ポートの識別子「2」によって識別されるポートにVLAN「10」、「20」及び「99」を割り当て、ポートの識別子「7」によって識別されるポートにVLAN「200」を割り当てる指示をXMLで記述したメッセージである。
以上により、管理サーバ2は、管理者1からの入出力装置を介する指示に基づいて、各スイッチ300に対応するポート情報管理テーブル213及びVLAN情報管理テーブル212を更新する。これによって、管理サーバ2は、新規スイッチ300と既存のスイッチ300との接続関係を自動的に設計するので、管理者1は、新規スイッチ300と既存のスイッチ300との接続関係を設計しなくてもよい。
管理者1は、自動的に設計された各スイッチ301〜305の設定内容を各スイッチ300に、管理サーバ2を介して、更新できる。
(第二実施形態)
第二実施形態は、管理者1によって、ネットワークを構成するスイッチ300のうち、二つのスイッチ300が冗長化スイッチを構成するスイッチ300として選択される場合に、管理サーバ2が各スイッチ300の設定内容を自動的に設計する実施形態である。
第二実施形態を図34〜図35を用いて説明する。
図34は、本発明の第二実施形態のネットワークを構成するスイッチ300のうち、二つのスイッチ300が冗長化スイッチを構成するスイッチ300として選択される場合に、管理サーバ2上でネットワークを設計する場合のシーケンス図である。
まず、図4に示すS701の処理と同じく、管理者1は、ネットワークの構成を管理サーバ2に入力する(S3701)。
次に、図4に示すS702の処理と同じく、管理サーバ2は、入力されたネットワークの構成に基づいて、VLAN情報管理テーブル212、ポート情報管理テーブル213及び冗長系管理テーブル214によって管理されるネットワークの情報を更新する(S3702)。
そして、図4に示すS703の処理と同じく、管理サーバ2は、入力されたネットワークの構成を入出力装置23に表示する(S3703)。
次に、管理者1は、S3703の処理で表示されたネットワークを構成するスイッチ300の中から冗長化スイッチを構成する二つのスイッチ300を指定する(S3704)。
第一実施形態では、管理者1は冗長化対象スイッチ300を指定する。そして、この冗長化対象スイッチ300とともに冗長化スイッチを構成するスイッチ300は、新規スイッチ300として新たにネットワーク4に追加される。これに対して、第二実施形態では、管理者1が冗長化スイッチを構成する二つのスイッチ300を指定する。
次に、指定された冗長化スイッチを構成する二つのスイッチ300が、冗長化スイッチを構成するスイッチ300になり得る条件である冗長化条件と一致するか否かを判定する(S3712)。なお、この冗長条件判定処理については、図35で詳細を説明する。
S3712の処理で、指定された冗長化スイッチを構成する二つのスイッチ300が、冗長化条件と一致しない場合、管理サーバ2は、指定された二つのスイッチ300は冗長化スイッチにできない旨を入出力装置23に表示する。
S3712の処理で、指定された冗長化スイッチを構成する二つのスイッチ300が、冗長化条件と一致すると判定された場合、管理サーバ2は、指定された冗長化スイッチがネットワークに適用されるために必要なネットワークの構成を生成する(S3705)。
具体的には、CPU24は、図15に示す冗長化構成生成処理を実行する。なお、本実施形態の場合、冗長化スイッチを構成する一方のスイッチ300に、冗長化スイッチを構成する他方のスイッチ300とこの他方のスイッチ300に接続される接続先スイッチ300との接続関係を設定する必要がないので、冗長化構成生成処理のS1802〜S1805の処理は実行されない。
S1801の処理では、CPU24は、指定された二つのスイッチ300の識別子を取得する。なお、CPU24は、取得した一方のスイッチ300の識別子をS0として保持し、取得した他方のスイッチ300の識別子をSとして保持する。
なお、S1806〜S1809の処理については、第一実施形態と同じであるので、説明を省略する。
そして、図4に示すS706の処理と同じく、管理サーバ2は、VLAN情報管理テーブル212、ポート情報管理テーブル213及び冗長系管理テーブル214によって管理されるネットワークの情報を更新する(S3706)。次に、図4に示すS707の処理と同じく、管理サーバ2は、更新されたネットワークの構成を入出力装置23に表示する(S3707)。
図4に示すS708の処理と同じく、管理者1は、入出力装置23に表示されたネットワークの構成と実際のネットワーク4の構成とが一致するか否かを確認する(S3708)。
そして、図4にS709の処理と同じく、入出力装置23に表示されたネットワークの構成と実際のネットワーク4の構成とが一致している場合、管理者1は、設定内容を各スイッチ300に更新するように、管理サーバ2に指示する(S3709)。
図4に示すS710の処理と同じく、管理サーバ2は、この指示が入力されると、設定内容を更新する指示を各スイッチ300に送信する(S3710)。図4に示すS711の処理と同じく、各スイッチ300は、管理サーバ2からの指示を受信すると、設定内容を更新する(S3711)。
本実施形態では、S3701の処理で、ネットワークの構成を管理サーバ2に入力したが、管理サーバ2が、ネットワーク4を構成するスイッチ300から、ネットワークの構成の情報を取得してVLAN情報管理テーブル212、ポート情報管理テーブル213及び冗長系管理テーブル214によって管理されるネットワークの情報を更新してもよい。
図35は、本発明の第二実施形態の冗長化条件判定処理を示すフローチャートである。
冗長構成設定生成プログラム211がCPU24によって実行されることにより、冗長化条件判定処理は実行される。
まず、CPU24は、S3704の処理で指定された二つのスイッチ300の識別子を取得する。なお、CPU24は、指定された二つのスイッチ300のうち、一方のスイッチ300の識別子をS1として保持し、他方のスイッチ300の識別子をS2として保持する。
次に、CPU24は、指定された二つのスイッチ300(S1及びS2)に対応するポート情報管理テーブル213を参照し、スイッチ300(S1)に接続された接続先スイッチ300及びスイッチ300(S2)に接続された接続先スイッチ300を検索する(S3802)。
CPU24は、スイッチ300(S1)に接続された接続先スイッチ300の数とスイッチ300(S2)に接続された接続先スイッチ300の数とが、それぞれ3つ以上であるか否かを判定する(S3803)。
つまり、スイッチ300(S1)は、スイッチ300(S2)を除いて二台のスイッチ300に接続されるか否か、及びスイッチ300(S2)は、スイッチ300(S1)を除いて二台のスイッチ300に接続されるか否かが判定される。
S3803の処理で、スイッチ300(S1)に接続された接続先スイッチ300の数とスイッチ300(S2)に接続された接続先スイッチ300の数との少なくとも一方が、3つ未満であると判定された場合、CPU24は、指定された二つのスイッチ300は、冗長化条件に適合しないとして、冗長化判定処理を終了する(S3806)。
一方、S3803の処理で、スイッチ300(S1)に接続された接続先スイッチ300の数とスイッチ300(S2)に接続された接続先スイッチ300の数とが、それぞれ3つ以上であると判定された場合、CPU24は、スイッチ300(S1)に接続されたすべての接続先スイッチ300の識別子と、スイッチ300(S2)に接続されたすべての接続先スイッチ300の識別子とが、一致するか否かを判定する(S3804)。
S3804の処理で、スイッチ300(S1)に接続された全ての接続先スイッチ300の識別子及びスイッチ300(S2)に接続された全ての接続先スイッチ300の識別子のうち、少なくとも一つの接続先スイッチ300の識別子が一致しない場合、CPU24は、指定された二つのスイッチ300は、冗長化条件に適合しないとして、冗長化判定処理を終了する(S3806)。
一方、S3804の処理で、CPU24は、スイッチ300(S1)に接続された全ての接続先スイッチ300の識別子と、スイッチ300(S2)に接続された全ての接続先スイッチ300の識別子とが、一致する場合、指定された二つのスイッチ300は、冗長化条件に適合するとして、冗長化判定処理を終了する(S3805)。
これによって、管理者1によって指定された二つのスイッチ300のうち少なくとも一方のスイッチ300に接続される接続先スイッチ300の数が3つ以上でない場合、及び管理者1によって指定された二つのスイッチ300に接続される全ての接続先スイッチ300の識別子が一致しない場合、冗長化条件と適合しないとして、その旨が入出力装置23に表示される。よって、管理者1が冗長化スイッチを誤って設定することを防止できる。
(第三実施形態)
次に、本発明の第三実施形態を図36を用いて説明する。
第三実施形態は、管理サーバ2が、ネットワーク4に新たに新規スイッチ300が接続された場合に新規スイッチ300が送信するリンク情報に基づいて、冗長化スイッチを生成する実施形態である。
図36は、本発明の第三実施形態の管理サーバ2上でネットワークを設計する場合のシーケンス図である。
S3901〜3903の処理及びS3905〜3912の処理は、第2実施形態の図34に示すフローチャートのS3701〜3703の処理及びS3705〜3712の処理と同じであるので、説明を省略する。
S3904の処理では、新規スイッチ300が他のスイッチ300に接続された場合に、新規スイッチ300はリンク情報を管理サーバ2に送信する。なお、新規スイッチ300が接続されたスイッチ300を接続先スイッチ300という。
リンク情報は、新規スイッチ300の識別子は、新規スイッチ300に備わるポートのうち接続先スイッチ300に接続されたポートの識別子、接続先スイッチ300の識別子及び接続先スイッチ300に備わるポートのうち新規スイッチ300に接続されるポートの識別子を含む。
そして、CPU24は、リンク情報を受信し、受信したリンク情報に基づいて、新規スイッチ300に対応するポート情報管理テーブル213及び新規スイッチ300の接続先スイッチ300に対応するポート情報管理テーブル213を更新する。
具体的には、CPU24は、新規スイッチ300に対応するポート情報管理テーブル213に含まれるポート識別子21301に登録された識別子が接続先スイッチ300に接続されるポートの識別子と一致するエントリに含まれる接続先ノード識別子21302に、リンク情報に含まれる接続先スイッチ300の識別子を登録する。CPU24は、このエントリに含まれる接続先ポート識別子21303に、リンク情報に含まれる接続先スイッチ300に備わるポートのうち新規スイッチ300に接続されるポートの識別子が登録される。
次に、CPU24は、接続先スイッチ300に対応するポート情報管理テーブル213に含まれるポート識別子21301に登録される識別子が新規スイッチ300に接続されるポートの識別子と一致するエントリに含まれる接続先ノード識別子21302に、リンク情報に含まれる新規スイッチ300の識別子を登録する。CPU24は、このエントリに含まれる接続先ポート識別子21303に、リンク情報に含まれる新規スイッチ300の識別子を登録する。CPU24は、このエントリに含まれる接続先ポート識別子21303に、リンク情報に含まれる新規スイッチ300に備わるポートのうち接続先スイッチ300に接続されるポートの識別子を登録する。
そして、CPU24は、新規スイッチ300と接続先スイッチ300との間で、図35に示す冗長化条件判定処理を実行する(S3912)。
S3912の処理で、新規スイッチ300と接続先スイッチ300とが、冗長化条件と一致すると判定された場合、S3905の処理に進む。一方、S3912の処理で、新規スイッチ300及び接続先スイッチ300のうち少なくとも一方が冗長化条件と一致しない場合、CPU24は、その旨を管理者1に通知する。
なお、S3905の処理を具体的に説明する。
CPU24は、図15に示す冗長化構成生成処理を実行する。なお、本実施形態の場合、冗長化スイッチを構成する二つのスイッチ300は、新規スイッチ300及び新規スイッチ300に接続される接続先スイッチ300であるので、冗長化スイッチを構成する一方のスイッチに、冗長化スイッチを構成する他方のスイッチ300とこの他方のスイッチ300に接続される接続先スイッチ300との接続関係を設定する必要がない。したがって、冗長化構成生成処理のS1802〜S1805の処理は実行されない。
S1801の処理では、CPU24は、新規スイッチ300の識別子及び新規スイッチ300に接続される接続先スイッチ300の識別子を、受信したリンク情報から取得する。なお、CPU24は、取得した一方のスイッチ300の識別子をS0として保持し、取得した他方のスイッチ300の識別子をSとして保持する。
なお、S1806〜S1809の処理については、第一実施形態と同じであるので、説明を省略する。
このように、本発明の第三実施形態によれば、管理者1はスイッチによって構成された既存のネットワークに新たに待機系のスイッチを接続した際に、既存の現用系スイッチと新たに配備した待機系スイッチとの間で冗長系制御が有効化されたネットワークを自動的に構成することができ、冗長構成ネットワークの構築に要する時間を短縮するとともに、スイッチのVLAN設定の誤りを低減できる効果を有する。
(第四実施形態)
次に、本発明の第四実施形態を図37及び図38を用いて説明する。
第四実施形態は、管理サーバ2は、管理者1からの冗長化指示を受信した場合、ネットワーク4を構成するスイッチ300から冗長化スイッチを構成する二つのスイッチ300(冗長化ペア)を検索し、冗長化スイッチを生成する実施形態である。
図37は、本発明の第四実施形態の管理サーバ2上でネットワークを設計する場合のシーケンス図である。
S4001〜4003の処理及びS4005〜4011の処理は、第2実施形態の図34に示すフローチャートのS3701〜3703の処理及びS3705〜3711の処理と同じであるので、説明を省略する。
管理者1は、ネットワーク4を構成するスイッチ300から冗長化ペアを検索する指示を、管理サーバ2に入力する(S4004)。
CPU24は、冗長化指示が入力されると、冗長化ペアを検索する(S4005)。なお、冗長化ペア検索処理については、図38で詳細を説明する。
そして、CPU24は、冗長化ペアとして検索された二つのスイッチ300に対して、冗長化構成生成処理を実行する(S4005)。
具体的には、CPU24は、図15に示す冗長化構成生成処理を実行する。なお、本実施形態の場合、冗長化スイッチを構成する二つのスイッチ300は、冗長化ペアとして検索された二つのスイッチ300であるので、冗長化スイッチを構成する一方のスイッチに、冗長化スイッチを構成する他方のスイッチ300とこの他方のスイッチ300に接続される接続先スイッチ300との接続関係を設定する必要がない。したがって、冗長化構成生成処理のS1802〜S1805の処理は実行されない。
S1801の処理では、CPU24は、冗長化ペアとして検索された一方のスイッチ300の識別子及び冗長化ペアとして検索された他方のスイッチ300の識別子を取得する。なお、CPU24は、冗長化ペアとして検索された一方のスイッチ300の識別子をS0として保持し、冗長化ペアとして検索された他方のスイッチ300の識別子をSとして保持する。
なお、S1806〜S1809の処理については、第一実施形態と同じであるので、説明を省略する。
図38は、本発明の第四実施形態の冗長化ペア検索処理のフローチャートである。
まず、CPU24は、ネットワーク4を構成するスイッチ300から二つのスイッチ300の識別子を取得する(S4101)。なお、CPU24は、取得した二つのスイッチ300のうち一方のスイッチ300の識別子をS1として保持し、他方のスイッチ300の識別子をS2として保持する。
次に、CPU24は、取得した二つの識別子(S1及びS2)によって識別されるスイッチ300に対応するポート情報管理テーブル213を検索する(S4102)。
そして、取得した二つの識別子(S1及びS2)によって識別されるスイッチ300が、図35に示す冗長化条件と一致するか否かを判定する(S4103)。
S4103の処理で、取得した二つの識別子(S1及びS2)によって識別されるスイッチ300が、冗長化条件と一致する場合、CPU24は、冗長化ペア検索処理が成功したとして、冗長化ペア検索処理を終了する。
一方、S4103の処理で、取得した二つの識別子(S1及びS2)によって識別されるスイッチ300のうち少なくとも一方が冗長化条件と一致しない場合、CPU24は、他に冗長化ペアの候補となるスイッチ300が存在するか否かを判定する(S4104)。
具体的には、CPU24は、ネットワーク4を構成するスイッチ300の組み合わせに対して、S4103の処理が実行されたか否かを判定する。
S4104の処理で、他に冗長化ペアの候補となるスイッチ300が存在すると判定された場合、CPU24は、S4101の処理で取得した二つのスイッチ300の識別子と異なる組み合わせとなる二つのスイッチ300の識別子を取得する(S4105)。なお、CPU24は、取得した二つのスイッチ300の識別子のうち一方のスイッチ300の識別子を新たにS1として保持し、他方のスイッチ300の識別子を新たにS2として保持する。
そして、CPU24は、S4105の処理で取得した識別子(S1及びS2)によって識別されるスイッチ300に対してS4103の処理を実行する。
これによって、管理者1が冗長化ペアを検索する指示を管理サーバ2に入力するだけで、管理サーバ2が冗長化ペアを検索し、ネットワーク4を冗長化するために必要な各スイッチ300の設定内容を自動的に生成し、各スイッチ300の設定内容を更新するので、管理者1の作業量を低減できる。
また、本実施形態では、ネットワーク4を構成するスイッチ300のすべての組み合わせに対して、S4103の処理が実行される。しかし、CPU24が、直接接続されたスイッチ300の組み合わせに対して、S4103の処理を実行するようにしてもよい。
具体的には、CPU24は、S4101及びS4105の処理で、一方のスイッチ300を選択し、選択したスイッチ300に直接接続されるスイッチ300を選択する。そして、CPU24は、選択した二つのスイッチ300の識別子を取得する。
また、CPU24は、S4104の処理で、直接接続されたスイッチ300のすべての組み合わせに対してS4103の処理が実行されたか否かを判定する。
これによって、全てのスイッチ300について、S4102〜S4107の処理が実行されず、直接接続されたスイッチ300に対してS4102〜S4107の処理が実行されるので、CPU24の処理負荷を低減できる。