(57)【要約】拠点ノード（１００）及び拠点ノード（１０１）は、通信媒体（１０６）及び通信媒体（１０７）を構成する中継ノードにおいてブロードキャストされるキープアライブフレームを、ポート１及びポート２から送信し、キープアライブフレームの到着状態をポート毎に監視し、通常時は、ポート１及びポート２に接続された２つの通信媒体を１つのノードとして仮想することにより通信帯域を拡大し、障害検出時は、障害を検出していないポートに接続された通信媒体のみを用いて通信を続行する。【特許請求の範囲】
【請求項１】
複数の拠点ノードが１つ以上の中継ノードから構成される複数の通信媒体を介して通信を行う通信システムであって、
前記拠点ノードが、前記拠点ノードに属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化部を備えることを特徴とする通信システム。
【請求項２】
３つ以上の前記拠点ノードが、１つ以上の中継ノードから構成される複数の通信媒体を介して互いに接続されることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記仮想化部が、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、１つの宛先に対して複数個登録するフォワーディングデータベースを備えることを特徴とする請求項１または請求項２に記載の通信システム。
【請求項４】
前記仮想化部が、前記拠点ノードの１つ以上のポートを１つの仮想ポートに対応付けるポートマッピングテーブルと、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録するフォワーディングデータベースとを備えることを特徴とする請求項１または請求項２に記載の通信システム。
【請求項５】
前記複数の通信媒体を構成する中継ノードが、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）ネットワークモデルの第２層のデータフレームを転送するノードであることを特徴とする請求項１から請求項４の何れか１項に記載の通信システム。
【請求項６】
前記データフレームが、イーサネット（Ｒ）のフレームフォーマットを有するイーサネット（Ｒ）フレーム、ＡＴＭのフレームフォーマットを有するデータフレーム（ＡＴＭセル）、またはフレームリレーのフレームフォーマットを有するデータフレーム（フレームリレーフレーム）、またはＦＤＤＩのフレームフォーマットを有するデータフレームのいずれかであることを特徴とする請求項５に記載の通信システム。
【請求項７】
少なくとも１つの前記通信媒体を転送されるデータフレームのフレームフォーマットが、他の前記通信媒体を転送されるデータフレームのフレームフォーマットと異なることを特徴とする請求項１から請求項４の何れか１項に記載の通信システム。
【請求項８】
前記複数の通信媒体のうち、任意の通信媒体において転送されるデータフレームのフレームフォーマットが、イーサネット（Ｒ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＡＴＭ、フレームリレー、ＦＤＤＩのフレームフォーマットの任意の組み合わせであることを特徴とする請求項７に記載の通信システム。
【請求項９】
前記拠点ノードが、フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信することを特徴とする請求項７または請求項８に記載の通信システム。
【請求項１０】
前記拠点ノードと前記複数の通信媒体を接続するリンクが、イーサネット（Ｒ）、ＡＴＭ、フレームリレー、ＡＤＳＬ、アナログ・ダイヤルアップ回線、ＩＳＤＮ、ＦＴＴＨ、ＣＡＴＶのいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項１から請求項９の何れか１項に記載の通信システム。
【請求項１１】
前記拠点ノードと前記通信媒体を接続するリンクが、任意のリンク速度を有することを特徴とする請求項１から請求項１０の何れか１項に記載の通信システム。
【請求項１２】
複数の前記拠点ノードが、キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項１３】
前記キープアライブフレームが、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストされることを特徴とする請求項１２に記載の通信システム。
【請求項１４】
前記キープアライブフレームが、前記複数の通信媒体を構成する前記中継ノードにおいてｕｎｋｎｏｗｎユニキャストフレームとして認識される宛先アドレスを有することを特徴とする請求項１３に記載の通信システム。
【請求項１５】
前記拠点ノードが、前記キープアライブフレームに記載された情報又は前記キープアライブフレームの到着状態から、あるいはその双方から通信システムの通信状態を取得することを特徴とする請求項１２から請求項１４の何れか１項に記載の通信システム。
【請求項１６】
前記通信システムの通信状態が、障害、通信帯域、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項１２から請求項１５の何れか１項に記載の通信システム。
【請求項１７】
前記拠点ノードが、所定のアルゴリズムに基づいて、データフレームを出力するポートを決定することを特徴とする請求項１から請求項１６の何れか１項に記載の通信システム。
【請求項１８】
前記アルゴリズムが、ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかであることを特徴とする請求項１７に記載の通信システム。
【請求項１９】
前記アルゴリズムが重み付けラウンドロビンである場合に、前記拠点ノードに属するポートであって、前記通信媒体に接続されているポートが、データフレームを出力するポートとして選択される確率が、前記通信媒体と前記ポートを接続するリンクのリンク速度により決定されることを特徴とする請求項１８に記載の通信システム。
【請求項２０】
前記アルゴリズムが重み付けラウンドロビンである場合に、前記拠点ノードに属するポートであって、前記通信媒体に接続されているポートが、データフレームを出力するポートとして選択される確率が、前記通信システムの通信状態により決定されることを特徴とする請求項１８に記載の通信システム。
【請求項２１】
前記アルゴリズムが、データフレームのヘッダ情報と、データフレームのペイロードに記載された内容とに基づいて、データフレームを出力するポートを決定する方式であることを特徴とする請求項１７に記載の通信システム。
【請求項２２】
前記拠点ノードが、前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２３】
前記拠点ノードが、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２４】
前記拠点ノードが、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手の前記拠点ノードとの対応関係を管理するアドレス管理データベースを備え、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２５】
前記拠点ノードが、前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２６】
前記拠点ノードが、障害の発生箇所又は発生している障害の数あるいはその双方に基づいて、データフレームを出力するポートを決定することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２７】
前記拠点ノードが、データフレームのユニキャスト転送、ブロードキャスト転送及びマルチキャスト転送を含む転送方法の種類に基づいて、データフレームを出力するポートを決定することを特徴とする請求項２６に記載の通信システム。
【請求項２８】
前記拠点ノードが、前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２９】
前記拠点ノードが、障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項３０】
前記拠点ノードが、前記拠点ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３１】
前記拠点ノードが、前記拠点ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３２】
前記拠点ノードが、前記拠点ノードに属するポートの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３３】
前記拠点ノードが、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接または１つ以上のノードを介して接続されたホストと前記通信相手の拠点ノードの対応関係を管理するアドレス管理データベースを備えることを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３４】
前記拠点ノードが、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに接続されたルータと前記通信相手の拠点ノードの対応関係を管理するアドレス管理データベースを備えることを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３５】
前記拠点ノードが、ラーニングフレームを送受信することにより、前記アドレス管理データベースを作成することを特徴とする請求項２４に記載の通信システム。
【請求項３６】
前記拠点ノードが、ペイロードに前記拠点ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信し、前記拠点ノードに接続されたルータのノード識別子を相互に通知することにより、前記アドレス管理データベースを作成することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３７】
前記拠点ノードが、送信元の属する前記拠点ノードと宛先の属する前記拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、前記アドレス管理データベースを作成することを特徴とする請求項２４に記載の通信システム。
【請求項３８】
前記ＶＬＡＮ識別子が、送信元が属する前記拠点ノードのノード識別子及び宛先が属する前記拠点ノードのノード識別子を所定の演算を行うことにより計算されることを特徴とする請求項３７に記載の通信システム。
【請求項３９】
前記通信媒体を構成する中継ノードが、拡張タグ付きブロードキャストフレームを用いて、ブロードキャストフレーム及びキープアライブフレームを含むデータフレームをブロードキャスト転送することを特徴とする請求項１から請求項３８に記載の通信システム。
【請求項４０】
通信システムにおいて１つ以上の中継ノードから構成される複数の通信媒体を介して互いに通信を行う拠点となるノードであって、
前記拠点となるノードに属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化部を備えることを特徴とする拠点ノード。
【請求項４１】
前記仮想化部が、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、１つの宛先に対して複数個登録するフォワーディングデータベースを備えることを特徴とする請求項４０に記載の拠点ノード。
【請求項４２】
前記仮想化部が、前記拠点ノードの１つ以上のポートを１つの仮想ポートに対応付けるポートマッピングテーブルと、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録するフォワーディングデータベースとを備えることを特徴とする請求項４０に記載の拠点ノード。
【請求項４３】
少なくとも１つの前記通信媒体を転送されるデータフレームのフレームフォーマットが、他の前記通信媒体を転送されるデータフレームのフレームフォーマットと異なることを特徴とする請求項４０から請求項４２の何れか１項に記載の拠点ノード。
【請求項４４】
フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信することを特徴とする請求項４３に記載の拠点ノード。
【請求項４５】
前記複数の通信媒体と接続するリンクが、イーサネット（Ｒ）、ＡＴＭ、フレームリレー、ＡＤＳＬ、アナログ・ダイヤルアップ回線、ＩＳＤＮ、ＦＴＴＨ、ＣＡＴＶのいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項４０から請求項４４の何れか１項に記載の拠点ノード。
【請求項４６】
キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得することを特徴とする請求項４０から請求項４５の何れか１項に記載の拠点ノード。
【請求項４７】
前記キープアライブフレームに、前記複数の通信媒体を構成する前記中継ノードにおいて未知と認識される宛先アドレスを記載し、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストさせることを特徴とする請求項４６に記載の拠点ノード。
【請求項４８】
前記キープアライブフレームに記載された情報、又は前記キープアライブフレームの到着状態から、あるいはその双方から通信システムの通信状態を取得することを特徴とする請求項４６又は請求項４７に記載の拠点ノード。
【請求項４９】
前記通信システムの通信状態が、障害、通信帯域の変動、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項４６から請求項４８の何れか１項に記載の拠点ノード。
【請求項５０】
ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかのアルゴリズムに基づいて、データフレームを出力するポートを決定することを特徴とする請求項４０から請求項４９の何れか１項に記載の拠点ノード。
【請求項５１】
前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５２】
前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５３】
前記仮想化部が、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手の前記拠点ノードとの対応関係を管理するアドレス管理データベースを備え、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５４】
前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５５】
障害の発生箇所又は発生している障害の数あるいは双方に基づいて、データフレームを出力するポートを決定することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５６】
前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５７】
障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５８】
前記拠点ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５９】
前記拠点ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６０】
前記拠点ノードに属するポートの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６１】
自ノード以外の拠点ノードに直接または１つ以上のノードを介して接続されたホストと前記自ノード以外の拠点ノードの対応関係を管理することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６２】
自ノード以外の拠点ノードに接続されたルータと前記自ノード以外の拠点ノードの対応関係を管理することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６３】
ラーニングフレームを送受信することにより、前記拠点ノードに接続されたホストを相互に通知することを特徴とする請求項４０から請求項４５の何れか１項に記載の拠点ノード。
【請求項６４】
ペイロードに前記拠点ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信することにより、前記拠点ノードに接続されたルータを相互に通知することを特徴とする請求項４８から請求項５２の何れか１項に記載の拠点ノード。
【請求項６５】
送信元ホストの属する前記拠点ノードと宛先ホストの属する前記拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベースを自動的に作成することを特徴とする請求項５３に記載の拠点ノード。
【請求項６６】
通信システムにおいて１つ以上の中継ノードから構成される複数の通信媒体を介して互いに通信を行う拠点となるノード上で実行される通信制御プログラムであって、
前記拠点となるノードに属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化機能を有することを特徴とする通信制御プログラム。
【請求項６７】
ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、フォワーディングデータベースにおいて、１つの宛先に対して複数個登録する機能を有することを特徴とする請求項６６に記載の通信制御プログラム。
【請求項６８】
前記拠点ノードの１つ以上のポートを１つの仮想ポートにポートマッピングテーブルにおいて対応付け、フォワーディングデータベースにおいてある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録する機能を有することを特徴とする請求項６６に記載の通信制御プログラム。
【請求項６９】
フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信する機能を有することを特徴とする請求項６６に記載の通信制御プログラム。
【請求項７０】
キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得する機能を有することを特徴とする請求項６６から請求項６９の何れか１項に記載の通信制御プログラム。
【請求項７１】
前記キープアライブフレームに、前記複数の通信媒体を構成する前記中継ノードにおいて未知と認識される宛先アドレスを記載し、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストさせることを特徴とする請求項７０に記載の通信制御プログラム。
【請求項７２】
前記キープアライブフレームに記載された情報又は前記キープアライブフレームの到着状態から通信システムの通信状態を取得する機能を有することを特徴とする請求項７０又は請求項７１に記載の通信制御プログラム。
【請求項７３】
前記通信システムの通信状態が、障害、通信帯域の変動、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項７０から請求項７２の何れか１項に記載の通信制御プログラム。
【請求項７４】
ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかのアルゴリズムに基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項６６から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７５】
前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７６】
前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７７】
前記仮想化部が、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手の前記拠点ノードとの対応関係をアドレス管理データベースで管理し、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７８】
前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７９】
障害の発生箇所又は発生している障害の数あるいは双方に基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８０】
前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８１】
障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８２】
前記拠点ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８３】
前記拠点ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更し、または前記ポートマッピングテーブルを変更する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８４】
自ノード以外の拠点ノードに直接または１つ以上のノードを介して接続されたホストと前記自ノード以外の拠点ノードの対応関係を管理する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８５】
自ノード以外の拠点ノードに接続されたルータと前記自ノード以外の拠点ノードの対応関係を管理する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８６】
ラーニングフレームを送受信することにより、前記拠点ノードに接続されたホストを相互に通知する機能を有することを特徴とする請求項６６から請求項６９の何れか１項に記載の通信制御プログラム。
【請求項８７】
ペイロードに前記拠点ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信することにより、前記拠点ノードに接続されたルータを相互に通知する機能を有することを特徴とする請求項７２から請求項７５の何れか１項に記載の通信制御プログラム。
【請求項８８】
送信元ホストの属する前記拠点ノードと宛先ホストの属する前記拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベースを自動的に作成する機能を有することを特徴とする請求項７７に記載の通信制御プログラム。
【請求項８９】
通信システムにおいて１つ以上の中継ノードから構成される複数の通信媒体を介して互いに通信を行う機能を有するネットワークインターフェースカードを備えたコンピュータであって、
前記ネットワークインターフェースカードが、前記ネットワークインターフェースカードに属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化部を備えることを特徴とするコンピュータ。
【請求項９０】
前記ネットワークインターフェースカードの前記仮想化部が、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、１つの宛先に対して複数個登録するフォワーディングデータベースを備えることを特徴とする請求項８９に記載のコンピュータ。
【請求項９１】
前記ネットワークインターフェースカードの前記仮想化部が、１つ以上のポートを１つの仮想ポートに対応付けるポートマッピングテーブルと、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録するフォワーディングデータベースとを備えることを特徴とする請求項８９に記載のコンピュータ。
【請求項９２】
前記ネットワークインターフェースカードが、フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信することを特徴とする請求項８９から請求項９１の何れか１項に記載のコンピュータ。
【請求項９３】
前記ネットワークインターフェースカードが、キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得することを特徴とする請求項８９から請求項９２の何れか１項に記載のコンピュータ。
【請求項９４】
前記キープアライブフレームに、前記複数の通信媒体を構成する前記中継ノードにおいて未知と認識される宛先アドレスを記載し、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストさせることを特徴とする請求項９３に記載のコンピュータ。
【請求項９５】
前記キープアライブフレームに記載された情報、又は前記キープアライブフレームの到着状態から、あるいはその双方から通信システムの通信状態を取得することを特徴とする請求項９３又は請求項９４に記載のコンピュータ。
【請求項９６】
前記通信システムの通信状態が、障害、通信帯域の変動、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項９３から請求項９５の何れか１項に記載のコンピュータ。
【請求項９７】
前記ネットワークインターフェースカードが、ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかのアルゴリズムに基づいて、データフレームを出力するポートを決定することを特徴とする請求項８９から請求項９６の何れか１項に記載のコンピュータ。
【請求項９８】
前記ネットワークインターフェースカードが、前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項９９】
前記ネットワークインターフェースカードが、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１００】
前記ネットワークインターフェースカードの前記仮想化部が、通信相手に属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手との対応関係を管理するアドレス管理データベースを備え、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０１】
前記ネットワークインターフェースカードが、前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０２】
前記ネットワークインターフェースカードが、障害の発生箇所又は発生している障害の数あるいは双方に基づいて、データフレームを出力するポートを決定することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０３】
前記ネットワークインターフェースカードが、前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０４】
前記ネットワークインターフェースカードが、障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０５】
前記ネットワークインターフェースカードが、前記ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０６】
前記ネットワークインターフェースカードが、前記ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０７】
前記ネットワークインターフェースカードが、前記ノードに属するポートの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０８】
前記ネットワークインターフェースカードが、自ノード以外のノードに直接または１つ以上のノードを介して接続されたホストと前記自ノード以外のノードの対応関係を管理することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０９】
前記ネットワークインターフェースカードが、自ノード以外のノードに接続されたルータと前記自ノード以外のノードの対応関係を管理することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１１０】
前記ネットワークインターフェースカードが、ラーニングフレームを送受信することにより、前記ノードに接続されたホストを相互に通知することを特徴とする請求項８９から請求項９２の何れか１項に記載のコンピュータ。
【請求項１１１】
前記ネットワークインターフェースカードが、ペイロードに前記ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信することにより、前記ノードに接続されたルータを相互に通知することを特徴とする請求項９５から請求項９９の何れか１項に記載のコンピュータ。
【請求項１１２】
前記ネットワークインターフェースカードが、送信元ホストの属する前記ノードと宛先ホストの属する前記ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベースを自動的に作成することを特徴とする請求項１００に記載のコンピュータ。
【請求項１１３】
前記ネットワークインターフェースカードを複数備え、各ネットワークインターフェースカードが個々の前記通信媒体または任意の数の前記通信媒体と接続されることを特徴とする請求項８９から請求項１１２の何れか１項に記載のコンピュータ。
【発明の詳細な説明】
【技術分野】  本発明は、高信頼化を実現する通信システムに関し、特に、障害を検出していない通常時は、複数の通信経路を用いてデータフレームを送信して、通信帯域を拡大することにより、輻輳を抑制し、障害検出時は、障害を検出していない通信経路のみを用いて通信を続行することを可能とする高い信頼性を有する通信システムに関する。
【背景技術】  近年、コンピュータネットワークは社会のあらゆる分野で導入が進められ、電子メールによる意思伝達やＷｅｂサイトによる情報公開といった通信手段として用いられるだけに止まらず、様々なサービスが提供されるインフラとして、社会の重要な役割を担うようになっている。
コンピュータネットワークが社会にとって欠くことのできない存在となった今、ネットワークを構成する装置の故障、通信ケーブルの切断といった障害や輻輳による通信帯域の低下などによって、通信システムを十分に活用できない事態がユーザーに与える影響は計り知れない。そのため、これらのネットワーク障害の対策が十全に施こされた高い信頼性を有するコンピュータネットワークに対する需要が近年非常に高まっている。
高い信頼性を有するネットワークを実現する手法として、予め複数の通信経路を確保する方法が一般的に用いられている。この手法を用いた場合、障害の発生していない平常時には、データを複数の通信経路に分散させて送信することにより、通信帯域を拡大し、輻輳の生じる可能性を減少させることが可能である。また、障害の発生時には、障害の発生していない通信経路にのみデータを送信することにより、通信を続行することが可能である。
従来、上述の手法を実現する様々な技術が提案されてきた。
例えば、ＩＥＥＥ発行の標準化文書であるＩＥＥＥ８０２．３ａｄ（“Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ”、ＩＥＥＥ８０２．３ａｄ、ＩＥＥＥ、２０００年（文献１））では、リンク・アグリゲーション（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ）と呼ばれる技術を用いて、耐障害性の向上と通信帯域の拡大を実現する方法が開示されている。
このリンク・アグリゲーションでは、隣接する２つのノードを複数のリンクにより接続し、これらの複数のリンクをあたかも単一のリンクと仮想して通信を行い、もしこれらのリンクのいずれかに障害が生じて通信が行えなくなったとしても、障害の生じていない他のリンクを用いて通信を続行することを可能とする。
さらに、障害の生じていない通常時は、複数のリンクを用いてデータフレームを送信することにより、１つのリンクの通信帯域を全リンク数倍に増大させることが可能であり、輻輳の生じにくいネットワークを構築することが可能である。
別の手法として、ＩＥＴＦ発行の標準化文書であるＲＦＣ１７７１（Ｙａｋｏｖ  Ｒｅｋｈｔｅｒ，Ｔｏｎｙ  Ｌｉ著、“Ａ  Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ  ４（ＢＧＰ−４）”、ＲＦＣ１７７１、ＩＥＴＦ、１９９５年（文献２））において開示されているＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）や同様にＩＥＴＦ発行の標準化文書であるＲＦＣ２３２８（Ｊｏｈｎ  Ｍｏｙ著、“ＯＳＰＦ  ｖｅｒｓｉｏｎ  ２”、ＲＦＣ２３２８、ＩＥＴＦ、１９９８年（文献３））において開示されているＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆａｓｔ）といったルーティング・プロトコルを用いる方法が提案されている。
このようなルーティング・プロトコルによれば、通信経路に障害が発生したことを検出すると、新たな通信経路を特定のアルゴリズムにより求め、通信に使用する通信経路を障害の発生した通信経路から新たに求めた通信経路に切り替えることによって、障害が発生しても通信を続行することが可能である。また、予め準備しておいた複数の通信経路にデータを分散させて通信することにより、通信帯域を拡大させることも可能である。
また、ＩＥＴＦ発行の標準化文書であるＲＦＣ１６３１（Ｋｊｅｌｄ  Ｂｏｒｃｈ  Ｅｇｅｖａｎｇ，Ｐａｕｌ  Ｆｒａｎｃｉｓ著、“Ｔｈｅ  ＩＰ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ”、ＲＦＣ１６３１、ＩＥＴＦ、１９９４年（文献４））に開示されているＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ）技術を利用する方法も提案されている。ＮＡＴ技術と障害を検出する手段を組み合わせて用いることにより、複数の通信経路を利用してデータを転送することができる。障害を検出する手段としては、通信を行うノードが相互に監視パケット（例えば、ＰＩＮＧパケット）を送受信し、監視パケットの未着によって障害を検出する方法が主に用いられている。
しかしながら、上述したような従来の方法においては、以下に記載するような問題がある。
１つは、リンク・アグリゲーションによる技術は、互いに隣接する２つのノード間にしか適用できず、多様なトポロジーを有するネットワークには適用できないという問題がある。
例えば、通信を行っている２つのノードの通信経路上に、複数の異なる中継ノードが存在し、互いに隣接するノード間を複数のリンクで接続している場合、リンク・アグリゲーションを適用することによって、各隣接ノード間のリンクに対して、高い信頼性を付与することができる。
しかしながら、隣接ノード間のリンクが高信頼化されたとしても、通信経路上の中継ノードのいずれか１つに故障などの障害が生じただけで、通信を行っている２つのノードは、通信できなくなってしまうという問題がある。
また、リンク・アグリゲーションは互いに隣接する２つのノード間にしか適用できないため、通信を行っている２つのノードが、１つ以上の中継ノードを含む複数の通信経路によって接続されているようなネットワークに対しては適用することができないという問題がある。
次に、ＯＳＰＦやＢＧＰといったルーティング・プロトコルを用いた場合、通信経路上の障害を検出するのに時間がかかるため、障害を検出するまでの間、通信を続行することができないという問題がある。
また、障害が検出されたとしても、障害の生じていない通信経路を新たに求めるのに時間がかかるため、障害の発生した通信経路から障害の発生していない通信経路に切り替えることで通信が再開されるまでの間、通信が中断されるという問題がある。
さらに、ルーティング・プロトコルの設定には、ルーティング・プロトコルに関する詳細かつ高度な知識が必要とされるため、一般のユーザーが設定を行うことは非常に困難であり、設定を誤る可能性が増大し、効率よくネットワークを運用できないという問題もある。
次に、ＮＡＴ技術と組み合わせて用いられる障害検出手法である、通信を行うノードが、宛先に互いの相手ノードを指定した監視パケット（例えば、ＰＩＮＧパケット）を送受信することによって、通信経路上の障害を検出する手法では、相手ノードの数が増大するにしたがって、送信する監視パケットの数が増大するため、障害を検出するための処理の負荷が非常に大きくなるという問題もある。
また、全ての相手ノードの宛先アドレスを設定する必要があり、相手ノードの数が増大するにしたがって、設定する項目の数が増大するため、ネットワークの管理者が設定を誤る可能性が高くなるという問題もある。
【発明の開示】
本発明の目的は、上述したような従来の技術が有する問題を鑑みてなされたものであって、通信を行っている拠点ノード間に複数の通信経路が存在し、各通信経路上に複数の中継ノードが存在するような多様なトポロジーを有するネットワークにおいて、通常時には輻輳の発生を抑制でき、障害発生時でも通信を続行できる、高い信頼性を実現する通信システムを提供することにある。
また、本発明の別の目的は、上述の通信システムにおいて、通信を行っている拠点ノード間の通信経路上の障害を検出するための手段を提供することにある。
また、本発明の別の目的は、設定の簡便な通信システムを提供することにある。
また、本発明の別の目的は、装置に与える負荷の小さい障害検出手段を提供することにある。
上記の目的を達成するために本発明は、通信を行っている複数の拠点ノードが、１つ以上の中継ノードから構成される複数の通信媒体に接続された通信システムにおいて、前記拠点ノードが前記複数の通信媒体を１つのノードと仮想することを特徴とする。
また、本発明は、前記通信システムにおいて、通常時は、複数の通信経路を用いてデータフレームを送信することにより通信帯域を拡大し、障害検出時は、障害の発生していない通信経路のみを用いて通信を続行することを特徴とする。
また、本発明は、前記通信システムにおいて、前記拠点ノードが、キープアライブフレームを相互に送受信し、相手ノードから送信されるキープアライブフレームの到着状態を監視することによって、障害を検出することを特徴とする。
また、本発明は、前記キープアライブフレームが、前記通信媒体を構成する中継ノードにおいて、ブロードキャストと同等の効果を有する宛先アドレスを有することを特徴とする。
【図面の簡単な説明】  図１は、本発明の第１の実施例における通信システムの構成を示す図である。
図２は、第１の実施例における通信システムの他の構成を示す図である。
図３は、第１の実施例による通信システムにおける拠点ノードの構成を示す図である。
図４は、仮想ポート設定テーブルを示す図である。
図５は、フォワーディングデータベースを示す図である。
図６は、通信状態管理データベースを示す図である。
図７は、本発明の第２の実施例による通信システムにおける拠点ノードの構成を示す図である。
図８は、ポートマッピングテーブルを示す図である。
図９は、フォワーディングデータベースを示す図である。
図１０は、本発明の第３の実施例における通信システムの構成を示す図である。
図１１は、第３の実施例における通信システムの他の構成を示す図である。
図１２は、第３の実施例による通信システムにおける拠点ノードの構成を示す図である。
図１３は、アドレス管理データベースを示す図である。
図１４は、本発明の第４の実施例における通信システムの構成を示す図である。
図１５は、第４の実施例による通信システムにおける拠点ノードの構成を示す図である。
図１６は、本発明の第５の実施例による通信システムにおける拠点ノードの構成を示す図である。
図１７は、本発明の第６の実施例による通信システムにおける拠点ノードの構成を示す図である。
図１８は、ポートマッピングテーブルを示す図である。
図１９は、フォワーディングデータベースを示す図である。
図２０は、第６の実施例における通信システムの他の構成を示す図である。
図２１は、本発明の第７の実施例による通信システムにおける拠点ノードの構成を示す図である。
図２２は、第７の実施例による通信システムにおける拠点ノードの他の構成を示す図である。
図２３は、フォワーディングデータベースを示す図である。
図２４は、通信状態管理データベースを示す図である。
図２５は、イーサネット（Ｒ）フレームのフレームフォーマットを示す図である。
図２６は、ＩＰパケットのフレームフォーマットを示す図である。
図２７は、フォワーディングデータベースを示す図である。
図２８は、データグラムにイーサネット（Ｒ）フレームが格納されたＩＰパケットを示す図である。
図２９は、アドレス管理データベースを示す図である。
図３０は、ＶＬＡＮタグが付加されたイーサネット（Ｒ）フレームのフレームフォーマットを示す図である。
図３１は、本発明の第８の実施例による通信システムにおける拠点ノードの構成を示す図である。
図３２は、ＶＬＡＮ識別子設定テーブルを示す図である。
図３３は、ホストのＭＡＣアドレスとイーサネット（Ｒ）フレームを出力する実ポートに対して、拠点ノードに付与されたＩＰアドレスを登録するためのデータベースを示す図である。
図３４は、本発明の第９の実施例による通信システムの構成を示す図である。
【発明を実施するための最良の形態】  （第１の実施例）
本発明の第１の実施例について図面を参照して詳細に説明する。
（通信システムの構成）
図１は、本発明の第１の実施例における通信システムの構成を示している。
図１に示す通信システムは、２つの拠点ノード１００及び拠点ノード１０１と、中継ノード１０２から構成される通信媒体１０６及び中継ノード１０３から構成される通信媒体１０７と、２つのホスト１０４及びホスト１０５を備えて構成される。
ここで、中継ノードは、通信媒体を構成するノードであり、拠点ノードより送信されるデータフレームを中継して所定の宛先に転送する。
また、拠点ノードは、通信媒体に接続されるノードであり、拠点ノードに属するポートのうち、通信媒体の接続されていないポートに、直接または１つ以上のノードを経由して、任意の数のホストが収容されており、ホスト及び通信媒体より送信されるデータフレームを所定の宛先に転送する。図１では、拠点ノード１００、１０１のポート３に直接ホスト１０４、１０５が接続されている。
また、以下の説明においては、その動作に着目している拠点ノードを自ノードと記述し、自ノード以外の拠点ノードを相手ノードと記述する。単にノードと記述した場合は、中継ノードと拠点ノードを含めたノード全般を意味するものとする。
拠点ノード１００、１０１及び中継ノード１０２、１０３は、ある送信元から送信されたイーサネット（Ｒ）のデータフレーム（以下、イーサネット（Ｒ）フレームと記述する）を所定の宛先に転送するイーサネット（Ｒ）スイッチとしての機能を有する。
拠点ノード１００、１０１は、以降において説明する本発明の機能を搭載したネットワークインターフェースカードを備えたコンピュータによって実現することができる。
その場合のコンピュータには、複数のネットワークインターフェースカードが搭載され、各ネットワークインターフェースカードがそれぞれ個々の通信媒体１０６〜１０７に接続される構成であっても良いし、複数の通信インターフェースを備えた単一のネットワークインターフェースカードが搭載され、各通信インターフェースが通信媒体１０６〜１０７に接続される構成であっても良い。
また、複数のネットワークインターフェースカードを搭載する場合、各ネットワークインタフェースカードに任意の数の通信媒体が接続される構成とすることもできる。例えば、２つのネットワークインタフェースカードで、３つの通信媒体の場合、一方のネットワークインタフェースカードに１つの通信媒体を接続し、他方のネットワークインタフェースカードに他の２つの通信媒体を接続するような構成とすることができる。
また、ホスト１０４〜１０５が、本発明の拠点ノード１００〜１０１としての機能を搭載することにより、拠点ノード１００〜１０１を経由することなく、通信媒体１０６及び通信媒体１０７に接続されるような構成であっても良い。
図１の拠点ノード１００のポート１には通信媒体１０６が接続され、ポート２には通信媒体１０７が接続され、ポート３にはホスト１０４が接続されている。
また、拠点ノード１０１のポート１には通信媒体１０６が接続され、ポート２には通信媒体１０７が接続され、ポート３にはホスト１０５が接続されている。
図１の拠点ノード１００〜１０１には、それぞれ１つのホストしか接続されていないが、通信システムの他の構成例である図２に示す拠点ノード２００のように、拠点ノードのポート数を増やすことによって、２つ以上のホストを接続することができる。
また、ホスト１０４またはホスト１０５は、拠点ノード１００または拠点ノード１０１に直接に接続されているが、図２のホスト２０３のように、１つ以上のノードを介して拠点ノード２００に接続されていても良い。
拠点ノードと通信媒体を接続するリンク及び拠点ノードとホストを接続するリンクは、イーサネット（Ｒ）、ＡＴＭ、フレームリレー、ＡＤＳＬ、ＦＴＴＨ、ＩＳＤＮなどのリンクを用いることができる。また、これらのリンクのリンク速度は、リンク毎に異なっていても良い。
図１に示す通信システムでは、２つの通信媒体は、それぞれ１つの中継ノードから構成されているが、図２に示す通信システムのように、２つ以上の中継ノードから構成されていても良い。
（拠点ノードの構成）
図３は、図１の拠点ノード１００の構成を示すブロック図である。
図３に示す拠点ノード１００（拠点ノード１０１についても同じ）は、入力ポート３０１−１〜３と、リンクダウン検出部３０２−１〜３と、フレームタイプ判定部３０３−１〜３と、フレームスイッチ３０４と、フレーム転送部３０５−１〜３と、出力ポート３０６−１〜３と、キープアライブフレーム解析部３０８とフォワーディングデータベース制御部３０９を有するフレーム解析部３０７と、通信状態管理データベース３１０と、フォワーディングデータベース３１１と、仮想ポート設定テーブル３１２と、キープアライブフレーム送信部３１４を有する特殊フレーム送信部３１３と、設定入力インターフェース３１５と、出力ポート決定方式設定部３１６を備えている。
拠点ノード１００の入力ポート３０１−１〜３は、ホスト１０４または中継ノード１０２、１０３から送信されたイーサネット（Ｒ）フレームを受信し、イーサネット（Ｒ）フレームをフレームタイプ判定部３０３−１〜３に転送する。入力ポート３０１−１〜３は、それぞれ拠点ノード１００または拠点ノード１０１のポート１〜３に対応している。
フレームタイプ判定部３０３−１〜３は、イーサネット（Ｒ）フレームがキープアライブフレームである場合は、イーサネット（Ｒ）フレームをキープアライブフレーム解析部３０８に転送し、キープアライブフレームでない場合は、イーサネット（Ｒ）フレームをフォワーディングデータベース解析部３０９とフレームスイッチ３０４に転送する。
フレームスイッチ３０４は、フォワーディングデータベース３１１を参照し、出力ポート決定方式設定部３１６で指定されたアルゴリズムに基づいて、イーサネット（Ｒ）フレームの出力ポートを決定し、フレーム転送部３０５−１〜３にイーサネット（Ｒ）フレームを転送する。
出力ポート決定方式設定部３１６では、フレームスイッチ３０４が出力ポートを決定するためのアルゴリズムが設定される。出力ポート決定方式設定部３１６は、キープアライブフレーム解析部３０８及びリンクダウン検出部３０２−１〜３によって制御される。
フレーム転送部３０５−１〜３は、フレームスイッチ３０４より転送されたイーサネット（Ｒ）フレーム及び特殊フレーム送信部３１３のキープアライブフレーム送信部３１４より転送されたキープアライブフレームを出力ポート３０６−１〜３から送信する。出力ポート３０６−１〜３は、それぞれ拠点ノード１００または拠点ノード１０１のポート１〜３に対応している。
リンクダウン検出部３０２−１〜３は、各ポートのリンクの状態を監視し、リンクの状態に基づいて出力ポート決定方式設定部３１６を制御する。
フォワーディングデータベース３１１では、フレームスイッチ３０４がイーサネット（Ｒ）フレームの出力ポートを決定するための情報（宛先ノード情報及び出力ポート情報）が管理される。
フレーム解析部３０７のフォワーディングデータベース制御部３０９は、受信したイーサネット（Ｒ）フレームの送信元ノード情報と入力ポート情報を、フォワーディングデータベース３１１に登録する。
仮想ポート設定テーブル３１２には、通信媒体に接続されるポートを仮想ポートとして対応付けて設定記憶するテーブルであり、キーボードやＴｅｌｎｅｔなどの設定入力インターフェース３１５を介して設定される。
拠点ノード１００は、仮想ポート設定テーブル３１２に設定された２つのポートを、１つのポートと仮想することによって、仮想ポート設定テーブル３１２に設定された２つのポートに接続された２つの通信媒体を、１つのノードと仮想することができる。
以下では、ノードに物理的に存在するポートを実ポートまたは物理ポートと記述し、仮想ポート設定テーブル３１２で設定された２つの実ポートに対応する１つの仮想的なポートを仮想ポートと記述する。単にポートと記述した場合は、実ポートを指すものとする。
また、仮想ポート設定テーブル３１２に設定されたポートに接続されることによって、１つのノードとして仮想された２つの通信媒体を仮想ノードと記述する。
図４に、拠点ノード１００の仮想ポート設定テーブル３１２の一例を示す。
図４に示す仮想ポート設定テーブル３１２では、ポート１及びポート２が、１つの仮想ポートとして設定されている。これにより、図１の拠点ノード１００は、ポート１及びポート２に接続された２つの通信媒体１０６及び通信媒体１０７を、１つの仮想ポートに接続された１つの仮想ノードとして扱うことができる。
キープアライブフレーム送信部３１４は、仮想ポート設定テーブル３１２に設定されたポートからキープアライブフレームを送信する。
フレーム解析部３０７のキープアライブフレーム解析部３０８は、キープアライブフレームの到着状態やキープアライブフレームに記載された内容により通信状態を監視し、通信状態に基づいて出力ポート決定方式設定部３１６を制御する。
通信状態管理データベース３１０は、キープアライブフレーム解析部３０８によって制御され、キープアライブフレームの到着状態を相手ノード毎に管理する。
（動作の説明）
（イーサネット（Ｒ）フレームの転送の概要）
図１に示す本実施例の通信システムにおいて、ホスト１０４からホスト１０５宛てにイーサネット（Ｒ）フレームを送信する場合の動作について説明する。
ホスト１０４から送信されたホスト１０５宛てのイーサネット（Ｒ）フレームは、拠点ノード１００のポート３で受信される。
拠点ノード１００が、障害を検出していない正常動作時には、拠点ノード１００は、ポート１またはポート２のいずれか一方のポートを、後述するある特定のアルゴリズムを用いて選択し、その選択したポートからイーサネット（Ｒ）フレームを送信する。
拠点ノード１００のポート１から送信された場合は、中継ノード１０２を経由して、拠点ノード１０１のポート１で受信される。また、拠点ノード１００のポート２から送信された場合は、中継ノード１０３を経由して、拠点ノード１０１のポート２で受信される。
拠点ノード１０１は、ポート１またはポート２で受信したイーサネット（Ｒ）フレームをポート３からホスト１０５に送信する。
また、拠点ノード１００が、例えば、ポート１では障害を検出していないが、ポート２で障害を検出した場合は、ホスト１０４から送信されたイーサネット（Ｒ）フレームをポート１からのみ送信することによって、中断することなく通信を続行することができる。
その後、拠点ノード１００のポート２の障害の回復を検出した場合は、再びポート１とポート２のいずれか一方を用いて、イーサネット（Ｒ）フレームを転送する。
（イーサネット（Ｒ）フレームの転送の詳細）
次に、イーサネット（Ｒ）フレームの転送時に参照されるフォワーディングデータベース３１１を作成する手順と通常時にイーサネット（Ｒ）フレームを転送する手順について詳細に説明する。
（フォワーディングデータベースの作成手順）
以降では、フォワーディングデータベース３１１を作成する手順を説明する。
フォワーディングデータベース３１１は、フォワーディングデータベース制御部３０９によって作成され、フレームスイッチ３０４がイーサネット（Ｒ）フレームの出力ポートを決定するために参照される。
拠点ノード１００の入力ポート３０１−１〜３（図１のポート１〜ポート３）で受信されたイーサネット（Ｒ）フレームは、フレームタイプ判定部３０３−１〜３によって、フォワーディングデータベース制御部３０９及びフレームスイッチ３０４に転送される。
フォワーディングデータベース制御部３０９は、フォワーディングデータベース３１１に、受信したイーサネット（Ｒ）フレームの送信元に関する情報が存在しない場合、フォワーディングデータベース３１１の宛先ノード情報（宛先ノード識別子）に、そのイーサネット（Ｒ）フレームの送信元ＭＡＣアドレスを登録し、フォワーディングデータベース３１１の出力ポート情報に、そのイーサネット（Ｒ）フレームの入力ポートを登録する。
本実施例では、２つの実ポートを１つの仮想ポートと仮想するために、フォワーディングデータベース３１１の１つの宛先ノード情報に対して、出力ポート１及び出力ポート２の２つの出力ポート情報を登録することができる。
フォワーディングデータベース３１１に登録するポートが、仮想ポート設定テーブル３１２に設定されているポートである場合、仮想ポート設定テーブル３１２に設定されている２つのポートの一方が出力ポート１に登録され、他方が出力ポート２に登録される。
仮想ポート設定テーブル３１２に設定されている２つのポートが、出力ポート１と出力ポート２のどちらに登録されるかは、出力ポート１と出力ポート２に登録されるポートが、フォワーディングデータベース３１１の宛先ノード情報毎に異なることがないように、予め定めておく。
例えば、図５に示す拠点１００のフォワーディングデータベース３１１を参照して、拠点ノード１００が、ホスト１０５から送信されたイーサネット（Ｒ）フレームをポート２で受信した場合に、フォワーディングデータベース３１１に受信したイーサネット（Ｒ）フレームの送信元に関する情報が存在せず、ホスト１０５に関する情報がフォワーディングデータベース３１１に登録される場合を説明する。
フォワーディングデータベース３１１の宛先ノード情報には、ホスト１０５のＭＡＣアドレスが登録される。
また、イーサネット（Ｒ）フレームの入力ポートであるポート２は、図４に示す拠点１００の仮想ポート設定テーブル３１２に設定されているため、仮想ポート設定テーブル３１２に登録されているポート１とポート２の両方をフォワーディングデータベース３１１の２つの出力ポート情報に登録する。
このとき、図５のフォワーディングデータベース３１１では、出力ポート情報の出力ポート１にはポート１が登録され、出力ポート２にはポート２が登録されるように、予め定めておき、図５のホスト１０５の出力ポート情報にはそのように登録される。
フォワーディングデータベース３１１に登録するポートが、仮想ポート設定テーブル３１２に設定されていない場合は、出力ポート１と出力ポート２の両方に同じポート（図５の例ではポート３）を登録する。
例えば、図５に示す拠点１００のフォワーディングデータベース３１１を参照して、ホスト１０４に関する情報を登録する手順を説明する。
ホスト１０４から送信されるイーサネット（Ｒ）フレームは、図４の仮想ポート設定テーブル３１２に登録されていないポート３で受信されるため、ホスト１０４の出力ポート１と出力ポート２の両方に、ポート３が登録される。
次に、１つの送信元から複数の宛先にイーサネット（Ｒ）フレームが転送されるブロードキャスト転送及びマルチキャスト転送に関する情報をフォワーディングデータベース３１１に登録する場合について説明する。
ブロードキャスト転送及びマルチキャスト転送の出力ポート情報には、複数のポートが登録される点で、ある１つの送信元から１つの宛先にイーサネット（Ｒ）フレームが転送されるユニキャスト転送の場合と異なる。
イーサネット（Ｒ）フレームをブロードキャスト転送またはマルチキャスト転送する場合、イーサネット（Ｒ）フレームがループすることを防止するために、出力ポート情報に登録されているポートのうち、イーサネット（Ｒ）フレームの入力ポート以外のポートからイーサネット（Ｒ）フレームを送信する。
まず、ブロードキャスト転送に関する情報をフォワーディングデータベース３１１に登録する手順を説明する。
フォワーディングデータベース３１１の宛先ノード情報にはブロードキャストＭＡＣアドレスを登録する。
また、フォワーディングデータベース３１１の出力ポート１には、仮想ポート設定テーブル３１２に設定されている２つのポートの一方及び仮想ポート設定テーブル３１２に設定されていない全てのポートを登録する。
フォワーディングデータベース３１１の出力ポート２には、仮想ポート設定テーブル３１２に設定されている２つのポートの他方及び仮想ポート設定テーブル３１２に設定されていない全てのポートが登録される。
次に、マルチキャスト転送に関する情報をフォワーディングデータベース３１１に登録する手順を説明する。
フォワーディングデータベース３１１の宛先ノード情報にはマルチキャストＭＡＣアドレスを登録する。
また、フォワーディングデータベース３１１の出力ポート１には、仮想ポート設定テーブル３１２に設定されている２つのポートの一方及び仮想ポート設定テーブル３１２に設定されていないポートを登録する。
フォワーディングデータベース３１１の出力ポート２には、仮想ポート設定テーブル３１２に設定されている２つのポートの他方及び仮想ポート設定テーブル３１２に設定されていないポートを登録する。
ブロードキャスト転送またはマルチキャスト転送に関する情報をフォワーディングデータベース３１１に登録する場合、仮想ポート設定テーブル３１２に設定されている２つのポートを、出力ポート１と出力ポート２のどちらに登録するかは、前述のユニキャストの場合と同様に、出力ポート１と出力ポート２に登録されるポートが宛先ノード情報毎に異なることがないように、予め定めておく。
なお、本実施例では、ユニキャスト転送及びブロードキャスト転送及びマルチキャスト転送に関する出力ポート情報をフォワーディングデータベース３１１に登録する例を述べたが、フォワーディングデータベース３１１をより高速に参照するために、それぞれの転送方法毎に複数のフォワーディングデータベースを用意しても良い。
（通常時のイーサネット（Ｒ）フレームの転送）
以降では、拠点ノード１００が、通常時（正常動作時）にイーサネット（Ｒ）フレームを転送する手順について説明する。
フレームスイッチ３０４は、フォワーディングデータベース３１１を参照して、フレームタイプ判定部３０３−１〜３から転送されたイーサネット（Ｒ）フレームの宛先ＭＡＣアドレスに関する出力ポート情報（出力ポート１及び出力ポート２）を取得する。
出力ポート情報の取得に失敗した場合は、フォワーディングデータベース３１１のブロードキャスト転送に関する出力ポート情報を参照する。
次に、フレームスイッチ３０４が、イーサネット（Ｒ）フレームの出力ポートを決定する手順について説明する。
フレームスイッチ３０４は、障害を検出していない場合と障害を検出している場合とで、イーサネット（Ｒ）フレームの出力ポートを決定する方法が異なるため、出力ポート決定方式設定部３１６の設定によって、出力ポートの決定方法を変更することができるようになっている。
本実施例では、フレームスイッチ３０４がイーサネット（Ｒ）フレームの出力ポートを決定する方式として、
（１）出力ポート１と出力ポート２のいずれか一方を、特定のアルゴリズムにより選択する、
（２）出力ポート１を選択する、
（３）出力ポート２を選択する、
の３つを定義した場合について説明する。
キープアライブフレーム解析部３０８及びリンクダウン検出部３０２−１〜３は、障害を検出する手順で後述するように、障害を検出していない場合には、出力ポート決定方式設定部３１６に（１）の方式を設定し、障害を検出した場合には、（２）または（３）の方式を設定する。
具体的には、３つの方式に対してそれぞれ異なる数値を割り当て、障害の検出状況に応じて、適当な数値を出力ポート決定方式設定部３１６に設定すれば良い。
本実施例では、上述の（１）、（２）、（３）の方式に対してそれぞれ「１」、「２」、「３」の整数値を割り当て、「１」〜「３」の整数値を出力ポート決定方式設定部３１６に設定することにより、フレームスイッチ３０４が出力ポートを決定する方法を変更できるように構成されているものとする。
以降では、通常時に、フレームスイッチ３０４がイーサネット（Ｒ）フレームを出力するポートを決定する手順を、ユニキャスト転送と、ブロードキャスト転送及びマルチキャスト転送とに分けて説明する。
最初に、通常時に、イーサネット（Ｒ）フレームをユニキャスト転送する手順を説明する。
フレームスイッチ３０４は、障害を検出していない通常時は、前述した（１）の方法で出力ポートを決定する。
出力ポート１と出力ポート２のいずれか一方を選択するアルゴリズムとしては、ラウンドロビンまたは重み付けラウンドロビンなどのアルゴリズムを用いることができる。
重み付けラウンドロビンを用いたときに、各ポートに割り当てられる重みは、拠点ノード１００と通信媒体１０６〜１０７間のリンク速度、通信帯域、遅延などのパラメータに基づいて設定することができる。
また、宛先ＭＡＣアドレス、送信元ＭＡＣアドレスなどのイーサネット（Ｒ）フレームのヘッダ情報、または宛先ＩＰアドレスや送信元ＩＰアドレスなどのＩＰパケットのヘッダ情報といったイーサネット（Ｒ）フレームのペイロードに格納された情報、またはこれらの情報を組み合わせた情報を用いてハッシュを行うことによって、出力ポートを選択する手法を用いても良い。
次に、通常時に、イーサネット（Ｒ）フレームをブロードキャスト転送及びマルチキャスト転送する手順を説明する。
イーサネット（Ｒ）フレームの入力ポートが仮想ポート設定テーブル３１２に設定されている場合、後述する理由により、出力ポート１と出力ポート２のうち、入力ポートが含まれる出力ポート情報を選択する。
これは、仮想ポート設定テーブル３１２に設定されているポートのうち、入力ポート以外のポートにイーサネット（Ｒ）フレームが送信されて、ループが発生するのを防止するためである。
例えば、図５に示す拠点１００のフォワーディングデータベース３１１を参照して、拠点ノード１００がポート１でブロードキャストフレームを受信した場合の動作について説明する。
この場合、フレームスイッチ３０４は、ブロードキャストフレームの入力ポートであるポート１が含まれている出力ポート１を選択し、入力ポート以外の全てのポート（ここでは、ポート３のみ）にブロードキャストフレームを転送する。
イーサネット（Ｒ）フレームの入力ポートが仮想ポート設定テーブル３１２に設定されていない場合は、ユニキャスト転送の場合と同様である。
上述のように、仮想ポートからイーサネット（Ｒ）フレームを送信する場合、仮想ポート設定テーブル３１２に設定された２つのポートにデータフレームを分散させて送信することにより、１つの通信経路にデータフレームが集中して流れることを防止し、輻輳の生じる確率の小さい信頼性の高い通信システムを実現することが可能である。
（障害検出時のイーサネット（Ｒ）フレームの転送）
次に、拠点ノード１００〜１０１が障害を検出する手順と、障害検出時にイーサネット（Ｒ）フレームを転送する手順について説明する。
（キープアライブフレームによる障害検出）
以降では、拠点ノード１００が障害を検出する手順を説明する。
図１の拠点ノード１００〜１０１が相互にキープアライブフレームを送受信することにより、拠点ノード１００〜１０１の故障、または中継ノード１０２〜１０３の故障、または各ノード間のリンクの切断などによって生じる障害を検出する手順を図面を参照して説明する。
拠点ノード１００〜１０１は、通信媒体１０６〜１０７に接続された２つのポートからキープアライブフレームをブロードキャストするとともに、通信媒体１０６〜１０７に接続された２つのポートより、相手ノードから送信されるキープアライブフレームを受信する。
拠点ノード１００〜１０１は、相手ノードから送信されるキープアライブフレームの到着状態をポート毎に監視し、キープアライブフレームが予め設定された特定時間内に到着しなくなったことを検出して、障害の発生を検出する。
また、キープアライブフレームが到着しなくなったポートに、再び予め設定された特定時間内にキープアライブフレームが到着するようになると、拠点ノード１００〜１０１は障害が回復したと判断する。
以降では、キープアライブフレームを送受信することによって、障害を検出する手順を、キープアライブフレームの送信、キープアライブフレームの受信に分けて、説明する。
（キープアライブフレームの送信）
最初に拠点ノード１００がキープアライブフレームを送信する手順を述べる。
拠点ノード１００のキープアライブフレーム送信部３１４は、仮想ポート設定テーブル３１２に設定された２つのポートから、相手ノードに対してキープアライブフレームを繰り返し送信する。
キープアライブフレームを送信する時間間隔（予め設定された特定時間）が小さいほど、障害を短時間で検出することができる。
ここで、キープアライブフレームについて詳細に説明する。
本実施例では、図２５に示すイーサネット（Ｒ）のフレームフォーマットを有するデータフレーム（イーサネット（Ｒ）フレーム２５００）を用いて、キープアライブフレームを実現する場合について説明する。
以下の説明と同様にして、イーサネット（Ｒ）以外のフレームフォーマットを有するデータフレームを用いて、キープアライブフレームを実現することもできる。
キープアライブフレームの宛先ＭＡＣアドレス２５０１には、拠点ノード１００〜１０１がキープアライブフレームとして認識可能で、かつ全ての相手ノードにキープアライブフレームが転送されるように、中継ノード１０２〜１０３においてブロードキャストＭＡＣアドレスと同等の効果を有するＭＡＣアドレスが格納される。
本実施例では、拠点ノードは、拠点ノード１００及び拠点ノード１０１の２つしかなく、キープアライブフレームをブロードキャストすることによる明瞭な効果はないため、キープアライブフレームの宛先ＭＡＣアドレス２５０１に相手ノードのＭＡＣアドレスを格納しても良い。
しかしながら、後述する第３以降の実施例では、複数の拠点ノードが通信媒体に接続されるため、ブロードキャストＭＡＣアドレスと同等の効果を有するＭＡＣアドレスを用いることにより、相手ノード毎にキープアライブフレームを送信しなくても良いという利点が得られる。
キープアライブフレームの宛先ＭＡＣアドレス２５０１の例としては、中継ノード１０２〜１０３がキープアライブフレームをｕｎｋｎｏｗｎユニキャストフレームとして認識するようなＭＡＣアドレスを用いることができる。
以降では、キープアライブフレームの宛先ＭＡＣアドレス２５０１に、中継ノード１０２〜１０３がｕｎｋｎｏｗｎユニキャストフレームとして認識するようなＭＡＣアドレスを用いる場合について説明する。
キープアライブフレームの送信元アドレス２５０２には、キープアライブフレームを送信する、例えば拠点ノード１００のＭＡＣアドレスが格納される。
キープアライブフレームのイーサネット（Ｒ）属性情報２５０３には、キープアライブフレームのデータ長もしくはタイプ値が格納される。
キープアライブフレームのペイロード２５０４には、イーサネット（Ｒ）フレームを作成するのに必要とされる最小のデータ長分の空の情報が格納される。
また、ペイロード２５０４に、キープアライブフレームの送信元ノードの情報や通信状態の情報を格納して、拠点ノード１００と拠点ノード１０１間で通信を行うこともできる。
キープアライブフレームのＦＣＳ２５０５は、所定の計算方法によって計算される値が格納される。
ここで、拠点ノード１００から送信されたキープアライブフレームが、中継ノード１０２または中継ノード１０３を経由して、拠点ノード１０１に転送される場合の動作について図１を参照して説明する。
拠点ノード１００は、仮想ポート設定テーブル３１２に設定されたポート１及びポート２からキープアライブフレームを送信する。キープアライブフレームをポート１で受信した中継ノード１０２及び中継ノード１０３は、キープアライブフレームをｕｎｋｎｏｗｎユニキャストフレームとして認識するため、キープアライブフレームを受信したポート１以外の全てのポート（ポート２）からキープアライブフレームを送信する。中継ノード１０２及び中継ノード１０３によってブロードキャストされたキープアライブフレームは、拠点ノード１０１のポート１及びポート２で受信される。
拠点ノード１０１から送信されるキープアライブフレームが、拠点ノード１００に転送される場合の動作についても同様である。
（キープアライブフレームの受信、通信状態管理データベースの作成）
次に、拠点ノード１００が、通信状態管理データベース３１０により、キープアライブフレームの到着状態を管理する手順を説明する。
以降では、キープアライブフレームの到着状態として、受信状態と未着状態の２つの状態を定義した場合について説明する。
キープアライブフレームを受信してから、予め設定された特定時間が経過するまでの状態を受信状態と定義し、予め設定された特定時間が経過しても、キープアライブフレームを受信しない状態を未着状態と定義する。また、キープアライブフレームを一度も受信したことがない状態も未着状態と定義する。
ある相手ノードから送信されるキープアライブフレームの、あるポートへの到着状態が未着状態になった場合、キープアライブフレーム解析部３０８は、その相手ノードの故障、またはその相手ノードと未着状態になったポート間の通信経路上にある中継ノードの故障、または各ノード間のリンクの切断などによる障害が発生したと判断する。
上述の特定時間は、キープアライブフレームの送信間隔やキープアライブフレームの伝搬時間が遅延などの影響により変動することを考慮して設定すると良い。
拠点ノード１００の入力ポート３０１−１〜３で受信されたキープアライブフレームは、フレームタイプ判定部３０３−１〜３によって、キープアライブフレーム解析部３０８に転送される。
キープアライブフレームを仮想ポート設定テーブル３１２に設定されていないポートで受信したとき、仮想ポート設定テーブル３１２を設定入力インターフェース３１５により手動設定するような場合は、キープアライブフレーム解析部３０８は、キープアライブフレームを廃棄する。
仮想ポート設定テーブル３１２を自動設定するような場合は、キープアライブフレーム解析部３０８は、キープアライブフレームの入力ポートを、仮想ポート設定テーブル３１２に自動的に登録する。
後者の場合、図１の拠点ノード１００と拠点ノード１０１のどちらか一方の仮想ポート設定テーブルを設定するだけで、他方の仮想ポート設定テーブルを設定することができるため、ネットワーク管理者が設定を誤る確率を軽減することができるという利点がある。
キープアライブフレーム解析部３０８は、後述する通信状態管理データベース３１０に、受信したキープアライブフレームの送信元ノード情報（例えば、相手ノードとなる拠点ノードの識別子であるＭＡＣアドレス）を登録するとともに、入力ポートへのキープアライブフレームの到着状態の監視を始める。
そのノードに関する情報が既に通信状態管理データベース３１０に存在する場合は内容を更新し、キープアライブフレームの到着状態を監視する。
通信状態管理データベース３１０は、仮想ポート設定テーブル３１２に設定されている全てのポートへのキープアライブフレームの到着状態を、キープアライブフレームの送信元ノード（相手ノード）毎に管理するためのデータベースである。
図６に、拠点ノード１００の通信状態管理データベース３１０の一例を示す。
通信状態管理データベース３１０には、送信元ノード情報（例えば、相手ノードとなる拠点ノードの識別子であるＭＡＣアドレス）に対応して、ポートの到着状態を示す情報として「受信状態」又は「未着状態」が設定されている。
図６に示す通信状態管理データベース３１０に登録されている送信元ノード（拠点ノード１０１）情報に対するポートの到着状態を示す情報において、ポート１が「受信状態」であるのは、ポート１が拠点ノード１０１から送信されたキープアライブフレームの受信後、ある特定時間が経過するまでの状態にあることを表している。
また、ポート２が「未着状態」にあるのは、ポート２が拠点ノード１０１から送信されるキープアライブフレームを受信したことがない、または、キープアライブフレームの受信後、ある特定時間が経過しても、拠点ノード１０１から送信されるキープアライブフレームを受信しなかったことを表している。
通信状態管理データベース３１０において、ある拠点ノードに関する情報（送信元ノード情報）に対するポートの到着状態を示す情報が、全て未着状態になった場合、キープアライブフレーム解析部３０８は、その拠点ノードが通信システムから切り離されたと判断して、その拠点ノードに関する情報を通信状態管理データベース３１０から削除した後、その拠点ノードから送信されるキープアライブフレームの到着状態の監視を止める。
以上のように、相手ノードから送信されるキープアライブフレームの到着状態を監視することにより、障害を検出することができる。
（キープアライブフレーム未着時の転送）
次に、キープアライブフレーム解析部３０８が、キープアライブフレームの未着状態を検出した場合に、イーサネット（Ｒ）フレームを転送する手順を説明する。
通信状態管理データベース３１０において、ある相手ノードから送信されるキープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定されている２つのポートの一方で未着状態となり、他方で受信状態となった場合、フレームスイッチ３０４が、フォワーディングデータベース３１１の２つの出力ポート情報のうち、受信状態のポートが登録されている出力ポート情報を用いてイーサネット（Ｒ）フレームの転送を行うように、キープアライブフレーム解析部３０８は、出力ポート決定方式設定部３１６の値を「２」（出力ポート１を選択）または「３」（出力ポート２を選択）に変更する。
例えば、図６に示す通信状態管理データベース３１０では、拠点ノード１０１ら送信されるキープアライブフレームの到着状態は、ポート１で受信状態、ポート２で未着状態となっている。
したがって、フレームスイッチ３０４が、図５のフォワーディングデータベース３１１で、ポート１が登録されている出力ポート１を用いて、イーサネット（Ｒ）フレームの転送を行うように、キープアライブフレーム解析部３０８は、出力ポート決定方式設定部３１６の値を「２」に変更する。
通信状態管理データベース３１０において、ある相手ノードから送信されるキープアライブフレームの到着状態が、すべてのポートで再び受信状態になった場合、フレームスイッチ３０４が、フォワーディングデータベース３１１の出力ポート１と出力ポート２のいずれか一方を、ある特定のアルゴリズムにより選択して転送を行うように、キープアライブフレーム解析部３０８は、出力ポート決定方式設定部３１６の値を「１」に変更する。
通信状態管理データベース３１０において、ある相手ノードから送信されるキープアライブフレームの到着状態がすべてのポートで未着状態になった場合、通常時と同様に、フォワーディングデータベース３１１の出力ポート１と出力ポート２のいずれか一方を特定のアルゴリズムにより選択して転送を行うように、キープアライブフレーム解析部３０８は、出力ポート決定方式設定部３１６の値を「１」に変更する。
または、フォワーディングデータベース３１１の出力ポート情報に仮想ポート設定テーブル３１２に設定されたポートが登録されているエントリの出力ポート１及び出力ポート２の両方に、イーサネット（Ｒ）フレームが廃棄されるような特別なポート番号を登録しても良い。
または、フォワーディングデータベース３１１の出力ポート情報に仮想ポート設定テーブル３１２に設定されたポートが登録されているエントリを削除しても良い。
上述したように、キープアライブフレームの到着状態により障害を検出し、出力ポート決定方式設定部３１６を変更することにより、障害を検出していない通信経路のみを用いて通信を続行することが可能である。
以上説明したのとは別に、以下に述べる方法を用いて、通信を続行することもできる。
通信状態管理データベース３１０において、ある相手ノードから送信されるキープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定されている２つのポートのうち、一方で未着状態になり、他方で受信状態になった場合、キープアライブフレーム解析部３０８は、フォワーディングデータベース３１１の出力ポート情報に登録されている未着状態のポートを受信状態のポートに変換する。
例えば、図６の通信状態管理データベース３１０に示すように、拠点ノード１０１から送信されるキープアライブフレームの到着状態が、ポート１で受信状態、ポート２で未着状態になった場合の動作について説明する。
キープアライブフレーム解析部３０８は、図５のフォワーディングデータベース３１１において、拠点ノード１０１のＭＡＣアドレス及びホスト１０５のＭＡＣアドレス及びブロードキャストＭＡＣアドレス及びマルチキャストＭＡＣアドレスの出力ポート２に登録されているポート２をポート１に変換する。
このとき、キープアライブフレーム解析部３０８は、出力ポート決定方式設定部３１６の値を変更せず、その値を「１」（出力ポート１〜２のいずれかをある特定のアルゴリズムにより決定）のままにしておく。
以上のように、フォワーディングデータベース３１１の内容を変更することにより、フレームスイッチ３０４が出力ポート１と出力ポート２のいずれを選択しても、障害の検出されたポート１が出力ポートとして選択されることはないため、拠点ノード１００は障害の検出されていないポート２のみを用いて通信を続行することが可能である。
通信状態管理データベース３１０において、ある相手ノードから送信されるキープアライブフレームの到着状態が、すべてのポートで再び受信状態になった場合は、フォワーディングデータベース３１１の置換されたポートを未着状態から受信状態になったポートに変換して、フォワーディングデータベース３１１を通常時の元の状態に戻せば良い。
通信状態管理データベース３１０において、ある相手ノードから送信されるキープアライブフレームの到着状態が、すべてのポートで未着状態になった場合は、前述の出力ポート決定方式設定部３１６を変更する方法と同様にすれば良い。
上述したように、キープアライブフレームの到着状態を検出し、フォワーディングデータベース３１１を変更することにより、障害を検出していない通信経路を用いて、通信を続行することができる。
（リンクダウン検出時の転送）
次に、リンクダウン検出部３０２−１〜３が、ポートのリンクダウンを検出した場合の動作について説明する。
リンクダウン検出部３０２−１〜３は、仮想ポート設定テーブル３１２に設定された２つのポートでリンクダウンを検出すると、キープアライブフレームが未着状態になった時と同様に、フレームスイッチ３０４が、フォワーディングデータベース３１１の２つの出力ポート情報のうち、リンクダウンしたポートが含まれない出力ポート情報を用いて、イーサネット（Ｒ）フレームの転送を行うように、出力ポート決定方式設定部３１６の値を「２」（出力ポート１を選択）または「３」（出力ポート２を選択）に変更する。
リンクダウン検出部３０２−１〜３は、仮想ポート設定テーブル３１２に設定された全てのポートでリンクダウンを検出した場合、フォワーディングデータベース３１１の出力ポート１と出力ポート２のいずれか一方を特定のアルゴリズムにより選択して転送を行うように、出力ポート決定方式設定部３１６の値を「１」に変更する。
または、仮想ポート設定テーブル３１２に設定されたポートを用いて通信を行うことはできないため、フレームスイッチ３０４は、出力ポートが仮想ポート設定テーブル３１２に設定されているポートであるイーサネット（Ｒ）フレームを廃棄しても良い。
または、フォワーディングデータベース３１１の出力ポート情報に仮想ポート設定テーブル３１２に設定されたポートが登録されているエントリを削除しても良い。
以上述べたのとは別に、キープアライブフレーム未着時のイーサネット（Ｒ）フレームの転送方法と同様に、出力ポート決定方式設定部３１６の値を「１」にしておき、フォワーディングデータベース３１１の未着状態になったポートを受信状態のポートに変換して、受信状態のポートが出力ポートとして選択されるようにすることにより、障害の検出していないポートのみを用いて通信を続行することもできる。
ポートがリンクダウンした場合、キープアライブフレーム解析部３０８がキープアライブフレームの未着により障害を検出するため、リンクダウン検出部３０２−１〜３は必ずしも必要というわけではない。
しかしながら、キープアライブフレーム解析部３０８が、キープアライブフレームの未着状態を認識するまでには、ある程度の時間が必要とされるが、リンクダウン検出部３０２−１〜３は、ポートのリンクダウンを検出してすぐに対応できるという利点がある。
第１の実施例では、拠点ノード１００は２つの通信媒体１０６〜１０７に接続されているが、フォワーディングデータベース３１１に登録できる出力ポート情報の数を増大し、出力ポート決定方式設定部３１６が指定できるアルゴリズムを増大することにより、拠点ノード１００が３つ以上の通信媒体に接続された通信システムにも適用することができる。
例えば、２つの拠点ノードが３つの通信媒体に接続された通信システムの場合について説明する。
この場合、フォワーディングデータベースが出力ポート１及び出力ポート２及び出力ポート３の３つの出力ポート情報を登録でき、出力ポート決定方式設定部が、障害が発生している状況によって、以下に示すような７個のアルゴリズムを指定できれば良い。
（１）出力ポート１〜３のいずれか１つを、ある特定のアルゴリズムにより選択する。
（２）出力ポート１または出力ポート２のいずれか一方を、ある特定のアルゴリズムにより選択する。
（３）出力ポート２または出力ポート３のいずれか一方を、ある特定のアルゴリズムにより選択する。
（４）出力ポート３または出力ポート１のいずれか一方を、ある特定のアルゴリズムにより選択する。
（５）出力ポート１を選択する。
（６）出力ポート２を選択する。
（７）出力ポート３を選択する。
以上のように、拠点ノードが接続される通信媒体の数が増えた場合に対しても、本実施例で用いられている手法を適用することができる。
（第２の実施例）
本発明の第２の実施例について図面を参照して詳細に説明する。
第２の実施例では、ポートマッピングテーブルを用いて、高い信頼性を有する通信システムを提供する方法を述べる。
（通信システムの構成）
第２の実施例における通信システムの構成は、図１に示した第１の実施例における通信システムの構成と同一であるため、説明を省略する。
（拠点ノードの構成）
図７は、第２の実施例による拠点ノード１００〜１０１の構成を示すブロック図である。
第２の実施例における拠点ノード１００（拠点ノード１０１についても同様）の構成は、拠点ノード１００がポートマッピングテーブル７０１とポート変換部７０２を備える点で、第１の実施例と異なる。
ポートマッピングテーブル７０１は、仮想ポート設定テーブル３１２で設定された仮想ポートに、当該仮想ポートを一意に識別するための情報であるポート番号を割り当てることにより、拠点ノード１００が仮想ポートを実ポートと同様に処理することを可能にする。
図８に、拠点ノード１００のポートマッピングテーブル７０１の一例を示す。
図８のポートマッピングテーブル７０１では、図４の仮想ポート設定テーブル３１２でポート１とポート２が登録された仮想ポートに、ポート番号としてのポート１１が割り当てられている。拠点ノード１００は、ポート１１を指定することによって、仮想ポートを指定することができる。
ポート変換部７０２は、フォワーディングデータベース７００の出力ポート情報に含まれる仮想ポートを、ポートマッピングテーブル７０１で仮想ポートに登録されている２つのポートのうち、いずれか１つのポートに変換する。
また、第２の実施例は、リンクダウン検出部３０２−１〜３が、ポートマッピングテーブル７０１を制御する点と、キープアライブフレーム解析部３０８が、ポートマッピングテーブル７０１を制御する点で、第１の実施例と異なる。
（動作の説明）
以降では、ホスト１０４からホスト１０５宛てにイーサネット（Ｒ）フレームを送信する場合の動作について説明する。
第２の実施例において、図１の拠点ノード１００が、ホスト１０４から送信されたホスト１０５宛てのイーサネット（Ｒ）フレームを転送する場合の動作は、第１の実施例における動作と基本的に同一であるため、相違点のみを以下に述べる。
（フォワーディングデータベースの作成）
まず、フォワーディングデータベース７００を作成する手順について説明する。
第２の実施例では、フォワーディングデータベース７００は、１つの宛先ノード情報に対して、１つの出力ポート情報を有し、ポートマッピングテーブル７０１で仮想ポートに割り当てられたポート番号を、フォワーディングデータベース７００の出力ポート情報に登録する。
図９に、拠点ノード１００のフォワーディングデータベース７００の一例を示す。
例えば、図９を参照して、ホスト１０４及びホスト１０５に関する情報をフォワーディングデータベース７００に登録する場合の動作について説明する。
拠点ノード１００の仮想ポートには、図４の仮想ポート設定テーブル３１２に示すようにポート１とポート２が設定されているとする。
また、仮想ポートには、図８のポートマッピングテーブル７０１に示すように、ポート番号１１が割り当てられているとする。
拠点ノード１００が、ホスト１０４から送信されたイーサネット（Ｒ）フレームをポート３で受信した場合、フォワーディングデータベース７００の宛先ノード情報にホスト１０４のＭＡＣアドレスが登録され、出力ポート情報にポート３が登録される。
拠点ノード１００が、ホスト１０５から送信されたイーサネット（Ｒ）フレームをポート１で受信した場合、フォワーディングデータベース７００の宛先ノード情報には、ホスト１０５のＭＡＣアドレスが登録される。
また、イーサネット（Ｒ）フレームの入力ポートであるポート１は、仮想ポート設定テーブル３１２の仮想ポートに設定されているため、図８のポートマッピングテーブル７０１で仮想ポートに割り当てられているポート１１に変換されて、フォワーディングデータベース７００の出力ポート情報に登録される。
（通常時のイーサネット（Ｒ）フレームの転送）
以降では、通常時に、イーサネット（Ｒ）フレームを転送する手順を説明する。
フレームスイッチ３０４は、フォワーディングデータベース７００を参照して、イーサネット（Ｒ）フレームの宛先ＭＡＣアドレスに関する出力ポート情報を取得する。
出力ポート情報の取得に失敗した場合は、フォワーディングデータベース７００のブロードキャスト転送に関する出力ポート情報を取得する。
以下、ユニキャスト転送と、ブロードキャスト転送及びマルチキャスト転送に分けて、イーサネット（Ｒ）フレームを転送する手順を述べる。
最初に、イーサネット（Ｒ）フレームをユニキャスト転送する場合について説明する。
フォワーディングデータベース７００を参照して取得した出力ポート情報に登録されているポートが仮想ポートである場合、フレームスイッチ３０４は、ポート変換部７０２によって仮想ポートをポートマッピングテーブル７０１に登録されている実ポートの１つに変換し、変換された実ポートからイーサネット（Ｒ）フレームを送信する。
ポート変換部７０２が、ポートマッピングテーブル７０１に登録された実ポートから、１つの実ポートを選択するアルゴリズムとしては、第１の実施例において、フレームスイッチ３０４が、フォワーディングデータベース７００の出力ポート１と出力ポート２のいずれか一方を選択する場合に用いたアルゴリズムを用いることができる。
フォワーディングデータベース７００の出力ポート情報に登録されたポートが仮想ポートでない場合は、そのポートからイーサネット（Ｒ）フレームを送信する。
例えば、図８及び図９を参照して、拠点ノード１００がホスト１０５宛てのイーサネット（Ｒ）フレームを転送する場合の動作について説明する。
フレームスイッチ３０４は、図９のフォワーディングデータベース７００を参照して、出力ポートとしてポート１１を取得する。ポート１１は仮想ポートであるため、図８のポートマッピングテーブル７０１を参照して、仮想ポート（ポート１１）に登録された実ポート（ポート１及びポート２）を取得する。フレームスイッチ３０４は、ある特定のアルゴリズムにより、ポート１とポート２のいずれかを出力ポートとして選択し、選択したポートからイーサネット（Ｒ）フレームを送信する。
次に、イーサネット（Ｒ）フレームをブロードキャスト転送またはマルチキャスト転送する場合について説明する。
フレームスイッチ３０４は、フォワーディングデータベース７００の出力ポート情報に登録されているポートに、イーサネット（Ｒ）フレームの入力ポートが含まれる場合、ループの発生を防止するため、出力ポート情報からそのポートを削除する。
ただし、イーサネット（Ｒ）フレームの入力ポートが、ポートマッピングテーブル７０１に登録されているポートである場合、入力ポートを仮想ポートに変換した上で、上述の処理を行う。
フレームスイッチ３０４は、フォワーディングデータベース７００の出力ポート情報に登録されているポートに、仮想ポートが含まれる場合は、ポート変換部７０２によって仮想ポートを１つの実ポートに変換した上で、出力ポート情報に登録されている全てのポートからイーサネット（Ｒ）フレームを送信する。
以上で述べたように、ポートマッピングテーブル７０１で仮想ポートに割り当てられたポート番号を、フォワーディングデータベース７００の出力ポート情報に登録することによって、仮想ポート設定テーブル３１２で仮想ポートに登録された１つ以上の実ポートから、イーサネット（Ｒ）フレームを転送することができる。
（障害検出時のイーサネット（Ｒ）フレームの転送）
以降では、拠点ノード１００が、障害を検出した場合に、イーサネット（Ｒ）フレームを転送する手順について説明する。
（キープアライブフレームによる障害検出）
本実施例において、拠点ノード１００がキープアライブフレームを送受信することにより障害を検出する手順は、第１の実施例と同一であるため、説明を省略する。
（キープアライブフレーム未着時のイーサネット（Ｒ）フレームの転送）
次に、キープアライブフレームの到着状態が未着状態になった場合の動作について説明する。
キープアライブフレーム解析部３０８は、キープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定されている２つのポートの一方で未着状態となり、他方で受信状態となった場合、ポートマッピングテーブル７０１から未着状態になったポートを削除する。
例えば、図８に示す拠点ノード１００のポートマッピングテーブル７０１を参照して、拠点ノード１０１から送信されるキープアライブフレームの到着状態が、拠点ノード１００のポート２で未着状態になった場合の動作について説明する。
このとき、キープアライブフレーム解析部３０８は、ポートマッピングテーブル７０１からポート２を削除する。したがって、ポートマッピングテーブル７０１には、ポート１だけが登録される。
キープアライブフレームの到着状態が未着状態にあったポートが、キープアライブフレームを受信して受信状態になった場合、キープアライブフレーム解析部３０８は、ポートマッピングテーブル７０１に受信状態になったポートを追加する。
キープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定された全てのポートで、未着状態になった場合、通常時と同様に、仮想ポート設定テーブル３１２に設定されている全てのポートをポートマッピングテーブル７０１に設定する。
または、イーサネット（Ｒ）フレームが廃棄されるような特別なポート番号を、ポートマッピングテーブル７０１に設定しても良い。
以上のように、拠点ノード１００は、ポートマッピングテーブル７０１に障害を検出していないポートのみを登録することにより、通信を続行することができる。
（リンクダウン検出時のイーサネット（Ｒ）フレームの転送）
以下では、拠点ノード１００が、リンクダウンを検出した場合の動作について説明する。
リンクダウン検出部３０２−１〜３が、ポートのリンクダウンを検出した場合は、キープアライブフレームが未着状態になった場合と同様に、ポートマッピングテーブル７０１からリンクダウンしたポートを削除する。
ポートのリンクの状態を監視することにより、キープアライブフレーム解析部３０８がキープアライブフレームの未着状態を認識するよりも迅速に、ポートマッピングテーブル７０１を変更することが可能である。
上述のように、ポートマッピングテーブル７０１により仮想ポートにポート番号を割り当て、フォワーディングデータベース７００の出力ポート情報に仮想ポートのポート番号を登録する方法を用いることによって、第１の実施例と同様に、高い信頼性を有する通信システムを提供することができる。
（第３の実施例）
本発明の第３の実施例について図面を参照して詳細に説明する。
第３の実施例では、３つ以上の拠点ノードが通信媒体に接続されるような通信システムにおいて、高い信頼性を実現する方法を説明する。
（通信システムの構成）
図１０は、第３の実施例における通信システムの構成を示している。
第３の実施例における通信システムの構成は、３つの拠点ノード１００、１０１、１０００が、２つの通信媒体１０６及び通信媒体１０７に接続されている点で、第１及び第２の実施例と異なる。拠点ノード１０００は、ポート１で中継ノード１０２と、ポート２で中継ノード１０３と、ポート１でホスト１００１と接続されている。
図１０に示す通信システムでは、３つの拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００が、通信媒体１０６〜１０７に接続されているが、２つ以上の任意の数の拠点ノードが通信媒体１０６〜１０７に接続されているような通信システムであっても良い。
また、図１０に示す通信システムでは、通信媒体１０６〜１０７は１つの中継ノードから構成されるが、図１１に示す通信システムのように、複数の中継ノードから構成されていても良い。
（拠点ノードの構成）
図１２は、第３の実施例による拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００の構成を示すブロック図である。
第３の実施例における拠点ノード１００（拠点ノード１０１、１０００についても同様）の構成は、アドレス管理データベース１２００を備える点で、第２の実施例の構成と異なる。
アドレス管理データベース１２００は、相手ノードに属するポートのうち、通信媒体１０６〜１０７に接続されていないポートに、直接もしくは１つ以上のノードを介して接続されている全てのホストと相手ノードの対応関係を管理する。
本実施例では、アドレス管理データベース１２００は、キーボードやＴｅｌｎｅｔなどの設定入力インターフェース３１５を用いることにより手動で設定される。
図１３に、拠点ノード１００のアドレス管理データベース１２００の一例を示す。ここでは、拠点ノード１００の相手ノード情報としての拠点ノード１０１のＭＡＣアドレスと拠点ノード１０００のＭＡＣアドレスに対応して、それぞれホスト１０５とホスト１０００のノード識別子であるＭＡＣアドレスが設定されている。
図１３のアドレス管理データベース１２００から、拠点ノード１０１にホスト１０５が接続され、拠点ノード１０００にホスト１００１が接続されていることが分かる。
また、第３の実施例は、キープアライブフレーム解析部３０８が、フォワーディングデータベース１２０１を制御する点で、第２の実施例と異なる。
（動作の説明）
以降では、ホスト１０４からホスト１０５にイーサネット（Ｒ）フレームを転送する手順を説明する。
（通常時のイーサネット（Ｒ）フレームの転送）
第３の実施例において、拠点ノード１００が、通常時に、ホスト１０４から送信されたホスト１０５宛てのイーサネット（Ｒ）フレームを転送する手順は、第２の実施例と同一であるため、説明を省略する。
（障害検出時のイーサネット（Ｒ）フレームの転送）
以降では、拠点ノード１００が、障害を検出した場合に、ホスト１０４から送信されたホスト１０５宛てのイーサネット（Ｒ）フレームを転送する場合の動作について説明する。
第３の実施例において、キープアライブフレームの送受信によって障害を検出する手順は、第１の実施例と同一であるため、説明を省略する。
（キープアライブフレーム未着時のイーサネット（Ｒ）フレームの転送）
次に、キープアライブフレームの到着状態が未着状態になった場合の動作について説明する。
通信状態管理データベース３１０において、キープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定されている２つのポートの一方で未着状態となり、他方で受信状態となった場合、キープアライブフレーム解析部３０８は、後述するフォワーディングデータベース１２０１の出力ポート情報に登録されている仮想ポートを、受信状態にある実ポートに変換する。
上述の変換処理は、未着状態になったキープアライブフレームの送信元ノードに接続された全てのホストの通信に関係するフォワーディングデータベース１２０１の情報に対してのみ行う必要がある。
具体的には、キープアライブフレームが未着状態となった送信元ノードの出力ポート情報と、アドレス管理データベース１２００によりその送信元ノードに関連付けられたホストに関する出力ポート情報と、ブロードキャスト転送に関する出力ポート情報と、マルチキャスト転送に関する出力ポート情報に対して、上述の処理を行う。
例えば、図２３に示す拠点ノード１００のフォワーディングデータベース１２０１を参照して、拠点ノード１０１から送信されるキープアライブフレームが、ポート１で受信状態、ポート２で未着状態になった場合について説明する。
拠点ノード１００のキープアライブフレーム解析部３０８は、図２３のフォワーディングデータベース１２０１において、拠点ノード１０１の出力ポート情報に登録されている仮想ポートのポート１１を、受信状態にあるポート１に変換する。
また、フォワーディングデータベース１２０１の出力ポート情報のうち、拠点ノード１００のアドレス管理データベース１２００によって拠点ノード１０１に関連付けられているホスト１０５及びブロードキャストＭＡＣアドレス及びマルチキャストＭＡＣアドレスに対応する出力ポート情報についても、上記と同様の処理を行う。
ある相手ノードから送信されるキープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定されている２つのポートの一方で未着状態、他方で受信状態にあった場合から、両方のポートで受信状態になった場合、キープアライブフレーム解析部３０８は、フォワーディングデータベース１２０１の出力ポート情報に登録されているポートのうち、仮想ポート設定テーブル３１２に設定されているポートを、仮想ポートとして変換する。
前述した例で、拠点１０１から送信されるキープアライブフレームが、拠点ノード１００のポート２で再び受信されるようになった場合、拠点１００は、フォワーディングデータベース１２０１の拠点ノード１０１の出力ポート情報に登録したポート１を仮想ポートのポート１１に変換する。
ある相手ノードから送信されるキープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定された全てのポートで未着状態になった場合、キープアライブフレーム解析部３０８は、前述したように、通信状態管理データベース３１０からその相手ノードに関する情報を削除し、その相手ノードから送信されるキープアライブフレームの到着状態の監視を止める。
または、フォワーディングデータベース１２０１の出力ポート情報に登録されているポートのうち、仮想ポート設定テーブル３１２に設定されているポートを、仮想ポートに変換しても良い。
または、イーサネット（Ｒ）フレームが廃棄されるような特別なポート番号に変換しても良い。
なお、上述の状態は、後述する多重リンク障害の条件を満足するが、多重リンク障害検出時の動作の説明で述べるように、多重リンク障害とは見なさないものとする。
上述したように、相手ノードから送信されるキープアライブフレームの未着によって障害を検出し、フォワーディングデータベース１２０１の出力ポート情報に登録された仮想ポートを障害の検出していないポートに変換することにより、障害を検出していない通信経路を用いて通信を続行することができる。
（リンクダウン検出時のイーサネット（Ｒ）フレームの転送）
第３の実施例において、リンクダウン検出部３０２−１〜３がポートのリンクダウンを検出した場合の動作については、第２の実施例と同一であるため、説明を省略する。
（多重リンク障害検出時のブロードキャスト転送及びマルチキャスト転送）
以降では、キープアライブフレーム解析部３０８が、後述する多重リンク障害を検出した場合の動作について説明する。
多重リンク障害は、通信状態管理データベース３１０において、仮想ポート設定テーブル３１２に設定された全てのポートで、任意の相手ノードのキープアライブフレームが未着状態となった状態として定義する。
例えば、図２４に示す拠点ノード１００の通信状態管理データベース２４００を参照して、多重リンク障害の検出について説明する。
図２４に示す通信状態管理データベース２４００では、ポート１で拠点ノード１０００のキープアライブフレームが未着状態となっており、ポート２で拠点ノード１０１のキープアライブフレームが未着状態となっている。
拠点ノード１００は、図４に示す仮想ポート設定テーブル３１２に設定された全てのポート（ポート１及びポート２）で、キープアライブフレームの未着状態を検出するため、多重リンク障害が発生していると判断する。
ある相手ノードから送信されるキープアライブフレームの到着状態が、仮想ポート設定テーブル３１２に設定されている全てのポートで未着状態になった場合は、多重リンク障害の条件を満足するが、この相手ノードに関する情報は、キープアライブフレーム解析部３０８によって、すぐに通信状態管理データベース３１０から削除されて、多重リンク障害の条件を満足しなくなるため、多重リンク障害とは見なさないものとする。
多重リンク障害が発生した場合、以下に述べるような問題が生じる。
ここでは、図１０の拠点ノード１０１と中継ノード１０３間のリンク及び拠点ノード１０００と中継ノード１０２間のリンクが切断されて、拠点ノード１００が、図２４の通信状態管理データベース２４００に示すような多重リンク障害を検出した場合について説明する。
このとき、拠点ノード１００が、ホスト１０４から送信されたブロードキャストフレームをポート３で受信してブロードキャスト転送する場合、図４の仮想ポート設定テーブル３１２に設定されているポート１とポート２のどちらか一方だけにブロードキャストフレームを送信すると、拠点ノード１０１と拠点ノード１０００のどちらか一方にしかブロードキャストフレームを転送することができないという問題が生じる。
また、あるマルチキャストＭＡＣアドレスの出力ポート情報に、仮想ポートまたは仮想ポート設定テーブル３１２に設定されているポートが含まれている場合も、ブロードキャストフレームの転送と同様の問題が生じる。
上述の問題を解決するために、多重リンク障害を検出した場合は、仮想ポート設定テーブル３１２に設定されている全てのポートから、ブロードキャストフレームまたはマルチキャストフレームを送信する必要がある。
したがって、キープアライブフレーム解析部３０８は、多重リンク障害を検出した場合、フォワーディングデータベース１２０１のブロードキャスト転送に関する出力ポート情報に、仮想ポート設定テーブル３１２に設定されている全てのポートを追加する。
また、同様の問題が生じるマルチキャストＭＡＣアドレスに関する出力ポート情報についても、ブロードキャスト転送に関する出力ポート情報と同様の処理を行う。
しかしながら、拠点ノードが４つ以上存在する通信システムにおいて、ある拠点ノードが、多重リンク障害を検出して、仮想ポート設定テーブル３１２に設定された全てのポートからブロードキャストフレームを送信した場合、相手ノードがそのブロードキャストフレームを２度受信してしまう可能性があるという問題がある。
例えば、図１１に示す通信システムにおいて、拠点ノード１１０１と通信媒体１１１１間のリンク及び拠点ノード１１０２と通信媒体１１１０間のリンクが切断されて、拠点ノード１１００が、通信状態管理データベース３１０に示すような多重リンク障害を検出した場合について説明する。
拠点ノード１１００が、ホスト１１０４から送信されたブロードキャストフレームをポート１及びポート２の両方にブロードキャストした場合、拠点ノード１１０３は、受信状態にあるポート１及びポート２の両方で、２度ブロードキャストフレームを受信することになる。
上述の問題を解決するために、拠点ノード１１０３は、多重リンク障害検出時に、仮想ポート設定テーブル３１２に設定された２つのポートの一方でのみブロードキャストフレームを受信し、他方で受信したブロードキャストフレームを廃棄する。
例えば、仮想ポート設定テーブル３１２に設定されたポートのいずれか一方に入力されたブロードキャストフレームについては、受信を許可して転送処理を行い、それ以外のポートに入力されたブロードキャストフレームについては、廃棄する。
受信を許可するポートとしては、通信状態管理データベース３１０において、キープアライブフレームの未着状態が最も少ないポートもしくはポート番号が最小のポートなどを用いれば良い。
ただし、ブロードキャストフレームの受信を許可するポートで、キープアライブフレームが未着状態となっている相手ノード及びアドレス管理データベース１２００でその相手ノードに関連付けられている全てのホストから送信されるブロードキャストフレームは、受信を許可しないポートにしか入力されないため、そのような相手ノード及びホストから送信されるブロードキャストフレームについては、受信を許可しないポートでの受信を許可して、転送処理を行う。
例えば、図１０の拠点ノード１００が、図２４の通信状態管理データベース２４００に示すような多重リンク障害を検出した場合における上記の処理について説明する。
拠点ノード１００は、ポート１でのみブロードキャストフレームの受信を許可して転送処理を行い、ポート２で受信したブロードキャストフレームを廃棄する
ただし、拠点ノード１０１とアドレス管理データベース１２００で拠点ノード１０１に関連付けられたホストから送信されたブロードキャストフレームについては、ポート２での受信を許可して、転送処理を行う。
以上のように、互いに通信を行う拠点ノードが、３つ以上存在するような場合においても、高い信頼性を有する通信システムを提供することができる。
（第４の実施例）
本発明の第４の実施例について図面を参照して詳細に説明する。
第４の実施例では、拠点ノードとホストの間にルータを配置することにより、ネットワーク管理者がアドレス管理データベースを設定する負荷を軽減する方法を述べる。
（通信システムの構成）
図１４は、第４の実施例における通信システムの構成を示している。
第４の実施例における通信システムの構成は、拠点ノード１００、１０１、１０００とホスト１０４、１０５、１００１の間に、それぞれルータ１４００、１４０１、１４０２が配置されている点で、第３の実施例と異なる。
本実施例では、拠点ノードとルータは、それぞれ個別の装置となっているが、拠点ノードがルータの機能を内蔵していても良い。
第４の実施例では、ホストから送信されたイーサネット（Ｒ）フレームの送信元ＭＡＣアドレスは、ルータによってルータのＭＡＣアドレスに変更されて転送されるため、第３の実施例のように、相手ノードに接続された全てのホストを管理する必要はなく、相手ノードに接続されたルータのみを管理すれば良い。
（拠点ノードの構成）
図１５は、図１４の拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００の構成を示すブロック図である。
第４の実施例における拠点ノードの構成は、キープアライブフレーム解析部３０８がアドレス管理データベース１２００を制御する点で、第３の実施例と異なる。
キープアライブフレーム解析部３０８は、アドレス管理データベース１２００によって、相手ノードと相手ノードに接続されたルータの対応関係を管理する。このため、拠点ノードのアドレス管理データベース１２００には、第３の実施例とは異なり、相手ノード情報としての相手ノードのＭＡＣアドレスに対して、ルータのノード識別子であるＭＡＣアドレスが設定される。
（動作の説明）
第４の実施例における動作は、第３の実施例における動作と基本的に同一であるため、相違点のみを以下に記述する。
まず、拠点ノード１００が、アドレス管理データベース１２００を作成する手順について説明する。
拠点ノード１００は、キープアライブフレームを送受信することにより、アドレス管理データベース１２００を作成する。
（キープアライブフレームの送信）
最初に、拠点ノード１００が、キープアライブフレームを送信する手順を述べる。
本実施例では、拠点ノード１００のキープアライブフレーム送信部３１４が、キープアライブフレームのペイロードにルータ１４００のＭＡＣアドレスを格納して、キープアライブフレームを送信し、拠点ノード１００に接続されたルータ１４００のＭＡＣアドレスを相手ノードに通知する。
拠点ノード１００に接続されたルータ１４００のＭＡＣアドレスについては、ネットワーク管理者が手動で設定しても良いし、拠点ノード１００がルータ１４００より受信したイーサネット（Ｒ）フレームを参照するなどして、ルータ１４００のＭＡＣアドレスを自動的に設定するようにしても良い。
（キープアライブフレームの受信）
ここでは、拠点ノードが、キープアライブフレームを受信して、アドレス管理データベース１２００を作成する手順を述べる。
キープアライブフレーム解析部３０８は、受信したキープアライブフレームの送信元ノードのＭＡＣアドレスとキープアライブフレームのペイロードに格納されたルータのＭＡＣアドレスの対応関係をアドレス管理データベース１２００に登録する。
キープアライブフレームの送信元ノードに関する情報が、アドレス管理データベース１２００に既に存在する場合は、アドレス管理データベース１２００に登録されているルータのＭＡＣアドレスとキープアライブフレームのペイロードに格納されたルータのＭＡＣアドレスを比較する。
両者のＭＡＣアドレスが異なっていれば、アドレス管理データベース１２００に登録されているルータのＭＡＣアドレスをキープアライブフレームに格納されているルータのＭＡＣアドレスに置換する。
図２９に示すアドレス管理データベース１２００は、キープアライブフレームを送受信することによって作成された拠点１００のアドレス管理データベースの例である。
図２９のアドレス管理データベース１２００を参照することによって、ルータ１４０１が拠点ノード１０１に接続され、ルータ１４０２が拠点ノード１０００に接続されていることが分かる。
以上のように、キープアライブフレームのペイロードにルータのＭＡＣアドレスを格納したキープアライブフレームを送受信することによって、アドレス管理データベース１２００を作成することができる。
第４の実施例では、第３の実施例のように、相手ノードに接続された全てのホストのＭＡＣアドレスと相手ノードのＭＡＣアドレスの対応関係を管理する必要はなく、相手ノードに接続されたルータのＭＡＣアドレスと相手ノードのＭＡＣアドレスの対応関係のみを管理すれば良いため、拠点ノードに求められる性能やネットワーク管理者が設定を行う負荷を大幅に軽減することができる。拠点ノードに接続されるホストの数が多数の場合には特にその効果が大である。
また、本実施例のように、キープアライブフレームの送受信によって自動的にアドレス管理データベース１２００を作成せずに、相手ノードに接続されたルータと相手ノードの対応関係を、ネットワーク管理者が手動でアドレス管理データベース１２００に登録しても良い。
（第５の実施例）
本発明の第５の実施例について図面を参照して詳細に説明する。
第５の実施例では、拠点ノードがラーニングフレームを送受信することにより、アドレス管理データベースを自動的に作成する方法について述べる。
（通信システムの構成）
第５の実施例における通信システムの構成は、図１０に示した第３の実施例と同一であるため、説明を省略する。
（拠点ノードの構成）
図１６は、図１０の拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００の構成を示すブロック図である。
第５の実施例は、特殊フレーム送信部３１３にラーニングフレームを送信するラーニングフレーム送信部１６００を備える点で、第３の実施例と異なる。
また、第５の実施例は、フォワーディングデータベース制御部３０９がアドレス管理データベース１２００を制御する点で、第３の実施例と異なる。
（動作の説明）
第５の実施例の動作は、第３の実施例と基本的に同一であるため、相違点のみを以下に述べる。
まず、拠点ノード１００が、図１３に示すアドレス管理データベース１２００を作成する手順について説明する。
拠点ノード１００は、ラーニングフレームを送受信することにより、フォワーディングデータベース制御部３０９が、相手ノードと相手ノードに接続されたホストの対応関係を自動的にアドレス管理データベース１２００に登録する。
（ラーニングフレームの送信）
拠点ノード１００が、ラーニングフレームを送信する手順について、以下に述べる。
ラーニングフレーム送信部１６００は、拠点ノード１００の仮想ポート設定テーブル３１２に登録されていないポートに接続されている全てのホストに関するラーニングフレームを後述のように生成し、仮想ポート設定テーブル３１２に設定されているポートから送信する。
拠点ノード１００は、ホストから送信されたイーサネット（Ｒ）フレームを初めて受信し、フォワーディングデータベース１２０１にそのホストの情報を新規に登録したときに、相手ノードにラーニングフレームを送信する。
次に、ラーニングフレームについて詳細に説明する。
図２５に示すイーサネット（Ｒ）のフレームフォーマットを有するデータフレームを用いて、ラーニングフレームを実現する場合について説明する。
また、以下の説明と同様にして、イーサネット（Ｒ）以外のフレームフォーマットを有するデータフレームを用いて、ラーニングフレームを実現することもできる。
ラーニングフレームの宛先ＭＡＣアドレス２５０１には、ラーニングフレームが拠点ノード１００以外の拠点ノード（相手ノード）に送信されるようなＭＡＣアドレスが格納される。
例えば、各相手ノードのＭＡＣアドレスを格納して、ラーニングフレームを相手ノード毎に送信しても良いし、前述のキープアライブフレームと同様に、拠点ノードがラーニングフレームとして認識可能で、通信媒体１０６〜１０７を構成する中継ノードにおいてブロードキャストと同等の効果が得られるようなＭＡＣアドレスを用いても良い。
ラーニングフレームの送信元ノードＭＡＣアドレス２５０２には、ラーニングフレームを送信する拠点ノード１００のＭＡＣアドレスが格納される。
ラーニングフレームのイーサネット（Ｒ）属性情報２５０３には、ラーニングフレームのデータ長もしくはタイプ値が格納される。
ラーニングフレームのペイロード２５０４には、ラーニングフレームを送信する拠点ノード１００に接続されている全てのホストのＭＡＣアドレスが格納される。
ホストの数が多いために、ペイロードに全てのホストのＭＡＣアドレスを格納できない場合は、ラーニングフレームを複数回に分けて送信するようにすれば良い。
また、ラーニングフレームの送信元ノードＭＡＣアドレス２５０２に、ホストのＭＡＣアドレスを格納し、ラーニングフレームのペイロード２５０４に拠点ノード１００のＭＡＣアドレスを格納して、ホストの数だけラーニングフレームを送信するような方法でもよい。
ラーニングフレームのＦＣＳ２５０５には、所定の計算方法によって計算された値が格納される。
（ラーニングフレームの受信）
以降では、拠点ノード１００が、ラーニングフレームを受信して、アドレス管理データベース１２００を作成する手順について説明する。
拠点ノード１００は、ラーニングフレームを受信し、ラーニングフレームの送信元ＭＡＣアドレス２５０１とラーニングフレームのペイロード２５０４に格納されたＭＡＣアドレスの対応関係を、アドレス管理データベース１２００に登録する。
拠点ノード１００の入力ポート３０１−１〜３で受信されたラーニングフレームは、フレームタイプ判定部３０３−１〜３により、フォワーディングデータベース制御部３０９に転送される。
フォワーディングデータベース制御部３０９は、ラーニングフレームの送信元ＭＡＣアドレス（相手ノードのＭＡＣアドレス）及びラーニングフレームのペイロードに格納されたＭＡＣアドレス（相手ノードに接続されたホストのＭＡＣアドレス）を抽出する。
フォワーディングデータベース制御部３０９は、抽出したラーニングフレームの送信元ＭＡＣアドレスとホストのＭＡＣアドレスの対応関係を、アドレス管理データベース１２００に登録する。
アドレス管理データベース１２００に対応関係が既に登録されている場合は、その内容を更新する。
以上のように、ラーニングフレームを送受信することにより、図１３に示すアドレス管理データベース１２００を自動的に作成することができる。
（第６の実施例）
本発明の第６の実施例について図面を参照して詳細に説明する。
第６の実施例では、複数の仮想ポートを登録可能なポートマッピングテーブルを用いて、信頼性の高い通信システムを実現する方法について述べる。
（通信システムの構成）
第６の実施例における通信システムの構成は、図１０に示した第３の実施例と同一であるため、説明を省略する。
（拠点ノードの構成）
第６の実施例の拠点ノードの構成は、図１７に示すように、図１２に示した第３の実施例の構成と基本的に同じであるが、ポートマッピングテーブル７０１と異なるポートマッピングテーブル１７０１を備え、複数の仮想ポートが登録される点で、第３の実施例と異なる。
ポートマッピングテーブル１７０１には、相手ノード毎に仮想ポートを登録することができ、それぞれの仮想ポートに対してポート番号と実ポートが登録される。また、ポートマッピングテーブル１７０１には、ブロードキャスト転送及びマルチキャスト転送用の仮想ポートも１つ登録される。
図１８に、拠点ノード１００のポートマッピングテーブル１７０１の一例を示す。
以下では、図１８のポートマッピングテーブル１７０１を参照して、ポートマッピングテーブル１７０１の設定例について説明する。
図１８においては、相手ノード情報としての、拠点ノード１０１と拠点ノード１０００のＭＡＣアドレス及びブロードキャストＭＡＣアドレスごとに、仮想ポートと実ポートが登録されている。
拠点ノード１０１の仮想ポートには、ポート番号１１が割り当てられ、図４に示す拠点ノード１００の仮想ポート設定テーブル３１２に登録されているポート１及びポート２が実ポートとして登録されている。
また、図１０に示す拠点ノード１０００の仮想ポートには、ポート番号１２が割り当てられ、ポート１及びポート２が実ポートとして登録されている。
また、ブロードキャスト転送用の仮想ポートには、ポート番号２１が割り当てられ、ポート１及びポート２が実ポートとして登録されている。
（動作の説明）
（通常時のイーサネット（Ｒ）フレームの転送）
拠点ノード１００が、通常時に、イーサネット（Ｒ）フレームを転送する手順について説明する。
第６の実施例において、図１０の拠点ノード１００が、ホスト１０４から送信されたホスト１０５宛てのイーサネット（Ｒ）フレームを転送する場合の動作については、第３の実施例と基本的に同一であるため、以下では相違点のみを説明する。
（フォワーディングデータベースの作成）
以降では、フォワーディングデータベース７００を作成する手順について述べる。
本実施例では、フォワーディングデータベース７００の出力ポート情報に仮想ポートを登録する場合、ポートマッピングテーブル１７０１で相手ノード（送信元ノード）毎に登録されたポート番号を用いる。
例えば、拠点ノード１００が、仮想ポート設定テーブル３１２に設定されたポート２でイーサネット（Ｒ）フレームを受信した場合に、イーサネット（Ｒ）フレームの送信元の情報をフォワーディングデータベース７００に登録する手順について説明する。
フォワーディングデータベース制御部３０９は、フォワーディングデータベース７００の宛先ノード情報に、受信したイーサネット（Ｒ）フレームの送信元ＭＡＣアドレスを登録する。
フォワーディングデータベース制御部３０９は、アドレス管理データベース１２００とポートマッピングテーブル１７０１を参照して、受信したイーサネット（Ｒ）フレームの送信元に関連付けられた相手ノードを取得し、フォワーディングデータベース７００の出力ポート情報に、取得した相手ノードの仮想ポートに割り当てられているポート番号を登録する。
図１９に、拠点ノード１００のフォワーディングデータベース７００の一例を示す。
例えば、図１９のフォワーディングデータベース７００を参照して、拠点ノード１００が、ホスト１００１から送信されたホスト１０４宛てのイーサネット（Ｒ）フレームをポート２で受信した場合に、ホスト１０５に関する情報をフォワーディングデータベース７００に登録する手順について説明する。
イーサネット（Ｒ）フレームの入力ポートであるポート２は、図４に示す拠点ノード１００の仮想ポート設定テーブル３１２に設定されているため、フォワーディングデータベース７００の出力ポート情報には、ポートマッピングテーブル１７０１で仮想ポートに割り当てられたポート番号が登録される。
アドレス管理データベース１２００によって、ホスト１００１は、拠点ノード１０００に接続されているホストであることがわかるので、さらに図１８のポートマッピングテーブル１７０１を参照して、拠点ノード１０００の仮想ポートに割り当てられたポート１２が、出力ポート情報に登録される。
（障害検出時のイーサネット（Ｒ）フレームの転送）
以降では、拠点ノード１００が、障害を検出した場合に、イーサネット（Ｒ）フレームを転送する場合の動作について説明する。
（キープアライブフレーム未着時のイーサネット（Ｒ）フレームの転送）
最初に、キープアライブフレームの未着状態を検出した場合の動作について説明する。
ある相手ノードから送信されるキープアライブフレームの到着状態が、あるポートで未着状態になった場合、キープアライブフレーム解析部３０８は、ポートマッピングテーブル１７０１でその相手ノードの仮想ポートに登録されている実ポートから、未着状態になったポートを削除する。
例えば、図１８に示す拠点ノード１００のポートマッピングテーブル１７０１を参照して、拠点ノード１０１から送信されるキープアライブフレームの到着状態が、拠点ノード１００のポート２で未着状態になった場合について説明する。
このとき、拠点ノード１００のキープアライブフレーム解析部３０８は、図１８のポートマッピングテーブル１７０１で拠点ノード１０１に割り当てられた仮想ポートに登録されているポート２を削除する。
したがって、拠点ノード１０１に割り当てられた仮想ポートにはポート１が登録される。
ある相手ノードから送信されるキープアライブフレームのあるポートへの到着状態が、未着状態から受信状態になった場合、キープアライブフレーム解析部３０８は、その相手ノードの仮想ポートに、受信状態になったポートを追加する。
前述の例で、拠点ノード１００のポート２で、拠点ノード１０１のキープアライブフレームが再び受信されるようになった場合、図１８に示すポートマッピングテーブル１７０１に登録されている拠点ノード１０１の仮想ポートに、ポート２が再び追加される。
また、ある相手ノードから送信されるキープアライブフレームの到着状態が、仮想ポート設定テーブル３１２で設定された全てのポートで未着状態になった場合、キープアライブフレーム解析部３０８は、通常時と同様に、相手ノードに割り当てられた仮想ポートに、仮想ポート設定テーブル３１２に設定された全てのポートを登録する。
または、イーサネット（Ｒ）フレームが廃棄されるような特別なポート番号を仮想ポートに登録しても良い。
ブロードキャスト転送用の仮想ポートについては、相手ノードの未着状態が全く検出されていないポートを全て登録すれば良い。
仮想ポート設定テーブル３１２に設定されている全てのポートで、任意の相手ノードのキープアライブフレームの未着状態が検出されるような多重リンク障害検出時は、第３の実施例と同様の動作を行う。
（リンクダウン検出時のイーサネット（Ｒ）フレームの転送）
次に、リンクダウンを検出した場合の動作について説明する。
リンクダウン検出部３０２−１〜３は、ポートのリンクダウンを検出した場合、ポートマッピングテーブル１７０１の全ての仮想ポートから、リンクダウンしたポートを削除する。
上述したように、拠点ノードは、キープアライブフレームの未着及びリンクダウンを検出し、障害を検出したポートを仮想ポートから削除することによって、障害を検出していないポートのみを用いて、通信を続行することができる。
以上のように、ポートマッピングテーブル１７０１に、相手ノード毎に仮想ポートを設定し、それぞれの仮想ポートに割り当てられたポート番号を用いることによって、高い信頼性を有する通信システムを実現することができる。
また、図２０に示すような、拠点ノード１００、１０１、１０００が３つ以上の通信媒体１０６、１０７と中継ノード２００４を有する通信媒体２０１０に接続された通信システムに対しても、ポートマッピングテーブル１７０１に登録された仮想ポートに実ポートを追加するだけで、上述の手法を適用することが可能である。
（第７の実施例）
本発明の第７の実施例について図面を参照して詳細に説明する。
第７の実施例では、中継ノードが転送するデータフレームのフレームフォーマットが、通信媒体によって異なるような通信システムにおいて、高い信頼性を実現する方法について説明する。
（通信システムの構成）
第７の実施例における通信システムの構成は、図１０に示した第３の実施例と基本的に同一であるため、以下には相違点のみを記述する。
第３の実施例では、通信媒体を構成する中継ノード１０２、１０３は全て、イーサネット（Ｒ）フレームを転送するイーサネット（Ｒ）スイッチであった。
しかしながら、第７の実施例では、通信媒体１０６を構成する中継ノード１０２はイーサネット（Ｒ）スイッチであるが、通信媒体１０７を構成する中継ノード１０３はＩＰパケットを転送するノード（ＩＰルータ）である点で、第３の実施例と異なる。
また、本実施例では、通信媒体１０６及び通信媒体１０７を構成する中継ノードは、それぞれＩＰルータ及びイーサネット（Ｒ）スイッチであるが、ＩＰパケットまたはイーサネット（Ｒ）フレーム以外の任意のフレームフォーマットを有するデータフレームを転送するノードであっても良い。
例えば、通信媒体を構成する中継ノードとして、ＡＴＭセルを転送するＡＴＭスイッチやフレームリレーフレームを転送するフレームリレースイッチなどを用いることができる。
（拠点ノードの構成）
図２１は、図１０における拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００の第７の実施例による構成を示すブロック図である。
第７の実施例では、拠点ノード１００（拠点ノード１０１及び拠点ノード１０００についても同様）が、データフレーム生成部２１００−１〜３及びデータフレーム抽出部２１０１−１〜３を新たに備える点で、第３の実施例と異なる。
データフレーム生成部２１０１−１〜３は、ＩＰパケットのデータグラムにイーサネット（Ｒ）フレームを格納したＩＰパケットを生成する。
データフレーム抽出部２１００−１〜３は、受信したＩＰパケットのデータグラムに格納されたイーサネット（Ｒ）フレームを抽出する。
データフレーム生成部２１０１−１〜３及びデータフレーム抽出部２１００−１〜３は、ネットワーク管理者の設定により、入力ポート３０１−１〜３及び出力ポート３０６−１〜３に接続されている通信媒体を構成する中継ノードが転送するデータフレームのフレームフォーマットを知ることができるものとする。
また、図２２に示す拠点ノード１００の構成ブロック図のように、拠点ノード１００がＩＰルータ２２００を内蔵する構成でも良い。
通信媒体を構成する中継ノードがＡＴＭスイッチまたはフレームリレースイッチである場合は、図２２のＩＰルータ２２００をそれぞれＡＴＭスイッチまたはフレームリレースイッチに置き換えれば良い。
（動作の説明）
以降では、図１０の拠点ノード１００が、ホスト１０４からホスト１０５宛てのイーサネット（Ｒ）フレームを転送する場合の動作について説明する。
（データフレームの送信）
ホスト１０４からホスト１０５宛てに送信されたイーサネット（Ｒ）フレームは、拠点ノード１００のポート３で受信される。
以降の動作は、図２１を参照して説明する。
拠点ノード１００の入力ポート３０１−３（ポート３）で受信されたイーサネット（Ｒ）フレームは、フレームタイプ判定部３０３−３によって、フレームスイッチ３０４に転送される。
フレームスイッチ３０４は、仮想ポートに登録されたポート１とポート２のいずれか一方を、第１の実施例で述べたような特定のアルゴリズムによって選択して、そのポートに対応するフレーム転送部３０５−１〜３にイーサネット（Ｒ）フレームを転送する。
以降では、ＩＰルータから構成される通信媒体１０７に接続されたポート２が、出力ポートとして選択された場合の動作について説明する。
（カプセル化）
フレーム転送部３０５−２は、データフレーム生成部２１０１−２にフレームスイッチ３０４より転送されたイーサネット（Ｒ）フレームを転送する。
データフレーム生成部２１０１−２は、出力ポート３０６−２に接続される通信媒体がＩＰルータにより構成される場合、フレーム転送部３０５−２より転送されたイーサネット（Ｒ）フレームから後述するＩＰパケットを生成し、出力ポート３０６−２から送信する。
出力ポート３０６−２に接続される通信媒体がイーサネット（Ｒ）スイッチにより構成される場合は、データフレーム生成部２１０１−２は、フレーム転送部３０５−２より転送されたイーサネット（Ｒ）フレームをそのまま出力ポート３０６−２から送信する。
ここで、図２６に示すＩＰパケット２６００のフレームフォーマットを参照して、データフレーム生成部２１０１−２によって生成されるＩＰパケットを説明する。
ＩＰヘッダ２６０１の宛先ＩＰアドレスには、ホスト１０５が接続されている拠点ノード１０１に付与されたＩＰアドレスが格納される。
または、拠点ノード１０１のポートのうち、通信媒体１０７に接続されているポート（ポート２）に付与されているＩＰアドレスが格納される。
宛先ＩＰアドレスに格納されるＩＰアドレスは、図２７のフォワーディングデータベース７００Ａに示すように、宛先ＭＡＣアドレス毎にＩＰヘッダ情報として登録しておき、データフレーム生成部２１０１−２が参照できるようにしておいても良い。
また、拠点ノード１００が、イーサネット（Ｒ）フレームの宛先ＭＡＣアドレスとイーサネット（Ｒ）フレームを送出する実ポートに対して、ＩＰパケットを生成するためのＩＰヘッダ情報が登録されたデータベースを別途用意するようにしても良い。
例えば、図３３に示すように、ホスト１０５のＭＡＣアドレスと出力ポート３０６−２に対して、拠点ノード１０１の通信媒体１０７が接続されたポート（ポート２）に付与されたＩＰアドレス（ＩＰヘッダ情報）が登録されているようなデータベースを用意しておけば良い。
送信元ＩＰアドレスには、拠点１００の通信媒体１０７が接続されたポート（ポート２）に付与されたＩＰアドレスまたは拠点ノード１００に付与されたＩＰアドレスが格納される。
ＩＰパケットのデータグラムには、フレーム転送部３０５−２より転送されたイーサネット（Ｒ）フレームが格納される。
ＩＰヘッダの他のフィールドには、通信媒体１０７のネットワーク環境、送信するイーサネット（Ｒ）フレームの内容などの状況に合わせて、適当な値を格納する。
以上のように、データフレーム生成部２１０１−２は、図２８に示すように、イーサネット（Ｒ）フレームにＩＰヘッダ２６０１を付加したＩＰパケット２６００を生成する。
なお、図２８に示すＩＰパケット２６００のデータグラムに格納されたイーサネット（Ｒ）フレームには、ＶＬＡＮタグなどのタグが付加されていないが、タグ付きのイーサネット（Ｒ）フレームであっても良い。
通信媒体１０７を構成する中継ノード１０３が、ＩＰパケット以外のフレームフォーマットを有するデータフレームを転送するノードの場合も、上述のＩＰルータの場合と同様にして、データフレームを生成すれば良い。
上述したように、ある任意のフレームフォーマットを有するデータフレームのペイロードに、別のデータフレームを格納するような処理は、一般にカプセル化と呼ばれる。
（データフレームの受信）
次に、拠点ノード１００が、ＩＰルータから構成される通信媒体１０７からＩＰパケットを受信する場合の動作について説明する。
入力ポート３０１−２で受信したＩＰパケットは、データフレーム抽出部２１００−２に転送される。
データフレーム抽出部２１００−２は、ＩＰパケットの宛先ＩＰアドレスが、入力ポート３０１−２に付与されたＩＰアドレスまたは拠点ノード１００に付与されたＩＰアドレスと一致した場合に、ＩＰパケットからＩＰヘッダを取り除いて、データグラムに格納されたイーサネット（Ｒ）フレームを抽出して、フレームタイプ判定部３０３−２に転送する。
なお、入力ポート３０１−２に接続された通信媒体がイーサネット（Ｒ）スイッチにより構成され、入力ポート３０１−２が、ＩＰパケットではなく、イーサネット（Ｒ）フレームを受信するような場合、データフレーム抽出部２１００−２は、受信したイーサネット（Ｒ）フレームを、そのままフレームタイプ判定部３０３−２に転送する。
以降の動作は、第３の実施例と同一であるため、説明を省略する。
上述したように、データフレーム（ＩＰパケット）のペイロード（データグラム）に、イーサネット（Ｒ）フレームを格納して送信し、受信したデータフレームのペイロードに格納されたイーサネット（Ｒ）フレームを抽出することにより、通信媒体上で転送可能なデータフレームのフレームフォーマットが異なっていたとしても、通信媒体を構成する中継ノードが全てイーサネット（Ｒ）スイッチである場合と同様に、信頼性の高い通信システムを提供することができる。
（第８の実施例）
本発明の第８の実施例について図面を参照して詳細に説明する。
本実施例は、第３の実施例において、ネットワーク管理者が手動で設定を行っていた図１３のアドレス管理データベース１２００を、自動的に作成するための機能を提供する。
（通信システムの構成）
第８の実施例における通信システムの構成は、図１０に示した第３の実施例と同一であるため、説明を省略する。
（拠点ノードの構成）
図３１は、本実施例による図１０の拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００の構成を示すブロック図である。
第８の実施例では、拠点ノード１００がＶＬＡＮ識別子設定テーブル３１００を新たに備える点で、第３の実施例と異なる。
ＶＬＡＮ識別子設定テーブル３１００は、各拠点ノードのＭＡＣアドレス及びブロードキャストＭＡＣアドレスの任意の組み合わせに対して、それぞれＶＬＡＮ識別子を設定するためのテーブルである。
本実施例では、ＶＬＡＮ識別子設定テーブル３１００は、設定入力インターフェース３１５を用いてネットワーク管理者により手動で設定される。
または、各拠点ノードが、キープアライブフレームなどを用いて通信することによって、ＶＬＡＮ識別子設定テーブル３１００を自動的に作成するようにしても良い。
図３２に、拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００のＶＬＡＮ識別子設定テーブル３１００の一例を示す。
図３２に示すＶＬＡＮ識別子設定テーブル３１００では、ノード識別子１とノード識別子２に、拠点ノード１００のＭＡＣアドレス及び拠点ノード１０１のＭＡＣアドレス及び拠点ノード１０００のＭＡＣアドレス及びブロードキャストＭＡＣアドレスの任意の組み合わせが設定され、その組み合わせに対して、ＶＬＡＮ識別子として「１」から「６」の整数値が重複しないように割り当てられている。
例えば、図３２では、拠点ノード１００のＭＡＣアドレスと拠点ノード１０１のＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子に、整数値「１」が設定されている。
以下では、拠点ノード１００及び拠点ノード１０１及び拠点ノード１０００のＶＬＡＮ識別子設定テーブル３１００が、図３２のように設定されているものとして説明する。
（動作の説明）
まず、ホスト１０４からホスト１０５宛てのイーサネット（Ｒ）フレームを転送する場合の動作を説明する。
（イーサネット（Ｒ）フレームの転送の概要）
本実施例においては、拠点ノード１００が、イーサネット（Ｒ）フレームの所定の位置に後述のＶＬＡＮタグを付加して、イーサネット（Ｒ）フレームを送信する点で、第３の実施例と異なる。
ＶＬＡＮタグには、送信元の属する拠点ノード及び宛先の属する拠点ノードを識別できるようなＶＬＡＮ識別子が格納される。
具体的には、ＶＬＡＮ識別子設定テーブル３１００により、送信元（ホスト１０４）が属する拠点ノード１００のＭＡＣアドレスと宛先（ホスト１０５）が属する拠点ノード１０１のＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子が格納される。
ＶＬＡＮタグが付加されたイーサネット（Ｒ）フレームは、通信媒体１０６または通信媒体１０７を経由して、拠点ノード１０１のポート１またはポート２に転送される。
拠点ノード１０１は、受信したイーサネット（Ｒ）フレームのＶＬＡＮタグに格納されたＶＬＡＮ識別子及びＶＬＡＮ識別子設定テーブル３１００を参照することによって、送信元ホストの属する拠点ノードのＭＡＣアドレスを抽出し、送信元ホストのＭＡＣアドレスと抽出した拠点ノードのＭＡＣアドレスの対応関係を、図１３のアドレス管理データベース１２００に登録する。
また、拠点ノード１０１は、受信したイーサネット（Ｒ）フレームから、拠点ノード１００で付加されたＶＬＡＮタグを取り除いて、ポート３からホスト１０５にイーサネット（Ｒ）フレームを転送する。
上述のように、送信元ホストの属する拠点ノードと宛先ホストの属する拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベース１２００を自動的に作成することができる。
（イーサネット（Ｒ）フレームの転送、アドレス管理データベースの作成）
以降では、拠点ノード１００が、ＶＬＡＮタグが付加されたイーサネット（Ｒ）フレームを送受信することによって、図１３のアドレス管理データベース１２００を作成する手順を詳細に説明する。
（イーサネット（Ｒ）フレームの送信）
最初に、拠点ノード１００が、仮想ポート設定テーブル３１２に設定されたポートから、イーサネット（Ｒ）フレームを送信する場合の動作について説明する。
本実施例において、仮想ポート設定テーブル３１２に設定されたポートからイーサネット（Ｒ）フレームを送信する手順は、第３の実施例と基本的に同一であるため、相違点のみを以下に述べる。
拠点ノード１００のフレームスイッチ３０４は、イーサネット（Ｒ）フレームの出力ポートが仮想ポート設定テーブル３１２に設定されたポートである場合、イーサネット（Ｒ）フレームの所定の位置にＶＬＡＮタグを付加する。
図３０に、ＶＬＡＮタグが付加されたＶＬＡＮタグ付きイーサネット（Ｒ）フレーム３０００のフレームフォーマットを示す。
ＶＬＡＮタグ３００３には、ＶＬＡＮ識別子設定テーブル３１００により、イーサネット（Ｒ）フレームの送信元ホストが属する拠点ノードのＭＡＣアドレスと宛先ホストが属する拠点ノードのＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子が格納される。
ここで、送信元ホストが属する拠点ノードは、自ノードである。
また、宛先ホストが属する拠点ノードは、アドレス管理データベース１２００により、宛先ホストに関連付けられた拠点ノードである。
宛先ホストが属する拠点ノードの情報が、アドレス管理データベース１２００に存在しない場合は、送信元ホストが属する拠点ノードのＭＡＣアドレスとブロードキャストＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子が、ＶＬＡＮタグ３００３に格納される。
例えば、拠点ノード１００が、ホスト１０４から送信されたホスト１０５宛てのイーサネット（Ｒ）フレームを、ポート１またはポート２から送信する場合に、ＶＬＡＮタグ３００３に格納されるＶＬＡＮ識別子について、図３２のＶＬＡＮ識別子設定テーブル３１００を参照して説明する。
宛先であるホスト１０５の属する拠点ノード１０１の情報が、アドレス管理データベース１２００に存在する場合は、送信元であるホスト１０４の属する拠点ノード（拠点ノード１００）のＭＡＣアドレスと宛先であるホスト１０５の属する拠点ノード（拠点ノード１０１）のＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子である整数値「１」が、ＶＬＡＮタグ３００３に格納される。
ホスト１０５の属する拠点ノード１０１の情報が、アドレス管理データベース１２００に存在しない場合は、送信元のホスト１０４の属する拠点ノード１００のＭＡＣアドレスとブロードキャストＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子である整数値「４」がＶＬＡＮタグに格納される。
（イーサネット（Ｒ）フレームの受信）
次に、拠点ノード１００が、仮想ポート設定テーブル３１２に設定されているポートで、ＶＬＡＮタグが付加されたイーサネット（Ｒ）フレームを受信して、アドレス管理データベース１２００を自動的に作成する手順を説明する。
フレームタイプ判定部３０３−１〜３は、受信したイーサネット（Ｒ）フレームをフォワーディングデータベース制御部３０９に転送する。
また、フレームタイプ判定部３０３−１〜３は、受信したイーサネット（Ｒ）フレームからＶＬＡＮタグを取り除いて、フレームスイッチ３０４に転送する。
フォワーディングデータベース制御部３０９は、ＶＬＡＮ識別子設定テーブル３１００を参照して、イーサネット（Ｒ）フレームのＶＬＡＮタグに格納されたＶＬＡＮ識別子に対応する２つの拠点ノードのＭＡＣアドレスのうち、自ノード（拠点ノード１００）のＭＡＣアドレスと異なるＭＡＣアドレス（送信元ホストの属する拠点ノードのＭＡＣアドレス）を取得する。
フォワーディングデータベース制御部３０９は、イーサネット（Ｒ）フレームの送信元ＭＡＣアドレス（送信元ホストのＭＡＣアドレス）と取得した拠点ノードのＭＡＣアドレスの対応関係を、アドレス管理データベース１２００に登録する。
送信元ホストのＭＡＣアドレスと送信元ホストの属する拠点ノードのＭＡＣアドレスの対応関係が、既にアドレス管理データベース１２００に存在する場合は、その内容を更新する。
フレームスイッチ３０４が、受信したイーサネット（Ｒ）フレームを転送する手順は、第３の実施例と同一であるため、説明を省略する。
上述のように、拠点ノードが、ＶＬＡＮタグを付加してイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベース１２００を自動的に作成することができる。
（キープアライブフレームによる障害検出、障害検出時のイーサネット（Ｒ）フレームの転送）
第８の実施例において、拠点ノード１００がキープアライブフレームを送受信することによって障害を検出する手順と、障害検出時にイーサネット（Ｒ）フレームを転送する手順は、通常時にイーサネット（Ｒ）フレームを転送する手順で述べたように、拠点ノード１００がＶＬＡＮタグを付加してイーサネット（Ｒ）フレームを送信する点を除いては、第３の実施例と同一であるため、説明を省略する。
（多重リンク障害検出時のブロードキャストフレーム及びマルチキャストフレーム及びｕｎｋｎｏｗｎユニキャストフレームの転送）
以降では、拠点ノード１００が、多重リンク障害検出時に、ブロードキャストフレームまたはマルチキャストフレームまたはフォワーディングデータベース１２０１に宛先の情報が登録されていないユニキャストフレーム（ｕｎｋｎｏｗｎユニキャストフレーム）を転送する場合の動作を説明する。
以下では、ブロードキャストフレームを転送する場合の動作について説明するが、マルチキャストフレーム及びｕｎｋｎｏｗｎユニキャストフレームの場合の動作についてもブロードキャストフレームと同様である。
最初に、多重リンク障害検出時に、ブロードキャストフレームを送信する手順を述べる。
拠点ノード１００は、多重リンク障害検出時に、ブロードキャストフレームを送信する場合、第３の実施例と同様に、仮想ポート設定テーブル３１２に設定された全ての実ポートから、ブロードキャストフレームを送信する。
拠点ノード１００は、通常時にイーサネット（Ｒ）フレームを転送する手順で述べたように、ＶＬＡＮ識別子設定テーブル３１００により、拠点ノード１００のＭＡＣアドレスとブロードキャストＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子が格納されたＶＬＡＮタグを付加して、ブロードキャストフレームを送信する。
例えば、図３２の例では、ＶＬＡＮ識別子設定テーブル３１００の拠点ノード１００のＭＡＣアドレスとブロードキャストＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子である整数値「４」がＶＬＡＮタグとして付加される。
このように、仮想ポート設定テーブル３１２に設定された全てのポートから、ブロードキャストフレームを送信することにより、多重リンク障害検出時においても、全ての相手ノードにイーサネット（Ｒ）フレームを転送することができる。
次に、ブロードキャストフレームを受信する手順を述べる。
第３の実施例でも述べたように、多重リンク障害を検出している拠点ノードは、仮想ポート設定テーブル３１２に登録されたポートで、相手ノードにおいてブロードキャスト転送されたイーサネット（Ｒ）フレームを複数回受信してしまう可能性がある。
そのため、多重リンク障害検出時は、仮想ポート設定テーブル３１２で設定されたポートのうちの１つのポートでのみ、ブロードキャストフレームの受信を許可し、それ以外のポートではブロードキャストフレームを廃棄することによって、同一のイーサネット（Ｒ）フレームを複数回受信することを防止する。
このとき、拠点ノード１００は、相手ノードにおいてブロードキャスト転送されたイーサネット（Ｒ）フレームとユニキャスト転送されたイーサネット（Ｒ）フレームを識別し、ブロードキャスト転送されたイーサネット（Ｒ）フレームのみに対して、上述の処理を行う必要がある。
拠点ノード１００は、受信したイーサネット（Ｒ）フレームの宛先ＭＡＣアドレスを参照することによって、ユニキャストフレーム及びブロードキャストフレーム及びマルチキャストフレームを識別することができるため、ブロードキャストフレーム及びマルチキャストフレームについては、上述の処理を行うことができる。
しかしながら、拠点ノード１００は、受信したイーサネット（Ｒ）フレームがユニキャストフレームである場合、そのユニキャストフレームが相手ノードにおいてブロードキャスト転送されたｕｎｋｎｏｗｎユニキャストフレームであるのか、それともユニキャスト転送されたイーサネット（Ｒ）フレームであるのかを識別することはできないという問題がある。
本実施例では、この問題を解決するために、拠点ノード１００は、受信したイーサネット（Ｒ）フレームのＶＬＡＮタグに格納されたＶＬＡＮ識別子を参照して、イーサネット（Ｒ）フレームの種類を識別する。
拠点ノード１００は、受信したイーサネット（Ｒ）フレームのＶＬＡＮタグに格納されたＶＬＡＮ識別子が、任意の拠点ノードのＭＡＣアドレスとブロードキャストＭＡＣアドレスの組み合わせに対して割り当てられたＶＬＡＮ識別子であった場合、受信したイーサネット（Ｒ）フレームがブロードキャストフレームまたはマルチキャストフレームまたはｕｎｋｎｏｗｎユニキャストフレームのいずれかであると判断して、受信したイーサネット（Ｒ）フレームに対して上述の処理を行う。
受信を許可するポートは、第３の実施例で述べたのと同様にして決定すれば良い。
上述のように、ＶＬＡＮタグを参照することによって、ｕｎｋｎｏｗｎユニキャストフレームのような、宛先ＭＡＣアドレスを参照しただけでは、相手ノードでブロードキャスト転送されたのか否かを判断できないイーサネット（Ｒ）フレームを、複数回受信してしまうことを防止することができる。
（第９の実施例）
本発明の第９の実施例について図面を参照して詳細に説明する。
第９の実施例では、拠点ノードから送信されるキープアライブフレームが、通信媒体を転送される仕組みについて説明する。
（通信システムの構成）
図３４に、第９の実施例による通信システムの構成を示す。
第９の実施例における通信システムでは、通信媒体１０６及び通信媒体１０７を構成する中継ノード（エッジノード３４００−１〜６及びコアノード３４０１−１〜５）が、後述する拡張タグに格納されたノード識別子及び後述するブロードキャストフォワーディングデータベースに登録された出力ポート情報に基づいて、ブロードキャストフレーム及びｕｎｋｎｏｗｎユニキャストフレームをブロードキャスト転送する。
通信媒体１０６は、中継ノードである、エッジノード３４００−１〜３、コアノード３４０１−１から構成され、通信媒体１０７は、中継ノードである、エッジノード３４００−４〜６、コアノード３４０１−２〜５からなる。
エッジノード３４００−１〜６は、通信媒体１０６〜１０７を構成する中継ノードのうち、拠点ノード１００〜１０１及び拠点ノード１０００に接続される中継ノードであり、拠点ノード１００〜１０１及び拠点ノード１０００より受信したブロードキャストフレームに拡張タグを付加し、拡張タグに格納されたノード識別子及びブロードキャストフォワーディングデータベースを参照して、拡張タグ付きブロードキャストフレームを転送する。
コアノード３４０１−１〜５は、エッジノード３４００−１〜６以外の中継ノードであり、拡張タグに格納されたノード識別子及びブロードキャストフォワーディングデータベースを参照して、拡張タグ付きブロードキャストフレームを転送する。
図３４に示す第９の実施例の通信システムは、３つの拠点ノードを有する通信システムであるが、第１及び第２の実施例のように、２つの拠点ノードを有する通信システムであっても良いし、３つ以上の拠点ノードを有する通信システムであっても良い。
（拠点ノードの構成）
第９の実施例における拠点ノードの構成及び動作は、第３の実施例と同一であるため、説明を省略する。
第１の実施例でも述べたように、キープアライブフレームは、通信媒体１０６〜１０７を構成する中継ノードによってｕｎｋｎｏｗｎユニキャストフレームと認識され、通信媒体１０６〜１０７をブロードキャスト転送されて、全ての拠点ノードに転送される。
以下に、通信媒体１０６〜１０７を構成する中継ノードが、拡張タグ付きブロードキャストフレームを用いて、ブロードキャストフレーム及びｕｎｋｎｏｗｎユニキャストフレーム（キープアライブフレーム）を転送する手順について説明する。
以降では、ブロードキャスト転送の例として、通信媒体１０６を構成するエッジノード３４００−１〜３及びコアノード３４０１−１が、拠点ノード１００より受信したブロードキャストフレームをブロードキャスト転送する場合の動作について説明する。
なお、キープアライブフレームのようなｕｎｋｎｏｗｎユニキャストフレームについても、以下に述べる方法を用いて、ブロードキャストフレームと同様にして、ブロードキャスト転送することができる。
エッジノード３４００−１は、拠点ノード１００よりブロードキャストフレームを受信すると、エッジノード３４００−１のノード識別子を格納した拡張タグをブロードキャストフレームに付加する。
例えば、拡張タグを付加したイーサネット（Ｒ）フレームの一例としてＶＬＡＮタグ付きイーサネット（Ｒ）フレームを利用することができる。図３０に、拡張タグ付きイーサネット（Ｒ）フレームとしてＶＬＡＮタグ付きイーサネット（Ｒ）フレームを用いた場合の拡張タグ付きブロードキャストフレームのフレームフォーマットを示す。
エッジノード３４００−１は、拡張タグ付きブロードキャストフレームの拡張タグに格納されたノード識別子（エッジノード３４００−１のノード識別子）を識別し、図３４のエッジノード３４００−１に備えられるブロードキャストフォワーディングデータベース３４０２−１において、エッジノード３４００−１のノード識別子に対して登録されている出力ポート情報を取得する。
ここで、図３４に示すブロードキャストフォワーディングデータベース３４０２−１〜４について詳細に説明する。
ブロードキャストフォワーディングデータベース３４０２−１〜４は、エッジノード３４００−１〜３のノード識別子に対する出力ポート情報を登録するためのデータベースである。
簡単のため、ブロードキャストフォワーディングデータベース３４０２−１〜４には、エッジノード３４００−１のノード識別子に対する出力ポート情報のみを記載してある。
ブロードキャストフォワーディングデータベース３４０２−１〜４に登録される出力ポート情報は、以下のようにして決定される。
エッジノード３４００−１からのブロードキャスト転送経路が、スパニングツリープロトコル（ＳＴＰ）を用いて決定される。
すなわち、エッジノード３４００−１がルートノードとなるスパニングツリーのアクティブリンクに沿って下流に向かう経路が、エッジノード３４００−１からのブロードキャスト経路となる。
図３４の通信媒体１０６を構成する中継ノード間に描かれた太線の矢印は、エッジノード３４００−１からのブロードキャスト転送経路の例を示している。
なお、図示していないが、上述のエッジノード３４００−１からのブロードキャスト転送経路と同様に、図３４の通信媒体１０６及び通信媒体１０７に属する全てのエッジノード（エッジノード３４００−２〜６）からのブロードキャスト転送経路がそれぞれ設定されている。
以上のように、エッジノード３４００−１からのブロードキャスト転送経路は、エッジノード３４００−１がルートノードとなるスパニングツリーで決まるため、ブロードキャストフォワーディングデータベース３４０２−１〜３のエッジノード３４００−１に対する出力ポート情報は、そのスパニングツリーの情報を用いて、ブロッキング状態以外のポートで決定される。
ブロードキャストフォワーディングデータベース３４０２−１〜４のエッジノード３４００−２及びエッジノード３４００−３のノード識別子に対する出力ポート情報についても、エッジノード３４００−１の場合と同様にして決定される。
エッジノード３４００−１は、ブロードキャストフォワーディングデータベース３４０２−１を参照して、拡張タグにエッジノード３４００−１のノード識別子が格納されたブロードキャストフレームの出力ポートが、ポート２及びポート３であるという情報を取得して、ポート２及びポート３に拡張タグ付きブロードキャストフレームを送出する。
コアノード３４０１−１は、エッジノード３４００−１より拡張タグ付きブロードキャストフレームを受信すると、拡張タグに格納されたノード識別子（エッジノード３４００−１のノード識別子）を取得し、ブロードキャストフォワーディングデータベース３４０２−２のそのノード識別子に対する出力ポート情報を参照して、拡張タグ付きブロードキャストフレームの出力ポートがポート３であるという情報を取得して、ポート３に拡張タグ付きブロードキャストフレームを送出する。
エッジノード３４００−２は、コアノード３４０１−１より拡張タグ付きブロードキャストフレームを受信すると、拡張タグに格納されたノード識別子及びブロードキャストフォワーディングデータベース３４００−３を参照して、拡張タグ付きブロードキャストフレームの出力ポート情報として「ＥＮＤ」という識別子を取得する。
エッジノード３４００−２は、出力ポート情報が「ＥＮＤ」という識別子であった場合、ブロードキャストフレームに付加された拡張タグを削除して、通常のブロードキャストフレームに変換する。
エッジノード３４００−２は、入力ポート（ポート１）及び他の中継ノードが接続されているポート（ポート１及びポート２）以外の全てのポート（ポート３）に、拡張タグが削除されたブロードキャストフレームをブロードキャスト転送する。
エッジノード３４００−３は、エッジノード３４００−２と同様に、拡張タグに格納されたノード識別子及びブロードキャストフォワーディングデータベース３４０３−４を参照して、「ＥＮＤ」という出力ポート情報を取得して、入力ポート（ポート１）及び他の中継ノードが接続されているポート（ポート１〜３）以外の全てのポート（ポート４）に、拡張タグを削除したブロードキャストフレームをブロードキャスト転送する。
以上のように、通信媒体１０６〜１０７を構成する中継ノードが、拡張タグ付きブロードキャストフレームを用いて、ブロードキャストフレーム及びキープアライブフレームのようなｕｎｋｎｏｗｎユニキャストフレームをブロードキャスト転送することができる。
なお、図３４に示す通信システムは、拠点ノード間に存在する全ての通信媒体（通信媒体１０６及び通信媒体１０７）が、拡張タグ付きブロードキャストフレームを用いてブロードキャスト転送を行う通信システムの例であるが、拠点ノード間に存在する一部の通信媒体のみが、拡張タグ付きブロードキャストフレームを用いてブロードキャスト転送を行う通信システムに対しても、上記と同様に、本発明を適用することができる。
上述の方法を用いて、ブロードキャストフレームをブロードキャスト転送した場合、従来のブロードキャスト転送に対して、以下に述べるような利点が得られる。
エッジノード３４００−１〜６から送信されるブロードキャストフレームは、それぞれの各エッジノードがルートノードとなるスパニングツリーのアクティブリンクに沿って下流に向かってブロードキャスト転送されるため、最短経路を用いてブロードキャストフレームを転送することができる。
また、コアノード３４０１−１〜５は、従来のようにフォワーディングデータベースのＭＡＣアドレス検索が必要なくなり、拡張タグに格納されたノード識別子に基づいて出力ポートを決定することができるため、ブロードキャストフレームを高速に転送することができる。
本発明による通信システムでは、拠点ノードの各構成要素をハードウェア的に実現することは勿論として、プログラム制御可能なコンピュータ処理装置（ＣＰＵ）上で、拠点ノードの機能を実現する通信制御プログラム（アプリケーション）をロードして実行することにより、上記各構成要素の機能をソフトウェア的に実現し、以下に述べる処理を実行するシステムとして提供することができる。このタ通信制御は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、拠点ノードとしての機能を実現する。
以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも上記実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
本発明の通信システムによれば、以下に述べるような効果が達成される。
第１の効果は、通信を行っている２つの拠点ノードが接続されている複数の通信媒体に、１つ以上の中継ノードが含まれるような多様なトポロジーを有するネットワークに対して適用可能な、高い信頼性を実現する手段を提供できることである。
その理由は、拠点ノードが、複数の通信媒体を１つのノードと仮想することができるからである。
第２の効果は、障害が発生しても、通信を続行することができる高い信頼性を有する通信システムを提供できることである。
その理由は、キープアライブフレームの送受信することによって障害を検出し、障害を検出していない通信経路のみを用いて通信を続行することができるからである。
第３の効果は、輻輳の発生を抑制することができることである。
その理由は、複数の通信経路を用いて通信することによって、通信帯域を拡大することができるからである。
第４の効果は、設定が簡便であり、設定を誤る確率を軽減することができることである。
その理由は、特定の宛先アドレスを有するキープアライブフレームを用いるため、相手ノード毎に宛先アドレスを設定する必要がないからである。
第５の効果は、相手ノードの数が増大しても、装置の負荷が急激に増大しないということである。
その理由は、キープアライブフレームが中継ノードにおいてブロードキャストされるため、相手ノード毎にキープアライブフレームを送信する必要がないからである。
【図１】
2005048540.tif 000002
【図２】
2005048540.tif 000003
【図３】
2005048540.tif 000004
【図４】
2005048540.tif 000005
【図５】
2005048540.tif 000006
【図６】
2005048540.tif 000007
【図７】
2005048540.tif 000008
【図８】
2005048540.tif 000009
【図９】
2005048540.tif 000010
【図１０】
2005048540.tif 000011
【図１１】
2005048540.tif 000012
【図１２】
2005048540.tif 000013
【図１３】
2005048540.tif 000014
【図１４】
2005048540.tif 000015
【図１５】
2005048540.tif 000016
【図１６】
2005048540.tif 000017
【図１７】
2005048540.tif 000018
【図１８】
2005048540.tif 000019
【図１９】
2005048540.tif 000020
【図２０】
2005048540.tif 000021
【図２１】
2005048540.tif 000022
【図２２】
2005048540.tif 000023
【図２３】
2005048540.tif 000024
【図２４】
2005048540.tif 000025
【図２５】
2005048540.tif 000026
【図２６】
2005048540.tif 000027
【図２７】
2005048540.tif 000028
【図２８】
2005048540.tif 000029
【図２９】
2005048540.tif 000030
【図３０】
2005048540.tif 000031
【図３１】
2005048540.tif 000032
【図３２】
2005048540.tif 000033
【図３３】
2005048540.tif 000034
【図３４】
2005048540.tif 000035
【手続補正書】
【提出日】平成17年9月16日(2005.9.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】請求の範囲
【請求項１】３つ以上の拠点ノードが１つ以上の中継ノードから構成される複数の通信媒体を介して通信を行う通信システムであって、
３つ以上の前記拠点ノードが、前記拠点ノードに属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化部を備えることを特徴とする通信システム。
【請求項２】（削除）
【請求項３】前記仮想化部が、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、１つの宛先に対して複数個登録するフォワーディングデータベースを備えることを特徴とする請求項１に記載の通信システム。
【請求項４】前記仮想化部が、前記拠点ノードの１つ以上のポートを１つの仮想ポートに対応付けるポートマッピングテーブルと、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録するフォワーディングデータベースとを備えることを特徴とする請求項１に記載の通信システム。
【請求項５】前記複数の通信媒体を構成する中継ノードが、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）ネットワークモデルの第２層のデータフレームを転送するノードであることを特徴とする請求項１から請求項４の何れか１項に記載の通信システム。
【請求項６】前記データフレームが、イーサネット（Ｒ）のフレームフォーマットを有するイーサネット（Ｒ）フレーム、ＡＴＭのフレームフォーマットを有するデータフレーム（ＡＴＭセル）、またはフレームリレーのフレームフォーマットを有するデータフレーム（フレームリレーフレーム）、またはＦＤＤＩのフレームフォーマットを有するデータフレームのいずれかであることを特徴とする請求項５に記載の通信システム。
【請求項７】少なくとも１つの前記通信媒体を転送されるデータフレームのフレームフォーマットが、他の前記通信媒体を転送されるデータフレームのフレームフォーマットと異なることを特徴とする請求項１から請求項４の何れか１項に記載の通信システム。
【請求項８】前記複数の通信媒体のうち、任意の通信媒体において転送されるデータフレームのフレームフォーマットが、イーサネット（Ｒ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＡＴＭ、フレームリレー、ＦＤＤＩのフレームフォーマットの任意の組み合わせであることを特徴とする請求項７に記載の通信システム。
【請求項９】前記拠点ノードが、フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信することを特徴とする請求項７または請求項８に記載の通信システム。
【請求項１０】前記拠点ノードと前記複数の通信媒体を接続するリンクが、イーサネット（Ｒ）、ＡＴＭ、フレームリレー、ＡＤＳＬ、アナログ・ダイヤルアップ回線、ＩＳＤＮ、ＦＴＴＨ、ＣＡＴＶのいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項１から請求項９の何れか１項に記載の通信システム。
【請求項１１】前記拠点ノードと前記通信媒体を接続するリンクが、任意のリンク速度を有することを特徴とする請求項１から請求項１０の何れか１項に記載の通信システム。
【請求項１２】複数の前記拠点ノードが、キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項１３】前記キープアライブフレームが、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストされることを特徴とする請求項１２に記載の通信システム。
【請求項１４】前記キープアライブフレームが、前記複数の通信媒体を構成する前記中継ノードにおいてｕｎｋｎｏｗｎユニキャストフレームとして認識される宛先アドレスを有することを特徴とする請求項１３に記載の通信システム。
【請求項１５】前記拠点ノードが、前記キープアライブフレームに記載された情報又は前記キープアライブフレームの到着状態から、あるいはその双方から通信システムの通信状態を取得することを特徴とする請求項１２から請求項１４の何れか１項に記載の通信システム。
【請求項１６】前記通信システムの通信状態が、障害、通信帯域、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項１２から請求項１５の何れか１項に記載の通信システム。
【請求項１７】前記拠点ノードが、所定のアルゴリズムに基づいて、データフレームを出力するポートを決定することを特徴とする請求項１から請求項１６の何れか１項に記載の通信システム。
【請求項１８】前記アルゴリズムが、ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかであることを特徴とする請求項１７に記載の通信システム。
【請求項１９】前記アルゴリズムが重み付けラウンドロビンである場合に、前記拠点ノードに属するポートであって、前記通信媒体に接続されているポートが、データフレームを出力するポートとして選択される確率が、前記通信媒体と前記ポートを接続するリンクのリンク速度により決定されることを特徴とする請求項１８に記載の通信システム。
【請求項２０】前記アルゴリズムが重み付けラウンドロビンである場合に、前記拠点ノードに属するポートであって、前記通信媒体に接続されているポートが、データフレームを出力するポートとして選択される確率が、前記通信システムの通信状態により決定されることを特徴とする請求項１８に記載の通信システム。
【請求項２１】前記アルゴリズムが、データフレームのヘッダ情報と、データフレームのペイロードに記載された内容とに基づいて、データフレームを出力するポートを決定する方式であることを特徴とする請求項１７に記載の通信システム。
【請求項２２】前記拠点ノードが、前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２３】前記拠点ノードが、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２４】前記拠点ノードが、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手の前記拠点ノードとの対応関係を管理するアドレス管理データベースを備え、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２５】前記拠点ノードが、前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２６】前記拠点ノードが、障害の発生箇所又は発生している障害の数あるいはその双方に基づいて、データフレームを出力するポートを決定することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２７】前記拠点ノードが、データフレームのユニキャスト転送、ブロードキャスト転送及びマルチキャスト転送を含む転送方法の種類に基づいて、データフレームを出力するポートを決定することを特徴とする請求項２６に記載の通信システム。
【請求項２８】前記拠点ノードが、前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項２９】前記拠点ノードが、障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送することを特徴とする請求項１２から請求項１６の何れか１項に記載の通信システム。
【請求項３０】前記拠点ノードが、前記拠点ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３１】前記拠点ノードが、前記拠点ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３２】前記拠点ノードが、前記拠点ノードに属するポートの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３３】前記拠点ノードが、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接または１つ以上のノードを介して接続されたホストと前記通信相手の拠点ノードの対応関係を管理するアドレス管理データベースを備えることを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３４】前記拠点ノードが、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに接続されたルータと前記通信相手の拠点ノードの対応関係を管理するアドレス管理データベースを備えることを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３５】前記拠点ノードが、ラーニングフレームを送受信することにより、前記アドレス管理データベースを作成することを特徴とする請求項２４に記載の通信システム。
【請求項３６】前記拠点ノードが、ペイロードに前記拠点ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信し、前記拠点ノードに接続されたルータのノード識別子を相互に通知することにより、前記アドレス管理データベースを作成することを特徴とする請求項１から請求項１１の何れか１項に記載の通信システム。
【請求項３７】前記拠点ノードが、送信元の属する前記拠点ノードと宛先の属する前記拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、前記アドレス管理データベースを作成することを特徴とする請求項２４に記載の通信システム。
【請求項３８】前記ＶＬＡＮ識別子が、送信元が属する前記拠点ノードのノード識別子及び宛先が属する前記拠点ノードのノード識別子を所定の演算を行うことにより計算されることを特徴とする請求項３７に記載の通信システム。
【請求項３９】前記通信媒体を構成する中継ノードが、拡張タグ付きブロードキャストフレームを用いて、ブロードキャストフレーム及びキープアライブフレームを含むデータフレームをブロードキャスト転送することを特徴とする請求項１から請求項３８に記載の通信システム。
【請求項４０】通信システムにおいて１つ以上の中継ノードから構成される複数の通信媒体を介して互いに通信を行う拠点となるノードであって、
前記拠点となる３つ以上のノードにそれぞれ属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化部を備えることを特徴とする拠点ノード。
【請求項４１】前記仮想化部が、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、１つの宛先に対して複数個登録するフォワーディングデータベースを備えることを特徴とする請求項４０に記載の拠点ノード。
【請求項４２】前記仮想化部が、前記拠点ノードの１つ以上のポートを１つの仮想ポートに対応付けるポートマッピングテーブルと、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録するフォワーディングデータベースとを備えることを特徴とする請求項４０に記載の拠点ノード。
【請求項４３】少なくとも１つの前記通信媒体を転送されるデータフレームのフレームフォーマットが、他の前記通信媒体を転送されるデータフレームのフレームフォーマットと異なることを特徴とする請求項４０から請求項４２の何れか１項に記載の拠点ノード。
【請求項４４】フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信することを特徴とする請求項４３に記載の拠点ノード。
【請求項４５】前記複数の通信媒体と接続するリンクが、イーサネット（Ｒ）、ＡＴＭ、フレームリレー、ＡＤＳＬ、アナログ・ダイヤルアップ回線、ＩＳＤＮ、ＦＴＴＨ、ＣＡＴＶのいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項４０から請求項４４の何れか１項に記載の拠点ノード。
【請求項４６】キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得することを特徴とする請求項４０から請求項４５の何れか１項に記載の拠点ノード。
【請求項４７】前記キープアライブフレームに、前記複数の通信媒体を構成する前記中継ノードにおいて未知と認識される宛先アドレスを記載し、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストさせることを特徴とする請求項４６に記載の拠点ノード。
【請求項４８】前記キープアライブフレームに記載された情報、又は前記キープアライブフレームの到着状態から、あるいはその双方から通信システムの通信状態を取得することを特徴とする請求項４６又は請求項４７に記載の拠点ノード。
【請求項４９】前記通信システムの通信状態が、障害、通信帯域の変動、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項４６から請求項４８の何れか１項に記載の拠点ノード。
【請求項５０】ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかのアルゴリズムに基づいて、データフレームを出力するポートを決定することを特徴とする請求項４０から請求項４９の何れか１項に記載の拠点ノード。
【請求項５１】前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５２】前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５３】前記仮想化部が、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手の前記拠点ノードとの対応関係を管理するアドレス管理データベースを備え、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５４】前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５５】障害の発生箇所又は発生している障害の数あるいは双方に基づいて、データフレームを出力するポートを決定することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５６】前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５７】障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５８】前記拠点ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項５９】前記拠点ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６０】前記拠点ノードに属するポートの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６１】自ノード以外の拠点ノードに直接または１つ以上のノードを介して接続されたホストと前記自ノード以外の拠点ノードの対応関係を管理することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６２】自ノード以外の拠点ノードに接続されたルータと前記自ノード以外の拠点ノードの対応関係を管理することを特徴とする請求項４６から請求項４９の何れか１項に記載の拠点ノード。
【請求項６３】ラーニングフレームを送受信することにより、前記拠点ノードに接続されたホストを相互に通知することを特徴とする請求項４０から請求項４５の何れか１項に記載の拠点ノード。
【請求項６４】ペイロードに前記拠点ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信することにより、前記拠点ノードに接続されたルータを相互に通知することを特徴とする請求項４８から請求項５２の何れか１項に記載の拠点ノード。
【請求項６５】送信元ホストの属する前記拠点ノードと宛先ホストの属する前記拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベースを自動的に作成することを特徴とする請求項５３に記載の拠点ノード。
【請求項６６】通信システムにおいて１つ以上の中継ノードから構成される複数の通信媒体を介して互いに通信を行う拠点となるノード上で実行される通信制御プログラムであって、
前記拠点となる３つ以上のノードにそれぞれ属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化機能を有することを特徴とする通信制御プログラム。
【請求項６７】ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、フォワーディングデータベースにおいて、１つの宛先に対して複数個登録する機能を有することを特徴とする請求項６６に記載の通信制御プログラム。
【請求項６８】前記拠点ノードの１つ以上のポートを１つの仮想ポートにポートマッピングテーブルにおいて対応付け、フォワーディングデータベースにおいてある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録する機能を有することを特徴とする請求項６６に記載の通信制御プログラム。
【請求項６９】フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信する機能を有することを特徴とする請求項６６に記載の通信制御プログラム。
【請求項７０】キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得する機能を有することを特徴とする請求項６６から請求項６９の何れか１項に記載の通信制御プログラム。
【請求項７１】前記キープアライブフレームに、前記複数の通信媒体を構成する前記中継ノードにおいて未知と認識される宛先アドレスを記載し、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストさせることを特徴とする請求項７０に記載の通信制御プログラム。
【請求項７２】前記キープアライブフレームに記載された情報又は前記キープアライブフレームの到着状態から通信システムの通信状態を取得する機能を有することを特徴とする請求項７０又は請求項７１に記載の通信制御プログラム。
【請求項７３】前記通信システムの通信状態が、障害、通信帯域の変動、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項７０から請求項７２の何れか１項に記載の通信制御プログラム。
【請求項７４】ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかのアルゴリズムに基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項６６から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７５】前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７６】前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７７】前記仮想化部が、通信相手の前記拠点ノードに属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手の前記拠点ノードとの対応関係をアドレス管理データベースで管理し、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７８】前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項７９】障害の発生箇所又は発生している障害の数あるいは双方に基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８０】前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８１】障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８２】前記拠点ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８３】前記拠点ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更し、または前記ポートマッピングテーブルを変更する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８４】自ノード以外の拠点ノードに直接または１つ以上のノードを介して接続されたホストと前記自ノード以外の拠点ノードの対応関係を管理する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８５】自ノード以外の拠点ノードに接続されたルータと前記自ノード以外の拠点ノードの対応閧係を管理する機能を有することを特徴とする請求項７０から請求項７３の何れか１項に記載の通信制御プログラム。
【請求項８６】ラーニングフレームを送受信することにより、前記拠点ノードに接続されたホストを相互に通知する機能を有することを特徴とする請求項６６から請求項６９の何れか１項に記載の通信制御プログラム。
【請求項８７】ペイロードに前記拠点ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信することにより、前記拠点ノードに接続されたルータを相互に通知する機能を有することを特徴とする請求項７２から請求項７５の何れか１項に記載の通信制御プログラム。
【請求項８８】送信元ホストの属する前記拠点ノードと宛先ホストの属する前記拠点ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベースを自動的に作成する機能を有することを特徴とする請求項７７に記載の通信制御プログラム。
【請求項８９】通信システムにおいて１つ以上の中継ノードから構成される複数の通信媒体を介して互いに通信を行う機能を有するネットワークインターフェースカードを備えたコンピュータであって、
前記ネットワークインターフェースカードが、拠点となる３つ以上の前記コンピュータの前記ネットワークインターフェースカードに属するポートのうち、前記複数の通信媒体に接続された複数のポートを１つの仮想ポートとして扱うことにより、前記複数の通信媒体を１つのノードと仮想する仮想化部を備えることを特徴とするコンピュータ。
【請求項９０】前記ネットワークインターフェースカードの前記仮想化部が、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報を、１つの宛先に対して複数個登録するフォワーディングデータベースを備えることを特徴とする請求項８９に記載のコンピュータ。
【請求項９１】前記ネットワークインターフェースカードの前記仮想化部が、１つ以上のポートを１つの仮想ポートに対応付けるポートマッピングテーブルと、ある送信元から送信されたデータフレームを所定の宛先に転送するためのフォワーディング情報に１つ以上の前記仮想ポートを登録するフォワーディングデータベースとを備えることを特徴とする請求項８９に記載のコンピュータ。
【請求項９２】前記ネットワークインターフェースカードが、フレームフォーマットの異なる前記通信媒体にデータフレームを送信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームに付加して送信し、前記通信媒体からデータフレームを受信する場合、前記通信媒体のフレームフォーマットのヘッダ情報を前記データフレームから外して受信することを特徴とする請求項８９から請求項９１の何れか１項に記載のコンピュータ。
【請求項９３】前記ネットワークインターフェースカードが、キープアライブフレームを相互に送受信することにより、通信システムの通信状態を取得することを特徴とする請求項８９から請求項９２の何れか１項に記載のコンピュータ。
【請求項９４】前記キープアライブフレームに、前記複数の通信媒体を構成する前記中継ノードにおいて未知と認識される宛先アドレスを記載し、前記複数の通信媒体を構成する前記中継ノードにおいてブロードキャストさせることを特徴とする請求項９３に記載のコンピュータ。
【請求項９５】前記キープアライブフレームに記載された情報、又は前記キープアライブフレームの到着状態から、あるいはその双方から通信システムの通信状態を取得することを特徴とする請求項９３又は請求項９４に記載のコンピュータ。
【請求項９６】前記通信システムの通信状態が、障害、通信帯域の変動、遅延のいずれか、またはそれらの任意の組み合わせであることを特徴とする請求項９３から請求項９５の何れか１項に記載のコンピュータ。
【請求項９７】前記ネットワークインターフェースカードが、ラウンドロビンまたは重み付けラウンドロビンによりデータフレームを出力するポートを決定する方式、データフレームのヘッダ情報に基づいて、データフレームを出力するポートを決定する方式、データフレームのペイロードに記載された内容に基づいて、データフレームを出力するポートを決定する方式の何れかのアルゴリズムに基づいて、データフレームを出力するポートを決定することを特徴とする請求項８９から請求項９６の何れか１項に記載のコンピュータ。
【請求項９８】前記ネットワークインターフェースカードが、前記通信システムの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項９９】前記ネットワークインターフェースカードが、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１００】前記ネットワークインターフェースカードの前記仮想化部が、通信相手に属するポートのうち、前記通信媒体に接続されていないポートに直接もしくは１つ以上のノードを介して接続されている全てのホストと、通信相手との対応関係を管理するアドレス管理データベースを備え、前記通信システムの通信状態に基づいて、前記フォワーディングデータベースの出力ポート情報に登録されている仮想ポートを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０１】前記ネットワークインターフェースカードが、前記通信システムの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０２】前記ネットワークインターフェースカードが、障害の発生箇所又は発生している障害の数あるいは双方に基づいて、データフレームを出力するポートを決定することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０３】前記ネットワークインターフェースカードが、前記複数の通信媒体より同一のデータフレームを複数回受信することを防止するフィルタリング機構を備えたことを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０４】前記ネットワークインターフェースカードが、障害の回復を検出した場合に、高い優先度を有するデータフレームを優先して転送し、あるいは、低い優先度を有するデータフレームの通信帯域を制限して転送することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０５】前記ネットワークインターフェースカードが、前記ノードに属するポートの通信状態に基づいて、データフレームを出力するポートを決定することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０６】前記ネットワークインターフェースカードが、前記ノードに属するポートの通信状態に基づいて、前記フォワーディングデータベースを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０７】前記ネットワークインターフェースカードが、前記ノードに属するポートの通信状態に基づいて、前記ポートマッピングテーブルを変更することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０８】前記ネットワークインターフェースカードが、自ノード以外のノードに直接または１つ以上のノードを介して接続されたホストと前記自ノード以外のノードの対応関係を管理することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１０９】前記ネットワークインターフェースカードが、自ノード以外のノードに接続されたルータと前記自ノード以外のノードの対応関係を管理することを特徴とする請求項９３から請求項９６の何れか１項に記載のコンピュータ。
【請求項１１０】前記ネットワークインターフェースカードが、ラーニングフレームを送受信することにより、前記ノードに接続されたホストを相互に通知することを特徴とする請求項８９から請求項９２の何れか１項に記載のコンピュータ。
【請求項１１１】前記ネットワークインターフェースカードが、ペイロードに前記ノードに接続されたルータのノード識別子が格納されたデータフレームを送受信することにより、前記ノードに接続されたルータを相互に通知することを特徴とする請求項９５から請求項９９の何れか１項に記載のコンピュータ。
【請求項１１２】前記ネットワークインターフェースカードが、送信元ホストの属する前記ノードと宛先ホストの属する前記ノードの組み合わせに対して割り当てられたＶＬＡＮ識別子を格納したＶＬＡＮタグを付加したイーサネット（Ｒ）フレームを送受信することにより、アドレス管理データベースを自動的に作成することを特徴とする請求項１００に記載のコンピュータ。
【請求項１１３】前記ネットワークインターフェースカードを複数備え、各ネットワークインターフェースカードが個々の前記通信媒体または任意の数の前記通信媒体と接続されることを特徴とする請求項８９から請求項１１２の何れか１項に記載のコンピュータ。
【国際調査報告】
2005048540.tif 000036
2005048540.tif 000037
2005048540.tif 000038
2005048540.tif 000039