特許第5760083号(P5760083)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルカテル−ルーセントの特許一覧

特許5760083プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置
<>
  • 特許5760083-プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 図000002
  • 特許5760083-プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 図000003
  • 特許5760083-プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 図000004
  • 特許5760083-プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 図000005
  • 特許5760083-プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 図000006
  • 特許5760083-プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5760083
(24)【登録日】2015年6月12日
(45)【発行日】2015年8月5日
(54)【発明の名称】プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置
(51)【国際特許分類】
   H04L 12/761 20130101AFI20150716BHJP
   H04L 12/711 20130101ALI20150716BHJP
   H04L 12/723 20130101ALI20150716BHJP
【FI】
   H04L12/761
   H04L12/711
   H04L12/723
【請求項の数】10
【全頁数】21
(21)【出願番号】特願2013-521803(P2013-521803)
(86)(22)【出願日】2011年7月11日
(65)【公表番号】特表2013-535911(P2013-535911A)
(43)【公表日】2013年9月12日
(86)【国際出願番号】US2011043491
(87)【国際公開番号】WO2012015582
(87)【国際公開日】20120202
【審査請求日】2013年3月29日
(31)【優先権主張番号】12/847,250
(32)【優先日】2010年7月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】391030332
【氏名又は名称】アルカテル−ルーセント
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】クデイテイプデイ,シバラマクリシユナ
(72)【発明者】
【氏名】イシユワル,プラシヤンス
(72)【発明者】
【氏名】ベンカタラマン,シユリクリシユナン
(72)【発明者】
【氏名】ジヤイン,プラデイープ・ジー
(72)【発明者】
【氏名】フアイン,ジエレミー
(72)【発明者】
【氏名】ロツクハート,ウイル
【審査官】 松崎 孝大
(56)【参考文献】
【文献】 特開2005−102157(JP,A)
【文献】 特開2007−053467(JP,A)
【文献】 米国特許出願公開第2007/0177525(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/761
H04L 12/711
H04L 12/723
(57)【特許請求の範囲】
【請求項1】
ノードで、第1のマルチキャストツリーから第2のマルチキャストツリーに切り換えることを可能にする方法であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、方法が、
第1のマルチキャストツリーの障害が検出されたとき、第2のMPLSラベルレコードのパラメータを第1の値から第2の値に切り換えるステップであり、第1の値および第2の値が、第2のマルチキャストツリーを介してノードで受信したパケットを受け入れるか、それとも破棄するかを判定するために適用される第1および第2の処理ルールをそれぞれ示している、ステップ
を含む、方法。
【請求項2】
第1の処理ルールが、
パケットが、第2のマルチキャストツリーを介して受信されたとき、パケットを受け入れるか、それとも破棄するかを判定するために、第2のMPLSラベルレコードからの第2のツリー識別子を、マルチキャストレコードのプライマリツリー識別子とだけ比較するステップを含む、請求項1に記載の方法。
【請求項3】
第2の処理ルールが、
パケットが、第2のマルチキャストツリーを介して受信されたとき、パケットを受け入れるか、それとも破棄するかを判定するために、第2のMPLSラベルレコードからの第2のツリー識別子を、マルチキャストレコードのプライマリツリー識別子およびスタンバイツリー識別子の少なくとも1つと比較するステップを含む、請求項1に記載の方法。
【請求項4】
第1の値が、パケットを第2のマルチキャストツリーを介して受信すると、パケットは、第2のMPLSラベルレコードの第2のツリー識別子が、マルチキャストレコードのプライマリツリー識別子の1つと一致する場合に限って受け入れられることを示しており、かつ
第2の値が、パケットを第2のマルチキャストツリーを介して受信すると、パケットは、第2のMPLSラベルレコードの第2のツリー識別子が、マルチキャストレコードのプライマリツリー識別子の1つ、またはスタンバイツリー識別子の1つと一致する場合に受け入れられることを示している、請求項1に記載の方法。
【請求項5】
第2のマルチキャストツリーを介してパケットを受信するステップと、
第2のMPLSラベルレコードから第2のマルチキャストツリーの第2のツリー識別子を求めるステップと、
第2のMPLSラベルレコードからパラメータの値を求めるステップと、
第2のMPLSラベルレコードからのパラメータの値に基づいて第1または第2の処理ルールを適用するステップと
をさらに含む、請求項1に記載の方法。
【請求項6】
第1のMPLSラベルレコードのツリー識別子を、第1のツリー識別子から無効値に変更するステップをさらに含む、請求項1に記載の方法。
【請求項7】
第1のマルチキャストツリーを介してパケットを受信するステップと、
第1のMPLSラベルレコードから第1のマルチキャストツリーの第1のツリー識別子を求めるステップと、
第1のMPLSラベルレコードからパラメータの値を求めるステップと、
パケット処理ルールの結果に基づき受信したパケットを破棄するステップであり、適用されるパケット処理ルールは、第1のMPLSラベルレコードからのパラメータの値に基づいて選択される、ステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
プライマリツリー識別子のそれぞれを、第2のマルチキャストツリーの第2のツリー識別子を指し示すように切り換えることにより、かつスタンバイツリー識別子のそれぞれを、第1のマルチキャストツリーの第1のツリー識別子を指し示すように切り換えることにより、マルチキャストレコードを変更するステップをさらに含む、請求項1に記載の方法。
【請求項9】
ノードで、第1のマルチキャストツリーから第2のマルチキャストツリーに切り換えることを可能にする装置であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、装置が、
第1のマルチキャストツリーの障害が検出されたとき、第2のMPLSラベルレコードのパラメータを第1の値から第2の値に切り換えるように構成されたプロセッサであり、第1の値および第2の値が、第2のマルチキャストツリーを介してノードで受信したパケットを受け入れるか、それとも破棄するかを判定するために適用される第1および第2の処理ルールをそれぞれ示している、プロセッサ
を備える、装置。
【請求項10】
第1のマルチキャストツリーおよび第2のマルチキャストツリーをサポートするノードでパケットを受信するための方法であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、方法が、
マルチキャストツリーの一つを介してパケットを受信するステップと、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのパラメータの値を求めるステップと、
パラメータの値に基づいて、パケットに適用すべきパケット処理ルールを決めるステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、通信ネットワークに関し、またより詳細には、これだけに限らないが、マルチキャスト通信ネットワークにおけるマルチキャストツリー間の切換えに関する。
【背景技術】
【0002】
マルチキャストサービスを求める要求が増加し続けているのに伴い、サービスプロバイダは、マルチキャストサービスをサポートするための低コストで、帯域幅効率がよく、耐障害性のあるマルチキャスト移送機能を絶えず求めている。マルチプロトコルラベルスイッチング(MPLS)は、ラベルスイッチトパス(LSP)を用いて、広範囲な差別化されたエンドツーエンドサービスの効率的な配信を可能にする。多くのMPLSネットワークでは、ポイントツーマルチポイント(P2MP)ツリーが、様々なサービスを移送するマルチキャストストリームをサポートするために使用される。このようなネットワークでは、マルチキャストストリームがMPLSネットワークから出る位置にあるネットワーク出口ノードは、2つのP2MP LSPツリー、すなわち、プライマリP2MP LSPツリーおよびスタンバイP2MP LSPツリーを介してパケットを受け取る。ネットワーク出口ノードは、障害が起きるまで、プライマリP2MP LSPツリーからパケットを受け取るが、障害が起きたとき、ネットワーク出口ノードは、プライマリP2MP LSPツリーが回復するまで、スタンバイP2MP LSPツリーからパケットを受け入れるように切り換える。
【0003】
しかし、ネットワーク出口ノードにおける既存のマルチキャストツリー切換え機構は、十分に高速ではないという欠点がある。既存のネットワーク出口ノードでは、ネットワーク出口ノードの転送エンジンが、MPLSラベルレコードおよびマルチキャストレコードを含み、また既存のネットワーク出口ノード上の既存のマルチキャストツリー切換え機構は、プライマリP2MP LSPツリーの障害が起きた後、トラフィックがスタンバイP2MP LSPツリーを介して受け入れることができる前に、ネットワーク出口ノードのマルチキャストレコードのチャネルレコードのすべてを再プログラミングするように要求する。その結果、n個のチャネルレコードを有するマルチキャストレコードの場合、マルチキャストレコードを再プログラミングすることは、オーダーO(n)の演算になり、それは、完了するまでにかなりの量のトラフィック損失を生ずる可能性がある。したがって、既存のネットワーク出口ノードでは、トラフィックは、ネットワーク出口ノードが、プライマリマルチキャストツリーとスタンバイマルチキャストツリーの間を切り換えるときに失われるが、それは、SLA(サービスレベルに関する合意)の下に、または加入者が感ずる品質の点で受け入れられない可能性がある。
【発明の概要】
【課題を解決するための手段】
【0004】
マルチキャストネットワークのネットワーク出口ノードで、プライマリマルチキャストツリーとスタンバイマルチキャストツリーの間で切り換えるための機能が提供される。ネットワーク出口ノードは、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコードと、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコードと、複数のプライマリツリー識別子、および複数のスタンバイツリー識別子を含むマルチキャストレコードとを含む。MPLSラベルレコードは、それぞれパラメータを含み、パラメータの値は、パケットを受け入れるか、それとも破棄するかを判定するために適用される各パケット処理ルールを示している。MPLSラベルレコードのパラメータが第1の値に設定されたとき、関連付けられたマルチキャストツリーを介して受信されたパケットを受け入れるか、それとも破棄するかに関する判定が、MPLSラベルレコードのツリー識別子を、マルチキャストレコードのプライマリツリー識別子とだけ比較することにより行われる。MPLSラベルレコードのパラメータが、第2の値に設定されたとき、関連付けられたマルチキャストツリーを介して受信したパケットを受け入れるか、それとも破棄するかに関する判定が、MPLSラベルレコードのツリー識別子を、マルチキャストレコードのプライマリツリー識別子、またはマルチキャストレコードのスタンバイツリー識別子と比較することにより行われる。
【0005】
本明細書の教示は、添付の図面と共に、以下の詳細な記述を検討することにより容易に理解することができる。
【図面の簡単な説明】
【0006】
図1】マルチキャストツリー間で切り換えるように構成されたネットワーク出口ノードを含む例示的なビデオ配信システムの高水準のブロック図である。
図2図1の例示的なビデオ配信システムのネットワーク出口ノードの例示的なデータ構造を示す図である。
図3】ネットワーク出口ノードの一実施形態の高水準のブロック図である。
図4】プライマリマルチキャストツリーからスタンバイマルチキャストツリーに切り換えるようにネットワーク出口ノードを構成する方法の一実施形態を示す図である。
図5】プライマリマルチキャストツリーに障害が起きた後、スタンバイマルチキャストツリーからパケットを受け入れる方法の一実施形態を示す図である。
図6】本明細書で述べる機能を実施するために使用するのに適したコンピュータの高水準ブロック図である。
【発明を実施するための形態】
【0007】
容易に理解できるように、可能な限り、諸図に共通の同一の要素を指定するために同一の参照数字を使用している。
【0008】
マルチキャストツリー間で切り換えるためのマルチキャストツリー切換え機能が、本明細書で示され、かつ述べられる。本マルチキャストツリー切換え機能は、マルチキャストツリー間で切り換えるための機構を改良し、マルチキャストツリー間で切り換える既存の機構を用いて可能な速度よりも高速にストリームからストリームへの移行を実行することができる。マルチキャストツリー切換え機能は、マルチキャストツリーのマルチキャストストリーム間を切り換える高速な機構を提供することにより、例えば、負荷の共有、保守などのための障害(例えば、コンポーネント、リンクなどの)に応じて、切換えが行われたとき、エンドユーザに対する影響を最小化する。マルチキャストツリー切換え機能は、高速なストリーム切換え機構を提供することによりパケット損失を低減し、したがって、エンドユーザが感ずる品質を高める。
【0009】
マルチキャストツリー切換え機能は、ビデオトラフィックが、2つのマルチキャストツリーを用いて、冗長的にネットワークを介して移送されるというネットワーク環境で有用になりうるが、その場合には、2つのマルチキャストツリーが、同じまたは異なる入口ネットワークノードでネットワークに入り、また2つのマルチキャストツリーは、ネットワーク出口ノードを介して(例えば、ビデオトラフィックを可能性のある下流の受信者に転送するために)ネットワークを出る。この環境において、マルチキャストツリー切換え機能は、2つのマルチキャストツリーを介してビデオトラフィックを受け取るネットワーク出口ノードが、(ビデオトラフィックを可能性のある下流の受信者に転送するために)マルチキャストツリーの一つを介して受信するビデオトラフィックにアクセスできるが、他のマルチキャストツリーを介して受信するビデオトラフィックを拒否することのできる機構を提供する。
【0010】
主として、同報通信/マルチキャストビデオ配信システムの環境内で(すなわち、IP(インターネットプロトコル)/MPLS(マルチプロトコルラベルスイッチング)ネットワークを介するビデオトラフィックをマルチキャスト移送する環境内で)示され、かつ述べられているが、マルチキャストツリー切換え機能は、マルチキャストストリーム間の切換えが必要な、または望ましい任意の他のタイプのシステム内で実施することができる(例えば、別タイプの基本ネットワークおよび/またはプロトコルを用いる他のタイプのビデオ配信システム、他のタイプのトラフィックの移送をサポートするネットワークなどで、ならびにそれらの様々な組合せで実施することができる)。
【0011】
図1は、マルチキャストツリー間で切り換えるように構成されたネットワーク出口ノードを含む例示的なビデオ配信システムの高水準のブロック図を示す。
【0012】
例示的なビデオ配信システム100は、ソースノード110、マルチキャストネットワーク120、および受信ノード130を含む。マルチキャストネットワーク120は、複数のルータ122−122(総称して、ルータ122)を含む。ソースノード110、ルータ122、および受信ノード130は結合されており、したがって、通信リンクを介して通信する。図1で示すように、ソースノード110、ルータ122、および受信ノード130は、以下のように結合される:(a)ソースノード110はルータ122および122に結合される、(b)ルータ122、122、122、および122はフルメッシュで結合される、(c)ルータ122および122は共にルータ122に結合される、(d)ルータ122は受信ノード130に結合される。
【0013】
ソースノード110は、ビデオトラフィックをビデオストリームとして(ビデオチャネルと呼ぶこともできる)配信する。ソースノード110は、ビデオトラフィックを受信ノード130にマルチキャストするために、ビデオトラフィックをマルチキャストネットワーク120に配信する。図1で示すように、ソースノード110は、ビデオトラフィックをルータ122と122の両方に配信する。ソースノード110は、ビデオトラフィックを任意の適切な方法で配信することができる。一実施形態では、例えば、ソースノード110は、ビデオトラフィックのビデオストリームに対して一意のIPマルチキャストアドレスを使用し、IPマルチキャストパケットとしてビデオトラフィックを配信する。ソースノード110は、任意の適切なソース(例えば、ビデオトラフィックがソースノード110に記憶されている場所からローカルに、1つまたは複数の他のネットワーク要素から、および同様のものなど)からビデオトラフィックを得ることができる。
【0014】
マルチキャストネットワーク120は、ソースノード110からビデオトラフィックを受信し、受信ノード130へ配信するためにビデオトラフィックをマルチキャストする。マルチキャストネットワーク120は、任意の適切なマルチキャスト機能を利用する任意の適切なタイプのネットワークとすることができる。一実施形態では、例えば、マルチキャストネットワーク120は、ポイントツーマルチポイント(P2MP)ラベルスイッチトパス(LSP)を用いたビデオトラフィックのマルチキャストをサポートするように構成されたIP/MPLSネットワークである。P2MP LSPの特性は、当業者であれば理解されよう。
【0015】
図1で示すように、ルータ122および122は、ソースノード110からビデオトラフィックを受信し、そのトラフィックをルータ122へマルチキャストする。ルータ122は、ルータ122とルータ122の間で構成されたプライマリP2MP LSPツリー125を介して、ビデオトラフィックをルータ122にマルチキャストするが、そのツリーは、ルータ122からルータ122、ルータ122への経路を横断している(本明細書では、Blue P2MP LSPまたはP2MP−BLUEとも呼ぶ)。ルータ122は、ルータ122とルータ122の間で構成されたスタンバイP2MP LSPツリー125を介して、ビデオトラフィックをルータ122にマルチキャストするが、そのツリーは、ルータ122からルータ122、ルータ122への経路を横断している(本明細書では、Red P2MP LSPまたはP2MP−REDとも呼ぶ)。プライマリP2MP LSPツリー125およびスタンバイP2MP LSPツリー125は、本明細書で、総称的にP2MP LSPツリー125と呼ぶ。P2MP LSPツリー125は、任意の適切な方法で(例えば、RSVP−TE(リソース予約プロトコル−トラフィックエンジニアリング)ベースの制御プレーンシグナリングを用いて、かつ/または任意の他の適切な方法で)マルチキャストネットワーク120内で構成することができる。ルータ122および122は、ネットワーク入口ノードとして動作する。概して、この環境では、ネットワーク入口ノードは、(1)P2MP LSPツリーが開始するノードであり、かつ(2)IPマルチキャストパケットでソースノードから受信したトラフィックが、そこでMPLSを用いてMPLSラベルでカプセル化され、P2MP LSPツリーを介して伝達されるノードである。
【0016】
図1でさらに示すように、ルータ122は、プライマリP2MP LSPツリー125とスタンバイP2MP LSPツリー125を共に経由してビデオソース110からビデオトラフィックを受け取る。ルータ122は、P2MP LSPツリー125の一つからビデオトラフィックを受け入れ、P2MP LSPツリー125の他のものからのビデオトラフィックを(このようなビデオトラフィックはルータ122にとって冗長なものであるため)破棄するように構成される。すなわち、ルータ122は、プライマリP2MP LSPツリー125がアクティブである限り、プライマリP2MP LSPツリー125からのビデオトラフィックを受け入れ、スタンバイP2MP LSPツリー125からのビデオトラフィックを破棄するように構成され、またさらに、ビデオトラフィックが、(例えば、障害に応じて)プライマリP2MP LSPツリー125からこれ以上利用できない場合、スタンバイP2MP LSPツリー125からビデオトラフィックを受け入れるべく切り換えるように構成される。本明細書で述べるように、マルチキャストツリー切換え機能は、ルータ122が、プライマリP2MP LSPツリー125からビデオトラフィックを受け取ることを、スタンバイP2MP LSPツリー125からビデオトラフィックを受け取るように切り換える処理を改良するように構成される。ルータ122は、ネットワーク出口ノードとして動作し、したがって、本明細書では、ネットワーク出口ノード122と呼ぶこともできる。概して、この環境では、ネットワーク出口ノードは、(1)P2MP LSPツリーが終了するノードであり、(2)そのノードで、MPLSラベルカプセル化が除かれ、IPマルチキャストとしてトラフィックが、1つまたは複数のローカルの出力インターフェース上で伝達されてトラフィックチャネルの可能性のある受信者(例として、受信ノード130)へと送られる。
【0017】
例示的なビデオ配信システム100の前述の説明から、マルチキャストツリー切換え機能は、ビデオトラフィックが、ネットワーク入口ノードによりMPLSカプセル化が行われ、かつマルチキャストP2MP LSPツリーを介してネットワーク出口ノードに伝達される、IP/MPLSネットワーククラウドを介して、複数のチャネルをサポートする任意の同報通信/マルチキャストビデオ配信システムの環境において少なくとも利用できることが理解されよう。多くのこのようなアプリケーションでは、ネットワーク出口ノードは、ネットワーク入口ノードから始まるP2MP LSPツリーを介して、2つの異なるネットワーク入口ノードからビデオトラフィックをそれぞれ受け取る。同様に、多くのこのようなアプリケーションでは、各ネットワーク出口ノードは、ネットワーク出口ノードに利用可能なP2MP LSPツリーのいずれかから異なるチャネルを受け取るように選択することができる。このタイプの冗長性は、通常、プライマリP2MP LSPツリーで障害が生じたとき、損失を最小にするために(すなわち、プライマリP2MP LSPツリーに関連付けられたスタンバイP2MP LSPツリーに迅速に切り換えることにより)使用される。多くのこのようなアプリケーション(例えば、ビデオトラフィックの配信)では、このようなP2MP LSPツリーの障害が生じたとき、トラフィック損失を1秒未満にすることが望ましい。
【0018】
ネットワーク出口ノード122は、P2MP LSPツリー125により移送されるマルチキャストストリームの間を切り換えるためのマルチキャストツリー切換えを行うように構成される。すなわち、ネットワーク出口ノード122は、プライマリP2MP LSPツリー125の障害検出に応じて、プライマリP2MP LSPツリー125からスタンバイP2MPツリー125に切り換えるように構成され、同様に、プライマリP2MP LSPツリー125の回復を検出したことに応じて、スタンバイP2MP LSPツリー125からプライマリP2MP LSPツリー125に切り換えて戻るように構成することができる。
【0019】
ネットワーク出口ノード122は、P2MP LSPツリー125間で切り換えるための、したがって、P2MP LSPツリー125により移送されるマルチキャストストリーム間を切り換えるためのマルチキャストツリー切換えを可能にするように構成された転送エンジンを含む。転送エンジンは、P2MP LSPツリー125により移送されるマルチキャストストリーム間を切り換えるためのマルチキャストツリー切換えを可能にするのに使用されるように構成されたデータ構造を管理する。P2MP LSPツリー125により移送されるマルチキャストストリーム間を切り換えるためにデータ構造を使用することは、図2を参照することにより、よく理解することができる。
【0020】
図2は、図1の例示的なビデオ配信システムのネットワーク出口ノードの例示的なデータ構造を示している。図2は、(1)プライマリP2MP LSPツリー125の障害が、ネットワーク出口ノード122で検出される前のデータ構造の第1の状態201、および(2)プライマリP2MP LSPツリー125の障害が、ネットワーク出口ノード122で検出された後のデータ構造の第2の状態201を示す。
【0021】
図2で示すように、データ構造は、プライマリP2MP LSPツリー125のための第1のMPLSラベルレコード210と、スタンバイP2MP LSPツリー125のための第2のMPLSラベルレコード210(総称的に、MPLSラベルレコード210)と、マルチキャストレコード220とを含む。
【0022】
MPLSラベルレコード210および210(ILM(Incoming Label Map)テーブルと呼ぶこともできる)は、それぞれ、プライマリおよびスタンバイP2MP LSPツリー125、125を介して受信されたMPLSラベルでカプセル化されたパケットに使用するためのルックアップテーブルである。MPLSラベルレコード210は、各P2MP LSPツリー125に対して一意のものである。MPLSラベルレコード210はそれぞれ、ツリー識別子(MPLSラベルレコード210のP2MP LSPツリー125を識別する)を含む。MPLSラベルレコード210はまたそれぞれ、本明細書で状態ビットと呼ぶ新しいパラメータを含み、パラメータは、マルチキャストツリー切換え機能に従って、マルチキャストツリー切換えを可能にする。本明細書で述べるように、一実施形態では、プライマリP2MP LSPツリー125に障害が起きると、プライマリP2MP LSPツリー125からスタンバイP2MP LSPツリー125への高速の切換えが、スタンバイP2MP LSPツリー125のMPLSラベルレコード210を再プログラミングすることにより(また任意選択で、プライマリP2MP LSPツリー125のMPLSラベルレコード210を再プログラミングすることにより)達成される。
【0023】
マルチキャストレコード220(SGテーブルと呼ぶこともできる)は、P2MP LSPツリー125により受信されたMPLSラベルでカプセル化されたパケットに使用されるルックアップテーブルである。マルチキャストレコード220は、各マルチキャストチャネルに対して、プライマリツリー識別子(現在、アクティブなツリーとして設定されたP2MP LSPツリー125のツリー識別子を示す)、およびスタンバイツリー識別子(現在、スタンバイツリーとして設定されたP2MP LSPツリー125のツリー識別子を示す)を含むマルチキャストチャネルレコードを含む。マルチキャストレコード220は、ソースおよびマルチキャストアドレスに基づき、P2MP LSPツリー125を介して受け取られるパケットに対してルックアップを行うために使用される。
【0024】
MPLSラベルレコード210およびマルチキャストレコード220は、受信したパケットを処理するために、例えば、受信したパケットを受け入れるか、それとも破棄するかを判定するために使用される。概して、マルチキャストパケットがネットワーク出口ノード122で受け取られたとき、回線から到来したパケットは、IPパケット内に移送すべき情報(例えば、ビデオ)を含み、それは、MPLSヘッダ(MPLSラベルを含む)でカプセル化されており、イーサネット(登録商標)ヘッダでさらにカプセル化される。マルチキャストパケットが受信されたとき、イーサネットヘッダは除去され、またパケットのMPLSヘッダからのMPLSラベルが使用されて、パケットを処理するためにMPLSラベルレコード210のどれを使用すべきかが識別される(例えば、検索動作、または任意の他の適切な方法を用いる)。識別されたMPLSラベルレコードのツリー識別子は、次いで、パケットを受け入れるべきか、それとも破棄すべきかを判定するために、マルチキャストレコード中の情報と比較するためのツリー識別子として使用される。
【0025】
図2で示すように、第1の状態201で、プライマリP2MP LSPツリー125に関連付けられたMPLSラベルレコード210は、BLUEのツリー識別子および0に設定された状態ビットを有し、スタンバイP2MP LSPツリー125に関連付けられたMPLSラベルレコード210は、REDのツリー識別子および0に設定された状態ビットを有し、またマルチキャストレコード220は、各エントリが、BLUEに設定されたプライマリツリー識別子、およびREDに設定されたスタンバイツリー識別子を有するN個のエントリを含む。言い換えると、プライマリP2MP LSPツリー125に障害が起きる前は、MPLSラベルレコード220のそれぞれの状態ビットのデフォルト値は0である。ネットワーク出口ノード122の転送エンジンは、MPLSラベルレコード210のいずれも状態ビットの値が0に設定され、パケットがP2MP LSPツリー125の一つを介して受信されたとき、転送エンジンは、マルチキャストレコード220のプライマリツリー識別子だけを、パケットが介して受信されたP2MP LSPツリー125のMPLSラベルレコード210から取得されたツリー識別子と比較するように構成される。その結果、図2の状態201で示されるように、プライマリP2MP LSPツリー125の障害が起きる前は、プライマリP2MP LSPツリー125を介して受信したパケットだけが受け入れられて転送されるが、スタンバイP2MP LSPツリー125を介して受信されたパケットは破棄されることになる。
【0026】
第1の状態201では、パケットが、プライマリP2MP LSPツリー125を介して受信されたとき、ツリー識別子BLUEが、ライマリP2MP LSPツリー125に関連付けられたMPLSラベルレコード210から取得され、状態ビット値が0であることにより、マルチキャストレコード220のプライマリツリー識別子とだけ比較される。この場合、マルチキャストレコード220中のプライマリツリー識別子のすべてが、BLUEの値を有しているので、一致が見出され、プライマリP2MP LSPツリー125を介して受信したパケットが受け入れられて、転送される。
【0027】
第1の状態201で、パケットが、スタンバイP2MP LSPツリー125を介して受信されたとき、ツリー識別子REDが、プライマリP2MP LSPツリー125に関連付けられたMPLSラベルレコード210から取得され、状態ビット値が0であることにより、マルチキャストレコード220中のプライマリツリー識別子とだけ比較される。この場合、マルチキャストレコード220のプライマリツリー識別子のすべてがBLUEの値を有しているので、一致が見出されることはなく、したがって、スタンバイP2MP LSPツリー125を介して受信されたパケットは破棄される。
【0028】
図2で示すように第2の状態201で、プライマリP2MP LSPツリー125の障害を検出すると:(1)スタンバイP2MP LSPツリー125のMPLSラベルレコード210の状態ビットが0から1に切り換えられる、かつ(2)障害を起こしたプライマリP2MP LSPツリー125のMPLSラベルレコード210のツリー識別子の値が、ネットワーク出口ノード122によるパケットの複製を阻止するために(すなわちネットワーク出口ノード122が、両方のP2MP LSPツリー125からのパケットを受け入れる状況を阻止するために)、無効の値に設定される。その結果、第2の状態201で、プライマリP2MP LSPツリー125に関連付けられたMPLSラベルレコード210は、INVのツリー識別子と0に設定された状態ビットとを有し、スタンバイP2MP LSPツリー125に関連付けられたMPLSラベルレコード210は、REDのツリー識別子と1に設定された状態ビットとを有し、さらにマルチキャストレコード220は、各エントリが、BLUEに設定されたプライマリツリー識別子と、REDに設定されたスタンバイツリー識別子を有するN個のエントリを含む(すなわち、既存のマルチキャストツリー切換えを行うには、スタンバイP2MP LSPツリー125を介してトラフィックを受け入れることが可能になる前に必要となるはずのマルチキャストレコード220の変更がまだ行われていない)。ネットワーク出口ノード122の転送エンジンは、スタンバイP2MP LSPツリー125のMPLSラベルレコード210の状態ビットが1に設定されたとき、マルチキャストレコード220のプライマリおよびスタンバイツリー識別子の両方と、パケットが介して受信されたP2MP LSPツリー125のMPLSラベルレコード210から取得されたツリー識別子との突合わせを検討し、比較した値のいずれかが一致する場合、パケットが受け入れられて、転送されるように構成される。
【0029】
第2の状態201で、パケットが、プライマリP2MP LSPツリー125を介して受信されたとき、ツリー識別子INVがプライマリP2MP LSPツリー125に関連付けられたMPLSラベルレコード210から取得され、マルチキャストレコード220中のプライマリツリー識別子と比較される。マルチキャストレコード220におけるすべてのプライマリツリー識別子は、BLUEの値を有しているので、一致を見出すことができず、したがって、プライマリP2MP LSPツリー125を介して受信されたパケットは破棄されることになる。このことは、プライマリP2MP LSPツリー125が障害状態にある場合は問題になる可能性はないが、これは、プライマリP2MP LSPツリー125が回復する時間と、プライマリP2MP LSPツリー125を用いる状態に戻るために、切換え動作が行われる時間との間にパケットが複製されるのを阻止することが理解されよう。
【0030】
第2の状態201では、パケットが、スタンバイP2MP LSPツリー125を介して受信されたとき、ツリー識別子REDが、プライマリP2MP LSPツリー125に関連付けられたMPLSラベルレコード210から取得され、また状態ビット値が1であることにより、マルチキャストレコード220におけるプライマリツリー識別子、およびマルチキャストレコード220におけるスタンバイツリー識別子の両方と比較される。この場合、マルチキャストレコード220中のすべてのプライマリツリー識別子はBLUEであるが(マルチキャストレコード220が再プログラムされていないため)、スタンバイP2MP LSPツリー125を介して受信されたパケットはなお、転送エンジンにより受け入れられ、転送されるが、それは、マルチキャストレコード220におけるすべてのスタンバイツリー識別子がREDである(すなわち、マルチキャストレコード220のスタンバイツリー識別子に対して一致が見出される)からである。
【0031】
このように、MPLSラベルレコード210内に状態ビットを含めることにより、ネットワーク出口ノード122の転送エンジンは、マルチキャストレコード220の再プログラミングが行われる前に、プライマリP2MP LSPツリー125の障害を検出したことに応じて、スタンバイP2MP LSPツリー125からのトラフィックの受入れを開始することが可能になる。
【0032】
ツリーの障害に応じてMPLSラベルレコード210を再プログラミングする動作は決定性のもの(deterministic)であり、かつオーダーO(1)であるので、プライマリP2MP LSPツリー125に障害が起きたときにプライマリP2MP LSPツリー125からスタンバイP2MP LSPツリー125へと高速に切り換えることは、トラフィック損失がほとんどない、または全くない状態で達成できることが理解されよう。これは、スタンバイP2MP LSPツリーで受信されたパケットが、ネットワーク出口ノードにより受け入れられて転送できる前に、マルチキャストレコードの全部でN個あるチャネルレコードを再プログラムすることが必要であるため、オーダーO(N)である既存のマルチキャストツリー切換えの実施に対して、実質的に改善されている。
【0033】
マルチキャストツリー切換えを可能にするための転送エンジンのデータ構造の再プログラミングを含むマルチキャストツリー切換えを実施するネットワーク出口ノードの動作は、任意の適切な方法で実施することができる。マルチキャストツリー切換えを実施するネットワーク出口ノードの動作は、図3で示されたネットワーク出口ノードの例示的な実施形態を参照することにより、よく理解することができる。
【0034】
図3は、ネットワーク出口ノードの一実施形態の高水準のブロック図を示している。例えば、図3のネットワーク出口ノード300は、図1のルータ122として使用することができ、それは、図1のP2MP LSPツリー125に関するネットワーク出口ノードとして機能する。
【0035】
図3で示すように、ネットワーク出口ノード300は、本明細書で示され述べられるマルチキャストツリー切換え機能に従ってマルチキャストツリー切換えを行うように協動するいくつかのコンポーネントを含む。すなわち、ネットワーク出口ノード300は、障害検出コンポーネント310、MPLSコンポーネント320、マルチキャストコンポーネント330、ラインカードプログラミングコンポーネント340、および転送エンジンコンポーネント350を含む。図3で示されるように、転送エンジンコンポーネント350は:プライマリP2MP LSPツリー125のMPLSラベルレコード351、スタンバイP2MP LSPツリー125のMPLSラベルレコード351、およびマルチキャストレコード352のそれぞれを維持する。
【0036】
マルチキャストツリー切換え機能を提供するようにネットワーク出口ノード300のコンポーネントを使用することに関する説明は、ステップ361−366(障害を起こしたプライマリP2MP LSPツリー125からスタンバイP2MP LSPツリー125へ切り換えるためのもの)、およびステップ371−378(スタンバイP2MP LSPツリー125から回復したプライマリP2MP LSPツリー125へと戻るためのもの)を参照することにより行われる。
【0037】
本明細書で述べるように、ネットワーク出口ノード300は、プライマリP2MP LSPツリー125の障害が検出されたとき、プライマリP2MP LSPツリー125からスタンバイP2MP LSPツリー125へ切り換えるように構成される。これは、ステップ361−366に関して示され、述べられる。
【0038】
ステップ361で、障害検出コンポーネント310は、プライマリP2MP LSPツリー125の障害を検出する。プライマリP2MP LSPツリー125の障害は、任意の適切な方法で検出することができる。
【0039】
ステップ362で、障害検出コンポーネント310は、プライマリP2MP LSPツリー125の検出された障害をMPLSコンポーネント320に通知する。
【0040】
ステップ363で、MPLSコンポーネント320は、2つのアクションを行う、すなわち、それは、(1)ラインカードプログラミングコンポーネント340にメッセージを送り、ラインカードプログラミングコンポーネント340に、スタンバイP2MP LSPツリー125のMPLSラベルレコード351の状態ビットを変更する(例えば、状態ビットの値を0から1に変更する)ように命令し、かつラインカードプログラミングコンポーネント340に、プライマリP2MP LSPツリー125のMPLSラベルレコード351のツリー識別子を変更する(例えば、ツリー識別子の値を無効値に変更する)ように命令する、かつ(2)マルチキャストコンポーネント330にメッセージを送り、マルチキャストコンポーネント330にプライマリP2MP LSPツリー125の検出された障害を知らせる。
【0041】
ステップ364で、ラインカードプログラミングコンポーネント340は、転送エンジンコンポーネント350上で、スタンバイP2MP LSPツリー125のMPLSラベルレコード351の状態ビットを変更し、かつ転送エンジンコンポーネント350上で、プライマリP2MP LSPツリー125のMPLSラベルレコード351のツリー識別子を変更する。
【0042】
ステップ365で(任意の適切な時間に行うことができる)、マルチキャストコンポーネント330は、2つのアクションを行う、すなわち、それは:(1)ラインカードプログラミングコンポーネント340に再プログラミングメッセージを送り、ラインカードプログラミングコンポーネント340に、マルチキャストレコード352におけるすべてのチャネルレコードに対して、プライマリツリー識別子およびスタンバイツリー識別子を切り換えることによりマルチキャストレコード352を変更するように命令し、それにより、すべてのチャネルレコードに対して、スタンバイP2MP LSPツリー125のツリー識別子を、プライマリツリー識別子にし、かつすべてのチャネルレコードに対して、プライマリP2MP LSPツリー125のツリー識別子を、スタンバイツリー識別子にする、かつ(2)肯定応答メッセージ(ACK)をMPLSコンポーネント320に送り、ラインカードプログラミングコンポーネント340により処理するための再プログラミングメッセージが待ち行列に入ったことを示す。
【0043】
ステップ366で、ラインカードプログラミングコンポーネント340は、転送エンジンコンポーネント350のマルチキャストレコード352のツリー識別子の要求された再プログラミングを実施する。
【0044】
このように、マルチキャストレコード352のすべてのツリー識別子をネットワーク出口ノードが再プログラミングする間に、P2MP LSPツリー125のMPLSラベルレコード351の状態ビットによりマルチキャストの適正な経路指定が可能であるが、既存のマルチキャストツリー切換え解決策ではそれとは反対に、マルチキャストレコード352のツリー識別子の再プログラミングを、プライマリP2MP LSPツリー125の障害が起きた後、パケットをスタンバイP2MP LSPツリー125を介して受け入れることが可能になる前に完了している必要があるはずである(それは、大幅なパケット損失が生じ、エンドユーザに顕著な影響を生ずる可能性がある)。
【0045】
本明細書で述べるように、ネットワーク出口ノード300はまた、プライマリP2MP LSPツリー125が回復したことを検出したとき、スタンバイP2MP LSPツリー125から、プライマリP2MP LSPツリー125に切り換えて戻るように構成される。これは、ステップ371−378に関して示され、かつ述べられる。
【0046】
ステップ371で、MPLSコンポーネント320は、プライマリP2MP LSPツリー125が回復したことを検出する。プライマリP2MP LSPツリー125の回復は、任意の適切な方法で検出することができる。一実施形態では、例えば、障害が起きたプライマリP2MP LSPツリー125は、MPLS/RSVP−TEプロトコル機構により回復される。一実施形態では、ネットワーク出口ノードは、プライマリP2MP LSPツリー125の使用へと戻る何らかのアクションをとる前に、所定長さの時間だけ待機することができる。
【0047】
ステップ372で、MPLSコンポーネント320は、プライマリP2MP LSPツリー125の検出された回復をマルチキャストコンポーネント330に知らせるために、マルチキャストコンポーネント330にメッセージを送る。
【0048】
ステップ373で、マルチキャストコンポーネント330は、2つのアクションを行う、すなわち、それは:(1)ラインカードプログラミングコンポーネント340に再プログラミングメッセージを送り、ラインカードプログラミングコンポーネント340に、マルチキャストレコード352におけるすべてのチャネルレコードに対して、プライマリツリー識別子およびスタンバイツリー識別子を切り換えることにより、マルチキャストレコード352を変更するように命令し、それにより、すべてのチャネルレコードに対して、プライマリP2MP LSPツリー125のツリー識別子をプライマリツリー識別子に変え、かつすべてのチャネルレコードに対して、スタンバイP2MP LSPツリー125のツリー識別子をスタンバイツリー識別子にする、かつ(2)肯定応答メッセージ(ACK)をMPLSコンポーネント320に送り、ラインカードプログラミングコンポーネント340により処理するための再プログラミングメッセージが待ち行列に入ったことを示す。
【0049】
ステップ374で、ラインカードプログラミングコンポーネント340は、転送エンジンコンポーネント350のマルチキャストレコード352のツリー識別子の要求された再プログラミングを実施する。
【0050】
ステップ375で、転送エンジンコンポーネント350のマルチキャストレコード352のツリー識別子の要求された再プログラミングの完了に続いて、ラインカードプログラミングコンポーネント340は、肯定応答メッセージをマルチキャストコンポーネント330に送り、転送エンジンコンポーネント350のマルチキャストレコード352の再プログラミングが完了したことを示す。代替の実施形態では、ラインカードプログラミングコンポーネント340は、MPLSコンポーネント320に肯定応答メッセージを直接送ることもできる。
【0051】
ステップ376で、マルチキャストコンポーネント330は、肯定応答メッセージをMPLSコンポーネント320に送り、転送エンジンコンポーネント350のマルチキャストレコード352の再プログラミングが完了したことを示す。
【0052】
ステップ377で、MPLSコンポーネント320は、プログラミングメッセージをラインカードプログラミングコンポーネント340に送り、ラインカードプログラミングコンポーネント340に、(1)プライマリP2MP LSPツリー125のMPLSラベルレコード351のツリー識別子を(例えば、無効値から、プライマリP2MP LSPツリー125の正しいツリー識別子に)訂正するように、かつ(2)スタンバイP2MP LSPツリー125のMPLSラベルレコード351の状態ビットをリセットする(例えば、状態ビットの値を1から変更して0に戻す)ように命令する。
【0053】
ステップ378で、ラインカードプログラミングコンポーネント340は、転送エンジンコンポーネント350上でプライマリP2MP LSPツリー125のMPLSラベルレコード351のツリー識別子を変更し、かつ転送エンジンコンポーネント350上でスタンバイP2MP LSPツリー125のMPLSラベルレコード351の状態ビットを変更する。
【0054】
このように、スタンバイP2MP LSPツリー125を介してトラフィックを受信することから、プライマリP2MP LSPツリー125を介してトラフィックを受信することへと円滑に、損失なく復帰することが達成されうる。プライマリP2MP LSPツリー125への復帰中に、スタンバイP2MP LSPツリー125がアクティブである場合、マルチキャストレコード352の再プログラミングが行われている間に、トラフィックを、スタンバイP2MP LSPツリー125を介して受信できるので、プライマリP2MP LSPツリー125のMPLSラベルレコード351の状態ビットを0から1に変更する必要のないことが理解されよう。
【0055】
別々のコンポーネントとして示され、述べられているが、ネットワーク出口ノード300の様々なコンポーネントを、任意の適切な方法で(例えば、別々の物理的なコンポーネント、1つまたは複数の物理的なコンポーネントの1つまたは複数の論理部分などとして、ならびにその様々な組合せで)実施できることが理解されよう。
【0056】
図4は、ネットワーク出口ノードを、プライマリマルチキャストツリーからスタンバイマルチキャストツリーに切り換えるように構成するための方法の一実施形態を示す。
【0057】
ステップ402で、方法400が開始する。
【0058】
ステップ404で、プライマリマルチキャストツリーの障害が検出される。
【0059】
ステップ406で、スタンバイマルチキャストツリーのMPLSラベルレコードが変更される。すなわち、MPLSラベルレコードの状態ビットが、第1の値(パケットを受け入れる/転送するか、それともパケットを破棄するかを判定する場合に、スタンバイマルチキャストツリーのMPLSラベルレコードのツリー識別子が、ネットワーク出口ノードのマルチキャストレコードのプライマリツリー識別子とだけ比較すべきであることをネットワーク出口ノードに示す値)から、第2の値(パケットを受け入れる/転送するか、それともパケットを破棄するかを判定する場合に、スタンバイマルチキャストツリーのMPLSラベルレコードのツリー識別子を、ネットワーク出口ノードのマルチキャストレコードのプライマリツリー識別子およびスタンバイツリー識別子の両方と比較できることをネットワーク出口ノードに示す値)に変更される。
【0060】
ステップ408で、プライマリマルチキャストツリーのMPLSラベルレコードが変更される。すなわち、MPLSラベルレコードのツリー識別子は、第1の値(プライマリマルチキャストツリーのツリー識別子)から第2の値(無効値)に変更される。
【0061】
ステップ410で、方法400は終了する。終了と示され、述べられているが(この方法を実行することは、スタンバイマルチキャストツリーを介してトラフィックを受信できるようにするには十分であるため)、さらなるステップ(例えば、マルチキャストレコードのプライマリおよびスタンバイツリー識別子の再プログラミング)をネットワーク出口ノードで実施できることが理解されよう。
【0062】
図5は、プライマリマルチキャストツリーに障害が起きた後に、スタンバイマルチキャストツリーからパケットを受け入れる方法の一実施形態を示す。方法500は、プライマリマルチキャストツリー、またはスタンバイマルチキャストツリーで受信されるパケットに関して実行することができる。
【0063】
ステップ502で、方法500が開始する。
【0064】
ステップ504で、パケットは、マルチキャストツリーを介して受け取られる。
【0065】
ステップ506で、マルチキャストツリーに関連付けられたMPLSラベルレコードが識別される。例えば、MPLSラベルレコードは、パケットのMPLSヘッダ中のMPLSラベルを用いて識別することができる。
【0066】
ステップ508で、ツリー識別子が、MPLSラベルレコードから求められる。
【0067】
ステップ510で、状態ビットが、MPLSラベルレコードから求められる。
【0068】
ステップ512で、MPLSラベルレコードの状態ビットがゼロ(0)であるか、それとも1であるかに関して判定が行われる。状態ビットがゼロである場合、方法500はステップ514に進む。状態ビットが1である場合、方法500はステップ514に進む。
【0069】
ステップ514で、第1のパケット処理ルールが、受信したパケットの処理を決めるために適用される。すなわち、パケットを受け入れるか、それとも破棄するかを判定するために、MPLSラベルレコードのツリー識別子が、マルチキャストレコードのプライマリツリー識別子とだけ比較される。
【0070】
ステップ514で、第2のパケット処理ルールが、受信したパケットの処理を決めるために適用される。すなわち、パケットを受け入れるか、それとも破棄するかを判定するために、MPLSラベルレコードのツリー識別子が、マルチキャストレコードのプライマリツリー識別子およびスタンバイツリー識別子の両方と比較することができる。
【0071】
ステップ516で、パケットは、その比較に基づいて処理される、すなわち、パケットは、(一致が見出された場合)転送のために受け入れられる、または(一致が見出されない場合)破棄される。
【0072】
ステップ518で、方法500は終了する。
【0073】
MPLSラベルレコードの状態ビットのデフォルト値が「0」であり、またプライマリP2MP LSPツリーの障害を検出すると、スタンバイP2MP LSPツリーのMPLSラベルレコードの状態ビットが「1」に設定される実施形態に関して本明細書で示され、述べられているが、他の実施形態では、MPLSラベルレコードの状態ビットのデフォルト値が「1」であり、またプライマリP2MP LSPツリーの障害が検出されると、スタンバイP2MP LSPツリーのMPLSラベルレコードの状態ビットが「0」に設定されることが理解されよう。
【0074】
主として、マルチキャストツリー切換え機能が、状態ビットと呼ばれる1ビット値を有するパラメータを用いて行われる実施形態に関して本明細書で示され、かつ述べられているが、任意の適切なパラメータ、またはパラメータの組合せを、マルチキャストツリー切換え機能を行うために使用できることが理解されよう(例えば、異なるパラメータ名を有する単一ビット値を用いること、マルチビット値を用いること、他の任意の適切な値を用いること、および同様のもの、ならびにそれらの様々な組合せなど)。言い換えると、任意の適切なパラメータ、および関連するパラメータ値を、本明細書で示され、述べられた状態ビットにより可能な様々な機能を提供するために使用することができる。
【0075】
主として、マルチキャストツリー切換え機能が、P2MP LSPツリー間で切り換えるために使用される実施形態に関して本明細書で示され、述べられているが、マルチキャストツリー切換え機能は、マルチキャストツリーの様々な他のタイプの間で切り換えるために使用することができる。
【0076】
主として、マルチキャストツリー切換え機能が、MPLSネットワークにおけるマルチキャストツリーの間で切り換えるために使用される実施形態に関して本明細書で示され、述べられているが、マルチキャストツリー切換え機能は、他のタイプのマルチキャストネットワークのマルチキャストツリー間で切り換えるために使用することもできる。
【0077】
図6は、本明細書で述べる機能を実施するために使用するのに適したコンピュータの高水準ブロック図を示す。
【0078】
図6で示すように、コンピュータ600は、プロセッサ要素602(例えば、CPU(中央処理装置)および/または他の適切なプロセッサ)、メモリ604(例えば、RAM(ランダムアクセスメモリ)、ROM(読出し専用メモリ)など)、協動するモジュール/処理605、および様々な入力/出力装置606(例えば、ユーザ入力装置(キーボード、キーパッド、マウスなど)、ユーザ出力装置(ディスプレイ、スピーカなど)、入力ポート、出力ポート、受信器、送信器、および記憶装置(例えば、テープドライブ、フロッピー(登録商標)ドライブ、ハードディスクドライブ、コンパクトディスクドライブなど))を含む。
【0079】
本明細書で示され、述べられた機能は、ソフトウェアおよび/またはハードウェアで、例えば、汎用コンピュータ、1つまたは複数のASIC(特定用途向けIC)、および/または任意の他のハードウェアの等価物を用いて実施できることが理解されよう。一実施形態では、協動する処理605は、本明細書で論ずる機能を実施するために、メモリ604にロードされ、プロセッサ602により実行することができる。したがって、協動する処理605(関連するデータ構造を含む)は、例えば、RAMメモリ、磁気または光ドライブもしくはディスケット、および同様のものなど、コンピュータ可読記憶媒体に記憶することができる。
【0080】
本明細書でソフトウェアの方法として論じられたステップのいくつかは、例えば、様々な方法ステップを行うためにプロセッサと協動する回路としてなど、ハードウェア内で実施できることが企図される。本明細書で述べた機能/要素のいくつかの部分は、コンピュータプログラム製品として実施することができ、その場合、コンピュータ命令は、コンピュータにより処理されたとき、本明細書で述べた方法および/または技法が呼び出される、またはその他の形で提供されるように、コンピュータの動作を適合させる。本発明の方法を呼び出すための命令は、固定された、または取外し可能な媒体に記憶する、同報通信または他の信号搬送媒体におけるデータストリームにより送信する、かつ/または命令に従って動作するコンピューティング装置内のメモリに記憶することができる。
【0081】
様々な実施形態の諸態様は、特許請求の範囲で指定される。様々な実施形態のこれらの、および他の態様は、以下の番号を付した節で具体的に述べる:
1.ノードで、第1のマルチキャストツリーから第2のマルチキャストツリーに切り換えることを可能にする方法であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、方法が、
第1のマルチキャストツリーの障害が検出されたとき、第2のMPLSラベルレコードのパラメータを第1の値から第2の値に切り換えるステップであり、第1の値および第2の値が、第2のマルチキャストツリーを介してノードで受信したパケットを受け入れるか、それとも破棄するかを判定するために適用される第1および第2の処理ルールをそれぞれ示している、方法。
【0082】
2.第1の処理ルールが、
パケットが、第2のマルチキャストツリーを介して受信されたとき、パケットを受け入れるか、それとも破棄するかを判定するために、第2のMPLSラベルレコードからの第2のツリー識別子を、マルチキャストレコードのプライマリツリー識別子とだけ比較するステップを含む、節1の方法。
【0083】
3.第2の処理ルールが、
パケットが、第2のマルチキャストツリーを介して受信されたとき、パケットを受け入れるか、それとも破棄するかを判定するために、第2のMPLSラベルレコードからの第2のツリー識別子を、マルチキャストレコードのプライマリツリー識別子、またはスタンバイツリー識別子と比較するステップを含む、節1の方法。
【0084】
4.第1の値が、パケットを第2のマルチキャストツリーを介して受信すると、パケットは、第2のMPLSラベルレコードの第2のツリー識別子が、マルチキャストレコードのプライマリツリー識別子のうちの1つと一致する場合に限って受け入れられることを示している、節1の方法。
【0085】
5.第2の値が、パケットを第2のマルチキャストツリーを介して受信すると、パケットは、第2のMPLSラベルレコードの第2のツリー識別子が、マルチキャストレコードのプライマリツリー識別子の1つ、またはスタンバイツリー識別子の1つと一致する場合に受け入れられることを示している、節1の方法。
【0086】
6.第2のマルチキャストツリーを介してパケットを受信するステップと、
第2のMPLSラベルレコードから第2のマルチキャストツリーの第2のツリー識別子を求めるステップと、
第2のMPLSラベルレコードからパラメータの値を求めるステップと、
第2のMPLSラベルレコードからのパラメータの値に基づいて第1または第2の処理ルールを適用するステップと
をさらに含む、節1の方法。
【0087】
7.第1のMPLSラベルレコードのツリー識別子を第1のツリー識別子から無効値に変更するステップをさらに含む、節1の方法。
【0088】
8.第1のマルチキャストツリーが回復したとき、
第1のマルチキャストツリーを介してパケットを受信するステップと、
受信したパケットを受け入れるか、それとも破棄するかを判定するステップと
をさらに含み、
第1のマルチキャストツリーのMPLSラベルレコードのツリー識別子の無効値が、マルチキャストレコードのプライマリツリー識別子のいずれとも一致するのに失敗した場合、パケットは破棄される、節7の方法。
【0089】
9.第1のマルチキャストツリーを介してパケットを受信するステップと、
第1のMPLSラベルレコードから第1のマルチキャストツリーの第1のツリー識別子を求めるステップと、
第1のMPLSラベルレコードからパラメータの値を求めるステップと、
パケット処理ルールの結果に基づき受信したパケットを破棄するステップであり、適用されるパケット処理ルールは、第1のMPLSラベルレコードからのパラメータの値に基づいて選択される、ステップと
をさらに含む、節1の方法。
【0090】
10.プライマリツリー識別子のそれぞれを、第2のマルチキャストツリーの第2のツリー識別子を指し示すように切り換えることにより、かつスタンバイツリー識別子のそれぞれを、第1のマルチキャストツリーの第1のツリー識別子を指し示すように切り換えることにより、マルチキャストレコードを変更するステップをさらに含む、節1の方法。
【0091】
11.第1のマルチキャストツリーの回復が検出されたとき、
プライマリツリー識別子のそれぞれを、第1のマルチキャストツリーの第1のツリー識別子を指し示すように切り換えることにより、かつスタンバイツリー識別子のそれぞれを、第2のマルチキャストツリーの第2のツリー識別子を指し示すように切り換えることにより、マルチキャストレコードを変更するステップと、
第2のMPLSラベルレコードのパラメータを、第2の値から第1の値に切り換えるステップと
をさらに含む、節10の方法。
【0092】
12.第1のおよび第2のマルチキャストツリーが、ポイントツーマルチポイント(P2MP)ラベルスイッチトパス(LSP)ツリーである、節1の方法。
【0093】
13.ノードで、第1のマルチキャストツリーから第2のマルチキャストツリーに切り換えることを可能にする装置であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、装置が、
第1のマルチキャストツリーの障害が検出されたとき、第2のMPLSラベルレコードのパラメータを第1の値から第2の値に切り換えるように構成されたプロセッサであり、第1の値および第2の値が、第2のマルチキャストツリーを介してノードで受信したパケットを受け入れるか、それとも破棄するかを判定するために適用される第1および第2の処理ルールをそれぞれ示している、プロセッサ
を備える、装置。
【0094】
14.第1のマルチキャストツリーおよび第2のマルチキャストツリーをサポートするノードでパケットを受信するための方法であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、方法が、
マルチキャストツリーの一つを介してパケットを受信するステップと、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのパラメータの値を求めるステップと、
パラメータの値に基づいて、パケットに適用すべきパケット処理ルールを決定するステップと
を含む、方法。
【0095】
15.パラメータの値が第1の値であるとき、パケットを受け入れるか、それとも破棄するかを判定するために第1のパケット処理ルールを適用するステップと、
パラメータの値が第2の値であるとき、パケットを受け入れるか、それとも破棄するかを判定するための第2のパケット処理ルールを適用するステップと
をさらに含む、節14の方法。
【0096】
16.パラメータの値が第1の値であるとき、パケット処理ルールが、パケットを受け入れるか、それとも破棄するかを判定するために、(a)パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのツリー識別子を、(b)マルチキャストレコードのプライマリツリー識別子とだけ比較するステップを含む、節14の方法。
【0097】
17.パケットを受け入れるか、それとも破棄するかを判定するために、パケット処理ルールを適用するステップをさらに含み、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのツリー識別子が、マルチキャストレコードのプライマリツリー識別子のうちの1つと一致したとき、パケットを受け入れ、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのツリー識別子が、マルチキャストレコードのプライマリツリー識別子と一致しないとき、パケットを破棄する、節16の方法。
【0098】
18.パラメータの値が第2の値であるとき、パケットを受け入れるか、それとも破棄するかを判定するために、パケット処理ルールが、(a)パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのツリー識別子を、(b)マルチキャストレコードのプライマリツリー識別子またはスタンバイツリー識別子と比較するステップを含む、節14の方法。
【0099】
19.パケットを受け入れるか、それとも破棄するかを判定するために、パケット処理ルールを適用するステップをさらに含み、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのツリー識別子が、マルチキャストレコードのプライマリツリー識別子の1つと一致したとき、またはマルチキャストレコードのスタンバイツリー識別子の1つと一致したとき、パケットを受け入れ、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのツリー識別子が、マルチキャストレコードのプライマリツリー識別子またはスタンバイツリー識別子と一致しないとき、パケットを破棄する、節18の方法。
【0100】
20.第1のマルチキャストツリーおよび第2のマルチキャストツリーをサポートするノードで、パケットを受信するための装置であって、ノードが、第1のマルチキャストツリーの第1のツリー識別子を含む第1のMPLSラベルレコード、第2のマルチキャストツリーの第2のツリー識別子を含む第2のMPLSラベルレコード、ならびに複数のプライマリツリー識別子および複数のスタンバイツリー識別子を含むマルチキャストレコードを含み、装置が
マルチキャストツリーの一つを介してパケットを受信し、
パケットが介して受信されたマルチキャストツリーのMPLSラベルレコードのパラメータの値を求め、
パラメータの値に基づいて、パケットに適用すべきパケット処理ルールを決定する
ように構成されたプロセッサ
を備える、装置。
【0101】
本発明の教示を組み込む様々な実施形態が、本明細書で詳細に示され、かつ述べられてきたが、当業者であれば、これらの教示をなお組み込む多くの他の様々な実施形態を容易に考案することができる。
図1
図2
図3
図4
図5
図6