(57)【特許請求の範囲】
【請求項１】
入力したデータを、リンクアグリゲーションを構成する複数の出力リンクを介して出力するネットワーク装置において、
前記入力したデータを一時的に記憶する第１の記憶部と、
前記入力したデータを一時的に記憶する第２の記憶部と、
前記第１の記憶部に記憶されているデータを読み出して、第１の出力リンクを介して出力し、前記第２の記憶部に記憶されているデータを読み出して、第２の出力リンクを介して出力する出力制御部と、
第１の入力リンクを介して入力されたデータを前記第１の記憶部に記憶させる第１の入力制御部と、
第２の入力リンクを介して入力されたデータを前記第２の記憶部に記憶させる第２の入力制御部と、
を備え、
前記出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の記憶部に記憶されているデータだけでなく、前記第１の記憶部に記憶されているデータも読み出して、前記第２の出力リンクを介して出力し、
前記第１の入力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第１の入力リンクを介して入力されたデータを前記第１の記憶部および前記第２の記憶部に記憶させ、
前記第２の入力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の入力リンクを介して入力されるデータを前記第２の記憶部に記憶させる処理を停止する、
ことを特徴とするネットワーク装置。
【請求項２】
前記第１の記憶部および前記第２の記憶部は、ファーストインファーストアウト方式の記憶部であって、
前記出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の記憶部に記憶されているデータを全て読み出し、前記第１の記憶部に記憶されているデータのうち、最後に読み出されたデータの次のデータから順に読み出し、前記読み出されたデータを前記第２の出力リンクを介して順に出力する、
ことを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記出力制御部は、前記第１の記憶部に記憶されているデータを読み出して、前記第１の出力リンクを介して出力する第１の出力制御部と、前記第２の記憶部に記憶されているデータを読み出して、前記第２の出力リンクを介して出力する第２の出力制御部とを有し、
前記第１の出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第１の出力リンクを介したデータの出力を停止し、
前記第２の出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の記憶部に記憶されているデータを全て読み出し、前記第１の記憶部に記憶されているデータのうち、最後に読み出されたデータの次のデータから順に読み出し、前記読み出されたデータを前記第２の出力リンクを介して順に出力する、
ことを特徴とする請求項２に記載のネットワーク装置。
【請求項４】
前記第１の出力リンクまたは前記第２の出力リンクで障害が発生した場合における前記第１の出力制御部、前記第２の出力制御部、前記第１の入力制御部、および前記第２の入力制御部の動作内容を記憶する処理記憶部をさらに備え、
前記第１の出力制御部、前記第２の出力制御部、前記第１の入力制御部、および前記第２の入力制御部はそれぞれ、前記第１の出力リンクまたは前記第２の出力リンクで障害が発生した場合に、前記処理記憶部に記憶されている動作内容に基づいて動作する、
ことを特徴とする請求項３に記載のネットワーク装置。
【請求項５】
前記ネットワーク装置は、物理サーバ上の仮想スイッチである、
ことを特徴とする請求項１に記載のネットワーク装置。
【請求項６】
入力したデータを、第１の記憶部および第２の記憶部のうちの少なくとも一方に一時的に記憶してから、リンクアグリゲーションを構成する複数の出力リンクを介して出力するネットワーク装置のデータ出力方法において、
前記ネットワーク装置は、
第１の入力リンクを介して入力されたデータを前記第１の記憶部に記憶させる第１の入力制御部と、第２の入力リンクを介して入力されたデータを前記第２の記憶部に記憶させる第２の入力制御部とを有し、
前記複数の出力リンクのうちの第１の出力リンクおよび第２の出力リンクのいずれにも障害が発生していない場合には、前記第１の記憶部に記憶されているデータを読み出して、前記第１の出力リンクを介して出力し、前記第２の記憶部に記憶されているデータを読み出して、第２の出力リンクを介して出力し、
前記第１の出力リンクで障害が発生した場合には、前記第２の記憶部に記憶されているデータだけでなく、前記第１の記憶部に記憶されているデータも読み出して、前記第２の出力リンクを介して出力し、
前記第１の入力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第１の入力リンクを介して入力されたデータを前記第１の記憶部および前記第２の記憶部に記憶させ、
前記第２の入力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の入力リンクを介して入力されるデータを前記第２の記憶部に記憶させる処理を停止する、
ことを特徴とするネットワーク装置の制御方法。
【請求項７】
前記第１の記憶部および前記第２の記憶部は、ファーストインファーストアウト方式の記憶部であって、
前記ネットワーク装置は、前記第１の出力リンクで障害が発生した場合に、前記第２の記憶部に記憶されているデータを全て読み出し、前記第１の記憶部に記憶されているデータのうち、最後に読み出されたデータの次のデータから順に読み出し、前記読み出されたデータを前記第２の出力リンクを介して順に出力する、
ことを特徴とする請求項６に記載のネットワーク装置の制御方法。
【請求項８】
前記ネットワーク装置は、前記第１の記憶部に記憶されているデータを読み出して、前記第１の出力リンクを介して出力する第１の出力制御部と、前記第２の記憶部に記憶されているデータを読み出して、前記第２の出力リンクを介して出力する第２の出力制御部とを有し、
前記第１の出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第１の出力リンクを介したデータの出力を停止し、
前記第２の出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の記憶部に記憶されているデータを全て読み出し、前記第１の記憶部に記憶されているデータのうち、最後に読み出されたデータの次のデータから順に読み出し、前記読み出されたデータを前記第２の出力リンクを介して順に出力する、
ことを特徴とする請求項６に記載のネットワーク装置の制御方法。
【請求項９】
前記ネットワーク装置は、前記第１の出力リンクまたは前記第２の出力リンクで障害が発生した場合における前記第１の出力制御部、前記第２の出力制御部、前記第１の入力制御部、および前記第２の入力制御部の動作内容を記憶する処理記憶部をさらに有し、
前記第１の出力制御部、前記第２の出力制御部、前記第１の入力制御部、および前記第２の入力制御部はそれぞれ、前記第１の出力リンクまたは前記第２の出力リンクで障害が発生した場合に、前記処理記憶部に記憶されている動作内容に基づいて動作する、
ことを特徴とする請求項８に記載のネットワーク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化されたネットワークにおいて、障害が発生した場合のデータ出力技術に関する。
【背景技術】
【０００２】
情報通信技術の発達により、通信回線を介した様々なサービスが広く社会に浸透した現在において、安定した通信サービスの提供は必要不可欠なものとなっている。ネットワークの信頼性を高めるために、機器や回線を冗長構成とし、障害が発生した場合に、障害部位を切り離し、通信経路を切り替えることによって、通信サービスを継続させる技術が知られている。
【０００３】
ネットワーク装置を冗長化する方法として、現用系と予備系の回線または装置を用意して、現用系の回線に障害が発生した場合に、予備系の回線に切替える方法がある。この方法では、未使用の装置や回線を設ける必要があるため、資源活用の観点からは効率が悪い。
【０００４】
ネットワーク装置（スイッチ）における回線、伝送路の冗長化技術の一つとして、リンクアグリゲーションが挙げられる。リンクアグリゲーションは、複数の物理回線を１本の論理回線に見せる技術であり、論理回線宛のフレームを特定のルールに基づいて、対応する複数の物理ポートのうちのいずれかに振り分ける機能である。リンクアグリゲーションを構成するいずれかの物理回線に障害が発生した場合、他の正常な回線で通信を続行する。リンクアグリゲーションを用いることにより、回線の冗長化および帯域の増強が可能であり、ＩＥＥＥ８０２．１ａｄで規定されている。
【０００５】
近年、サーバのハードウェアを仮想化し、１台のサーバ上で、複数の仮想サーバや仮想スイッチを設定する技術が確立したことや、ハードウェアの性能の進化によって、仮想化の環境が急速に広まっている。この仮想環境では、見かけは１台のサーバでも、多数の仮想サーバが動作しているので、もし１台のサーバに障害が発生すると、その影響の及ぶ範囲が広がる可能性がある。したがって、仮想環境では、冗長化をはじめとした耐障害性をより高める必要があり、信頼性の高いネットワーク装置が求められている。
【０００６】
特許文献１には、リンクアグリゲーションと、現用系および予備系を設定する方法を組み合わせて冗長化を実現し、信頼性を向上させる方法が開示されている。
【０００７】
特許文献２には、リンクアグリゲーションされた通信経路を構成するリンクの構成変化に起因する通信路の不通時間を低減する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−３４９７６４号公報
【特許文献２】特開２００６−１３５７２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、回線が冗長化されたネットワーク装置（例えばスイッチ）において、障害発生時には、障害部位を切り離して経路の切り替えを行うが、その際、障害部位の送信バッファに溜まったデータは破棄されてしまう。特許文献１および特許文献２には、障害発生時に、送信バッファに溜まったデータを救済する方法についての開示はなかった。
【００１０】
本発明は、上述した問題に鑑みてなされたものであり、リンクアグリゲーションを構成する複数の出力リンクを介してデータを出力するネットワーク装置において、１つの出力リンクに障害が発生した場合でも、データを出力することができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、入力したデータを、リンクアグリゲーションを構成する複数の出力リンクを介して出力するネットワーク装置において、前記入力したデータを一時的に記憶する第１の記憶部と、前記入力したデータを一時的に記憶する第２の記憶部と、前記第１の記憶部に記憶されているデータを読み出して、第１の出力リンクを介して出力し、前記第２の記憶部に記憶されているデータを読み出して、第２の出力リンクを介して出力する出力制御部と、を備え、前記出力制御部は、前記第１の出力リンクで障害が発生した場合に、前記第２の記憶部に記憶されているデータだけでなく、前記第１の記憶部に記憶されているデータも読み出して、前記第２の出力リンクを介して出力することを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、リンクアグリゲーションを構成する複数の出力リンクを介してデータを出力するネットワーク装置において、１つの出力リンクに障害が発生した場合でも、データを破棄することなく出力することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態におけるネットワーク装置の構成を示す図である。
【図２】第１の実施形態におけるネットワーク装置の送信バッファの構成を示す図である。
【図３】送信バッファ内のメモリアレイ内のデータの一例を示す図である。
【図４】経路切替え処理テーブルの一例を示す図である。
【図５】障害が発生した場合のバッファ制御部の動作を示すフローチャートである。
【図６】障害が発生した場合のデータ処理部の動作を示すフローチャートである。
【図７】障害が発生した場合の入力制御部の動作を示すフローチャートである。
【図８】障害が発生した場合の出力制御部の動作を示すフローチャートである。
【図９】障害が発生した場合の状態監視部、バッファ制御部、データ処理部、入力制御部、出力制御部の各動作の関係を示すシーケンス図である。
【図１０】第２の実施形態におけるネットワーク装置を備える物理サーバの構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について説明する。尚、以下に説明する実施の形態は一例であって、本発明はこれに限定されるものではない。
【００１５】
＜第１の実施形態＞
図１は、本発明の第１の実施形態におけるネットワーク装置の構成を示す図である。本実施形態では、回線で障害が発生した場合に、経路の切替えを行うネットワーク装置（スイッチ）１００の例について説明する。
【００１６】
ネットワーク装置１００は、状態監視部１１０、バッファ制御部１２０、データ処理部１３０、受信バッファ１４０、送信バッファ１５０、メモリ１６０、ポート１７０−ａ、ポート１７０−ｂ、ポート１７０−０、ポート１７０−１を備える。
【００１７】
ネットワーク装置１００は、ネットワークＢ（２００−Ｂ）から、ポートＰａ（１７０−ａ）、ポートＰｂ（１７０−ｂ）を介してデータを受信し、ポートＰ０（１７０−０）、ポートＰ１（１７０−１）から、ネットワークＡ（２００−Ａ）へデータを出力する。ポートＰ０（１７０−０）およびポートＰ１（１７０−１）は、リンクアグリゲーションで１本の回線に論理的に束ねられており、ポートＰａ（１７０−ａ）、ポートＰｂ（１７０−ｂ）を介して入力されたデータは、データ処理部１３０で振分けをされて送信される。
【００１８】
なお、ネットワークＡ（２００−Ａ）とネットワークＢ（２００−Ｂ）は、同じネットワークであってもよい。
【００１９】
詳細は後述するが、状態監視部１１０は、各ポート１７０−ｉ（ｉ＝ａ、ｂ、０、１）の状態を監視しており、リンクの切断等の障害を検出すると、バッファ制御部１２０およびデータ処理部１３０に、どのポートで障害が発生したかを示す情報とともに、障害の発生を通知する。通知を受けたバッファ制御部１２０およびデータ処理部１３０は、メモリ１６０内にある経路切替え処理テーブル１６１の情報に従って、経路切替えの処理を行う。経路切替え処理テーブル１６１の詳細については後述する。
【００２０】
ここで、ポートＰ０（１７０−０）は、出力リンクである回線０（２１０−０）に接続されており、ポートＰ１（１７０−１）は、出力リンクである回線１（２１０−１）に接続されている。回線０（２１０−０）および回線１（２１０−１）によって、リンクアグリゲーションが構成されている。状態監視部１１０は、例えば、ポートＰ０（１７０−０）を監視することにより、回線０（２１０−０）の障害を検出し、ポートＰ１（１７０−１）を監視することにより、回線１（２１０−１）の障害を検出する。
【００２１】
図２は、第１の実施形態におけるネットワーク装置１００の送信バッファ１５０の構成を示す図である。送信バッファ１５０は、入力制御部１５１−０、１５１−１と、出力制御部１５２−０、１５２−１と、メモリアレイ１５３−０、１５３−１とを備える。ここでは、入力制御部１５１−０、１５１−１をまとめて、入力制御部１５１とも呼ぶ。出力制御部１５２−０、１５２−１、メモリアレイ１５３−０、１５３−１、ポート１７０−０、１７０−１についても同様である。すなわち、入力制御部１５１、出力制御部１５２、および、メモリアレイ１５３は、それぞれポート１７０ごとに設けられている。
【００２２】
図３は、送信バッファ１５０内のメモリアレイ１５３−０、１５３−１内のデータの一例を示す図である。メモリアレイ１５３−０、１５３−１に格納される情報には、アドレス３−１、送信データの内容３−２、および、書込み済フラグ３−３が含まれる。
【００２３】
メモリアレイ１５３−０、１５３−１はそれぞれ、データを書込んだ順に読出すファーストインファーストアウト方式のメモリである。図３に示す例では、メモリアレイ１５３−０、１５３−１はそれぞれ、アドレス０〜１５を備え、アドレス１５まで読出し、または書込みが行われると、アドレス０にもどるリング構造となっている。各アドレス３−１には、送信データの内容３−２と、そのアドレスにデータが書込まれているか否かを示す書込み済フラグ３−３の情報が書込まれる。書込み済フラグ３−３は、「１」の場合にデータが書込み済みであることを示し、「０」の場合にデータが書込まれていないことを示す。前述したように、メモリアレイ１５３は、ポート１７０ごとに設けられる。
【００２４】
図４は、経路切替え処理テーブル１６１の一例を示す図である。経路切替え処理テーブル１６１には、回線状態（４−１）に応じた、入力制御部０の処理内容（４−２）、入力制御部１の処理内容（４−３）、出力制御部０の処理内容（４−４）、出力制御部１の処理内容（４−５）、およびデータ処理部出力先（４−６）がそれぞれ定義されている。
【００２５】
本例では、回線状態（４−１）は、「正常」「回線０障害」「回線１障害」「回線０，１障害」の４つの状態を有する。「正常」は、障害を検出していない状態、「回線０障害」は、回線０（２１０−０）の障害発生を検出した状態、「回線１障害」は、回線１（２１０−１）の障害発生を検出した状態、「回線０，１障害」は、回線０（２１０−０）と回線１（２１０−１）の両方の障害発生を検出した状態をそれぞれ表している。
【００２６】
入力制御部０の処理内容（４−２）、入力制御部１の処理内容（４−３）としては、「メモリアレイ０書込み」、「メモリアレイ１書込み」、「メモリアレイ０，１書込み」、「停止」の状態がある。「メモリアレイ０書込み」、「メモリアレイ１書込み」は、ポート１７０ごとに元々あるメモリアレイにデータを書込む処理を示し、「メモリアレイ０，１書込み」は、メモリアレイ０とメモリアレイ１をつなげて、一つのメモリアレイとみなして、データを書込む処理を示す。この処理の詳細については後述する。「停止」は、データの書込み処理を停止することを示す。
【００２７】
出力制御部０の処理内容（４−４）、出力制御部１の処理内容（４−５）としては、「メモリアレイ０読出し」、「メモリアレイ１読出し」、「メモリアレイ０，１読出し」、「停止」の状態がある。「メモリアレイ０読出し」、「メモリアレイ１読出し」は、ポート１７０ごとに元々あるメモリアレイからデータを読出す処理を示し、「メモリアレイ０，１読出し」は、メモリアレイ０と１をつなげて、一つのメモリアレイとしみなして、データを読出す処理を示す。この処理の詳細についても後述する。「停止」は、データの読出し処理を停止することを示す。
【００２８】
データ処理部出力先（４−６）には、「入力制御部０」、「入力制御部１」、「入力制御部０，１」、「停止」の状態がある。「入力制御部０，１」は、「入力制御部０」および「入力制御部１」の双方に出力できることを示し、「停止」は出力を停止することを示す。なお、各項目４−２〜４−６の初期値は、回線状態(４−１)が正常時のものとする。
【００２９】
ここで、障害が発生していない通常時のデータ処理の流れについて説明する。通常時には、送信バッファ１５０内の各ブロックは、ポート１７０ごとに独立して動作する。以下では、ポートＰ０（１７０−０）に着目して説明するが、ポートＰ１（１７０−１）についても同様である。
【００３０】
データ処理部１３０から、リンク１８０−０を介して、入力制御部０（１５１−０）にデータが出力される。入力制御部０（１５１−０）は、メモリアレイ０（１５３−０）の現在示されているアドレス（３−１）（初期値０）に対応する送信データの内容部（３−２）に送信データを書込み、書込み済フラグ部（３−３）に１を書込み、アドレスを１進める。次に、出力制御部０（１５２−０）は、メモリアレイ０（１５３−０）のデータのうち、現在示されているアドレス（３−１）（初期値０）に対応する書込み済フラグ３−３が１のデータを順に読込む。データを読出した後は、書込み済フラグ３−３に０を書込み、アドレスを１つ進める。出力制御部０が読み出したデータは、ポートＰ０から出力される。
【００３１】
図５〜図８は、出力リンクの障害が発生した場合のスイッチの経路切替え動作を示すフローチャートである。図９は、障害が発生した場合の状態監視部１１０、バッファ制御部１２０、データ処理部１３０、入力制御部１５１、出力制御部１５２の各動作の関係を示すシーケンス図である。
【００３２】
図９において、出力リンクの障害を検出した状態監視部１１０は、バッファ制御部１２０およびデータ処理部１３０に障害を通知する（Ｓ５０、Ｓ６０）。障害通知を受けたバッファ制御部１２０は、処理Ａ（Ｓ５）を実施し、入力制御部１５１と出力制御部１５２に動作指示を行う（Ｓ７０、Ｓ８０）。処理Ａの詳細については、図５に示すフローチャートを用いて後述する。
【００３３】
状態監視部１１０から障害通知を受けたデータ処理部１３０は、処理Ｂ（Ｓ６）を実施する。処理Ｂの詳細については、図６に示すフローチャートを用いて後述する。
【００３４】
バッファ制御部１２０からの動作指示に基づいて、入力制御部１５１は処理Ｃ（Ｓ７）を実施し、出力制御部１５２は、処理Ｄ（Ｓ８）を実施する。処理Ｃの詳細については、図７に示すフローチャートを用いて、また、処理Ｄの詳細については、図８に示すフローチャートを用いて後述する。
【００３５】
以下では、出力リンクである回線０（２１０−０）と回線１（２１０−１）のうち、回線０（２１０−０）で障害が発生した場合の動作について、図５〜図８を参照しながら説明する。
【００３６】
図５は、障害が発生した場合のバッファ制御部１２０の動作を示すフローチャートである。状態監視部１１０から障害通知を受けたバッファ制御部１２０は、メモリ１６０内の経路切替え処理テーブル１６１を参照する（Ｓ５１）。
【００３７】
続いて、バッファ制御部１２０は、図４に示す経路切替え処理テーブル１６１に従って、入力制御部０（１５１−０）には、メモリアレイ０,１への書込みを指示し、入力制御部１（１５１−１）には動作停止を指示し、出力制御部０（１５２−０）には動作停止を指示し、出力制御部１（１５２−１）には、メモリアレイ０，１の読出しを指示する（Ｓ５２）。
【００３８】
図６は、障害が発生した場合のデータ処理部１３０の動作を示すフローチャートである。状態監視部１１０から障害通知を受けたデータ処理部１３０は、メモリ１６０内の経路切替え処理テーブル１６１を参照する（Ｓ６１）。
【００３９】
続いて、データ処理部１３０は、図４に示す経路切替え処理テーブル１６１のデータ処理部出力先（４−６）に従って、データの出力先を決定する。回線０（２１０−０）で障害が発生した場合には、データの出力先が入力制御部０（１５１−０）であるので、入力制御部０（１５１−０）にデータを出力する（Ｓ６２）。
【００４０】
図７は、障害が発生した場合の入力制御部１５１の動作を示すフローチャートである。バッファ制御部１２０からの動作指示を受けた入力制御部１５１は、バッファ制御部１２０からの動作指示が停止指示か否かを判定する（Ｓ７１）。回線０で障害が発生した場合、経路切替え処理テーブル１６１を参照すると、バッファ制御部１２０から入力制御部１（１５１−１）へは、停止指示が出され、入力制御部０（１５１−０）へは、メモリアレイ０，１の書込み指示が出される。
【００４１】
従って、入力制御部１（１５１−１）は、停止指示に基づいて、動作を停止する（Ｓ７２）。また、入力制御部０（１５１−０）は、バッファ制御部１２０からの動作指示に基づいて、メモリアレイ０，１への書込みを行う。具体的には、メモリアレイ０，１へのデータ書き込み時に、メモリアレイ０（１５３−０）のアドレス０からアドレス１５まで、また、メモリアレイ０（１５３−０）のアドレス１５の次は、メモリアレイ１（１５３−１）のアドレス０に移行してアドレス１５まで、さらに、メモリアレイ１（１５３−１）のアドレス１５の次は、メモリアレイ０（１５３−０）のアドレス０に移行するように、ポインタを設定する（Ｓ７３）。このように設定することによって、メモリアレイ０（１５３−０）とメモリアレイ１（１５３−１）とをまとめて一つのメモリアレイとみなすことができるので、メモリアレイの容量を倍にすることができる。
【００４２】
障害が発生していない正常時と同様に、入力制御部０（１５１−０）は、メモリアレイ０（１５３−０）の現在示されているアドレス（３−１）に対応する送信データの内容部（３−２）に送信データを書込み、書込み済フラグ部（３−３）には、データが書込み済みであることを示す「１」を書込んで、アドレスを１つ進める。
【００４３】
図８は、障害が発生した場合の出力制御部１５２の動作を示すフローチャートである。バッファ制御部１２０からの動作指示を受けた出力制御部１５２は、バッファ制御部１２０からの動作指示が停止指示か否かを判定する（Ｓ８１）。回線０（２１０−０）で障害が発生した場合、経路切替え処理テーブル１６１を参照すると、バッファ制御部１２０から出力制御部０（１５２−０）へは、停止指示が出され、出力制御部１（１５２−１）へは、メモリアレイ０，１の読出し指示が出される。
【００４４】
出力制御部０（１５２−０）は、停止指示を受けると、最後に読出したメモリアレイ０（１５３−０）のアドレスを他方の出力制御部１（１５２−１）に通知し（Ｓ８２）、動作を停止する（Ｓ８３）。
【００４５】
出力制御部１（１５２−１）は、同一ブロック内のメモリアレイ１（１５３−１）のデータを全て読出す（Ｓ８４）。続いて、出力制御部１（１５２−１）は、他方のメモリアレイ０（１５３−０）において、出力制御部０（１５２−０）から通知（Ｓ８２）を受けたアドレスの次のアドレスから、データの読出しを始める（Ｓ８５）。読み出されたデータは、ポートＰ１（１７０−１）から出力される。
【００４６】
出力制御部１（１５２−１）は、データを読出す際に、メモリアレイ０（１５３−０）のアドレス１５の次は、メモリアレイ１（１５３−１）のアドレス０に移行してアドレス１５まで、メモリアレイ１（１５３−１）のアドレス１５の次は、メモリアレイ０（１５３−０）のアドレス０に移行するように、ポインタを設定する（Ｓ８６）。このように設定することによって、メモリアレイ０（１５３−０）とメモリアレイ１（１５３−１）とをまとめて一つのメモリアレイとみなすことができるので、メモリアレイの容量を倍にすることができる。また、単純に経路を切替えたときには破棄されてしまうメモリアレイ内のデータを救済することができる。
【００４７】
以上、第１の実施形態におけるネットワーク装置は、リンクアグリゲーションを構成する複数の出力リンクを介して、入力されたデータを出力するネットワーク装置であって、第１の記憶部（メモリアレイ０）に記憶されているデータを読み出して、第１の出力リンク（２１０−０）を介して出力し、第２の記憶部（メモリアレイ１）に記憶されているデータを読み出して、第２の出力リンク（２１０−１）を介して出力する。このようなネットワーク装置において、第１の出力リンク（２１０−０）で障害が発生した場合に、第２の記憶部（メモリアレイ１）に記憶されているデータだけでなく、第１の記憶部（メモリアレイ０）に記憶されているデータも読み出して、第２の出力リンク（２１０−１）を介して出力する。これにより、リンクアグリゲーションを構成する複数の出力リンクのうちの１つの出力リンクに障害が発生した場合でも、内部で一時的に記憶していたデータを出力することができる。
【００４８】
特に、第１の記憶部（メモリアレイ０）および第２の記憶部（メモリアレイ１）は、ファーストインファーストアウト方式の記憶部であって、第１の出力リンクで障害が発生した場合に、第２の記憶部に記憶されているデータを全て読み出すとともに、第１の記憶部に記憶されているデータのうち、最後に読み出されたデータの次のデータから順に読み出しを開始して、第１の記憶部に記憶されているデータを全て読み出し、読み出したデータを第２の出力リンクを介して順に出力する。これにより、第１の記憶部および第２の記憶部がファーストインファーストアウト方式の記憶部であって、１つの出力リンクに障害が発生した場合でも、入力されたデータを全て出力することができる。
【００４９】
また、第１の実施形態におけるネットワーク装置によれば、第１の記憶部（メモリアレイ０）に記憶されているデータを読み出して、第１の出力リンクを介して出力する第１の出力制御部（出力制御部０）と、第２の記憶部（メモリアレイ１）に記憶されているデータを読み出して、第２の出力リンクを介して出力する第２の出力制御部（出力制御部１）とを有する。第１の出力制御部は、第１の出力リンクで障害が発生した場合に、第１の出力リンクを介したデータの出力を停止し、第２の出力制御部は、第１の出力リンクで障害が発生した場合に、第２の記憶部に記憶されているデータを全て読み出すとともに、第１の記憶部に記憶されているデータのうち、最後に読み出されたデータの次のデータから順に読み出しを開始して、第１の記憶部に記憶されているデータを全て読み出し、読み出したデータを第２の出力リンクを介して順に出力する。これにより、障害が発生した第１の出力リンクを介したデータの出力を確実に停止するとともに、障害の発生していない第２の出力リンクを介して、入力されたデータを出力することができる。
【００５０】
さらに、第１の実施形態におけるネットワーク装置によれば、第１の入力リンクを介して入力されたデータを第１の記憶部（メモリアレイ０）に記憶させる第１の入力制御部（入力制御部０）と、第２の入力リンクを介して入力されたデータを第２の記憶部（メモリアレイ１）に記憶させる第２の入力制御部（入力制御部１）とをさらに備える。第１の入力制御部は、第１の出力リンクで障害が発生した場合に、第１の入力リンクを介して入力されたデータを第１の記憶部および第２の記憶部に記憶させ、第２の入力制御部は、第１の出力リンクで障害が発生した場合に、第２の入力リンクを介して入力されるデータを第２の記憶部に記憶させる処理を停止する。これにより、第１の出力リンクで障害が発生した場合に、第１の入力リンクを介して入力されたデータは、第１の記憶部および第２の記憶部に一時的に記憶された後、第２の出力リンクを介して出力することができる。
【００５１】
また、第１の実施形態におけるネットワーク装置によれば、障害発生後に使用されなくなる記憶部を有効活用して、記憶部の容量を増やすことができるので、障害によって帯域の下がったネットワークのデータ廃棄を緩和することができる。その際に、冗長な予備ポートを使用せずに、資源を有効活用して信頼性を向上させることができる。
【００５２】
＜第２の実施形態＞
本発明によるネットワーク装置を仮想ネットワークに適用した第２の実施形態について説明する。図１０は、第２の実施形態におけるネットワーク装置（仮想スイッチ）３２０を備える物理サーバ３００の構成を示す図である。物理サーバ３００は、仮想サーバＡ（３１０−Ａ）、仮想サーバＢ（３１０−Ｂ）、仮想スイッチ３２０、および、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）３３０を備える。ＮＩＣ３３０は、ＮＩＣ−０（３３０−０）およびＮＩＣ−１（３３０−１）を備える冗長構成とし、仮想スイッチ３２０からのデータをネットワークＡ（２００−Ａ）に出力する。
【００５３】
ネットワーク装置（仮想スイッチ）３２０は、第１の実施形態におけるネットワーク装置（スイッチ）１００と同一の構成とすることができる。すなわち、ネットワーク装置（仮想スイッチ）３２０は、第１の実施形態におけるネットワーク装置（スイッチ）１００と同様の動作を行うので、ここでは詳しい説明は省略する。
【００５４】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。例えば、上述した実施形態では、データを出力する出力リンクを２本として説明したが、３本以上備える構成であってもよい。
【００５５】
メモリアレイに一時的に記憶されているデータの出力を制御する出力制御部は、出力制御部１５２−０と出力制御部１５２−１の二つが存在するものとして説明したが、一つとしてもよい。同様に、入力制御部も入力制御部１５１−０と入力制御部１５１−１の二つが存在するものとして説明したが、一つとしてもよい。
【符号の説明】
【００５６】
１００  ネットワーク装置
１１０  状態監視部
１２０  バッファ制御部
１３０  データ処理部
１４０  受信バッファ
１５０  送信バッファ
１５１−０  入力制御部０
１５１−１  入力制御部１
１５２−０  出力制御部０
１５２−１  出力制御部１
１５３−０  メモリアレイ０
１５３−１  メモリアレイ１
３００  物理サーバ
３１０−Ａ  仮想サーバＡ
３１０−Ｂ  仮想サーバＢ
３２０  仮想スイッチ
３３０−０  ＮＩＣ０
３３０−１  ＮＩＣ１
【図１】
0005555880.tif 000002
【図２】
0005555880.tif 000003
【図３】
0005555880.tif 000004
【図４】
0005555880.tif 000005
【図５】
0005555880.tif 000006
【図６】
0005555880.tif 000007
【図７】
0005555880.tif 000008
【図８】
0005555880.tif 000009
【図９】
0005555880.tif 000010
【図１０】
0005555880.tif 000011