IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 華為技術有限公司の特許一覧

特許7654794負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム
<>
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図1
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図2
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図3A
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図3B
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図4
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図5
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図6
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図7
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図8
  • 特許-負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-24
(45)【発行日】2025-04-01
(54)【発明の名称】負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム
(51)【国際特許分類】
   H04L 47/125 20220101AFI20250325BHJP
   H04L 49/201 20220101ALI20250325BHJP
【FI】
H04L47/125
H04L49/201
【請求項の数】 15
(21)【出願番号】P 2023537695
(86)(22)【出願日】2021-12-14
(65)【公表番号】
(43)【公表日】2024-01-09
(86)【国際出願番号】 CN2021137653
(87)【国際公開番号】W WO2022135217
(87)【国際公開日】2022-06-30
【審査請求日】2023-08-01
(31)【優先権主張番号】202110108665.4
(32)【優先日】2021-01-27
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202011519565.2
(32)【優先日】2020-12-21
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】▲謝▼ ▲經▼▲榮▼
(72)【発明者】
【氏名】段 方▲紅▼
(72)【発明者】
【氏名】▲劉▼ 淑英
【審査官】長谷川 未貴
(56)【参考文献】
【文献】特開2011-023876(JP,A)
【文献】特開2006-191635(JP,A)
【文献】米国特許出願公開第2018/0287946(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-101/00
(57)【特許請求の範囲】
【請求項1】
負荷共有方法であって、
リーフ・ノード・デバイスによって送信されたメッセージを、第1のルート・ノード・デバイスによって受信するステップであって、前記メッセージが、第1の識別子および構成情報を含み、前記第1の識別子が、前記リーフ・ノード・デバイスを示し、前記構成情報が、ルート・ノード・デバイス・グループから前記リーフ・ノード・デバイスへの負荷共有の、前記リーフ・ノード・デバイスによって要求された、構成モードを示し、前記ルート・ノード・デバイス・グループが、前記第1のルート・ノード・デバイスを備える、ステップと、
前記第1のルート・ノード・デバイスによって、前記第1の識別子および前記構成情報に基づいて、前記第1のルート・ノード・デバイスから前記リーフ・ノード・デバイスへの前記負荷共有の構成結果を決定するステップとを含む、負荷共有方法。
【請求項2】
前記構成情報が、第1の指示情報を含み、前記第1の指示情報が、前記第1のルート・ノード・デバイスが前記リーフ・ノード・デバイスのプライマリルートであることを示し、前記プライマリルートが、前記第1のルート・ノード・デバイスがマルチキャストトラフィックを前記リーフ・ノード・デバイスに転送する指定されたフォワーダ(DF)であることを示す、請求項1に記載の方法。
【請求項3】
前記構成情報が、第2の指示情報を含み、前記第2の指示情報が、前記第1のルート・ノード・デバイスが前記リーフ・ノード・デバイスのセカンダリルートであることを示し、前記セカンダリルートが、前記第1のルート・ノード・デバイスがマルチキャストトラフィックを前記リーフ・ノード・デバイスに転送する指定されていないフォワーダ(non-DF)であることを示す、請求項1に記載の方法。
【請求項4】
前記構成情報が、第3の指示情報を含み、前記第3の指示情報が、前記リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す、請求項1に記載の方法。
【請求項5】
前記候補ルート・ノード・デバイスが、前記第1のルート・ノード・デバイスを備え、前記第1のルート・ノード・デバイスによって、前記第1の識別子および前記構成情報に基づいて、前記第1のルート・ノード・デバイスから前記リーフ・ノード・デバイスへの前記負荷共有の構成結果を決定する前記ステップが、
前記第1のルート・ノード・デバイスによって、前記構成結果を取得するために、前記第1の識別子および前記構成情報に対してハッシュ計算を実施するステップを含む、請求項4に記載の方法。
【請求項6】
前記メッセージが、マルチキャスト・ソース・グループ(S、G)を更に含み、前記候補ルート・ノード・デバイスが、前記第1のルート・ノード・デバイスを備え、
前記第1のルート・ノード・デバイスによって、前記第1の識別子および前記構成情報に基づいて、前記第1のルート・ノード・デバイスから前記リーフ・ノード・デバイスへの前記負荷共有の構成結果を決定する前記ステップが、
前記第1のルート・ノード・デバイスによって、前記構成結果を取得するために、前記マルチキャスト・ソース・グループ(S、G)、前記第1の識別子、および前記構成情報に対してハッシュ計算を実施するステップを含む、請求項4に記載の方法。
【請求項7】
前記方法が、
マルチキャストトラフィックを、前記第1のルート・ノード・デバイスによって受信するステップと、
前記第1のルート・ノード・デバイスが前記リーフ・ノード・デバイスのプライマリルートであることに応答して、前記第1のルート・ノード・デバイスによって、前記マルチキャストトラフィックを前記リーフ・ノード・デバイスに送信するステップとを更に含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
第1のルート・ノード・デバイスであって、
リーフ・ノード・デバイスによって送信されたメッセージを受信するように構成される受信モジュールであって、前記メッセージが、第1の識別子および構成情報を含み、前記第1の識別子が、前記リーフ・ノード・デバイスを示し、前記構成情報が、ルート・ノード・デバイス・グループから前記リーフ・ノード・デバイスへの負荷共有の、前記リーフ・ノード・デバイスによって要求された、構成モードを示し、前記ルート・ノード・デバイス・グループが、前記第1のルート・ノード・デバイスを備える、受信モジュールと、
前記第1の識別子および前記構成情報に基づいて、前記第1のルート・ノード・デバイスから前記リーフ・ノード・デバイスへの前記負荷共有の構成結果を決定するように構成される決定モジュールとを備える、第1のルート・ノード・デバイス。
【請求項9】
前記構成情報が、第1の指示情報を含み、前記第1の指示情報が、前記第1のルート・ノード・デバイスが前記リーフ・ノード・デバイスのプライマリルートであることを示し、前記プライマリルートが、前記第1のルート・ノード・デバイスがマルチキャストトラフィックを前記リーフ・ノード・デバイスに転送する指定されたフォワーダ(DF)であることを示す、請求項8に記載の第1のルート・ノード・デバイス。
【請求項10】
前記構成情報が、第2の指示情報を含み、前記第2の指示情報が、前記第1のルート・ノード・デバイスが前記リーフ・ノード・デバイスのセカンダリルートであることを示し、前記セカンダリルートが、前記第1のルート・ノード・デバイスがマルチキャストトラフィックを前記リーフ・ノード・デバイスに転送する指定されていないフォワーダ(non-DF)であることを示す、請求項8に記載の第1のルート・ノード・デバイス。
【請求項11】
前記構成情報が、第3の指示情報を含み、前記第3の指示情報が、前記リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す、請求項8に記載の第1のルート・ノード・デバイス。
【請求項12】
前記候補ルート・ノード・デバイスが、前記第1のルート・ノード・デバイスを備え、前記決定モジュールが、
前記構成結果を取得するために、前記第1の識別子および前記構成情報に対してハッシュ計算を実施するように更に構成される、請求項11に記載の第1のルート・ノード・デバイス。
【請求項13】
前記メッセージが、マルチキャスト・ソース・グループ(S、G)を更に含み、前記候補ルート・ノード・デバイスが、前記第1のルート・ノード・デバイスを備え、前記決定モジュールが、
前記構成結果を取得するために、前記マルチキャスト・ソース・グループ(S、G)、前記第1の識別子、および前記構成情報に対してハッシュ計算を実施するように更に構成される、請求項11に記載の第1のルート・ノード・デバイス。
【請求項14】
前記受信モジュールが、マルチキャストトラフィックを受信するように構成され、
前記第1のルート・ノード・デバイスが、
前記第1のルート・ノード・デバイスが前記リーフ・ノード・デバイスのプライマリルートであることに応答して、前記マルチキャストトラフィックを前記リーフ・ノード・デバイスに送信するように構成される送信モジュールを更に備える、請求項8から13のいずれか一項に記載の第1のルート・ノード・デバイス。
【請求項15】
リーフ・ノード・デバイスであって、
メッセージを生成するように構成される生成モジュールであって、前記メッセージが、第1の識別子および構成情報を含み、前記第1の識別子が、前記リーフ・ノード・デバイスを示し、前記構成情報が、ルート・ノード・デバイス・グループから前記リーフ・ノード・デバイスへの負荷共有の、前記リーフ・ノード・デバイスによって要求された、構成モードを示す、生成モジュールと、
前記メッセージを第1のルート・ノード・デバイスに送信するように構成される送信モジュールであって、前記ルート・ノード・デバイス・グループが、前記第1のルート・ノード・デバイスを備える、送信モジュールとを備
前記第1のルート・ノード・デバイスは、前記リーフ・ノード・デバイスから前記メッセージを受信し、前記第1の識別子および前記構成情報に基づいて、前記第1のルート・ノード・デバイスから前記リーフ・ノード・デバイスへの前記負荷共有の構成結果を決定する、リーフ・ノード・デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年12月21日に中国国家知識産権局に出願された「METHOD、DEVICE、AND SYSTEM FOR MULTICAST REDUNDANCY PROTECTION」という名称の中国特許出願第CN 202011519565.2号、および2021年1月27日に中国国家知識産権局に出願された「LOAD SHARING METHOD,ROOT NODE DEVICE,LEAF NODE DEVICE,AND SYSTEM」という名称の中国特許出願第CN 202110108665.4号の優先権を主張し、これらは両方ともその全体が参照により本明細書に組み込まれる。
【0002】
本出願は、ネットワーク通信の分野に関し、より具体的には、負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイス、およびシステムに関する。
【背景技術】
【0003】
マルチキャスト(multicast)は、1つのマルチキャストアドレスを使用することによって、伝送制御プロトコル(transmission control protocol、TCP)/インターネットプロトコル(internet protocol、IP)ネットワークの複数の受信機に、同時にデータが効率よく送信されるデータ伝送モードである。
【0004】
マルチキャスト・アプリケーション・シナリオは、複数のルート・ノード・デバイスを含む。関連する技術的解決策では、複数のルート・ノード・デバイスのうちの1つが、アクティブデバイスとして機能し、マルチキャストトラフィックをリーフ・ノード・デバイスに送信する役割を果たす。アクティブデバイス以外の別のデバイスは、リーフ・ノード・デバイスのスタンバイデバイスとして機能する。アクティブデバイスが適切に動作すると、別のスタンバイデバイスは、マルチキャストトラフィックをリーフ・ノード・デバイスに送信しない。関連する技術的解決策では、複数のルート・ノード・デバイス内のアクティブデバイスは、大きい負荷のために障害を起こす可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願は、マルチキャストトラフィックの負荷共有を実施するために、負荷共有方法、第1のルート・ノード・デバイス、リーフ・ノード・デバイス、および負荷共有システムを提供する。
【0006】
第1の態様によれば、負荷共有方法が提供され、本方法は、通信ネットワークに適用される。通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、リーフ・ノード・デバイスと、を含む。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介してリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、少なくとも2つのルート・ノード・デバイスを含む。本方法は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスによって送信されたメッセージを受信すること、を含み、メッセージは、第1の識別子および構成情報を含む。第1の識別子は、リーフ・ノード・デバイスを示す。構成情報は、ルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の、リーフ・ノード・デバイスによって要求された、構成モードを示す。ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスを含む。第1のルート・ノード・デバイスは、第1の識別子および構成情報に基づいて、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果を決定する。構成結果が第1の結果であることに応答して、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを決定し、プライマリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す。あるいは、構成結果が第2の結果であることに応答して、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを決定し、セカンダリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダnon-DFであることを示す。
【0007】
第1の態様に関して、第1の態様のいくつかの実装形態では、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示す。
【0008】
第1の態様に関して、第1の態様のいくつかの実装形態では、構成情報は、第2の指示情報を含み、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示す。
【0009】
第1の態様に関して、第1の態様のいくつかの実装形態では、構成情報は、第3の指示情報を含み、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す。
【0010】
第1の態様に関して、第1の態様のいくつかの実装形態では、候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、第1のルート・ノード・デバイスは、構成結果を取得するために、第1の識別子および構成情報に対してハッシュ計算を実施する。
【0011】
第1の態様に関して、第1の態様のいくつかの実装形態では、メッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、第1のルート・ノード・デバイスは、構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および構成情報に対してハッシュ計算を実施する。
【0012】
第1の態様に関して、第1の態様のいくつかの実装形態では、本方法は、第1のルート・ノード・デバイスがマルチキャストトラフィックを受信すること、を更に含む。第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることに応答して、第1のルート・ノード・デバイスは、マルチキャストトラフィックをリーフ・ノード・デバイスに送信する。
【0013】
第1の態様に関して、第1の態様のいくつかの実装形態では、通信ネットワークは、マルチキャスト仮想プライベートネットワークMVPNである。
【0014】
第2の態様によれば、負荷共有方法が提供され、本方法は、通信ネットワークに適用され、通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、リーフ・ノード・デバイスと、を含む。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介してリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、少なくとも2つのルート・ノード・デバイスを含む。本方法は、リーフ・ノード・デバイスがメッセージを生成すること、を含み、メッセージは、第1の識別子および構成情報を含む。第1の識別子は、リーフ・ノード・デバイスを示す。構成情報は、ルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の、リーフ・ノード・デバイスによって要求された、構成モードを示す。リーフ・ノード・デバイスは、メッセージを第1のルート・ノード・デバイスに送信する。ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスを含む。
【0015】
第2の態様に関して、第2の態様のいくつかの実装形態では、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示し、プライマリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す。
【0016】
第2の態様に関して、第2の態様のいくつかの実装形態では、構成情報は、第2の指示情報を含み、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示し、セカンダリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダnon-DFであることを示す。
【0017】
第2の態様に関して、第2の態様のいくつかの実装形態では、構成情報は、第3の指示情報を含み、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す。
【0018】
第2の態様に関して、第2の態様のいくつかの実装形態では、第1のルート・ノード・デバイスは、リーフ・ノード・デバイスのプライマリルートである。本方法は、リーフ・ノード・デバイスが第1のルート・ノード・デバイスによって送信されたマルチキャストトラフィックを受信すること、を更に含む。
【0019】
第2の態様に関して、第2の態様のいくつかの実装形態では、通信ネットワークは、マルチキャスト仮想プライベートネットワークMVPNである。
【0020】
第3の態様によれば、負荷共有方法が提供され、本方法は、通信ネットワークに適用される。通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、第1のリーフ・ノード・デバイスと、第2のリーフ・ノード・デバイスと、を含む。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介して第1のリーフ・ノード・デバイスおよび第2のリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスと、第2のルート・ノード・デバイスと、を含む。本方法は、第1のルート・ノード・デバイスがマルチキャストトラフィックを受信すること、を含み、ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスを含む。第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることに応答して、第1のルート・ノード・デバイスは、マルチキャストトラフィックを第1のリーフ・ノード・デバイスに送信する。第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることは、第1のルート・ノード・デバイスがマルチキャストトラフィックを第1のリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す。第2のルート・ノード・デバイスは、マルチキャストトラフィックを受信し、ルート・ノード・デバイス・グループは、第2のルート・ノード・デバイスを含む。第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることに応答して、第2のルート・ノード・デバイスは、マルチキャストトラフィックを第2のリーフ・ノード・デバイスに送信する。第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることは、第2のルート・ノード・デバイスがマルチキャストトラフィックを第2のリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す。
【0021】
第3の態様に関して、第3の態様のいくつかの実装形態では、本方法は、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスによって送信された第1のメッセージを受信すること、を更に含み、第1のメッセージは、第1の識別子および第1の構成情報を含む。第1の識別子は、第1のリーフ・ノード・デバイスを示す。第1の構成情報は、ルート・ノード・デバイス・グループから第1のリーフ・ノード・デバイスへの負荷共有の、第1のリーフ・ノード・デバイスによって要求された、構成モードを示す。第1のルートノードは、第1の識別子および第1の構成情報に基づいて、第1のルート・ノード・デバイスから第1のリーフ・ノード・デバイスへの第1の負荷共有の構成結果を決定する。第1の負荷共有の構成結果が第1の結果であることに応答して、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることを決定する。
【0022】
第3の態様に関して、第3の態様のいくつかの実装形態では、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることを示す。
【0023】
第3の態様に関して、第3の態様のいくつかの実装形態では、第1の構成情報は、第2の指示情報を含み、第2の指示情報は、第1のリーフ・ノード・デバイスのプライマリルートとして機能する第1の候補ルート・ノード・デバイスに関する情報を示す。
【0024】
第3の態様に関して、第3の態様のいくつかの実装形態では、第1の候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、第1のルート・ノード・デバイスは、第1の負荷共有の構成結果を取得するために、第1の識別子および第1の構成情報に対してハッシュ計算を実施する。
【0025】
第3の態様に関して、第3の態様のいくつかの実装形態では、第1のメッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、第1の候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、第1のルート・ノード・デバイスは、第1の負荷共有の構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および構成情報に対してハッシュ計算を実施する。
【0026】
第3の態様に関して、第3の態様のいくつかの実装形態では、本方法は、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスによって送信された第2のメッセージを受信すること、を含み、第2のメッセージは、第2の識別子および第2の構成情報を含む。第2の識別子は、第2のリーフ・ノード・デバイスを示す。第2の構成情報は、ルート・ノード・デバイス・グループから第2のリーフ・ノード・デバイスへの負荷共有の、第2のリーフ・ノード・デバイスによって要求された、構成モードを示す。第2のルート・ノード・デバイスは、第2の識別子および第2の構成情報に基づいて、第2のルート・ノード・デバイスから第2のリーフ・ノード・デバイスへの第2の負荷共有の構成結果を決定する。第2の負荷共有の構成結果が第2の結果であることに応答して、第2のルート・ノード・デバイスは、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることを決定する。
【0027】
第3の態様に関して、第3の態様のいくつかの実装形態では、第2の構成情報は、第3の指示情報を含み、第3の指示情報は、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることを示す。
【0028】
第3の態様に関して、第3の態様のいくつかの実装形態では、第2の構成情報は、第4の指示情報を含み、第4の指示情報は、第2のリーフ・ノード・デバイスのプライマリルートとして機能する第2の候補ルート・ノード・デバイスに関する情報を示す。
【0029】
第3の態様に関して、第3の態様のいくつかの実装形態では、第2の候補ルート・ノード・デバイスは、第2のルート・ノード・デバイスを含み、第2のルート・ノード・デバイスは、第2の負荷共有の構成結果を取得するために、第2の識別子および第2の構成情報に対してハッシュ計算を実施する。
【0030】
第3の態様に関して、第3の態様のいくつかの実装形態では、第2のメッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、第2の候補ルート・ノード・デバイスは、第2のルート・ノード・デバイスを含み、第2のルート・ノード・デバイスは、第2の負荷共有の構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第2の識別子、および第2の構成情報に対してハッシュ計算を実施する。
【0031】
第3の態様に関して、第3の態様のいくつかの実装形態では、通信ネットワークは、マルチキャスト仮想プライベートネットワークMVPNである。
【0032】
第4の態様によれば、第1のルート・ノード・デバイスが提供され、第1のルート・ノード・デバイスは、通信ネットワークに適用される。通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、リーフ・ノード・デバイスと、を含む。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介してリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスを含む少なくとも2つのルート・ノード・デバイスを含む。第1のルート・ノード・デバイスは、リーフ・ノード・デバイスによって送信されたメッセージを受信するように構成される受信モジュールであって、メッセージが、第1の識別子および構成情報を含み、第1の識別子が、リーフ・ノード・デバイスを示し、構成情報が、ルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の、リーフ・ノード・デバイスによって要求された、構成モードを示し、ルート・ノード・デバイス・グループが、第1のルート・ノード・デバイスを含む、受信モジュールと、第1の識別子および構成情報に基づいて、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果を決定するように構成される決定モジュールであって、決定モジュールが、構成結果が第1の結果であることに応答して、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを決定するように更に構成され、プライマリルートが、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す、または、決定モジュールが、構成結果が第2の結果であることに応答して、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを決定するように更に構成され、セカンダリルートが、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダnon-DFであることを示す、決定モジュールと、を含む。
【0033】
第4の態様に関して、第4の態様のいくつかの実装形態では、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示す。
【0034】
第4の態様に関して、第4の態様のいくつかの実装形態では、構成情報は、第2の指示情報を含み、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示す。
【0035】
第4の態様に関して、第4の態様のいくつかの実装形態では、構成情報は、第3の指示情報を含み、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す。
【0036】
第4の態様に関して、第4の態様のいくつかの実装形態では、候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、決定モジュールは、構成結果を取得するために、第1の識別子および構成情報に対してハッシュ計算を実施するように更に構成される。
【0037】
第4の態様に関して、第4の態様のいくつかの実装形態では、メッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、決定モジュールは、構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および構成情報に対してハッシュ計算を実施するように更に構成される。
【0038】
第4の態様に関して、第4の態様のいくつかの実装形態では、受信モジュールは、マルチキャストトラフィックを受信するように構成され、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることに応答して、マルチキャストトラフィックをリーフ・ノード・デバイスに送信するように構成される送信モジュールを更に含む。
【0039】
第4の態様に関して、第4の態様のいくつかの実装形態では、通信ネットワークは、マルチキャスト仮想プライベートネットワークMVPNである。
【0040】
第5の態様によれば、リーフ・ノード・デバイスが提供され、リーフ・ノード・デバイスは、通信ネットワークに適用される。通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、リーフ・ノード・デバイスと、を含む。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介してリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、少なくとも2つのルート・ノード・デバイスを含む。リーフ・ノード・デバイスは、メッセージを生成するように構成される生成モジュールであって、メッセージが、第1の識別子および構成情報を含み、第1の識別子が、リーフ・ノード・デバイスを示し、構成情報が、ルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の、リーフ・ノード・デバイスによって要求された、構成モードを示す、生成モジュールと、メッセージを第1のルート・ノード・デバイスに送信するように構成される送信モジュールであって、ルート・ノード・デバイス・グループが、第1のルート・ノード・デバイスを含む、送信モジュールと、を含む。第5の態様に関して、第5の態様のいくつかの実装形態では、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示し、プライマリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す。
【0041】
第5の態様に関して、第5の態様のいくつかの実装形態では、構成情報は、第2の指示情報を含み、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示し、セカンダリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダnon-DFであることを示す。
【0042】
第5の態様に関して、第5の態様のいくつかの実装形態では、構成情報は、第3の指示情報を含み、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す。
【0043】
第5の態様に関して、第5の態様のいくつかの実装形態では、第1のルート・ノード・デバイスは、リーフ・ノード・デバイスのプライマリルートであり、リーフ・ノード・デバイスは、第1のルート・ノード・デバイスによって送信されたマルチキャストトラフィックを受信するように構成される受信モジュールを更に含む。
【0044】
第5の態様に関して、第4の態様のいくつかの実装形態では、通信ネットワークは、マルチキャスト仮想プライベートネットワークMVPNである。
【0045】
第6の態様によれば、負荷共有システムが提供され、本システムは、通信ネットワークに適用される。通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、第1のリーフ・ノード・デバイスと、第2のリーフ・ノード・デバイスと、を含む。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介して第1のリーフ・ノード・デバイスおよび第2のリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスと、第2のルート・ノード・デバイスと、を含む。本システムは、第1のルート・ノード・デバイスによって、マルチキャストトラフィックを受信するように構成される受信モジュールであって、ルート・ノード・デバイス・グループが、第1のルート・ノード・デバイスを含む、受信モジュールと、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることに応答して、第1のルート・ノード・デバイスが、マルチキャストトラフィックを第1のリーフ・ノード・デバイスに送信するように構成される送信モジュールであって、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることが、第1のルート・ノード・デバイスがマルチキャストトラフィックを第1のリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す、送信モジュールと、を含み、受信モジュールは、第2のルート・ノード・デバイスによって、マルチキャストトラフィックを受信するように更に構成され、ルート・ノード・デバイス・グループが、第2のルート・ノード・デバイスを含み、送信モジュールが、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることに応答して、第2のルート・ノード・デバイスがマルチキャストトラフィックを第2のリーフ・ノード・デバイスに送信するように構成され、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることが、第2のルート・ノード・デバイスがマルチキャストトラフィックを第2のリーフ・ノード・デバイスに転送する指定されたフォワーダDFであることを示す。
【0046】
第6の態様に関して、第6の態様のいくつかの実装形態では、決定モジュールは、第1のリーフ・ノード・デバイスによって送信された第1のメッセージを、第1のルート・ノード・デバイスによって受信するように更に構成され、第1のメッセージは、第1の識別子および第1の構成情報を含み、第1の識別子は、第1のリーフ・ノード・デバイスを示し、第1の構成情報は、ルート・ノード・デバイス・グループから第1のリーフ・ノード・デバイスへの負荷共有の、第1のリーフノードによって要求された、構成モードを示す。本システムは、第1のルートノードによって、第1の識別子および第1の構成情報に基づいて、第1のルート・ノード・デバイスから第1のリーフ・ノード・デバイスへの第1の負荷共有の構成結果を決定するように構成される、決定モジュールを更に含み、決定モジュールは、第1の負荷共有の構成結果が第1の結果であることに応答して、第1のルート・ノード・デバイスが、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることを決定する、ように更に構成される。
【0047】
第6の態様に関して、第6の態様のいくつかの実装形態では、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスが第1のリーフ・ノード・デバイスのプライマリルートであることを示す。
【0048】
第6の態様に関して、第6の態様のいくつかの実装形態では、第1の構成情報は、第2の指示情報を含み、第2の指示情報は、第1のリーフ・ノード・デバイスのプライマリルートとして機能する第1の候補ルート・ノード・デバイスに関する情報を示す。
【0049】
第6の態様に関して、第6の態様のいくつかの実装形態では、第1の候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、決定モジュールは、第1の負荷共有の構成結果を取得するために、第1の識別子および第1の構成情報に対してハッシュ計算を実施するように更に構成される。
【0050】
第6の態様に関して、第6の態様のいくつかの実装形態では、第1のメッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、第1の候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、決定モジュールは、第1の負荷共有の構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および第1の構成情報に対してハッシュ計算を実施するように更に構成される。
【0051】
第6の態様に関して、第6の態様のいくつかの実装形態では、受信モジュールは、第2のリーフ・ノード・デバイスによって送信された第2のメッセージを、第2のルート・ノード・デバイスによって受信するように更に構成され、第2のメッセージは、第2の識別子および第2の構成情報を含む。第2の識別子は、第2のリーフ・ノード・デバイスを示す。第2の構成情報は、ルート・ノード・デバイス・グループから第2のリーフ・ノード・デバイスへの負荷共有の、第2のリーフ・ノード・デバイスによって要求された、構成モードを示す。決定モジュールは、第2のルート・ノード・デバイスによって、第2の識別子および第2の構成情報に基づいて、第2のルート・ノード・デバイスから第2のリーフ・ノード・デバイスへの第2の負荷共有の構成結果を決定するように更に構成される。決定モジュールは、第2の負荷共有の構成結果が第2の結果であることに応答して、第2のルート・ノード・デバイスによって、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることを決定するように更に構成される。
【0052】
第6の態様に関して、第6の態様のいくつかの実装形態では、第2の構成情報は、第3の指示情報を含み、第3の指示情報は、第2のルート・ノード・デバイスが第2のリーフ・ノード・デバイスのプライマリルートであることを示す。
【0053】
第6の態様に関して、第6の態様のいくつかの実装形態では、第2の構成情報は、第4の指示情報を含み、第4の指示情報は、第2のリーフ・ノード・デバイスのプライマリルートとして機能する第2の候補ルート・ノード・デバイスに関する情報を示す。
【0054】
第6の態様に関して、第6の態様のいくつかの実装形態では、第2の候補ルート・ノード・デバイスは、第2のルート・ノード・デバイスを含み、決定モジュールは、第2の負荷共有の構成結果を取得するために、第2の識別子および第2の構成情報に対してハッシュ計算を実施するように、第2のルート・ノード・デバイスに対して更に構成される。
【0055】
第6の態様に関して、第6の態様のいくつかの実装形態では、第2のメッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、第2の候補ルート・ノード・デバイスは、第2のルート・ノード・デバイスを含み、決定モジュールは、第2の負荷共有の構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第2の識別子、および第2の構成情報に対してハッシュ計算を実施するように更に構成される。
【0056】
第6の態様に関して、第6の態様のいくつかの実装形態では、通信ネットワークは、マルチキャスト仮想プライベートネットワークMVPNである。
【0057】
第7の態様によれば、第1のルート・ノード・デバイスが提供される。第1のルート・ノード・デバイスは、前述の方法における第1のルート・ノード・デバイスの動作を実施する機能を有する。この機能は、ハードウェアに基づいて実施されてもよいし、または対応するソフトウェアを実行するハードウェアに基づいて実施されてもよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のモジュールを含む。
【0058】
1つの可能な設計では、第1のルート・ノード・デバイスの構造は、プロセッサと、インターフェースと、を含む。プロセッサは、前述の方法における対応する機能を実施する際に、第1のルート・ノード・デバイスをサポートするように構成される。インターフェースは、リーフ・ノード・デバイスによって送信されたメッセージを受信する際に、第1のルート・ノード・デバイスをサポートするように構成される。
【0059】
第1のルート・ノード・デバイスは、メモリを更に含み得る。メモリは、プロセッサに結合されるように構成され、メモリは、第1のルート・ノード・デバイスに必要なプログラム命令およびデータを記憶する。
【0060】
別の可能な設計では、第1のルート・ノード・デバイスは、プロセッサと、送信機と、受信機と、ランダム・アクセス・メモリと、読み出し専用メモリと、バスと、を含む。プロセッサは、バスを通して送信機、受信機、ランダム・アクセス・メモリおよび読み出し専用メモリに結合される。第1のルート・ノード・デバイスが実行される必要があるとき、読み出し専用メモリに組み込まれた基本入力/出力システム、または組込みシステムのbootloaderは、システムをブートして起動するために使用され、第1のルート・ノード・デバイスをブートして、通常の動作状態に入る。通常の動作状態に入った後で、第1のルート・ノード・デバイスは、ランダム・アクセス・メモリ内のアプリケーションプログラムおよびオペレーティングシステムを実行し、これにより、プロセッサは、第1の態様による、または第1の態様の可能な実装形態のいずれか1つによる、方法を実施する。
【0061】
第8の態様によれば、第1のルート・ノード・デバイスが提供される。第1のルート・ノード・デバイスは、主制御ボードと、インターフェースボードと、を含み、スイッチングボードを更に含んでいてもよい。第1のルート・ノード・デバイスは、第1の態様による、または第1の態様の可能な実装形態のうちのいずれか1つによる、方法を実施するように構成される。具体的には、第1のルート・ノード・デバイスは、第1の態様による、または第1の態様の可能な実装形態のうちのいずれか1つによる、方法を実施するように構成されるモジュールを含む。
【0062】
第9の態様によれば、第1のルート・ノード・デバイスが提供される。第1のルート・ノード・デバイスは、制御モジュールと、第1の転送サブデバイスと、を含む。第1の転送サブデバイスは、インターフェースボードを含み、スイッチングボードを更に含んでもよい。第1の転送サブデバイスは、第8の態様におけるインターフェースボードの機能を実行するように構成され、第8の態様におけるスイッチングボードの機能を更に実行し得る。制御モジュールは、受信機と、プロセッサと、送信機と、ランダム・アクセス・メモリと、読み出し専用メモリと、バスと、を含む。プロセッサは、バスを通して受信機、送信機、ランダム・アクセス・メモリ、および読み出し専用メモリに結合される。制御モジュールが実行される必要があるとき、制御モジュールは、通常の実行状態に入るように制御モジュールをブートするために、読み出し専用メモリに組み込まれた基本入力/出力システムを、または組込みシステム内のbootloaderブートシステムを使用することによって起動される。通常の動作状態に入った後で、制御モジュールは、ランダム・アクセス・メモリ内のアプリケーションプログラムおよびオペレーティングシステムを実行し、これにより、プロセッサは、第8の態様における主制御ボードの機能を実施する。
【0063】
実際の適用では、第1のルート・ノード・デバイスは、任意の数のインターフェース、プロセッサ、またはメモリを含み得ることが理解されよう。
【0064】
第10の態様によれば、リーフ・ノード・デバイスが提供される。リーフ・ノード・デバイスは、前述の方法におけるリーフ・ノード・デバイスの動作を実施する機能を有する。この機能は、ハードウェアに基づいて実施されてもよいし、または対応するソフトウェアを実行するハードウェアに基づいて実施されてもよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のモジュールを含む。
【0065】
1つの可能な設計では、リーフ・ノード・デバイスの構造は、プロセッサと、インターフェースと、を含む。プロセッサは、前述の方法における対応する機能を実行する際に、リーフ・ノード・デバイスをサポートするように構成される。インターフェースは、メッセージを第1のルート・ノード・デバイスに送信することをサポートする、または第1のルート・ノード・デバイスによって送信されたマルチキャストトラフィックを受信する、ように構成される。
【0066】
リーフ・ノード・デバイスは、メモリを更に含み得る。メモリは、プロセッサに結合されるように構成され、メモリは、リーフ・ノード・デバイスに必要であるプログラム命令およびデータを記憶する。
【0067】
別の可能な設計では、リーフ・ノード・デバイスは、プロセッサと、送信機と、受信機と、ランダム・アクセス・メモリと、読み出し専用メモリと、バスと、を含む。プロセッサは、バスを通して送信機、受信機、ランダム・アクセス・メモリおよび読み出し専用メモリに結合される。リーフ・ノード・デバイスが実行される必要があるとき、読み出し専用メモリに組み込まれた基本入力/出力システム、または組込みシステムのbootloaderは、システムをブートして起動するために使用され、リーフ・ノード・デバイスをブートして、通常の動作状態に入る。通常の動作状態に入った後で、リーフ・ノード・デバイスは、ランダム・アクセス・メモリ内のアプリケーションプログラムおよびオペレーティングシステムを実行し、これにより、プロセッサは、第2の態様による、または第2の態様の可能な実装形態のうちのいずれか1つによる、方法を実施する。
【0068】
第11の態様によれば、リーフ・ノード・デバイスが提供される。リーフ・ノード・デバイスは、主制御ボードと、インターフェースボードと、を含み、スイッチングボードを更に含んでもよい。リーフ・ノード・デバイスは、第2の態様による、または第2の態様の可能な実装形態のうちのいずれか1つによる、方法を実施するように構成される。具体的には、リーフ・ノード・デバイスは、第2の態様による、または第2の態様の可能な実装形態のうちのいずれか1つによる、方法を実施するように構成されるモジュールを含む。
【0069】
第12の態様によれば、リーフ・ノード・デバイスが提供される。リーフ・ノード・デバイスは、制御モジュールと、第1の転送サブデバイスと、を含む。第1の転送サブデバイスは、インターフェースボードを含み、スイッチングボードを更に含んでもよい。第1の転送サブデバイスは、第11の態様におけるインターフェースボードの機能を実施するように構成され、第11の態様におけるスイッチングボードの機能を更に実施し得る。制御モジュールは、受信機と、プロセッサと、送信機と、ランダム・アクセス・メモリと、読み出し専用メモリと、バスと、を含む。プロセッサは、バスを通して受信機、送信機、ランダム・アクセス・メモリ、および読み出し専用メモリに結合される。制御モジュールが実行される必要があるとき、制御モジュールは、通常の実行状態に入るように制御モジュールをブートするために、読み出し専用メモリに組み込まれた基本入力/出力システムを、または組込みシステム内のbootloaderブートシステムを使用することによって起動される。通常の動作状態に入った後で、制御モジュールは、ランダム・アクセス・メモリ内のアプリケーションプログラムおよびオペレーティングシステムを実行し、これにより、プロセッサは、第11の態様における主制御ボードの機能を実施する。
【0070】
実際の適用では、リーフ・ノード・デバイスは、任意の数のインターフェース、プロセッサ、またはメモリを含み得ることが理解されよう。
【0071】
第13の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータ・プログラム・コードを含む。コンピュータ・プログラム・コードがコンピュータ上で実行可能であるとき、コンピュータは、第1の態様による、または第1の態様の可能な実装形態のうちのいずれか1つによる、方法を実施することを可能にされる。
【0072】
第14の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータ・プログラム・コードを含む。コンピュータ・プログラム・コードがコンピュータ上で実行されるとき、コンピュータは、第2の態様による、または第2の態様の可能な実装形態のうちのいずれか1つによる、方法を実施することを可能にされる。
【0073】
第15の態様によれば、コンピュータ可読媒体が提供される。コンピュータ可読媒体は、プログラムコードを記憶する。コンピュータ・プログラム・コードがコンピュータ上で実行可能であるとき、コンピュータは、第1の態様による、または第1の態様の可能な実装形態のうちのいずれか1つによる、方法を実施することを可能にされる。コンピュータ可読記憶媒体は、読み出し専用メモリ(read-only memory、ROM)、プログラマブルROM(programmable ROM、PROM)、消去可能PROM(erasable PROM、EPROM)、Flashメモリ、電気EPROM(electrically EPROM、EEPROM)、およびハードドライブ(hard drive)のうちの1つまたは複数を含むが、これらに限定されない。
【0074】
第16の態様によれば、コンピュータ可読媒体が提供される。コンピュータ可読媒体は、プログラムコードを記憶する。コンピュータ・プログラム・コードがコンピュータ上で実行されるとき、コンピュータは、第2の態様による、または第2の態様の可能な実装形態のうちのいずれか1つによる、方法を実施することを可能にされる。コンピュータ可読記憶媒体は、読み出し専用メモリ(read-only memory、ROM)、プログラマブルROM(programmable ROM、PROM)、消去可能PROM(erasable PROM、EPROM)、Flashメモリ、電気EPROM(electrically EPROM、EEPROM)、およびハードドライブ(hard drive)のうちの1つまたは複数を含むが、これらに限定されない。
【0075】
第17の態様によれば、チップが提供される。チップは、プロセッサと、データインターフェースと、を含み、プロセッサは、第1の態様による、または第1の態様の可能な実装形態のうちのいずれか1つによる、方法を実施するために、データインターフェースを介して、メモリに記憶された命令を読み出す。特定の実装形態プロセスでは、チップは、中央処理装置(central processing unit、CPU)、マイクロ・コントローラ・ユニット(micro controller unit、MCU)、マイクロ処理ユニット(micro processing unit、MPU)、デジタル信号処理(digital signal processing、DSP)、システム・オン・チップ(system on chip、SoC)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array、FPGA)、またはプログラマブル・ロジック・デバイス(programmable logic device、PLD)の形態で実装されてもよい。
【0076】
第18の態様によれば、チップが提供される。チップは、プロセッサと、データインターフェースと、を含み、プロセッサは、第2の態様による、または第2の態様の可能な実装形態のうちのいずれか1つによる、方法を実施するために、データインターフェースを介して、メモリに記憶された命令を読み出す。特定の実装形態プロセスでは、チップは、中央処理装置(central processing unit、CPU)、マイクロ・コントローラ・ユニット(micro controller unit、MCU)、マイクロ処理ユニット(micro processing unit、MPU)、デジタル信号処理(digital signal processing、DSP)、システム・オン・チップ(system on chip、SoC)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array、FPGA)、またはプログラマブル・ロジック・デバイス(programmable logic device、PLD)の形態で実装されてもよい。
【0077】
第19の態様によれば、システムが提供される。システムは、上述の第1のルート・ノード・デバイスと、リーフ・ノード・デバイスと、を含む。
【図面の簡単な説明】
【0078】
図1】本出願の一実施形態に適用されるマルチキャストシナリオの概略図である。
図2】本出願の一実施形態による、負荷共有方法の概略フローチャートである。
図3A】本出願の一実施形態による、別の負荷共有方法の概略フローチャートである。
図3B】本出願の一実施形態による、別の負荷共有方法の概略フローチャートである。
図4】本出願の一実施形態による、第1のルート・ノード・デバイス400の構造の概略図である。
図5】本出願の一実施形態による、リーフ・ノード・デバイス500の構造の概略図である。
図6】本出願の一実施形態による、第1のルート・ノード・デバイス2000のハードウェア構造の概略図である。
図7】本出願の一実施形態による、別の第1のルート・ノード・デバイス2100のハードウェア構造の概略図である。
図8】本出願の一実施形態による、リーフ・ノード・デバイス2200のハードウェア構造の概略図である。
図9】本出願の一実施形態による、別のリーフ・ノード・デバイス2300のハードウェア構造の概略図である。
【発明を実施するための形態】
【0079】
以下は、添付の図面を参照しつつ、本出願の技術的解決策を説明する。
【0080】
すべての態様、実施形態、または特徴は、複数のデバイス、構成要素、モジュールを含むシステムに基づいて、本出願において提示される。各システムは、別のデバイス、構成要素、モジュールなどを含み得、および/または添付の図面を参照して議論されるすべてのデバイス、構成要素、モジュールなどを含むとは限らないことを諒解され、理解されたい。加えて、これらの解決策の組合せが、更に使用され得る。
【0081】
加えて、本出願の実施形態では、「例えば」、「など」などの用語は、例、例示、または説明を与えることを表すために使用される。本出願において「例」として記載される任意の実施形態または設計スキームは、別の実施形態または設計スキームよりも好まれる、または多くの利点を有するものとして説明されるべきではない。正確には、「例えば」という用語は、概念を具体的に提示するために使用される。
【0082】
本出願の実施形態では、「対応する(corresponding、relevant)」と「対応する(corresponding)」が互換的に使用されることがある。用語によって表される意味は、違いが強調されていないときには一致していることに留意されたい。
【0083】
本出願の実施形態で記載されるネットワークアーキテクチャとサービスシナリオは、本出願の実施形態の技術的解決策をより明確に記載することを目的としているが、本出願の実施形態で提供される技術的解決策の制限となるものではない。当業者であれば、ネットワークアーキテクチャが進化し、新規のサービスシナリオが出現するにつれて、本出願の実施形態で提供される技術的解決策が同様の技術的問題にも応用可能であることを知ることができる。
【0084】
本明細書で記載される「一実施形態」、「いくつかの実施形態」などへの言及は、本出願の1つまたは複数の実施形態が実施形態を参照して記載される特定の特徴、構造、または特性を含む、ことを示す。したがって、本明細書の様々な箇所に現れる「一実施形態において」、「いくつかの実施形態において」、「いくつかの他の実施形態において」、および「他の実施形態において」などの記述は、同じ実施形態を指すことを必ずしも意味しない。代わりに、これらの記述は、別のやり方で特に強調さない限り、「すべてではないが1つまたは複数の実施形態」を意味する。「含む」、「有する」という用語、およびこれらの変種はすべて、別の方法で特に強調されない限り、「を含むがこれに限定されない」を意味する。
【0085】
本出願において、少なくとも1つは、1つまたは複数を意味し、複数は、2つ以上を意味する。「および/または」という用語は、関連する対象間の関連関係を記載するものであり、3つの関係が存在し得る、ことを表す。例えば、Aおよび/またはBは、以下の3つのケース:Aのみが存在する、AとBとの両方が存在する、およびBのみが存在する、を表す場合がある。AおよびBは、単数形または複数形であってもよい。記号「/」は、関連付けられた対象間の「または」関係を、一般に示す。以下の項目(要素)またはその類似表現のうちの少なくとも1つは、単数の項目(要素)または複数の項目(要素)の任意の組合せを含む、これらの項目の任意の組合せを指す。例えば、a、b、およびcのうちの少なくとも1つは、a、b、c、a-b、a-c、b-c、またはa-b-cを意味する場合がある。a、bおよびcは、単数であってもよいし、複数であってもよい。
【0086】
マルチキャスト(multicast)は、1つのマルチキャストアドレスを使用することによって、伝送制御プロトコル(transmission control protocol、TCP)/インターネットプロトコル(internet protocol、IP)ネットワークの複数の受信機に同時に効率よくデータが送信されるデータ伝送モードである。マルチキャストソースは、マルチキャストトラフィックを、ネットワーク内のリンクを通してマルチキャストグループ内のマルチキャスト・グループ・メンバに送信し、マルチキャストグループ内の各マルチキャスト・グループ・メンバは、マルチキャストトラフィックを受信し得るマルチキャスト伝送モードでは、ポイント・ツー・マルチポイント・データ接続が、マルチキャストソースとマルチキャスト・グループ・メンバとの間で実施される。マルチキャストトラフィックは、各ネットワークリンク上で1回だけ送信される必要があり、リンク上に分岐があるときのみ、マルチキャストレプリケーションが実施される。したがって、マルチキャスト伝送モードでは、データ伝送効率が改善され、バックボーンネットワーク上の輻輳の可能性が低減される。IPマルチキャストは、IPネットワークにおいて効率的なポイント・ツー・マルチポイント・データ伝送を実施し、ネットワーク帯域幅を効果的に節約し、ネットワーク負荷を低減する。したがって、インターネット・プロトコル・マルチキャスト技術は、リアルタイムデータ伝送、マルチメディア会議、データコピー、双方向プロトコルテレビ(internet protocol television、IPTV)、ゲーム、およびシミュレーションなどの複数の態様で広く使用されている。
【0087】
図1を参照して、以下は、本出願の一実施形態に適用されるマルチキャストシナリオの詳細な説明である。図1に示されるように、マルチキャストシナリオは、マルチキャストソース110、スイッチ(switch、SW)120、プロバイダ・エッジ・デバイス(provider edge、PE)1/PE2/PE3、L1/L2/L3、およびH1/H2/H3を含み得る。
【0088】
マルチキャストソース110は、マルチキャストトラフィックを送信するように構成される。一例では、グローバル・テーブル・マルチキャスト(global table multicast、GTM)、Non-VPN Multicast、またはインターネットマルチキャスト(internet multicast)の適用シナリオなどで、1つのマルチキャストトラフィックは、マルチキャスト・ソース・グループ(S、G)によって表され得、Sは、マルチキャストソース(source)のアドレスを表し、Gは、マルチキャストグループ(group、G)のアドレスを表す。別の例では、マルチキャスト仮想プライベートネットワーク(multicast virtual private network、MVPN)の適用シナリオでは、VPNインスタンスまたは仮想ルート転送(virtual route forwarding、VRF)インスタンスが通常存在する。したがって、1つのマルチキャストトラフィックはまた、(VPN、S、G)により表され得る。説明を容易にするために、以下で、説明のために(S、G)が1つのマルチキャストトラフィックを表す例を使用する。
【0089】
H1/H2/H3は、マルチキャスト受信機であり、マルチキャストソース110によって送信されたマルチキャストトラフィックを受信するように構成される。H1/H2/H3はまた、ユーザ側ルータまたはホストデバイスと呼ばれる場合がある。
【0090】
PE1/PE2/PE3およびL1/L2/L3によって形成されるネットワークは、ベアラネットワークに属し、マルチキャストソース110によって送信されたマルチキャストストリームを、H1/H2/H3に転送する役割を果たす。ベアラネットワークは、例えば、キャリアネットワーク、データ・センタ・ネットワーク、またはキャンパスネットワークであってもよい。これは、本出願では特に限定されない。PE1/PE2/PE3は、入口(ingress)デバイスであり、L1/L2/L3は、出口(egress)PEデバイスである。PE1/PE2/PE3はまた、ingress PE、ルート(root)ノード、またはRoot PEとも呼ばれる場合がある。L1/L2/L3は、egress PE、またはリーフ(leaf)ノード、またはleaf PEとも呼ばれる場合がある。
【0091】
任意選択で、1つまたは複数の中間転送デバイス(図1には示されていない)はまた、PE1/PE2/PE3とL1/L2/L3との間に含まれてもよい。これは、本出願では特に限定されない。
【0092】
関連する技術的解決策では、PE1は、リーフノード(L1/L2/L3)のプライマリルート(primary root)、またはプライマリ・アップストリーム・マルチキャスト・ホップ(primary upstream multicast hop、primary UMH)として機能し、マルチキャストトラフィックをリーフノード(L1/L2/L3)の各々に送信する役割を果たす。しかしながら、PE2およびPE3は、セカンダリルートとして機能する。PE1が適切に動作しているとき、PE2およびPE3は、マルチキャストトラフィックをリーフノード(L1/L2/L3)の各々に送信する役割を果たさない。それらはスタンバイ状態にあるだけである。同様に、多くのリーフノード(例えば、30個または300個のリーフ)がある場合、PE1はまた、マルチキャストトラフィックを、これらすべてのリーフに送信する役割を果たし、PE2およびPE3は、スタンバイ状態にある。PE1が障害を起こした場合、またはPE1とSW120との間のリンクが障害を起こした場合、PE2またはPE3のいずれかが引き継ぎ、マルチキャストトラフィックをリーフノード(L1/L2/L3)の各々に送信する役割を果たす。前述の解決策では、PE1が適切に動作しているとき、PE1の負荷は大きいが、PE2およびPE3の負荷は小さい。この場合、PE1は、大きい負荷のせいで、障害を起こしやすい。更に、PE1が障害を起こしていても、PE2またはPE3のいずれかが、マルチキャストトラフィックをリーフノードの各々に送信する役割を果たす。しかしながら、PE2とPE3との間の負荷分散は不均衡であり、マルチキャストトラフィックの送信の役割を果たすPE2またはPE3はまた、大きい負荷のせいで、障害を起こす可能性がある。
【0093】
これを考慮して、本出願の実施形態は、負荷共有方法を提供し、これにより、負荷分散を実施するために、マルチキャストトラフィックが、ルートノード間で共有され、それにより、前述の関連する解決策におけるルートノード間の不均衡な負荷分散の問題を回避する。図2を参照して、以下は、本出願の一実施形態による負荷共有方法の詳細な説明である。
【0094】
図2は、本出願の一実施形態による、負荷共有方法の概略フローチャートである。図2に示されるように、本方法は、ステップ210~240を含み得る。以下で、ステップ210~240を別々に詳しく説明する。
【0095】
本方法は、マルチキャスト技術が適用されるネットワークと呼ばれる場合がある通信ネットワークに適用され得ることを理解されたい。例えば、本方法は、仮想プライベートネットワーク(virtual private network、VPN)に適用される。具体的には、本方法は、マルチキャスト仮想プライベートネットワーク(multicast virtual private network、MVPN)に適用されてもよい。一例として、通信ネットワークは、マルチキャスト・ソース・デバイスと、ルート・ノード・デバイス・グループと、リーフ・ノード・デバイスと、を含んでもよい。マルチキャスト・ソース・デバイスは、マルチキャストトラフィックを、ルート・ノード・デバイス・グループを介してリーフ・ノード・デバイスに送信するように構成される。ルート・ノード・デバイス・グループは、少なくとも2つのルート・ノード・デバイスを含む。ネットワークは、1つのリーフ・ノード・デバイスを含んでもよいし、複数のリーフ・ノード・デバイスを含んでもよい。これは、本出願では特に限定されない。ネットワークが、1つのリーフ・ノード・デバイスを含む場合、リーフ・ノード・デバイスは、ルート・ノード・デバイス・グループに含まれる少なくとも2つのルート・ノード・デバイスに接続される。ネットワークが、複数のリーフ・ノード・デバイスを含む場合、複数のリーフ・ノード・デバイスは、ルート・ノード・デバイス・グループに含まれる少なくとも2つのルート・ノード・デバイスに完全に接続される。
【0096】
例えば、方法は、図1に示されるマルチキャストシナリオに適用されてもよい。マルチキャストシナリオでは、マルチキャストソース110は、上述のマルチキャスト・ソース・デバイスであり得る。PE1/PE2/PE3は、上述のルート・ノード・デバイスであってもよく、PE1、PE2、およびPE3は、ルート・ノード・デバイス・グループを形成する。L1/L2/L3は、上述のリーフ・ノード・デバイスであり得る。説明を容易にするために、図1では、3つのリーフ・ノード・デバイス(L1、L2、L3)が含まれる例が、説明のために使用される。
【0097】
ステップ210:第1のルート・ノード・デバイスが、リーフ・ノード・デバイスによって送信されたメッセージを受信し、メッセージは、第1の識別子および構成情報を含む。
【0098】
ルート・ノード・デバイス・グループは、少なくとも2つのルート・ノード・デバイスを含み、第1のルート・ノード・デバイスは、ルート・ノード・デバイス・グループ内の1つのデバイスであり得る。第1のルート・ノード・デバイスは、リーフ・ノード・デバイスによって送信されたメッセージを受信し得、メッセージは、第1の識別子および構成情報を含む。第1の識別子は、リーフ・ノード・デバイスを示す。例えば、第1の識別子は、リーフ・ノード・デバイスのIPアドレスであってもよい。別の例では、第1の識別子は、リーフ・ノード・デバイスのビット転送ルータ識別子(bit forwarding router identifier、BFR ID)であってもよい。上述の構成情報は、ルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の、リーフ・ノード・デバイスによって要求された、構成モードを示すために使用され得る。具体的には、構成情報がルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の構成モードを示す複数の実装形態がある。これは、本出願では特に限定されない。以下は、いくつかの可能な実装形態の詳細な説明である。
【0099】
一例として、一実装形態では、構成情報は、第1の指示情報を含んでもよく、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示す。第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダ(designated forwarder、DF)である、と理解されてもよい。あるいは、構成情報は、第2の指示情報を含み得、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示す。第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダ(non-designated forwarder、non-DF)である、と理解され得る。
【0100】
一例として、別の実装形態では、構成情報は、第3の指示情報を含んでもよく、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示し、候補ルート・ノード・デバイスは、候補ルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートとして機能する、ことを決定する。言い換えれば、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する負荷共有グループを示し、負荷共有グループは、複数の候補ルート・ノード・デバイスを含み、負荷共有グループ内の複数のルート・ノード・デバイスは、ルート・ノード・デバイスの各々がリーフ・ノード・デバイスのプライマリルートのデバイスとして機能する、ことを決定する。
【0101】
任意選択で、構成情報は、第4の指示情報を更に含んでもよく、第4の指示情報は、リーフ・ノード・デバイスのセカンダリルートとして機能する候補ルート・ノード・デバイスに関する情報を示し、候補ルート・ノード・デバイスは、候補ルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートとして機能する、ことを決定する。言い換えれば、第3の指示情報は、リーフ・ノード・デバイスのセカンダリルートとして機能する負荷共有グループを示し、負荷共有グループは、複数の候補ルート・ノード・デバイスを含み、負荷共有グループ内の複数のルート・ノード・デバイスは、ルート・ノード・デバイスの各々がリーフ・ノード・デバイスのセカンダリルートのデバイスとして機能する、ことを決定する。
【0102】
ステップ220:第1のルート・ノード・デバイスは、第1の識別子および構成情報に基づいて、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果を決定する。
【0103】
リーフ・ノード・デバイスによって送信された第1の識別子および構成情報を受信した後で、第1のルート・ノード・デバイスは、第1の識別子および構成情報に基づいて、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果を決定し得る。一例では、構成情報が上述の第1の指示情報を含む場合、第1のルート・ノード・デバイスは、第1の指示情報に基づいて、構成結果が第1の結果であることを直接決定してもよい。あるいは、構成情報が上述の第2の指示情報を含む場合、第1のルート・ノード・デバイスは、第2の指示情報に基づいて、構成結果が第2の結果であることを直接決定してもよい。別の例では、構成情報が、第3の指示情報を含み、第1のルート・ノード・デバイスが、リーフ・ノード・デバイスのプライマリルートの候補ルート・ノード・デバイスとして機能する場合、第1の結果を取得するために、ハッシュ計算が、第1の識別子および構成情報(例えば、第3の指示情報によって示され、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報)に対して実施されてもよい。あるいは、構成情報が、上述の第4の指示情報を含み、第1のルート・ノード・デバイスが、リーフ・ノード・デバイスのセカンダリルートの候補ルート・ノード・デバイスとして機能する場合、第2の結果を取得するために、ハッシュ計算が、第1の識別子および構成情報(例えば、第4の指示情報によって示され、リーフ・ノード・デバイスのセカンダリルートとして機能する候補ルート・ノード・デバイスに関する情報)に対して実施されてもよい。更に別の例では、構成情報が、上述の第3の指示情報を含む場合、リーフ・ノード・デバイスによって第1のルート・ノード・デバイスに送信されたメッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、第1のルート・ノード・デバイスは、リーフ・ノード・デバイスのプライマリルートの候補ルート・ノード・デバイスとして機能し、第1の結果を取得するために、ハッシュ計算が、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および構成情報(例えば、第3の指示情報によって示され、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報)に対して実施されてもよい。あるいは、構成情報が、第4の指示情報を含み、第1のルート・ノード・デバイスが、リーフ・ノード・デバイスのセカンダリルートの候補ルート・ノード・デバイスとして機能する場合、第2の結果を取得するために、ハッシュ計算が、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および構成情報(例えば、第4の指示情報によって示され、リーフ・ノード・デバイスのセカンダリルートとして機能する候補ルート・ノード・デバイスに関する情報)に対して実施されてもよい。
【0104】
第1のルート・ノード・デバイスは、上述の負荷共有の構成結果が第1の結果であるか、または第2の結果であるかに基づいて、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートとして機能するか、またはセカンダリルートとして機能するかを決定し得る。一例として、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果が、第1の結果である場合、第1のルート・ノード・デバイスは、ステップ230を実施してもよく、または第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果が、第1の結果である場合、第1のルート・ノード・デバイスは、ステップ240を実施してもよい。
【0105】
ステップ230:構成結果が第1の結果であることに応答して、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを決定する。
【0106】
一例として、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがプライマリルートであることを決定し、マルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダとして機能し、マルチキャストトラフィックをリーフ・ノード・デバイスに送信してもよい。
【0107】
ステップ240:構成結果が第2の結果であることに応答して、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを決定する。
【0108】
一例として、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがセカンダリルートであることを決定し、マルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダとして機能し、マルチキャストトラフィックをリーフ・ノード・デバイスに送信することを防止してもよい。
【0109】
上記の技術的解決策では、ルートノードの各々は、マルチキャストトラフィックの負荷分散を実施するために、マルチキャストトラフィックに対して負荷共有を実施し得る。
【0110】
以下は、図1に示されるマルチキャストシナリオを例として使用して、図3Aおよび図3Bを参照して、本出願の一実施形態による負荷共有方法の具体的な実装形態を詳細に説明する。図3Aおよび図3Bの例は、当業者が本出願の実施形態を理解することを、助けるように単に意図されており、例の特定の数値または特定のシナリオに本出願の実施形態を限定するものではないことを理解されたい。当業者は、図3Aおよび図3Bに示された例による、様々な均等な修正または変更を明らかに行い得、そのような修正または変更はまた、本出願の実施形態の範囲内にある。
【0111】
図3Aおよび図3Bは、本出願の一実施形態による、別の負荷共有方法の概略フローチャートである。図3Aおよび図3Bに示されるように、本方法は、ステップ310~337を含み得る。以下は、ステップ310~337を別々に詳しく説明する。
【0112】
ステップ310:ルートノードPE1が、リーフノードL1によって送信されたメッセージを受信し、メッセージは、リーフノードL1の識別子およびUMH選択指示情報を搬送する。
【0113】
一例として、ステップ310の前に、境界ゲートウェイプロトコル(border gateway protocol、BGP)セッションが、PE1とL1との間に確立されてもよく、BGP-MVPNアドレスファミリ(またはBGP-MVPNプロトコル)が、使用されてもよい。BGPセッションは、2つのデバイス間で直接確立されてもよいし、ルーティングリフレクタ(routing reflector、RR)を介して確立されてもよい。これは、本出願では特に限定されない。説明を容易にするために、以下は、2つのデバイス間でBGPセッションを直接確立する例である。例えば、H1は、マルチキャスト参加メッセージをL1に送信してもよく、マルチキャスト参加メッセージは、マルチキャストトラフィック(S1、G1)を取得するために使用される。L1は、マルチキャスト参加メッセージをルートノードPE1に送信し得、ルートノードPE1は、マルチキャスト参加メッセージをSW120に送信し、次いで、SW120は、マルチキャスト参加メッセージをマルチキャストソース110に送信する。マルチキャスト受信機H1によって送信されるマルチキャスト参加メッセージは、本出願の実施形態では特に限定されないことを理解されたい。メッセージは、インターネットグループ管理プロトコル(internet group management protocol、IGMP)メッセージ、マルチキャスト・ディスカバリ・リスナ・プロトコル(multicast listener discovery、MLD)メッセージ、またはプロトコル独立マルチキャストプロトコル(protocol independent multicast、PIM)メッセージであってもよい。例えば、H1によってリーフノードL1に送信されるマルチキャスト参加メッセージは、IGMPメッセージまたはMLDメッセージであってもよく、ルートノードPE1によってSW120に送信されるマルチキャスト参加メッセージは、PIMメッセージであってもよい。上述のリーフノードL1はまた、リーフノードL1の識別子およびUMH選択指示情報(構成情報とも呼ばれ得る)をルートノードPE1に送信してもよい。
【0114】
例えば、PE1は、選択的プロバイダ・マルチキャスト・サービス・インターフェース(selective provider multicast service interface auto-discovery route、S-PMSI A-D)をリーフノードL1に送信し、マルチキャストトラフィック(S1、G1)を指定してもよい。S-PMSI A-Dルートを受信した後で、リーフノードL1は、Leaf A-DルートをルートノードPE1に送信する。Leaf A-Dルートは、リーフノードL1の識別子と、UMH選択指示情報と、を含み得る。
【0115】
一例として、リーフノードL1の識別子は、リーフノードL1のIPアドレスであってもよく、Leaf A-Dルートのネットワーク層到達可能性情報(network layer reachability info、NLRI)で搬送される。このように、Leaf A-Dルートを伝送するプロセスでは、例えば、ルートリフレクタ(route reflector、RR)、または自律システム・エッジ・ルータ(autonomous system boundary router、ASBR)によるルートの再アドバタイズのプロセスでは、Leaf A-Dルートのリーフノードの識別子は変化しない。上述のUMH選択指示情報は、リーフノードL1によって選択されたプライマリルートおよびセカンダリルートを示すために使用されてもよく、またはルートノード(PE1/PE2/PE3)によって、ルートノードがリーフノードL1のプライマリルートおよびセカンダリルートとして機能する、ことを決定される、ことを示すために更に使用されてもよい。以下は、様々な実装形態を詳細に個別に記載する。
【0116】
説明を容易にするために、以下は、説明のための例としてマルチキャストトラフィック(S1、G1)を使用することを理解されたい。
【0117】
1.1つの可能な実装形態では、UMH選択指示情報は、リーフノードL1によって選択されたプライマリルートおよびセカンダリルートを示す。
【0118】
この例では、リーフノードL1は、プライマリルートとしてPE1を、セカンダリルートとしてPE2/PE3を、選択する。すなわち、PE1は、マルチキャストトラフィックをL1に送信する役割を果たす。PE1が適切に動作しているとき、PE2およびPE3は、スタンバイ状態にあり、マルチキャストトラフィックをL1に送信する役割を果たさない。本出願の実施形態では、PE1に送信されたUMH選択指示情報と、PE2/PE3に送信されたUMH選択指示情報とが、区別され得る限り、UMH選択指示情報の具体的な形態は限定されない。一例では、L1によってPE1に送信されたメッセージ内のUMH選択指示情報は、「primary」であり得、L1がプライマリルートとしてPE1を選択する、ことを示す。L1によってPE2およびPE3に送信されたUMH選択指示情報は、「secondary」であり、L1がセカンダリルートとしてPE2およびPE3を選択する、ことを示す。別の例では、L1によってPE1に送信されたメッセージ内のUMH選択指示情報は、「NULL」であり得、すなわち、追加情報がないとき、「NULL」は、デフォルトによって「primary」であり、L1がプライマリルートとしてPE1を選択する、ことを示す。PE2およびPE3に送信されたUMH選択指示情報は、「secondary」、「backup」、または「standby」であり、L1がセカンダリルートとしてPE2およびPE3を選択する、ことを示す。
【0119】
例えば、リーフノードL1によってルートノードPE1に送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=primary)である。任意選択で、リーフノードL1によってルートノードPE2に送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=secondary)であり、ルートノードPE3に送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=secondary)である。
【0120】
2.別の可能な実装形態では、UMH選択指示情報は、リーフノードL1のプライマリルートとして機能する候補ルートノード(PE1/PE2/PE3)がそれ自体をリーフノードL1のプライマリルートとして決定する、ことを示す。
【0121】
リーフノードL1を例にとると、L1によってルートノードPE1に送信されたメッセージ内のUMH選択指示情報は、もはやprimaryまたはsecondaryの指示情報ではなく、リーフ子ノードL1のプライマリルートとして機能する候補ルート・ノード・セット(PE1/PE2/PE3)をルートノードPE1に通知する。ルートノードPE1は、L1のプライマリルートとして機能するか否かを決定する。
【0122】
例えば、リーフノードL1によってルートノードPE1に送信された情報は、(S1、1、ノードID=L1、UMH選択情報=情報1)である。任意選択で、リーフノードL1によってルートノードPE2に送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=情報1)であり、ルートノードPE3によって送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=情報1)である。
【0123】
前述の情報1は、リーフノードL1のプライマリルートとして機能する候補ルートノードに関する情報を含み得、その情報は、例えば、候補ルートノードの識別子であってもよい。識別子の複数の特定の実装形態がある。以下は、いくつかの可能な実装形態の詳細な説明である。説明を容易にするために、図3Aおよび図3Bでは、リーフL1のプライマリルートとして機能する候補ルートノードがPE1、PE2、およびPE3を含む例が説明に使用されることを理解されたい。
【0124】
具体的には、一例として、識別子は、PE1のID、PE2のID、またはPE3のIDであってもよい。例えば、PE1のID、PE2のID、またはPE3のIDは、PEの各々のIPアドレスであってもよい。例えば、PE1/PE2/PE3のIPアドレスは、それぞれ192.168.10.1、192.168.20.1、または192.168.30.1である。別の例では、PE1のID、PE2のID、またはPE3のIDは、PEの各々のIPv6アドレスであってもよい。例えば、PE1/PE2/PE3のIPv6アドレスは、それぞれ2001:db8:1::1234、2001:db8:2::1234、または2001:db8:3::1234である。更に別の例では、PE1のID、PE2のID、またはPE3のIDは、PEの各々に構成された識別子であってもよい。PE1/PE2/PE3が、ルータのグループとして機能し、ルータのグループ(またはグループID)を識別するために使用されるAnycast IPアドレス192.168.0.1を共有し、整数1/2/3が、PEの各々を識別するように別々に構成される、と仮定する。例えば、PE1/PE2/PE3のIDは、192.168.0.1:1、192.168.0.1:2、または192.168.0.1:3であってもよい。別の例では、識別子は、ルータPE1/PE2/PE3のグループの識別子(例えば、192.168.0.1)を含んでもよく、IDが1、2、または3であるルータを示すためのBitString 0111を更に含んでもよい。例えば、ビット列(BitString)の右から左への第1の位置1は、IDが1であるPE1を識別し、BitStringの右から左への第2の位置1は、IDが2であるPE2を識別し、BitStringの右から左への第3の位置1は、IDが3であるPE3を識別する。別の例では、識別子は、グループIDのみを含んでもよく、グループIDは、ルータPE1/PE2/PE3のグループを表し、前述のAnycast IPアドレスであってもよい。次に、Anycast IPと3つのルータとの間の対応関係は、グループIDによって表される3つのルータ上に別々に構成される。
【0125】
任意選択で、前述の情報1は、リーフノードL1のプライマリルートとして機能する候補ルート・ノード・セットに含まれるルートノードの数を示すカウントを更に含んでもよい。
【0126】
任意選択で、前述の情報1は、指示情報を更に含んでもよく、指示情報は、リーフノードL1のプライマリルートとして機能する候補ルート・ノード・セットに含まれるルートノードがそれ自体をL1のプライマリルートとして決定する、ことを示す。例えば、指示情報は、auto-select-by-rootを介して識別されてもよい。
【0127】
具体的には、例えば、前述の情報1は、<PE1、PE2、PE3、auto-select-by-root>であってもよく、<PE1、PE2、PE3>は、リーフノードL1のプライマリルートとして機能する候補ルート・ノード・セットに含まれるルートノードを表し、<auto-select-by-root>は、PE1/PE2/PE3がそれ自体によってL1のプライマリルートとして決定される、ことを表す。決定の複数の特定の実装形態がある。以下は、いくつかの可能な方法を詳細に説明し、ここでは詳細を説明しない。
【0128】
ステップ315:ルートノードPE1は、リーフノードL1によって送信されたメッセージに基づいて負荷共有の構成結果を決定し、構成結果は、ルートノードPE1がリーフノードL1のプライマリルートであることである。
【0129】
1.1つの可能な実装形態では、UMH選択指示情報は、リーフノードによって選択されたプライマリルートおよびセカンダリルートを示す。PE1の場合、リーフノードL1によって送信され、PE1によって受信されたメッセージは、(S1、G1、ノードID=L1、UMH選択情報=primary)である。任意選択で、リーフノードL2によって送信され、PE1によって受信されたメッセージは、(S1、G1、ノードID=L2、UMH選択情報=secondary)であり、リーフノードL3によって送信され、PE1によって受信されたメッセージは、(S1、G1、ノードID=L3、UMH選択情報=secondary)である。PE1は、UMH選択情報に基づいて、PE1がリーフノードL1のプライマリルートとして機能し、マルチキャストトラフィックをリーフノードL1に転送する役割を果たす、ことを決定し得る。
【0130】
2.別の可能な実装形態では、UMH選択指示情報は、リーフノードL1のプライマリルートとして機能する候補ルートノード(PE1/PE2/PE3)がそれ自体をリーフノードL1のプライマリルートとして決定する、ことを示す。
【0131】
具体的には、一例では、最高ランダム重み(highest random weight、HRW)法が、使用されてもよく、ハッシュ(hash)計算が、候補ルートノード(PE1/PE2/PE3)およびリーフノードL1の各々の識別子によって実施され、リーフノードL1のプライマリルートは、ハッシュ計算結果に基づいて決定される。
【0132】
PE1の場合、リーフノードL1の識別子および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算を実施する方法は、以下のように、hash11=HRW(L1 ID、PE1 ID)として表される結果11を取得するために、PE1の識別子およびL1の識別子に対してハッシュ計算を実施することである。同様に、hash21=HRW(L1 ID、PE2 ID)として表される結果21を取得するために、ハッシュ計算が、PE2の識別子およびL1の識別子に対して実施される。同様に、hash31=HRW(L1 ID、PE3 ID)として表される結果31を取得するために、ハッシュ計算が、PE3の識別子およびL1の識別子に対して実施される。PE1は、いくつかのハッシュ値を比較して最大値を決定し得る。例えば、hash11/hash21/hash31における最大値は、hash11であり、すなわち、PE1を介してハッシュ計算を実施することによって取得された値は、最大ハッシュ値または最大ランダム重みであり、HRW(L1、candidate(PE1、PE2、PE3))=PE1として表され得る。この場合、PE1は、L1のDFとして機能する。その結果に基づいて、PE1は、PE1がL1のプライマリルートとして機能し、マルチキャストトラフィックをL1に送信する役割を果たす、ことを決定する。
【0133】
同様に、PE2の場合、L1ノードの識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算もまた実施される。計算結果は、PE1について計算されたものと同じである。すなわち、HRW(L1、candidate(PE1、PE2、PE3))の計算結果もまたPE1である。したがって、PE2は、結果に基づいて、PE2がL1のプライマリルートではなく、トラフィックをL1に送信する役割を果たさない、ことを決定する。PE3の場合、PE3はまた、L1ノードの識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算を実施する。計算結果は、PE1およびPE2について計算されたものと同じである。したがって、PE3は、結果に基づいて、PE3がL1のプライマリルートではなく、トラフィックをL1に送信する役割を果たさない、ことを決定する。
【0134】
具体的には、別の例では、マルチキャストトラフィックもまた、Hash計算に含まれ得る。(S1、G1)のトラフィックを例にとると、HRW法を使用することによって、ハッシュ(hash)計算が、候補ルートノード(PE1/PE2/PE3)の各々、リーフノードL1の識別子、および(S1、1)に対して実施され、リーフノードL1のプライマリルートは、ハッシュ計算結果に基づいて決定される。具体的な実装形態は、前述の例の方法と同様である。詳細については、前の例で説明したHash計算方法を参照されたい。詳細は、ここでは再度記載されない。
【0135】
具体的には、別の例では、BIERがマルチキャスト転送を実施するために使用されるシナリオでは、PE1は、BitStringに基づいて選択を更に実施し得る。一例では、PE1は、N*3(N=0/1/...)に含まれるリーフノードのプライマリルートとして機能し、マルチキャストトラフィックを、N*3(N=0/1/...)に含まれるリーフノードに送信するために、優先的に役割を果たす。N*3+1(N=0/1/...)に含まれるリーフノードのプライマリルートとして、PE2は、マルチキャストトラフィックを、N*3+1(N=0/1/...)に含まれるリーフノードに送信するために、優先的に役割を果たす。PE3は、N*3+2(N=0/1/...)に含まれるリーフノードのプライマリルートとして機能し、マルチキャストトラフィックを、N*3+2(N=0/1/...)に含まれるリーフノードに送信するために、優先的に役割を果たす。
【0136】
例えば、N=0の場合、PE1は、0番のセットまたはセットID=0に含まれるリーフノード(BFR IDは、それぞれ1~256である)のプライマリルートとして機能し、マルチキャストトラフィックを、BFR IDがそれぞれ1~256のリーフノードに送信する役割を果たす。同様に、PE2は、第1のセットまたはセットID=1に含まれるリーフノード(BFR IDは、それぞれ257~512)のプライマリルートとして機能し、マルチキャストトラフィックを、BFR IDがそれぞれ257~512であるリーフノードに送信する役割を果たす。PE3は、第2のセットまたはセットID=2に含まれるリーフノード(BFR IDは、それぞれ513~768)のプライマリルートとして機能し、マルチキャストトラフィックを、BFR IDがそれぞれ513~768であるリーフノードに送信する役割を果たす。リーフノードL1がセット0に対応し、L2がセット1に対応し、L3がセット2に対応する、と仮定する。PE1は、L1のプライマリルートとして機能し、マルチキャストトラフィックをL1に送信する役割を果たし、PE2は、L2のプライマリルートとして機能し、マルチキャストトラフィックをL2に送信する役割を果たし、PE3は、L3のプライマリルートとして機能し、マルチキャストトラフィックをL3に送信する役割を果たす。
【0137】
別の例では、BIERがマルチキャスト転送を実施するために使用されるシナリオでは、HRW方法は、候補ルートノード(PE1/PE2/PE3)の各々およびセットIDによってハッシュ(hash)計算を実施し、ハッシュ計算結果に基づいて、セットに対応するリーフノードのプライマリルートを決定するために、使用される。
【0138】
一例として、セットID=0に対応するリーフノードが使用される。PE1によって、セットID=0および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいてHRW計算を実施する方法は、以下のように、hash11=HRW(Set ID<0>、PE1 ID)として表される結果11を取得するために、PE1の識別子およびセットID=0に対してハッシュ計算を実施することである。同様に、hash21=HRW(Set ID<0>、PE2 ID)として表される結果21を取得するために、ハッシュ計算が、PE2の識別子およびセットID=0に対して実施される。同様に、hash31=HRW(Set ID<0>、PE3 ID)として表される結果31を取得するために、ハッシュ計算が、PE3の識別子およびセットID=0に対して実施される。PE1は、いくつかのハッシュ値を比較して最大値を決定し得る。例えば、hash11/hash21/hash31における最大値は、hash11であり、すなわち、PE1を介してハッシュ計算を実施することによって取得された値は、最大ハッシュ値または最大ランダム重みであり、HRW(セットID=0、candidate(PE1、PE2、PE3))=PE1と表され得る。この場合、PE1は、セットID=0を有するすべてのリーフノード(BFR IDは、それぞれ1~256のノード)のDFとして機能する。その結果に基づいて、PE1は、PE1がセットID=0を有するすべてのリーフノード(BFR IDは、それぞれ1~256である)のプライマリルートとして機能し、マルチキャストトラフィックを、セットID=0を有するすべてのリーフノード(BFR IDは、それぞれ1~256である)に送信する役割を果たす、ことを決定し得る。リーフノードL1がセット0に対応すると仮定すると、PE1は、PE1がL1のプライマリルートとして機能し、マルチキャストトラフィックをL1に送信する役割を果たす、ことを決定し得る。
【0139】
同様に、PE2およびPE3もまた、セットID=0、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算を実施する。計算結果は、PE1について計算されたものと同じである。すなわち、HRW(セットID=0、candidate(PE1、PE2、PE3))の計算結果もまたPE1である。したがって、PE2およびPE3は、結果に基づいて、それらがセットID=0を有するすべてのリーフノード(BFR IDは、それぞれ1~256のノード)のプライマリルートではない、ことを決定し得、マルチキャストトラフィックを、セットID=0を有するすべてのリーフノード(BFR IDは、それぞれ1~256のノード)に送信する役割を果たさない。リーフノードL1がセット0に対応すると仮定すると、PE2およびPE3は、それらがL1のプライマリルートではなく、マルチキャストトラフィックをL1に送信する役割を果たさない、ことを決定し得る。
【0140】
ステップ317:ルートノードPE1は、マルチキャストソース110によって送信されたマルチキャストトラフィック(S1、G1)を受信し、負荷共有の構成結果に基づいて、マルチキャストトラフィック(S1、G1)をリーフノードL1に送信する。
【0141】
ステップ315およびステップ317を実施する順序は、本出願の実施形態では特に限定されない。ステップ315は、ステップ317の前に実施されてよく、または、ステップ317は、ステップ315の前に実施されてもよく、または、ステップ315およびステップ317は、同時に実施されてもよい。
【0142】
すなわち、ステップ315がステップ317の前に実施される場合、ルートノードPE1は、マルチキャストトラフィック(S1、G1)を受信する前に負荷共有の構成結果を決定しており、ルートノードPE1は、負荷共有の構成結果に基づいて、マルチキャストトラフィック(S1、G1)を受信したとき、マルチキャストトラフィック(S1、G1)を転送し得る。ステップ317がステップ315の前に実施される場合、ルートノードPE1は、マルチキャストトラフィック(S1、G1)を受信した後で、構成結果を取得せず、ルートノードPE1は、負荷共有の構成結果が決定された後で、負荷共有の構成結果に基づいて、マルチキャストトラフィック(S1、G1)を転送し得る。このようにして、構成結果が決定される前にマルチキャストトラフィックを転送することによって引き起こされる重複トラフィック伝送の問題は、回避され得る。以下は、負荷共有の構成結果に基づいて、ルートノードPE1がマルチキャストトラフィック(S1、G1)を転送する具体的な実装手順について詳細に記載する。例えば、ルートノードPE1は、リーフノードL1のプライマリルートとして機能する。マルチキャストトラフィック(S1、G1)を受信した後で、PE1は、マルチキャストトラフィック(S1、G1)がリーフノードL1に転送される必要があることを決定し得る。具体的には、一例として、「ステートレス(stateless)」トンネルが、ルートノードPE1とリーフノードL1との間で使用されてもよく、マルチキャストトラフィック(S1、G1)は、トンネルを通してリーフノードL1に送信される。例えば、ステートレス・トンネル・ヘッダの例は、BIERトンネルヘッダまたはBIERヘッダである。すなわち、ルートノードPE1は、マルチキャストトラフィック(S1、G1)のためのBIERヘッダをカプセル化し得、BIERヘッダは、bit stringフィールドを含み得、bit string内のリーフノードL1に対応するbitの値は、1である。
【0143】
bit string内の各bitは、エッジBFR(例えば、BFIRまたはBFER)を識別するために使用されることを理解されたい。例えば、bit stringの最下位ビット(右端)の1ビットは、BFR-IDが1である、BFERを識別するために使用される。bit string内の右から左に、第2のbitは、BFR-IDが2に等しい、BFERを識別する。転送プレーンが転送を実施する際に基づく転送エントリの場合、パケット内のbit stringに基づいて、パケットが送信されるべきいくつかの特定のBFERが、決定される。BIERヘッダを含むパケットヘッダを受信すると、BIERドメイン内のBFRは、BIERヘッダ内で搬送されるbit stringおよびBIFT IDに基づいて、BIERパケットを転送する。bitの値1は、パケットがBFR-IDによって表されるBFERデバイスに送信される必要があることを示し、bitの値0は、パケットがBFR-IDによって表されるBFERデバイスに送信される必要がない、ことを示すことに留意されたい。
【0144】
ステップ320:ルートノードPE2は、リーフノードL2によって送信されたメッセージを受信し、メッセージは、リーフノードL2の識別子およびUMH選択指示情報を搬送する。
【0145】
1.1つの可能な実装形態では、UMH選択指示情報は、リーフノードL2によって選択されたプライマリルートおよびセカンダリルートを示す。この例では、リーフノードL2は、プライマリルートとしてPE2を、およびセカンダリルートとしてPE1/PE3を、選択する。一例では、L2によってPE2に送信されたメッセージ内のUMH選択指示情報は、「primary」であり得、L2がプライマリルートとしてPE2を選択する、ことを示す。L2によってPE1およびPE3に送信されたUMH選択指示情報は、「secondary」であり、L2がセカンダリルートとしてPE1およびPE3を選択する、ことを示す。別の例では、L2によってPE2に送信されたメッセージ内のUMH選択指示情報は、「NULL」であり得、すなわち、追加情報がないとき、「NULL」は、デフォルトによって「primary」であり、L2がプライマリルートとしてPE2を選択する、ことを示す。PE1およびPE3に送信されたUMH選択指示情報は、「secondary」、「backup」、または「standby」であり、L2がセカンダリルートとしてPE1およびPE3を選択する、ことを示す。
【0146】
例えば、リーフノードL2によってルートノードPE2に送信された情報は、(S1、G1、ノードID=L2、UMH選択情報=primary)である。任意選択で、リーフノードL2によってルートノードPE1に送信された情報は、(S1、G1、ノードID=L2、UMH選択情報=secondary)であり、ルートノードPE3に送信された情報は、(S1、G1、ノードID=L2、UMH選択情報=secondary)である。2.別の可能な実装形態では、UMH選択指示情報は、リーフノードL2のプライマリルートとして機能する候補ルートノード(PE1/PE2/PE3)がそれ自体をリーフノードL2のプライマリルートおよびセカンダリルートとして決定する、ことを示す。例えば、リーフノードL2によってルートノードPE2に送信された情報は、(S1、G1、ノードID=L2、UMH選択情報=情報2<PE1、PE2、PE3>)である。任意選択で、リーフノードL2によってルートノードPE1に送信された情報は、(S1、G1、ノードID=L2、UMH選択情報=情報2<PE1、PE2、PE3>)であり、ルートノードPE3に送信された情報は、(S1、G1、ノードID=L2、UMH選択情報=情報2<PE1、PE2、PE3>)である。ステップ325:ルートノードPE2は、リーフノードL2によって送信されたメッセージに基づいて負荷共有の構成結果を決定し、構成結果は、ルートノードPE2がリーフノードL2のプライマリルートであることである。
【0147】
実装形態には様々な方法がある。以下は、候補ルートノード(PE1/PE2/PE3)の各々、およびリーフノードL2の識別子によってハッシュ計算を実施して、リーフノードL2のプライマリルートとして決定する方法を説明するために、例としてHRWを使用する。別の実装形態は、ステップ315の方法と同様である。詳細については、ステップ315の説明を参照されたい。詳細は、ここでは再度記載されない。PE1の場合、リーフノードL2の識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいてHRW計算を実施する方法は、以下のように、hash12=HRW(L2 ID、PE1 ID)として表される結果12を取得するために、PE1の識別子およびL2の識別子に対してハッシュ計算を実施することである。同様に、hash22=HRW(L2 ID、PE2 ID)として表される結果22を取得するために、ハッシュ計算が、PE2の識別子およびL2の識別子に対して実施される。同様に、hash32=HRW(L2 ID、PE3 ID)として表される結果32を取得するために、ハッシュ計算が、PE3の識別子およびL2の識別子に対して実施される。PE1は、いくつかのハッシュ値を比較して最大値を決定し得る。例えば、hash12/hash22/hash32における最大値は、hash22であり、すなわち、PE2を介してハッシュ計算を実施することによって取得された値は、最大ハッシュ値または最大ランダム重みであり、HRW(L2、candidate(PE1、E2、PE3))=PE2として表され得る。この場合、PE2は、L2のDFとして機能する。結果に基づいて、PE1は、PE1がL2のプライマリルートではなく、トラフィックをL2に送信する役割を果たさない、ことを決定する。同様に、PE2の場合、L2ノードの識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算もまた実施される。計算結果は、PE1について計算されたものと同じである。すなわち、HRW(L2、candidate(PE1、PE2、PE3))の計算結果もまた、PE2である。
【0148】
したがって、PE2は、結果に基づいて、PE2がL2のプライマリルートとして機能し、トラフィックをL2に送信する役割を果たす、ことを決定する。PE3の場合、PE3はまた、L3ノードの識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算を実施する。計算結果は、PE1およびPE2について計算されたものと同じである。したがって、PE3は、結果に基づいて、PE3がL2のプライマリルートではなく、トラフィックをL2に送信する役割を果たさない、ことを決定する。
【0149】
ステップ327:ルートノードL2は、マルチキャストソースによって送信されたマルチキャストトラフィック(S1、G1)を受信し、別々に決定された負荷共有の構成結果に基づいて、マルチキャストトラフィック(S1、G1)をリーフノードL2に送信する。例えば、ルートノードPE2は、リーフノードL2のプライマリルートとして機能する。マルチキャストトラフィック(S1、G1)を受信した後で、ルートノードPE2はまた、マルチキャストトラフィック(S1、G1)をリーフノードL2に転送し得る。BIERトンネルを例にとると、ルートノードPE2は、マルチキャストトラフィック(S1、G1)のためのBIERヘッダをカプセル化し得、BIERヘッダは、bit stringフィールドを含み得、bit string内のリーフノードL2に対応するbitの値は、1である。ステップ330:ルートノードPE3は、リーフノードL3によって送信されたメッセージを受信し、メッセージは、リーフノードL3の識別子およびUMH選択指示情報を搬送する。1.1つの可能な実装形態では、UMH選択指示情報は、リーフノードL3によって選択されたプライマリルートおよびセカンダリルートを示す。この例では、リーフノードL3は、プライマリルートとしてPE3を、セカンダリルートとしてPE2/PE3を、選択する。一例では、L3によってPE3に送信されたメッセージ内のUMH選択指示情報は、「primary」であり得、L3がプライマリルートとしてPE3を選択する、ことを示す。L3によってPE2およびPE3に送信されたUMH選択指示情報は、「secondary」であり、L3がセカンダリルートとしてPE2およびPE3を選択する、ことを示す。
【0150】
別の例では、L3によってPE3に送信されたメッセージ内のUMH選択指示情報は、「NULL」であり得、すなわち、追加情報がないとき、「NULL」は、デフォルトによって「primary」であり、L3がプライマリルートとしてPE3を選択する、ことを示す。PE2およびPE3に送信されたUMH選択指示情報は、「secondary」、「backup」、または「standby」であり、L3がセカンダリルートとしてPE2およびPE3を選択する、ことを示す。
【0151】
例えば、リーフノードL3によってルートノードPE3に送信された情報は、(S1、G1、ノードID=L3、UMH選択情報=primary)である。任意選択で、リーフノードL3によってルートノードPE1に送信された情報は、(S1、G1、ノードID=L3、UMH選択情報=secondary)であり、ルートノードPE2に送信された情報は、(S1、G1、ノードID=L3、UMH選択情報=secondary)である。
【0152】
2.別の可能な実装形態では、UMH選択指示情報は、リーフノードL3のプライマリルートとして機能する候補ルートノード(PE1/PE2/PE3)がそれ自体をリーフノードL3のプライマリルートおよびセカンダリルートとして決定する、ことを示す。例えば、リーフノードL3によってルートノードPE3に送信された情報は、(S1、G1、ノードID=L3、UMH選択情報=情報3<PE1、PE2、PE3>)である。任意選択で、リーフノードL3によってルートノードPE1に送信された情報は、(S1、1、ノードID=L3、UMH選択情報=情報3<PE1、PE2、PE3>)であり、ルートノードPE2に送信された情報は、(S1、G1、ノードID=L3、UMH選択情報=情報3<PE1、PE2、PE3>)である。ステップ335:ルートノードPE3は、リーフノードL3によって送信されたメッセージに基づいて負荷共有の構成結果を決定し、構成結果は、ルートノードPE3がリーフノードL3のプライマリルートであることである。実装形態には様々な方法がある。以下は、候補ルートノード(PE1/PE2/PE3)の各々およびリーフノードL3の識別子によってハッシュ計算を実施して、リーフノードL3のプライマリルートとして決定する方法を説明するために、例としてHRW方法を使用する。別の実装形態は、ステップ315の方法と同様である。詳細については、ステップ315の説明を参照されたい。詳細は、ここでは再度記載されない。
【0153】
PE1の場合、リーフノードL3の識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算を実施する方法は、以下のように、hash13=HRW(L3 ID、PE1 ID)として表される結果13を取得するために、PE1の識別子およびL3の識別子に対してハッシュ計算を実施することである。同様に、hash23=HRW(L3 ID、PE2 ID)として表される結果23を取得するために、ハッシュ計算が、PE2の識別子およびL3の識別子に対して実施される。同様に、hash33=HRW(L3 ID、PE3 ID)として表される結果33を取得するために、ハッシュ計算が、PE3の識別子およびL3の識別子に対して実施される。PE1は、いくつかのハッシュ値を比較して最大値を決定し得る。例えば、hash13/hash23/hash33における最大値は、hash33であり、すなわち、PE3を介してハッシュ計算を実施することによって取得された値は、最大ハッシュ値または最大ランダム重みであり、HRW(L3、candidate(PE1、PE2、PE3))=PE3として表され得る。この場合、PE3は、L3のDFとして機能する。結果に基づいて、PE1は、PE1がL3のプライマリルートではなく、トラフィックをL3に送信する役割を果たさない、ことを決定する。同様に、PE2の場合、HRW計算はまた、L3ノードの識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて実施される。計算結果は、PE1について計算されたものと同じである。すなわち、HRW(L3、candidate(PE1、PE2、PE3))の計算結果もまた、PE3である。したがって、PE2は、PE2がL3のプライマリルートではなく、トラフィックをL3に送信する役割を果たさない、ことを決定する。PE3の場合、PE3はまた、L2ノードの識別子、および候補ルートノード(PE1/PE2/PE3)に関する情報に基づいて、HRW計算を実施する。計算結果は、PE1およびPE2について計算されたものと同じである。したがって、PE3は、結果に基づいて、PE3がL3のプライマリルートであり、トラフィックをL3に送信する役割を果たす、ことを決定する。
【0154】
ステップ337:ルートノードPE3は、マルチキャストソースによって送信されたマルチキャストトラフィック(S1、G1)を受信し、別々に決定された負荷共有の構成結果に基づいて、マルチキャストトラフィック(S1、G1)をリーフノードL3に送信する。
【0155】
例えば、ルートノードPE3は、リーフノードL3のプライマリルートとして機能する。マルチキャストトラフィック(S1、G1)を受信した後で、ルートノードPE3はまた、マルチキャストトラフィック(S1、G1)をリーフノードL3に転送し得る。BIERトンネルを例にとると、ルートノードPE3は、マルチキャストトラフィック(S1、G1)のためのBIERヘッダをカプセル化し得、BIERヘッダは、bit stringフィールドを含み得、bit string内のリーフノードL3に対応するbitの値は、1である。
【0156】
上記の技術的解決策では、ルートノードの各々は、サービスが適切に動作するとき、負荷共有を実施し得、これにより、単一のデバイスのサービス量が低減され、それによって、単一のデバイスの過度に大きい負荷によって引き起こされる障害を回避する。任意選択で、ルートノードが適切に動作し得ないとき、別の利用可能なルートノードは、適切に動作し得ないルートノード上でマルチキャストトラフィックを共有する。本出願の実施形態では、ルートノードが適切に動作し得ないことは、ルートノードが障害を起こしている、例えば電源がオフになっているので、ルートノードが適切に動作し得ない、こととして理解され得る。あるいは、ルートノードと別のデバイスとの間のリンクが障害を起こしており、その結果、ルートノードは適切に動作し得ないいことが理解されよう。例えば、ルートノードと、ルートノードに接続されたリーフノードとの間のリンクが、障害を起こしている。以下は、ルートノードPE1が障害を起こしている例をとることによって、別の利用可能なルートノード(例えば、PE2またはPE3)によってPE1のマルチキャストトラフィックを共有する様々な実装形態を詳細に説明する。1つの可能な実装形態では、PE1自体が障害を起こしているか、またはPE1とL1との間のリンクが障害を起こしている、と決定した後で、L1は、UMH選択指示情報をルートノード(PE2/PE3)に再び送信する。一例では、L1がL1のプライマリルートとしてPE2を再決定し、PE2がマルチキャストトラフィック(S1、G1)をL1に送信する役割を果たす、と仮定する。
【0157】
L1によってPE2に送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=primary)であり、L1によってPE3に送信された情報は、(S1、G1、ノードID=L1、UMH選択情報=secondary)である。PE2は、UMH選択情報に基づいて、PE2がリーフノードL1のプライマリルートとして機能し、マルチキャストトラフィックをリーフノードL1に転送する役割を果たす、ことを決定し得る。PE3は、UMH選択情報に従って、PE3がリーフノードL1のセカンダリルートとして機能する、ことを決定する。別の例では、L1によってPE2に送信された情報は、(S1、G2、ノードID=L1、UMH選択情報=情報1<PE2、PE3、auto-select-by-root>)であり、L1によってPE3に送信された情報は、(S1、G2、ノードID=L1、UMH選択情報=情報1<PE2、PE3、auto-select-by-root>)である。PE2およびPE3は、ステップ320の方法のいずれか1つに基づいて、PE2およびPE3がリーフノードL1のプライマリルートおよびセカンダリルートとして機能する、ことを決定し得る。PE2がL1のプライマリルートとして機能し、PE2がマルチキャストトラフィック(S1、G1)をL1に送信する役割を果たす、と仮定する。別の可能な実装形態では、PE2およびPE3それぞれは、PE1が障害を起こしている、と決定した後で、PE2およびPE3は、マルチキャストトラフィック(S1、G1)をL1に送信する役割を果たすルートノードを、そられ自身によって決定する。例えば、PE2およびPE3は、hash21の値がhash31の値より大きいことに基づいて、PE2がL1のプライマリルートとして機能し、PE2がマルチキャストトラフィック(S1、G1)をL1に送信する役割を果たす、ことを決定する。本出願の実施形態では、PE1の検出された障害情報に基づいて、PE2/PE3によって取得された切替え結果は、L1がPE1の障害を検出した後で、L1によってPE2/PE3に送信された更新情報によって取得されたものと同じであり、最初に発生するこれらのいずれかは、切替えをトリガし得る。このようにして、性能は改善され得、ノード障害によるマルチキャストトラフィック中断の時間は、短縮され得る。PE1が障害を起こしている、またはPE1とL1との間のリンクが障害を起こしている場合、PE2は、L1のプライマリルート、およびL2のプライマリルートの両方として機能する。PE2は、マルチキャストトラフィック(S1、G1)をL1およびL2に別々に送信する。BIERトンネルを例にとると、ルートノードPE2は、マルチキャストトラフィック(S1、G1)のためのBIERヘッダをカプセル化し得、BIERヘッダは、bit stringフィールドを含み得、bit string内のリーフノードL1、L2に対応するbitの値は、両方とも1である。
【0158】
PE3は、L3のプライマリルートとして引き続き機能し、マルチキャストトラフィック(S1、G1)をL3に転送する役割を果たす。すなわち、1つのルートノードが障害を起こしている場合、トラフィックは引き続き負荷共有される。
【0159】
前述の技術的解決策では、ルートノードの各々は、単一のデバイスのサービス量を低減するために、サービスが適切に動作するとき、負荷共有を実施し得、デバイスが障害を起こしているとき、高速保護を実施し得、リーフノードとルートノードとの間のリンクが障害を起こしているときにも、効果的な保護を実施し得る。
【0160】
前述のプロセスの順序番号が本出願の実施形態における実行順序を意味しないことを理解されたい。プロセスの実行順序は、プロセスの機能および内部ロジックに基づいて決定されるべきであり、この出願の実施形態の実装プロセスに対するいかなる制限も構成するべきではない。
【0161】
以上は、図1図3Aおよび図3Bを参照して、本出願の実施形態で提供される負荷共有方法について詳細に記載している。以下は、図4図9を参照して、本出願のデバイスの実施形態を詳細に記載する。方法の実施形態の説明は、装置の実施形態の説明に対応することを理解されたい。したがって、詳細に記載されていない部分については、前述の方法の実施形態における説明を参照されたい。
【0162】
図4は、本出願の一実施形態による、第1のルート・ノード・デバイス400の構造の概略図である。図4に示される第1のルート・ノード・デバイス400は、前述の実施形態の方法における第1のルート・ノード・デバイスによって実施される対応するステップを実施し得る。図4に示されるように、第1のルート・ノード・デバイス400は、受信モジュール410と、決定モジュール420と、を含む。
【0163】
受信モジュール410は、リーフ子ノードデバイスによって送信されたメッセージを受信するように構成され、メッセージは、第1の識別子および構成情報を含み、第1の識別子は、リーフ子ノードデバイスを示し、構成情報は、ルート・ノード・デバイス・グループから、リーフ子ノードデバイスによって要求されるリーフ子ノードデバイスへの負荷共有の構成方法を示し、ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスを含む。
【0164】
決定モジュール420は、第1の識別子および構成情報に基づいて、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果を決定するように構成される。
【0165】
決定モジュール420は、構成結果が第1の結果であることに応答して、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを決定するように更に構成され、プライマリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダであることを示し、または、
【0166】
決定モジュール420は、構成結果が第2の結果であることに応答して、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを決定するように更に構成され、セカンダリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダであることを示す。
【0167】
任意選択で、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示す。
【0168】
任意選択で、構成情報は、第2の指示情報を含み、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示す。
【0169】
任意選択で、構成情報は、第3の指示情報を含み、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す。
【0170】
任意選択で、候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、決定モジュール420は、構成結果を取得するために、第1の識別子および構成情報に対してハッシュ計算を実施するように更に構成される。
【0171】
任意選択で、メッセージは、マルチキャスト・ソース・グループ(S、G)を更に含み、候補ルート・ノード・デバイスは、第1のルート・ノード・デバイスを含み、決定モジュール420は、構成結果を取得するために、マルチキャスト・ソース・グループ(S、G)、第1の識別子、および構成情報に対してハッシュ計算を実施するように更に構成される。
【0172】
任意選択で、受信モジュール410は、マルチキャストトラフィックを受信するように構成され、第1のルート・ノード・デバイスは、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることに応答して、マルチキャストトラフィックをリーフ・ノード・デバイスに送信するように構成される送信モジュール430を更に含む。
【0173】
図5は、本出願の一実施形態による、リーフ・ノード・デバイス500の構造の概略図である。図5に示されるリーフ・ノード・デバイス500は、前述の実施形態の方法におけるリーフ・ノード・デバイスによって実施される対応するステップを実施し得る。図5に示されるように、リーフ・ノード・デバイス500は、生成モジュール510と、送信モジュール520と、を含む。
【0174】
生成モジュール510は、メッセージを生成するように構成され、メッセージは、第1の識別子および構成情報を含み、第1の識別子は、リーフ・ノード・デバイスを示し、構成情報は、ルート・ノード・デバイス・グループからリーフ・ノード・デバイスへの負荷共有の、リーフ・ノード・デバイスによって要求された、構成モードを示す。
【0175】
送信モジュール520は、メッセージを第1のルート・ノード・デバイスに送信するように構成され、ルート・ノード・デバイス・グループは、第1のルート・ノード・デバイスを含む。
【0176】
任意選択で、構成情報は、第1の指示情報を含み、第1の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのプライマリルートであることを示し、プライマリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されたフォワーダであることを示す。
【0177】
任意選択で、構成情報は、第2の指示情報を含み、第2の指示情報は、第1のルート・ノード・デバイスがリーフ・ノード・デバイスのセカンダリルートであることを示し、セカンダリルートは、第1のルート・ノード・デバイスがマルチキャストトラフィックをリーフ・ノード・デバイスに転送する指定されていないフォワーダであることを示す。
【0178】
任意選択で、構成情報は、第3の指示情報を含み、第3の指示情報は、リーフ・ノード・デバイスのプライマリルートとして機能する候補ルート・ノード・デバイスに関する情報を示す。
【0179】
任意選択で、第1のルート・ノード・デバイスは、リーフ・ノード・デバイスのプライマリルートであり、リーフ・ノード・デバイス500は、第1のルート・ノード・デバイスによって送信されたマルチキャストトラフィックを受信するように構成される受信モジュール530を更に含む。
【0180】
図6は、本出願の一実施形態による、第1のルート・ノード・デバイス2000のハードウェア構造の概略図である。図6に示されるように、第1のルート・ノード・デバイス2000は、前述の実施形態の方法における第1のルート・ノード・デバイスによって実施される対応するステップを実施し得る。
【0181】
図6に示されるように、第1のルート・ノード・デバイス2000は、プロセッサ2001と、メモリ2002と、インターフェース2003と、バス2004と、を含む。インターフェース2003は、無線または有線方式で実装されてもよく、具体的にはネットワークアダプタであってもよい。プロセッサ2001、メモリ2002、およびインターフェース2003は、バス2004を通して接続される。
【0182】
インターフェース2003は、具体的には、送信機と、受信機と、を含み得、第1のネットワークデバイスに、上記の受信および送信を実施させ得るように構成される。例えば、インターフェース2003は、リーフ・ノード・デバイスによって送信されたメッセージを受信する際に、第1のルート・ノード・デバイスをサポートするように構成される。
【0183】
プロセッサ2001は、前述の実施形態において、第1のルート・ノード・デバイスによって実施される処理を実施するように構成される。例えば、第1の識別子および構成情報に基づいて、第1のルート・ノード・デバイスからリーフ・ノード・デバイスへの負荷共有の構成結果を決定するように構成され、および/または本明細書に記載された技術の別のプロセスで使用される。メモリ2002は、オペレーティングシステム20021と、アプリケーションプログラム20022と、を含み、プログラム、コード、または命令を記憶するように構成される。プログラム、コード、または命令を実行すると、プロセッサまたはハードウェアデバイスは、方法の実施形態における第1のルート・ノード・デバイスの処理プロセスを完了し得る。任意選択で、メモリ2002は、読み出し専用メモリ(read-only memory、ROM)と、ランダム・アクセス・メモリ(random access memory、RAM)と、を含んでもよい。ROMは、基本入力/出力システム(basic input/output system、BIOS)または組込みシステムを含み、RAMは、アプリケーションプログラムと、オペレーティングシステムと、を含む。第1のルート・ノード・デバイス2000が実行される必要があるとき、ROMに組み込まれたBIOS、または組込みシステムのbootloaderは、システムをブートして起動するために使用され、第1のルート・ノード・デバイス2000をブートして、通常の動作状態に入る。通常の動作状態に入った後で、第1のルート・ノード・デバイス2000は、RAM内のアプリケーションプログラムおよびオペレーティングシステムを実行して、方法の実施形態における第1のルート・ノード・デバイス2000の処理プロセスを完了する。
【0184】
図6は、第1のルート・ノード・デバイス2000の簡略化された設計のみを示していることが理解されよう。実際の適用では、第1のルート・ノード・デバイスは、いくつものインターフェース、プロセッサ、またはメモリを含んでもよい。
【0185】
図7は、本出願の一実施形態による、別の第1のルート・ノード・デバイス2100のハードウェア構造の概略図である。図7に示される第1のルート・ノード・デバイス2100は、前述の実施形態の方法における第1のルート・ノード・デバイスによって実施される対応するステップを実施し得る。
【0186】
図7に示されるように、第1のルート・ノード・デバイス2100は、主制御ボード2110と、インターフェースボード2130と、スイッチングボード2120と、インターフェースボード2140と、を含む。主制御ボード2110、インターフェースボード2130、インターフェースボード2140、およびスイッチングボード2120は、インターワーキングのためにシステムバスを通してプラットフォームバックボードに接続される。主制御ボード2110は、システム管理、デバイスメンテナンス、プロトコル処理などの機能を完了するように構成される。スイッチングボード2120は、インターフェースボード間でデータを交換するように構成される(インターフェースボードは回線カードまたはサービスボードとも称される)。インターフェースボード2130および2140は、様々なサービスインターフェース(例えば、POSインターフェース、GEインターフェース、およびATMインターフェース)を提供し、データパケットを転送するように構成される。
【0187】
インターフェースボード2130は、中央処理装置2131と、転送エントリメモリ2134と、物理インターフェースカード2133と、ネットワークプロセッサ2132と、を含み得る。中央処理装置2131は、インターフェースボードを制御し、管理し、主制御ボード上の中央処理装置と通信するように構成される。転送エントリメモリ2134は、エントリを記憶するように構成される。物理インターフェースカード2133は、トラフィックを受信し、送信するように構成される。
【0188】
インターフェースボード2140上での作業が本出願の本実施形態におけるインターフェースボード2130上での作業と一致することを理解されたい。簡潔にするために、詳細は再度説明されない。
【0189】
本実施形態における第1のルート・ノード・デバイス2100は、方法の実施形態における機能および/または様々な実施ステップに対応し得ることを理解されたい。詳細は、ここでは再度記載されない。
【0190】
加えて、1つまたは複数の主制御ボードが存在し得ることに留意されたい。複数の主制御ボードが存在するとき、主制御ボードは、アクティブ主制御ボードと、スタンバイ主制御ボードと、を含み得る。1つまたは複数のインターフェースボードが存在してもよく、強力なデータ処理能力を有する第1のルート・ノード・デバイスは、多くのインターフェースボードを提供する。インターフェースボード上には1つまたは複数の物理インターフェースカードが存在してもよい。スイッチングボードはなくてもよく、1つまたは複数のスイッチングボードが存在してもよい。複数のスイッチングボードが存在するとき、負荷分散および冗長バックアップが共に実施されてもよい。集中転送アーキテクチャでは、第1のルート・ノード・デバイスは、スイッチングボードを必要としない場合があり、インターフェースボードが、システム全体のサービスデータ処理機能の役割を果たす。分散転送アーキテクチャでは、第1のルート・ノード・デバイスは、少なくとも1つのスイッチングボードを有し得、大容量データ交換および処理能力を提供するために、複数のインターフェースボード間のデータ交換は、スイッチングボードを介して実施される。したがって、分散アーキテクチャにおける第1のルート・ノード・デバイスのデータアクセスおよび処理能力は、集中アーキテクチャにおけるデバイスのデータアクセスおよび処理能力より優れている。使用される特定のアーキテクチャは、特定のネットワーキング展開シナリオに依存する。これは、ここでは限定されない。
【0191】
図8は、本出願の一実施形態によるリーフ・ノード・デバイス2200のハードウェア構造の概略図である。図8に示されるリーフ・ノード・デバイス2200は、前述の実施形態の方法におけるリーフ・ノード・デバイスによって実施される対応するステップを実施し得る。
【0192】
図8に示されるように、リーフ・ノード・デバイス2200は、プロセッサ2201と、メモリ2202と、インターフェース2203と、バス2204と、を含む。インターフェース2203は、無線または有線方式で実装されてもよく、具体的にはネットワークアダプタであってもよい。プロセッサ2201、メモリ2202、およびインターフェース2203は、バス2204を通して接続される。
【0193】
インターフェース2203は、具体的には、メッセージを第1のルート・ノード・デバイスに送信し、第1のルート・ノード・デバイスによって送信されたマルチキャストトラフィックを受信する、ように構成された送信機および受信機を含み得る。プロセッサ2201は、前述の実施形態においてリーフ・ノード・デバイスによって実施される処理を実施するように構成される。例えば、プロセッサ2201は、メッセージを生成するように構成され、および/または本明細書で記載される技術の別のプロセスを実施するように構成される。メモリ2202は、オペレーティングシステム22021と、アプリケーション22022と、を含み、プログラム、コード、または命令を記憶するように構成される。プログラム、コード、または命令を実行すると、プロセッサまたはハードウェアデバイスは、方法の実施形態におけるリーフ・ノード・デバイスの処理プロセスを完了し得る。任意選択で、メモリ2202は、読み出し専用メモリ(read-only memory、ROM)と、ランダム・アクセス・メモリ(random access memory、RAM)と、を含んでもよい。ROMは、基本入力/出力システム(basic input/output system、BIOS)または組込みシステムを含み、RAMは、アプリケーションプログラムと、オペレーティングシステムと、を含む。リーフ・ノード・デバイス2200が実行される必要があるとき、ROMに組み込まれたBIOS、または組込みシステムのbootloaderは、システムをブートして起動するために使用され、リーフ・ノード・デバイス2200をブートして、通常の動作状態に入る。通常の動作状態に入った後で、リーフ・ノード・デバイス2200は、RAM内のアプリケーションプログラムおよびオペレーティングシステムを実行して、方法の実施形態におけるリーフ・ノード・デバイス2200の処理プロセスを完了する。
【0194】
図8は、リーフ・ノード・デバイス2200の簡略化された設計のみを示すことが理解されよう。実際の用途では、リーフ・ノード・デバイスは、任意の数のインターフェース、プロセッサ、またはメモリを含み得る。
【0195】
図9は、本出願の一実施形態による、別のリーフ・ノード・デバイス2300のハードウェア構造の概略図である。図9に示されるリーフ・ノード・デバイス2300は、前述の実施形態の方法におけるリーフ・ノード・デバイスによって実施される対応するステップを実施し得る。
【0196】
図9に示されるように、リーフ・ノード・デバイス2300は、主制御ボード2310と、インターフェースボード2330と、スイッチングボード2320と、インターフェースボード2340と、を含む。主制御ボード2310、インターフェースボード2330および2340、ならびにスイッチングボード2320は、インターワーキングのためにシステムバスを通してシステムバックボードに接続される。主制御ボード2310は、システム管理、デバイスメンテナンス、プロトコル処理などの機能を完了するように構成される。スイッチングボード2320は、インターフェースボード(インターフェースボードは、ラインカードまたはサービスボードとも呼ばれる)間でデータを交換するように構成される。インターフェースボード2330および2340は、様々なサービスインターフェース(例えば、POSインターフェース、GEインターフェース、およびATMインターフェース)を提供し、データパケットを転送するように構成される。
【0197】
インターフェースボード2330は、中央処理装置2331と、転送エントリメモリ2334と、物理インターフェースカード2333と、ネットワークプロセッサ2332と、を含み得る。中央処理装置2331は、インターフェースボードを制御し、管理し、主制御ボード上の中央処理装置と通信するように構成される。転送エントリメモリ2334は、転送エントリを記憶するように構成される。物理インターフェースカード2133は、トラフィックを受信し、送信するように構成される。
【0198】
インターフェースボード2340上の動作は、本出願の本実施形態におけるインターフェースボード2330上の動作と一致することを理解されたい。簡潔にするため、詳細は記載されない。本実施形態におけるリーフ・ノード・デバイス2300は、方法の実施形態における機能および/または様々な実施ステップに対応し得ることを理解されたい。詳細は、ここでは再度記載されない。
【0199】
加えて、1つまたは複数の主制御ボードが存在し得ることに留意されたい。複数の主制御ボードが存在するとき、主制御ボードは、アクティブ主制御ボードと、スタンバイ主制御ボードと、を含み得る。1つまたは複数のインターフェースボードが存在してもよく、強力なデータ処理能力を有するリーフ・ノード・デバイスは、多くのインターフェースボードを提供する。インターフェースボード上には1つまたは複数の物理インターフェースカードが存在してもよい。スイッチングボードはなくてもよく、1つまたは複数のスイッチングボードが存在してもよい。複数のスイッチングボードが存在するとき、負荷分散および冗長バックアップが共に実施されてもよい。集中転送アーキテクチャでは、リーフ・ノード・デバイスは、スイッチングボードを必要としない場合があり、インターフェースボードが、システム全体のサービスデータ処理機能の役割を果たす。分散転送アーキテクチャでは、リーフ・ノード・デバイスは、少なくとも1つのスイッチングボードを有し得、大容量データ交換および処理能力を提供するために、複数のインターフェースボード間のデータ交換は、スイッチングボードを介して実施される。したがって、分散アーキテクチャにおけるリーフ・ノード・デバイスのデータアクセスおよび処理能力は、集中アーキテクチャにおけるデバイスのデータアクセスおよび処理能力より優れている。使用される特定のアーキテクチャは、特定のネットワーキング展開シナリオに依存する。これは、ここでは限定されない。
【0200】
本出願の実施形態は、コンピュータ可読媒体を更に提供する。コンピュータ可読媒体は、プログラムコードを記憶する。コンピュータ・プログラム・コードがコンピュータ上で実行可能であるとき、コンピュータは、第1のルート・ノード・デバイスによって実施される方法を実施することを可能にされる。コンピュータ可読記憶媒体は、読み出し専用メモリ(read-only memory、ROM)、プログラマブルROM(programmable ROM、PROM)、消去可能PROM(erasable PROM、EPROM)、Flashメモリ、電気EPROM(electrically EPROM、EEPROM)、およびハードドライブ(hard drive)のうちの1つまたは複数を含むが、これらに限定されない。
【0201】
本出願の実施形態は、コンピュータ可読媒体を更に提供する。コンピュータ可読媒体は、プログラムコードを記憶する。コンピュータ・プログラム・コードがコンピュータ上で実行可能であるとき、コンピュータは、リーフ・ノード・デバイスによって実施される方法を実施することを可能にされる。コンピュータ可読記憶媒体は、読み出し専用メモリ(read-only memory、ROM)、プログラマブルROM(programmable ROM、PROM)、消去可能PROM(erasable PROM、EPROM)、Flashメモリ、電気EPROM(electrically EPROM、EEPROM)、およびハードドライブ(hard drive)のうちの1つまたは複数を含むが、これらに限定されない。
【0202】
本出願の実施形態は、第1のルート・ノード・デバイスに適用されるチップシステムを更に提供する。チップシステムは、少なくとも1つのプロセッサと、少なくとも1つのメモリと、インターフェース回路と、を含む。インターフェース回路は、チップシステムと外部との間の情報交換の役割を果たす。少なくとも1つのメモリ、インターフェース回路、および少なくとも1つのプロセッサは、ラインを通して相互接続される。少なくとも1つのメモリは、命令を記憶し、命令は、前述の態様の方法における第1のルート・ノード・デバイスの動作を実施するために、少なくとも1つのプロセッサによって実行される。
【0203】
特定の実装形態プロセスでは、チップは、中央処理装置(central processing unit、CPU)、マイクロ・コントローラ・ユニット(micro controller unit、MCU)、マイクロ処理ユニット(micro processing unit、MPU)、デジタル信号処理(digital signal processing、DSP)、システム・オン・チップ(system on chip、SoC)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array、FPGA)、またはプログラマブル・ロジック・デバイス(programmable logic device、PLD)の形態で実装されてもよい。
【0204】
本出願の実施形態は、リーフ・ノード・デバイスに適用されるチップシステムを更に提供する。チップシステムは、少なくとも1つのプロセッサと、少なくとも1つのメモリと、インターフェース回路と、を含む。インターフェース回路は、チップシステムと外部との間の情報交換の役割を果たす。少なくとも1つのメモリ、インターフェース回路、および少なくとも1つのプロセッサは、ラインを通して相互接続される。少なくとも1つのメモリは、命令を記憶し、命令は、前述の態様の方法におけるリーフ・ノード・デバイスの動作を実施するために、少なくとも1つのプロセッサによって実行される。
【0205】
特定の実装形態プロセスでは、チップは、中央処理装置(central processing unit、CPU)、マイクロ・コントローラ・ユニット(micro controller unit、MCU)、マイクロ処理ユニット(micro processing unit、MPU)、デジタル信号処理(digital signal processing、DSP)、システム・オン・チップ(system on chip、SoC)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array、FPGA)、またはプログラマブル・ロジック・デバイス(programmable logic device、PLD)の形態で実装されてもよい。
【0206】
本出願の実施形態は、第1のルート・ノード・デバイスに適用されるコンピュータプログラム製品を更に提供する。コンピュータプログラム製品は、一連の命令を含み、命令が実行されると、前述の態様の方法における第1のルート・ノード・デバイスの動作が実施される。
【0207】
本出願の実施形態は、リーフ・ノード・デバイスに適用されるコンピュータプログラム製品を更に提供する。コンピュータプログラム製品は、一連の命令を含み、命令が実行されると、前述の態様の方法におけるリーフ・ノード・デバイスの動作が実施される。
【0208】
当業者であれば、本明細書で開示した実施形態において記載した例を参照して、電子的ハードウェア、またはコンピュータソフトウェアと電子的ハードウェアとの組合せによって、ユニットおよびアルゴリズムステップが実施され得ることを承知しているはずである。機能がハードウェアまたはソフトウェアのどちらによって実施されるかは、技術的解決策の特定の用途および設計制約に依存する。当業者は、特定の用途ごとに記載の機能を実装するために様々な方法を使用し得るが、その実装形態は、本出願の範囲を超えるとみなされるべきではない。
【0209】
簡便で、簡潔な説明を目的として、前述のシステム、装置およびユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照されたく、詳細は、本明細書では再度記載されないことを、当業者によって明確に理解されよう。
【0210】
本出願で提供したいくつかの実施形態では、開示したシステム、装置、および方法が、他のやり方で実施され得ることを理解されたい。例えば、記載した装置の実施形態は、例に過ぎない。例えば、ユニットへの分割は、論理的な機能の分割に過ぎず、実際の実装形態では他の分割であってもよい。例えば、複数のユニットまたは構成要素は、別のシステムに組み合わされる、もしくは統合されてもよく、または一部の特徴が、無視される、もしくは実施されなくてもよい。加えて、表示され、または議論された相互結合または直接結合または通信接続は、いくつかのインターフェースを通して実装されてもよい。装置間またはユニット間の間接結合または通信接続は、電子的形態、機械的形態、または他の形態で実装されてもよい。
【0211】
別々の部分として記載されているユニットは、物理的に別々であってもなくてよく、ユニットとして表示されている部分は、物理的なユニットであってもなくてよく、すなわち、1箇所に配置されてよく、または複数のネットワークユニットに分散されてもよい。ユニットの一部または全部が、実施形態の解決策の目的を達成するために実際の要件に基づいて選択されてもよい。
【0212】
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてよく、またはユニットの各々は、物理的に単独で存在してよく、または2つ以上のユニットが、1つのユニットに統合されてもよい。
【0213】
機能がソフトウェア機能ユニットの形態で実施され、独立した製品として販売または使用されるとき、機能は、コンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づいて、本出願の技術的解決策は本質的に、または従来の技術に寄与する部分は、あるいは技術的解決策の全部または一部は、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態に記載される方法のステップの全部または一部を実施するように、(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る)コンピュータデバイスに命令するためのいくつかの命令を含む。前述の記憶媒体は、プログラムコードを記憶し得る任意の媒体、例えば、USBフラッシュドライブ、リムーバブル・ハード・ディスク、読み出し専用メモリ(read-only memory、ROM)、ランダム・アクセス・メモリ(random access memory、RAM)、磁気ディスク、または光ディスクを含む。
【0214】
前述の説明は、本出願の特定の実装形態に過ぎず、本出願の保護範囲は、これに限定されない。本出願において開示される技術的範囲内で当業者によって容易に想到されるいかなる変形または置換も、本出願の保護範囲内に入るものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【符号の説明】
【0215】
110 マルチキャストソース
120 スイッチ
400 第1のルート・ノード・デバイス
410 受信モジュール
420 決定モジュール
430 送信モジュール
500 リーフ・ノード・デバイス
510 生成モジュール
520 送信モジュール
530 受信モジュール
2000 第1のルート・ノード・デバイス
2001 プロセッサ
2002 メモリ
2003 インターフェース
2004 バス
2100 第1のルート・ノード・デバイス
2110 主制御ボード
2120 スイッチングボード
2130 インターフェースボード
2131 中央処理装置
2132 ネットワークプロセッサ
2133 物理インターフェースカード
2134 転送エントリメモリ
2140 インターフェースボード
2200 リーフ・ノード・デバイス
2201 プロセッサ
2202 メモリ
2203 インターフェース
2204 バス
2300 リーフ・ノード・デバイス
2310 主制御ボード
2320 スイッチングボード
2330 インターフェースボード
2331 中央処理装置
2332 ネットワークプロセッサ
2333 物理インターフェースカード
2334 転送エントリメモリ
2340 インターフェースボード
20021 オペレーティングシステム
20022 アプリケーションプログラム
22021 オペレーティングシステム
22022 アプリケーションプログラム
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9