(57)【特許請求の範囲】
【請求項１】
コンピュータネットワークにおけるデータの転送を制御する方法であって、前記コンピュータネットワークは、データを転送するためのノードのセットを備え、第１のノードがプライマリツリーと複数のバックアップツリーに関連付けられており、前記プライマリツリーは、第２のノードへデータを転送するための、前記第１のノードに対するデフォルト経路を定義し、前記複数のバックアップツリーは、前記プライマリツリーに障害がある場合、前記第２のノードへデータを転送するための、前記第１のノードに対する別の経路を定義し、前記複数のバックアップツリーは、複数のバックアップツリーのセットにグループ化されている、前記第１のノードによって実行される、方法であって、
１つ以上の継続性チェックメッセージを前記プライマリツリー上と前記バックアップツリー上に送信するステップと、
前記第２のノードから送信される障害信号であって、前記プライマリツリーの障害ステータスを示す障害信号の受信に応じて、前記プライマリツリーの障害の発生を検出するステップと、
前記複数のバックアップツリーの優先度情報を取得するステップと、
前記プライマリツリーの障害の検出に応じて、前記第２のノードへの前記データの転送を前記プライマリツリーから自身のツリー群のすべてが使用可能である、一定の優先度を有する特定のバックアップツリーのセットへスイッチするステップと
を有することを特徴とする方法。
【請求項２】
前記障害信号は、前記プライマリツリーの前記障害ステータスを示すリモート不良指示フィールドを含む１つ以上の修正された継続性チェックメッセージを含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のノードが前記障害を示す前記修正された継続性チェックメッセージを受信することを停止する場合、前記データの転送を前記プライマリツリーへスイッチするステップを更に有する
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記障害信号は、前記プライマリツリーの識別情報を含む障害通知メッセージを含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のノードによって送信される修復信号であって、前記プライマリツリーの復旧ステータスを示す修復信号の受信に応じて、前記データの転送を前記プライマリツリーへスイッチするステップを更に有する
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記修復信号は、前記プライマリツリーの識別情報を含む修復通知メッセージを含んでいる
ことを特徴とする請求項５に記載の方法。
【請求項７】
コンピュータネットワークにおけるデータの転送を制御する方法であって、前記コンピュータネットワークは、データを転送するためのノードのセットを備え、第１のノードがプライマリツリーと複数のバックアップツリーに関連付けられており、前記プライマリツリーは、第２のノードへデータを転送するための、前記第１のノードに対するデフォルト経路を定義し、前記複数のバックアップツリーは、前記プライマリツリーに障害がある場合、前記第２のノードへデータを転送するための、前記第１のノードに対する別の経路を定義し、前記複数のバックアップツリーは、複数のバックアップツリーのセットにグループ化されている、前記第２のノードによって実行される、方法であって、
前記第１のノードから前記プライマリツリー上で送信される継続性チェックメッセージを受信するステップと、
前記第１のノードから送信される少なくとも１つの継続性チェックメッセージが前記第２のノードで受信されない場合、前記プライマリツリーの障害の発生を検出するステップと、
前記プライマリツリーの障害ステータスを示す障害信号を送信することによって、前記プライマリツリーの前記障害について前記第１のノードへ通知するステップと
前記プライマリツリーの前記障害の検出に応じて、自身のバックアップツリー群のすべてが使用可能である、前記バックアップツリーのセットに属する前記バックアップツリー群上だけに前記障害信号を送信するステップと
を有することを特徴とする方法。
【請求項８】
前記第１のノードから送信される所定数の連続する継続性チェックメッセージが前記第２のノードにおいて受信されていない後に、所定時間期間が満了している場合に、前記障害の発生が検出される
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記障害信号は、前記プライマリツリーの前記障害ステータスを示すリモート不良指示フィールドを含む１つ以上の修正された継続性チェックメッセージを生成することによって提供される
ことを特徴とする請求項７または８に記載の方法。
【請求項１０】
前記第２のノードは、前記プライマリツリー上で、前記第１のノードから送信される継続性チェックメッセージを再度受信するまで、前記修正された継続性チェックメッセージを継続的に送信する
ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記障害信号は、前記プライマリツリーの識別情報を含む障害通知メッセージを生成することによって提供される
ことを特徴とする請求項７または８に記載の方法。
【請求項１２】
前記第２のノードが、前記プライマリツリー上で前記第１のノードから送信される前記継続性チェックメッセージを再度受信する場合に、修復信号を送信するステップを更に有し、
前記修復信号は、前記プライマリツリーの復旧ステータスを示している
ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記修復信号は、前記プライマリツリーの識別情報を含む修復通知メッセージを生成することによって提供される
ことを特徴とする請求項１２に記載の方法。
【請求項１４】
所定数の連続する継続性チェックメッセージが前記第２のノードにおいて再度受信された後に、所定時間期間が満了している場合に、前記修復信号が送信される
ことを特徴とする請求項１２または１３に記載の方法。
【請求項１５】
前記障害通知メッセージと前記修復通知メッセージの少なくとも１つは、ＣＦＭフォーマットに適合するメッセージである、あるいはタイプレングス値として継続性チェックメッセージ内に含まれる
ことを特徴とする請求項３乃至７、及び１１乃至１４のいずれか１項に記載の方法。
【請求項１６】
前記プライマリツリーの前記障害を発生しているネットワーク構成要素を除いて、前記プライマリツリーと同一のツリー計算アルゴリズムを使用することによって前記バックアップツリーを提供するステップを更に有する
ことを特徴とする請求項１乃至１５のいずれか１項に記載の方法。
【請求項１７】
コンピュータデバイスで実行される場合に、請求項１乃至６のいずれか１項に記載の方法あるいは請求項７乃至１６のいずれか１項に記載の方法を実行するためのプログラムをコンピュータに実行させるためのコンピュータプログラム。
【請求項１８】
コンピュータ可読記録媒体に記憶されている
ことを特徴とする請求項１７に記載のコンピュータプログラム。
【請求項１９】
コンピュータネットワークに対するノードであって、データを前記コンピュータネットワーク内の他のノードに転送するように構成されているノードであって、
当該ノードをプライマリツリーと複数のバックアップツリーに関連付けるように構成されているプロセッサであって、前記プライマリツリーが前記他のノードへデータを転送するための、当該ノードに対するデフォルト経路を定義し、前記複数のバックアップツリーが前記プライマリツリーに障害がある場合、前記他のノードへデータを転送するための、当該ノードに対する別の経路を定義し、前記複数のバックアップツリーは、複数のバックアップツリーのセットであって、異なるバックアップツリーのセットの優先度が割り当てられている複数のバックアップツリーのセットにグループ化されている、プロセッサと、
１つ以上の継続性チェックメッセージを前記プライマリツリー上と前記バックアップツリー上に送信するように構成されている送信機と、
前記他のノードから送信される障害信号を受信するように構成されている受信機と、
前記他のノードから送信される、前記プライマリツリーの障害ステータスを示す前記障害信号の受信に基づいて、前記プライマリツリーの障害の発生を検出するように構成されている検出器とを備え、
前記プロセッサは、前記プライマリツリーの障害の検出に応じて、前記他のノードへの前記データの転送を前記プライマリツリーから、一定のバックアップツリーのセットの優先度を有し、かつ自身のツリー群のすべてが使用可能である、特定のバックアップツリーのセットへスイッチするように構成されている
ことを特徴とするノード。
【請求項２０】
前記検出器は、前記プライマリツリーの前記障害ステータスを示すリモート不良指示フィールドを含む１つ以上の修正された継続性チェックメッセージの存在に基づいて、前記プライマリツリーの前記障害の発生を検出するように構成されている
ことを特徴とする請求項１９に記載のノード。
【請求項２１】
前記プロセッサは、更に、当該ノードが前記他のノードから送信される前記修正された継続性チェックメッセージを受信することを停止する場合、前記データの転送を前記プライマリツリーへスイッチするように構成されている
ことを特徴とする請求項２０に記載のノード。
【請求項２２】
前記検出器は、前記障害信号内の、前記プライマリツリーの識別情報を含む障害通知メッセージの存在に基づいて、前記プライマリツリーの前記障害の発生を検出するように構成されている
ことを特徴とする請求項１９に記載のノード。
【請求項２３】
前記プロセッサは、前記他のノードから送信される、前記プライマリツリーの復旧ステータスを示す修復信号の受信に応じて、前記データの転送を前記プライマリツリーへスイッチするように構成されている
ことを特徴とする請求項２２に記載のノード。
【請求項２４】
コンピュータネットワークに対するノードであって、データを前記コンピュータネットワーク内の他のノードから受信するように構成されているノードであって、前記他のノードはプライマリツリーと複数のバックアップツリーに関連付けられていて、前記プライマリツリーが当該ノードへデータを転送するための、前記他のノードに対するデフォルト経路を定義し、前記複数のバックアップツリーが前記プライマリツリーに障害がある場合、当該ノードへデータを転送するための、前記他のノードに対する別の経路を定義し、前記複数のバックアップツリーは、複数のバックアップツリーのセットにグループ化されている、ノードであって、
前記他のノードから前記プライマリツリー上で送信される１つ以上の継続性チェックメッセージを受信するように構成されている受信機と、
前記他のノードから送信される少なくとも１つの継続性チェックメッセージが前記受信機で受信されない場合、前記プライマリツリーの障害の発生を検出するように構成されている検出器と、
前記プライマリツリーの障害ステータスを示す障害信号を提供することによって、前記プライマリツリーの前記障害について前記他のノードへ通知するように構成されているプロセッサと、
前記プライマリツリーの前記障害の検出に応じて、自身のバックアップツリー群のすべてが使用可能である、前記バックアップツリーのセットに属する前記バックアップツリー群上だけに前記障害信号を前記他のノードへ送信するように構成されている送信機と
を有することを特徴とするノード。
【請求項２５】
前記検出器は、前記他のノードから送信される所定数の連続する継続性チェックメッセージが前記受信機において受信されていない後に、所定時間期間が満了している場合に、前記障害の発生を検出するように構成されている
ことを特徴とする請求項２４に記載のノード。
【請求項２６】
前記プロセッサは、前記プライマリツリーの前記障害ステータスを示すリモート不良指示フィールドを含む１つ以上の修正された継続性チェックメッセージを生成することによって前記障害信号を提供するように構成されている
ことを特徴とする請求項２４または２５に記載のノード。
【請求項２７】
前記送信機は、前記プライマリツリー上で、前記他のノードから送信される継続性チェックメッセージを前記受信機が再度受信するまで、前記修正された継続性チェックメッセージを継続的に送信するように構成されている
ことを特徴とする請求項２６に記載のノード。
【請求項２８】
前記プロセッサは、前記プライマリツリーの識別情報を含む障害通知メッセージを生成することによって前記障害信号を提供するように構成されている
ことを特徴とする請求項２４または２５に記載のノード。
【請求項２９】
前記プロセッサは、前記プライマリツリー上で前記他のノードから送信される前記継続性チェックメッセージを前記受信機が再度受信する場合に、前記他のノードへ送信すべき修復信号を提供するように構成され、
前記修復信号は、前記プライマリツリーの復旧ステータスを示している
ことを特徴とする請求項２８に記載のノード。
【請求項３０】
前記プロセッサは、前記プライマリツリーの識別情報を含む修復通知メッセージを生成することによって前記修復信号を提供するように構成される
ことを特徴とする請求項２９に記載のノード。
【請求項３１】
前記送信機は、所定数の連続する継続性チェックメッセージが前記受信機において再度受信された後に、所定時間期間が満了している場合に、前記修復信号を送信するように構成されている
ことを特徴とする請求項２９または３０に記載のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークに関するものであり、特に、複数のデータ転送ノードを備えるコンピュータネットワークにおいて、データ転送を制御し、かつ保護されたマルチポイント接続を提供するための方法及び装置に関するものである。また、本開示は、ＩＥＥＥ８０２．１ａｑに関して策定中の標準化活動に関するものである。
【背景技術】
【０００２】
コンピュータネットワークは、いくつかの相互接続されているコンピュータに、互いに通信することを可能にし、かつリソース及び情報の少なくとも一方を共有することを可能にする。有線あるいは無線の通信リンクがコンピュータ間に提供されることで、コンピュータ間でのデータの送受信を容易にする。コンピュータネットワークは、様々な基準に従って分類され、これには、例えば、規模、目的、更には、ネットワーク内の個々のデバイスを相互接続するために使用される、ハードウェア及びソフトウェア技術がある。例えば、ローカルエリアネットワーク（ＬＡＮ）は、家あるいはオフィスのような小規模の物理的なエリアをカバーするコンピュータネットワークである。イーサネット（登録商標）は、ＬＡＮに対する、フレームベースのコンピュータネットワーキング技術の一式である。ＩＥＥＥ８０２．３として標準化されているイーサネットネットワークは、今日の最も一般的なコンピュータネットワークの１つとして発達している。
【０００３】
時には、ネットワーク内の１つのコンピュータは別のコンピュータと直接接続されておらず、１つ以上の中間電子デバイスが介在する。中間デバイスは、１つ以上の発信元コンピュータから発信されるデータを、１つ以上の宛先コンピュータあるいは１つ以上の中間デバイスへと転送あるいは中継することができる。このような中間デバイスの例には、ハブ、ブリッジ、スイッチ、ルータ等がある。以下では、これらの中間デバイスを、「ノード」と呼ぶことにする。
【０００４】
ブリッジ及びルータのようないくつかのタイプのノードは、「無分別」にデータを単純に転送するのではなく、ある程度のルーティング知能を伴って実現され、そうすることで、これらのノードは、到来データを解析して、自身の周辺のノードから、更に転送すべきデータに対する１つあるいは複数の適切なノードを判定することができる。例えば、ブリッジは、到来データのＯＳＩレイヤ２のアドレスを解析して、そのデータが近隣のブリッジに転送できるかどうかを判定することができる。本願のコンテキストでは、用語「ルーティング」は、ネットワークトラフィックを送信するための、ネットワーク内の経路を選択するプロセスを示している。「ルーティング」はルータに限定されるものではなく、通常は、レイヤ３デバイスと見なされるものである。
【０００５】
多くのルーティングプロトコルが数年にわたって開発されて、どのようにしてコンピュータネットワーク上のノードが互いに通信するか、また、特に、どのようにしてルーティング関連情報をノード間で広めて、互いのノードがネットワークのトポロジーの知識を取得することができるようにするかを規定している。この知識は、各ノードに、一定のルーティングアルゴリズムを使用して、データを他のノードに対して転送するための最適な経路（群）を計算することを可能にしている。
【０００６】
リンクステートプロトコルは、コンピュータネットワーク内で広範囲に及ぶ主要なクラスのルーティングプロトコルであり、特定のリンクステートプロトコルには、中間システム（Intermediate System）間プロトコル、あるいはＩＳ−ＩＳがある。ＩＳ−ＩＳは、ノード群のネットワークを通じて、トポロジー情報を確実にフラッディング（flooding）させるように動作する。各ノードは、次に、別々に、ネットワークトポロジーの状況を構築する。データ、特に、好ましくは、パケット、フレームあるいはデータグラムは、ネットワークを介する最適なトポロジー経路に基づいて宛先へ転送される。ＩＳ−ＩＳは、ネットワークを介する最適な経路を計算するためのダイクストラアルゴリズムを使用する。
【０００７】
ノード間の最適な経路の計算は入念に設計されなければならず、そうすることで、円滑で、安全にかつ効率的な方法でノード間でのデータ転送を行うことができる。スパニングツリープロトコル（ＳＴＰ）は、このような目的のために提案されているものである。ＩＥＥＥ８０２．１Ｄで初めて定義された、ＳＴＰはリンクレイヤ（ＯＳＩのレイヤ２に対応する）ネットワークプロトコルであり、これは、ＬＡＮに対してループフリートポロジーを保障する。ループ群は回避されるべきものである。なぜなら、これらのループ群は、ネットワーク内でフラッディングをもたらすからである。その名前が示しているように、ＳＴＰは、ネットワーク全体に広がる、ループフリーのリーフ群とブランチ群のツリー構造を作成する。スパニングツリーは、ループを形成する危険を伴うことなく、あるいは、バックアップリンク群を手動で有効にする／無効にすることを必要とすることなく、ネットワーク設計者に、冗長なリンク群を物理的なトポロジーに含めることを可能にする。
【０００８】
標準化された当初のＳＴＰの改良として、ラピッドスパニングツリープロトコル（ＲＳＴＰ）は、トポロジー変更後の高速のスパニングツリー収束（コンバージェンス）を実現する。更なる改良版には、マルチプルスパニングツリープロトコル（ＭＳＴＰ）があり、これは、当初はＩＥＥＥ８０２．１ｓで定義され、その後、ＩＥＥＥ８０２．１Ｑに集約されている。ＲＳＴＰプロトコルの拡張として、ＭＳＴＰは、更に、仮想ＬＡＮ（ＶＬＡＮ）の有用性を発展させている。ＭＳＴＰは、各ＶＬＡＮグループに対して個別のスパニングツリーを構成設定し、そして、各スパニングツリー内で取り得る代替の経路群の１つ以外はすべてブロックする。
【０００９】
キャリアグレード（格付）サービスをサポートするために、コンピュータネットワークを強化するための継続的な努力がなされている。ＩＥＥＥ８０２．１Ｑａｙ  ＰＢＢ−ＴＥは、ポイントツーポイントトラフィックエンジニア化サービス及びポイントツーマルチポイントトラフィックエンジニア化サービスをサポートし、かつポイントツーポイントサービスに対する保護スイッチングを提供することを定義している。つまり、２つのノードを接続するあるリンクに障害がある場合、あるいはそのリンクに沿う任意の中間ノード（群）に障害がある場合、２つのノード間のデータ転送は、オリジナルのデフォルト経路から代替のバックアップ経路へと自動的にスイッチされる。このようなスイッチングストラテジーは、効果的に、経路障害からデータ転送を保護する。つまり、これは、保護スイッチングとして知られているものである。保護スイッチングは、ファイルオーバ時間を制限することを目的としていて、例えば、このファイルオーバ時間は、デフォルト経路からバックアップ経路へのスイッチングをできる限り短く実行するための時間である。ＰＢＢ−ＴＥは、ポイントツーポイント接続に対してのみ保護スイッチングを実現する。
【００１０】
ＰＢＢ−ＴＥは、保護スイッチングをサポートし、これは、デフォルト経路あるいはオプションの経路と、バックアップ経路の両方がモニタ（監視）されることを要求する。これは、イーサネット接続性障害管理（ＣＦＭ）プロトコルの継続性チェックメッセージ（ＣＣＭ）によって実現される。ＣＣＭは、標準イーサネットメカニズムの１つであり、これは、ネットワーク内の接続性障害を検出して信号送信する。
【００１１】
ＩＥＥＥ８０２．１ａｇで定義されるように、ＣＦＭは、一定の動作、統治及び管理（ＯＡＭ）ケイパビリティを特定して、ネットワークアドミニストレータがネットワークをデバックすることを支援する。３つのタイプのＣＦＭメッセージが、現在の規格によってサポートされていて、これは、継続性チェック、ループバック及びトレースルートである。継続性チェックメッセージ（ＣＣＭ）はノード間で交換されるマルチキャストハートビートメッセージであり、これは、ノード群に、自身の間でのサービス接続性の損失を検出することを可能にする。ＣＣＭは一方向であり、どんな応答も懇請しない。ソースノードからのＣＣＭの不在情報、あるいはＣＣＭのタイプレングス値（ＴＬＶ）の１つで受信される特別情報は、ノード間の接続性が途絶していることを宛先ノードへ示すことができる。これにより、保護スイッチングが自動的に起動される。現在のＣＦＭ技術は、約５０ｍｓのファイルオーバ時間を達成することができる。
【００１２】
最新のＣＦＭ規格に従えば、ＣＣＭメッセージは、リモート不良指示（ＲＤＩ）フィールヂを含んでいる。しかしながら、この規格は、このフィールドをどのように使用できるかは規定していない。
【００１３】
マルチポイントツーマルチポイントサービスに対して利用可能な制御プロトコルは、マルチポイントサービスとも呼ばれ、これには、ＲＳＴＰ及びＭＳＴＰがある。ＩＥＥＥにおいて策定中の標準化プロジェクトには、８０２．１ａｑの最短経路ブリッジングがあり、これは、リンクステートの原理に基づくネットワーク用の新規の制御プロトコルを定義している。ＳＰＢも、マルチポイントサービスをサポートすることができる。
【００１４】
まとめると、ＳＰＢは、リンクステートルーティングプロトコル、例えば、ＩＳ−ＩＳをイーサネットブリッジング用のメッシュトポロジーの利用に適用する。ＳＰＢは、第１位のタイブレーカー（tie-breaker）として最小経路コストを有する最短経路ツリー上にデータを転送する。ＳＰＢの明確な２つの特性は、
各ノードに対して、少なくとも１つの最短経路ツリー（ＳＰＴ）が、ツリーのルートとしてノードに提供されることと、
ノードＡとノードＢの任意のペアに対して、ノードＡからノードＢへのユニキャスト経路は、ノードＢからノードＡの厳格な逆経路となり（逆経路一致性（congruency））、また、２つのノード間のマルチキャストトラフィックは、ユニキャスト経路に従うことである（マルチキャストとユニキャスト一致性）。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ＳＰＢでは、従来のブリッジ学習が、ＳＰＢ領域を経由するポート群とルート群とを（カスタマ）ＭＡＣアドレスに関連付けるために使用される。各ノードに関連付けられているソースがルートになっているツリーには、それを識別するために、固有のＶＬＡＮ  ＩＤ（ＳＰＶＩＤ）が割り当てられる。
【００１６】
イーサネット以外の他のコンピュータネットワークにおけるマルチポイントサービスに対する回復力を提供することも重要な課題である。例えば、ＭＰＬＳは、ポイントツーポイントサービスに対してのみ高速ファイルオーバを提供することができて、マルチポイントサービスには提供できない。
【００１７】
これらの様々な制御プロトコルの原理があるにも関わらず、ＲＳＴＰ／ＭＳＴＰ及びＳＰＢ（現在の規格の草案に記載されているように）は、それらの障害対策原理は共通である。つまり、ＳＰＢとＲＳＴＰ／ＭＳＴＰの両方は、障害対策に対する復旧（回復）を適用する。即ち、これらは、ネットワーク要素（ノードあるいはリンク）に障害があると、転送トポロジーを動的に再度構成設定する。しかしながら、転送トポロジーの復旧時間は、ファイルオーバ時間に等しく、任意の所定の上限を有さないが、いくつかの要素に依存する。例えば、ネットワークのサイズ、ネットワークトポロジーのタイプ、及び障害の場所はすべて、ファイルオーバ時間に重大な影響を与える。つまり、ファイルオーバ時間は制御されず、また、有限でないが、状況によって異なる状況となる。これは、ファイルオーバ時間が、今日利用可能なすべての制御プロトコルの場合、即ち、ＲＳＴＰ／ＭＴＳＰとＳＰＢの両方の場合に、マルチポイントサービスに対して所望のレベルを超える可能があるということである。
【００１８】
この問題は、他のコンピュータネットワークにも同様で、即ち、この問題は、マルチポイントサービスに対する復旧だけに当てはまる、つまり、ファイルオーバ時間に対する保証は確実ではない。
【００１９】
高速で、信頼性があり、かつロバストな方法で、コンピュータネットワーク内でのデータ転送を容易にするための、コンピュータネットワークに対する制御技術を提供することが要望されている。具体的には、要望されているソリューションは、ＳＰＢによって制御されるネットワークのような、マルチポイントサービスを提供することができるコンピュータネットワークに適用される場合に、保護スイッチングを実現可能とすることが期待される。今までのところ、マルチポイントサービスのための保護スイッチングを実現するための仕様や具体的な技術は知られていない。
【課題を解決するための手段】
【００２０】
このソリューションを実現するために、コンピュータネットワークにおけるデータの転送を制御する第１の方法が提供される。前記コンピュータネットワークは、互いにデータを転送することができるノードのセットを備える。データ転送のために、ノードに対するツリーが作成される。第１のノードは、プライマリツリーとバックアップツリーに関連付けられており、前記プライマリツリーは、第２のノードへデータを転送するための、前記第１のノードに対するデフォルト経路を規定し、前記バックアップツリーは、バックアップとして異なる経路を定義している。つまり、前記プライマリツリーに障害がある場合、前記第１のノードは、前記第２のノードへデータを転送するために、前記バックアップツリーを使用することができる。この方法は、前記第１のノードによって実行され、そして、１つ以上の継続性チェックメッセージを前記プライマリツリー上と前記バックアップツリー上に送信するステップと、前記第２のノードによって送信される障害信号であって、前記プライマリツリーの障害ステータスを示す障害信号の受信に応じて、前記プライマリツリーの障害の発生を検出するステップと、前記プライマリツリーの障害の検出に応じて、前記データの転送を前記プライマリツリーから前記バックアップツリーへスイッチするステップとを有する。
【００２１】
前記第１のノードは、異なる経路を介して前記第２のノードから送信される前記障害信号を受信することができる。この異なる経路は、例えば、前記バックアップツリーあるいは、単に使用可能な別のツリーである。経路は、非ツリーリンク（例えば、直接接続）であっても良い。この経路は、前記第２のノードから前記第１のノードへ渡る前記障害信号に対する接続を提供するのに十分である。
【００２２】
このソリューションは、例えば、順方向の経路と逆方向の経路の一致性／対称性が常に維持しなければならないネットワークに対して有用である。ここで、このソリューションは、ＳＰＢによって制御されるネットワークに十分に適している。それでもなお、このソリューションは、他のタイプのネットワークに対しても実現することができる。このソリューションの原理の１つは、以下の説明から明らかにすることができるものであり、それは、デフォルトのデータ転送経路の障害をソースノードに通知することである。この通知は、主に、バックアップ経路上の宛先ノードによって提供される。
【００２３】
前記障害信号は、様々な形態をとることができる。第１の変形としては、前記障害信号は、１つ以上の修正された継続性チェックメッセージを含むことができる。用語「修正された」は、前記プライマリツリー上と前記バックアップツリー上で、前記第１のノードによって送信される前記継続性チェックメッセージとは異なることを示している。例えば、この異なることは、前記継続性チェックメッセージに含まれるリモート不良指示（ＲＤＩ（Remote Defect Identification））フィールドに関係していても良い。従来では、未修正の継続性チェックメッセージでは、ＲＤＩフィールドがクリアされている一方で、この変形とされる修正された継続性チェックメッセージでは、ＲＤＩフィールドがセットされている。セットされたＲＤＩフィールドは、プライマリツリーの障害ステータスを示すように機能する。第１のノードが第２のノードから送信される修正された継続性チェックメッセージを受信することを停止する場合、前記データの転送を前記バックアップツリーから前記プライマリツリーへスイッチする。
【００２４】
第２の変形としては、前記障害信号は、前記プライマリツリーの識別情報を含む障害通知メッセージを含んでいる。このような障害信号は、前記プライマリツリー上で障害が発生していることを受信先、例えば、前記第１のノードへ通知することを指示する。
【００２５】
前記第１のノードが、前記バックアップツリーへのスイッチ後、前記第２のノードから送信される異なる修復信号であって、前記プライマリツリーの復旧ステータスを示す修復信号を受信する場合、前記第１のノードは、前記データの転送を前記バックアップツリーから前記プライマリツリーへスイッチすることができる。特殊な変形では、前記修復信号は、前記プライマリツリーの識別情報を含む修復通知メッセージを含むことができ、そうすることで、受信先、例えば、第１のノードは、前記プライマリツリーが復旧されていることを知ることになる。
【００２６】
障害通知メッセージ及び修復通知メッセージは、上述の指示の目的を満足する限り、様々な形態をとることができる。例えば、現在のＣＦＭプロトコルは、障害通知メッセージ及び修復通知メッセージの少なくとも一方に対して適切なデータ構造を提供するように拡張することができる。１つの変形に従えば、新規のＣＦＭメッセージフォーマットは、別の変形に従って、通知メッセージ群の内の１つに対して設計することができ、障害通知あるいは修復通知を示す新規のタイプレングス値（ＴＬＶ）を、標準の継続性チェックメッセージに追加することができる。
【００２７】
障害管理を向上させるために、複数のバックアップツリーを前記第１のノードに対して提供することができる。すべてのバックアップツリーは、前記第２のノードへデータを転送するための、前記第１のノードに対する異なるバックアップ経路を定義する。前記プライマリツリーの使用可能なステータスと前記バックアップツリーの使用可能なステータスとをモニタするために、前記第１のノードは、１つ以上の継続性チェックメッセージを、前記プライマリツリー上と前記バックアップツリー上に送信することができる。また、この方法は、前記バックアップツリーの優先度情報、例えば、前記バックアップツリーの優先度のリストを取得するステップと、前記プライマリツリーの前記障害の検出に応じて、前記データの転送を、一定の優先度を有し、かつ使用可能（即ち、障害の発生がない状態）である特定のバックアップツリーへスイッチするステップとを備えることができる。例えば、前記第１のノードは、前記データの転送を、前記リストの最高優先度を有する、使用可能であるバックアップツリーにスイッチすることができる。
【００２８】
前記複数のバックアップツリーは、１つ以上のセットにグループ化されても良い。これがそのような場合、前記バックアップツリーのセットの優先度情報、例えば、前記セットの優先度のリストを取得するステップと、前記プライマリツリーの障害の検出に応じて、前記データの転送を、一定の優先度を有し、かつ自身のツリー群のすべてが使用可能である、特定のバックアップツリーのセットへスイッチするステップとを更に実行しても良い。
【００２９】
このソリューションを実現するために、更に、コンピュータネットワークにおけるデータの転送を制御する更なる方法が提供される。第１の方法の状況と同様に、前記コンピュータネットワークは、互いにデータを転送することができるノードのセットを備える。データを転送するためのツリーがノードに対して提供される。第１のノードは、プライマリツリーとバックアップツリーに関連付けられており、前記プライマリツリーは、第２のノードへデータを転送するための、前記第１のノードに対するデフォルト経路を定義し、前記バックアップツリーは、前記プライマリツリーに障害がある場合、データを転送するための、別の異なる経路を定義している。この方法は、前記第２のノードによって実行されるいくつかのステップを備える。この方法は、前記第１のノードから前記プライマリツリー上で送信される１つ以上の継続性チェックメッセージを受信するステップと、前記第１のノードから送信される少なくとも１つの継続性チェックメッセージが前記第２のノードで受信されない場合に、前記プライマリツリーの障害の発生を検出するステップと、前記プライマリツリーの障害ステータスを示す障害信号を送信することによって、前記プライマリツリーの前記障害について前記第１のノードへ通知するステップとを備える。
【００３０】
前記第２のノードは、異なる経路を介して前記障害信号を前記第２のノードへ送信することができる。この異なる経路は、例えば、前記バックアップツリーあるいは、単に動作可能な別のツリーである。この経路は、非ツリーリンクであっても良い。この経路は、前記第２のノードから前記第１のノードへ渡る前記障害信号に対する（例えば、直接）接続を提供するのに十分である。
【００３１】
検出の精度を高めるために、前記第２のノードは、前記第１のノードから送信される所定数の連続する継続性チェックメッセージを受信しない場合にのみ、前記障害の発生を決定することができる。また、障害の発生の決定がなされる前に、所定数の連続する継続性チェックメッセージがすべて紛失していることが検出されることの可能性を高めるために、ホールドオフ時間が、例えば、所定の時間期間として適用されても良い。つまり、前記障害の発生は、前記第１のノードから送信される所定数の連続する継続性チェックメッセージが前記第２のノードにおいて受信されていない後に、所定時間期間が満了している場合に、検出することができる。
【００３２】
第１の方法と同様に、第２の方法で参照される前記障害信号は、様々な形態をとることができ、また、様々な方法で提供することができる。第１の変形としては、前記第２のノードは、前記障害信号として機能する１つ以上の修正された継続性チェックメッセージを生成することができる。従来の継続性チェックメッセージと比べて、修正された継続性チェックメッセージは異なっている（例えば、その中には少なくともＲＤＩ−フィールドがセットされていて、セットされているＲＤＩ−フィールドは、プライマリツリーの障害ステータスを示すように定義されている）。
【００３３】
前記プライマリツリーが障害ステータスを保持している限り、前記プライマリツリー上の前記第１のノードから送信される（未修正の）継続性チェックメッセージは、前記第２のノードへ到達することはない。従って、前記第２のノードは、前記プライマリツリーの障害が復旧するまで、即ち、前記第２のノードが、前記第１のノードから発信された（未修正の）継続性チェックメッセージを再度受信するまで、前記修正された継続性チェックメッセージを継続的に送信することができる。
【００３４】
第２の変形として、前記第２のノードは、前記プライマリツリーの識別情報を含む障害通知メッセージを生成することによって前記障害信号を提供することができる。このようなメッセージは、前記プライマリツリーが障害ステータスの状態にあることを、受信先、例えば、前記第１のノードへ示すものである。
【００３５】
前記データの転送を前記バックアップツリーへスイッチした後、前記プライマリツリー上で前記第１のノードから送信される前記継続性チェックメッセージを前記第２のノードが再度受信する場合、前記プライマリツリーが復旧されていて、かつ前記プライマリツリー上のデータの転送を再開することができると解釈する。前記プライマリツリーの復旧されたステータスを前記第１のノードへ示すために、前記第２のノードは、別の信号、いわゆる、修復信号を送信することができる。前記修復信号は、前記プライマリツリーの識別情報を含む修復通知メッセージを生成することによって提供されても良い。つまり、そのような修復信号の受信に応じて、前記第１のノードは、前記プライマリツリーが復旧されていることを知ることになる。
【００３６】
前記プライマリツリーが実際に復旧されていることを精度よく検出するために、前記第２のノードは、前記第１のノードから発信された所定数の連続する継続性チェックメッセージが前記第２のノードにおいて再度受信されるまで決定を行うことを「延期」することができる。つまり、前記修復信号は、前記所定数の連続する継続性チェックメッセージの受信後のみ送信しても良い。更なる拡張として、ホールドオフ時間を適用することができる。上述の２つの拡張の組み合わせも実現可能である。即ち、前記所定数の連続する継続性チェックメッセージが前記第２のノードに再度受信された後に、所定時間期間が満了している場合に、前記修復信号が送信されても良い。
【００３７】
第１の方法と同様に、前記第１のノードは、複数のバックアップツリーに関連付けられていても良い。この場合、前記第２のノードは、使用可能である前記バックアップツリーのすべてに前記障害信号を送信しても良い。また、前記複数のバックアップツリーは、１つ以上のセットにグループ化されても良い。前記プライマリツリーの前記障害の検出に応じて、前記第２のノードは、自身のバックアップツリー群のすべてが使用可能である、前記セットに属する前記バックアップツリー群上にのみ前記障害信号を送信しても良い。
【００３８】
前記プライマリツリーは、最短経路ツリーを計算するアルゴリズムを使用して計算されても良い。その計算中には、前記プライマリツリーの前記障害を発生するネットワーク構成要素がトポロジーから除外されるべきであるので、それを除く同一の最短経路ツリーアルゴリズムを使用して、前記バックアップツリーあるいは前記バックアップツリー群は、計算されても良い。
【００３９】
このソリューションは、コンピュータプログラムがコンピュータデバイスで実行される場合に、上述の方法のステップを実行するためのプログラム部分を備えるコンピュータプログラムによって実現することもできる。このコンピュータデバイスは、前記第１のノードあるいは前記第２のノード自身であっても良いが、前記第１のノードあるいは前記第２のノードに統合されている一定の構成要素あるいは構成要素のセットとすることもできる。また、前記コンピュータデバイスは、前記第１のノードあるいは前記第２のノードに統合することができ、また、前記第１のノードあるいは前記第２のノードを制御して対応する方法を実行するための、スタンドアローン装置であっても良い。コンピュータプログラムは、コンピュータ可読記録媒体に記憶されていても良い。
【００４０】
このソリューションは、ハードウェアによって実現することもできる。第１のハードウェアの態様に従えば、コンピュータネットワークに対するノードが提供され、前記ノードは、データを前記コンピュータネットワーク内の他のノードに転送するように構成されている。当該ノードは、プライマリツリーとバックアップツリーに関連付けるように構成されているプロセッサを備え、これらは、前記他のノードへ前記データを転送するための、当該のノードに対する最短経路ツリー経路群を定義している。前記プライマリツリーがデータを転送するためのデフォルト経路を定義している一方で、前記バックアップツリーが前記プライマリツリーに障害がある場合に当該ノードが使用することができる別の経路を提案している。当該ノードは、更に、１つ以上の継続性チェックメッセージを前記プライマリツリー上と前記バックアップツリー上に送信するように構成されている送信機を備える。当該ノードは、更に、前記他のノードから送信される障害信号を受信するように構成されている受信機を備える。当該ノードの更なる構成要素は、前記プライマリツリーの障害の発生を検出するための検出器である。この検出器は、前記プライマリツリーの障害ステータスを示す、前記他のノードから送信される前記障害信号の受信に基づいて、障害の発生を検出するように構成されている。また、前記プロセッサは、前記プライマリツリーの障害の検出に応じて、前記データの転送を前記プライマリツリーから前記バックアップツリーへスイッチするように構成されている。
【００４１】
前記検出器は、前記障害信号の異なる変形に基づいて、前記プライマリツリーの前記障害の発生を検出することができる。第１の変形として、前記障害信号は、１つ以上の修正された継続性チェックメッセージを備えていても良く、それに従って、前記検出器は、前記障害信号内のそのような修正された継続性チェックメッセージの存在に基づいて、前記障害の発生を検出することができる。上述のように、修正された継続性チェックメッセージは、従来の継続性チェックメッセージとは異なる。例えば、修正されたメッセージ内のＲＤＩフィールドがクリアされているのではなく、セットされている。セットされているＲＤＩフィールドは、前記プライマリツリーの前記障害ステータスを示すように機能する。
【００４２】
当該ノードが前記他のノードから送信される前記修正された継続性チェックメッセージを受信することを停止する場合、前記プライマリツリーの前記障害は復旧されていると想定する。ここで、プロセッサは、前記データの転送を前記バックアップツリーから前記プライマリツリーへスイッチしても良い。
【００４３】
前記障害信号の別の変形は、前記プライマリツリーの識別情報を含む障害通知メッセージを備える。このような障害通知メッセージの受信に応じて、前記検出器は、前記障害が前記プライマリツリーに対して発生していることを検出することができる。
【００４４】
前記データの転送が前記バックアップツリーへ一旦スイッチされると、前記ノードの前記プロセッサは、前記プライマリツリーへ前記データの転送をスイッチしても良い。前記プロセッサは、前記他のノードから送信される、前記プライマリツリーの復旧ステータスを示す修復信号の受信に応じて、前記データの転送を前記プライマリツリーへスイッチするように構成されていても良い。
【００４５】
前記バックアップツリーに加えて、前記プロセッサは、更に、当該ノードを、複数のバックアップツリーに関連付けても良い。この場合、前記送信機は、前記継続性チェックメッセージを前記プライマリツリー上だけでなく、前記複数のバックアップツリー上のすべてに送信しても良い。また、前記バックアップツリーは、異なる優先度に割り当てられていても良く、前記プロセッサは、前記プライマリツリーの前記障害の検出に応じて、一定の優先度を有する使用可能であるバックアップツリーを選択し、前記データの転送を、前記プライマリツリーから前記選択されたバックアップツリーへスイッチするように構成されている。例えば、前記プロセッサは、最高優先度を有する使用可能であるバックアップツリーを選択しても良い。
【００４６】
更にまた、前記プロセッサは、前記複数のバックアップツリーを、１つ以上のセットにグループ化されるように構成されていても良い。このセットは、異なるバックアップツリーのセットの優先度が割り当てられていても良い。従って、前記プライマリツリーの障害の検出に応じて、前記プロセッサは、一定の優先度を有し、自身のツリー群のすべてが使用可能である、特定のバックアップツリーのセットを選択し、前記データの転送を、前記プライマリツリーから前記選択されたバックアップツリーのセットへスイッチしても良い。
【００４７】
第２のハードウェアの態様に従えば、コンピュータネットワークに対するノードが提供され、当該ノードは、前記コンピュータネットワーク内の他のノードから転送されるデータを受信するように構成されている。明確化のために、当該ノードを「第２のノード」と呼ぶこととし、一方、前記他のノードを「第１のノード」と呼ぶことにする。前記第１のノードはプライマリツリーとバックアップツリーに関連付けられていて、前記プライマリツリーは前記第２のノードへデータを転送するための、前記第１のノードに対するデフォルト経路を定義し、前記バックアップツリーは前記プライマリツリーに障害がある場合、データを転送するための別の経路をレイアウトしている。前記第２のノードは、前記第１のノードから前記プライマリツリー上で送信される１つ以上の継続性チェックメッセージを受信するように構成されている受信機を備える。前記第２のノードは、更に、前記プライマリツリーの障害の発生を検出するための検出器を備えている。その検出は、前記第１のノードから発信される少なくとも１つの継続性チェックメッセージが前記受信機で受信されないことに基づいている。前記第２のノードは、更に、前記プライマリツリーの前記障害について前記第１のノードへ通知するように構成されているプロセッサを備え、前記通知は、前記プライマリツリーの障害ステータスを示す障害信号を提供することによって達成される。また、前記第２のノードは、前記障害信号を前記第１のノードへ送信するための送信機を備える。
【００４８】
前記第２のノードの前記検出器は、前記第１のノードから発信される所定数の連続する継続性チェックメッセージが前記第２のノードにおいて、特に、その第２のノードの前記受信機において受信されていない後に、所定時間期間が満了している場合に、前記プライマリツリーの前記障害の発生を検出するように構成されていても良い。
【００４９】
前記第２のノードの前記プロセッサは、異なる障害信号を提供することができる。第１の変形として、前記障害信号は、１つ以上の修正された継続性チェックメッセージを生成することによって提供されても良い。従来の継続性チェックメッセージ内にＲＤＩフィールドがクリアされていることとは異なり、（修正された）継続性チェックメッセージにはＲＤＩフィールドがセットされている。こうして、セットされているＲＤＩフィールドは、前記プライマリツリーの前記障害ステータスを信号送信するために使用することができる。
【００５０】
前記第２のノードの前記送信機は、継続的な方法で、前記修正された継続性チェックメッセージを送信するように構成されている。前記第２のノードの前記受信機が、前記プライマリツリー上で、前記第１のノードから発信される（未修正の）継続性チェックメッセージを再度受信するまで、前記修正された継続性チェックメッセージを継続的に送信しても良い。
【００５１】
第２の変形として、前記プロセッサは、前記プライマリツリーの識別情報を含む障害通知メッセージを生成することによって前記障害信号を提供することができる。また、前記プロセッサは、前記プライマリツリー上で前記第１のノードから発信される前記（未修正の）継続性チェックメッセージを前記第２のノードの前記受信機が再度受信する場合に、前記第１のノードへ送信すべき修復信号を提供するように構成することができる。前記修復信号は、前記プライマリツリーの復旧ステータスを示している。前記プロセッサは、前記プライマリツリーの識別情報を含む修復通知メッセージを生成することによって前記修復信号を提供するように構成することができる。
【００５２】
前記送信機は、所定数の連続する継続性チェックメッセージが前記受信機において再度受信された後に、所定時間期間が満了している場合に、前記修復信号を送信するように構成されていても良い。
【００５３】
前記第１のノードは、更に、複数のバックアップツリーに関連付けられていても良い。それがこのような場合、前記第２のノードの前記送信機は、前記プライマリツリー上だけでなく、使用可能である前記バックアップツリー上のすべてに前記障害信号を送信するように構成されていても良い。前記複数のバックアップツリーは、１つ以上のセットにグループ化されていても良く、前記第２のノードの前記送信機は、更に、前記プライマリツリーの前記障害の検出に応じて、自身のバックアップツリー群のすべてが使用可能である、前記セットに属する前記バックアップツリー群上にのみ前記障害信号を送信しても良い。
【図面の簡単な説明】
【００５４】
【図１】ポイントツーポイントサービスとマルチポイントツーマルチポイントサービスを提供することができるコンピュータネットワークを示すブロック図である。
【図２】データの転送がプライマリツリー（あるいはプライマリツリーのセット）からバックアップツリー（あるいはバックアップツリーのセット）へスイッチされる、システムの実施形態を示すブロック図である。
【図３】プライマリツリーのセットで構成される最短経路ツリーを示すブロック図である。
【図４】セットスイッチングのために判定される、図３のプライマリツリーのセットに対する代替である、バックアップツリーのセットを示すブロック図である。
【図５】ツリースイッチングのために判定される、図３のプライマリツリーのセットに対するバックアップツリーを示すブロック図である。
【図６】コンピュータネットワークにおけるデータを転送するためのノードの第１の実施形態を示すブロック図である。
【図７】ノードの第２の実施形態を示すブロック図である。
【図８】ノードの更なる実施形態を示すブロック図である。
【図９】第１の方法の実施形態を示すフローチャートである。
【図１０】第２の方法の実施形態を示す別のフローチャートである。
【図１１】リバースモニタリングが適用されるツリースイッチングを含む更なる方法の実施形態を示すフローチャートである。
【図１２】リバースモニタリングが適用されるツリースイッチングを含む別の方法の実施形態を示すフローチャートである。
【図１３】明示的な通知が適用されるツリースイッチングを含む更なる方法の実施形態を示すフローチャートである。
【図１４】明示的な通知が適用されるツリースイッチングを含む別の方法の実施形態を示すフローチャートである。
【図１５】スイッチングのセットを含む更なる方法の実施形態を示すフローチャートである。
【図１６】スイッチングのセットを含む別の方法の実施形態を示すフローチャートである。
【図１７】スイッチングのセットを含む更に別の方法の実施形態を示すフローチャートである。
【図１８】ツリー計算のために使用される方法の実施形態を示すフローチャートである。
【発明を実施するための形態】
【００５５】
以下では、説明のためであって、限定するものではなく、本発明の全体理解を提供するために特定の詳細が説明される。本発明がこれらの特定の詳細から離れて実施されても良いことが当業者に理解されるであろう。例えば、例示の実施形態はイーサネットネットワークに関して説明されるが、これらは、他の種類のコンピュータネットワークに対しても等しく適用することができる。
【００５６】
本発明は、デフォルト経路の障害をルートノードへ通知することを容易にする。ＳＰＢ制御下のネットワークに対しては、本発明は、順方向の経路と逆方向の経路の一致性を保障することができる。しかしながら、本発明の使用は、ＳＰＢネットワークに限定されるものではない。
【００５７】
本願の状況において、用語「継続性チェックメッセージ」は、データ転送経路の接続性／可用性をチェックするために設計されている、任意のメッセージであり得る。これは、ＣＦＭで定義されるＣＣＭとすることができるが、これは、接続性チェックの目的を満足する限り、非ＣＦＭメッセージとすることもできる。
【００５８】
当業者は、更に、本明細書で説明される機能群が、ハードウェア回路、ソフトウェア手段、あるいはそれらの組み合わせを使用して実現されても良いことを理解するであろう。ソフトウェア手段は、特定用途集積回路（ＡＳＩＣ）及びデジタル信号プロセッサ（ＤＳＰ）の少なくとも一方を使用して、プログラム化マイクロプロセッサあるいは汎用コンピュータと協働して動作するものであっても良い。本発明が方法として記載される場合、これは、コンピュータプロセッサ及びそのコンピュータプロセッサに接続されているメモリで実現されても良いことは明らかであろう。ここで、メモリは、プロセッサによって実行される場合に、その方法を実行する１つ以上のプログラムでエンコードされる。
【００５９】
本開示は、コンピュータネットワークで実現される様々なＯＡＭに依存する、様々な新規の復旧技術を提供する。また、標準制御プロトコルが、マルチポイントサービスに対して必要とされる転送ツリーの確立及びメインテナンスのために、ネットワーク内で実現される。ＯＡＭは、わずかな拡張だけで、あるいはどのような拡張をすることなく、接続性モニタリング（監視）のために使用される。本開示は、ＯＡＭの使用を規定し、かつ、有限のファイルオーバを提供するために、制御プロトコルへの拡張を規定する。特に、ＩＥＥＥ８０２．１ａｑは、制御可能なファイルオーバを提供するために、つまり、マルチポイントサービスに対する有限のファイルオーバを利用可能にすることを可能にするために拡張／修正される。
【００６０】
例えば、本開示は、イーサネットネットワーク内で適用することができる。これは、それらが、ＩＥＥＥ８０２．１ａｇ  ＣＦＭをＯＡＭとして実現し、また、ＩＥＥＥ８０２．１ａｑ  ＳＰＢを転送経路の制御のための制御プロトコルとして実現することができるからである。それゆえ、以下の実施形態の詳細は、動作の詳細を説明することができるようにするために、ＩＥＥＥ８０２．１ａｑで制御され、ＩＥＥＥ８０２．１ａｑでモニタされるネットワークに対して記載する。しかしながら、実施形態は、マルチポイント接続の接続性モニタリングのためのＯＡＭと、マルチポイント接続に対する転送ツリーのメインテナンスのための制御プロトコルを実現する任意のパケットネットワークに適用することができる。
【００６１】
最初に、保護スイッチングを達成するために、バックアップツリーが、保護が必要とされる障害の状況に対して定義される。ＳＰＢに対する装置が提案され、この装置では、バックアップツリーも計算され、そして、ＳＰＢで使用されるリンクステート制御プロトコルによってプライマリツリーに加えて維持される。このことに加えて、ＳＰＢはＣＦＭと組み合わせられ、そして、プライマリツリーとバックアップツリーのモニタリングに対してＣＣＭフレームを使用する。また、保護スイッチングメカニズムは、障害が発生した場合に、調整済の方法で無傷のバックアップツリーへのユーザトラフィックのリダイレクション（切替）に対して規定され、ここで、これは、ＳＰＢネットワーク内で使用される膨大な数のツリーを考慮することはささいなことではない。つまり、提案する保護スイッチングは、マルチポイントサービスに対して有限のファイルオーバ時間を提供する。このファイルオーバ時間は、モニタリングに対して使用されるＣＣＭフレーム間のＣＣＭ間隔に関係する。
【００６２】
システムの概要として、図１はポイントツーポイントサービスと、マルチポイントサービスとを、いくつかのコンピュータ２、４、６、８、１０及び１２に提供することができるコンピュータネットワーク１を示している。複数のノード１４、１６、１８、２０及び２２は、ネットワーク内に提供される。これらのノードは、コンピュータ間だけでなく、ノード間でもデータを転送することができる。例えば、図１の上部において、ノード１４とノード１６は互いに協働して、コンピュータ２から発信されるデータをコンピュータ４へ転送し、また、コンピュータ４から発信されるデータをコンピュータ２へ転送する。これは、典型的なポイントツーポイントサービスである。図１の下部において、ノード１８、ノード２０及びノード２２は互いに協働して、２つのコンピュータ６及び１０から発信されるデータを、別の２つのコンピュータ８及び１２へデータを転送し、また、別の２つのコンピュータ８及び１２から発信されるデータを２つのコンピュータ６及び１０へデータを転送する。これは、典型的なマルチポイントツーマルチポイントサービスである。データ転送経路は、点線２４、２６で示されている。ネットワークコンフィグレーション（構成設定）とサービスタイプに依存して、経路はユニキャストにもマルチキャストにもなる。経路群を構築する物理的なエンティティは、各ノードと、コンピュータ群とノード群とを接続するリンク群、更には、ノード群自身を接続するリンク群も含んでいる。リンクは、一方向でも双方向であっても良い。コンピュータネットワーク１は、ＳＰＢプロトコルによって制御することができる。この場合、各ノードに対して、少なくとも１つの最短経路ツリーが計算され、ノードによって使用される。ここで、ノード自身はツリーのルートを形成し、任意のノードのペア、例えば、ノード１４とノード１６に対しては、ノード１４からノード１６へのユニキャスト経路は、ノード１６からノード１４への正確な逆の経路であり、更に、任意の２つのノード間の任意のマルチキャストトラフィックは、例えば、ノード２０とノード２２は、ユニキャスト経路に従う。
【００６３】
図２は、２つのノード１４とノード１６、あるいはノード２０とノード２２が介在する、保護スイッチングのシステムの実施形態を示している。特に、図２は、ノード１４からノード１６へのデータ転送、あるいはノード２０からノード２２へのデータ転送がプライマリツリー２８（あるいはプライマリツリーセット）からバックアップツリー２９（あるいはバックアップツリーセット）へとスイッチされる状況を示している。データ転送のプライマリツリー２８とバックアップツリー２９が、例えば、最短経路ツリー計算アルゴリズムを使用して、ソースノード１４あるいはソースノード２０に対して計算される。これは、ノード１４あるいはノード２０がプライマリツリー２８とバックアップツリー２９に関連付けられていることを意味する。プライマリツリー２８は、データをノード１６あるいはノード２２へ転送するための、ノード１４あるいはノード２０に対するデフォルト経路を定義する。用語「デフォルト」は、プライマリツリーが、それが使用可能である限りデータ転送のために常に使用されること意味する。一方、バックアップツリー２９は、ノード１６あるいはノード２２へデータを転送するための、ノード１４あるいはノード２０に対する異なる経路を定義する。この経路は、プライマリツリー２８に障害が発生する場合に、データ転送のための代替経路として使用され、そうすることで、プライマリツリー２８におけるデータ転送はそれ以上実行されない。図で示されるように、×印３０で示されるように、障害のイベントがプライマリツリー２８に対して発生している。例えば、プライマリツリー２８が切断されている。次に、ノード１４あるいはノード２０からノード１６あるいはノード２０へのデータ転送がプライマリツリー２８からバックアップツリー２９へスイッチされる。このスイッチングは、ノード１４あるいはノード２０とノード１６あるいはノード２２のそれぞれにおける、２つの矢印３１と矢印３２によって示されている。
【００６４】
１．マルチポイントサービスをサポートする接続の構成
ＩＥＥＥ８０２．１ａｑの最短経路ブリッジング（ＳＰＢ）は、ネットワークに対する制御プロトコルとして使用することができる。ＳＰＢは、ネットワーク内の各ノードに対して最短経路ツリー（ＳＰＴ）を保持する。即ち、各ノードは、ＳＰＴを所有する。ノードは、自身のツリー上でデータを送信する。即ち、ノードは、データ転送に対し自身が所有するツリーだけを使用する。つまり、ＳＰＴはルートとなるソースであり、また、各ノードは、自身が所有するツリー上でのみルートとなり、他の残りのすべてのツリー内ではリーフとなる。ＳＰＢをサポートするノードは、ＳＰＴノードと呼ばれ、ＳＰＴ領域を形成する。これは、互いのコンフィグレーションが一致する場合、即ち、そのＳＰＴ領域内のすべてのノードが最短経路ツリーに対して互換性のある割当を伴って構成設定されている場合に、そのＳＰＴ領域を形成する。このように、ＳＰＴ領域内のすべてのノードは、どのＶＬＡＮが接続される最短経路であり、かつどのＳＰＴセットがこれらのＶＬＡＮのそれぞれに対して使用されるかについて同意する。ＳＰＴノードは、データ転送のために自身が所有するツリーを使用する。つまり、接続性が複数のＳＰＴによって提供される。
【００６５】
ＳＰＴはサービスをサポートする。即ち、特定のサービスに関連付けられているデータの転送に対して使用されるサービスをサポートし、そして、いわゆるＳＰＴセットを形成する。これは、プライマリセットとも呼ばれる。例えば、ＶＬＡＮはＳＰＴ領域に渡って提供され、このＳＰＴ領域のすべてのノードはＶＬＡＮに参加し、そして、そのＶＬＡＮに対応するＳＰＴセットはそのＳＰＴ領域の各ＳＰＴを構成する。ＶＬＡＮは、ＳＰＴ領域内のベースＶＩＤによって識別される。ＳＰＴはルートとなるソースであり、そして、ＳＰＢ内でフォーマットＡと呼ばれるＳＰＶＩＤによって識別される、あるいはオーナノード（即ち、ソースノード）のリンクレイヤアドレスと、ＳＢＰ内のフォーマットＢと呼ばれる、グループＭＡＣアドレスに組み込まれている対応するニックネームによって識別される。つまり、ＳＰＴは、一方向であり、データは、ルートノードからリーフノードに向けてのみ送信される。
【００６６】
つまり、マルチポイントサービスは、そのマルチポイントサービスに対して構成設定されるＶＬＡＮによってＳＰＴ領域内でサポートされ、かつ、接続性が、ＶＬＡＮに対して維持されるＳＰＴセットによって提供される。
【００６７】
ＳＰＢで規定されるように、プライマリセット内で使用されない、等価のコスト経路を構成するために、つまり、等価コストマルチプルツリー（ＥＣＭＴ）をセットアップするために、サービスに対して代替のセットが使用されても良い。これは、負荷分散のために使用することができる。
【００６８】
特定の障害の状況に対する保護を提供するために、バックアップツリーが提供され、プライマリＳＰＴに対して保持される。ネットワーク要素が故障すると、データ転送は、壊れているプライマリＳＰＴから無傷のバックアップツリーへとリダイレクトされる。ここで、バックアップツリーはおそらくはＳＰＴでないことに注意されたい。これは、バックアップツリーは、プライマリツリーと互いに素である必要があるからである。個々のプライマリＳＰＴに対して定義されるバックアップツリーが存在していても良い。これの代替は、プライマリＳＰＴをグループ化し、そして、障害保護用にバックアップツリーセット（群）を定義することである。図２は、ＳＰＴ領域内で保持される、プライマリＳＰＴセットとバックアップツリーセットを示している。障害のイベントの場合、ＳＰＴ領域の各ノードは、適切なバックアップツリーセットへスイッチして、ＳＰＴ領域のエッジノードはすべてのトラフィックをプライマリＳＰＴセットからバックアップツリーセットへリダイレクトする。ここで、保護される障害の状況に依存して、複数のバックアップツリーあるいはバックアップツリーセットが提供されても良く、これは、ネットワークの物理トポロジーにも依存していることに注意されたい。また、負荷分散は、プライマリＳＰＴとバックアップツリーとの間で適用されても良く、その一方で、それらのＳＴＰとバックアップツリーはすべて使用可能である。つまり、代替のセットに代えてバックアップツリーを有することとは別に、負荷分散を適用することができる。
【００６９】
２．ツリー計算
バックアップツリーは、所望のネットワーク要素の障害に対する保護を提供するために、そのバックアップツリーを計算する任意のアルゴリズムを使用することによって定義することができる。バックアップツリーは、プライマリツリーと完全にあるいは部分的に素であるべきである。多くのアルゴリズムを、互いに素なツリー群の計算のために使用することができる。多くの直接的なソリューションは、ＩＥＥＥ８０２．１ａｑによって計算され、かつ定義されるプライマリツリーに対する最短経路ツリーを維持して、ＳＰＴの他にバックアップツリーを判定することである。バックアップツリーを判定するための最も単純な方法は、物理的なトポロジー上でのＳＰＴの計算に対して使用される全く同一のアルゴリズムを使用することであり、この物理的なトポロジーは、保護が要望される障害を有するネットワーク要素は含んでいない。もちろん、物理的なトポロジーは、そのネットワーク要素を取り出した後でも接続されたままにしなければならず、それゆえ、より多くのバックアップツリーが、異なるネットワーク要素の保護に対して必要とされる可能性がある。
【００７０】
換言すれば、バックアップツリーを判定するための主要な誘導原理は、バックアップツリーが、保護が要望される障害に対するネットワーク要素を構成すべきでないことである。つまり、特定のリンクあるいはノードの障害に対する保護の場合では、バックアップツリーは、そのような特定のリンクあるいはノードを含むべきではない。任意の単一のリンクの障害に対する保護に対して、各ネットワーク要素については、そのネットワーク要素を含まないバックアップツリーとするべきである。ここで、提案される技術は、保護されるネットワーク要素の数及びタイプに依存せず、必要とされるバックアップツリーのタイプ及び数にのみ依存することに注意されたい。ＳＰＢネットワークの場合、各ノードはツリーを所有し、そうすることで、各ノードは、保護が要求されるネットワーク要素（群）を含まないツリーを有するべきあるである。全く同一の障害のイベントを取り扱うことができる、より多くのバックアップツリーあるいはバックアップツリーのセットを提供することができる。それゆえ、各ノードは、全く同一のアルゴリズムを実行して、プライマリＳＰＴセットとバックアップツリーセットを判定することができる。これは、各ノードに全く同一のツリーのセットアップを持たせるためであり、こうすることで、ネットワークに渡る接続性を提供することができる。ここで、順方向の経路と逆方向の経路の一致性はＳＰＢの適切な動作のための本質的な要素であり、それゆえ、バックアップツリーは、その一致性がバックアップツリーへのスイッチング後にも維持されるように定義されるべきであることに注意されたい。
【００７１】
また、このアルゴリズムは、バックアップツリー間、あるいはバックアップツリーのセット間で優先順位を判定することができ、また、全く同一の優先順位が各ノードで維持される。つまり、より多くのツリーあるいはセットを選択できる場合、ノードは、より上位のバックアップツリーあるいはバックアップツリーのセットへスイッチし、こうして、各ノードは、全く同一のバックアップツリーあるいはバックアップツリーのセットへスイッチする。プライマリセットは、優先順位のリストの最上位に位置され得る。このようにして、プライマリツリーが無傷である場合には、そのプライマリツリーが常に使用され、また、負荷分散の状況での壊れているバックアップツリーからのデータをプライマリツリーへリダイレクトすることができる。例示のツリーの計算方法が図１８で示される。この方法は、ＳＰＴ計算用の、ＳＰＢで定義される拡張ダイクストラ法を使用する。このアルゴリズムは、ダイクストラ法を拡張して、等価のコスト経路群に対するタイブレーキング（tie-breaking）を提供する。これは、まず、ＳＰＴを計算し、次に、保護対象のネットワーク要素群に対するバックアップツリーを判定する。それゆえ、接続されている物理的なトポロジーを維持するために、できる限りの数のネットワーク要素を取り出し、そして、拡張ダイクストラ計算を起動する。このようにして、バックアップツリーは、必要とされる一致性を提供する。次に、これは、すべてのネットワーク要素が一旦取り出されるまで、物理トポロジーから他のネットワーク要素と取り出すことによって、更なるバックアップツリーを判定する。即ち、すべてのネットワーク要素の障害に対してバックアップツリーが存在する。
【００７２】
３．代替へのスイッチング
２種類のスイッチングを、ＳＰＢネットワークにおいて実現することができる。
【００７３】
ツリースイッチング：障害のイベントの場合に、影響を受けるプライマリＳＰＴのみがそれに対応するバックアップツリーにスイッチされる。
【００７４】
セットスイッチング：障害のイベントの場合に、プライマリＳＰＴセットの全体が、バックアップツリーのセットにスイッチされる。
【００７５】
こうして、バックアップツリーを、２種類の原理に従って判定することができる。保護方法は、以下のセクション５で詳細に説明する。また、２種類のスイッチングは、ＣＦＭに対して異なる要件を有している。ＣＦＭは、セットスイッチングに適用することができる。これは、今日規定されているものであるが、いくつかの拡張をツリースイッチング方法に対して必要とされる。これについては、以下のセクション５の保護方法で詳細に説明する。
【００７６】
図３は例示のネットワークの状況でのＳＰＴ領域内のプライマリＳＰＴセットを示している。
【００７７】
バックアップツリーのセットに対する取り得るセットアップが図４で示されていて、これは、セットスイッチングが適用される場合に、任意の１つの障害（リンク障害あるいはノード障害）を回避するために判定される。即ち、障害によってツリーが影響を受けないとしても、障害のイベントの場合には、すべてのツリーがバックアップツリーのセットにスイッチされる。例えば、ノードＢとノードＤとの間のリンクが故障すると、すべてのトラフィックが、プライマリＳＰＴセットからバックアップツリーのセット１へリダイレクトされる。ここで、バックアップツリーのセット２は、この障害のイベントを取り扱うこともできるが、ノードはバックアップツリーのセット１へスイッチすることに注意されたい。これは、それがより上位の優先度を有しているからである。ここで、無傷のツリーへのスイッチングは、短時間、即ち、スイッチング時間の間だけ、トラフィックの停止が生じる可能性があることに注意されたい。但し、影響を受けていないツリーへスイッチングすることによって、セットスイッチングを通じて、自身の最短経路から影響を受けていないトラフィックの別経路変更は、現在のＣＦＭを修正することなく実現することができる。
【００７８】
図５は、図３に示されるノード群のＳＰＴ群に対して、１つずつ判定されるバックアップツリーを示している。このように、これらは、ツリースイッチング方法をサポートしている。つまり、障害のイベントの場合、影響を受けるツリーだけがバックアップツリーへスイッチされる。障害による影響を受けないＳＰＴは任意のバックアップツリーにはスイッチされない。適切なバックアップツリーが影響を受けているＳＰＴに対して選択されるべきであり、そうすることで、順方向の経路と逆方向の経路の一致性が維持される。この方法は、それぞれの特定のＳＰＴに対してバックアップツリーを維持するのではなく、ＩＥＥＥ８０２．１ａｑで保持されるＳＰＴのセットと代替のセットとして、バックアップツリーに対するツリーのセットを維持しないことによって実現されても良い。上述の方法と同一の例を示すと、即ち、ノードＢとノードＤの間のリンクの障害においては、ＳＰＴ  Ｃは障害の影響を受けないので、スイッチされない。しかしながら、他のすべてのＳＰＴは影響を受けるので、それらは適切なバックアップツリーにスイッチされる。つまり、ＳＰＴ  ＡはＢＴ  Ａ２へスイッチされ、ＳＰＴ  ＢはＢＴ  Ｂ２へスイッチされ、そして、ＳＰＴ  ＤはＢＴ  Ｄ２へスイッチされる。別の障害の例には、ノードＢとノードＣとの間のリンクの切断があり、ここでは、ＳＰＴ  ＢがＢＴ  Ｂ２へスイッチされ、また、ＳＰＴ  ＣがＢＴ  Ｃ２へスイッチされる。ツリースイッチングの方法によって、長く影響を受けていないツリーとして転送されるトラフィックは阻害されないが、適切なバックアップツリーが慎重に選択されなければならない。
【００７９】
セットスイッチングが適用される場合、異なるバックアップ−ベースＶＩＤが、プライマリＳＰＴのセットに割り当てられているベースＶＩＤ以外の各バックアップツリーのセットに割り当てることが提案される。こうして、ツリーのセットがそれらのベースＶＩＤによって識別され、そして、区別することができる。つまり、プライマリツリーのセットはベースＶＩＤによって識別され、また、バックアップツリーのセットはバックアップ−ベースＶＩＤによって識別される。
【００８０】
保護スイッチングの直後に、監視し、かつ使用することを可能にするために、バックアップツリーの転送が、ＳＰＴ以外に維持されてなければならない。つまり、フィルタリングのエントリも、同様に、バックアップツリーに対して維持されなければならない。計算が必要される場合、つまり、プライマリツリーの復旧時間を短縮する計算が必要とされる場合、バックアップツリーに渡るプライマリツリーを計算しかつセットするための優先度を付与することが提案される。
【００８１】
４．接続性のモニタリング（監視）
障害を検出することを可能にし、かつ無傷のバックアップツリーを選択することを可能にするために、ツリーの可用性がモニタされるべきである。ＣＦＭで定義される継続性チェックメッセージ（ＣＣＭ）は、ツリーのモニタリングのために使用することができる。
【００８２】
ＣＣＭメッセージは、各ツリーの個別の接続性モニタリングのために、即ち、プライマリＳＰＴのセットのすべてのＳＰＴとバックアップツリーのセットのそれぞれのすべてのツリーに対して、使用することができる。それゆえ、メインテナンスアソシエーション（ＭＡ）を、各ツリーに個別にセットすることができる。これは、ＳＰＢで定義されるフォーマットＡとフォーマットＢの両方に対して、また、すべてのツリーのセットに対して実行することができる。即ち、プライマリＳＰＴのセットに対して、また、バックアップツリーがどのようにしてセットにグループ化されているかにかかわらず、バックアップツリーのセットのすべてに対して実行することができる。
【００８３】
つまり、ツリーの唯一のソースノードである、ツリーのルートノードは、ツリーの接続性をモニタするためにＣＣＭメッセージを定期的に送信する。ＣＣＭは他のノードそれぞれに受信される、つまり、ＳＰＴ領域のＳＰＴのエッジノードのそれぞれによって受信される。任意のエッジノードがツリー上で紛失しているＣＣＭを検出すると、利用可能なバックアップツリーにスイッチするために、保護スイッチングが起動される。保護スイッチングは次のセクションで詳細に説明する。
【００８４】
ここで、ＣＣＭ間隔は、２つの連続するＣＣＭメッセージあるいはフレームを送信する間に経過する時間であり、達成可能なファイルオーバ時間を判定する。５０ｍｓのファイルオーバ時間を提供するためには、ＣＣＭ間隔は２０ｍｓ以下あるいは好ましくは１０ｍｓ以下とするべきである。
【００８５】
ＣＣＭは、セットスイッチングとツリースイッチングの方法の両方で接続性モニタリングのために使用することができる。
【００８６】
保護スイッチングを実現するために、様々な実施形態のノードが提供される。図６は、第１のノードの実施形態を示していて、これは、ソースノード側からの観点の実施形態として見ることができる。従って、このノードの実施形態は、図１及び図２のノード１４あるいは２０に対応する。図６に示されるように、ノード１４あるいは２０は、以下の構成要素を備える。プライマリツリー２８及びバックアップツリー２９と、ノード１４あるいは２０とを関連付けるように構成されているプロセッサ６２を備える。ここで、プライマリツリー２８は、データを別のノード、例えば、図１及び図２のノード１６あるいは２２へ転送するための、ノード１４に対するデフォルト経路を定義する。一方、バックアップツリー２９は、プライマリツリー２８の障害がある場合に使用されるデータ転送用の別の経路を定義する。このノードの実施形態は、更に、プライマリツリー２８上とバックアップツリー２９上に１つ以上の継続性チェックメッセージを送信するように構成されている送信機６４を備える。更に、ノード１４あるいは２０は、ノード１６あるいは２２から送信される障害信号を受信するように構成されている受信機６６を備えている。障害信号は、バックアップツリー２９上でも送信される場合がある。更に、ノード１４あるいは２０は、プライマリツリー２８の障害の発生を検出するように構成されている検出器６８を備えている。検出器６８は、第２のノードから送信される障害信号の受信に基づいて障害発生を検出し、ここで、障害信号は、プライマリツリー２８の障害ステータスを示している。プライマリツリー２８の障害の検出に応じて、プロセッサ６２は、データの転送を、プライマリツリー２８からバックアップツリー２９へスイッチする。プロセッサ６２と検出器６８は図６では別の構成要素として示されているが、これらは、物理的にあるいは論理的に統合されて、ノード１４あるいは２０に実装されていても良い。
【００８７】
図７を参照すると、保護スイッチングを実現するための別のノードの実施形態が提供される。この実施形態は、図１及び図２に示されるノード１６あるいは２２のような宛先ノードの観点から設計されている。ノード１６あるいは２２は、ノード１４あるいは２０から転送されるデータを受信するように構成されていて、これは、プライマリツリー２８とバックアップツリー２９に関連付けられている。上述のように、プライマリツリー２８は、データをノード１６あるいは２２へ転送するための、ノード１４あるいは２０に対するデフォルト経路を定義している。一方、バックアップツリー２９は、プライマリツリー２８の障害が発生する場合にデータ転送のために判定される別の経路を定義している。ノード１６あるいは２２は、ノード１４あるいは２０から、プライマリツリー２８上で送信される１つ以上の継続性チェックメッセージを受信するように構成されている受信機７２を備えている。ノード１６あるいは２２は、更に、プライマリツリー２８の障害の発生を検出することができる検出器７４を備えている。検出器７４は、プライマリツリー２８上のノード１４あるいは２０から送信される１つ以上の継続性チェックメッセージが受信機７２で受信されない場合に、障害がプライマリツリー２８において発生していると判定する。また、ノード１６あるいは２２は、とりわけ、障害が一旦検出されると、プライマリツリー２８の障害についてノード１４あるいは２０へ通知するように構成されているプロセッサ７６を備えている。結局のところ、プロセッサ７６は、プライマリツリーの障害ステータスを示す障害信号を提供することができる。また、ノード１６あるいは２２は、ノード１４あるいは２０へ障害信号を送信するための送信機７８を備えている。障害信号は、バックアップツリー２９に送信されても良い。プロセッサ７６と検出器７４は、別の構成要素として実現されても良いし、１つに統合されていても良い。
【００８８】
図８は、保護スイッチングを実現することができる更なるノードの実施形態を示している。このノードは、図１及び図２に示されるノード１４あるいは２０のようなソースノード、あるいはノード１６あるいは２２のような宛先ノードにサービスを提供することができる。このノードはメモリ７９を有していて、これは、プライマリＳＰＴのセットとすべてのバックアップツリーのセットを記憶していて、また、更に、これらのツリーのセットの優先度のリストと、壊れているツリーのリストを記憶している。図６及び図７に示されるプロセッサ６２あるいは７６に対応するプロセッサは、すべてのプライマリツリーとすべてのバックアップツリーの計算と、保護方法に対して要求されるステップ群の起動のために提供される。図６及び図７に示される受信機６６あるいは７２に対応する受信機は、保護方法の一部分を起動することを、ノードに指示する接続性障害管理信号を受信するために提供される。図６及び図７に示される送信機６４あるいは７８に対応する送信機は、他のノードへ接続性障害管理信号を発行し、そして、転送するために提供される。検出器６８あるいは７４は、プロセッサ６８あるいは７４に統合されていても良い。その検出は、上述の図６及び図７で説明されるように、プライマリツリーの障害を検出することができる。
【００８９】
上述のソースノードと宛先ノードのそれぞれの実施形態に対応する、２つの方法の実施形態が図８及び図９で示されるように提供される。図８を参照すると、コンピュータネットワークにおいてデータの転送を制御するための第１の方法の実施形態８０が提供される。図１で説明されるネットワーク１のようなネットワークは、データを転送するためのノードのセットを備える。第１のノード、例えば、図１及び図２で示されるノード１４あるいは２０は、データを第２のノード１６あるいは２２に転送するための、第１のノード１４あるいは２０に対する、デフォルト経路を定義するプライマリツリー２８と、バックアップ経路を定義するバックアップツリー２９とそれぞれに関連付けられている。バックアップツリー２９は、プライマリツリー２８に障害がある場合に使用される。この方法８０は、第１のノード１４あるいは２０によって実行される以下のステップを有する。ステップ８２で、１つ以上の継続性チェックメッセージがプライマリツリーとバックアップツリーとに送信される。ステップ８４で、第２のノード１６あるいは２２から送信される障害信号が受信される場合に、プライマリツリーの障害が検出される。この障害信号は、プライマリツリー２８の障害ステータスを示している。次に、ステップ８６で、プライマリツリー２８の障害の検出に応じて、第１のノード１４あるいは２０は、データの転送をプライマリツリー２８からバックアップツリー２９へスイッチする。
【００９０】
第２の方法の実施形態９０が図１０で示される。方法９０は、方法８０と同様のネットワーク状況で実行することができる。但し、方法９０は、図１及び図２で示されるノード１６あるいは２０のような宛先ノードの観点から実行される。方法９０は、以下のステップを有する。ステップ９２で、１つ以上の継続性チェックメッセージが第１のノード１４あるいは２０からプライマリツリー上に送信される。ステップ８４で、プライマリツリーの障害が検出される一方で、第１のノード１４あるいは２０から送信される少なくとも１つの継続性チェックメッセージが第２のノード１６あるいは２２で受信される場合にその検出が判定される。次に、ステップ８６で、第１のノード１４あるいは２０に、第２のノード１６あるいは２２によってプライマリツリー２８の障害について通知され、そうすることで、第２のノードは、障害信号を第１のノードへ送信する。ここで、この障害信号は、プライマリツリー２８の障害ステータスを示している。
【００９１】
５．保護スイッチング
図１１から図１７に関しては、保護スイッチングを実現するためのより多くの方法の実施形態が提供される。
【００９２】
上述のように、ツリーの障害は、ＣＣＭメッセージの紛失によって検出することができる。
【００９３】
エッジノードがツリーのルートノードからＣＣＭを受信しない場合、エッジノードは、障害が発生していて、ツリーが壊れていると想定する。このツリーは、ＳＰＴあるいはバックアップツリーとすることができる。ネットワーク要素の障害は、複数のツリーを壊していると思われる。また、ネットワーク要素の障害がいくつかのエッジノードによってのみ検出されていると思われる。加えて、ツリーが一方向である場合、ルートノードは、障害の発生について他のツリー（群）でのみ通知され得る。
【００９４】
提案される通知及びスイッチングメカニズムは、セットスイッチングとツリースイッチングの方法とは異なる。しかしながら、保護方法は、これらのスイッチング方法の両方における復帰モードと非復帰モードとの両方で使用することができる。また、バックアップツリーへのスイッチングは、ＳＰＢに既に適用されている復旧メカニズムと組み合わせることができる。即ち、トポロジー内の任意の変更後のツリーの再計算と組み合わせることができる。この任意の変更には、例えば、障害のイベントであり得る。
【００９５】
５．１  ツリースイッチング
ツリースイッチングとセットスイッチングとの間の主要な違いは、バックアップツリーがグループ化されないこと、即ち、ツリースイッチングではまとめて管理されない代わりに、個々のＳＰＴに対して個々のバックアップツリーが存在することである。それゆえ、バックアップツリーへのスイッチングの調整は、ＳＰＢの一致性の要件を維持するためには複雑となる。
【００９６】
ツリースイッチングに対しては、ノードに対して、自身のツリーのどれが壊れていて、どれが使用可能であるかを気付くことが本質的なことである。ＳＰＢには一方向のツリーのルートとなるソースが存在するので、ノードは、自身のツリーのどれが壊れているかを判定することができない。この問題は、基本的には、以下の２つの実施形態に従う２つの方法で解決することができる。
【００９７】
リバースモニタリング：順方向の経路だけでなく逆方向の経路がモニタされる。
【００９８】
明示的な通知：障害を検知するノードは、他のノードの全てにどのツリーが壊れているかについて通知する。
【００９９】
この２つの実施形態は、異なる保護方法を要求するものであり、これについては以下で詳細に説明する。
【０１００】
５．１．１  リバースモニタリング
どのツリーが利用可能であるかについてをソースノードに通知するために、順方向の経路に加えて、逆方向の経路がモニタされなければならない。これらのツリーにとって、双方向サービスに属していることは問題とならない。これは、順方向の経路と逆方向の経路との両方が、双方向サービスをサポートするために確立されているからである。一致性を維持するために、ノードは、協調的な方法でバックアップツリーにスイッチすべきである。上述のセクション３で言及されるように、バックアップツリーはアルゴリズムによって判定されるべきであり、そうすることで、バックアップツリーも順方向の経路と逆方向の経路との一致性をサポートする。それゆえ、障害に対する保護のために維持されるバックアップツリーが存在し、かつそれらが一致性をサポートする場合、ノードは適切なバックアップツリーにスイッチすることができる。全く同一の障害のイベント（群）を取り扱うことができる複数のバックアップツリーが存在する可能性があるので、ノードは、バックアップツリーに対する優先順位を取得して維持し、そして、最高優先度のバックアップツリーにスイッチすることができる。優先度リストは、タイブレーキングルールを使用することによって、例えば、ツリーを備えるノードＩＤの順序付けされたリストを使用することによって判定することができる。既に上述しているように、すべてのプライマリツリーとバックアップツリーは、常に、ＣＣＭメッセージによってモニタすることができる。
【０１０１】
しかしながら、逆方向の経路は、ＳＰＢ内のＩＳ−ＩＳによるポイントツーマルチポイントサービスに対して維持されない可能性がある。例えば、１つのデータソースと複数の宛先が存在するマルチキャストサービスに対して維持されない可能性がある。そのようなサービスのサポート内にツリーが存在する場合、いわゆるリバースツリーが、そのツリーのモニタリングに対して維持されるべきである。つまり、ＩＳ−ＩＳは、リバースツリーにも従って転送を維持するべきである。リバースツリーは、その順方向に対応する同一のリンクとノードを備えるが、リバースツリーは宛先をルートとするツリーとなる。つまり、リーフノードがＣＣＭをツリーのルートノードへ送信することで、ツリーで構成される経路をモニタする。こうして、ルートノードは、自身のツリーが使用可能であるかどうかを気付くことになる。そのうえ、ルートノードは、どの分岐（ブランチ）が壊れているか、即ち、どのリーフが到達不可能であるかを把握する。
【０１０２】
リバースモニタリングを伴うツリースイッチング方法に対する保護方法が、図１１に示される。この方法は、リバースツリーが維持されている状態での双方向の場合と一方向の場合との両方と同一である。唯一の違いは、異なるＣＣＭがツリーの断絶を示していることである。リバースモニタリングが適用される場合、ツリースイッチングの方法に対してＣＦＭは修正される必要はなく、モニタリングに対してのみＣＣＭが適用されるが、通知は適用されない。障害が発生すると、ＣＣＭは、どちらの方向でも壊れている要素へ送信されない。つまり、ＣＣＭは、双方向接続のツリーの両方と、一方向の場合での順方向のツリーと逆方向のツリー（リバースツリー）の両方において紛失している。こうして、紛失するＣＣＭに基づいて、エッジノードはどのツリーが壊れているか、また、どのツリーが無傷であるかを判定することができる。なぜなら、各ノードは、全体の物理トポロジーに気付いていて、そして、物理リンクとツリーとの間の関係を判定することができるからである。また、各ノードは、必要な場合には、すべての他のノードのツリーを判定することができる。つまり、図１１に示される断絶の検出後は、エッジノードは無傷のツリーへ単にスイッチする。障害のイベントの後は、エッジノードは対応するツリーへスイッチする。これは、エッジノードが、全く同一のアルゴリズムを使用してバックアップツリーを計算し、そして、そのバックアップツリーに対して全く同一の優先度テーブルを保持するからである。
【０１０３】
リンクの一方向だけがダウンすることが発生する場合がある。それゆえ、ＣＣＭが紛失している場合、その紛失しているＣＣＭのソースエッジノードには通知されなければならない。ここで、検出器となるエッジノードは直ちに、自身のツリー上にＲＤＩフィールドセットを有するＣＣＭを送信し、その送信を維持する。ここで、このツリーは、紛失しているＣＣＭを再度受信するまで、紛失しているＣＣＭに対応する経路を含んでいる。つまり、ＣＣＭが、例えば、プライマリツリー上で紛失する場合、ＲＤＩフィールドセットを有するＣＣＭがプライマリツリー上で、紛失しているＣＣＭの発信元へ送信される。こうして、ソースノードは障害に気付いて、そして、適切なスイッチングを起動することができる。
【０１０４】
おそらく、わずかなハンドオフ時間が適用される、例えば、いわゆる図１１における検出期間（間隔）が適用される。これは、スイッチング前にすべての紛失中のＣＣＭが検出される可能性を向上させるため、つまり、単一のスイッチングが起動される可能性を向上させるためであり、また、非同期のスイッチングによる順方向の経路と逆方向の経路とで非対称となる時間期間（間隔）を最小化するためである。
【０１０５】
復帰動作の場合に対するリダイレクション方法が図１２に示される。障害が復旧される場合、以前に紛失しているＣＣＭが再度受信される、あるいはＲＤＩフィールドを有するＣＣＭはそれ以上受信されない。つまり、データは、プライマリツリーへリダイレクトされる場合がある。ＣＣＭのＲＤＩフィールドもクリアされる。おそらく、ホールドオフタイマが、ロバスト性のためにリダイレクションの前に適用される。例えば、図１２のいわゆる復旧期間（間隔）が適用される。
【０１０６】
５．１．２  明示的な通知
この実施形態の動作を実現するためには、ＣＦＭに対して拡張が必要とされる。２つの新規のメッセージタイプが提案される。障害通知と修復通知であり、これは、従来のＣＣＭメッセージに対する新規のＣＦＭメッセージとしてあるいは新規のＴＬＶとして実現することができる。障害通知メッセージと修復通知メッセージはそれぞれ、壊れているツリーあるいは修復されているツリーのＩＤを含んでいる。どちらの通知メッセージもすべての他のノードへブロードキャストされる。明示的な通知メッセージが存在するので、ＲＤＩフィールドは、この方法を使用するためには必要とされない。
【０１０７】
この方法ではツリースイッチングが適用されるが、この方法では逆方向の経路を維持する必要はまったくない。この保護方法の動作は、図１３で示される。ＣＣＭが紛失する場合、それを検出するノードは、１つ以上の、例えば、すべての無傷のツリーにおいて壊れているツリーのＩＤを含む３つのツリー通知メッセージを送信する。つまり、他のノードのそれぞれは障害に気付いて、バックアップツリーへトラフィックをリダイレクトすることができる。この方法でも、ツリーに対する優先度リストが保持されることで、トラフィックのリダイレクション後の一致性を維持されることを保証する。ロバスト性を高めるために、おそらく、上述の待機タイマもこの方法に適用される。
【０１０８】
この方法は、復帰モードでも使用することができる。リダイレクション方法が、図１４に示される。ツリーが修復されるあるいは復旧される場合、以前に紛失しているＣＣＭが再度到着する。つまり、これらのＣＣＭを受信するノードは、現在使用されているツリー、おそらくはバックアップツリーであるツリー上に修復通知を送信する。ロバスト性のためのタイマも、同様に、この方法に適用される。
【０１０９】
５．２  セットスイッチング
図１５は、紛失しているＣＣＭを検出するエッジノードにおいて、セットスイッチングのための保護方法の動作を示している。ここで、１つのＣＣＭの紛失による疑似反応が回避されるべきである場合、紛失している複数の連続するＣＣＭを待機することができることに注意されたい。紛失しているＣＣＭは、ネットワークの内のどこかでの障害を示している。任意の反応の前に、エッジノードはいわゆる検出期間（間隔）を待機する。これは、ＣＣＭ間隔のほんの一部である。つまり、他のツリーの断絶も検出することができる。検出間隔の満了後、エッジノードは、どのツリーが影響を受けていないかを判定する。即ち、どのツリーにおいて、他のノードからのＣＣＭが受信されたかを判定する。次に、エッジノードは、すべての無傷のツリー上で送信されるＣＣＭに対してＲＤＩフィールドをセットする。このようにして、エッジノードは他のノードに、障害が発生していて、バックアップツリーへのスイッチングが必要とされることを通知する。加えて、ＣＣＭのＲＤＩフィールドは、送信側のエッジノードによってどのツリーが無傷であると見なされるかを示すものである。これは、それらが、無傷のツリー上でのみ送信されるからである。次に、エッジノードは、いわゆる通知期間が満了するまで待機する。通知期間中に、各エッジノードは、壊れているツリーの検出に従って、ＲＤＩフィールドセットを有するＣＣＭを送信する。つまり、各ノードには、障害のイベントについても通知される。また、各ノードは、無傷のツリーであるかを判定することができる。即ち、各エッジノードからＲＤＩフィールドを有するＣＣＭが受信されるツリーを判定することができる。無傷のツリーの情報を有することで、無傷のバックアップツリーのセットも判定することができる。そして、エッジノードは、ユーザトラフィックをバックアップツリーのセットへスイッチする。このバックアップツリーのセットは、無傷のツリーのセットの内の優先度リスト内の最高優先度を有するものである。
【０１１０】
ＲＤＩフィールドを有するＣＣＭがセットされている場合のエッジノードにおける動作が図１６に示される。このようなＣＣＭが受信される場合、それは、障害がネットワークのどこかで発生していることを示している。これが障害が発生していることについてののみの通知である場合、紛失しているＣＣＭに基づいて障害を検出する場合と同一のステップが起動される。それにもかかわらず、エッジノードが、紛失しているＣＣＭあるいは別の受信しているＲＤＩフィールドを有するＣＣＭによっていくつかの障害が発生していることに気付く場合、エッジノードは、通知期間の満了を待機する。つまり、どのツリーが無傷であるかについての通知がなされる。そして、エッジノードは、ユーザトラフィックを、最高優先度のバックアップツリーのセットへスイッチする。
【０１１１】
１つのツリーから別のツリーへのスイッチングは、ユーザフレームがＳＰＴ領域内にタグを付けているＳＰＶＩＤの置換を意味する。つまり、例えば、フォーマットＢのＳＰＢＢ領域の場合、フレームには、最高優先度の無傷のバックアップツリーのセットのバックアップ−ベースＶＩＤのタグが付けられている。これは、図４に示されるセットスイッチングに対して、バックアップツリーのセットが判定され、かつ保持されると想定できる場合である。
【０１１２】
復帰スイッチング及び非復帰スイッチングの両方を、提案されるセットスイッチングの方法を用いて実現することができる。復帰スイッチングの場合、ユーザトラフィックは、図１７に示される復旧がなされるとすぐに、最短経路ツリーへスイッチされる。エッジノードは、障害のために、どのツリーが断絶していることについてのレコードを維持する。つまり、エッジノードは、以前に壊れているツリー上でＣＣＭが再度受信されるかを検出することができる。このようなＣＣＭの出現は、復旧プロセスあるいは修復プロセスが進行中であることを示している。次の、エッジノードは、以前に壊れているツリーのそれぞれにおいてＣＣＭを受信するまで待機し、そして、すべての他のエッジノードが復旧に気付くことを確実するために、復旧期間と呼ばれる安全のためのホールドオフ時間を待機する。次に、エッジノードは、ユーザトラフィックを自身のプライマリツリーにスイッチする。ここで、復旧期間は、すべてのＳＰＴの再計算と再構成設定が確実になされる期間内の値にセットされるべきである。長時間の復旧期間は何等問題を生じない。これは、バックアップ経路からプライマリ経路へリダイレクトする場合、即ち、１つの使用可能経路から別の使用可能経路へトラフィックをスイッチングする場合だけを判定するからである。プライマリＳＰＴの復旧の削減のために、プライマリＳＰＴは、変更に応じたバックアップツリーの計算が起動される前のトポロジーの変更の後に、再計算され、かつセットされるべきである。
【０１１３】
上述の実施形態で記載される、提案される保護スイッチングは、ＳＰＢによって制御されるイーサネットネットワークにおけるマルチポイントサービスに対するファイルオーバの制御を提供する。ＣＦＭは、接続性モニタリングのために使用される。プライマリ経路が、ＳＢＰによって制御される。更に提供されることは、バックアップツリーと新規の保護スイッチングメカニズムの効果的な構成である。これは、現在のＳＰＢを拡張したものであり、また、規格に適合するものである。更に提案されることは、障害のイベントあるいは修復のイベントの場合に、ツリーの調整されたスイッチオーバ（切替）に対して必要とされるＣＦＭの応用方法である。つまり、提案される技術は、イーサネットネットワークに渡るマルチポイントサービスに対して達成可能な５０ｍｓファイルオーバ時間を実現する。
【０１１４】
当業者は、以下の本明細書で説明される機能が、ハードウェア回路、ソフトウェア手段、あるいはそれらの組み合わせを使用して実現することができることを更に理解するであろう。ソフトウェア手段は、特定用途集積回路（ＡＳＩＣ）及びデジタル信号プロセッサ（ＤＳＰ）の少なくとも一方を使用して、プログラム化マイクロプロセッサあるいは汎用コンピュータプロセッサと協働することができる。本発明が方法として記載される場合、コンピュータと、そのコンピュータプロセッサに接続されているメモリで実施されても良いことが明らかであろう。ここで、メモリは、そのコンピュータプロセッサによって実行される場合にその方法を実行する１つ以上のプログラムでエンコードされている。
【０１１５】
本発明が上述の実施形態を参照して説明されている一方で、この説明は図示の目的のためだけであることが理解されるべきである。従って、本発明は、本明細書に添付されている請求項の範囲によってのみ制限されることが意図されている。
【図１】
0005566463.tif 000002
【図２】
0005566463.tif 000003
【図６】
0005566463.tif 000004
【図７】
0005566463.tif 000005
【図８】
0005566463.tif 000006
【図９】
0005566463.tif 000007
【図１０】
0005566463.tif 000008
【図１１】
0005566463.tif 000009
【図１２】
0005566463.tif 000010
【図１３】
0005566463.tif 000011
【図１４】
0005566463.tif 000012
【図１５】
0005566463.tif 000013
【図１６】
0005566463.tif 000014
【図１７】
0005566463.tif 000015
【図１８】
0005566463.tif 000016
【図３】
0005566463.tif 000017
【図４】
0005566463.tif 000018
【図５】
0005566463.tif 000019