(57)【要約】【課題】複数あるポートのいずれかで障害が発生した場合に通信断時間を低減可能な通信装置を得ること。【解決手段】他の通信装置との間を接続する複数の伝送路をリンクアグリゲーショングループ（ＬＡＧ）設定し、ＬＡＧ設定ポートに出力するフレームに対して出力負荷分散制御を行って出力ポートを決定する制御を行う通信装置であって、前記ＬＡＧ設定ポート毎にフレームを格納する出力バッファを有するバッファメモリ８０と、前記ＬＡＧ設定ポートで障害の発生が検出された場合、障害発生ポートに対応する出力バッファに格納されているフレームの出力先を、前記障害発生ポートと同一ＬＡＧ設定された別のポートに切り替えるＬＡＧ出力制御部７３と、を備える。【選択図】図１
2014068110.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置との間を接続する複数の伝送路をリンクアグリゲーショングループ（ＬＡＧ）設定し、ＬＡＧ設定ポートに出力するフレームに対して出力負荷分散制御を行って出力ポートを決定する制御を行う通信装置であって、
前記ＬＡＧ設定ポート毎にフレームを格納する出力バッファを有するバッファ手段と、
前記ＬＡＧ設定ポートで障害の発生が検出された場合、障害発生ポートに対応する出力バッファに格納されているフレームの出力先を、前記障害発生ポートと同一ＬＡＧ設定された別のポートに切り替えるＬＡＧ出力制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記ＬＡＧ出力制御手段は、前記障害発生ポートに対応する出力バッファに格納されているフレームを、切替先の前記別のポートに対応する出力バッファに格納されているフレームより優先的に出力する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記ＬＡＧ出力制御手段は、前記障害発生ポートに対応する出力バッファに格納されているフレームのバッファ量と、切替先の前記別のポートに対応する出力バッファに格納されているフレームのバッファ量との比に基づいてフレームを出力する、
ことを特徴とする請求項１に記載の通信装置。
【請求項４】
前記ＬＡＧ出力制御手段は、障害検出時に前記障害発生ポートに対応する出力バッファからフレーム出力中の場合、フレームを出力中の前記出力バッファのバッファ情報および出力中のフレームのフレーム情報を用いて、出力中であったフレームを切替先の前記別のポートから再送する、
ことを特徴とする請求項１、２または３に記載の通信装置。
【請求項５】
他の通信装置との間を接続する複数の伝送路をリンクアグリゲーショングループ（ＬＡＧ）設定し、ＬＡＧ設定ポートに出力するフレームに対して出力負荷分散制御を行って出力ポートを決定する制御を行う通信装置であって、
前記ＬＡＧ設定ポートに出力するフレームを入力ポート毎に格納する入力バッファを有するバッファ手段と、
前記入力ポートに対応する前記入力バッファに格納されたフレームを前記ＬＡＧ設定ポートのうちの１つのポートに出力し、前記ＬＡＧ設定ポートが複数の前記入力バッファからフレームを受けて出力する制御を行い、前記ＬＡＧ設定ポートで障害の発生が検出された場合、フレームの出力先が障害発生ポートに設定されていた入力バッファからのフレームの出力先を、前記障害発生ポートと同一ＬＡＧ設定された別のポートに切り替えるＬＡＧ出力制御手段と、
を備えることを特徴とする通信装置。
【請求項６】
前記ＬＡＧ出力制御手段は、前記障害発生ポートにフレームを出力する設定であった入力バッファに格納されているフレームを、切替先の前記別のポートをフレームの出力先に設定されている入力バッファに格納されているフレームより優先的に出力する、
ことを特徴とする請求項５に記載の通信装置。
【請求項７】
前記ＬＡＧ出力制御手段は、前記障害発生ポートにフレームを出力する設定であった入力バッファに格納されているフレームのバッファ量と、切替先の前記別のポートをフレームの出力先に設定されている入力バッファに格納されているフレームのバッファ量との比に基づいてフレームを出力する、
ことを特徴とする請求項５に記載の通信装置。
【請求項８】
前記ＬＡＧ出力制御手段は、障害検出時に前記障害発生ポートを出力先に設定されていた入力バッファから前記障害発生ポートへフレーム出力中の場合、フレームを出力中の前記入力バッファのバッファ情報および出力中のフレームのフレーム情報を用いて、出力中であったフレームを切替先の前記別のポートから再送する、
ことを特徴とする請求項５、６または７に記載の通信装置。
【請求項９】
他の通信装置との間を接続する複数の伝送路をリンクアグリゲーショングループ（ＬＡＧ）設定し、ＬＡＧ設定ポートに出力するフレームに対して出力負荷分散制御を行って出力ポートを決定する制御を行う通信装置の切替制御方法であって、
前記通信装置が前記ＬＡＧ設定ポート毎にフレームを格納する出力バッファを有するバッファ手段を備え、
前記通信装置は、前記ＬＡＧ設定ポートで障害の発生が検出された場合、障害発生ポートに対応する出力バッファに格納されているフレームの出力先を、前記障害発生ポートと同一ＬＡＧ設定された別のポートに切り替えるＬＡＧ出力制御ステップ、
を含むことを特徴とする切替制御方法。
【請求項１０】
前記ＬＡＧ出力制御ステップでは、前記障害発生ポートに対応する出力バッファに格納されているフレームを、切替先の前記別のポートに対応する出力バッファに格納されているフレームより優先的に出力する、
ことを特徴とする請求項９に記載の切替制御方法。
【請求項１１】
前記ＬＡＧ出力制御ステップでは、前記障害発生ポートに対応する出力バッファに格納されているフレームのバッファ量と、切替先の前記別のポートに対応する出力バッファに格納されているフレームのバッファ量との比に基づいてフレームを出力する、
ことを特徴とする請求項９に記載の切替制御方法。
【請求項１２】
前記ＬＡＧ出力制御ステップでは、障害検出時に前記障害発生ポートに対応する出力バッファからフレーム出力中の場合、フレームを出力中の前記出力バッファのバッファ情報および出力中のフレームのフレーム情報を用いて、出力中であったフレームを切替先の前記別のポートから再送する、
ことを特徴とする請求項９、１０または１１に記載の切替制御方法。
【請求項１３】
他の通信装置との間を接続する複数の伝送路をリンクアグリゲーショングループ（ＬＡＧ）設定し、ＬＡＧ設定ポートに出力するフレームに対して出力負荷分散制御を行って出力ポートを決定する制御を行う通信装置の切替制御方法であって、
前記通信装置が前記ＬＡＧ設定ポートに出力するフレームを入力ポート毎に格納する入力バッファを有するバッファ手段を備え、
前記通信装置は、前記入力ポートに対応する前記入力バッファに格納されたフレームを前記ＬＡＧ設定ポートのうちの１つのポートに出力し、前記ＬＡＧ設定ポートが複数の前記入力バッファからフレームを受けて出力する制御を行うフレーム出力ステップと、
前記通信装置は、前記ＬＡＧ設定ポートで障害の発生が検出された場合、フレームの出力先が障害発生ポートに設定されていた入力バッファからのフレームの出力先を、前記障害発生ポートと同一ＬＡＧ設定された別のポートに切り替えるＬＡＧ出力制御ステップと、
を含むことを特徴とする切替制御方法。
【請求項１４】
前記ＬＡＧ出力制御ステップでは、前記障害発生ポートにフレームを出力する設定であった入力バッファに格納されているフレームを、切替先の前記別のポートをフレームの出力先に設定されている入力バッファに格納されているフレームより優先的に出力する、
ことを特徴とする請求項１３に記載の切替制御方法。
【請求項１５】
前記ＬＡＧ出力制御ステップでは、前記障害発生ポートにフレームを出力する設定であった入力バッファに格納されているフレームのバッファ量と、切替先の前記別のポートをフレームの出力先に設定されている入力バッファに格納されているフレームのバッファ量との比に基づいてフレームを出力する、
ことを特徴とする請求項１３に記載の切替制御方法。
【請求項１６】
前記ＬＡＧ出力制御ステップでは、障害検出時に前記障害発生ポートを出力先に設定されていた入力バッファから前記障害発生ポートへフレーム出力中の場合、フレームを出力中の前記入力バッファのバッファ情報および出力中のフレームのフレーム情報を用いて、出力中であったフレームを切替先の前記別のポートから再送する、
ことを特徴とする請求項１３、１４または１５に記載の切替制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伝送路を設けて通信を行う通信装置に関する。
【背景技術】
【０００２】
従来、Ｅｔｈｅｒｎｅｔ（登録商標）を使用したネットワークにおいて、スイッチやルータなどの通信装置間を接続する伝送路の数を複数設け、論理的に１つの回線として扱うリンクアグリゲーション（Link  Aggregation、以下、ＬＡとする）機能が、ＩＥＥＥ８０２．１ＡＸで規格化されている（下記非特許文献１）。ＬＡは、装置間の伝送路の広帯域化と同時に、伝送路の冗長化が可能である。そのため、例えば、論理的に１つの回線として登録してある複数の伝送路を同一ＬＡグループ（Link  Aggregation  Group、以下、ＬＡＧとする）とすると、ＬＡＧ内の１つの伝送路に障害が発生した場合、同じＬＡＧ内の別の障害の発生していない伝送路にデータの出力先を切り替えることにより、データの送受信を維持することができる利点がある。ＬＡ機能を持つ装置は、同一ＬＡＧ内の伝送路の出力において、トラヒックの偏りがないように負荷分散を行う機能を持つ必要があるが、負荷分散方式の仕様は規定されておらず、ベンダにより仕様が異なる。一般的に用いられる負荷分散方式は、入力ポートにより出力先を振り分けるポートベース、ＭＡＣアドレスやＩＰアドレスなどの情報により出力先を振り分けるアドレスベース、到着順に同一ＬＡＧのポートに振り分けるラウンドロビンなどがあるが、ラウンドロビンによる負荷分散はフレームの順序逆転が発生する可能性がある。
【０００３】
また、下記特許文献１では、集線装置における障害発生時の伝送路の高速な切替制御方式として、ＭＡＣアドレス転送テーブルを検索することにより出力先が決定された後に現用時と予備時の宛先変換テーブルを設け、現用時の宛先に出力する伝送路の障害が発生すると、予備時の宛先に出力先を高速に切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１２８７９号公報
【非特許文献】
【０００５】
【非特許文献１】IEEE  Std  802.1AX-2008  “IEEE  Standard  for  Local  and  metropolitan  area  networks  -  Link  Aggregation”  ２００８年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術（非特許文献１）によれば、動的なＬＡ制御としてＬＡＣＰ（Link  Aggregation  Control  Protocol）により障害を検出する方法が規定されているが、ＬＡＣＰで規定されている障害検出時間は秒単位である。そのため、障害が発生してから出力ポートが切り替わるまで最小でも障害検出時間分はフレーム廃棄が発生し、通信断時間が発生する、という問題があった。
【０００７】
また、ＬＡＣＰを適用せずに高速な接続性チェック用のフレームを用いることで障害検出時間を高速化したＬＡ制御を行う方法も考えられ、この場合、障害検出時間に応じたフレーム廃棄数の削減と通信断時間の短縮が可能である。しかしながら、障害が発生した伝送路の出力ポート用の出力バッファにフレームが格納されていた場合、そのフレームは廃棄されることになる。そのため、障害発生時に該当の出力バッファにフレームが多数格納されていた場合、全てのフレームが廃棄され、その分、通信断時間が発生する、という問題があった。
【０００８】
また、上記従来の技術（特許文献１）によれば、現用時と予備時の宛先変換テーブルを設けることにより、現用ポートの伝送路の障害を検出した場合に予め設定していた予備ポートに高速に切り替えることが可能であるが、この場合も現用の出力ポート用の出力バッファにフレームが格納されている状態で障害が発生すると、出力バッファに格納されたフレームは廃棄される。そのため、障害発生時に該当の出力バッファに一時的にフレームが多数格納されていた場合、全てのフレームが廃棄され、そのフレーム数分、通信断時間が発生する、という問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、複数あるポートのいずれかで障害が発生した場合に通信断時間を低減可能な通信装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、他の通信装置との間を接続する複数の伝送路をリンクアグリゲーショングループ（ＬＡＧ）設定し、ＬＡＧ設定ポートに出力するフレームに対して出力負荷分散制御を行って出力ポートを決定する制御を行う通信装置であって、前記ＬＡＧ設定ポート毎にフレームを格納する出力バッファを有するバッファ手段と、前記ＬＡＧ設定ポートで障害の発生が検出された場合、障害発生ポートに対応する出力バッファに格納されているフレームの出力先を、前記障害発生ポートと同一ＬＡＧ設定された別のポートに切り替えるＬＡＧ出力制御手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数あるポートのいずれかで障害が発生した場合に通信断時間を低減できる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態１の通信装置の構成例を示す図である。
【図２】図２は、実施の形態１のＬＡＧのポート設定テーブルの構成例を示す図である。
【図３】図３は、実施の形態１のＬＡＧ出力制御部の構成例を示す図である。
【図４】図４は、実施の形態１の出力ポートに障害が発生していない場合の出力制御を示す図である。
【図５】図５は、実施の形態１の出力ポートに障害が発生した場合の出力制御を示す図である。
【図６】図６は、実施の形態１の出力ポートに障害が発生していない場合の出力制御を示す図である。
【図７】図７は、実施の形態１の出力ポートに障害が発生した場合の出力制御を示す図である。
【図８】図８は、実施の形態２の出力ポートに障害が発生していない場合の出力制御を示す図である。
【図９】図９は、実施の形態２の出力ポートに障害が発生した場合の出力制御を示す図である。
【図１０】図１０は、実施の形態２の出力ポートに障害が発生していない場合の出力制御を示す図である。
【図１１】図１１は、実施の形態２の出力ポートに障害が発生した場合の出力制御を示す図である。
【図１２】図１２は、実施の形態３の通信装置の構成例を示す図である。
【図１３】図１３は、実施の形態３のＬＡＧのポート設定テーブルの構成例を示す図である。
【図１４】図１４は、実施の形態３の出力負荷分散制御の設定テーブルの構成例を示す図である。
【図１５】図１５は、実施の形態３のＬＡＧ出力制御部の構成例を示す図である。
【図１６】図１６は、実施の形態３の出力ポートに障害が発生していない場合の出力制御を示す図である。
【図１７】図１７は、実施の形態３の出力ポートに障害が発生した場合の出力制御を示す図である。
【図１８】図１８は、実施の形態４の出力ポートに障害が発生していない場合の出力制御を示す図である。
【図１９】図１９は、実施の形態４の出力ポートに障害が発生した場合の出力制御を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明にかかる通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１は、本実施の形態の通信装置の構成例を示す図である。通信装置は、例えば、複数の入出力ポートを持つ集線装置であり、２つの集線装置間で複数の伝送路を設けて通信を行うことができる。レイヤ２スイッチ等の集線装置を２つ用いて、２つの装置間で複数の伝送路を設けて通信を行うネットワークにおいて、伝送路に障害が発生した場合に、出力先を切り替えることによりデータの損失を最小限とし、通信の継続を可能とする。通信装置は、入力処理部１０と、多重部２０と、転送先管理部３０と、転送管理テーブル４０と、ＬＡＧポート管理部５０と、障害検出部６０と、バッファ制御部７０と、バッファメモリ８０と、出力処理部９０と、を備える。
【００１５】
入力処理部１０は、図示しない各入出力ポートを入力ポートとして入力されるフレームに対して、エラーチェック等の処理を行う。多重部２０は、複数の入出力ポートからの入力フレームを多重する。転送先管理部３０は、転送管理テーブル４０を検索してフレームの出力先を制御してフレームの転送先を決定し、障害が検出された入出力ポートへのフレームの出力を阻止する。転送管理テーブル４０は、フレームの転送先を管理するメモリである。ＬＡＧポート管理部５０は、ＬＡＧに属する入出力ポートのポート情報を管理する。障害検出部６０は、各入出力ポートの障害の有無を監視する。バッファ制御部７０は、入力したフレームのバッファメモリ８０への書き込み、およびバッファメモリ８０からフレームを読み出してフレームを出力する制御を行う。バッファメモリ８０は、転送先毎または入力元毎に入力順にフレームを格納するバッファ（例えば、キュー）として機能するメモリである。出力処理部９０は、入出力ポート毎に伝送速度の範囲内でバッファメモリ８０から読み出されたフレームを、図示しない各入出力ポートを出力ポートとして外部へ出力するために必要な処理を行う。
【００１６】
上記において、入力処理部１０に対してフレームの入力元となる入力ポートとして機能する入出力ポートと、出力処理部９０においてフレームの出力先となる出力ポートとして機能する入出力ポートは同一である。以下、入出力ポートについて、入力側を示す場合は入力ポート、出力側を示す場合は出力ポートとして表すことがある。
【００１７】
入力処理部１０は、入力ポート毎に、エラーチェック等の処理を行う構成を備える。例えば、入出力ポートがｎ本（ポート＃１〜＃ｎとする）の場合、入力処理部１０は、ポート＃１入力処理部１０−１、ポート＃２入力処理部１０−２、…、ポート＃ｎ入力処理部１０−ｎ、を備える。
【００１８】
転送先管理部３０は、ＬＡＧ設定が有効な場合において、ＬＡＧに設定される複数の入出力ポートに対する出力の負荷分散を制御する出力負荷分散制御部３１、を備える。
【００１９】
バッファ制御部７０は、バッファメモリ８０へのフレーム（データ）の書き込みを行う書込制御部７１と、各出力ポートからフレームを出力する際の読出指示がある場合に、バッファメモリ８０からフレーム（データ）を読み出し、フレーム（データ）を振り分ける読出制御部７２と、ＬＡＧ設定されている入出力ポート（以下、ＬＡＧ設定ポートとする）に対して、ＬＡＧ毎にバッファメモリ８０内のキューに格納されているフレームのデータ量およびアドレスの管理と共に、優先制御および帯域制御などを含めたフレームの出力制御を行い、かつ、ＬＡＧ設定ポートで障害検出時に同一ＬＡＧの別の出力ポートへの出力先の切替制御を行うＬＡＧ出力制御部７３と、ＬＡＧ設定されていない入出力ポート（以下、ＬＡＧ未設定ポートとする）に対して、入出力ポート毎にバッファメモリ８０内のキューに格納されているフレームのデータ量およびアドレスの管理と共に、優先制御および帯域制御などを含めたフレームの出力制御を行う出力制御部７４と、を備える。
【００２０】
出力処理部９０は、出力ポート毎に、伝送速度の範囲内でバッファメモリ８０から読み出されたフレームを、各出力ポートから外部へ出力するために必要な処理を行う構成を備える。例えば、入出力ポートがｎ本の場合、出力処理部９０は、ポート＃１出力処理部９０−１、ポート＃２出力処理部９０−２、…、ポート＃ｎ出力処理部９０−ｎ、を備える。
【００２１】
つづいて、通信装置において、入力したフレームを転送する際、出力ポートで障害を検出した場合に、出力先の出力ポートを切り替えてフレームを出力する動作について説明する。本実施の形態では、１つのＬＡＧに２ポート設定されている場合として、通信装置において、ポート＃１，＃２以外の入力ポートから入力したフレームを、ＬＡＧ設定されたポート＃１，＃２から出力する場合を例に説明する。なお、入力処理部１０、多重部２０、および出力処理部９０における動作は従来同様の一般的な動作のため、詳細な説明については省略する。
【００２２】
まず、ＬＡＧポート管理部５０は、予めＬＡＧに属する入出力ポートを設定し、転送先管理部３０の出力負荷分散制御部３１、およびバッファ制御部７０のＬＡＧ出力制御部７３にＬＡＧ設定ポート情報を出力する。ＬＡＧポート管理部５０は、ＬＡＧに属する入出力ポートを設定するテーブルを備える。図２は、本実施の形態のＬＡＧのポート設定テーブルの構成例を示す図である。ＬＡＧのポート設定テーブルは、ＬＡＧ番号と、ＬＡＧの有効（１）／無効（０）と、登録ポート番号と、から構成される。例えば、ＬＡＧ番号１は、ＬＡＧが有効であり、ポート＃１，＃２から構成されていること、ＬＡＧ番号２は、ＬＡＧが有効であり、ポート＃３，＃４から構成されていること、を示す。なお、１つのＬＡＧに設定できるポート数は複数設定可能であるが、異なるＬＡＧに同じ入出力ポートを登録することはできない。
【００２３】
障害検出部６０は、各入出力ポートの障害状態を管理し、障害の発生・回復の情報（障害情報）を、転送先管理部３０、およびバッファ制御部７０のＬＡＧ出力制御部７３に出力する。障害の発生・回復を検出する方法については、特に限定しないが、リンク状態の監視および隣接間の接続性チェック用のフレームを短い周期で送受するなど、高速に障害を検出する方法が望ましい。
【００２４】
転送先管理部３０は、入力されたフレームに対して、ＬＡＧポート管理部５０および障害検出部６０から取得した情報に基づいて、転送管理テーブル４０を検索して転送先を決定する。転送先がＬＡＧ設定ポートの場合には、該当ＬＡＧに対して、出力負荷分散制御部３１が転送先の出力ポートを決定する。出力負荷分散制御部３１での負荷分散方法は、トラヒック毎にフレームの順序逆転が起きないように、アドレスベースまたは入力ポートベースで行うこととする。
【００２５】
バッファ制御部７０では、転送先管理部３０で決定された転送先に従って、転送先となる出力ポート毎に出力キューを持つバッファメモリ８０へ入力順にフレームを格納する。出力キューの構成は、ＦＩＦＯ（First  In  First  Out）とする。なお、バッファメモリ８０では、１つの転送先について、優先クラス、ユーザ情報などにより複数の出力キューを持つことが可能である。
【００２６】
バッファ制御部７０では、書込制御部７１が、出力制御部７４またはＬＡＧ出力制御部７３から出力キューへの書き込みの際に次に書き込むアドレス情報（書込アドレス情報）を取得し、また、出力キューへの書き込みが不可を示すＦＵＬＬ情報の取得状況に応じて、入力されたフレームを転送先の出力ポートに対応する出力キューに書き込む制御を行う。また、書込制御部７１は、フレームを出力キューに書き込んだ際の書込情報（転送先、優先クラス、ユーザ情報などのキュー情報、フレームを書き込んだキューのキュー番号、キューに書き込んだフレーム長）を、出力制御部７４またはＬＡＧ出力制御部７３に通知する。書込制御部７１では、上記処理を出力ポート毎に行う。
【００２７】
読出制御部７２は、出力制御部７４またはＬＡＧ出力制御部７３から読出指示があった場合に、該当の出力キューのフレームを読み出す制御を行う。また、読出制御部７２は、出力キューからフレームを読み出した際の読出情報（キュー情報、フレームを読み出したキューのキュー番号、読み出したフレームのフレーム長）を出力制御部７４またはＬＡＧ出力制御部７３に通知する。読出制御部７２では、上記処理を出力ポート毎に行う。
【００２８】
ここで、ＬＡＧ設定されていない場合、出力制御部７４は、ＬＡＧ未設定ポート毎に出力制御を行う。出力制御部７４は、書込制御部７１からのフレームの書込情報および読出制御部７２からの読出情報に基づいて、出力キュー単位に書込／読出アドレス、各出力キューのデータ量（バッファ量）などの情報を管理する。出力制御部７４は、次のフレームの書込アドレス情報、出力キューが溢れそうな場合にはＦＵＬＬ情報を書込制御部７１に通知する。また、出力制御部７４は、出力側において出力ポートの伝送速度を超えない範囲で、然るべきタイミングで、読出指示、および読み出す先頭フレームのアドレス、フレーム長などの必要な情報を示す先頭フレーム情報を読出制御部７２に通知する。この際、１つの出力ポートに対して出力キューが複数ある場合、出力制御部７４は、複数の出力キューからのフレームの読み出しについて、優先制御および／または帯域制御を行う。
【００２９】
これに対して、ＬＡＧ設定されている場合、ＬＡＧ出力制御部７３は、ＬＡＧ設定ポート毎に出力制御を行う。図３は、本実施の形態のＬＡＧ出力制御部７３の構成例を示す図である。ＬＡＧ出力制御部７３は、キュー管理部７３１−１，７３１−２と、出力切替部７３２と、キュー出力制御部７３３−１，７３３−２と、を備える。キュー管理部７３１−１およびキュー出力制御部７３３−１はポート＃１に対応し、キュー管理部７３１−２およびキュー出力制御部７３３−２はポート＃２に対応する。
【００３０】
ＬＡＧ出力制御部７３のキュー管理部７３１−１，７３１−２は、ＬＡＧ設定ポート毎に、出力するフレームに対して、書込制御部７１からの書込情報および読出制御部７２からの読出情報に基づいて、出力キュー単位に書込／読出アドレス、および各出力キューのデータ量（バッファ量）などの情報を管理する。また、キュー管理部７３１−１，７３１−２は、次のフレームに対する書込アドレス情報、出力キューが溢れそうな場合はＦＵＬＬ情報を書込制御部７１に通知する。さらに、キュー管理部７３１−１，７３１−２は、障害の発生が検出された時には、障害検出時点でのＬＡＧ設定ポートの各出力キューのバッファサイズを保持して、その情報を出力切替部７３２に通知する。なお、図中の書込情報＃１、書込情報＃２、ＦＵＬＬ情報＃１、ＦＵＬＬ情報＃２、書込アドレス情報＃１、書込アドレス情報＃２に付与されている＃１、＃２はポート番号に対応する。
【００３１】
ＬＡＧ出力制御部７３の出力切替部７３２は、ＬＡＧ設定ポートで障害が発生していない場合、各出力ポートのキュー管理部７３１−１，７３１−２からの情報を対応する該当出力ポートのキュー出力制御部７３３−１，７３３−２に通知する。一方、出力切替部７３２は、ＬＡＧ設定ポートで障害を検出した場合、障害検出部６０からのＬＡＧ設定ポート毎の障害の有無の情報（障害情報）およびＬＡＧポート管理部５０からのＬＡＧ設定ポート情報に基づいて、障害が発生した出力ポート（以下、障害発生ポートとする）に対応する出力キューに既に格納されていたフレームを、障害の発生していない出力ポート（以下、障害未発生ポートとする）から出力するため、例えば、障害発生ポートに対応するキュー管理部７３１−１（またはキュー管理部７３１−２）からの情報を、障害未発生ポートに対応するキュー出力制御部７３３−２（またはキュー出力制御部７３３−１）に通知する。
【００３２】
ＬＡＧ出力制御部７３のキュー出力制御部７３３−１，７３３−２は、ＬＡＧ設定ポート毎に、伝送速度を超えない範囲で、然るべきタイミングで、読み出す出力キューに対する読出指示、および読み出す先頭フレームのアドレス、フレーム長などの必要な情報である先頭フレーム情報を読出制御部７２に通知する。この際、キュー出力制御部７３３−１，７３３−２は、１つの出力ポートに対して出力キューが複数ある場合には優先制御および／または帯域制御を行う。
【００３３】
さらに、キュー出力制御部７３３−１，７３３−２は、同一ＬＡＧに設定された自出力ポート以外の出力ポートで伝送路障害が発生した場合には、２つの出力ポートに対応するキュー管理部７３１−１，７３１−２からの情報を受信し、障害発生ポート用の出力キューに格納されていたフレームと自出力ポート用の出力キューに格納されたフレームの両方のフレームを自出力ポートから出力するための出力制御を行う。なお、図中の読出指示＃１、読出指示＃２、先頭フレーム情報＃１、先頭フレーム情報＃２に付与されている＃１、＃２はポート番号に対応する。
【００３４】
具体的に、出力ポートに障害が発生していない場合と障害が発生した場合のＬＡＧ出力制御部７３におけるフレームの出力制御について説明する。
【００３５】
図４は、本実施の形態の出力ポートに障害が発生していない場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを１つずつ持ち、両出力ポートで障害が発生していない場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、ＬＡＧ１に出力するフレームについて、トラヒック毎にポート＃１あるいはポート＃２の何れかの出力キューに転送する制御を行う。
【００３６】
出力ポートに障害が発生していない場合、ＬＡＧ出力制御部７３では、出力切替部７３２は、キュー管理部７３１−１からの情報をキュー出力制御部７３３−１に通知し、キュー管理部７３１−２からの情報をキュー出力制御部７３３−２に通知する。この結果、ポート＃１の出力キュー（ポート＃１用出力キュー）に格納されたフレームはそのままポート＃１から伝送路の速度以下で出力され、ポート＃２の出力キュー（ポート＃２用出力キュー）に格納されたフレームはそのままポート＃２から伝送路の速度以下で出力される。
【００３７】
図５は、本実施の形態の出力ポートに障害が発生した場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを１つずつ持ち、ポート＃１に障害が発生した時のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、障害検出部６０からの情報によりポート＃１で障害の発生を検知すると、これまでポート＃１を転送先としていたトラヒックのフレームについて、同じＬＡＧのポート＃２を転送先として変更する。このため、このＬＡＧに出力するフレームは、全てポート＃２用出力キューにフレームが入力されることになる。
【００３８】
また、ＬＡＧ出力制御部７３では、障害検出時のポート＃１用出力キューのキュー長が０以外、すなわち、障害発生までにポート＃１用出力キューに格納されたフレームで障害検出時にまだ出力されていないフレームがある場合、ポート＃１からフレームを出力しないように出力制御を行う。出力切替部７３２は、キュー管理部７３１−１およびキュー管理部７３１−２からの情報をキュー出力制御部７３３−２に通知する。この結果、ポート＃１用出力キューに格納されたフレームの出力先は切り替えられてポート＃２から伝送路の速度以下で出力され、ポート＃２用出力キューに格納されたフレームはそのままポート＃２から伝送路の速度以下で出力される。
【００３９】
このとき、キュー出力制御部７３３−２は、ポート＃１用出力キューに格納されているフレームを優先的にキュー長が０、すなわち、ポート＃１用出力キューが空になるまで優先的にポート＃２から伝送路の速度以下で出力する制御を行う。キュー出力制御部７３３−２は、ポート＃２用出力キューに格納されたフレームについて、障害発生ポートに対応するポート＃１用出力キューが空になった後、ポート＃２から伝送路の速度以下で出力する制御を行う。キュー出力制御部７３３−２は、ポート＃１用出力キューのフレームを優先的にポート＃２から出力するように、読出制御部７２に対して読出指示および先頭フレーム情報を通知する。
【００４０】
なお、図４および図５では、それぞれの出力ポートに対して出力キューを１つずつ持っている場合の動作について説明したが、各出力ポートに対して出力キューを複数持つことも可能である。
【００４１】
図６は、本実施の形態の出力ポートに障害が発生していない場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを２つずつ持ち、両出力ポートで障害が発生していない場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、ＬＡＧ１に出力するフレームについて、トラヒック毎にポート＃１あるいはポート＃２の何れかの該当クラスの出力キューに転送する制御を行う。このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は出力キューが２つの場合（図４参照）と同様である。
【００４２】
この結果、ポート＃１の出力キューに格納されたフレームについては、ポート＃１用出力クラス１の出力キュー（ポート＃１用出力クラス１キュー）に格納されたフレームをポート＃１用出力クラス２の出力キュー（ポート＃１用出力クラス２キュー）に格納されたフレームより優先する完全優先などの異なるクラス間の優先制御によりポート＃１から伝送路の速度以下で出力される。同様に、ポート＃２の出力キューに格納されたフレームについては、ポート＃２用出力クラス１の出力キュー（ポート＃２用出力クラス１キュー）に格納されたフレームをポート＃２用出力クラス２の出力キュー（ポート＃２用出力クラス２キュー）に格納されたフレームより優先する完全優先などの異なるクラス間の優先制御によりポート＃２から伝送路の速度以下で出力される。
【００４３】
図７は、本実施の形態の出力ポートに障害が発生した場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを２つずつ持ち、ポート＃１に障害が発生した時のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、障害検出部６０からの情報によりポート＃１の障害の発生を検知すると、これまでポート＃１を転送先としていたトラヒックのフレームについて、同じＬＡＧのポート＃２を転送先として変更する。この際、各クラスに対応したクラスキューに格納することとする。このため、このＬＡＧに出力するフレームは、全てポート＃２の出力キューの各クラスキューにフレームが入力されることになる。
【００４４】
また、ＬＡＧ出力制御部７３では、障害検出時のポート＃１に対応する各クラスキュー長が０以外、すなわち、障害発生前までにポート＃１に対応する出力キューに格納されたフレームで障害検出時にまだ出力されていないフレームが各クラスキューにある場合、ポート＃１からフレームを出力しないように出力制御を行う。このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は出力キューが２つの場合（図５参照）と同様である。この結果、ポート＃１に対応する各クラスキューに格納されたフレームの出力先は切り替えられてポート＃２から伝送路の速度以下で出力され、ポート＃２に対応する各クラスキューに格納されたフレームはそのままポート＃２から伝送路の速度以下で出力される。
【００４５】
このとき、キュー出力制御部７３３−２は、ポート＃１に対応する各クラスキューに格納されているフレームを優先的にキュー長が０、すなわち、ポート＃１に対応する各クラスキューが空になるまで、クラスの優先制御を行った上で、優先的にポート＃２から伝送路の速度以下で出力する制御を行う。キュー出力制御部７３３−２は、ポート＃２に対応する各クラスキューに格納されたフレームについて、障害発生ポートであるポート＃１に対応する各クラスキューが空になった後、クラスの優先制御を行った上で、ポート＃２から伝送路の速度以下で出力する制御を行う。キュー出力制御部７３３−２は、ポート＃１に対応する各クラスキューのフレームを優先的にポート＃２から出力するように、読出制御部７２に対して読出指示および先頭フレーム情報を通知する。
【００４６】
なお、図６および図７では、各出力ポートに対して出力キューを２クラス持っている場合の動作について説明したが、３クラス以上にすることも可能である。３クラス以上の出力キューを持つ場合も同様、障害検出時には同一ＬＡＧの障害未発生ポートに対応した出力キューに、クラス毎にフレームを格納する出力キューが切り替えられ、クラス１を最優先として、クラス毎には障害発生ポートに対応した出力キューに格納されているフレームを優先して、障害未発生ポートから出力することができる。
【００４７】
以上説明したように、本実施の形態によれば、通信装置では、複数のポートが同一ＬＡＧに設定され、ＬＡＧ設定ポートのいずれかで障害の発生を検出した場合に、障害発生ポートに対応する出力キューへ格納していたフレームの転送先を同一ＬＡＧで障害未発生ポートに対応する出力キューへ変更し、また、障害発生ポートに対応する出力キューに格納されたフレームの出力先を、同一ＬＡＧの障害未発生ポートに切り替えることとした。これにより、フレーム廃棄を極力減らし、通信断時間を短くすることができる。また、障害発生ポートに対応する出力キューに格納されたフレームを優先して出力することにより、ＬＡＧで使用可能なポート数が減った場合でも、トラヒックフロー単位のフレームの順序逆転を防ぐことができる。
【００４８】
実施の形態２．
実施の形態１では、１つのＬＡＧに２ポート設定され、片方の出力ポートで障害の発生を検出した場合に、他方の出力ポートに出力先を切り替え、障害検出時点で障害発生ポートに対応する出力キューに格納されていたフレームを優先的に障害未発生ポートから出力することで、フレームの廃棄を減らし、フロー毎のフレームの順序逆転を防いでいる。
【００４９】
ここで、実施の形態１では、障害検出時に同一ＬＡＧの出力ポートに対応する出力キューにフレームが格納されている状態において、障害発生ポートに対応する出力キューからのフレームを優先的に出力するため、障害発生ポートに対応する出力キューに格納されたフレーム数が多いとそのフレームを全て出力するまで障害未発生ポートに対応する出力キューに格納されていたフレームを出力できず、出力遅延が大きくなり、出力キュー間で出力遅延に不公平性が生じる可能性がある。
【００５０】
本実施の形態では、１つのＬＡＧに２ポート設定され、片方の出力ポートで障害を検出した場合に、出力キュー間での出力遅延時間を公平にする方法について説明する。
【００５１】
本実施の形態の通信装置および各部の構成は実施の形態１（図１〜図３参照）と同様である。以下に、障害検出時に各出力ポートに対応する出力キューに格納されていたフレームの出力遅延を公平にするＬＡＧ出力制御部７３におけるフレームの出力制御について説明する。
【００５２】
図８は、本実施の形態の出力ポートに障害が発生していない場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを１つずつ持ち、両出力ポートで障害が発生していない場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、ＬＡＧ１に出力するフレームについて、トラヒック毎にポート＃１あるいはポート＃２の何れかの出力キューに転送する制御を行う。
【００５３】
このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は実施の形態１（図４参照）と同様である。この結果、ポート＃１の出力キュー（ポート＃１用出力キュー）に格納されたフレームはそのままポート＃１から伝送路の速度以下で出力され、ポート＃２の出力キュー（ポート＃２用出力キュー）に格納されたフレームはそのままポート＃２から伝送路の速度以下で出力される。
【００５４】
図９は、本実施の形態の出力ポートに障害が発生した場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを１つずつ持ち、ポート＃１に障害が発生した時のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、障害検出部６０からの情報によりポート＃１で障害の発生を検知すると、これまでポート＃１を転送先としていたトラヒックのフレームについて、同じＬＡＧのポート＃２を転送先として変更する。このため、このＬＡＧに出力するフレームは、全てポート＃２用出力キューにフレームが入力されることになる。
【００５５】
また、ＬＡＧ出力制御部７３では、障害検出時のポート＃１用出力キューのキュー長が０以外、すなわち、障害発生前までにポート＃１用出力キューに格納されたフレームで障害検出時にまだ出力されていないフレームがある場合、ポート＃１からフレームを出力しないように出力制御を行う。このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は実施の形態１（図５参照）と同様である。この結果、ポート＃１用出力キューに格納されたフレームの出力先は切り替えられてポート＃２から伝送路の速度以下で出力され、ポート＃２用出力キューに格納されたフレームはそのままポート＃２から伝送路の速度以下で出力される。
【００５６】
ここで、キュー出力制御部７３３−２は、実施の形態１と異なり、障害検出時のポート＃１用出力キューのキュー長が０以外、すなわち、障害発生までにポート＃１用出力キューに格納されたフレームで障害検出時にまだ出力されていないフレームがポート＃１用出力キューにある場合、ポート＃１用出力キューに格納されたフレームの出力ポートをポート＃１から同じＬＡＧのポート＃２に切り替えて、障害発生ポートに対応するポート＃１用出力キューに格納されているフレーム、および障害未発生ポートに対応するポート＃２用出力キューに格納されているフレームに対して、障害発生ポートに対応するポート＃１用出力キューのキュー長が０、すなわち、ポート＃１用出力キューが空になるまで、ＷＦＱ（Weighted  Fair  Queuing）による出力制御によりポート＃２から伝送路の速度以下で出力する。
【００５７】
キュー出力制御部７３３−２は、２つの出力キューからのフレームの出力に対して、障害検出時の両出力ポートに対応する出力キューのキュー長の値Ｘ，Ｙを保持し、その２つの出力ポートに対応する出力キューのキュー長比を各出力キューのウェイト値とし、ウェイト値に基づいたＷＦＱによる出力制御を行い、ポート＃２から伝送路の速度以下で両ポートの出力キューに格納されているフレームを出力する。キュー出力制御部７３３−２は、上記出力制御に従って、読出制御部７２に対して読出指示および先頭フレーム情報を通知する。
【００５８】
なお、障害検出時の各出力ポートに対応する出力キューのキュー長の比がＸ：Ｙである場合、フロー毎のフレームの順序逆転が発生しないように、ＷＦＱのウェイト値をＸ：Ｙではなく、例えば、（Ｘ＋伝送路を通る可能性がある最大フレーム長）：Ｙなど、障害発生ポートの重みが若干大きくなるようなウェイト値の比を用いてもよい。また、ＷＦＱではなく、ＷＲＲ（Weighted  Round  Robin）、ＤＲＲ（Deficit  Round  Robin）などの方式を用いてもよい。
【００５９】
つづいて、各出力ポートに対して出力キューを複数持つ場合の動作について説明する。
【００６０】
図１０は、本実施の形態の出力ポートに障害が発生していない場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを２つずつ持ち、両出力ポートで障害が発生していない場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、ＬＡＧ１に出力するフレームについて、トラヒック毎にポート＃１あるいはポート＃２の何れかの該当クラスの出力キューに転送する制御を行う。このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は出力キューが２つの場合（図８参照）と同様である。
【００６１】
この結果、ポート＃１の出力キューに格納されたフレームについては、ポート＃１用出力クラス１の出力キュー（ポート＃１用出力クラス１キュー）に格納されたフレームをポート＃１用出力クラス２の出力キュー（ポート＃１用出力クラス２キュー）に格納されたフレームより優先する完全優先などの異なるクラス間の優先制御によりポート＃１から伝送路の速度以下で出力される。同様に、ポート＃２の出力キューに格納されたフレームについては、ポート＃２用出力クラス１の出力キュー（ポート＃２用出力クラス１キュー）に格納されたフレームをポート＃２用出力クラス２の出力キュー（ポート＃２用出力クラス２キュー）に格納されたフレームより優先する完全優先などの異なるクラス間の優先制御によりポート＃２から伝送路の速度以下で出力される。
【００６２】
図１１は、本実施の形態の出力ポートに障害が発生した場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１とポート＃２において、それぞれの出力ポートに対して出力キューを２つずつ持ち、ポート＃１に障害が発生した時のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、障害検出部６０からの情報によりポート＃１の障害の発生を検知すると、これまでポート＃１を転送先としていたトラヒックのフレームについて、同じＬＡＧのポート＃２を転送先として変更する。この際、各クラスに対応したクラスキューに格納することとする。このため、このＬＡＧに出力するフレームは、全てポート＃２の出力キューの各クラスキューにフレームが入力されることになる。
【００６３】
また、ＬＡＧ出力制御部７３では、障害検出時のポート＃１に対応する各クラスキュー長が０以外、すなわち、障害発生前までにポート＃１に対応する出力キューに格納されたフレームで障害検出時にまだ出力されていないフレームが各クラスキューにある場合、ポート＃１からフレームを出力しないように出力制御を行う。このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は出力キューが２つの場合（図９参照）と同様である。この結果、ポート＃１に対応する各クラスキューに格納されたフレームの出力先は切り替えられてポート＃２から伝送路の速度以下で出力され、ポート＃２に対応する各クラスキューに格納されたフレームはそのままポート＃２から伝送路の速度以下で出力される。
【００６４】
ここで、キュー出力制御部７３３−２は、実施の形態１と異なり、障害検出時のポート＃１に対応する各クラスキュー長が０以外、すなわち、障害発生までにポート＃１に対応する出力キューに格納されたフレームで障害検出時にまだ出力されていないフレームが各クラスキューにある場合、ポート＃１に対応する該当クラスキューに格納されたフレームの出力ポートをポート＃１から同じＬＡＧのポート＃２に切り替えて、クラス毎に、障害発生ポートであるポート＃１に対応する出力キューに格納されているフレーム、および障害未発生ポートであるポート＃２に対応する出力キューに格納されているフレームに対して、障害発生ポートであるポート＃１に対応する出力キューのキュー長が０、すなわち、出力キューが空になるまで、ＷＦＱによる出力制御によりポート＃２から伝送路の速度以下で出力する。
【００６５】
キュー出力制御部７３３−２は、各出力キューからのフレームの出力に対して、障害検出時の両出力ポートのクラス１の出力キューのキュー長の値Ｘ１，Ｙ１、両出力ポートのクラス２の出力キューのキュー長の値Ｘ２，Ｙ２を保持し、クラス毎にその２つの出力ポートの出力キューのキュー長比を各出力キューのウェイト値とし、ウェイト値に基づいたＷＦＱによる出力制御を行い、さらに、クラスの優先制御を実施した上で、ポート＃２から伝送路の速度以下で両出力ポートに対応する出力キューに格納されているフレームを出力する。キュー出力制御部７３３−２は、上記出力制御に従って、読出制御部７２に対して読出指示および先頭フレーム情報を通知する。
【００６６】
なお、障害検出時の各ポートに対応する各クラスの出力キューのキュー長の比がＸ１：Ｙ１、Ｘ２：Ｙ２である場合、フロー毎のフレームの順序逆転が発生しないように、ＷＦＱのウェイト値をＸｎ：Ｙｎではなく、例えば、（Ｘｎ＋伝送路を通る可能性がある最大フレーム長）：Ｙｎ（ｎはクラス数）など、障害発生ポートの重みが若干大きくなるようなウェイト値の比を用いてもよい。また、ＷＦＱではなく、ＷＲＲ、ＤＲＲなどの方式を用いてもよい。
【００６７】
また、図１０および図１１では、各ポートに対して出力キューを２クラス持っている場合の動作について説明したが、３クラス以上にすることも可能である。３クラス以上の出力キューを持つ場合も同様、障害検出時には同一ＬＡＧの障害未発生ポートに対応した出力キューに、クラス毎にフレームを格納する出力キューが切り替えられ、障害検出時の障害発生ポートおよび障害未発生ポートに対応した各クラスのキュー長の比に従ってクラス毎に重み付けされた出力比で出力され、かつ、異なるクラス間の優先制御を実施して、障害未発生ポートから出力することができる。
【００６８】
以上説明したように、本実施の形態によれば、通信装置では、障害の発生を検出した時のフレームの出力制御において、障害検出時の各出力キューのキュー長の比に応じて出力制御することとした。これにより、実施の形態１の効果に加えて、各出力キューに格納されていたフレームの遅延時間の公平性を保つことが可能である。
【００６９】
実施の形態３．
本実施の形態では、バッファメモリ８０において入力ポートに対応した入力キューにフレームを格納する場合について、１つのＬＡＧに３ポート設定されているときを例にして説明する。実施の形態１と異なる部分について説明する。
【００７０】
図１２は、本実施の形態の通信装置の構成例を示す図である。実施の形態１（図１参照）と同様であるが、１つのＬＡＧに３ポート設定されている点が実施の形態１と異なる。
【００７１】
つづいて、通信装置において、入力したフレームを転送する際、出力ポートで障害を検出した場合に、出力先の出力ポートを切り替えてフレームを出力する動作について説明する。本実施の形態では、１つのＬＡＧに３ポート設定されている場合として、通信装置において、ポート＃４〜＃９から入力したフレームをポート＃１〜＃３から出力する場合を例に説明する。
【００７２】
まず、ＬＡＧポート管理部５０は、予めＬＡＧに属する入出力ポートを設定し、転送先管理部３０の出力負荷分散制御部３１、およびバッファ制御部７０のＬＡＧ出力制御部７３にＬＡＧ設定ポート情報を出力する。ＬＡＧポート管理部５０は、ＬＡＧに属する入出力ポートを設定するテーブルを備える。図１３は、本実施の形態のＬＡＧのポート設定テーブルの構成例を示す図である。テーブルの構成は実施の形態１（図２参照）と同様であるが、ここでは、１つのＬＡＧに３ポートを設定している。例えば、ＬＡＧ番号１は、ＬＡＧが有効であり、ポート＃１，＃２，＃３から構成されていること、ＬＡＧ番号２は、ＬＡＧが有効であり、ポート＃４，＃５，＃６から構成されていること、を示す。
【００７３】
また、ＬＡＧポート管理部５０は、出力負荷分散制御の設定テーブルを備える。図１４は、本実施の形態の出力負荷分散制御の設定テーブルの構成例を示す図である。出力負荷分散制御の設定テーブルは、入力ポートと、障害発生有無のそれぞれの場合のＬＡＧ出力ポートと、から構成される。ＬＡＧの出力負荷分散制御が入力ポートベースである場合に、同一ＬＡＧに設定された３ポートのうち、１ポートが障害発生により通信できなくなった場合に出力するポートを予め設定しておく。例えば、入力ポートとしてポート＃４から入力したフレームは、障害が発生していないときはポート＃１から出力し、ポート＃１で障害が発生しているときはポート＃２から出力することを示す。
【００７４】
障害検出部６０は、各入出力ポートの障害状態を管理し、障害の発生・回復の情報を、転送先管理部３０、およびバッファ制御部７０のＬＡＧ出力制御部７３に出力する。障害の発生・回復を検出する方法については、実施の形態１と同様である。
【００７５】
転送先管理部３０は、入力されたフレームに対して、ＬＡＧポート管理部５０および障害検出部６０から取得した情報に基づいて、転送管理テーブル４０を検索して転送先を決定する。転送先がＬＡＧ設定のポートである場合には、該当ＬＡＧに対して、ＬＡＧポート管理部５０で設定された出力負荷分散制御の設定テーブル（図１４参照）の出力先に従って、出力負荷分散制御部３１が転送先のポートを決定する。図１４に示す出力負荷分散制御の設定テーブルは入力ポートベースモードにおける入力ポートに対する障害発生の有無による出力ポートの設定例であるが、出力負荷分散制御部３１での負荷分散方法は、実施の形態１と同様、トラヒック毎にフレームの順序逆転が起きないように、アドレスベースまたは入力ポートベースで行うこととする。
【００７６】
バッファ制御部７０では、転送先管理部３０で決定された転送先に従って、フレームの入力元となる入力ポート毎に入力キューを持つバッファメモリ８０へ入力順にフレームを格納する。入力キューの構成は、ＦＩＦＯ（First  In  First  Out）とする。なお、バッファメモリ８０では、１つの入力元について、優先クラス、ユーザ情報などにより複数の入力キューを持つことが可能である。
【００７７】
バッファ制御部７０では、書込制御部７１が、出力制御部７４またはＬＡＧ出力制御部７３から入力キューへの書き込みの際に次に書き込むアドレス情報（書込アドレス情報）を取得し、また、入力キューへの書き込みが不可を示すＦＵＬＬ情報の取得状況に応じて、入力されたフレームを入力元の入力ポートに対応する入力キューに書き込む制御を行う。また、書込制御部７１は、フレームを入力キューに書き込んだ際の書込情報（転送先、優先クラス、ユーザ情報などのキュー情報、フレームを書き込んだキューのキュー番号、キューに書き込んだフレーム長）を、出力制御部７４またはＬＡＧ出力制御部７３に通知する。書込制御部７１では、上記処理を入力ポート毎に行う。
【００７８】
読出制御部７２は、出力制御部７４またはＬＡＧ出力制御部７３から読出指示があった場合に、該当の入力キューのフレームを読み出す制御を行う。また、読出制御部７２は、入力キューからフレームを読み出した際の読出情報（キュー情報、フレームを読み出したキューのキュー番号、読み出したフレームのフレーム長）を出力制御部７４またはＬＡＧ出力制御部７３に通知する。読出制御部７２では、上記処理を入力ポート毎に行う。
【００７９】
ここで、ＬＡＧ設定されていない場合、出力制御部７４は、ＬＡＧ未設定ポート毎に出力制御を行う。出力制御部７４は、書込制御部７１からのフレームの書込情報および読出制御部７２からの読出情報に基づいて、入力キュー単位に書込／読出アドレス、各入力キューのデータ量（バッファ量）などの情報を管理する。出力制御部７４は、次のフレームの書込アドレス情報、入力キューが溢れそうな場合にはＦＵＬＬ情報を書込制御部７１に通知する。また、出力制御部７４は、出力側において出力ポートの伝送速度を超えない範囲で、然るべきタイミングで、読出指示および先頭フレーム情報を読出制御部７２に通知する。この際、１つのポートに対して入力キューが複数ある場合、出力制御部７４は、複数の入力キューからのフレームの読み出しについて、優先制御および／または帯域制御を行う。
【００８０】
これに対して、ＬＡＧ設定されている場合、ＬＡＧ出力制御部７３は、ＬＡＧ設定ポート毎に出力制御を行う。図１５は、本実施の形態のＬＡＧ出力制御部７３の構成例を示す図である。ＬＡＧ出力制御部７３は、キュー管理部７３１−４，７３１−５，…，７３１−９と、出力切替部７３２と、キュー出力制御部７３３−１，７３３−２，７３３−３と、を備える。キュー管理部７３１−４〜７３１−９はそれぞれポート＃４〜＃９に対応し、キュー出力制御部７３３−１〜７３３−３はそれぞれポート＃１〜＃３に対応する。
【００８１】
ＬＡＧ出力制御部７３のキュー管理部７３１−４〜７３１−９は、入力ポート毎に、ＬＡＧ設定ポートを転送先とするフレームに対して、書込制御部７１からの書込情報および読出制御部７２からの読出情報に基づいて、入力キュー単位に書込／読出アドレス、各入力キューのデータ量（バッファ量）などの情報を管理する。また、キュー管理部７３１−４〜７３１−９は、次のフレームに対する書込アドレス情報、入力キューが溢れそうな場合はＦＵＬＬ情報を書込制御部７１に通知する。さらに、キュー管理部７３１−４〜７３１−９は、障害の発生が検出された時には、障害検出時点での各入力キューのバッファサイズを保持して、その情報を出力切替部７３２に通知する。なお、図中の書込情報＃４〜＃９、ＦＵＬＬ情報＃４〜＃９、書込アドレス情報＃４〜＃９に付与されている＃４〜＃９はポート番号に対応する。
【００８２】
ＬＡＧ出力制御部７３の出力切替部７３２は、障害検出部６０からのＬＡＧ設定ポート毎の障害の有無の情報（障害情報）により、ＬＡＧ設定ポートで障害が発生していない場合、ＬＡＧポート管理部５０からの障害発生無しの状態における入力ポートに対する出力ポートの情報に基づいて、該当入力ポートのキュー管理部７３１−４〜７３１−９からの情報を該当出力ポートのキュー出力制御部７３３−１〜７３３−３のいずれかに通知する。また、出力切替部７３２は、障害検出部６０からのＬＡＧ設定ポート毎の障害の有無の情報（障害情報）により、ＬＡＧポートで障害が発生している場合、ＬＡＧポート管理部５０からの障害発生有りの状態における入力ポートに対する出力ポートの情報に基づいて、該当入力ポートのキュー管理部７３１−４〜７３１−９からの情報を該当出力ポートのキュー出力制御部７３３−１〜７３３−３のいずれかであって、障害発生無しのときとは異なるキュー出力制御部に切り替えて通知する。
【００８３】
ＬＡＧ出力制御部７３のキュー出力制御部７３３−１〜７３３−３は、障害未発生ポートについて、ポート毎に伝送速度を超えない範囲で、ＬＡＧポート管理部５０で設定された複数の入力キューに格納されているフレームを入力キューに格納された順番に管理し、然るべきタイミングで、読み出す入力キューに対する読出指示、および読み出す先頭フレームのアドレス、フレーム長などの必要な情報である先頭フレーム情報を読出制御部７２に通知する。この際、キュー出力制御部７３３−１〜７３３−３は、１つの出力ポートに対して入力キューが複数ある場合には、出力ポート単位にフレームの到着順を管理するキューを別途設け、フレームの入力順に出力する処理を行う。
【００８４】
さらに、キュー出力制御部７３３−１〜７３３−３は、同一ＬＡＧに設定された自出力ポート以外の出力ポートで伝送路障害が発生した場合には、障害発生ポートに出力されるはずであり、障害が発生した時は自ポートに出力が切り替えられる入力ポートに対応する入力キューのキュー管理部７３１−４〜７３１−９のいずれかからの情報を受信し、障害発生ポートに出力するはずであって障害発生後は自出力ポートに出力先が切り替わった入力ポート毎の入力キューに格納されていたフレームと、元々自出力ポートに出力されるべき入力ポート毎の入力キューに格納されていたフレームについて、複数のキューに格納されているフレームを自出力ポートから出力するための出力制御を行う。なお、図中の読出指示＃４〜＃９、先頭フレーム情報＃４〜＃９に付与されている＃４〜＃９はポート番号に対応する。
【００８５】
具体的に、出力ポートに障害が発生していない場合と障害が発生した場合のＬＡＧ出力制御部７３におけるフレームの出力制御について説明する。
【００８６】
図１６は、本実施の形態の出力ポートに障害が発生していない場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１〜＃３に出力されるフレームに対して、入力ポートベースの出力負荷分散制御として、それぞれ入力ポート毎に入力キューを１つずつ持ち、各出力ポートで障害が発生していない場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、ＬＡＧ１に出力するフレームについて、入力ポート毎にポート＃４〜＃９の何れかの入力キューに転送する制御を行う。
【００８７】
出力ポートに障害が発生していない場合、ＬＡＧ出力制御部７３では、出力切替部７３２は、キュー管理部７３１−４，７３１−５からの情報をキュー出力制御部７３３−１に通知し、キュー管理部７３１−６，７３１−７からの情報をキュー出力制御部７３３−２に通知し、キュー管理部７３１−８，７３１−９からの情報をキュー出力制御部７３３−３に通知する。この結果、ポート＃１に出力されるポート＃４，＃５に対応する入力キュー（ポート＃４用入力キュー、ポート＃５用入力キュー）に格納されたフレームはポート＃１から２つの入力キューを合わせて入力順に伝送路の速度以下で出力され、ポート＃２に出力されるポート＃６，＃７に対応する入力キュー（ポート＃６用入力キュー、ポート＃７用入力キュー）に格納されたフレームはポート＃２から２つの入力キューを合わせて入力順に伝送路の速度以下で出力され、ポート＃３に出力されるポート＃８，＃９に対応する入力キュー（ポート＃８用入力キュー、ポート＃９用入力キュー）に格納されたフレームはポート＃３から２つの入力キューを合わせて入力順に伝送路の速度以下で出力される。
【００８８】
図１７は、本実施の形態の出力ポートに障害が発生した場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１〜＃３に出力されるフレームに対して、入力ポートベースの出力負荷分散制御として、それぞれ入力ポート毎に入力キューを１つずつ持ち、ポート＃１で障害が発生した場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、障害検出部６０からの情報によりポート＃１で障害の発生を検知すると、これまでポート＃１を転送先としていたポート＃４，＃５のフレームについて、図１４に示す出力負荷分散制御の設定テーブルの設定に基づいて、それぞれ同じＬＡＧのポート＃２，＃３に入力ポート毎に出力先を切り替える。このため、このＬＡＧに出力するフレームは、全て図示しないポート＃２またはポート＃３の出力キューにフレームが入力されることになる。
【００８９】
また、ＬＡＧ出力制御部７３では、障害検出時のポート＃４用入力キュー、ポート＃５用入力キューのキュー長が０以外、すなわち、障害発生までにポート＃４用入力キュー、ポート＃５用入力キューに格納されたフレームで障害検出時にまだポート＃１から出力されていないフレームがある場合、ポート＃１からフレームを出力しないように出力制御を行う。出力切替部７３２は、キュー管理部７３１−４からの情報をキュー出力制御部７３３−２に通知し、キュー管理部７３１−５からの情報をキュー出力制御部７３３−３に通知する。この結果、ポート＃４用入力キューに格納されたフレームの出力先は切り替えられてポート＃２から伝送路の速度以下で出力され、ポート＃５用入力キューに格納されたフレームの出力先は切り替えられてポート＃３から伝送路の速度以下で出力される。
【００９０】
このとき、キュー出力制御部７３３−２は、ポート＃４用入力キューに格納されているフレームを優先的にキュー長が０、すなわち、ポート＃４用入力キューが空になるまで優先的にポート＃２から伝送路の速度以下で出力する制御を行う。キュー出力制御部７３３−２は、ポート＃６用入力キュー、ポート＃７用入力キューに格納されたフレームについて、ポート＃４用入力キューが空になった後、ポート＃２から伝送路の速度以下で出力する制御を行う。
【００９１】
同様に、キュー出力制御部７３３−３は、ポート＃５用入力キューに格納されているフレームを優先的にキュー長が０、すなわち、ポート＃５用入力キューが空になるまで優先的にポート＃３から伝送路の速度以下で出力する制御を行う。キュー出力制御部７３３−３は、ポート＃８用入力キュー、ポート＃９用入力キューに格納されたフレームについて、ポート＃５の入力キューが空になった後、ポート＃３から伝送路の速度以下で出力する制御を行う。
【００９２】
なお、図１６および図１７では、それぞれ入力ポートに対して入力キューを１つずつ持っている場合の動作について説明したが、各入力ポートに対して入力キューを複数持つことも可能である。１つの入力ポートに対してクラスキューを複数持つ場合の動作については、同一クラスの複数の入力キューにおいて本実施の形態で説明した出力制御を行い、後段において実施の形態１の複数クラスキューを持つ場合の動作と同様にクラス間の優先制御を行う。
【００９３】
以上説明したように、本実施の形態によれば、通信装置では、複数のポートが同一ＬＡＧに設定され、ＬＡＧ設定ポートのいずれかで障害の発生を検出した場合に、障害発生ポートへ出力する入力キューへ格納していたフレームの転送先を同一ＬＡＧで障害未発生ポートを出力先とする入力キューへ変更し、また、障害発生ポートへ出力する入力キューに格納されたフレームの出力先を、同一ＬＡＧの障害未発生ポートに切り替えることとした。これにより、フレーム廃棄を極力減らし、通信断時間を短くすることができる。また、障害発生ポートを出力先としていた入力キューに格納されたフレームを優先して出力することにより、ＬＡＧで使用可能なポート数が減った場合でも、トラヒックフロー単位のフレームの順序逆転を防ぐことができる。
【００９４】
実施の形態４．
実施の形態３では、１つのＬＡＧに３ポート設定され、１つの出力ポートで障害の発生を検出した場合に、他の出力ポートに出力先を切り替え、障害検出時点で障害検出ポートへ出力するはずであった入力キューに格納されていたフレームを優先的に障害未発生ポートから出力することで、フレームの廃棄を減らし、フロー毎のフレームの順序逆転を防いでいる。
【００９５】
ここで、実施の形態３では、障害検出時に出力先の出力ポートを切り替えた入力キューにフレームが格納されている状態において、この入力キューからのフレームを優先的に出力するため、この入力キューに格納されたフレーム数が多い場合に、そのフレームを全て出力するまで、元々切替先の出力ポートを出力先としていた入力キューに格納されていたフレームが出力されず、出力遅延が大きくなり、入力キュー間で出力遅延に不公平性が生じる可能性がある。
【００９６】
本実施の形態では、１つのＬＡＧに３ポート設定され、１つの出力ポートで障害を検出した場合に、入力キュー間での出力遅延時間を公平にする方法について説明する。
【００９７】
本実施の形態の通信装置および各部の構成は実施の形態３（図１２〜図１５参照）と同様である。以下に、障害検出時に各入力ポートに対応する入力キューに格納されていたフレームの出力遅延を公平にするＬＡＧ出力制御部７３におけるフレームの出力制御について説明する。
【００９８】
図１８は、本実施の形態の出力ポートに障害が発生していない場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１〜＃３に出力されるフレームに対して、入力ポートベースの出力負荷分散制御として、それぞれ入力ポート毎に入力キューを１つずつ持ち、各出力ポートで障害が発生していない場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、ＬＡＧ１に出力するフレームについて、入力ポート毎にポート＃４〜＃９の何れかの入力キューに転送する制御を行う。
【００９９】
このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は実施の形態３（図１６参照）と同様である。この結果、ポート＃１に出力されるポート＃４，＃５の入力キュー（ポート＃４用入力キュー、ポート＃５用入力キュー）に格納されたフレームはポート＃１から２つの入力キューを合わせて入力順に伝送路の速度以下で出力され、ポート＃２に出力されるポート＃６，＃７の入力キュー（ポート＃６用入力キュー、ポート＃７用入力キュー）に格納されたフレームはポート＃２から２つの入力キューを合わせて入力順に伝送路の速度以下で出力され、ポート＃３に出力されるポート＃８，＃９の入力キュー（ポート＃８用入力キュー、ポート＃９用入力キュー）に格納されたフレームはポート＃３から２つの入力キューを合わせて入力順に伝送路の速度以下で出力される。
【０１００】
図１９は、本実施の形態の出力ポートに障害が発生した場合の出力制御を示す図である。同一ＬＡＧに設定されたポート＃１〜＃３に出力されるフレームに対して、入力ポートベースの出力負荷分散制御として、それぞれ入力ポート毎に入力キューを１つずつ持ち、ポート＃１で障害が発生した場合のＬＡＧ出力制御部７３の動作例を示している。転送先管理部３０の出力負荷分散制御部３１は、障害検出部６０からの情報によりポート＃１で障害の発生を検知すると、これまでポート＃１を転送先としていたポート＃４，＃５のフレームについて、図１４に示す出力負荷分散制御の設定テーブルの設定に基づいて、それぞれ同じＬＡＧのポート＃２，＃３に入力ポート毎に出力先を切り替える。このため、このＬＡＧに出力するフレームは、全て図示しないポート＃２またはポート＃３の出力キューにフレームが入力されることになる。
【０１０１】
また、ＬＡＧ出力制御部７３では、障害検出時のポート＃４用入力キュー、ポート＃５用入力キューのキュー長が０以外、すなわち、障害発生までにポート＃４用入力キュー、ポート＃５用入力キューに格納されたフレームで障害検出時にまだポート＃１から出力されていないフレームがある場合、ポート＃１からフレームを出力しないように出力制御を行う。このとき、ＬＡＧ出力制御部７３の出力切替部７３２の動作は実施の形態３（図１７参照）と同様である。この結果、ポート＃４用入力キューに格納されたフレームの出力先は切り替えられてポート＃２から伝送路の速度以下で出力され、ポート＃５用入力キューに格納されたフレームの出力先は切り替えられてポート＃３から伝送路の速度以下で出力される。
【０１０２】
このとき、キュー出力制御部７３３−２は、ポート＃４用入力キューに格納されているフレーム、およびポート＃２から予め出力していたポート＃６用入力キュー、ポート＃７用入力キューに格納されているフレームを、ポート＃４用入力キューに格納されているフレームが無くなる（キュー長が０、すなわち、キューが空になる）まで、ＷＦＱによる出力制御によりポート＃２から伝送路の速度以下で出力する制御を行う。
【０１０３】
キュー出力制御部７３３−２は、３つのキューからのフレームの出力に対して、障害検出時の各入力ポートの入力キューのキュー長の値Ａ，Ｃ，Ｄを保持し、障害発生によって切り替わったポート＃４用入力キューのキュー長Ａと予めポート＃２に出力していたポート＃６用入力キュー、ポート＃７用入力キューのキュー長を加算した値（Ｃ＋Ｄ）のキュー長比をウェイト値とし、ポート＃４用入力キューとポート＃６用入力キュー、ポート＃７用入力キューを合算した入力キューとの間でウェイト値に基づいたＷＦＱによる出力制御を行い、ポート＃２から伝送路の速度以下で各入力ポートに対応する入力キューに格納されているフレームを出力する。
【０１０４】
同様に、キュー出力制御部７３３−３は、ポート＃５用入力キューに格納されているフレーム、およびポート＃３から予め出力していたポート＃８用入力キュー、ポート＃９用入力キューに格納されているフレームを、ポート＃５用入力キューに格納されているフレームが無くなる（キュー長が０、すなわち、キューが空になる）まで、ＷＦＱによる出力制御によりポート＃３から伝送路の速度以下で出力する制御を行う。
【０１０５】
キュー出力制御部７３３−３は、３つのキューからのフレームの出力に対して、障害検出時の各入力ポートの入力キューのキュー長の値Ｂ，Ｅ，Ｆを保持し、障害発生によって切り替わったポート＃５用入力キューのキュー長Ｂと予めポート＃３に出力していたポート＃８用入力キュー、ポート＃９用入力キューのキュー長を加算した値（Ｅ＋Ｆ）のキュー長比をウェイト値とし、ポート＃５用入力キューとポート＃８用入力キュー、ポート＃９用入力キューを合算した入力キューとの間でウェイト値に基づいたＷＦＱによる出力制御を行い、ポート＃３から伝送路の速度以下で各入力ポートに対応する入力キューに格納されているフレームを出力する。
【０１０６】
なお、障害検出時の各入力ポートの入力キュー長の比がＡ：（Ｃ＋Ｄ）、Ｂ：(Ｅ＋Ｆ)である場合、フロー毎のフレームの順序逆転が発生しないように、ＷＦＱのウェイト値を（Ａ＋伝送路を通る可能性がある最大フレーム長）：（Ｃ＋Ｄ）、（Ｂ＋伝送路を通る可能性がある最大フレーム長）：（Ｅ＋Ｆ）など、障害発生ポートの重みが若干大きくなるようなウェイト値の比を用いてもよい。また、ＷＦＱではなく、ＷＲＲ、ＤＲＲなどの方式を用いてもよい。
【０１０７】
また、図１８および図１９では、それぞれ入力ポートに対して入力キューを１つずつ持っている場合の動作について説明したが、各入力ポートに対して入力キューを複数持つことも可能である。１つの入力ポートに対してクラスキューを複数持つ場合の動作については、同一クラスの複数の入力キューにおいて本実施の形態で説明した出力制御を行い、後段において実施の形態２の複数クラスキューを持つ場合の動作と同様にクラス間の優先制御を行う。
【０１０８】
以上説明したように、本実施の形態によれば、通信装置では、障害の発生を検出した時のフレームの出力制御において、障害検出時の各入力キューのキュー長の比に応じて出力制御することとした。これにより、実施の形態３の効果に加えて、各入力キューに格納されていたフレームの遅延時間の公平性を保つことが可能である。
【０１０９】
なお、実施の形態３，４では、３つのポートが同一ＬＡＧに設定されている場合の動作について説明したが、これに限定するものではなく、同一ＬＡＧに４ポート以上設定される場合についても、同様に考えることができる。
【０１１０】
また、実施の形態３，４では、出力負荷分散制御が入力ポートベースモードの場合の動作について説明したが、アドレスベースモードの場合は、出力キューを同一ＬＡＧに設定されているポートのうちのいずれか１ポートに切り替えるため、実施の形態１，２のように動作することになる。
【０１１１】
実施の形態５．
実施の形態１〜４では、障害検出時に障害発生ポートに出力中であったフレームについては廃棄されてしまう。本実施の形態では、出力中のフレームの廃棄を防ぐ方法について、実施の形態１を例に説明する。
【０１１２】
ＬＡＧ出力制御部７３の出力ポート毎のキュー出力制御部７３３−１，７３３−２は、フレームを出力する際、読み出すキュー情報と先頭フレーム情報（フレーム長、読出先頭アドレス）を保持しておき、自出力ポートで障害の発生を検出したときに出力中のフレームがある場合は、そのフレームを出力先が切り替わってから再度出力する制御を行う。この際、出力中のフレームはまだ出力していないものとみなし、保持していたキュー情報、先頭フレーム情報を含めたキュー情報を出力切替先の同一ＬＡＧのポートから再送するように読出制御部７２へ通知する。
【０１１３】
これにより、実施の形態１〜４において、障害発生ポートから出力中であったフレームを出力切替先のポートから再送することが可能になり、通信装置間におけるフレームの廃棄を防ぐことができる。
【産業上の利用可能性】
【０１１４】
以上のように、本発明にかかる通信装置は、複数の伝送路を用いて通信を行う通信装置に有用であり、特に、伝送路で障害発生した場合の制御に適している。
【符号の説明】
【０１１５】
１０  入力処理部、２０  多重部、３０  転送先管理部、３１  出力負荷分散制御部、４０  転送管理テーブル、５０  ＬＡＧポート管理部、６０  障害検出部、７０  バッファ制御部、７１  書込制御部、７２  読出制御部、７３  ＬＡＧ出力制御部、７３１−１，７３１−２，７３１−４〜７３１−９  キュー管理部、７３２  出力切替部、７３３−１〜７３３−３  キュー出力制御部、７４  出力制御部、８０  バッファメモリ、９０  出力処理部。
【図１】
2014068110.tif 000003
【図２】
2014068110.tif 000004
【図３】
2014068110.tif 000005
【図４】
2014068110.tif 000006
【図５】
2014068110.tif 000007
【図６】
2014068110.tif 000008
【図７】
2014068110.tif 000009
【図８】
2014068110.tif 000010
【図９】
2014068110.tif 000011
【図１０】
2014068110.tif 000012
【図１１】
2014068110.tif 000013
【図１２】
2014068110.tif 000014
【図１３】
2014068110.tif 000015
【図１４】
2014068110.tif 000016
【図１５】
2014068110.tif 000017
【図１６】
2014068110.tif 000018
【図１７】
2014068110.tif 000019
【図１８】
2014068110.tif 000020
【図１９】
2014068110.tif 000021