(57)【要約】【課題】冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出方法を提供する。【解決手段】ＮＩＣペア検出部１５が、複数のＮＩＣ１２に含まれる第１のＮＩＣ１２を送信元とし、複数のＮＩＣ１２であって第１のＮＩＣ１２以外のＮＩＣ１２の各々を送信先として、ＭＡＣアドレスを用い、レイヤ２レベルで、プローブパケットを送信する。ＮＩＣペア検出部１５が、第１のＮＩＣ１２以外のＮＩＣ１２の中から、プローブパケットを受信したＮＩＣ１２である１又は複数の第２のＮＩＣ１２を抽出する。ＮＩＣペア検出部１５が、第１のＮＩＣ１２と第２のＮＩＣ１２とを、冗長化可能なＮＩＣ１２の組合せとして検出する。【選択図】図２
2010283586.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出方法であって、
前記複数のネットワークアダプタの各々のＭＡＣアドレスを取得する取得ステップと、
前記複数のネットワークアダプタに含まれる第１のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第１のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第１のネットワークアダプタ、及び、前記第１のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記ＭＡＣアドレスを用い、レイヤ２レベルで、プローブパケットを送信する送信ステップと、
前記第１のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである１又は複数の第２のネットワークアダプタを抽出する抽出ステップと、
前記第１のネットワークアダプタと前記第２のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出ステップとを備える
ことを特徴とする冗長化ペア検出方法。
【請求項２】
当該冗長化ペア検出方法は、更に、
前記冗長化可能なネットワークアダプタの組合せから、当該組合せに含まれる前記第１のネットワークアダプタ及び前記第２のネットワークアダプタの全てが重複する組合せを抽出し、前記重複する組合せの中の１個の組合せのみを残し、他の組合せを廃棄する重複処理ステップを備える
ことを特徴とする請求項１に記載の冗長化ペア検出方法。
【請求項３】
前記ネットワークは前記複数のネットワークアダプタに対応する複数のネットワークスイッチを備え、
前記冗長化可能なネットワークアダプタの組合せとして検出された前記第１のネットワークアダプタ及び前記第２のネットワークアダプタに対応するネットワークスイッチは、レイヤ２レベルで通信可能に接続されている
ことを特徴とする請求項１に記載の冗長化ペア検出方法。
【請求項４】
当該冗長化ペア検出方法は、更に、
前記複数のネットワークアダプタの冗長化設定を行う第１設定部を呼出し、前記冗長化可能なネットワークアダプタの組合せを、呼出した前記第１設定部に通知する第１の通知ステップと、
前記第１設定部から前記複数のネットワークアダプタの冗長化設定を行う第２設定部を呼出し、前記冗長化可能なネットワークアダプタの組合せを、呼出した前記第２設定部に通知する第２の通知ステップを備える
ことを特徴とする請求項１に記載の冗長化ペア検出方法。
【請求項５】
ネットワークに接続され、複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する通信装置であって、
前記複数のネットワークアダプタの各々のＭＡＣアドレスを取得する取得部と、
前記複数のネットワークアダプタに含まれる第１のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第１のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第１のネットワークアダプタ、及び、前記第１のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記ＭＡＣアドレスを用い、レイヤ２レベルで、プローブパケットを送信する送信部と、
前記第１のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである１又は複数の第２のネットワークアダプタを抽出する抽出部と、
前記第１のネットワークアダプタと前記第２のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出部とを備える
ことを特徴とする通信装置。
【請求項６】
ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出プログラムを記録する、コンピュータ読取可能な記録媒体であって、
前記冗長化ペア検出プログラムは、前記通信装置であるコンピュータに、
前記複数のネットワークアダプタの各々のＭＡＣアドレスを取得する取得ステップと、
前記複数のネットワークアダプタに含まれる第１のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第１のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第１のネットワークアダプタ、及び、前記第１のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記ＭＡＣアドレスを用い、レイヤ２レベルで、プローブパケットを送信する送信ステップと、
前記第１のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである１又は複数の第２のネットワークアダプタを抽出する抽出ステップと、
前記第１のネットワークアダプタと前記第２のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出ステップとを実行させる
ことを特徴とする記録媒体。
【請求項７】
ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出プログラムであって、
前記通信装置であるコンピュータに、
前記複数のネットワークアダプタの各々のＭＡＣアドレスを取得する取得ステップと、
前記複数のネットワークアダプタに含まれる第１のネットワークアダプタを送信元とし、前記複数のネットワークアダプタであって前記第１のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、前記第１のネットワークアダプタ、及び、前記第１のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得した前記ＭＡＣアドレスを用い、レイヤ２レベルで、プローブパケットを送信する送信ステップと、
前記第１のネットワークアダプタ以外のネットワークアダプタの中から、前記プローブパケットを受信したネットワークアダプタである１又は複数の第２のネットワークアダプタを抽出する抽出ステップと、
前記第１のネットワークアダプタと前記第２のネットワークアダプタとを、前記冗長化可能なネットワークアダプタの組合せとして検出する検出ステップとを実行させる
ことを特徴とする冗長化ペア検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化が可能なネットワークアダプタを検出する冗長化ペア検出方法、通信装置、冗長化ペア検出プログラム、記録媒体に関する。
【背景技術】
【０００２】
企業内の業務システムにおいては、通信面での信頼性を確保するために、サーバが接続されるネットワークが冗長化される。ネットワークの冗長化のために、サーバが備えるＮＩＣ（Network Interface Card）のようなネットワークアダプタや、ハブのようなネットワークスイッチ等も冗長化される。例えば、サーバは、二重化された一方のＮＩＣに障害が発生した場合において、二重化された他方のＮＩＣを用いる。これにより、サーバは、通信を続行することができる。
【０００３】
なお、二重化装置における通信部接続ミス救済方式において、装置とインタフェースを二重化した構成でケーブルの接続ミスが発生した場合に、自動的に接続の設定を入れ替えて再接続を行う二重化装置における通信部接続ミス救済方式が提案されている。
【０００４】
また、多重化したネットワーク接続装置システムにおいて、二重化したネットワーク接続装置を正常稼動時は負荷分散して性能向上に利用し、障害時にはホスト計算機のソフトウェア介入なしに可用性を維持する多重化したネットワーク接続装置システムが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２７９４０４号公報
【特許文献２】特開２０００−２４４５２６号公報
【特許文献３】特開平１１−２０５３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、ＮＩＣを二重化しようとする場合、作業員が、二重化可能なＮＩＣの組合せを見出して、ＮＩＣの二重化の設定を行う。しかし、二重化されたＮＩＣが、本来二重化できないＮＩＣである場合には、これが通信障害等の要因となる。
【０００７】
本発明は、冗長化可能なネットワークアダプタの組合せを検出する冗長化ペア検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示される冗長化ペア検出方法は、ネットワークに接続される通信装置に設けられる複数のネットワークアダプタの中から冗長化可能なネットワークアダプタの組合せを検出する。複数のネットワークアダプタの各々のＭＡＣアドレスを取得する。複数のネットワークアダプタに含まれる第１のネットワークアダプタを送信元とし、複数のネットワークアダプタであって第１のネットワークアダプタ以外のネットワークアダプタの各々を送信先として、第１のネットワークアダプタ、及び、第１のネットワークアダプタ以外のネットワークアダプタの各々のアドレスとして取得したＭＡＣアドレスを用い、レイヤ２レベルで、プローブパケットを送信する。第１のネットワークアダプタ以外のネットワークアダプタの中から、プローブパケットを受信したネットワークアダプタである１又は複数の第２のネットワークアダプタを抽出する。第１のネットワークアダプタと第２のネットワークアダプタとを、冗長化可能なネットワークアダプタの組合せとして検出する。
【発明の効果】
【０００９】
開示される冗長化ペア検出方法によれば、冗長化可能なネットワークアダプタの組合せを検出することができるので、作業員の作業に起因してネットワークアダプタの組合せの誤りが発生することを防止することができ、結果として、コンピュータネットワークにおける通信障害等の発生を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】ＮＩＣペア検出システムの構成を示す図である。
【図２】サーバの構成の一例を示す図である。
【図３】ＮＩＣペア検出部の説明図である。
【図４】ペア配列の一例を示す図である。
【図５】プローブパケット及びスクリプトの説明図である。
【図６】ＮＩＣとスイッチの構成の一例を示す図である。
【図７】マスタＮＩＣ配列の生成処理フローを示す図である。
【図８】ペア検出処理フローを示す図である。
【発明を実施するための形態】
【００１１】
本発明者の検討によれば、例えば、ＮＩＣを二重化する場合、作業者が、サーバが備える複数のＮＩＣの中から、二重化可能なＮＩＣを検出する必要がある。二重化可能なＮＩＣとは、例えば、双方のＮＩＣの種類、通信プロトコル、通信速度等が全て一致しているＮＩＣである。しかし、作業者が、多数のＮＩＣの中から、各々のＮＩＣの仕様を目視しながら、二重化可能なＮＩＣを検出することは容易ではない。このため、検出の誤りに起因して、通信障害が発生する可能性がある。
【００１２】
そこで、例えば、二重化可能なＮＩＣを検出するために、ＮＩＣを備えるサーバ（自サーバ）が、他のサーバ（通信相手のサーバ）との間で、パケットの送受信及び解析を繰り返すことが考えられる。これにより、自サーバと他のサーバとの間における接続の状態を
確認して、この確認結果に基づいて、自サーバにおいて、二重化可能なＮＩＣを検出することができる。
【００１３】
しかし、このような他のサーバとの通信に基づいて二重化可能なＮＩＣを検出する方法は、レイヤ３レベル以上の通信であるため、他のサーバのＩＰアドレスの設定が必要となる。このため、作業者は、自サーバ及び他のサーバの双方について、ＩＰアドレスを予め入手して設定する必要がある。これは、ネットワークの二重化の後、ユーザに、当該ＩＰアドレスの使用を強制することになるか、又は、当該ＩＰアドレスの変更を強制することになる。従って、ユーザの負担が大きい。
【００１４】
以下に開示のＮＩＣペア検出方法によれば、冗長化可能なネットワークアダプタの組合せを検出することができる。
【００１５】
図１は、コンピュータネットワークシステムの構成を示す図である。
【００１６】
コンピュータネットワークシステムは、サーバ１と、サーバ２と、ネットワーク３とを備える。サーバ１及びサーバ２は、互いに他方と通信を行う通信装置又はコンピュータである。従って、例えば、サーバ２は、サーバ１が通信を行う通信相手である。ネットワーク３は、サーバ１とサーバ２との間を接続する。
【００１７】
ネットワーク３は、複数のネットワークスイッチ（ＳＷ）３１を備える。ＳＷ３１は、ネットワーク３の一部である。図１のコンピュータネットワークシステムにおいては、複数のＳＷ３１は、後述するように、レイヤ２レベルで通信可能なように、相互に接続される。
【００１８】
サーバ１は、サーバ処理部１１、複数のＮＩＣ(Network Interface Card)１２を備える。サーバ処理部１１は、サーバ１が実行すべき種々の処理を実行する。換言すれば、サーバ処理部１１は、サーバ１が備えるＮＩＣ１２以外の種々の機能を実現するための種々の処理を実行する。ＮＩＣ１２は、サーバ１が備えるネットワークアダプタである。ＮＩＣはイーサネット（登録商標）をサポートしていれば、どのようなＮＩＣでも良い。
【００１９】
サーバ処理部１１は、複数のＮＩＣ１２に接続される。ＮＩＣ１２は、ＳＷ３１に対応する。ＮＩＣ１２は、各々、対応するＳＷ３１に接続される。サーバ処理部１１は、ＮＩＣ１２及びＳＷ３１を介してパケットを送受信する。
【００２０】
図１のコンピュータネットワークシステムにおいて、ネットワーク３は、２個のＳＷ３１により二重化されている。このために、サーバ１は２個のＮＩＣを備える。サーバ２も同様である。これにより、サーバ１とサーバ２とは、二重化されて接続される。以下の説明においては、冗長化の一例として、二重化について説明する。
【００２１】
なお、複数のＮＩＣ１２を区別する場合には、ＮＩＣ＃１、ＮＩＣ＃２等のように表すこととする。ＮＩＣ２２、ＳＷ３１についても、同様である。
【００２２】
サーバ２は、例えば、サーバ１と同様の構成を備える。以下の説明においては、サーバ１において二重化可能なＮＩＣ１２の組合せが検出されるが、サーバ２においても、同様である。
【００２３】
サーバ２は、サーバ１の通信相手ではある。しかし、サーバ１は、サーバ１における二重化可能なＮＩＣ１２の組合せの検出において、後述するように、サーバ２との間で通信を行わない。従って、二重化可能なＮＩＣ１２の組合せの検出において、サーバ１は、サーバ２を意識することは無く、ＳＷ３１を意識するのみである。従って、図１において、サーバ１とサーバ２とを接続するネットワーク３を、サーバ１に接続されたＳＷ３１により代表させている。
【００２４】
図２は、図１のコンピュータネットワークシステムにおけるサーバの構成の一例を示す図である。
【００２５】
サーバ１は、ＯＳ（オペレーティングシステム）１３、アプリ（アプリケーション）１４、ＮＩＣペア検出部１５、二重化設定スクリプト１６、設定部１７、メモリ１８及びメモリ１９を備える。換言すれば、これらが図１のサーバ処理部１１を構成する。メモリ１８はＮＩＣペア検出部１５が使用する記憶領域である。メモリ１９は設定部１７が使用する記憶領域である。
【００２６】
ＯＳ１３は、サーバ１が備えるハードウェア資源及びソフトウェア資源を管理及び制御し、サーバ１のタスクを処理する。ＯＳ１３は、ＯＳ１３が使用するメモリ又は記憶領域に、予め用意されたマスタＮＩＣ配列１３１を備える。マスタＮＩＣ配列１３１については、後述する。
【００２７】
アプリケーション（図２ではアプリと表記）１４は、ユーザの使用するアプリケーションプログラムである。アプリケーション１４は、コンピュータネットワークシステム又はサーバ１が運用開始された後に、ＯＳ１３、ＮＩＣ１２及びネットワーク３を介して、サーバ２上のアプリケーションとの間で通信を行う。
【００２８】
ＮＩＣペア検出部１５は、サーバ１に備えられた複数のＮＩＣ１２の中から、二重化可能なＮＩＣ１２のペアを検出する。二重化可能なＮＩＣとは、例えば、ＮＩＣの種類、通信プロトコル、通信速度等が全て一致しているＮＩＣである。この検出処理は、コンピュータネットワークシステムが運用開始される前に、又は、コンピュータネットワークシステムへのサーバ１の導入の前に、前処理として実行される。
【００２９】
ＮＩＣペア検出部１５は、検出処理の結果として、メモリ１８に重複排除ペア配列１８３を得る。重複排除ペア配列１８３は、検出した二重化可能なＮＩＣ１２のペアを格納する。重複排除ペア配列１８３は、配列以外の形式、例えばテーブル形式又はリスト形式であっても良い。これは、以下のマスタＮＩＣ配列１８１及びペア配列１８２についても同じである。また、ＮＩＣペア検出部１５は、重複排除ペア配列１８３を得る過程で、メモリ１８にマスタＮＩＣ配列１８１及びペア配列１８２を作成する。マスタＮＩＣ配列１８１、ペア配列１８２及び重複排除ペア配列１８３については、後述する。
【００３０】
なお、ＮＩＣ１２の「ペア」は、実際には、２個のＮＩＣ１２の組合せ以外、例えば３個のＮＩＣ１２の組合せも含むようにしても良い。従って、ＮＩＣペア検出部１５は、サーバ１に備えられたＮＩＣ１２の冗長化されたＮＩＣ１２の「組合せ」即ち「セット」を検出するようにしても良い。
【００３１】
ＮＩＣペア検出部１５は、検出処理の終了の後、二重化設定スクリプト１６を呼出し（又は起動し、以下同じ）、二重化可能なＮＩＣ１２の組合せを、呼出した二重化設定スクリプト１６に通知する。二重化設定スクリプト１６は、簡易な処理を記述したプログラムであり、又は、当該処理を実行する処理部である。換言すれば、二重化設定スクリプト１６は、複数のＮＩＣ１２の二重化（従って、冗長化）の設定を行う。二重化設定スクリプト１６は、例えばシェルスクリプトである。なお、ＮＩＣペア検出部１５が、重複排除ペア配列１８３又はその格納位置を、二重化設定スクリプト１６に通知するようにしても良い。
【００３２】
二重化設定スクリプト１６は、ＮＩＣペア検出部１５から呼出されると、ＮＩＣペア検出部１５から所定のパラメータを受信する。二重化設定スクリプト１６は、受信したパラメータに基づいて、予め設定された処理を実行する。即ち、二重化設定スクリプト１６は、受信したパラメータが設定部１７に正しく対応しているパラメータである場合には、設定部１７を呼出す。一方、二重化設定スクリプト１６は、受信したパラメータが設定部１７に正しく対応していないパラメータである場合には、設定部１７を呼出さず、ＯＳ１３にエラー通知を行う。
【００３３】
二重化設定スクリプト１６は、設定部１７を呼出し（又は起動し、以下同じ）、二重化可能なＮＩＣ１２の組合せを、呼出した設定部１７に通知する。設定部１７は、ＮＩＣ１２を二重化設定するためのプログラム、又は、当該処理を実行する処理部である。換言すれば、設定部１７は、複数のＮＩＣ１２の二重化（従って、冗長化）の設定を行う。なお、二重化設定スクリプト１６が、重複排除ペア配列１８３又はその格納位置を、設定部１７に通知するようにしても良い。
【００３４】
設定部１７は、二重化設定スクリプト１６から呼出されると、二重化設定スクリプト１６から所定のパラメータを受信する。設定部１７は、受信したパラメータに基づいて、メモリ１８上の重複排除ペア配列１８３をメモリ１９上へコピーすることにより、重複排除ペア配列１９３を作成する。設定部１７は、重複排除ペア配列１９３に基づいて、ＮＩＣ１２の二重化設定を実行する。なお、例えば、二重化されたＮＩＣ１２については、設定部１７からＯＳ１３に通知され、サーバ１の運用開始後において、サーバ２との通信時に使用される。
【００３５】
以上のように、第１の設定部である二重化設定スクリプト１６は、実際には、第２の設定部である設定部１７にパラメータを渡すのみであり、ＮＩＣ１２の二重化の設定は行わない。ＮＩＣペア検出部１５と設定部１７との間に二重化設定スクリプト１６を設けることにより、ＮＩＣペア検出部１５は、単に、二重化設定スクリプト１６にパラメータを渡すのみで良く、設定部１７の構成を意識する必要が無い。
【００３６】
図３は、図２のサーバにおけるＮＩＣペア検出部の説明図である。図４は、ペア配列の一例を示す図である。図５は、プローブパケット及びスクリプトの説明図である。
【００３７】
ＮＩＣペア検出部１５は、問合せ部１５１、検出部１５２、呼出部１５３を備える。サーバ１のＮＩＣ１２の二重化設定を実行する作業者が、サーバ１の電源を立ち上げると、サーバ１がブート呼出されてＯＳ１３が呼出され、ログインメッセージがモニタ画面（図示省略）に表示される。作業者はサーバ１にログインし、ＯＳ１３からＮＩＣペア検出部１５を呼出す。
【００３８】
ＯＳ１３から呼出されたＮＩＣペア検出部１５において、問合せ部１５１は、複数のＮＩＣ１２の各々のＭＡＣアドレスを、ＯＳ１３から取得する取得部である。例えば、問合せ部１５１は、ＯＳ１３を介して、マスタＮＩＣ配列１３１をメモリ１８上にコピーすることにより、マスタＮＩＣ配列１８１を作成する。マスタＮＩＣ配列１８１は、ＮＩＣ１２のＭＡＣアドレスを格納する。ＮＩＣ１２のＭＡＣアドレスが、後述するプローブパケット４の送信対象及び受信対象として用いられる。問合せ部１５１は、マスタＮＩＣ配列１８１の作成完了を検出部１５２へ通知する。
【００３９】
ここで、ＮＩＣ１２は、各々、一意に定まる物理アドレスとして、ＭＡＣ（Media Access Control address）アドレスを有する。例えば、１個のＮＩＣ１２には、ＭＡＣアドレスとして、固有の４８ビット長のＩＤ（識別番号）が割当てられる。従って、ＮＩＣ＃１、ＮＩＣ＃２等について、ＭＡＣアドレスは一意に定まる。
【００４０】
一方、ＳＷ３１は、レイヤ２（データリンク層）の通信手順（通信プロトコル）で、パケット４を転送するネットワークスイッチである。ＳＷ３１は、例えばブリッジである。レイヤ２は、ＯＳＩ（Open Systems Interconnection）参照モデルの第２層に位置し、ネットワーク３上で直結（物理的に接続）されている機器同士のパケット転送の通信手順を定めたレイヤである。レイヤ２は、第１層である物理的な接続が規定されたレイヤ１（物理層）の上位の階層であり、また、ネットワーク３における通信経路をルーティングするレイヤ３（ネットワーク層）の下位の階層である。なお、レイヤ３は、例えばルータのようなＩＰアドレスのルーティングテーブルを備える通信機器同士のパケット４の転送を行う通信手順のレイヤである。
【００４１】
また、図１に示すように、ＳＷ＃１とＳＷ＃２とは、各々、サーバ１のＮＩＣ＃１とＮＩＣ＃２とにレイヤ２レベルの通信手順で通信可能に接続される。ＳＷ＃１とＳＷ＃２との間も、同様である。従って、ＮＩＣ＃１とＳＷ＃１との間には、ルータ等のレイヤ３以上の通信手順を必要とする通信装置は存在しない。一方、ＮＩＣ＃１とＳＷ＃１との間には、レイヤ２の通信手順を必要とする通信装置は存在しても良い。ＳＷ＃１とＳＷ＃２との間も同様である。
【００４２】
図４（Ａ）は、マスタＮＩＣ配列１８１の一例を示す。なお、前述したように、マスタＮＩＣ配列１３１をコピーしたものがマスタＮＩＣ配列１８１であるので、マスタＮＩＣ配列１３１の説明は省略する。
【００４３】
マスタＮＩＣ配列１８１は、ＮＩＣ１２のＮＩＣ名毎に、ＭＡＣアドレスを格納する。例えば、“ＮＩＣ＃１”は、ＮＩＣ＃１のＮＩＣ名である。ＭＡＣアドレスは、ＮＩＣ１２毎に、一意に定まる物理アドレスである。例えば、“ｍａｃ＃１”がＭＡＣアドレスである。ＭＡＣアドレスは、例えば、１２桁の１６進数で構成された、固有の４８ビット長の識別番号である。従って、マスタＮＩＣ配列１８１は、例えば、ＮＩＣ名“ＮＩＣ＃１”のＭＡＣアドレスが“ｍａｃ＃１”であることを示す。
【００４４】
検出部１５２は、問合せ部１５１からマスタＮＩＣ配列１８１の作成完了の通知を受けると、マスタＮＩＣ配列１８１を参照して１個のＮＩＣ１２を選択する。検出部１５２は、選択した１個のＮＩＣ１２を、プローブパケット４を送信するＮＩＣ１２（第１のＮＩＣ１２）として決定する。検出部１５２は、第１のＮＩＣ１２から、他のＮＩＣ１２に対して、プローブパケット４を送信する。他のＮＩＣ１２は、マスタＮＩＣ配列１８１に格納されたＮＩＣ１２の中で、第１のＮＩＣ１２以外のＮＩＣ１２の各々である。検出部１５２は、サーバ１に備えられたＮＩＣ１２即ちマスタＮＩＣ配列１８１に格納されたＮＩＣ１２の全てについて、以上の処理を実行する。
【００４５】
換言すれば、検出部１５２は、複数のＮＩＣ１２に含まれる第１のＮＩＣ１２を送信元とし、複数のＮＩＣ１２であって第１のＮＩＣ１２以外のＮＩＣ１２の各々を送信先として、プローブパケット４を送信する。この時、第１のＮＩＣ１２、及び、第１のＮＩＣ１２以外のＮＩＣ１２の各々のアドレスとして、マスタＮＩＣ配列１８１に格納されたＭＡＣアドレスが用いられる。
【００４６】
図５（Ａ）は、プローブパケット４の一例を示す図である。
【００４７】
プローブパケット４は、二重化可能なＮＩＣ１２を検出するための試験用パケットである。プローブパケット４は、ＤｓｔＭＡＣ、ＳｒｃＭＡＣ、ＳＡＰを含む。ＤｓｔＭＡＣは、送信先である他のＮＩＣ１２のＭＡＣアドレスである。ＳｒｃＭＡＣは、送信元である第１のＮＩＣ１２のＭＡＣアドレスである。ＳＡＰは、当該通信において用いられているプロトコルの識別番号である。プロトコルの識別番号は一意に定まる。
【００４８】
プローブパケット４は、検出部１５２により作成される。即ち、検出部１５２は、プローブパケット４において、マスタＮＩＣ配列１８１に格納された、第１のＮＩＣ１２以外のＮＩＣ１２の各々のアドレスを、ＤｓｔＭＡＣとして格納する。従って、プローブパケット４は、第１のＮＩＣ１２以外のＮＩＣ１２の数だけ作成され、送信される。また、検出部１５２は、プローブパケット４において、マスタＮＩＣ配列１８１に格納された、第１のＮＩＣ１２のアドレスを、ＳｒｃＭＡＣとして格納する。更に、検出部１５２は、プローブパケット４において、第１のＮＩＣ１２が使用するプロトコルの識別番号を、ＳＡＰとして格納する。
【００４９】
以上のように、送受信においてＭＡＣアドレスが用いられているので、プローブパケット４は、レイヤ２レベルで送受信される。また、前述したように、ＳＷ３１は、レイヤ２レベルで通信可能に接続されている。従って、第１のＮＩＣ１２以外のＮＩＣ１２の中に、その種類、通信プロトコル、通信速度等が全て一致しているＮＩＣ１２（第２のＮＩＣ１２）が存在すれば、当該第２のＮＩＣ１２は、第１のＮＩＣ１２からのプローブパケット４を受信することができる。また、第２のＮＩＣ１２以外のＮＩＣ１２は、第１のＮＩＣ１２からのプローブパケット４を受信することができない。以上から、第２のＮＩＣ１２が第１のＮＩＣ１２からのプローブパケット４を受信した場合、第１のＮＩＣ１２及び第２のＮＩＣ１２を、二重化可能なＮＩＣ１２の組合せとして検出することができる。
【００５０】
なお、検出部１５２は、プローブパケット４の送信をＮＩＣ１２に依頼する。送信を依頼されたＮＩＣ１２は、プローブパケット４を送信する。一方、プローブパケット４を受信したＮＩＣ１２は、受信したプローブパケット４を検出部１５２に送信する。これにより、検出部１５２は、プローブパケット４を受信したＮＩＣ１２が存在するか否かを知ることができる。
【００５１】
次に、検出部１５２は、第１のＮＩＣ１２以外のＮＩＣ１２の中から、送信されたプローブパケット４を受信したＮＩＣ１２が存在するか否かを判断する。プローブパケット４を受信したＮＩＣ１２が存在する場合、検出部１５２は、第１のＮＩＣ１２以外のＮＩＣ１２の中から、プローブパケット４を受信したＮＩＣ１２である第２のＮＩＣ１２を抽出する。第２のＮＩＣ１２は、１又は複数、抽出される。検出部１５２は、第１のＮＩＣ１２と、抽出した第２のＮＩＣ１２とを、二重化可能なＮＩＣ１２の組合せとして検出する。二重化可能なＮＩＣ１２の組合せは、ペア配列１８２として得られる。
【００５２】
即ち、検出部１５２は、送信されたプローブパケット４を受信したＮＩＣ１２が存在する場合には、ペア配列１８２を作成する。具体的には、検出部１５２は、第１のＮＩＣ１２のＮＩＣ名及びＭＡＣアドレスと、プローブパケット４を受信したＮＩＣ１２のＮＩＣ名及びＭＡＣアドレスとを、ペア配列１８２に格納する。
【００５３】
図４（Ｂ）は、ペア配列１８２の一例を示す。
【００５４】
ペア配列１８２は、第１のＮＩＣ１２のＮＩＣ名及び第２のＮＩＣ１２のＮＩＣ名の組合せ（ペア）毎に、ＮＩＣ名の各々に対応するＭＡＣアドレスを格納する。例えば、ＮＩＣ名の組合せ“ＮＩＣ＃１、ＮＩＣ＃２”において、最初が第１のＮＩＣ１２のＮＩＣ名であり、次が第２のＮＩＣ１２のＮＩＣ名である。また、ＭＡＣアドレス“ｍａｃ＃１、ｍａｃ＃２” において、最初が第１のＮＩＣ１２のＭＡＣアドレスであり、次が第２のＮＩＣ１２のＭＡＣアドレスである。
【００５５】
従って、ペア配列１８２の第１行は、例えば、ＮＩＣ名がＮＩＣ＃１でＭＡＣアドレスがｍａｃ＃１の第１のＮＩＣ１２（送信元）が、ＮＩＣ名がＮＩＣ＃２でＭＡＣアドレスがｍａｃ＃２の第２のＮＩＣ１２（送信先）と、二重化が可能であることを示す。ペア配列１８２の第２行は、例えば、ＮＩＣ名がＮＩＣ＃２でＭＡＣアドレスがｍａｃ＃２の第１のＮＩＣ１２（送信元）が、ＮＩＣ名がＮＩＣ＃１でＭＡＣアドレスがｍａｃ＃１の第２のＮＩＣ１２（送信先）と、二重化が可能であることを示す。即ち、ペア配列１８２には、二重化が可能であるＮＩＣ１２の組合せが、重複して存在する。
【００５６】
そこで、検出部１５２は、抽出した二重化可能なＮＩＣ１２の組合せの中から、当該組合せに含まれる第１のＮＩＣ１２及び第２のＮＩＣ１２の全てが重複する組合せ（以下、重複する組合せ）を抽出し、重複する組合せの中の１個の組合せのみを残し、他の組合せを廃棄する。
【００５７】
具体的には、検出部１５２は、ペア配列１８２の中から、重複する組合せを排除した重複排除ペア配列１８３を作成する。即ち、検出部１５２は、ペア配列１８２に格納されたＮＩＣ１２の組合せが重複する組合せでない場合、当該ＮＩＣ１２の組合せを重複排除ペア配列１８３へ格納する。また、検出部１５２は、ペア配列１８２に格納されたＮＩＣ１２の組合せが重複した組合せである場合、その中の１個の組合せのみを重複排除ペア配列１８３へ格納する。検出部１５２は、重複排除ペア配列１８３の作成が完了すると、これを呼出部１５３へ通知する。
【００５８】
図４（Ｃ）は、重複排除ペア配列１８３の一例を示す。
【００５９】
重複排除ペア配列１８３は、ペア配列１８２の中の組合せの中から重複した組合せを排除したテーブルである。重複排除ペア配列１８３は、ペア配列１８２と同様に、第１のＮＩＣ１２のＮＩＣ名及び第２のＮＩＣ１２のＮＩＣ名の組合せ（ペア）毎に、ＮＩＣ名の各々に対応するＭＡＣアドレスを格納する。
【００６０】
一方、重複排除ペア配列１８３は、図４（Ｂ）のペア配列１８２との比較から判るように、ペア配列１８２における重複する組合せが排除されている。即ち、図４（Ｂ）のペア配列１８２の第２行が廃棄され、第１行のみとされている。これにより、重複排除ペア配列１８３は、ＮＩＣ名がＮＩＣ＃１でＭＡＣアドレスがｍａｃ＃１のＮＩＣ１２が、ＮＩＣ名がＮＩＣ＃２でＭＡＣアドレスがｍａｃ＃２のＮＩＣ１２と、二重化が可能であることを示し、かつ、いずれが送信元又は送信先であっても良いことを示す。
【００６１】
呼出部１５３は、検出部１５２から重複排除ペア配列１８３の作成完了の通知を受けると、重複排除ペア配列１８３から、予め定められたデータを読み出す。呼出部１５３は、読み出したデータを用いて、スクリプト呼出し形式１５３Ａにより、二重化設定スクリプト１６を呼出す。スクリプト呼出し形式１５３Ａは、呼出部１５３の一部であり、実際に二重化設定スクリプト１６を呼出す処理を実行する。
【００６２】
図５（Ｂ）は、スクリプト呼び出し形式１５３Ａの一例を示す図である。スクリプト呼び出し形式１５３Ａは、ＮＩＣ１２を二重化する二重化設定スクリプト１６を呼出す処理を実行する。
【００６３】
呼出部１５３は、重複排除ペア配列１８３を参照して、例えば、ＮＩＣ＃１及びＮＩＣ＃２が、二重化可能な、従って、二重化すべき組合せであることを知る。そこで、これに基づいて、呼出部１５３は、スクリプト呼び出し形式１５３Ａを生成する。スクリプト呼び出し形式１５３Ａにおいて、“ｕｓｅｒｓｃｒｉｐｔ．ｓｈ”は、二重化設定スクリプト１６を呼び出す関数名である。“ＮＩＣ＃１、ＮＩＣ＃２”は、二重化可能なＮＩＣ１２の組合せを示す引数である。呼出部１５３がスクリプト呼び出し形式１５３Ａを実行することにより、二重化設定スクリプト１６が呼出され、二重化可能なＮＩＣ１２の組合せ“ＮＩＣ＃１、ＮＩＣ＃２”が呼出された二重化設定スクリプト１６に渡される。
【００６４】
図５（Ｃ）は、スクリプト呼び出し形式１５３Ｂの一例を示す図である。スクリプト呼び出し形式１５３Ｂは、スクリプト呼び出し形式１５３Ａとは異なり、ＮＩＣ１２をｎ重化するｎ重化設定スクリプト（ｎは３以上の整数）を呼出す処理を実行する。
【００６５】
スクリプト呼び出し形式１５Ｂにおいて、“ｕｓｅｒｓｃｒｉｐｔ．ｓｈ”は、ｎ重化設定スクリプトを呼び出す関数名である。 “ＮＩＣ＃１、ＮＩＣ＃２・・・ＮＩＣ＃ｎ”は、ｎ重化可能なＮＩＣ１２の組合せを示す引数である。呼出部１５３がスクリプト呼び出し形式１５３Ｂを実行することにより、ｎ重化設定スクリプトが呼出され、ｎ重化可能なＮＩＣ１２の組合せ“ＮＩＣ＃１、ＮＩＣ＃２・・・ＮＩＣ＃ｎ”が呼出されたｎ重化設定スクリプトに渡される。
【００６６】
なお、図５（Ｂ）との比較から判るように、スクリプト呼び出し形式１５３Ａ及び１５３Ｂにおいて、関数名は同一である。従って、実際には、二重化設定スクリプト１６とｎ重化設定スクリプトとは、同一の呼出し関数で呼出されるが、処理できる引数が相違する。
【００６７】
呼出部１５３から呼出された二重化設定スクリプト１６は、呼出部１５３から渡された引数を用いて、設定部１７を呼出す。
【００６８】
図５（Ｄ）は、二重化設定スクリプト１６の一例を示す。図５（Ｄ）の二重化設定スクリプト１６は、図５（Ｂ）に示すスクリプト呼出し形式１５３Ａにより呼出される、二重化設定スクリプト１６である。
【００６９】
例えば、呼出される設定部１７が、ＮＩＣ１２を二重化する処理を実行し、ＮＩＣ１２を三重化（即ち、ｎ重化）する処理は実行しないとする。換言すれば、設定部１７が二重化設定部であるとする。この場合、二重化設定スクリプト１６のみが設けられ、ｎ重化設定スクリプトは設けられない。一方、二重化可能なＮＩＣ１２の組合せ以外に、三重化可能なＮＩＣ１２の組合せが検出される場合がある。
【００７０】
この場合、二重化可能なＮＩＣ１２の組合せについては、図５（Ｂ）のスクリプト呼び出し形式１５３Ａにより、二重化設定スクリプト１６が呼出され、２個の引数が渡される。一方、三重化可能なＮＩＣ１２の組合せについては、図５（Ｃ）のスクリプト呼び出し形式１５３Ｂにおける同一の呼び出し関数により、二重化設定スクリプト１６が呼出され、３個の引数が渡される。
【００７１】
しかし、二重化設定スクリプト１６及び設定部１７はＮＩＣ１２を三重化しないので、３個の引数を渡されても処理できない。即ち、ＮＩＣ１２を三重化することができない。そこで、二重化設定スクリプト１６から、エラーを出力する処理が必要である。
【００７２】
このため、二重化設定スクリプト１６は、エラー処理を実行する部分＃３を備える。なお、部分＃２は、二重化を実行する設定部１７の呼出し処理を実行する部分である。また、hanetconfigコマンドは、設定部１７を呼出すコマンドの一例である。
【００７３】
以上のように、図１のコンピュータネットワークシステムにおいては、二重化可能なＮＩＣ１２の組合せを検出することができる。このため、作業員が、ＮＩＣ１２の接続状況を検索する必要は無い。従って、例えば、サーバを大量に導入した際の人的コストの削減を図ることができる。また、呼出部１５３から二重化設定スクリプト１６を呼出し、二重化設定スクリプト１６から設定部１７を呼出すことにより、二重化可能なＮＩＣ１２の組合せの検出とその二重化を自動的に実行することができ、作業員によるＮＩＣ１２の二重化の際の手順ミスを無くすことができる。
【００７４】
図６（Ａ）〜図６（Ｃ）は、ＮＩＣ１２の冗長化の例を示す図である。
【００７５】
図６（Ａ）において、サーバ１が備える複数のＮＩＣ＃１〜＃ｉの中で、ＮＩＣ＃１及びＮＩＣ＃２のみが二重化され、他のＮＩＣ＃３〜ＮＩＣ＃ｉは二重化されない。これは、ＮＩＣ＃１及びＮＩＣ＃２に対応するＳＷ＃１とＳＷ＃２の間のみがレイヤ２レベルで接続され、かつ、他のＳＷ＃３〜ＳＷ＃ｉの間がレイヤ２レベルで接続されていないことに対応する。ＮＩＣ＃１及びＮＩＣ＃２は、図５（Ｂ）に示すスクリプト呼出し形式１５３Ａにより処理される例である。
【００７６】
図６（Ｂ）において、サーバ１が備える複数のＮＩＣ＃１〜＃５の中で、ＮＩＣ＃１及びＮＩＣ＃２が二重化され、ＮＩＣ＃３〜ＮＩＣ＃５が三重化される。これは、ＮＩＣ＃１及びＮＩＣ＃２に対応するＳＷ＃１とＳＷ＃２との間がレイヤ２レベルで接続され、ＮＩＣ＃３〜ＮＩＣ＃５に対応するＳＷ＃３〜ＳＷ＃５の間がレイヤ２レベルで接続されることに対応する。ＳＷ＃２とＳＷ＃３との間は、レイヤ２レベルで接続されていない。
【００７７】
ＮＩＣ＃１及びＮＩＣ＃２は、図５（Ｂ）に示すスクリプト呼出し形式１５３Ａにより処理され、ＮＩＣ＃３〜ＮＩＣ＃５は、図５（Ｃ）に示すスクリプト呼出し形式１５３Ｂにより処理される。従って、この場合、例えば、ＮＩＣ１２を二重化する二重化設定スクリプト１６及び設定部１７と、ＮＩＣ１２を三重化する三重化設定スクリプト及び設定部の双方が設けられる。
【００７８】
図６（Ｃ）において、サーバ１が備える複数のＮＩＣ＃１〜＃ｉがｉ重化される。これは、ＮＩＣ＃１〜ＮＩＣ＃ｉに対応して、１個のＳＷ３２が設けられることに対応する。１個のＳＷ３２の内部では、ＮＩＣ＃１〜ＮＩＣ＃ｉに対応する接続ポートが全てレイヤ２レベルで接続されるので、１個のＳＷ３２は、ＮＩＣ＃１〜＃ｉに対応するＳＷ＃１〜＃ｉが全てレイヤ２レベルで接続されることに等しい。この場合、ＮＩＣ１２を二重化する二重化設定スクリプト１６及び設定部１７、又は、ＮＩＣ１２を三重化する三重化設定スクリプト及び設定部が設けられる。
【００７９】
図７は、マスタＮＩＣ配列の生成処理フローを示す図である。
【００８０】
ＯＳ１３が、ＮＩＣペア検出部１５を起動すると、ＮＩＣペア検出部１５の問合せ部１５１は、ＯＳ１３に「ＮＩＣ名とＭＡＣアドレスの組」の一覧（即ち、マスタＮＩＣ配列１３１）を問い合わせ、ＯＳ１３からマスタＮＩＣ配列１３１を取得する（ステップＳ１）。
【００８１】
問合せ部１５１は、取得したマスタＮＩＣ配列１３１を、メモリ１８上へ格納する（ステップＳ２）。これにより、マスタＮＩＣ配列１８１がメモリ１８上に作成される。この後、問合せ部１５１は、例えばマスタＮＩＣ配列１８１を作成したことを、ＮＩＣペア検出部１５の検出部１５２へ通知する。
【００８２】
図８は、ペア検出処理フローを示す図である。
【００８３】
問合せ部１５１は、図７を参照して前述したように、マスタＮＩＣ配列１８１を作成して、これをＮＩＣペア検出部１５の検出部１５２に通知する（ステップＳ１１）。
【００８４】
この通知を受信した検出部１５２は、第１の変数であるＮＩＣ冗長化数ｎに「１」を設定する（ステップＳ１２）。これにより、ＮＩＣ冗長化数ｎが初期化される。次に、検出部１５２は、第２の変数ｍａｘに「マスタＮＩＣ配列１８１の要素数」を設定する（ステップＳ１３）。ここで、要素数とは、マスタＮＩＣ配列１８１に格納されているＮＩＣ１２の数である。
【００８５】
この後、検出部１５２は、ＮＩＣ冗長化数ｎがｍａｘ以下か否かを判断する（ステップＳ１４）。
【００８６】
ＮＩＣ冗長化数ｎがｍａｘ以下である場合には（ステップＳ１４  Ｙｅｓ）、検出部１５２は、ＳＷ３１を介して、マスタＮＩＣ配列のｎ番目以外のＮＩＣ１２宛にプローブパケット４を送信した後（ステップＳ１５）、ユーザにより指定された時間が経過するのを待つ（ステップＳ１６）。
【００８７】
ユーザにより指定された時間が経過した後、検出部１５２は、マスタＮＩＣ配列１８１のｎ番目以外のＮＩＣ１２であって、ステップＳ１５において送信されたプローブパケット４を受信することができたＮＩＣ１２が存在するか否かを判断する（ステップＳ１７）。
【００８８】
プローブパケット４を受信したＮＩＣ１２が存在すると判断した場合（ステップＳ１７  Ｙｅｓ）、検出部１５２は、ペア配列１８２を作成又は更新する（ステップＳ１８）。一方、検出部１５２は、プローブパケット４を受信したＮＩＣ１２が存在しないと判断した場合には（ステップＳ１７  Ｎｏ）、ステップＳ１８の実行を省略する。
【００８９】
次に、検出部１５２は、現在のＮＩＣ冗長化数ｎに＋１を加算して、新たなＮＩＣ冗長化数ｎ＝ｎ＋１を得て（ステップＳ１９）、ステップＳ１４を繰り返す。
【００９０】
ステップＳ１４において、ＮＩＣ冗長化数ｎがｍａｘより大きい場合には（ステップＳ１４  Ｎｏ）、検出部１５２は、ペア配列１８２の中において、要素が重複しているペアを１つに統一する（ステップＳ１１０）。これにより、検出部１５２は、ペア配列１８２に基づいて、重複排除ペア配列１８３を作成する。この後、検出部１５２は、例えば重複排除ペア配列１８３を作成したことを、ＮＩＣペア検出部１５の呼出部１５３へ通知する。
【００９１】
この通知を受信した呼出部１５３は、二重化設定スクリプト１６を呼び出す（ステップＳ１１１）。この後、呼出部１５３は、呼び出した二重化設定スクリプト１６に、重複排除ペア配列１８３に格納されたペアのＮＩＣ名及びＭＡＣアドレスを送信して、処理を終了する。
【００９２】
以上説明したように、二重化設定スクリプト１６は、ＮＩＣペア検出部１５からペアのＮＩＣ名及びＭＡＣアドレスを受信すると、設定部１７を呼び出して、ペアのＮＩＣ１２を冗長化することができる。これにより、冗長化するＮＩＣ１２のペア検出と、ＮＩＣ１２の冗長化の手順を自動化することができる。
【符号の説明】
【００９３】
１、２    サーバ
３    ネットワーク
１１、２１    サーバ処理部
１２、２２    ＮＩＣ（Network Interface Card）
１３    ＯＳ（オペレーティングシステム）
１４    アプリ
１５    ＮＩＣペア検出部
１６    二重化設定スクリプト
１７    設定部
１８、１９    メモリ
１３１、１８１    マスタＮＩＣ配列
１５１    問合せ部
１５２    検出部
１５３    呼出部
１８２、  ペア配列
１８３、１９３    重複排除ペア配列
【図１】
2010283586.tif 000003
【図２】
2010283586.tif 000004
【図３】
2010283586.tif 000005
【図４】
2010283586.tif 000006
【図５】
2010283586.tif 000007
【図６】
2010283586.tif 000008
【図７】
2010283586.tif 000009
【図８】
2010283586.tif 000010