JP2013502840A - 親子リンクアグリゲーショングループを使用するサーバ側負荷均衡化 - Google Patents

親子リンクアグリゲーショングループを使用するサーバ側負荷均衡化 Download PDF

Info

Publication number
JP2013502840A
JP2013502840A JP2012525665A JP2012525665A JP2013502840A JP 2013502840 A JP2013502840 A JP 2013502840A JP 2012525665 A JP2012525665 A JP 2012525665A JP 2012525665 A JP2012525665 A JP 2012525665A JP 2013502840 A JP2013502840 A JP 2013502840A
Authority
JP
Japan
Prior art keywords
clag
address
packet
node
plag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012525665A
Other languages
English (en)
Inventor
コタルワル,ジヤヤント
ヘミゲ,ベニユゴパル
Original Assignee
アルカテル−ルーセント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2013502840A publication Critical patent/JP2013502840A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

様々な例示的な実施形態は、以下の1つまたは複数を含む方法および関連するネットワークノードに関する:ネットワークノードにおいて第1の子リンクアグリゲーショングループ(CLAG)を確立するステップであって、第1のCLAGが第1のダウンストリームノードへの少なくとも1つのリンクを含むステップ、ネットワークノードにおいて第2のCLAGを確立するステップであって、第2のCLAGが第2のダウンストリームノードへの少なくとも1つのリンクを含むステップ、ネットワークノードにおいて親リンクアグリゲーショングループ(PLAG)を確立するステップであって、PLAGが第1のCLAGおよび第2のCLAGを含むステップ、ネットワークノードにおいてパケットの宛先のアドレスを含むパケットを受信するステップ、パケットの宛先がPLAGと関連付けされることを決定するステップ、ならびに第1のCLAGおよび第2のCLAGの両方を介してパケットを送信するステップ。

Description

本明細書に開示される様々な例示的な実施形態は、一般に、通信ネットワーク中のパケットのルーティングおよびサーバ負荷の均衡化に関する。
IPテレビジョン(IPTV)など、多くのクライアント−サーバアプリケーションにおいて、特定のサービスを必要とするクライアントの数は、非常に多いことがある。いかなるコンピュータも処理能力は有限であるので、サービス品質が容認できないレベルに低下する前に、サーバは、限られた数のクライアントにサービスを提供することしかできない。最も自明な解決策、すなわち単により速いサーバ構成要素を提供することでは、極めて高価となり、アクティブなクライアントの数が増えるにつれて、技術的に不可能となる可能性がある。したがって、多くのクライアント−サーバアプリケーションでは、全てのクライアントの要求に対応するために、複数の冗長なサーバを設ける。この場合、クライアントの要求を満たす際に、どの単一のサーバも動きが全くとれなくなることがないことを保証するために、負荷均衡化の様々な形が使用される。
負荷均衡化の初歩的な形では、複数のサーバが設けられる場合があり、クライアントは単に、1つのサーバを選択して、要求を処理することができる。これは、ファイルミラーリングなどのアプリケーションに見られる場合があり、要求されるファイルを供給する複数のコンピュータのリストがユーザに提示され、そしてユーザは単にダウンロードするサーバを選ぶ。サーバの現在の状態または地理的な位置など、他の情報が提供される場合があるが、この情報を処理し、通知されたサーバの選択をおこなう責任はユーザにある。選択されたサーバがクライアントによって期待されたサービス品質を提供しない場合、異なるサーバが選択され得る。
サーバ負荷均衡化の別の形では、クライアントは、複数のサーバに複数の要求を送信し、到着する第1の応答を単に受け入れ、後に到着する応答をどれも廃棄する場合がある。やはりこれは、要求が複製され複数のアドレスに送信されなければならないので、クライアントの側により多くの作業を必要とする。マルチキャストプロトコルが複数の宛先に単一の要求を送るために使用される場合があるが、やはりこの方法は、クライアント、サーバおよびネットワークに負担をかける。サーバ(複数可)が、サーバのサービスする各クライアントを知り、クライアントによってホストされるマルチキャストグループに参加する必要があることになる。これは、実用的ではない。
負荷均衡化のより高度な形では、そのサーバからクライアントがサービスを受けることになる中央サーバが調停する場合がある。この方法によれば、クライアントが、中央サーバにクライアントの要求を送ることができ、次いで中央サーバが、クライアントにサービスを提供する適切なワーキングサーバを決定することになる。次いで、中央サーバは、割り当てられたワーキングサーバのアドレスを伴ってクライアントに応答すること、またはワーキングサーバに直接最初の要求を手渡すことのいずれかをおこなうことができる。したがって、この方法は、クライアントに不必要なセッション確立の実行を要求する可能性があり、クライアントを、サーバシステムの内部作業の少なくとも一部にさらす。この方法は、また、例えばサービス拒否攻撃などの攻撃に対し、サーバシステムをより脆弱なままにする追加の欠点を持つ恐れがある。
加えて、中央サーバは、任意の他のコンピューティングシステムと同じ制限を有することになり、中央サーバが、同様にあまりに多くの確立要求を受信するので、効率的に処理できない恐れがある。したがって、特にクライアントの量が多いアプリケーションでは、複数の中央サーバが必要とされる可能性があり、問題は再帰的となる。この場合、中央サーバが効率的に処理できるよりも多い要求を中央サーバは受信しないことを保証するため、負荷均衡化の別の形が実施されなければならない。
サービスを要求することにおいて、クライアントデバイスによって実行される方法を不必要に複雑化することなく、複数のサーバ間でサーバ負荷を均衡化させる方法が必要とされている。加えて、クライアントデバイスにはほとんど不可視の方式で、サーバ負荷を均衡化する方法の必要がある。
任意のネットワークシステムが機能停止する可能性のある別の点は、ネットワークノードを接続するリンクにある。参照により本明細書に組み込まれるIEEE802.1AXは、この可能性に立ち向かうリンクアグリゲーショングループ(LAG)を提供する。LAGは、同一の2つのノード間の複数のリンクからなる。パケットをLAGを介して送るとき、送信ノードは、単に、LAGを構成するリンクのうちの1つを選択し、選択されたリンクの1つを介してパケットを送信する。LAGは、その構成要素のリンクのうちの1つのMACアドレスなどの識別子を与えられる。この方式では、パケットは、LAGの両端の2つのデバイス以外の全てのデバイスにはほとんど不可視である方式で、複数のリンクのうちの1つを介してパケットの宛先に送信され得る。1つのリンクが機能停止した場合、それでもなおパケットは、LAG中の残りのリンクを介して送信され得る。
リンク機能停止に立ち向かうことおよび送信速度を増加することに有効である一方で、LAGは、多くの他の問題には有用でない。LAGの動作は非常に単純であり、高度にカスタマイズ可能なものではない。したがって、ネットワークの問題を解決し性能を向上させる、新規で独創的な方法を考案するときには、LAGは特に有用ではない。したがって、LAGの実施がより高度な機能性およびカスタマイズを可能にする、さらなる必要がある。
本発明の上記の目的および利点は、様々な例示的な実施形態によって達成され得る本発明の目的および利点を例示しており、実現され得る可能性のある利点を包括したり制限したりすることを意図していない。したがって、様々な例示的な実施形態のこれらおよび他の目的および利点は、本明細書の説明から明らかとなり、または、本明細書で具現化されるときもしくは当業者には明らかであり得る任意の変形形態に鑑みて変更されるときの両方で、様々な例示的な実施形態を実施することから学ぶことができる。したがって、本発明は、本明細書中の様々な実施形態において示され記載される新規の方法、配置、組合せ、および改善の中に存在する。
クライアントデバイスにはほとんど不可視の方式で複数の冗長サーバ間でサーバ負荷を均衡化する方法についての現在の必要に照らして、様々な例示的な実施形態の簡単な概要が提示される。いくつかの簡略化および省略が以下の概要でなされる場合があるが、概要は、様々な例示的な実施形態のいくつかの態様を強調して紹介することを意図しており、本発明の範囲を限定することを意図していない。当業者が発明概念を製作および使用することを可能にするために適切な、好ましい例示的な実施形態の詳細な説明は、後のセクションで続くことになる。
様々な例示的な実施形態は、以下の1つまたは複数を含む方法および関連するネットワークノードに関する:ネットワークノードにおいて第1の子リンクアグリゲーショングループ(CLAG)を確立するステップであって、第1のCLAGが第1のダウンストリームノードへの少なくとも1つのリンクを含むステップ、ネットワークノードにおいて第2のCLAGを確立するステップであって、第2のCLAGが第2のダウンストリームノードへの少なくとも1つのリンクを含むステップ、ネットワークノードにおいて親リンクアグリゲーショングループ(PLAG)を確立するステップであって、PLAGが第1のCLAGおよび第2のCLAGを含むステップ、ネットワークノードにおいてパケットの宛先のアドレスを含むパケットを受信するステップ、パケットの宛先がPLAGと関連付けされることを決定するステップ、ならびに第1のCLAGおよび第2のCLAGの両方を介してパケットを送信するステップ。
この方式において、様々な例示的な実施形態が、任意のパケットをサーバのグループのそれぞれにルーティングすること、およびどのサーバが受信したパケットを処理し、かつ/または応答するか決定することを可能にすることが明らかであろう。具体的には、PLAGに含まれるあらゆるCLAGを介してパケットを送ることによって、そのようなCLAGに接続された各サーバがパケットのコピーを受信することになる。したがって、様々な例示的な実施形態は、クライアントデバイスにはほとんど不可視の方式で、パケットを複数のサーバに送信することを可能にする。
様々な例示的な実施形態をより良く理解するために、添付図面への参照がなされる。
ユニキャストパケットまたはマルチキャストパケットを複数のサーバにルーティングするための例示的なネットワークの概略図である。 ユニキャストパケットまたはマルチキャストパケットを複数のサーバにルーティングするための例示的なルーティングノードの概略図である。 IPアドレス解決に関するデータを記憶するための例示的なデータ配置の概略図である。 子リンクアグリゲーショングループ構成を記憶するための例示的なデータ配置の概略図である。 親リンクアグリゲーショングループ構成を記憶するための例示的なデータ配置の概略図である。 複数のサーバ間で負荷均衡化をおこなうための例示的なネットワークの概略図である。 現在アクティブなサーバのインデックス付けされたリストを記憶するための例示的なデータ配置の概略図である。 ユニキャストパケットまたはマルチキャストパケットを複数のサーバにルーティングするための、例示的な方法の流れ図である。 複数のサーバ間で負荷均衡化をおこなうための例示的な方法の流れ図である。
ここで図面を参照すると、図面中では同様の番号は同様の構成要素またはステップを参照しており、様々な例示的な実施形態の幅広い態様が開示されている。様々な例では様々なネットワークアドレスを示すために文字を使用するが、これらの文字はプレースホルダとして働き、実際の動作では、適切な基準にしたがって形成される有効なネットワークアドレスがおそらく存在するであろうということは留意されるべきである。加えて、本明細書中では、様々な実施形態が特にIPパケットをルーティングするよう記載されているが、本開示は決してこのプロトコルに限定されるものではない。
図1は、ユニキャストパケットまたはマルチキャストパケットを複数のサーバにルーティングするための例示的なネットワーク100の概略図である。例示的なネットワーク100は、送信ノード110、通信ネットワーク120、ルーティングノード130、および複数の受信ノード140a、140b、140cを含むことができる。
送信ノード110は、受信ノード140a、140b、140cと通信するデバイスであってよい。例えば、送信ノード110は、クライアントデバイスとしての役割を果たし、ユーザに受信ノード140a、140b、140cによって提供され得るサービスへのアクセスを可能にする。より具体的には、様々な例示的な実施形態において、送信ノード110は、パーソナルコンピュータまたはラップトップコンピュータ、無線電子メールデバイス、セル電話、テレビジョンセットトップボックス、またはパケットを別のネットワークデバイスに送信可能な任意の他のデバイスである。送信ノード110は、「D」などのIPアドレスと関連付けされ得る。送信ノード110は、MACアドレスとも関連付けされ得る。
通信ネットワーク120は、送信ノード110とルータノード130の間にデータ通信を提供する任意のネットワークであり得る。通信ネットワーク120は、パケット交換または回線交換であり得る。さらに、通信ネットワーク120は、例えば、通信ネットワーク120と通信する様々なユーザデバイスに、電話およびインターネットサービスを提供することができる。
ルーティングノード130は、パケットの宛先アドレスにしたがって、パケットを受信し再送信するデバイスであり得る。より具体的には、様々な例示的な実施形態において、ルーティングノード130は、パケットルータ、ネットワークスイッチ、マルチレイヤスイッチ、サーバ、またはアドレスを読み取ってアドレスに関連付けされるポートを介してパケットを転送できる任意の他のデバイスである。ルーティングノード130は少なくとも1つのMACアドレス「T」と関連付けされ得る。ルーティングノード130は複数のMACアドレスと関連付けされる可能性があるが、簡単のために、ルーティングノード130と関連付けされるMACアドレスのうちの任意の適切なMACアドレスを参照するために、本明細書中ではTが使用されることになる。
受信ノードA−C 140a、140b、140cは、送信ノード110と通信するネットワークデバイスであり得る。受信ノードA−C 140a、140b、140cは、ユーザノード110にサービスを提供するサーバデバイス、例えば、IPテレビジョンまたはファイルアクセスなどであり得る。より具体的には、様々な例示的な実施形態において、受信ノードA−C 140a、140b、140cのそれぞれは、サーバ、パーソナルコンピュータまたはラップトップコンピュータ、無線電子メールデバイス、セル電話、テレビジョンセットトップボックス、またはパケットを別のネットワークデバイスから受信可能な任意の他のデバイスであり得る。
受信ノードA 140aは、IPアドレスAおよび複数のMACアドレス、UおよびVなどと関連付けされ得る。受信ノードB 140bは、IPアドレスBおよび複数のMACアドレス、W、X、およびYなどと関連付けされ得る。受信ノードC 140cは、IPアドレスCおよび複数のMACアドレス、Zなどと関連付けされ得る。受信ノードA−C 140a、140b、140cのそれぞれは、任意の数のネットワークインターフェイスを有することができ、したがって、例示的な受信ノードC 140cの場合のように、単一のMACアドレスを含む任意の数のMACアドレスを有することができることは明らかであろう。受信ノードA−C 140a、140b、140cは、ルーティングノード130に結合されない追加のネットワークインターフェイスを含むことができるが、本明細書に記載される例示の目的では、MACアドレスU、V、W、X、Y、およびZは、ルーティングノード130に接続されるネットワークインターフェイスとそれぞれ関連付けされる。
ネットワーク100の構成要素を記載してきたが、ネットワーク100の動作の簡単な概要が提供される。以下の説明は、ネットワーク100の動作の概要を提供するために意図され、したがって、いくつかの点において簡略化となっていることは明らかであろう。ネットワーク100の詳細な動作は、図2−図5および図8に関連して、以下でさらに詳細に記載されることになる。
様々な例示的な実施形態によれば、送信ノードは、通信ネットワーク120を介してパケットを送信することができる。パケットは、IPアドレスA(すなわち、受信ノードA 140aと関連付けされたIPアドレス)にアドレス指定され、フレーム150aの内側で、通信ネットワーク120の中の次のデバイスへ搬送され得る。次いで、ルーティングノード130が、MACアドレスTにアドレス指定されたフレーム150bの内側のパケットを受信することができる。どのポートを介してパケットが転送されるべきか決定する際に、ルーティングノード130は、パケットのIPアドレスを読み、パケットの構成を調べて、パケットを処理する方法を決定することができる。この例では、ルーティングノード130は、IPアドレスAにアドレス指定されたパケットを、受信ノード140a、140b、140cの3つ全てに送信するように構成されたことを決定することができる。次いで、ルーティングノード130は受信ノードA 140aにパケットを送信するために介するリンク、受信ノードB 140bにパケットを送信するために介するリンク、および受信ノードC 140cにパケットを送信するために介するリンクを選択することができる。最後に、ルーティングノード130は、MACアドレスUを有するインターフェイスにフレーム150cを、MACアドレスYを有するインターフェイスにフレーム150dを、MACアドレスZを有するインターフェイスにフレーム150eを送信することができる。
したがって、送信ノード110によってIPアドレスAに送られたパケットは、送信ノード110の側で特別な動作をすることなく、各受信ノード140a、140b、140cにおいて受信された。受信ノード140a、140b、140cが、たとえあったとしても、受信ノード140a、140b、140cのうちのどれがパケットに応答しなければならないか決定することは、今やない。どのノードがそのようなパケットに応答するべきか決定するための例示的な方法は、本明細書中で図6−図7および図9を参照して記載される。この処理は、特にIPに関係していない様々な実施形態に対しても、同様であり得る。これらの実施形態において、ルーティングノード130によって受信されるフレームのペイロードは、それが何であっても、受信ノード140a、140b、140cのそれぞれに送信され得る。
図2は、ユニキャストパケットまたはマルチキャストパケットを複数のサーバにルーティングするための例示的なルーティングノード200の概略図である。例示的なルーティングノード200は、ルーティングノード130に対応することができ、第1のインターフェイス210、アドレス解決モジュール220、アドレス解決ストレージ230、リンクアグリゲーションモジュール240、リンクアグリゲーション制御ストレージ250、および複数のインターフェイス260u−zを含むことができる。
インターフェイス210は、通信ネットワーク120を介してデータを送受信するよう構成された、ハードウェアおよび/または機械可読記憶媒体上に符号化された実行可能な命令を備えるインターフェイスであり得る。インターフェイス210は、通信ネットワーク120の内部で、別のネットワークデバイスに結合され得る。
アドレス解決モジュール220は、パケットの宛先アドレスにしたがってパケットをルーティングする方法を決定するよう構成された、ハードウェアおよび/または機械可読記憶媒体上の実行可能な命令を含むことができる。例えば、アドレス解決モジュール220は、インターフェイス210からパケットを受信し、パケットの宛先アドレスを読むことができる。次いで、アドレス解決モジュール220は、アドレス解決ストレージ230を調べて、宛先アドレスに関連付けされた、次のホップアドレスを決定することができる。アドレス解決モジュール220は、最後に、パケットをリンクアグリゲーションモジュール240に渡すことができ、したがってリンクアグリゲーションモジュール240は、決定された次のホップアドレスにしたがってパケットを転送することができる。
アドレス解決ストレージ230は、宛先アドレスとパケットをルーティングするために使用される識別子の間の関係を記憶することが可能な、任意の機械可読媒体であり得る。例えば、アドレス解決ストレージ230は、アドレス解決プロトコルにしたがって実装された表であり、したがってIPアドレスとMACアドレスの間の関係を提供することができる。アドレス解決ストレージ230の中に記憶されたデータの例示的な実施形態は、以下に図3を参照して、より詳細に記載される。
リンクアグリゲーションモジュール240は、パケットを適切なインターフェイス260u−zを介して送信するよう構成された、ハードウェアおよび/または機械可読記憶媒体上の実行可能な命令を含むことができる。リンクアグリゲーションモジュール240は、少なくとも1つの親リンクアグリゲーショングループ(PLAG)および構成要素の子リンクアグリゲーショングループ(CLAG)を実装することができる。
CLAGは、別のネットワークノードへの1つまたは複数のリンクを含むよう構成され得る。各CLAGは、CLAG識別子と関連付けされ得る。このCLAG識別子は一意の識別子であるか、または、CLAGのMACアドレスなど含まれるリンクの1つに関連付けされた識別子であり得る。動作において、パケットをCLAGを介して転送するとき、リンクアグリゲーションモジュール240は、CLAGに含まれるリンクの1つを選択し、選択されたリンクのみを介してパケットを送信することができる。このようにして、リンクの冗長性が確立され、CLAGの中の1つのリンクが機能停止する場合、残りのリンクが結び付けられたネットワークノードと通信するために使用され得る。
PLAGは、複数のCLAGを含むよう構成され得る。各CLAGは、異なるネットワークノードまたは同じネットワークノードに接続することができる。PLAGは、一意の識別子または含まれるCLAGのうちの1つのCLAG識別子と同じであり得るPLAG識別子と関連付けされ得る。動作において、PLAGを介してパケットを転送するとき、リンクアグリゲーションモジュール240は、各構成要素のCLAGを介してパケットを転送することができる。次いでパケットは、上に記載のように、構成要素のCLAGの通常の動作にしたがって転送され得る。したがって、PLAGを介して転送されるパケットは、各構成要素のCLAGから1つのリンクを介して送られることになる。各CLAGが異なるネットワークノードに接続するとき、各ネットワークノードはパケットの1つのコピーを受信することになり、次いで、パケットのコピーをそれに応じて処理することができる。
図2における例示的な実施形態によれば、ルーティングノード200は、1つのPLAGおよび3つのCLAGで構成される。第1のCLAGは、識別子としてMACアドレスUを有し、インターフェイス260u、260vを含む。第2のCLAGは、識別子としてMACアドレスWを有し、インターフェイス260w、260x、260yを含む。第3のCLAGは、識別子としてMACアドレスZを有し、インターフェイス260zを含む。PLAGは、識別子としてMACアドレスUを有し、CLAG U、CLAG W、およびCLAG Zを含む。
リンクアグリゲーション制御ストレージ250は、様々なリンクアグリゲーショングループの構成を記憶することが可能な、任意の機械可読媒体であり得る。リンクアグリゲーション制御ストレージ250は、例えば、ルーティングノード200上に構成される全てのPLAGおよびCLAGの定義を含有することができる。リンクアグリゲーション制御ストレージ250によって記憶されるデータの例示的な実施形態は、図4−図5を参照して以下でさらに詳細に記載される。
インターフェイス260u−zはそれぞれ、データを送受信するよう構成された、ハードウェアおよび/または機械可読記憶媒体上に符号化された実行可能な命令を備えるインターフェイスであり得る。各インターフェイス260u−zは、複数のネットワークノードの1つに結合され得る。例えば、インターフェイス260u、260vは受信ノードA 140aに結合され得、インターフェイス260w、260x、250yは受信ノードB 140bに結合され得、インターフェイス260zは受信ノードC 140cに結合され得る。
図3は、IPアドレス解決に関するデータを記憶するための例示的なデータ配置300の概略図である。データ配置300は、例えば、アドレス解決ストレージ230の中に記憶されたデータベースの中の表であり得る。別法として、データ配置300は、一連のリンクされたリスト、配列、または同様のデータ構造であってよい。したがって、データ配置300は、基礎をなすデータの抽象化であり、このデータの記憶に適した任意のデータ構造が使用され得ることが明らかである。
データ配置300は、IPアドレスフィールド310、対応するMACアドレスフィールド320、および有効期間(time to live:TTL)フィールド330を含むことができる。IPアドレスフィールド310は、特定のレコードが対応するIPアドレスを示すために使用され得る。MACアドレスフィールド320は、パケットを対応するIPアドレスにルーティングするために使用されるべきMACアドレスを示すことができる。TTLフィールド330は、いつ特定のレコードがデータ配置300から削除されるべきかを示すことができる。
例として、レコード340は、IPアドレスAを宛先とするパケットがMACアドレスUに関連付けされたインターフェイスを介して転送されるべきであること、およびこのマッピングがレコード340が削除され得る時点である21:12:00まで存続するべきであることを示す。同様に、レコード350は、IPアドレスBもMACアドレスUにマッピングすること、およびこのマッピングが09:01:25まで存続すべきであることを示す。レコード360は、IPアドレスCが同様にMACアドレスUにマッピングすること、およびこのマッピングが00:51:50まで存続するべきことを示す。データ配置300は、多数の追加レコード370を含有することができる。
図4は、CLAG構成を記憶するための例示的なデータ配置400の概略図である。データ配置400は、例えば、リンクアグリゲーション制御ストレージ250の中に記憶されたデータベースの中の表であり得る。別法として、データ配置400は、一連のリンクされたリスト、配列、または同様のデータ構造であってよい。したがって、データ配置400は、基礎をなすデータの抽象化であり、このデータの記憶に適した任意のデータ構造が使用され得ることが明らかであろう。
データ配置400は、CLAGアドレスフィールド410およびリンクアドレスフィールド420を含むことができる。CLAGアドレスフィールド410は、CLAGレコードが対応するCLAG識別子を示すことができる。リンクアドレスフィールド420は特定のCLAGアドレスに関連付けされたMACアドレスを示すことができる。
例として、CLAGレコード430は、MACアドレスUを識別子として有するCLAGが構成され、CLAGがMACアドレスUおよびVに関連付けされたインターフェイスを含むことを示す。同様に、CLAGレコード440は、MACアドレスWを識別子として有するCLAGが構成され、CLAGがMACアドレスW、X、およびYに関連付けされたインターフェイスを含むことを示す。さらに、CLAGレコード450は、MACアドレスZを識別子として有するCLAGが構成され、CLAGがMACアドレスZに関連付けされたインターフェイスを含むことを示す。データ配置400は、多数の追加CLAGレコード460を含有することができる。
図5は、PLAG構成を記憶するための例示的なデータ配置500の概略図である。データ配置500は、例えば、リンクアグリゲーション制御ストレージ250の中に記憶されたデータベースの中の表であり得る。別法として、データ配置500は、一連のリンクされたリスト、配列、または同様のデータ構造であってよい。したがって、データ配置500は、基礎をなすデータの抽象化であり、このデータの記憶に適した任意のデータ構造が使用され得ることが明らかであろう。
データ配置500は、PLAGアドレスフィールド510およびCLAGアドレスフィールド520を含むことができる。PLAGアドレスフィールド510は、PLAGレコードが対応するPLAG識別子を示すことができる。CLAGアドレスフィールド520は特定のPLAGアドレスに関連付けされたCLAG識別子を示すことができる。
例として、PLAGレコード530は、MACアドレスUを識別子として有するPLAGが構成され、PLAGがMACアドレスU、W、およびZによって識別されるCLAGを含むことを示す。データ配置500は、多数の追加PLAGレコード540を含有することができる。
図6は、複数のサーバ140a、140b、140cの間で負荷均衡化をおこなうための例示的なネットワーク600の概略図である。例示的なネットワーク600は、ルーティングノード130、受信ノードA−C 140A、140B、140C、および制御ノード610を含むことができる。
制御ノード610は、それに関して受信ノード140a、140b、140cがアクティブであり、受信ノード140a、140b、140cを最新に保つことが可能なネットワークデバイスであり得る。より具体的には、様々な例示的な実施形態において、制御ノード610は、サーバ、パーソナルコンピュータまたはラップトップコンピュータ、無線電子メールデバイス、セル電話、テレビジョンセットトップボックス、または各受信ノード140a、140b、140cと通信可能な任意の他のデバイスであり得る。制御ノード610はアクティブな受信ノード140a、140b、140cのリストを維持し、周期的にこのリストを受信ノード140a、140b、140cに通信することができる。別法として、受信ノード140a、140b、140cがアクティブまたは非アクティブになったときに、制御ノード610が受信ノード140a、140b、140cにメッセージを送るだけの場合があり、そこで、受信ノード140a、140b、140cは、メッセージに応じて、ローカルに記憶されたアクティブなサーバのリストを更新することができる。さらなる別法として、制御ノード610が全く存在しない場合があり、受信ノード140a、140b、140cが、お互いに周期的に通信することによってローカルのアクティブなサーバのリストを維持することができる。
受信ノード140a、140b、140cは、全て、現在アクティブな受信ノード140a、140b、140cのリストを使用するアルゴリズムを実装し、受信パケットを処理してそれに応じて応答するか否かを決定することができる。したがって、各受信ノード140a、140b、140cが、その現在アクティブなサーバのリストの中に、3つの受信ノード140a、140b、140cの全てに対する参照を含有すると仮定すると、受信ノードA 140aがフレーム150cを受信するとき、受信ノードA 140aは共通のアルゴリズムを使用して、受信ノードC 140cがパケットに応答するべきであると決定することができる。したがって、受信ノードA 140aはパケットを無視することができる。同様に、受信ノードB 140bがフレーム150dを受信すると、受信ノードB 140bは、受信ノードC 140cがパケットに応答するべきであると決定することができ、受信ノードC 140cは同様にパケットを無視することができる。受信ノードC 140cがフレーム150eを受信すると、受信ノードC 140cは、アルゴリズムに従って、受信ノードC 140cがパケットを処理し、それに応じて応答するべきであると決定することができる。したがって、受信ノードC 140cは、IPアドレスD(すなわち、送信ノード110のIPアドレス)にアドレス指定された応答パケットを送ることができ、応答パケットをMACアドレスTにアドレス指定されたフレーム620の中にカプセル化することができる。
図7は、現在アクティブなサーバのインデックス付けされたリストを記憶するための例示的なデータ配置700の概略図である。データ配置700は、例えば、受信ノード140a、140b、140cの1つの中に記憶されるデータベースの中の表であり得る。別法として、データ配置700は、一連のリンクされたリスト、配列、または同様のデータ構造であってよい。したがって、データ配置700は、基礎をなすデータの抽象化であり、このデータの記憶に適した任意のデータ構造が使用され得ることが明らかであろう。
データ配置700は、インデックスフィールド710およびサーバIDフィールド720を含むことができる。インデックスフィールド710は、単に、特定のレコードに対応する数を含むことができる。レコードは、所望のレコードのインデックスを指定することによって、アクセスされ得る。サーバIDフィールド720は、受信ノード140a、140b、140cの1つに対する識別子を含むことができる。識別子は、例えば、参照される受信ノード140a、140b、140cと関連付けされたIPアドレスであり得る。
例として、サーバレコード730は、数字0によってインデックス付けされ、IPアドレスA(すなわち、受信ノードA 140a)におけるノードを、アクティブなサーバとして識別することができる。同様に、サーバレコード740は、数字1によってインデックス付けされ、IPアドレスB(すなわち、受信ノードB 140b)におけるノードを、アクティブなサーバとして識別することができる。サーバレコード750は、数字2によってインデックス付けされ、IPアドレスC(すなわち、受信ノードC 140c)におけるノードを、アクティブなサーバとして識別することができる。データ配置700は、多数の追加レコード760を含有することができる。
図8はユニキャストパケットまたはマルチキャストパケットを複数のサーバにルーティングするための、例示的な方法800の流れ図である。方法800は、受信ノード140a、140b、140cのそれぞれにパケットを転送するために、ルーティングノード130の構成要素によって実行され得る。
方法800は、ステップ805において開始し、ルーティングノード130がパケットを受信するステップ810に進む。次いでルーティングノード130は、ステップ815およびステップ820のそれぞれにおいて、パケットの宛先IPアドレスを決定し、それを介してパケットを転送する適切なMACアドレスへと宛先IPアドレスを解決することができる。例えば、ルーティングノード130は、アドレス解決ストレージ230を調べて、宛先IPアドレスに関連付けされたMACアドレスを決定することができる。パケットを転送するため適切なMACアドレスを決定した後、ステップ825において、ルーティングノード130は、MACアドレスがPLAGに関連付けされているかどうか決定することができる。
MACアドレスがPLAGを識別する場合、方法800は、例えば、リンクアグリゲーション制御ストレージ250の中のPLAGアドレスに関連付けされたPLAGレコードにアクセスすることによって、ルーティングノード130がPLAGに関連付けされたCLAGのリストを取り出すことができる、ステップ830に進むことができる。次いでルーティングノード130は、ステップ835において、例えばリンクアグリゲーション制御ストレージ250から第1の構成要素のCLAGに関連付けされたCLAGレコードにアクセスすることによって、CLAGのリストの中の第1のCLAGに関連付けされたリンクのリストを取り出すことができる。次いでルーティングノード130は、ステップ840およびステップ845のそれぞれにおいて、CLAGについてのリンクのリストから1つのリンクを選択し、選択されたリンクにパケットを送信することができる。次いで方法800は、ルーティングノード140がCLAGアドレスのリストの最後に達したかどうかをルーティングノード140が決定することができる、ステップ850へ進むことができる。達していなかった場合、方法800は、ルーティングノード140がリスト中の次のCLAGについてステップ835−850を繰り返すことができる、ステップ835へと戻ることができる。リストの最後に達していた場合、方法800は、ステップ880において停止することができる。この手法において、受信パケットの1つのコピーが、各CLAGを介して送られ得る。
ステップ825においてMACアドレスがPLAGを識別しないことが決定された場合、方法800は、代わりにMACアドレスがCLAGに関連付けされているかどうかをルーティングノード130が決定することができるステップ855に移動することができる。この場合、ルーティングノード130は、それぞれステップ860、ステップ865、ステップ870において、CLAGに関連付けされたリンクのリストを取り出し、リストから1つのリンクを選択し、選択されたリンクにパケットを送信することができる。次いで方法800は、ステップ880において停止することができる。この手法において、ルーティングノード130は、PLAG機能に加えて標準的なリンクアグリゲーション機能を実装することができる。
ステップ855においてMACアドレスがCLAGに関連付けされていないとルーティングノード130が決定した場合、ルーティングノード130は、パケットが標準的な動作にしたがってルーティングされ得ると仮定することができる。方法800は、宛先IPアドレスに関連付けされたMACアドレスにルーティングノード130がパケットを送信することができるステップ875に進み、次いでステップ880において停止することができる。
図9は、複数のサーバ間で負荷均衡化をおこなうための例示的な方法900の流れ図である。方法900は、受信ノード140a、140b、140cのそれぞれの構成要素によって独立して実行され、受信パケットを処理し、それに応じて応答するかどうかを決定することができる。
方法900は、ステップ905において開始し、受信ノード140a、140b、140cが、受信ノード140a、140b、140cの全てに対して送られたパケットを受信することができる、ステップ910に進むことができる。次いでステップ915において、受信ノード140a、140b、140cは、複数のフィールドおよび他の情報をパケットから抽出することができる。抽出される情報は、例えば、ソースIPアドレスまたはサービス要求の種類を含むことができる。次いで方法900は、当業者に知られている任意の方法を使用して、受信ノード140a、140b、140cが抽出されたフィールドからハッシュ値を計算することができる、ステップ920に進むことができる。次いでステップ925において、受信ノード140a、140b、140cは、例えばローカルに記憶されたアクティブなサーバのリストを調べることにより、受信ノード140a、140b、140cの合計いくつが現在アクティブか決定することができる。
次いでステップ930において、受信ノード140a、140b、140cは、ハッシュ値およびサーバの総数を使用してインデックス値を計算することができる。例えば、受信ノード140a、140b、140cは、アクティブなサーバの総数を使用してハッシュ関数にモジュロ演算を実行することができる。この手法において、0と、アクティブなサーバの総数引く1との間の値(0と、アクティブなサーバの総数引く1とを含む)を有するインデックス値が得られることは明らかであろう。次いでステップ935において、受信ノード140a、140b、140cは、計算されたインデックスに関連付けされたアクティブなサーバのリスト中の項目にアクセスすることができる。
ステップ940において、受信ノード140a、140b、140cは、アクセスされた項目が自分自身を識別するかまたは他の受信ノード140a、140b、140cを識別するかどうかを決定することになる。アクセスされた項目が自分自身を識別すると受信ノード140a、140b、140cが決定する場合、方法900は、受信ノード140a、140b、140cが受信パケットを処理し、それに応じて応答することができるステップ945に進むことができる。例えば、受信パケットがIPTVシステムの中のチャンネル変更の要求であった場合、受信ノード140a、140b、140cは、送信ノード110に新しいチャンネルを送信することによって応答することができる。次いで方法900は、ステップ955において停止することができる。一方、ステップ940において、アクセスされた項目が異なる受信ノード140a、140b、140cを識別すると受信ノード140a、140b、140cが決定する場合、ステップ950において、受信ノード140a、140b、140cは単にパケットを無視することができ、方法900は、次いでステップ955において停止することができる。上記の手法において、受信ノード140a、140b、140cのうちのただ1つが、各受信パケットを処理し応答することになることは明らかであろう。
例示的なネットワーク100、600の動作についての例示的な構成要素および方法を記載してきたが、ここで、例示的なネットワーク100、600の動作の例が、図1−図9を参照して提供されることになる。
ルーティングノード130のアドレス解決ストレージ230は、データ配置300によって示され得る。ルーティングノード130のリンクアグリゲーション制御ストレージ250は、データ配置400、500によって示され得る。制御ノード610は、現在、受信ノード140a、140b、140cの状態を監視中であり、受信ノード140a、140b、140cのそれぞれに、全ての受信ノード140a、140b、140cが現在アクティブであると示すリストを送信することができる。したがって、各受信ノード140a、140b、140cは、データ配置700によって示されるようなアクティブなサーバのリストを、現在、含有することができる。
処理は、送信ノード110が、通信ネットワーク120を介して、宛先IPアドレスAを有するパケットをフレーム150a内部で送信することにともなって、開始することができる。ルーティングノード130は、フレーム150bの内部のパケットを受信することができる。次いで、ルーティングノード130のアドレス解決モジュール220は、パケットの宛先IPアドレスがAであると決定することができる。アドレス解決ストレージの中のレコード340にアクセスすることによって、アドレス解決モジュール220は、IPアドレスAがMACアドレスUに関連付けされることを決定することができる。次いで、パケットはリンクアグリゲーションモジュール240に渡され得、MACアドレスUがPLAGに関連付けされることをリンクアグリゲーションモジュール240が決定することができる。リンクアグリゲーション制御ストレージ250の中に含有されるPLAGレコード530にアクセスすることによって、PLAG UがCLAG U、CLAG W、およびCLAG Zを含有することを、リンクアグリゲーションモジュール240が決定することができる。
次いで、リンクアグリゲーションモジュール240は、CLAGレコード430にアクセスし、インターフェイスアドレスUおよびVがCLAG Uに含有されることを決定することができる。次いで、リンクアグリゲーションモジュール240は、インターフェイスアドレスUを選択し、フレーム150cの中のパケットを、インターフェイス260uを介して受信ノードA 140aに送信することができる。CLAG Wに移って、リンクアグリゲーションモジュールは、CLAGレコード440にアクセスし、得られたCLAG Wに関連付けされた3つのインターフェイスアドレスのリストからインターフェイスアドレスYを選択することができる。次いで、リンクアグリゲーションモジュール240は、フレーム150dの中のパケットをインターフェイス260yを介して受信ノードB 140bに送信することができる。最後に、リンクアグリゲーションモジュールは、レコード450にアクセスし、CLAG Zに関連付けされたインターフェイスアドレスのリストからインターフェイスアドレスZを選択し、フレーム150eの中のパケットをインターフェイス260zを介して受信ノードC 140cに送信することができる。
パケットを受信した後、各受信ノード140a、140b、140cは、最初にパケットからソースIPアドレスおよび要求の種類を抽出することによって、パケットに応答するかどうかを決定することができる。例えば、ソースIPアドレスがDであり得、要求の種類が特定のファイルに対する要求であり得る。この情報を使用して、各受信ノード140a、140b、140cは、抽出された値、例えば「0x4F31」などからハッシュ値を計算することができる。次いで、各受信ノード140a、140b、140cは、例えば、データ配置700の中のレコードの数を数えることによって、何個のサーバが現在アクティブかを決定することができる。この例では、アクティブなサーバの総数は3である。次いで、各受信サーバは、アクティブなサーバの総数3を使用してハッシュ値にモジュロ演算を実行することによって、計算されたインデックスである2を得ることができる。
次いで各受信ノードは、サーバレコード750、すなわち2のインデックスを有するサーバレコードを取り出すことができる。受信ノードA 140aおよび受信ノードB 140bの両方は、このサーバレコードが自分自身を識別しないと決定することができ、したがって単にパケットを廃棄することができる。一方、受信ノードC 140cは、このサーバレコードが自分自身を識別することを認識し、IPアドレスDにアドレス指定される応答パケットを作成することができる。次いで、受信ノードC 140cは、送信ノード100へ、フレーム220の中で応答パケットを送信することができる。
上記によれば、様々な例示的な実施形態が、クライアントにはほとんど不可視の方式で、複数のサーバ間でサーバ負荷を均衡化することを可能にする。具体的には、複数の子リンクアグリゲーショングループを含む親リンクアグリゲーショングループを実装することによって、任意のパケットが、各CLAGの最後において、複数のサーバへレイヤ2において転送され得る。さらに、全てのサーバにわたる選択アルゴリズムを実装することによって、サーバは、パケットを処理すべき1つのサーバを、迅速にかつ効率的に決定することができる。
本発明の様々な例示的な実施形態がハードウェアおよび/またはファームウェア中に実装することができることは、上記の説明から明らかであろう。さらに、様々な例示的な実施形態は、少なくとも1つのプロセッサによって読み取られて実行され、本明細書の中で詳細に記載された動作を実施することができる、機械可読記憶媒体上に記憶された命令として実装され得る。機械可読記憶媒体は、ネットワークノード(例えば、ルータまたはスイッチ)などの機械によって読取り可能な形式で情報を記憶するための任意の機構を含むことができる。したがって、機械可読記憶媒体は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および同様の記憶媒体を含むことができる。
様々な例示的な実施形態がその特定の例示的な態様を具体的に参照して詳細に記載されてきたが、本発明は他の実施形態で実行可能であること、および本発明の詳細は様々な自明な点に関して変更可能であることを理解されたい。当業者には容易に明らかであるように、本発明の精神および範囲の中にとどまりながら、変形形態および変更形態が実施される可能性がある。したがって、上記の開示、説明、および図は、例示のためのみのものであって、決して本発明を限定するものではなく、本発明は、特許請求の範囲によってのみ定義される。

Claims (10)

  1. ネットワークノードによって通信ネットワークの中でパケットをルーティングする方法であって、
    ネットワークノードにおいて第1の子リンクアグリゲーショングループ(CLAG)を確立するステップであって、第1のCLAGが第1のダウンストリームノードへの少なくとも1つのリンクを含むステップと、
    ネットワークノードにおいて第2のCLAGを確立するステップであって、第2のCLAGが第2のダウンストリームノードへの少なくとも1つのリンクを含むステップと、
    ネットワークノードにおいて親リンクアグリゲーショングループ(PLAG)を確立するステップであって、PLAGが第1のCLAGおよび第2のCLAGを含むステップと、
    ネットワークノードにおいてパケットの宛先のアドレスを含むパケットを受信するステップと、
    パケットの宛先がPLAGと関連付けされることを決定するステップと、
    第1のCLAGおよび第2のCLAGの両方を介してパケットを送信するステップとを含む、方法。
  2. パケットがユニキャストパケットである、請求項1に記載の方法。
  3. レイヤ2アドレスをPLAGと関連付けするステップと、
    第1のダウンストリームノードのアドレスをレイヤ2アドレスと関連付けするステップと、
    第2のダウンストリームノードのアドレスをレイヤ2アドレスと関連付けするステップと
    をさらに含み、
    パケットの宛先がPLAGと関連付けされることを決定するステップが、パケットの宛先のアドレスがレイヤ2アドレスと関連付けされることを決定するステップを含み、第1のダウンストリームノードのアドレスを関連付けするステップおよび第2のダウンストリームノードのアドレスをレイヤ2アドレスと関連付けするステップの両方が、アドレス解決プロトコル(ARP)表を変更するステップを含み、パケットの宛先のアドレスがレイヤ2アドレスと関連付けされることを決定するステップが、パケットの宛先のアドレスと関連付けされる、ARP表のエントリを読み取るステップを含む、請求項1に記載の方法。
  4. 第1のCLAGおよび第2のCLAGの両方を介してパケットを送信するステップが
    第1のCLAGの中に含まれる少なくとも1つのリンクから第1の選択リンクを選択するステップと、
    第2のCLAGの中に含まれる少なくとも1つのリンクから第2の選択リンクを選択するステップと、
    パケット、および第1の選択リンクと関連付けされたアドレスを含む第1のフレームを構築するステップと、
    パケット、および第2の選択リンクと関連付けされたアドレスを含む第2のフレームを構築するステップと、
    第1のフレームを、第1の選択リンクを介して第1のダウンストリームノードに転送するステップと、
    第2のフレームを、第2の選択リンクを介して第2のダウンストリームノードに転送するステップと
    を含む、請求項1に記載の方法。
  5. 第1のダウンストリームノードにおいて、
    PLAGを経由してフレームを受信する全てのダウンストリームノードのリストを受信するステップと、
    リストからダウンストリームノードの総数を決定するステップと、
    ネットワークノードから第1のフレームを受信するステップと、
    第1のフレームから1個の情報を導出するステップと、
    ダウンストリームノードの総数を使用して1個の情報に数学的演算を実施して、結果のインデックスを得るステップと、
    結果のインデックスが第1のダウンストリームノードに対応するかどうかを決定するステップと、
    結果のインデックスが第1のダウンストリームノードに対応するとき、第1のフレームに応答するステップと、
    結果のインデックスが第1のダウンストリームノードに対応しないとき、第1のフレームを廃棄するステップとをさらに含む、請求項1に記載の方法。
  6. 第1のダウンストリームノードにおいて、全てのダウンストリームノードのリストを、各ダウンストリームノードに関連付けされたノード識別子の昇順配列に配置するステップをさらに含み、
    結果のインデックスが第1のダウンストリームノードに対応するかどうかを決定するステップが、
    結果のインデックスと等しいインデックスを有する要素を配列から読み取るステップと、
    要素が第1のダウンストリームノードの識別情報を含むかどうかを決定するステップと
    を含む、請求項5に記載の方法。
  7. 数学的演算がモジュロ演算である、請求項5に記載の方法。
  8. フレームから1個の情報を導出するステップが、フレームの少なくとも1つのフィールドからハッシュ値を計算するステップを含み、フレームの少なくとも1つのフィールドが、ソースIPアドレスを含む、請求項5に記載の方法。
  9. 第1のダウンストリームノードおよび第2のダウンストリームノードに接続された、通信ネットワークの中のパケットをルーティングするためのネットワークノードであって、
    宛先アドレスを含むパケットを受信するインターフェイスと、
    第1のダウンストリームノードに接続された少なくとも1つのインターフェイス、および第2のダウンストリームノードに接続された少なくとも1つのインターフェイスを含む複数のインターフェイスと、
    第1の子リンクアグリゲーショングループ(CLAG)識別子、および第1のダウンストリームノードに接続される複数のインターフェイスのうちの少なくとも1つのインターフェイスの指示を含む第1のCLAGレコード、
    第2のCLAG識別子、および第2のダウンストリームノードに接続される複数のインターフェイスのうちの少なくとも1つのインターフェイスの指示を含む第2のCLAGレコード、ならびに
    親リンクアグリゲーショングループ(PLAG)識別子、第1のCLAG識別子、および第2のCLAG識別子を含むPLAGレコード
    を記憶するリンクアグリゲーション制御ストレージと、
    パケットの宛先アドレスがPLAG識別子と関連付けされることを決定するアドレス解決モジュールと、
    リンクアグリゲーション制御ストレージからPLAGレコードを取り出すことによって、PLAG識別子が第1のCLAG識別子および第2のCLAG識別子と関連付けされることを決定し、
    第1のCLAGレコードのインターフェイスの少なくとも1つの指示から第1の選択インターフェイスを選択し、
    第2のCLAGレコードのインターフェイスの少なくとも1つの指示から第2の選択インターフェイスを選択し、
    第1の選択インターフェイスおよび第2の選択インターフェイスを介してパケットを転送する
    リンクアグリゲーションモジュールと
    を備える、ネットワークノード。
  10. 第1のダウンストリームノードのアドレスによって識別され、PLAG識別子を含む第1のアドレス解決レコードと、
    第2のダウンストリームノードのアドレスによって識別され、PLAG識別子を含む第2のアドレス解決レコードと
    を記憶するアドレス解決ストレージをさらに備え、
    パケットの宛先アドレスがPLAG識別子と関連付けされることを決定する際に、アドレス解決モジュールが、パケットの宛先アドレスによって識別されるアドレス解決レコードを取り出す、請求項9に記載のネットワークノード。
JP2012525665A 2009-08-21 2010-08-18 親子リンクアグリゲーショングループを使用するサーバ側負荷均衡化 Pending JP2013502840A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/545,680 US8369332B2 (en) 2009-08-21 2009-08-21 Server-side load balancing using parent-child link aggregation groups
US12/545,680 2009-08-21
PCT/US2010/045881 WO2011022475A1 (en) 2009-08-21 2010-08-18 Server-side load balancing using parent-child link aggregation groups

Publications (1)

Publication Number Publication Date
JP2013502840A true JP2013502840A (ja) 2013-01-24

Family

ID=42731253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012525665A Pending JP2013502840A (ja) 2009-08-21 2010-08-18 親子リンクアグリゲーショングループを使用するサーバ側負荷均衡化

Country Status (6)

Country Link
US (2) US8369332B2 (ja)
EP (1) EP2467977A1 (ja)
JP (1) JP2013502840A (ja)
KR (1) KR101337039B1 (ja)
CN (1) CN102474467B (ja)
WO (1) WO2011022475A1 (ja)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665886B2 (en) * 2009-03-26 2014-03-04 Brocade Communications Systems, Inc. Redundant host connection in a routed network
US9124513B2 (en) * 2009-09-30 2015-09-01 At&T Intellectual Property I, L.P. Load balancing multicast network traffic using virtual channels
US8493846B2 (en) 2009-09-30 2013-07-23 At&T Intellectual Property I, L.P. Robust multicast broadcasting
US8780911B2 (en) * 2009-10-08 2014-07-15 Force10 Networks, Inc. Link aggregation based on port and protocol combination
US8369335B2 (en) 2010-03-24 2013-02-05 Brocade Communications Systems, Inc. Method and system for extending routing domain to non-routing end stations
US9461840B2 (en) 2010-06-02 2016-10-04 Brocade Communications Systems, Inc. Port profile management for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US9001824B2 (en) 2010-05-18 2015-04-07 Brocade Communication Systems, Inc. Fabric formation for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9231890B2 (en) 2010-06-08 2016-01-05 Brocade Communications Systems, Inc. Traffic management for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
US8966027B1 (en) * 2010-05-24 2015-02-24 Amazon Technologies, Inc. Managing replication of computing nodes for provided computer networks
US8634308B2 (en) 2010-06-02 2014-01-21 Brocade Communications Systems, Inc. Path detection in trill networks
US8885488B2 (en) 2010-06-02 2014-11-11 Brocade Communication Systems, Inc. Reachability detection in trill networks
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US8446914B2 (en) * 2010-06-08 2013-05-21 Brocade Communications Systems, Inc. Method and system for link aggregation across multiple switches
US9246703B2 (en) 2010-06-08 2016-01-26 Brocade Communications Systems, Inc. Remote port mirroring
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US8615587B2 (en) * 2011-01-11 2013-12-24 International Business Machines Corporation Power management in link aggregation for data transmission
US9270572B2 (en) 2011-05-02 2016-02-23 Brocade Communications Systems Inc. Layer-3 support in TRILL networks
US9401861B2 (en) 2011-06-28 2016-07-26 Brocade Communications Systems, Inc. Scalable MAC address distribution in an Ethernet fabric switch
US9407533B2 (en) 2011-06-28 2016-08-02 Brocade Communications Systems, Inc. Multicast in a trill network
US8948056B2 (en) 2011-06-28 2015-02-03 Brocade Communication Systems, Inc. Spanning-tree based loop detection for an ethernet fabric switch
US8879549B2 (en) 2011-06-28 2014-11-04 Brocade Communications Systems, Inc. Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch
US9007958B2 (en) 2011-06-29 2015-04-14 Brocade Communication Systems, Inc. External loop detection for an ethernet fabric switch
US8885641B2 (en) 2011-06-30 2014-11-11 Brocade Communication Systems, Inc. Efficient trill forwarding
US8787388B1 (en) * 2011-08-29 2014-07-22 Big Switch Networks, Inc. System and methods for forwarding packets through a network
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
KR102043071B1 (ko) 2012-05-15 2019-11-11 텔레폰악티에볼라겟엘엠에릭슨(펍) 링크 에그리게이션 그룹 내의 분할 브레인 이슈를 검출 및 핸들링하기 위한 방법 및 장치
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
WO2013177289A1 (en) 2012-05-23 2013-11-28 Brocade Communications Systems, Inc. Layer-3 overlay gateways
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
US9014011B2 (en) * 2013-02-04 2015-04-21 Dell Products L.P. Systems and methods for layer-2 traffic polarization during failures in a virtual link trunking domain
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
WO2014145750A1 (en) 2013-03-15 2014-09-18 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
CN104079486A (zh) 2013-03-28 2014-10-01 国际商业机器公司 一种网关及其传送数据的方法
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US20150063330A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Aggregation of data packets for multiple stations
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9866470B2 (en) 2014-01-24 2018-01-09 Red Hat, Inc. Multiple active link aggregators
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US9288139B2 (en) * 2014-04-02 2016-03-15 Qualcomm Incorporated Methods for selection of link aggregation capable access points
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
CN105721234B (zh) * 2014-12-05 2019-04-05 杭州迪普科技股份有限公司 端口聚合方法及装置
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9930149B2 (en) * 2015-03-24 2018-03-27 Cisco Technology, Inc. Multicast traffic distribution in a multi-pod network environment
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US11115389B2 (en) * 2019-05-17 2021-09-07 Juniper Networks, Inc. Media access control security (MACsec) enabled links of a link aggregation group (LAG)
US11063882B2 (en) * 2019-08-07 2021-07-13 International Business Machines Corporation Resource allocation for data integration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004102902A1 (ja) * 2003-05-14 2004-11-25 Fujitsu Limited ノード冗長制御方法およびノード冗長制御装置
JP2009522877A (ja) * 2005-12-30 2009-06-11 アカマイ テクノロジーズ,インク. 任意のデータフロー用の高信頼性、高スループット、高パフォーマンス転送及びルーティングメカニズム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3063721B2 (ja) * 1997-04-30 2000-07-12 日本電気株式会社 トポロジー情報交換装置及びプログラムを記録した機械読み取り可能な記録媒体
US6553029B1 (en) * 1999-07-09 2003-04-22 Pmc-Sierra, Inc. Link aggregation in ethernet frame switches
JP4394988B2 (ja) 2004-03-19 2010-01-06 富士通株式会社 パケット読出し制御方法及び装置
JP2005347943A (ja) * 2004-06-01 2005-12-15 Hitachi Ltd ネットワーク中継装置及びその制御方法
US7593400B2 (en) * 2006-05-19 2009-09-22 Corrigent Systems Ltd. MAC address learning in a distributed bridge
US7697525B2 (en) * 2006-12-21 2010-04-13 Corrigent Systems Ltd. Forwarding multicast traffic over link aggregation ports
US7940661B2 (en) * 2007-06-01 2011-05-10 Cisco Technology, Inc. Dynamic link aggregation
US8068416B2 (en) * 2007-09-20 2011-11-29 At&T Intellectual Property I, L.P. System and method of communicating a media stream
CN101399737A (zh) * 2008-10-21 2009-04-01 中兴通讯股份有限公司 用于以太环网的链路聚合组的保护方法及装置
US8270290B2 (en) * 2008-12-19 2012-09-18 Rockstar Bidco, LP Resilient attachment to provider link state bridging (PLSB) networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004102902A1 (ja) * 2003-05-14 2004-11-25 Fujitsu Limited ノード冗長制御方法およびノード冗長制御装置
JP2009522877A (ja) * 2005-12-30 2009-06-11 アカマイ テクノロジーズ,インク. 任意のデータフロー用の高信頼性、高スループット、高パフォーマンス転送及びルーティングメカニズム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013042583; Matthew Bocci: 'Network high availability for ethernet services using IP/MPLS networks' Communications Magazine, IEEE(Volume:46,Issue:3) , 200803, 90-96頁, IEEE *

Also Published As

Publication number Publication date
US20110044339A1 (en) 2011-02-24
US20130107885A1 (en) 2013-05-02
US8369332B2 (en) 2013-02-05
WO2011022475A1 (en) 2011-02-24
CN102474467B (zh) 2015-02-25
EP2467977A1 (en) 2012-06-27
CN102474467A (zh) 2012-05-23
KR20120043007A (ko) 2012-05-03
US9705799B2 (en) 2017-07-11
KR101337039B1 (ko) 2013-12-26

Similar Documents

Publication Publication Date Title
US9705799B2 (en) Server-side load balancing using parent-child link aggregation groups
US7684352B2 (en) Distributed storage of routing information in a link state protocol controlled network
US20200065317A1 (en) Single Node And Multiple Node Datastore Architecture In A Network Routing Environment
CN107925674B (zh) 在内容为中心的网络(ccn)中推送数据的方法和装置
KR101317969B1 (ko) 링크 애그리게이션 방법 및 노드
KR101567385B1 (ko) 콘텐츠 중심 네트워크에 대한 협동 캐싱 방법
US8677011B2 (en) Load distribution system, load distribution method, apparatuses constituting load distribution system, and program
KR20170037818A (ko) 작은 다중 경로 또는 단일 경로 포워딩 상태를 이용한 정보 중심 네트워킹
US20140280823A1 (en) Wire-speed pending interest table
WO2011150830A1 (zh) 获取内容的方法、节点及内容网络
US20100174740A1 (en) Method and apparatus for transmitting packets in the network
US20170264536A1 (en) Adjusting entries in a forwarding information base in a content centric network
US20130166695A1 (en) System for providing information-centric networking services based on p2p and method thereof
JP2021526331A (ja) ネットワークトポロジ生成方法および装置
Jin et al. Content routing and lookup schemes using global bloom filter for content-delivery-as-a-service
JP2013105227A (ja) P2P型Webプロキシネットワークシステム
US10033642B2 (en) System and method for making optimal routing decisions based on device-specific parameters in a content centric network
Han et al. An Adaptive Video Transmission Mechanism over MEC‐Based Content‐Centric Networks
CN114745440B (zh) 一种ccn缓存替换方法及装置
Li et al. ANBR: An aggregatable name based routing for information-centric network
Yao et al. Learning forwarding mechanism in content-centric networking
Sun Design of scalable and efficient information retrieval systems
Pitkänen Data availability in challenging networking environments in presence of failures
Ambiel et al. Link Layer Content Router
KR20140115155A (ko) 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140318

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140616

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150213

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150224

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20150327