(57)【要約】  本開示は、現用系経路のエラー発生率と予備系経路のエラー発生率とを比較し、比較結果に基づいて、何れの経路を通信経路として使用するかを決定する方法を提供することを目的とする。  開示の情報処理システムは、受信したパケットを転送するネットワークスイッチと、第１通信経路及び第２通信経路を介して前記ネットワークスイッチに接続される情報処理装置とを有し、第１通信経路を用いて第１パケットを情報処理装置からネットワークスイッチに送信し、第１パケットのペイロードに記載された情報と同じ情報をペイロードに有する第２パケットを、第２通信経路を用いて情報処理装置からネットワークスイッチに送信し、第１パケット及び第２パケットのペイロードにそれぞれ記載された情報についてエラー検出を行う。現用系経路と予備系経路の通信品質の比較を適切に行うことができる。
2015075763.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットを転送するネットワークスイッチと、
第１通信経路及び第２通信経路を介して前記ネットワークスイッチに接続される情報処理装置と
を有し、
前記第１通信経路を用いて第１パケットを前記情報処理装置から前記ネットワークスイッチに送信し、前記第１パケットのペイロードに記載された情報と同じ情報をペイロードに有する第２パケットを、前記第２通信経路を用いて前記情報処理装置から前記ネットワークスイッチに送信し、
前記第１パケット及び前記第２パケットのペイロードにそれぞれ記載された情報についてエラー検出を行う
ことを特徴とする情報処理システム。
【請求項２】
前記情報処理装置は、前記第１通信経路でのエラー発生率と、前記第２通信経路でのエラー発生率を比較する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、前記第１通信経路及び前記第２通信経路のうち、前記エラー発生率が低いものを現用系経路として制御する
ことを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、前記第１通信経路に接続される第１ポートと、前記第２通信経路に接続される第２ポートを更に有し、
前記第２パケットは、前記第２ポートを宛先として設定され、
前記ネットワークスイッチは、前記第２パケットを前記第２ポート宛てに送信し、
前記情報処理装置は、前記ネットワークスイッチから送信された前記第２パケットを破棄する
ことを特徴とする請求項１乃至３何れか一項に記載の情報処理システム。
【請求項５】
前記第２パケットは、前記第２ポートを送信元アドレスとして設定される
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記情報処理装置は、前記第１パケット及び前記第２パケットにエラーを検出する符号を付する
ことを特徴とする請求項１乃至５何れか一項に記載の情報処理システム。
【請求項７】
受信したパケットを転送するネットワークスイッチに第１通信経路及び第２通信経路を介して接続される情報処理装置であって、前記情報処理装置は、
前記第１通信経路を用いて送信する第１パケットのペイロードに記載された情報と同一の情報をペイロードに有する第２パケットを生成するパケット生成部と、
前記第１パケットを、前記第１通信経路を用いて前記ネットワークスイッチへ送信する第１デバイスドライバと、
前記第２パケットを、前記第２通信経路を用いて前記ネットワークスイッチへ送信する第２デバイスドライバと
を有することを特徴とする情報処理装置。
【請求項８】
前記第１通信経路でのエラー発生率と、前記第２通信経路でのエラー発生率を比較する比較部を更に有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置は、前記第１通信経路及び前記第２通信経路のうち、前記エラー発生率が低いものを現用系経路として制御する制御部を更に有することを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記第１通信経路に接続される第１ポートと、前記第２通信経路に接続される第２ポートを更に有し、
前記第２パケットは、前記第２ポートを宛先として設定され、
前記第２パケットは、前記ネットワークスイッチから前記第２ポートに送信された後に破棄されることを特徴とする請求項７乃至９何れか一項に記載の情報処理装置。
【請求項１１】
前記アドレス設定部は、前記第２ポートを前記第２パケットの送信元アドレスとして設定する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記情報処理装置は、前記第１パケット及び前記第２パケットにエラーを検出する符号を付するエラー検出符号生成回路を更に有することを特徴とする請求項７乃至１１何れか一項に記載の情報処理装置。
【請求項１３】
受信したパケットを転送するネットワークスイッチと、第１通信経路及び第２通信経路を介して前記ネットワークスイッチに接続される情報処理装置とを用いたデータ転送方法であって、
前記情報処理装置が、前記第１通信経路を用いて第１パケットを前記ネットワークスイッチに送信する工程と、
前記情報処理装置が、前記第１パケットのペイロードに記載された情報と同一の情報をペイロードに有する第２パケットを、前記第２通信経路を用いて前記ネットワークスイッチに送信する工程と、
前記ネットワークスイッチにて受信された前記第１パケット及び前記第２パケットのペイロ−ドにそれぞれ記載された情報についてエラー検出を行う工程と
を有することを特徴とするデータ通信方法。
【請求項１４】
前記第１通信経路でのエラー発生率と、前記第２通信経路でのエラー発生率を比較する工程を更に有することを特徴とする請求項１３に記載のデータ通信方法。
【請求項１５】
前記第１通信経路及び前記第２通信経路のうち、前記エラー発生率が低いものを現用系経路として制御する工程を更に有することを特徴とする請求項１３又は１４に記載のデータ通信方法。
【請求項１６】
前記情報処理装置は、前記第１通信経路に接続される第１ポートと、前記第２通信経路に接続される第２ポートを更に有し、
前記第２パケットの宛先を前記第２ポートとして指定する工程と、
前記ネットワークスイッチが前記第２パケットを前記第２ポートへ送信した後、前記第２パケットを削除からする工程を更に有することを特徴とする請求項１３乃至１５何れか一項に記載のデータ通信方法。
【請求項１７】
前記第２パケットは、前記第２ポートを送信元アドレスとして設定されることを特徴とする請求項１６に記載のデータ通信方法。
【請求項１８】
前記第１パケット及び前記第２パケットにエラーを検出する符号を付する工程を更に有することを特徴とする請求項１３乃至１７何れか一項に記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、情報処理システム、情報処理装置、及びデータ通信方法に関する。
【背景技術】
【０００２】
サーバ等の情報処理装置は、リピータハブやネットワークスイッチを介してネットワーク網に接続され、他の情報処理装置との間でデータのパケット転送を行うことができる。リピータハブは受信したパケットを、リピータハブに接続された全ての情報処理装置に転送するが、ネットワークスイッチは、パケットのヘッダ部分に記載された宛先を指定するアドレスに従い、当該アドレスを有する特定の情報処理装置に対してパケットを送信する機能を有する。【０００３】
情報処理装置とネットワークスイッチとの接続に関し、データ送信の信頼性を高めるために、データ送信経路を冗長化する技術が知られている。データ送信経路を冗長化する技術では、情報処理装置に設けられた複数のポートと、ネットワークスイッチに設けられた複数のポートを互いに接続し、現用系経路と予備系経路を構成する。現用系経路にリンクダウンが発生した場合や、データ送信におけるエラー発生率が増加してデータ送信の品質が低下した場合には、通信経路を予備系経路に切り替えてデータ送信を行う（例えば特許文献１又は２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１４５５３１号公報
【特許文献２】特開２００６−１８０１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現用系経路と予備系経路の切り替え方法に関し、現用系経路のエラー発生率が増加した場合に通信経路を予備系経路に切り替える技術では、経路切り替えによって通信品質が向上することを保証することはできない。予備系経路のエラー発生率が、現用系経路のエラー発生率よりも高い場合が有り得るからである。【０００６】
通信経路を現用系経路から予備系経路に切り替えることによって通信品質を向上させるためには、それぞれの経路を用いてパケット送信を行い、両通信経路のエラー発生率を比較する必要がある。しかし、それぞれの経路にパケットを送信させてエラー発生率を算出するだけでは、通信品質の比較を正確に行うことができない場合がある。【０００７】
本開示は、現用系経路と予備系経路の通信品質比較において、比較精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
開示の情報処理システムは、受信したパケットを転送するネットワークスイッチと、第１通信経路及び第２通信経路を介して前記ネットワークスイッチに接続される情報処理装置とを有し、第１通信経路を用いて第１パケットを情報処理装置からネットワークスイッチに送信し、第１パケットのペイロードに記載された情報と同じ情報をペイロードに有する第２パケットを、第２通信経路を用いて情報処理装置からネットワークスイッチに送信し、第１パケット及び第２パケットのペイロードにそれぞれ記載された情報についてエラー検出を行う。
【発明の効果】
【０００９】
情報処理装置とネットワークスイッチを現用系経路及び予備系経路を用いて接続し、現用系経路を用いてパケットを送信するとともに、現用系経路を用いて送信されるパケットのペイロードと同一の情報をペイロードに有するパケットを、予備系経路を用いて送信する。そして、両通信経路におけるエラー発生率を比較して通信経路の切り替えを行うことにより、通信品質を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】装置間接続関係を示す図である。
【図２】エラー発生率がデータパターンに依存し得ることを説明する図である。
【図３】エラー発生率がデータパターンに依存し得ることを説明する図である。
【図４】第１実施例における情報処理装置のハードウェア構成図である。
【図５】第１実施例におけるＮＩＣとネットワークスイッチとの接続関係を示す図である。
【図６】第１実施例におけるＮＩＣのハードウェア構成図である。
【図７】第１実施例におけるＮＩＣの機能ブロック図である。
【図８】第１実施例におけるパケットのデータ構成図である。
【図９】第１実施例におけるネットワークスイッチのハードウェア構成図である。
【図１０】第１実施例におけるネットワークスイッチの機能ブロック図である。
【図１１】第１実施例におけるＮＩＣの処理フローチャートである。
【図１２】第１実施例におけるネットワークスイッチの処理フローチャートである。
【図１３】第１実施例におけるＮＩＣの処理フローチャートである。
【図１４】第２実施例におけるＮＩＣの機能ブロック図である。
【図１５】第２実施例におけるＮＩＣの処理フローチャートである。
【図１６】第３実施例におけるＮＩＣの機能ブロック図である。
【図１７】第３実施例におけるＮＩＣの処理フローチャートである。
【図１８】第３実施例におけるＮＩＣの処理フローチャートである。
【図１９】第４実施例におけるネットワークスイッチの機能ブロック図である。
【図２０】第４実施例におけるネットワークスイッチの処理フローチャートである。
【発明を実施するための形態】
【００１１】
本開示は、情報処理装置に設けられたネットワークインターフェースカード（以下、ＮＩＣ）とネットワークスイッチとを接続する、現用系経路と予備系経路とを有する通信経路に関し、現用系経路と予備系経路の切り替え方法を開示する。通信経路を現用系経路から予備系経路に切り替えることによって通信品質を向上させるためには、現用系経路のエラー発生率と予備系経路のエラー発生率とを各々算出して比較する必要がある。そのため本開示では、現用系経路を用いてパケット送信を行う際、予備系経路にもパケットを送出する。そして両通信経路にて送信されるそれぞれのパケットのペイロードに記載されたデータに基づき、現用系経路でのエラー発生率及び予備系経路でのエラー発生率を算出する。両通信経路のエラー発生率の比較を行い、現用系経路でのエラー発生率が予備系経路のエラー発生率よりも高い場合に、現用系経路と予備系経路の切り替えを行う。ここで本願発明者は、送信されるパケットのペイロードに記載されたデータ内容に起因して、データのエラー発生率が変動し得ることを見出した。ここでペイロードとは、送信されるパケットのうち、宛先アドレスや送信元アドレス等のヘッダ情報や、エラー検出符号もしくはエラー訂正符号等のトレーラ情報を除いたデータ本体部を指す。
【００１２】
まず本開示が対象とするパケット通信環境及びデータ伝送方法について説明し、発明者が見出した、送信するデータパターンによってエラー発生率が相違し得る理由について説明する。
【００１３】
本開示が対象とするデータ通信の一例としては、伝送媒体として銅線ケーブルや光ファイバ等の通信ケーブルを用いた有線通信が挙げられる。図１は、ネットワークスイッチと情報処理装置とを含む情報処理システムを示す図である。情報処理装置１はネットワークスイッチ２に接続され、ネットワークスイッチ２はネットワーク網３に接続される。情報処理装置１とネットワークスイッチ２との間の接続に、上述した銅線ケーブルや光ファイバ等の通信ケーブルが用いられる。情報処理装置１は送信すべきデータを含むペイロードと、自己のアドレスである送信元アドレスと、データの送信先を特定する宛先アドレスとを含むパケットをネットワークスイッチ２に送信する。送信元アドレスや宛先アドレスは、例えば情報処理装置１や情報処理装置１のＮＩＣに設けられたポートのＭＡＣアドレスである。ネットワークスイッチ２は受信したパケットから宛先アドレスを読み取り、指定された宛先アドレスに対してパケットを転送する。情報処理装置１は例えばパーソナルコンピュータやサーバであり、ネットワークスイッチ２は例えばイーサネット（登録商標）スイッチである。
【００１４】
情報処理装置１は、ネットワークスイッチ２との間において、ベースバンド伝送方式に基づくデータ通信を行う。ベースバンド伝送方式とは、送信対象となるデジタル信号を、周波数変調などの変調を行わずに伝送する方法である。例えば銅線ケーブルを用いたベースバンド伝送において送信側は、デジタル信号を所定の符号化方式に従って電位信号に符号化して出力する。受信側は、受信した電位信号の値を適切なタイミングで読み取ることにより、送信されたデジタル信号を読み取る。ベースバンド伝送における符号化方式として、例えばＮｏｎ  Ｒｅｔｕｒｎ  Ｚｅｒｏ（ＮＲＺ）方式がある。ＮＲＺ方式は、デジタルデータ「０」に低電位を、デジタルデータ「１」に高電位をそれぞれ対応させ、デジタルデータ列に対応するパルス波形を伝送路に出力する。
【００１５】
次に、このＮＲＺ方式を例として、符号間干渉について説明する。符号間干渉とは、隣り合う符号同士が相互に干渉し合うことで、伝送経路上にてパルス波形が歪む現象のことを言い、シンボル間干渉とも呼ばれる。図２は、いくつかのデータパターンをＮＲＺ方式で符号化して伝送するケースを例として符号間干渉を説明する図である。図２Ａは、データパターンａ（０１１１１１１）、データパターンｂ（０１０００００）、データパターンｃ（０１１００００）、データパターンｄ（０１１１０００）をＮＲＺ方式で符号化した際の送信波形を示す。また図２Ｂは、通信ケーブルを伝達して受信側に到達した電位の受信波形を示す。図２Ｂに示すように、伝送路の周波数特性により受信波形にはなまりが発生する。そのため、データパターンｂにおける受信波形の電位振幅より、データパターンｃにおける受信波形の電位振幅が大きくなっていることが分かる。更にデータパターンｃにおける受信波形の電位振幅より、データパターンｄにおける受信波形の電位振幅が大きくなっている。このように、受信波形の電位振幅はデータパターンに依存して変動し得る。また、受信波形において電位が降下し始めてからから電位が判定基準電位を横切るまでの時間間隔に着目すると、この時間間隔もデータパターンによって相違することが分かる。この時間間隔が広い程、受信側においてデジタルデータ「１」を正しく読み取るためタイミングマージンが大きいことを意味する。つまりデータパターンｂに対して許容されるタイミングマージンは、データパターンｃに対して許容されるタイミングマージンよりも小さく、判定タイミングのずれによってデータ読出しエラーが発生する確率が高いと言える。言い換えると、デジタルデータ「１」からデジタルデータ「０」への遷移またはデジタルデータ「０」からデジタルデータ「１」への遷移を多く含むデータパターンほど、エラー発生率が高くなる傾向にあると考えることができる。
【００１６】
また、データパターンに起因してエラー発生率が生じる別の原因として、受信波形に対して判定基準値がシフトするケースも考えられる。図３は、判定基準値が所定値よりも高い側にシフトした状態を示す。このような状態は、例えば判定基準電位を生成する基準電位生成回路の性能劣化等によって生じ得る。図３に示す状態において、判定基準電位のシフトにより、デジタルデータ「０」に対応する低電位と判定基準値との差分が大きくなり、電位マージンも大きくなる。すなわち、仮に伝送路に電位ノイズが発生しても、デジタルデータ「０」が過って「１」と判定される可能性は低くなる。これに対してデジタルデータ「１」に対応する高電位の判定基準値との差分は小さくなり、電位マージンが小さくなる。よって、伝送路に電位ノイズが発生した場合に、デジタルデータ「１」が過って「０」と判定される可能性が高くなる。このようなケースでは、デジタルデータ「１」を多く含むデータパターンほど、エラー発生率が高くなる傾向を示すと考えられる。
【００１７】
このように、データパターンに依存してエラー発生率が相違する場合があるため、複数の送信経路の送信品質を比較する場合には、各々の送信経路に同じパターンのデータを流してエラー発生率を比較することが好ましい。尚、図２及び図３においてはＮＲＺ符号化方式を例として説明したが、他の符号化方式、例えばＲｅｔｕｒｎ  Ｚｅｒｏ（ＲＺ）方式、Ａｌｔｅｒｎａｔｉｏｎ  Ｍａｒｋ  Ｉｎｖｅｒｓｉｏｎ（ＡＭＩ）方式、Ｃｏｄｅ  Ｍａｒｋ  Ｉｎｖｅｒｓｉｏｎ（ＣＭＩ）方式、マンチェスター方式等を用いた伝送においても、符号間干渉によるエラー発生率のデータパターン依存性が存在するため、送信経路の品質比較を行うには、同じパターンのデータを送信してエラー発生率の比較を行うことが好ましい。
【００１８】
そのため本開示では、第１ペイロードを有する第１パケットと、第１ペイロードと同一内容の第２ペイロードを有する第２パケットを準備し、現用系経路を用いて第１パケットを送信し、予備系経路を用いて第２パケットを送信する。そして第１ペイロードに基づいて現用系経路のエラー発生率を算出し、第２ペイロードに基づいて予備系経路のエラー発生率を算出し、両通信経路の通信品質の比較を行う。本開示では、現用系経路を用いて送信されるパケットを送信パケットと呼び、予備系経路を用いて送信されるデータを複製パケットと呼ぶ。
【００１９】
尚、図２及び図３では通信ケーブルを用いた有線通信を例として説明したが、無線通信においても、送信機の符号化回路や受信機の複合化回路におけるアナログ特性等により符号間干渉が生じ得る場合があり、本開示の適用が可能である。
【００２０】
＜第１実施例＞
図４は、情報処理装置１のハードウェア構成図である。情報処理装置１は、ＮＩＣ１０、プロセッサ１１、メモリ１２、外部記憶媒体インターフェース１３、入力装置インターフェース１４と、これらを互いに接続するバス１５を有する。情報処理装置１は、外部記憶媒体インターフェース１３を介して、ＨＤＤ１６のような外部記憶媒体に接続される。また情報処理装置１はＮＩＣ１０を経由してネットワークスイッチ２に接続される。ＮＩＣ１０とネットワークスイッチ２との接続の詳細については後述する。プロセッサ１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）、Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（ＤＳＰ）、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）等の電子回路部品である。メモリ１２は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）、フラッシュメモリ等の電子回路部品である。
【００２１】
図５は、ネットワークスイッチ２と、情報処理装置１に設けられたＮＩＣ１０との接続関係を示す図である。ＮＩＣ１０は、物理的に独立したポートＡ１０１ａ及びポートＢ１０１ｂ有する。ネットワークスイッチ２は、物理的に独立したポートＡ’２０１ａ及びポートＢ’２０１ｂを有する。ポートＡ１０１ａとポートＡ’２０１ａが互いに接続されて通信経路Ａを構成し、ポートＢ１０１ｂとポートＢ’２０１ｂとが互いに接続されて通信経路Ｂを構成する。通信経路Ａ及び通信経路Ｂの一方が現用系経路、他方が予備系経路として用いられる。通信経路Ａと通信経路Ｂの制御は、後述するチーミングドライバが行う。尚、説明を容易にするため、本明細書においては、特に断らない限り、通信経路Ａが現用系経路、通信経路Ｂが予備系経路として制御されている状態と仮定して説明する。
【００２２】
図６は、ＮＩＣ１０のハードウェア構成図である。ＮＩＣ１０はプロセッサ１１０、メモリ１３０、バス１５に接続されるバスインターフェース回路１５０、ポートＡ１０１ａ及びポートＢ１０１ｂを介してネットワークスイッチに接続されるスイッチインターフェース回路１６０を有する。メモリ１３０、バスインターフェース回路１５０及びスイッチインターフェース回路１６０はいずれもプロセッサ１１０に接続される。プロセッサ１１０は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ等の電子回路部品である。メモリ１３０は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ等の電子回路部品である。
【００２３】
図７は、ＮＩＣ１０の機能ブロック図である。プロセッサ１１０が、メモリ１３０またはアクセス可能な他の記憶装置に格納された所定のプログラムを実行することにより、図５に示す各機能を実現する。プロセッサ１１０は、ポートＡ１０１ａ及びポートＢ１０１ｂに対する共通の制御を行うチーミングドライバ１１１と、ポートＡ１０１ａ及びポートＢ１０１ｂの各々について個別の制御を行うデバイスドライバＡ１２１ａ及びデバイスドライバＢ１２１ｂとして機能する。チーミングドライバ１１１は、エラー検出符号生成部１１２、パケット生成部１１３、チーミング制御部１１４、エラー発生率算出部１１５、エラー発生率比較部１１６、及びパケット破棄部１１７として機能する。エラー検出符号生成部１１２は、送信するパケット毎にエラー検出符号を生成し、パケットに付加する。エラー検出符号は、例えばパリティーチェックを行うためのパリティービット、巡回冗長検査を行うためのＣｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（ＣＲＣ）符号等である。尚、エラー検出に加えてエラー訂正を行うことを可能とする符号もエラー検出符号に含まれる。パケット生成部１１３は、現用系経路を用いて送信されるパケットと同一内容のペイロードを有する複製パケットを生成する。チーミング制御部１１４は、ポートＡ１０１ａを用いた通信経路Ａ及びポートＢ１０１ｂを用いた通信経路Ｂのうち片方を、パケット通信を行う現用系経路として制御し、他方を予備系経路として制御する。通信経路Ａを現用系経路とし、通信経路Ｂを予備系経路として制御している状態においてチーミング制御部１１４は、送信パケットをデバイスドライバＡ１２１ａに引き渡し、複製パケットをデバイスドライバＢ１２１ｂに引き渡す。またチーミング制御部１１４は、両通信経路のエラー発生率に基づいて現用系経路と予備系経路の切り替え制御も行う。エラー発生率算出部１１５は、後述するネットワークスイッチ２のエラーパケット数カウンタ部及び受信パケット数カウンタ部から、ネットワークスイッチ２がＮＩＣ１０から受信したパケット数と、受信したパケットのうちエラーが検出されたパケット数の情報を取得し、両通信経路のエラー発生率を算出する。エラー発生率比較部１１６は、エラー発生率算出部１１５によって算出された現用系経路のエラー発生率と予備系経路のエラー発生率を比較する。チーミング制御部１１４は、両通信経路のエラー発生率を比較した結果に基づいて、現用系経路と予備系経路の切り替えを行う。
【００２４】
デバイスドライバＡ１２１ａ及びデバイスドライバＢ１２１ｂは、それぞれアドレス設定部１２２ａ及びアドレス設定部１２２ｂを有する。アドレス設定部１２２ａ及び１２２ｂは、送信されるパケットに含まれる送信元アドレスや宛先アドレスを設定する機能を有する。
【００２５】
尚、ポートＡ１０１ａにはＭＡＣアドレスとしてアドレスＡが割り当てられており、ポートＢ１０１ｂにはＭＡＣアドレスとしてアドレスＢが割り当てられているものとする。またチーミングドライバ１１１には仮想ＭＡＣアドレスとしてアドレスＣが割り当てられているものとする。チーミングドライバ１１１に割り当てられたアドレスＣが、情報処理装置１を示すアドレスであり、他の情報処理装置が情報処理装置１を宛先としてパケット送信を行う際には、アドレスＣを宛先アドレスとして指定する。
【００２６】
次に、情報処理装置１が、他の情報処理装置にパケットを転送する場合のＮＩＣ１０の動作について説明する。図８Ａに、送信パケットの構成を示す。送信パケットは、パケットの送信先を示す宛先アドレスと、パケットの送信元を示す送信元アドレスと、ペイロードとを含む。本実施例では、宛先アドレスを他の情報処理装置のアドレスであるアドレスＤとし、ペイロードのデータをＸＸとする。また送信元アドレスとして、チーミングドライバ１１１に付された仮想ＭＡＣアドレスであるアドレスＣが付される。エラー検出符号生成部１１２は、データＸＸについてエラー検出を行うためのエラー検出符号を生成し、送信パケットに付加する。チーミング制御部１１４は、図８Ａに示される送信パケットをポートＡ１０１ａを制御するデバイスドライバＡ１２１ａに引き渡す。
【００２７】
パケット生成部１１３は、図８Ａに示される送信パケットと同一のペイロード及びエラー検出符号を有する複製パケットを生成する。チーミング制御部１１４は、複製パケットをポートＢ１０１ｂを制御するデバイスドライバＢ１２１ｂに引き渡す。デバイスドライバＢ１２１ｂのアドレス設定部１２２ｂは、複製パケットの宛先アドレスをポートＢ１０１ｂに割り当てられたＭＡＣアドレスであるアドレスＢに設定する。またデバイスドライバＢ１２１ｂのアドレス設定部１２２ｂは、複製パケットの送信元アドレスもポートＢ１０１ｂに割り当てられたＭＡＣアドレスであるアドレスＢに設定する。宛先アドレスをアドレスＢに設定するのは、複製パケットがネットワーク網３に流出しないようにするためである。複製パケットがネットワークスイッチ２からネットワーク網３に流出すると、他のパケット転送の転送レートの低下の原因となりうる。また、送信元アドレスをアドレスＢに設定するのは、ネットワークスイッチ２に通信経路を学習させるためである。ネットワークスイッチ２が行う通信経路の学習の詳細については後述する。
【００２８】
デバイスドライバＡ１２１ａは図８Ａに示す送信パケットを、ポートＡ１０１ａを介してネットワークスイッチ２に送信する。この際、デバイスドライバＡ１０１ａは、送信パケットに含まれる宛先アドレス及び送信元アドレスを変更することなく、宛先アドレスとしてアドレスＤを、送信元アドレスとしてアドレスＣを規定した状態で、送信パケットを送信する。またデバイスドライバＢ１２１ｂは、図８Ｂに示す複製パケットを、ポートＢ１０１ｂを介してネットワークスイッチ２に送信する。
【００２９】
次に、送信パケット及び複製パケットを受信するネットワークスイッチ２の構成と機能について説明する。図９は、ネットワークスイッチ２のハードウェア構成図である。ネットワークスイッチ２はプロセッサ２１０、メモリ２３０、ポートＡ’２０１ａ及びポートＢ’２０１ｂに接続されるＮＩＣインターフェース回路２５０、ネットワーク網３に接続されるネットワークインターフェース回路２６０を有する。メモリ２３０、ＮＩＣインターフェース回路２５０及びネットワークインターフェース回路２６０はいずれもプロセッサ２１０に接続される。プロセッサ２１０は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＦＰＧＡ等の電子回路部品である。メモリ２３０は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ等の電子回路部品である。
【００３０】
図１０は、ネットワークスイッチ２の機能ブロック図である。プロセッサ２１０は、メモリ２３０またはアクセス可能な他の記憶媒体に格納された所定のプログラムを実行することにより、図１０に示す各機能を実現する。プロセッサ２１０は、ポートＡ’２０１ａに対して設けられたデバイスドライバＡ’２１１ａ、ポートＢ’２０１ｂに対して設けられたデバイスドライバＢ’２１１ｂ、スイッチ部２２１及びアドレス学習部２２２として機能する。デバイスドライバＡ’２１１ａ及びデバイスドライバＢ’２１１ｂの各々は、エラー検出部２１２ａ及び２１２ｂ、エラーパケット数カウンタ部２１３ａ及び２１３ｂ、受信パケット数カウンタ部２１４ａ及び２１４ｂとして機能する。エラー検出部２１２ａ及び２１２ｂは、ＮＩＣ１０から受信したパケットに含まれるエラー検出符号によりエラーの検出を行う。エラーパケット数カウンタ部２１３ａ及び２１３ｂは、エラー検出部２１２ａ及び２１２ｂによりエラーが検出されたパケットの数をカウントする。受信パケット数カウンタ部２１４ａ及び２１４ｂは、ＮＩＣ１０より受信したパケットの総数をカウントする。スイッチ部２２１は、受信したパケットの宛先アドレスを読み取り、指定されたアドレスへパケットを転送する。例えば図８Ａに示した送信パケットは、スイッチ部２２１においてアドレスＤを有する他の情報処理装置に転送され、図８Ｂに示した複製パケットは、ポートＢ１０１ｂに対して返信される。アドレス学習部２２２は、ポートＡ’２０１ａ及びポートＢ’２０１ｂのそれぞれについて、受信したパケットの送信元アドレスを学習する機能を有する。具体的には、ポートＡ’２０１ａにて受信した送信パケットの送信元アドレスがアドレスＣにあることに基づき、ポートＡ’２０１ａが、アドレスＣが表す情報処理装置１に接続されていることを学習する。一方、ポートＢ’２０１ｂにて受信した複製パケットの送信元アドレスがアドレスＢにあることに基づき、アドレス学習部２２２は、ポートＢ’２０１ｂがポートＢ１０１ｂに接続されていることを学習する。しかしこのことは、アドレス学習部２２２は、ポートＢ’２０１ｂが、アドレスＣによって特定されるノード、すなわち情報処理装置１に接続されているとは認識できないことを意味する。このような状態において、ネットワークスイッチ２が他の情報処理装置から、情報処理装置１宛てに送られてきたパケット、すなわち宛先アドレスとしてアドレスＣを指定するパケットを受信したとする。この場合、ネットワークスイッチ２はアドレス学習部２２２の学習結果に基づき、アドレスＣを宛先として指定するパケットはポートＡ’２０１ａに送出すべきパケットであることを認識できるため、現用系経路Ａを用いて情報処理装置１に当該パケットを転送することができる。尚、ネットワークスイッチ２は、図１０に示される機能を専用のロジック回路を用いて実現してもよい。
【００３１】
次に、各通信経路におけるエラー発生率の算出方法について説明する。エラー発生率は、ネットワークスイッチ２が受信した総パケット数に対する、エラーが検出されたパケット数の比率で定義される。通信経路Ａを用いてＮＩＣ１０から送信されたパケット総数をｒｘＡ、通信経路Ａにて送信されたパケットのうち、エラーが検出されたパケット数をｃｒｃＡ、通信経路Ｂを用いてＮＩＣ１０から送信されたパケット総数をｒｘＢ、通信経路Ｂにて送信されたパケットのうち、エラーが検出されたパケット数をｃｒｃＢとすると、通信経路Ａにおけるエラー発生率ＥＲ＿Ａ及び通信経路Ｂにおけるエラー発生率ＥＲ＿Ｂは以下の式（１）及び式（２）で表される。
式（１）：
2015075763.tif 000003
【００３２】
式（２）：
2015075763.tif 000004
【００３３】
ＮＩＣ１０のエラー発生率算出部１１５は、ｒｘＡ及びｒｘＢをネットワークスイッチ２の受信パケット数カウンタ部２１４ａ及び２１４ｂから、ｃｒｃＡ及びｃｒｃＢをネットワークスイッチ２のエラーパケット数カウンタ部２１３ａ及び２１３ｂからそれぞれ取得し、式（１）及び式（２）に基づきエラー発生率を算出する。
【００３４】
図１１は、パケット送受信に関するＮＩＣ１０の処理フローチャートである。図１１の処理は処理１０００により開始する。処理１００１においてエラー検出符号生成部１１２が、送信パケットのペイロードに含まれる送信データＸＸに基づいてエラー検出符号を生成し、送信パケットに付加する。処理１００２においてパケット生成部１１３が、エラー検出符号が付された送信パケットを複製して、送信パケットと同一のデータＸＸを有するペイロードを含む複製パケットを生成する。処理１００３においてデバイスドライバＡ１２１ａが、送信パケットをポートＡ１０１ａ経由でネットワークスイッチ２に送信する。処理１００４においてデバイスドライバＢ１２１ｂのアドレス設定部１２２ｂが、複製パケットの宛先アドレス及び送信元アドレスをポートＢ１０１ｂのＭＡＣアドレスであるアドレスＢに書き換え、ポートＢ１０１ｂを経由してネットワークスイッチ２に送信する。複製パケットの宛先アドレスがポートＢ１０１ｂを指定しているため、ネットワークスイッチ２は複製パケットをポートＢ１０１ｂに返信する。処理１００５においてデバイスドライバＢ１２１ｂが返信された複製パケットを受信する。処理１００６においてパケット破棄部２２３が、ネットワークスイッチ２から返信された複製パケットを破棄し、処理１００７にて終了する。
【００３５】
図１２は、ネットワークスイッチ２のパケット転送に関する処理フローチャートである。図１２の処理は処理１１００により開始する。処理１１０１においてデバイスドライバＡ’２１１ａ及びデバイスドライバＢ’２１１ｂが、送信パケット及び複製パケットをそれぞれ受信する。処理１１０２において受信パケット数カウンタ部２１４ａ及び２１４ｂが、送信パケット及び複製パケットのそれぞれについて、受信パケット数をカウントする。処理１１０３においてエラー検出部２１２ａ及び２１２ｂが、送信パケット及び複製パケットのそれぞれについて、エラー検出を行う。処理１１０４においてエラーパケット数カウンタ部２１３ａ及び２１３ｂが、送信パケット及び複製パケットのそれぞれについて、エラーパケット数をカウントする。処理１１０５においてスイッチ部２２１が、送信パケットを指定された宛先アドレスに従って転送する。処理１１０６においてスイッチ部２２１が、複製パケットをポートＢ１０１ｂに対して返信し、処理１１０７にて終了する。
【００３６】
図１３は、現用系経路と予備系経路の切り替えに関するＮＩＣ１０の処理フローチャートである。図１３の処理は処理１２００により開始する。処理１２０１においてエラー発生率算出部１１５が、ネットワークスイッチ２のエラーパケット数カウンタ部２１３ａ及び２１３ｂと、受信パケット数カウンタ部２１４ａ及び２１４ｂの各々から、カウント値を取得する。処理１２０２においてエラー発生率算出部１１５が、取得したカウント値に基づきエラー発生率を算出する。このエラー発生率の算出は、通信経路Ａと通信経路Ｂの各々について行われる。処理１２０３においてエラー発生率比較部１１６が、通信経路Ａでのエラー発生率と通信経路Ｂでのエラー発生率を比較する。処理１２０３において、現用系の通信経路Ａのエラー発生率が予備系の通信経路Ｂのエラー発生率よりも大きいと判断された場合（処理１２０３のＹｅｓ）は、処理１２０４へ進む。処理１２０４においてチーミング制御部１１４が、現用系経路と予備系経路を切り替える、すなわち通信経路Ｂを現用系経路として用い、通信経路Ａを予備系経路として用いるよう制御を行う。処理１２０３において、現用系の通信経路Ａのエラー発生率が、予備系の通信経路Ｂのエラー発生率と同一か若しくは小さいと判断された場合（処理１２０３のＮｏ）は、現用系経路と予備系経路の切り替えを行うことなく、処理１２０５にて処理を終了する。
【００３７】
このように第１実施例では、現用系の通信経路を用いて送信される送信パケットと同一データを有するペイロードを含む複製パケットを、予備系の通信経路を用いて送信し、両通信経路のエラー発生率を比較する。両通信経路で送信されるデータ内容が同一であるので、エラー発生率のデータパターン依存性の影響を受けることなく、エラー発生率の比較を適切に行うことができる。エラー発生率の比較の結果に基づいてエラー発生率の低い経路を現用系の通信経路として設定することにより、通信品質を向上させることができる。また複製パケットの宛先アドレスを、複製パケットが送信されるポートのアドレスに設定することにより、複製パケットはネットワーク網３に流出することなくネットワークスイッチ２から送信元へ返信されて破棄されるため、他のパケット通信の転送レートに影響を及ぼすことを抑制することができる。
【００３８】
尚、図１３においては、現用系経路のエラー発生率が予備系経路のエラー発生率よりも高くなった場合に経路の切り替えを行う例を示したが、現用系経路のエラー発生率が予備系経路のエラー発生率よりも所定値以上高くなった場合に経路の切り替えを行ってもよい。この所定値を適切に制御することにより、切り替え動作の発生頻度を抑制することができる。
【００３９】
また、エラー検出符号として、Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ（ＥＣＣ）のように検出したエラーに対して訂正を行う符号を用いた場合、エラーパケット数カウンタは、エラーが検出されたパケットの総数をカウントしてもよく、エラーが検出されたパケットのうち、訂正不能だったパケットの数をカウントしてもよい。
【００４０】
＜第２実施例＞
図１３に示す例では、現用系経路でのエラー発生率が予備系経路でのエラー発生率よりも高くなった場合に現用系経路と予備系経路の切り替えを行う例を示した。第２実施例は第１実施例にて開示した内容をベースとし、通信経路の切り替えを行う条件として、現用系経路のエラー発生率が設定された所定の閾値を上回ることを加えたものである。つまり第２実施例では、現用系経路のエラー発生率が、予備系経路のエラー発生率に比べて高いものであったとしても、通信経路として使用を継続するのに適切な範囲であれば、現用系経路と予備系経路の切り替えは行わない。これにより、通信経路切り替え動作の発生頻度を抑制することができる。
【００４１】
図１４は、第２実施例におけるＮＩＣ１０の機能ブロック図である。第１実施例に示した内容と同一の機能については同一の参照符号を付し説明を省略する。ＮＩＣ１０は、現用系経路のエラー発生率が上昇して、設定された所定の閾値を超えたか否かを判定する判定部１１８を更に有する。判定部１１８が、現用系経路のエラー発生率が閾値を超えたと判断した場合に、エラー発生率比較部１１６が、現用系経路のエラー発生率と予備系経路のエラー発生率を比較して、通信経路切り替えの要否を判断する。エラー発生率の閾値は、固定値として判定部１１８に格納されていてもよく、また、入力装置インターフェース１４を介してユーザが設定してもよい。
【００４２】
図１５は、現用系経路と予備系経路の切り替えに関するＮＩＣ１０の処理フローチャートである。図１３にて説明した処理内容と同一の処理については同一の参照符号を付し説明を省略する。処理１２０２の後、処理１３０１において判定部１１８が、現用系経路のエラー発生率と設定された閾値とを比較する。処理１３０１において、現用系経路のエラー発生率が閾値よりも大きいと判定された場合（処理１３０１のＹｅｓ）は、処理１２０３へ移行する。処理１３０１において、現用系経路のエラー発生率が閾値と同一もしくは閾値よりも小さいと判定された場合（処理１３０１のＮｏ）は、通信経路の切り替えを行わずに処理１２０５にて終了する。
【００４３】
このように第２実施例では、現用系経路と予備系経路の切り替えを行う際、両通信経路のエラー発生率の比較に加え、現用系経路のエラー発生率が設定された閾値を超えたか否かが判断される。これにより、現用系経路のエラー発生率が設定された閾値を超えていない場合には通信経路の切り替えを行わないよう制御できるため、通信経路の切り替え動作の発生頻度を抑制することができる。
【００４４】
尚、図１５に示したフローチャートの変形例として、現用系経路のエラー発生率と予備系経路のエラー発生率の比較を先に行い、現用系経路のエラー発生率が予備系経路のエラー発生率よりも大きい場合に、判定部１１８が現用系経路のエラー発生率が閾値を上回っているか否かを判定するよう、処理の順序を入れ替えてもよい。
【００４５】
＜第３実施例＞
第１実施例においては、現用系経路のエラー発生率と予備系経路のエラー発生率は、ＮＩＣ１０からネットワークスイッチ２に送信されたパケットのみを用いて算出した。第３実施例では、第１実施例にて開示した内容をベースとし、現用系経路のエラー発生率と予備系経路のエラー発生率を、ネットワークスイッチ２からＮＩＣ１０に転送されたパケットも含めて算出するものである。
【００４６】
図１６は、第３実施例におけるＮＩＣ１０の機能ブロック図である。第１実施例に示した内容と同一の機能については同一の参照符号を付し説明を省略する。ＮＩＣ１０のプロセッサ１１０は、ポートＡ１０１ａ及びポートＢ１０１ｂの各々に対して、エラー検出部１２３ａ及び１２３ｂ、エラーパケット数カウンタ部１２４ａ及び１２４ｂ、受信パケット数カウンタ部１２５ａ及び１２５ｂとして機能する。エラー検出部１２３ａ及び１２３ｂは、ネットワークスイッチ２から受信したパケットに含まれるエラー検出符号によりエラーの検出を行う。エラーパケット数カウンタ部１２４ａ及び１２４ｂはエラー検出部１２３ａ及び１２３ｂによりエラーが検出されたパケットの数をカウントする。受信パケット数カウンタ部１２５ａ及び１２５ｂは、ネットワークスイッチ２から受信したパケットの総数をカウントする。尚、ＮＩＣ１０は、これらの機能を専用のロジック回路を用いて実現してもよい。
【００４７】
第３実施例では、ネットワークスイッチ２によって取得されるエラーパケット数と受信パケット数に加え、ＮＩＣ１０によって取得されたエラーパケット数と受信パケット数も用いてエラー発生率を算出する。第３実施例におけるエラー発生率は以下のように算出することができる。
【００４８】
通信経路Ａを用いてネットワークスイッチ２からＮＩＣ１０へ転送されたパケット総数をｒｘＡ２、通信経路Ａにて転送されたパケットのうち、エラーが検出されたパケット数をｃｒｃＡ２、通信経路Ｂを用いてネットワークスイッチ２からＮＩＣ１０へ転送されたパケット総数をｒｘＢ２、通信経路Ｂにて転送されたパケットのうち、エラーが検出されたパケット数をｃｒｃＢ２とすると、通信経路Ａにおけるエラー発生率ＥＲ＿Ａ２及び通信経路Ｂにおけるエラー発生率ＥＲ＿Ｂ２は以下の式（３）及び式（４）で表される。
式（３）：
2015075763.tif 000005
【００４９】
式（４）：
2015075763.tif 000006
【００５０】
ここで、現用系経路にて受信するパケットは、他の情報処理装置等から情報処理装置１を宛先として転送されたパケットであり、予備系経路にて受信するパケットは、予備系ポートから発信されて返信された複製パケットである。ＮＩＣ１０のエラー発生率算出部は、ｒｘＡ１及びｒｘＢ１をネットワークスイッチ２の受信パケット数カウンタ部２１４ａ及び２１４ｂから、ｃｒｃＡ１及びｃｒｃＢ１をネットワークスイッチ２のエラーパケット数カウンタ部２１３ａ及び２１３ｂから取得し、更にｒｘＡ２及びｒｘＢ２をＮＩＣ１０の受信パケット数カウンタ部１２５ａ及び１２５ｂから、ｃｒｃＡ２及びｃｒｃＢ２をＮＩＣ１０のエラーパケット数カウンタ部１２４ａ及び１２４ｂから取得して、式（３）及び式（４）によりエラー発生率を算出する。そして、第１実施例と同様に、エラー発生率比較部１１６により現用系経路と予備系経路のエラー発生率を比較して、通信経路の切り替えの要否判断を行う。
【００５１】
図１７は、パケット送信に関するＮＩＣ１０の処理フローチャートである。図１１にて説明した処理内容と同一の処理については同一の参照符号を付し説明を省略する。処理１００５の後、処理１４０１にてエラー検出部１２３ｂが、ネットワークスイッチ２から返信された複製パケットについてエラー検出を行う。処理１４０２においてエラーパケット数カウンタ部１２４ｂと受信パケット数カウンタ部１２５ｂがそれぞれ、複製パケットについてエラーパケット数及び受信パケット数をカウントする。尚、図１７には示していないが、他の情報処理装置から情報処理装置１宛てのパケットが送信されてきた場合は、エラー検出部１２３ａがエラー検出を行い、エラーパケット数カウンタ部１２４ａと受信パケット数カウンタ部１２５ａがそれぞれ、エラーパケット数及び受信パケット数をカウントする。
【００５２】
図１８は、ＮＩＣ１０の通信経路切り替えに関する処理フローチャートである。図１３と同一の処理内容については同一の参照符号を付し説明を省略する。処理１５０１においてエラー発生率算出部１１５が、エラーパケット数カウンタ部１２４ａ及び１２４ｂと、エラーパケット数カウンタ部２１３ａ及び２１３ｂと、受信パケット数カウンタ部１２５ａ及び１２５ｂと、受信パケット数カウンタ部２１４ａ及び２１４ｂとからそれぞれ、エラーパケット数と受信パケット数を取得する。処理１５０２においてエラー発生率算出部１１５が、ＮＩＣ１０からネットワークスイッチ２へ送信されるパケットと、ネットワークスイッチ２からＮＩＣ１０へ転送されるパケットの両方を含むエラー発生率を、現用系経路と予備系経路の両方について算出する。
【００５３】
第３実施例においては、各通信経路のエラー発生率の算出を、ネットワークスイッチ２からＮＩＣ１０に転送されたパケットも含めて行っている。ＮＩＣ１０からネットワークスイッチ２へ送信されるパケットは、既に説明したように同一内容のデータであるが、ネットワークスイッチ２からＮＩＣ１０へ転送されるパケットは同一データとは限らない。しかしエラー発生率の算出においてネットワークスイッチ２からＮＩＣ１０への転送も考慮したい場合は、本実施例の手法が有効である。尚、第３実施例は、第２実施例と組み合わせ、通信経路切り替えを実行するための条件に、現用系通信経路のエラー発生率が設定された所定の閾値を上回ることを加えてもよい。
【００５４】
＜第４実施例＞
第１又は第２実施例では、複製パケットは送信元のポートへ返信された後に破棄されるものとして説明したが、送信元のポートへ返信することなく複製パケットを破棄してもよい。第４実施例では、複製パケットをネットワークスイッチ２にて破棄する態様について説明する。
【００５５】
図１９は、第４実施例におけるネットワークスイッチ２の機能ブロック図である。図１０にて説明した機能ブロックと同一のものについては同一の参照符号を付し説明を省略する。ネットワークスイッチ２はパケット破棄部２２３を更に有する。パケット破棄部２２３は、予備系経路にて受信した複製パケットを破棄することにより、複製パケットがネットワーク網３に送出されることを防止する。受信したパケットが複製パケットであることを認識して破棄する方法としては、例えばパケット破棄部２２３が、宛先アドレスと送信元アドレスが同一のパケットを複製パケットと認識して破棄する方法がある。図８Ｂに示したように、複製パケットは宛先アドレスと送信元アドレスが何れも予備系経路ＢのポートＢ１０１ｂとなっている。よって、パケット破棄部２２３は、宛先アドレスと送信元アドレスが同一のパケットを複製パケットであるとして認識して破棄する。また、複製パケットを認識する他の方法としては、ＮＩＣ１０が複製パケットに破棄フラグを付する方法がある。例えばパケット生成部１１３が複製パケットを生成する際に、そのパケットが複製パケットであって破棄されるべきパケットであることを示す破棄フラグを生成し、パケットに付して送信する。パケット破棄部２２３は、受信したパケットに破棄フラグが付されている場合には、そのパケットを複製パケットと認識して破棄する。これにより、複製パケットを送信元に返信することなく破棄することができる。
【００５６】
図２０は、第４実施例におけるネットワークスイッチ２の処理フローチャートである。図１２と同一の処理内容については同一の参照符号を付し説明を省略する。処理１６０１においてパケット破棄部２２３が、複製パケットを破棄して、処理１１０７にて処理を終了させる。
【符号の説明】
【００５７】
１  情報処理装置
２  ネットワークスイッチ
３  ネットワーク網
１０  ＮＩＣ
１１、１１０、２１０  プロセッサ
１２、１３０、２３０  メモリ
１３  外部記憶装置インターフェース
１４  入力装置インターフェース
１５  バス
１６  ＨＤＤ
１５０  バスインターフェース回路
１６０  スイッチインターフェース回路
２５０  ＮＩＣインターフェース回路
２６０  ネットワークインターフェース回路
１０１ａ  ポートＡ
１０１ｂ  ポートＢ
２０１ａ  ポートＡ’
２０１ｂ  ポートＢ’
１１１  チーミングドライバ
１１２  エラー検出符号生成部
１１３  パケット生成部
１１４  チーミング制御部
１１５  エラー発生率算出部
１１６  エラー発生率比較部
１１７  パケット破棄部
１１８  判定部     
１２１ａ  デバイスドライバＡ
１２１ｂ  デバイスドライバＢ
１２２ａ、１２２ｂ  アドレス設定部
１２３ａ、１２３ｂ  エラー検出部
１２４ａ、１２４ｂ  エラーパケット数カウンタ部
１２５ａ、１２５ｂ  受信パケット数カウンタ部
２１１ａ  デバイスドライバＡ’
２１１ｂ  デバイスドライバＢ’
２１２ａ、２１２ｂ  エラー検出部
２１３ａ、２１３ｂ  エラーパケット数カウンタ部
２１４ａ、２１４ｂ  受信パケット数カウンタ部
２２１  スイッチ部
２２２  アドレス学習部
２２３  パケット破棄部
【図１】
2015075763.tif 000007
【図２】
2015075763.tif 000008
【図３】
2015075763.tif 000009
【図４】
2015075763.tif 000010
【図５】
2015075763.tif 000011
【図６】
2015075763.tif 000012
【図７】
2015075763.tif 000013
【図８】
2015075763.tif 000014
【図９】
2015075763.tif 000015
【図１０】
2015075763.tif 000016
【図１１】
2015075763.tif 000017
【図１２】
2015075763.tif 000018
【図１３】
2015075763.tif 000019
【図１４】
2015075763.tif 000020
【図１５】
2015075763.tif 000021
【図１６】
2015075763.tif 000022
【図１７】
2015075763.tif 000023
【図１８】
2015075763.tif 000024
【図１９】
2015075763.tif 000025
【図２０】
2015075763.tif 000026
【手続補正書】
【提出日】平成28年8月5日(2016.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
受信したパケットを転送するネットワークスイッチと、
第１通信経路及び第２通信経路を介して前記ネットワークスイッチに接続される情報処理装置と
を有し、
前記第１通信経路を用いて第１パケットを前記情報処理装置から前記ネットワークスイッチに送信し、前記第１パケットのペイロードに記載された情報と同じ情報をペイロードに有する第２パケットを、前記第２通信経路を用いて前記情報処理装置から前記ネットワークスイッチに送信し、
前記第１パケット及び前記第２パケットのペイロードにそれぞれ記載された情報についてエラー検出を行う
ことを特徴とする情報処理システム。
【請求項２】
前記情報処理装置は、前記第１通信経路でのエラー発生率と、前記第２通信経路でのエラー発生率を比較する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、前記第１通信経路及び前記第２通信経路のうち、前記エラー発生率が低いものを現用系経路として制御する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、前記第１通信経路に接続される第１ポートと、前記第２通信経路に接続される第２ポートを更に有し、
前記第２パケットは、前記第２ポートを宛先として設定され、
前記ネットワークスイッチは、前記第２パケットを前記第２ポート宛てに送信し、
前記情報処理装置は、前記ネットワークスイッチから送信された前記第２パケットを破棄する
ことを特徴とする請求項１乃至３何れか一項に記載の情報処理システム。
【請求項５】
前記第２パケットは、前記第２ポートを送信元アドレスとして設定される
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記情報処理装置は、前記第１パケット及び前記第２パケットにエラーを検出する符号を付する
ことを特徴とする請求項１乃至５何れか一項に記載の情報処理システム。
【請求項７】
受信したパケットを転送するネットワークスイッチに第１通信経路及び第２通信経路を介して接続される情報処理装置であって、前記情報処理装置は、
前記第１通信経路を用いて送信する第１パケットのペイロードに記載された情報と同一の情報をペイロードに有する第２パケットを生成するパケット生成部と、
前記第１パケットを、前記第１通信経路を用いて前記ネットワークスイッチへ送信する第１デバイスドライバと、
前記第２パケットを、前記第２通信経路を用いて前記ネットワークスイッチへ送信する第２デバイスドライバと
を有することを特徴とする情報処理装置。
【請求項８】
前記第１通信経路でのエラー発生率と、前記第２通信経路でのエラー発生率を比較する比較部を更に有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置は、前記第１通信経路及び前記第２通信経路のうち、前記エラー発生率が低いものを現用系経路として制御する制御部を更に有することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第１通信経路に接続される第１ポートと、前記第２通信経路に接続される第２ポートを更に有し、
前記第２パケットは、前記第２ポートを宛先として設定され、
前記第２パケットは、前記ネットワークスイッチから前記第２ポートに送信された後に破棄されることを特徴とする請求項７乃至９何れか一項に記載の情報処理装置。
【請求項１１】
前記アドレス設定部は、前記第２ポートを前記第２パケットの送信元アドレスとして設定する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記情報処理装置は、前記第１パケット及び前記第２パケットにエラーを検出する符号を付するエラー検出符号生成回路を更に有することを特徴とする請求項７乃至１１何れか一項に記載の情報処理装置。
【請求項１３】
受信したパケットを転送するネットワークスイッチと、第１通信経路及び第２通信経路を介して前記ネットワークスイッチに接続される情報処理装置とを用いたデータ転送方法であって、
前記情報処理装置が、前記第１通信経路を用いて第１パケットを前記ネットワークスイッチに送信する工程と、
前記情報処理装置が、前記第１パケットのペイロードに記載された情報と同一の情報をペイロードに有する第２パケットを、前記第２通信経路を用いて前記ネットワークスイッチに送信する工程と、
前記ネットワークスイッチにて受信された前記第１パケット及び前記第２パケットのペイロ−ドにそれぞれ記載された情報についてエラー検出を行う工程と
を有することを特徴とするデータ通信方法。
【請求項１４】
前記第１通信経路でのエラー発生率と、前記第２通信経路でのエラー発生率を比較する工程を更に有することを特徴とする請求項１３に記載のデータ通信方法。
【請求項１５】
前記第１通信経路及び前記第２通信経路のうち、前記エラー発生率が低いものを現用系経路として制御する工程を更に有することを特徴とする請求項１４に記載のデータ通信方法。
【請求項１６】
前記情報処理装置は、前記第１通信経路に接続される第１ポートと、前記第２通信経路に接続される第２ポートを更に有し、
前記第２パケットの宛先を前記第２ポートとして指定する工程と、
前記ネットワークスイッチが前記第２パケットを前記第２ポートへ送信した後、前記第２パケットを削除からする工程を更に有することを特徴とする請求項１３乃至１５何れか一項に記載のデータ通信方法。
【請求項１７】
前記第２パケットは、前記第２ポートを送信元アドレスとして設定されることを特徴とする請求項１６に記載のデータ通信方法。
【請求項１８】
前記第１パケット及び前記第２パケットにエラーを検出する符号を付する工程を更に有することを特徴とする請求項１３乃至１７何れか一項に記載のデータ通信方法。 
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
次に、このＮＲＺ方式を例として、符号間干渉について説明する。符号間干渉とは、隣り合う符号同士が相互に干渉し合うことで、伝送経路上にてパルス波形が歪む現象のことを言い、シンボル間干渉とも呼ばれる。図２は、いくつかのデータパターンをＮＲＺ方式で符号化して伝送するケースを例として符号間干渉を説明する図である。図２Ａは、データパターンａ（０１１１１１１）、データパターンｂ（０１０００００）、データパターンｃ（０１１００００）、データパターンｄ（０１１１０００）をＮＲＺ方式で符号化した際の送信波形を示す。また図２Ｂは、通信ケーブルを伝達して受信側に到達した電位の受信波形を示す。図２Ｂに示すように、伝送路の周波数特性により受信波形にはなまりが発生する。そのため、データパターンｂにおける受信波形の電位振幅より、データパターンｃにおける受信波形の電位振幅が大きくなっていることが分かる。更にデータパターンｃにおける受信波形の電位振幅より、データパターンｄにおける受信波形の電位振幅が大きくなっている。このように、受信波形の電位振幅はデータパターンに依存して変動し得る。また、受信波形において電位が降下し始めてから電位が判定基準電位を横切るまでの時間間隔に着目すると、この時間間隔もデータパターンによって相違することが分かる。この時間間隔が広い程、受信側においてデジタルデータ「１」を正しく読み取るためタイミングマージンが大きいことを意味する。つまりデータパターンｂに対して許容されるタイミングマージンは、データパターンｃに対して許容されるタイミングマージンよりも小さく、判定タイミングのずれによってデータ読出しエラーが発生する確率が高いと言える。言い換えると、デジタルデータ「１」からデジタルデータ「０」への遷移またはデジタルデータ「０」からデジタルデータ「１」への遷移を多く含むデータパターンほど、エラー発生率が高くなる傾向にあると考えることができる。 
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
図１０は、ネットワークスイッチ２の機能ブロック図である。プロセッサ２１０は、メモリ２３０またはアクセス可能な他の記憶媒体に格納された所定のプログラムを実行することにより、図１０に示す各機能を実現する。プロセッサ２１０は、ポートＡ’２０１ａに対して設けられたデバイスドライバＡ’２１１ａ、ポートＢ’２０１ｂに対して設けられたデバイスドライバＢ’２１１ｂ、スイッチ部２２１及びアドレス学習部２２２として機能する。デバイスドライバＡ’２１１ａ及びデバイスドライバＢ’２１１ｂの各々は、エラー検出部２１２ａ及び２１２ｂ、エラーパケット数カウンタ部２１３ａ及び２１３ｂ、受信パケット数カウンタ部２１４ａ及び２１４ｂとして機能する。エラー検出部２１２ａ及び２１２ｂは、ＮＩＣ１０から受信したパケットに含まれるエラー検出符号によりエラーの検出を行う。エラーパケット数カウンタ部２１３ａ及び２１３ｂは、エラー検出部２１２ａ及び２１２ｂによりエラーが検出されたパケットの数をカウントする。受信パケット数カウンタ部２１４ａ及び２１４ｂは、ＮＩＣ１０より受信したパケットの総数をカウントする。スイッチ部２２１は、受信したパケットの宛先アドレスを読み取り、指定されたアドレスへパケットを転送する。例えば図８Ａに示した送信パケットは、スイッチ部２２１においてアドレスＤを有する他の情報処理装置に転送され、図８Ｂに示した複製パケットは、ポートＢ１０１ｂに対して返信される。アドレス学習部２２２は、ポートＡ’２０１ａ及びポートＢ’２０１ｂのそれぞれについて、受信したパケットの送信元アドレスを学習する機能を有する。具体的には、ポートＡ’２０１ａにて受信した送信パケットの送信元アドレスがアドレスＣであることに基づき、ポートＡ’２０１ａが、アドレスＣが表す情報処理装置１に接続されていることを学習する。一方、ポートＢ’２０１ｂにて受信した複製パケットの送信元アドレスがアドレスＢであることに基づき、アドレス学習部２２２は、ポートＢ’２０１ｂがポートＢ１０１ｂに接続されていることを学習する。しかしこのことは、アドレス学習部２２２は、ポートＢ’２０１ｂが、アドレスＣによって特定されるノード、すなわち情報処理装置１に接続されているとは認識できないことを意味する。このような状態において、ネットワークスイッチ２が他の情報処理装置から、情報処理装置１宛てに送られてきたパケット、すなわち宛先アドレスとしてアドレスＣを指定するパケットを受信したとする。この場合、ネットワークスイッチ２はアドレス学習部２２２の学習結果に基づき、アドレスＣを宛先として指定するパケットはポートＡ’２０１ａに送出すべきパケットであることを認識できるため、現用系経路Ａを用いて情報処理装置１に当該パケットを転送することができる。尚、ネットワークスイッチ２は、図１０に示される機能を専用のロジック回路を用いて実現してもよい。 
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
ここで、現用系経路にて受信するパケットは、他の情報処理装置等から情報処理装置１を宛先として転送されたパケットであり、予備系経路にて受信するパケットは、予備系ポートから発信されて返信された複製パケットである。ＮＩＣ１０のエラー発生率算出部１１５は、ｒｘＡ１及びｒｘＢ１をネットワークスイッチ２の受信パケット数カウンタ部２１４ａ及び２１４ｂから、ｃｒｃＡ１及びｃｒｃＢ１をネットワークスイッチ２のエラーパケット数カウンタ部２１３ａ及び２１３ｂから取得し、更にｒｘＡ２及びｒｘＢ２をＮＩＣ１０の受信パケット数カウンタ部１２５ａ及び１２５ｂから、ｃｒｃＡ２及びｃｒｃＢ２をＮＩＣ１０のエラーパケット数カウンタ部１２４ａ及び１２４ｂから取得して、式（３）及び式（４）によりエラー発生率を算出する。そして、第１実施例と同様に、エラー発生率比較部１１６により現用系経路と予備系経路のエラー発生率を比較して、通信経路の切り替えの要否判断を行う。
【国際調査報告】
2015075763.tif 000027
2015075763.tif 000028
2015075763.tif 000029