(57)【要約】複数のデータメッセージを受信する（２０２）。各データメッセージは、関連する発信元アドレス及び宛先アドレスを有する（２０４）。データリンクを選択して（２０６）、データメッセージの発信元アドレス及び宛先アドレスに基づき、各データメッセージを転送する。データリンクは、複数のデータリンクの中から選択する。この意図的な選択によって、複数のデータメッセージが、所定の期間に複数の全データリンクにほぼ一様に分散される。
2009534000.tif 000002
【特許請求の範囲】
【請求項１】
複数の全リンクにトラフィックを分散する方法において、
複数のデータメッセージを受信する段階であって、前記各データメッセージは、関連する発信元アドレス及び宛先アドレスを有する、受信する段階と、
データリンクを選択して、前記データメッセージの前記発信元アドレス及び宛先アドレスに基づき、前記各データメッセージを転送する段階であって、前記データリンクは、複数のデータリンクの中から選択され、この意図的な選択によって、前記複数のデータメッセージが、所定の期間に前記複数の全データリンクにほぼ一様に分散される、選択して送信する段階と、
を備える方法。
【請求項２】
請求項１に記載の方法であって、前記データリンクを選択する段階は、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）
に基づき行われ、上式において、ａは、前記発信元アドレスであり、ｂは、前記宛先アドレスであり、ｎは、データリンクの数である、方法。
【請求項３】
請求項１に記載の方法であって、前記データリンクを選択する段階には、前記発信元アドレスと前記宛先アドレスとの和に基づき、前記データリンクを選択する段階が含まれる、方法。
【請求項４】
請求項１に記載の方法であって、前記発信元及び宛先アドレスは、長さｍを有し、前記選択する段階は、長さｍ＋１を有する中間リンク識別子を生成する、方法。
【請求項５】
請求項１に記載の方法であって、前記選択する段階は、ハッシュ関数を用い、また、前記ハッシュ関数は、排他的ＯＲ（ＸＯＲ）演算を利用しない、方法。
【請求項６】
トラフィックをネットワークの複数の全データリンクにほぼ一様に分散する方法において、
複数のデータメッセージを受信する段階であって、前記各データメッセージは、発信元識別名及び宛先識別名を有する前記段階と、
ハッシュ関数を選択する段階と、
前記複数の各データメッセージの前記発信元識別名及び前記宛先識別名を前記ハッシュ関数に適用する段階であって、前記ハッシュ関数は、複数の全データリンクにおける前記複数のデータメッセージの分布がほぼ一様であるように、前記複数のデータリンクの中からデータリンクを選択し、これによって少なくとも１つの選択されたデータリンクを提供する、前記ハッシュ関数に適用する段階と、
前記少なくとも１つの選択されたデータリンクを用いて、前記各データメッセージを送信する段階と
を備える方法。
【請求項７】
請求項６に記載の方法であって、前記ハッシュ関数は、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）を備え、
上式において、ａは、発信元アドレスであり、ｂは、宛先アドレスであり、ｎは、データリンクの数である、方法。
【請求項８】
請求項６に記載の方法であって、前記データリンクを選択する段階は、前記発信元アドレスと前記宛先アドレスとの和に基づき、前記データリンクを選択する段階を含む、方法。
【請求項９】
請求項６に記載の方法であって、前記発信元及び宛先識別名は、長さｍを有し、前記決定する段階は、長さｍ＋１を有する中間リンク識別子を生成する、方法。
【請求項１０】
トラフィックを全リンクに分散するためのシステムであって、
発信元アドレス及び宛先アドレスを各々が有する複数のデータメッセージを受信する入力を有するインターフェイスと、
前記インターフェイスに結合されたコントローラと
を備え、前記コントローラは、前記発信元及び宛先アドレスを用いて、複数のデータリンクの中からデータリンクを決定するようにプログラムされており、前記コントローラは更に、前記複数のデータメッセージのほぼ一様な分布が、前記複数の全データリンクにおいて意図的に得られるように、前記複数のデータリンクからデータリンクを選択するようにプログラムされている、システム。
【請求項１１】
請求項１０に記載のシステムであって、前記各複数のデータリンクは、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）
に基づき選択され、上式において、ａは、前記発信元アドレスであり、ｂは、前記宛先アドレスであり、ｎは、データリンクの数であるシステム。
【請求項１２】
請求項１０に記載のシステムであって、前記コントローラは、少なくとも部分的に、前記発信元アドレスと前記宛先アドレスとの和を計算することによって、前記データリンクを選択する、システム。
【請求項１３】
請求項１０に記載のシステムであって、前記発信元及び宛先アドレスは、長さｍを有し、また、長さｍ＋１を有する中間リンク識別子が、前記データリンクを決定する際に生成される、システム。
【請求項１４】
請求項１０に記載のシステムであって、前記コントローラは、ハッシュ関数を用いるようにプログラムされており、前記ハッシュ関数は、排他的ＯＲ（ＸＯＲ）演算を利用しない、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、ネットワークにおける通信に関し、特に、ネットワークの多数のチャネル全体へのトラフィック分散に関する。
【背景技術】
【０００２】
最近の通信システムは、通信リンクを介して互いに通信を行う異なる要素を提供する。往々にして、これらのリンクは、ＩＥＥＥ８０２．３規格（ＩＥＥＥ規格、８０２．３−２００２、第４３章）によって定義されるリンクアグリゲーショングループ（ＬＡＧ）等のグループに統合される。これらのリンクに関連する物理及びリンク層動作は、多くの場合、標準化されている。例えば、ＩＥＥＥ８０２．３規格には、ＬＡＧに用いるための折衝及び管理手順を定義するリンクアグリゲーション制御プロトコル（ＬＡＣＰ）が含まれる。そのような規格は、これらのシステムに用いられる幾つかの手順に対して何らかの手引を提供するが、他の数多くの技術的問題に対処していない。例えば、ＩＥＥＥ８０２．３及び他の規格は、リンクアグリゲーション全体にトラフィックを一様に又は予測可能に分散するために、リンクアグリゲーションから特定のリンクを選択するための手法を何ら指定していない。
【０００３】
トラフィックを分散する標準の手法が存在しないため、様々な本質的に異なる手法が、トラフィックをネットワークの全リンクに分散するために開発されてきている。例えば、これら従来のトラフィック分散アルゴリズムの幾つかは、通信内容の発信元及び宛先アドレス（例えば、発信元及び宛先アドレスの最下位バイト（ＬＳＢ）からの３ビット）を取得し、これらのビットに排他的ＯＲ演算を実施し、排他的ＯＲ演算の結果からリンク識別子を決定していた。そして、情報が識別子に関連するリンクに送られ、送信された。
【０００４】
残念なことに、ＬＳＢの３ビットを用いると、トラフィックは、ＬＡＧのリンクの数が、２の累乗（例えば、２、４、又は８）である場合にのみ、複数のリンク全体に分散されていた。その結果、一様でないトラフィック分布が生成されることが多かった。この一様でないトラフィック分布のため、システムの有効な容量は、理論的に可能なものよりかなり低いものであった。システムの容量の減少により、ユーザ間の通信が、遅くなり、通信内容が欠落し、システムに対するユーザの不満が増長されていた。
【発明を実施するための最良の形態】
【０００５】
当業者は、図の要素が、簡単明瞭に示されており、必ずしも縮尺通りに描かれていないことを認識されるであろう。例えば、幾つかの図の要素の寸法及び／又は相対的な位置付けは、本発明の様々な実施形態の理解の向上に役立つように、他の要素に対して誇張されていることがある。更に、商品化という視点から見て実現可能な実施形態において、有用な又は必要な通常の既知の要素は、これら本発明の様々な実施形態の理解を妨げないようにするために、描写しないことが多い。更に、特定のアクション及び／又はステップは、特定の発生順番で記述し説明することを認識されるであろうが、順番に関するそのような特殊性は、実際には、要求されないことを当業者は理解されたい。更に、本明細書に用いる用語や表現は、特定の意味が本明細書に特に記載されている場合を除き、それらの対応するそれぞれの研究領域に関して、そのような用語や表現に与えられる通常の意味を有することを理解されたい。
【０００６】
ネットワークの全リンクにトラフィックを分散するためのシステム及び方法により、これらの全リンクにおけるトラフィックのほぼ一様な分散が確保される。全リンクにおけるトラフィックのほぼ一様な分散を確保することによって、システムに関してユーザが体験するように、システム性能が強化される。
【０００７】
これら多くの実施形態では、イーサネットシステムにおいて、複数のデータメッセージを受信する。各データメッセージは、関連する発信元アドレス及び宛先アドレスを有する。データリンクを選択し、データメッセージの発信元アドレス及び宛先アドレスに基づき、各データメッセージを転送する。データリンクは、複数のデータリンクの中から選択される。この意図的な選択によって、複数のデータメッセージは、所定の期間に複数の全データリンクにほぼ一様に分散される。
【０００８】
様々な手法を用いて、実際のデータリンクを識別して、全リンクに渡るトラフィックの分布が、ほぼ一様であることを保証する。例えば、一例において、特定のデータリンクの識別子は、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）等のハッシュ関数によって決定されるが、上式において、ａは、発信元アドレスであり、ｂは、宛先アドレスであり、ｎは、データリンクの数である。
【０００９】
多くの異なるハッシュ関数を用られるが、好適には、ハッシュ関数は、排他的ＯＲ（ＸＯＲ）演算を利用しない。更に、発信元及び宛先アドレスの様々な部分は、演算に用いられる。一例では、発信元及び宛先アドレスからの３ビットを用いる。他の手法では、他の数のビットを用いる。
【００１０】
従って、トラフィックをリンクアグリゲーションのリンク全てにほぼ一様に分散するシステム及び方法を提供する。アグリゲーションのデータリンク全てにトラフィックの一様な分散を確保することによって、システムに関してユーザが体験するように、システム性能が強化される。
【００１１】
次に、図１において、集合体のデータリンク全てにトラフィックを一様に分散するためのシステムの一例について述べる。ネットワーク１００には、複数のノード１０２、１０４、１０６、１０８、及び１１０が含まれる。ノード１０２、１０４、１０６、１０８、及び１１０は、ネットワーク内に用いられる任意の種類の装置であってよい。例えば、ノード１０２、１０４、１０６、１０８、及び１１０は、交換機、ゲートウェイ、サーバ、基地局、又は移動局であってよい。ノードが移動局である場合、ノードは、携帯電話、パソコン、携帯情報端末（ＰＤＡ）又はパソコンであってよい。ノード及び移動局は、他の例も可能である。更に、図１に示すネットワークの特定のアーキテクチャは、１つの可能なネットワーク構造の１つの例に過ぎない。他のアーキテクチャ及び接続が、可能である。１つの手法によって、図１のシステムは、イーサネット又はイーサネットのようなシステムである。しかしながら、他の種類のシステム又はネットワークも用いてよい。
【００１２】
ノード１０２、１０４、１０６、１０８、及び１１０は、データリンク１１２、１１４、１１６、１１８、及び１２０上で互いに通信を行う。これらの接続の各々は、リンクの集合体であってよく、また、１つ又は複数のリンクを含んでよい。ノード１０２、１０４、１０６、１０８、及び１１０には、各々、データを送信するために、１つ又は複数のリンクの集合体からリンクを選択するコントローラ又は同様な機能が含まれる。
【００１３】
図１のシステムの動作の一例では、複数のデータメッセージが、イーサネットシステムのノード１０２、１０４、１０６、１０８、又は１１０において受信される。各データメッセージは、関連する発信元アドレス及び宛先アドレスを有する。データリンクが選択され、各データメッセージが、データメッセージの発信元アドレス及び宛先アドレスに基づき転送される。データリンクは、複数のデータリンクの中から選択される。この意図的な選択によって、複数のデータメッセージが、所定の期間に複数の全データリンクにほぼ一様に分散される。
【００１４】
様々な手法を用いて、実際のデータリンクを識別して、全リンクに渡るトラフィックの分布が、ほぼ一様であることを保証する。例えば、一例において、特定のデータリンクの識別子は、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）等のハッシュ関数によって決定されるが、上式において、ａは、発信元アドレスであり、ｂは、宛先アドレスであり、ｎは、データリンクの数である。
【００１５】
１つの手法では、データリンク識別子の判断にＸＯＲ演算を用いない。更に、上記で用いる式は、変更可能であること及び他の計算も用いてよいことを認識されたい。
次に、図２において、データリンクの集合体からデータリンクを選択して、メッセージを送るための手法の一例について記載する。ステップ２０２において、データメッセージを受信する。例えば、データメッセージは、イーサネットネットワークの任意のノードにおいて受信される。また、メッセージには、発信元及び宛先アドレスの双方が含まれる。
【００１６】
ステップ２０４において、発信元及び宛先アドレスは、メッセージから得られる。他の選択肢として、データメッセージ中の他の種類の識別子又は他の種類の情報を抽出して、後のリンク計算に用いる。例えば、第層３（ネットワーク層）プロトコルタイプ又は第層４（トランスポート層）ＴＣＰ／ＵＤＰポート番号等の情報も用いる。
【００１７】
ステップ２０６において、データリンクを選択する。任意の適切なアルゴリズム、例えば、図１について上記した式を用いる。また、１つの手法では、アルゴリズム又は式は、ＸＯＲ演算を利用しない。
【００１８】
次に、図３において、リンク割当てを分散するための装置３００の一例には、インターフェイス３０２及びコントローラ３０４が含まれる。インターフェイスは、発信元アドレス３０８及び宛先アドレス３１０を有するデータメッセージ３０６を受信する。コントローラ３０４は、発信元及び宛先アドレス３０８及び３１０を用いて、複数のデータリンクの中からデータリンクの識別子３１２を決定するようにプログラムされている。他の選択肢として、他の情報も用いる。コントローラ３０４は、更に、複数のデータメッセージが、複数のデータリンク全体にほぼ一様に分散するように、複数のデータリンクからデータリンク３１２を選択するようにプログラムされている。
【００１９】
コントローラ３０４は、複数のデータリンクが、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）
に基づき選択されるように決定されるが、上式において、ａは、発信元アドレスであり、ｂは、宛先アドレスであり、ｎは、データリンクの数である。
【００２０】
上記したように、１つの手法では、データリンク識別子の決定には、ＸＯＲ演算を用いない。更に、上記で用いる式は、変更可能であり、他の計算も用いてよいことを認識されたい。
【００２１】
次に、図４において、本明細書で記載した手法を適用する例について説明する。表４００は、３ビット発信元及び宛先アドレスが用いられ、また、リンク識別子の決定のために、図１に関連して与えられた式を用いると仮定する。表４００の第１列４０２は、発信元と宛先アドレスとの可能な和を示す。これらの和は、０から１４の範囲である。従って、長さｍ（例えば、３）の発信元及び宛先アドレス場合、長さｍ＋１（例えば、４）の中間リンク識別子が、生成される。
【００２２】
表４００の第２列４０４は、列４０２の和に至るために用い得るアドレスの可能な組合せの数を表す。表４００の第３列４０６は、組合せ数の割合を表す。表４００の残りの列４０８、４１０、４１２、４１４、４１６、４１８、及び４２０は、それぞれ、２、３、４、５、６、７、及び８要素リンクアグリゲーションに対して、上記式を用いて割り当てられたリンク数を示す。
【００２３】
一例では、行４２２において、１１（アドレス値）の和が、４つの可能な組合せの時の６．２５パーセント生成されることが分かる。上記式を用いて、リンク数２が、２リンクＬＡＧにおいて選択され、リンク数３が、３リンクＬＡＧにおいて選択され、リンク数４が、４リンクＬＡＧにおいて選択され、リンク数２が、５リンクＬＡＧにおいて選択され、リンク数６が、６リンクＬＡＧにおいて選択され、リンク数５が、７リンクＬＡＧにおいて選択され、リンク数４が、８リンクＬＡＧにおいて選択される。
【００２４】
次に、図５において、手法を適用する他の例を表５００に示す。表５００において、表４００の列４０８−４２０に示した値は、互いに関係がある。具体的には、列５０２は、リンク数を示す。表５００の列５０４、５０６、５０８、５１０、５１２、５１４、及び５１６は、特定のリンク数が、所定の数のリンクを有するシステムに対して選択される時間の割合を示す。
【００２５】
１つの例をとると、本明細書に記載した手法を用いて、２リンクＬＡＧでは、リンク数１が、その時間の５０パーセント選択され、また、リンク数２が、その時間の５０パーセント選択されることが分かる。他の例では、３リンクＬＡＧにおいて、リンク数１が、その時間の３２．８１パーセント選択され、リンク数２が、その時間の３４．３８パーセント選択され、リンク数３が、その時間の３２．８１パーセント選択されることが分かる。標準偏差行５１８は、リンク選択の標準偏差が、１．３１パーセント以下であることを示す。
【００２６】
従って、ネットワークの全リンクにおいてトラフィックを分散するシステム及び方法は、これらの全リンクにおいて、トラフィックのほぼ一様な分散を確保する。全リンクにおいてトラフィックの一様な分散を確保することによって、システムに関してユーザが体験するように、システム性能が、強化される。
【００２７】
当業者は、本発明の技術思想と範囲から逸脱することなく、多種多様な修正、変更、及び組合せが、上記した実施形態について行い得ること、また、そのような修正、変更、及び組合せは、本発明の範囲内にあるとみなされることを認識されたい。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態に基づきリンクを配分するためのシステムのブロック図。
【図２】本発明の実施形態に基づきリンクを配分するための手法のフローチャート。
【図３】本発明の実施形態に基づきリンクを配分するための装置のブロック図。
【図４】本発明の実施形態によるリンク分布を示す表。
【図５】本発明の実施形態によるリンク分布を示す表。
【図１】
2009534000.tif 000003
【図２】
2009534000.tif 000004
【図３】
2009534000.tif 000005
【図４】
2009534000.tif 000006
【図５】
2009534000.tif 000007
【手続補正書】
【提出日】平成20年6月27日(2008.6.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の全リンクにトラフィックを分散する方法において、
複数のデータメッセージを受信する段階であって、前記各データメッセージは、関連する発信元識別子及び宛先識別子を有する、受信する段階と、
データリンクを選択して、前記データメッセージの前記発信元識別子及び宛先識別子に基づき、前記各データメッセージを転送する段階であって、前記データリンクは、複数のデータリンクの中から選択され、この意図的な選択によって、前記複数のデータメッセージが、所定の期間に前記複数の全データリンクにほぼ一様に分散される、選択して送信する段階と
を備える方法。
【請求項２】
請求項１に記載の方法であって、前記発信元識別子は、発信元アドレスを含み、前記宛先識別子は、宛先アドレスを含み、前記データリンクを選択する段階は、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）
に基づき行われ、上式において、ａは、前記発信元アドレスであり、ｂは、前記宛先アドレスであり、ｎは、データリンクの数である方法。
【請求項３】
請求項１に記載の方法であって、前記発信元識別子は、発信元アドレスを含み、前記宛先識別子は、宛先アドレスを含み、前記データリンクを選択する段階には、前記発信元アドレスと前記宛先アドレスとの和に基づき、前記データリンクを選択する段階が含まれる、方法。
【請求項４】
請求項１に記載の方法であって、前記発信元識別子は、発信元アドレスを含み、前記宛先識別子は、宛先アドレスを含み、前記発信元及び宛先アドレスは、長さｍを有し、前記選択する段階は、長さｍ＋１を有する中間リンク識別子を生成する、方法。
【請求項５】
請求項１に記載の方法であって、前記選択する段階は、ハッシュ関数を用い、また、前記ハッシュ関数は、排他的ＯＲ（ＸＯＲ）演算を利用しない、方法。
【請求項６】
トラフィックをネットワークの複数の全データリンクにほぼ一様に分散する方法において、
複数のデータメッセージを受信する段階であって、前記各データメッセージは、発信元識別名及び宛先識別名を有する前記段階と、
ハッシュ関数を選択する段階と、
前記複数の各データメッセージの前記発信元識別名及び前記宛先識別名を前記ハッシュ関数に適用する段階であって、前記ハッシュ関数は、複数の全データリンクにおける前記複数のデータメッセージの分布がほぼ一様であるように、前記複数のデータリンクの中からデータリンクを選択し、これによって少なくとも１つの選択されたデータリンクを提供する、前記ハッシュ関数に適用する段階と、
前記少なくとも１つの選択されたデータリンクを用いて、前記各データメッセージを送信する段階と
を備える方法。
【請求項７】
請求項６に記載の方法であって、前記ハッシュ関数は、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）を備え、
上式において、ａは、発信元アドレスであり、ｂは、宛先アドレスであり、ｎは、データリンクの数である、方法。
【請求項８】
請求項６に記載の方法であって、前記発信元識別子は、発信元アドレスを含み、前記宛先識別子は、宛先アドレスを含み、前記データリンクを選択する段階は、前記発信元アドレスと前記宛先アドレスとの和に基づき、前記データリンクを選択する段階を含む、方法。
【請求項９】
請求項６に記載の方法であって、前記発信元及び宛先識別名は、長さｍを有し、前記決定する段階は、長さｍ＋１を有する中間リンク識別子を生成する、方法。
【請求項１０】
トラフィックを全リンクに分散するためのシステムであって、
発信元アドレス及び宛先アドレスを各々有する複数のデータメッセージを受信する入力を有するインターフェイスと、
前記インターフェイスに結合されたコントローラと
を備え、前記コントローラは、前記発信元及び宛先アドレスを用いて、複数のデータリンクの中からデータリンクを決定するようにプログラムされており、前記コントローラは更に、前記複数のデータメッセージのほぼ一様な分布が、前記複数の全データリンクにおいて意図的に得られるように、前記複数のデータリンクからデータリンクを選択するようにプログラムされているシステム。
【請求項１１】
請求項１０に記載のシステムであって、前記各複数のデータリンクは、
データリンク名＝Ｍｏｄ（（Ｓｕｍ（ａ，ｂ）），ｎ）＋１）
に基づき選択され、上式において、ａは、前記発信元アドレスであり、ｂは、前記宛先アドレスであり、ｎは、データリンクの数であるシステム。
【請求項１２】
請求項１０に記載のシステムであって、前記コントローラは、少なくとも部分的に、前記発信元アドレスと前記宛先アドレスとの和を計算することによって、前記データリンクを選択する、システム。
【請求項１３】
請求項１０に記載のシステムであって、前記発信元及び宛先アドレスは、長さｍを有し、また、長さｍ＋１を有する中間リンク識別子が、前記データリンクを決定する際に生成される、システム。
【請求項１４】
請求項１０に記載のシステムであって、前記コントローラは、ハッシュ関数を用いるようにプログラムされており、前記ハッシュ関数は、排他的ＯＲ（ＸＯＲ）演算を利用しない、システム。
【国際調査報告】
2009534000.tif 000008