(57)【要約】【課題】  送信ノードと受信ノードとの間のリンク上における良好な負荷分散が可能な通信負荷分散方法、装置及びプログラムを提供する。【解決手段】  送信ノード１００のフレームディストリビュータ１１１は、送信すべきフレームのヘッダ、当該フレームのトレイラ等のうちの少なくとも一つから抽出した情報を用いて、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数Ｆ（ｘ）により整数値ｙを算出し、整数値ｙを被除数、リンク数Ｎを除数として、剰余ｎを算出し、複数のリンクのうちの第ｎ＋１番目のリンクに対応する送信キューを選択する。【選択図】  図３
2005252758.tif 000002
【特許請求の範囲】
【請求項１】
複数のリンクにそれぞれ対応する送信キューを備えた送信ノードから単一または複数の受信ノードに対して、前記送信キューを選択して一時的に格納したフレームを前記リンクを経由して送信する際の、前記リンク上の通信負荷を分散させる方法において、
送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレームに含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータのうちの少なくとも一つから抽出した情報に基づいて、前記送信キューを選択するステップを有することを特徴とする負荷分散方法。
【請求項２】
前記抽出する情報が、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレームに含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータに含まれていない場合に、予め設定したデフォルトの情報を、前記抽出した情報とすることを特徴とする請求項１に記載の負荷分散方法。
【請求項３】
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換するステップと、
当該出力値及び前記複数のリンクの数に基づいて、複数のリンクのうちの一つのリンクに対応する送信キューを選択するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項４】
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて整数値ｙに変換するステップと、
前記複数のリンクの帯域が同一である場合に、整数値ｙを被除数、複数のリンクの数Ｎを除数として、剰余ｎを算出するステップと、
当該剰余ｎに基づいて、前記複数のリンクのうちの第ｎ＋１番目のリンクに対応する送信キューを選択するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項５】
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換するステップと、
当該出力値、前記複数のリンクの数及び複数のリンクのそれぞれの使用可能帯域に基づいて、前記複数のリンクのうちの一つのリンクに対応する送信キューを選択するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項６】
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて整数値ｙに変換するステップと、
前記複数のリンクの数をＮとし、第ｎ番目のリンクの使用可能帯域の整数値をＳ（ｎ）とした場合に、当該整数値ｙを被除数、前記使用可能帯域Ｓ（１）からＳ（Ｎ）までの総和を除数として、剰余ｋを算出するステップと、
当該剰余ｋが、使用可能帯域Ｓ（１）からＳ（ｎ−１）までの総和の値と使用可能帯域Ｓ（１）からＳ（ｎ）までの総和から１を減じた値との範囲内にある場合には、前記複数のリンクのうちの第ｎ番目のリンクに対応する送信キューを選択するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項７】
前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、
送信すべきフレームを前記一時格納キューに格納するステップと、
前記複数のリンクのうちの閉塞されていないリンクの数を定期的に監視するステップと、
当該リンク数が変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出すステップと、
前記リンク数が変化した場合には、前記送信キューに格納したフレームの量及びリンクの帯域に基づいて遅延時間を算出し、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止するステップと、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換するステップと、
当該出力値及び前記閉塞されていないリンク数に基づいて、閉塞されていないリンクのうちの一つのリンクに対応する送信キューを選択するステップと、
前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項８】
前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、
送信すべきフレームを前記一時格納キューに格納するステップと、
前記複数のリンクの帯域が同一である場合に、前記複数のリンクのうちの閉塞されていないリンクの数Ｍを定期的に監視するステップと、
当該リンク数Ｍが変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出すステップと、
前記リンク数Ｍが変化した場合には、前記送信キューに格納したフレームの量をリンクの帯域で除した値を遅延時間とし、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止するステップと、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて整数値ｙに変換するステップと、
当該整数値ｙを被除数、前記リンク数Ｍを除数として、剰余ｍを算出するステップと、
当該剰余ｍに基づいて、前記閉塞されていないリンクのうちの第ｍ＋１番目のリンクに対応する送信キューを選択するステップと、
前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項９】
前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、
送信すべきフレームを前記一時格納キューに格納するステップと、
前記複数のリンクのそれぞれの使用可能帯域を定期的に監視するステップと、
当該使用可能帯域のいずれもが変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出すステップと、
前記使用可能帯域のいずれかが変化した場合には、前記送信キューに格納したフレームの量及びリンクの帯域に基づいて遅延時間を算出し、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止するステップと、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換するステップと、
当該出力値、リンク数及び使用可能帯域に基づいて、前記複数のリンクのうちの一つのリンクに対応する送信キューを選択するステップと、
前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。  
【請求項１０】
前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、
送信すべきフレームを前記一時格納キューに格納するステップと、
前記複数のリンクの数をＮとし、第ｎ番目のリンクの使用可能帯域の整数値をＳ（ｎ）として、使用可能帯域Ｓ（１）からＳ（Ｎ）を定期的に監視するステップと、
当該使用可能帯域Ｓ（１）からＳ（Ｎ）のいずれもが変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出すステップと、
前記使用可能帯域Ｓ（１）からＳ（Ｎ）のいずれかが変化した場合には、前記送信キューに格納したフレームの量をリンクの帯域Ｓ（１）からＳ（Ｎ）で除した値を遅延時間とし、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止するステップと、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて整数値ｙに変換するステップと、
当該整数値ｙを被除数、前記使用可能帯域Ｓ（１）からＳ（Ｎ）までの総和を除数として、剰余ｋを算出するステップと、
当該剰余ｋが、使用可能帯域Ｓ（１）からＳ（ｎ−１）までの総和の値と使用可能帯域Ｓ（１）からＳ（ｎ）までの総和から１を減じた値との範囲内にある場合には、前記複数のリンクのうちの第ｎ番目のリンクに対応する送信キューを選択するステップと、
前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項１１】
前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、
送信すべきフレームを前記一時格納キューに格納するステップと、
前記複数のリンクのうちの閉塞されていないリンクの数、及び当該閉塞されていないリンクのそれぞれの使用可能帯域を定期的に監視するステップと、
前記リンク数及び使用可能帯域のいずれもが変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出すステップと、
前記リンク数及び使用可能帯域のいずれかが変化した場合には、前記送信キューに格納したフレームの量及びリンクの帯域に基づいて遅延時間を算出し、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止するステップと、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換するステップと、
当該出力値、前記リンク数及び使用可能帯域に基づいて、閉塞されていないリンクのうちの一つのリンクに対応する送信キューを選択するステップと、
前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項１２】
前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、
送信すべきフレームを前記一時格納キューに格納するステップと、
前記複数のリンクのうちの閉塞されていないリンクの数をＭとし、第ｍ番目のリンクの使用可能帯域の整数値をＳ（ｍ）として、前記リンク数Ｍ及び使用可能帯域Ｓ（１）からＳ（Ｍ）を定期的に監視するステップと、
前記リンク数Ｍ及び使用可能帯域Ｓ（１）からＳ（Ｍ）のいずれもが変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出すステップと、
前記リンク数Ｍ及び使用可能帯域Ｓ（１）からＳ（Ｍ）のいずれかが変化した場合には、前記送信キューに格納したフレームの量をリンクの帯域Ｓ（１）からＳ（Ｍ）で除した値を遅延時間とし、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止するステップと、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて整数値ｙに変換するステップと、
当該整数値ｙを被除数、前記使用可能帯域Ｓ（１）からＳ（Ｍ）までの総和を除数として、剰余ｋを算出するステップと、
当該剰余ｋが、使用可能帯域Ｓ（１）からＳ（ｍ−１）までの総和の値と使用可能帯域Ｓ（１）からＳ（ｍ）までの総和から１を減じた値との範囲内にある場合には、前記複数のリンクのうちの第ｍ番目のリンクに対応する送信キューを選択するステップと、
前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送するステップとを有することを特徴とする請求項１または２に記載の負荷分散方法。
【請求項１３】
送信すべきフレームを一時的に格納する複数の送信キューを備えた送信ノードと、前記フレームを受信する単一または複数の受信ノードとが、前記送信キューにそれぞれ対応した複数のリンクにより接続される構成の下で、前記複数の送信キューのうちの一つを選択して格納したフレームを前記対応するリンクを経由して受信ノードへ送信する際に、前記リンク上の通信負荷を分散させる送信ノードを構成する負荷分散装置において、
送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレームに含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータのうちの少なくとも一つから抽出した情報に基づいて、前記送信キューを選択する手段と備えたことを特徴とする負荷分散装置。
【請求項１４】
送信すべきフレームを一時的に格納する一時格納手段と、
前記複数のリンクのうちの閉塞されていないリンクの数を定期的に監視する手段と、
当該リンク数が変化しない場合には、前記一時格納手段に格納されたフレームを先頭から順次取り出し、リンク数が変化した場合には、前記送信キューに格納されたフレームの量及びリンクの帯域に基づいて遅延時間を算出し、当該遅延時間の間は前記一時格納手段に格納されたフレームの取り出しを停止する手段と、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換する手段と、
当該出力値及び前記閉塞されていないリンク数に基づいて、閉塞されていないリンクのうちの一つのリンクに対応する送信キューを選択する手段と、
前記一時格納手段から取り出したフレームを、前記選択された送信キューへ転送する手段とを有することを特徴とする請求項１３に記載の負荷分散装置。
【請求項１５】
複数のリンクにそれぞれ対応する送信キューを備えた送信ノードから単一または複数の受信ノードに対して、前記送信キューを選択して一時的に格納したフレームを前記リンクを経由して送信する際に、前記リンク上の通信負荷を分散させる送信ノードを構成するコンピュータに実行させる負荷分散プログラムであって、
送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレームに含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、当該フレームに含まれる上位プロトコルのユーザデータのうちの少なくとも一つから抽出した情報に基づいて、前記送信キューを選択する処理を実行させることを特徴とする負荷分散プログラム。
【請求項１６】
送信すべきフレームを一時格納手段に格納する処理と、
前記複数のリンクのうちの閉塞されていないリンクの数を定期的に監視する処理と、
当該リンク数が変化しない場合には、前記一時格納手段に格納されたフレームを先頭から順次取り出し、リンク数が変化した場合には、前記送信キューに格納されたフレームの量及びリンクの帯域に基づいて遅延時間を算出し、当該遅延時間の間は前記一時格納手段に格納されたフレームの取り出しを停止する処理と、
前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換する処理と、
当該出力値及び前記閉塞されていないリンク数に基づいて、閉塞されていないリンクのうちの一つのリンクに対応する送信キューを選択する処理と、
前記一時格納手段から取り出したフレームを、前記選択された送信キューへ転送する処理とを実行させることを特徴とする請求項１５に記載の負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信負荷分散方法及び装置に関し、特に、ノード間をリンクにより接続する転送網において良好な負荷分散を行う技術に関するものである。
【背景技術】
【０００２】
従来のノード間の接続技術の一例として、リンクアグリケーション技術がＩＥＥＥ８０２．３ａｄに規定されている。このリンクアグリケーション技術によれば、ノードであるブリッジ間において、複数の物理的なリンクを１本の仮想的なリンクとして扱うことが可能である。そのため、物理的なリンクのいずれかに障害が発生した場合には、他のリンクを使用できる限り、ノード間のフレーム転送を中止することなく継続して動作させることができる。従って、このようなリンクアグリケーション技術では、耐障害性を有する論理リンクを構成することができる。また、ノードに接続されるステーション間で送受信されるフレームの順序が正しく維持される限り、複数の物理的なリンクに対して独自のフレーム分配方法の適用が認められている（例えば、非特許文献１を参照。）。
【０００３】
また、前述のリンクアグリケーション技術を拡張したシステムの一例として、複数のノードに跨るリンクアグリケーションを実現するレイヤ２トラフィックを分散させるためのネットワーク構成が開示されている（例えば、非特許文献２を参照。）。
【０００４】
また、従来技術として、フレームの順序性を保証すると共に回線を有効活用してフレーム容量を拡大するシステムの一例が開示されている。具体的には、第１及び第２回線を通じて同一のブリッジに接続され、送信すべきフレームの送信先と同一の送信先のフレームを保持する送信キューを用いて、ブリッジがフレームを送信キューに対して送出することにより、フレームの順序性を保証する。一方、同一の送信先を有するフレームがいずれの送信キューにも保持されていない場合には、（１）送信待ち状態のフレームが最も少ない送信キュー、（２）保持されているフレームのデータ量が最も少ない送信キュー、（３）保持されているフレームの転送時間の合計が最も小さい送信キュー、のうちのいずれかの送信キューに対してそのフレームを送出することにより、全ての回線を有効活用し、フレーム容量を拡大することができる（例えば、特許文献１を参照。）。
【０００５】
また、従来技術として、フレーム順序を維持しながら物理リンク上に受信データを分配するシステムの一例が開示されている。具体的には、宛先に対する複数の物理リンクを有するスイッチが、受信したデータに含まれる宛先アドレス及び送信元アドレスの対情報を用いてフローハッシュ理論によりＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）変数を生成し、そのＣＲＣ変数の下位ビットを切り出し、その下位ビットをキーとしてトランクポートセレクタテーブルにより送信すべきポートを選択する。そして、異なるデータフローに対して潜在的に異なる物理リンクを選択することにより、データフロー内のフレーム順序を維持しながら、物理リンク上に受信データを分配することができる（例えば、特許文献２を参照。）。
【０００６】
【非特許文献１】ＩＥＥＥ８０２．３ａｄ−２０００標準
【非特許文献２】ＩＥＴＦドラフトdraft-lapuh-network-smlt、［online］、２００３年１２月、［平成１６年２月２７日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/internet-drafts/draft-lapuh-network-smlt-03.txt＞
【特許文献１】特許２５８０９９５号公報（段落〔００２７〕〔００２８〕）
【特許文献２】特表２００３−５２６２６３号公報（段落〔０００７〕〔０００８〕）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述の非特許文献１の技術では、次のような問題があった。すなわち、ＩＥＥＥ８０２．３ａｄの規定において、複数の物理的なリンクは、単一のノードから単一のノードに対して接続することが可能であるが、単一のノードから複数のノードへの接続について適用がないことから、ノードに故障が発生した場合に耐障害性がないという問題があった。また、転送速度の異なる複数の物理的なリンクを集約することができないという問題もあった。さらに、本規定では、複数の物理的なリンクに対して独自の分配方法の適用について認めているに過ぎない。
【０００８】
また、前述の非特許文献２の技術では、ノード間のネットワーク接続形態、及び跨って対向する複数のノード間におけるアドレステーブルの同期方法等が示されているに過ぎない。ノード間の方路は、送信元ＭＡＣアドレスと宛先ＭＡＣアドレスとに基づいて選定されるため、公平な負荷分散については十分に言及していない。
【０００９】
また、前述の特許文献１の技術では、送信キューに保持されているフレームの宛先ＭＡＣアドレスを検索し、同じ宛先フレームが存在するか否かを判定する必要があるため、最大で全送信キューに保持されている全フレームを順次検索する必要がある。このため、送信キュー数及び送信キュー内の送信待ちフレーム数が多い場合には、検索と判定に多大な時間を要することになる。
【００１０】
また、前述の特許文献２の技術では、次のような問題があった。すなわち、送信すべきポートを選択するために、トランクポートセレクタテーブルを用意し、フローハッシュ論理により生成されたＣＲＣ変数に基づいて当該テーブルを参照する必要があり、検索と選択に手間がかかるという問題があった。また、送信すべきポートの選択は、宛先アドレス及び送信元アドレスのみに基づいて選択されるため、同一の宛先アドレスを用いるプロトコルの場合や優先度が異なる等の場合には、異なるデータフローであるにも係わらず分散ができないという問題があった。
【００１１】
本発明は、これらの従来技術の課題を解決するためになされたものであり、その目的は、良好な負荷分散が可能な通信負荷分散方法、装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明による負荷分散方法、装置及びプログラムでは、複数のリンクにそれぞれ対応する送信キューを備えた送信ノードから単一または複数の受信ノードに対して、前記送信キューを選択して一時的に格納したフレームを前記リンクを経由して送信する際の、前記リンク上の通信負荷を分散させる場合に、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレームに含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータのうちの少なくとも一つから抽出した情報に基づいて、前記送信キューを選択することを特徴とする。
【００１３】
また、本発明では、前記抽出する情報が、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレームに含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータに含まれていない場合に、予め設定されたデフォルトの情報を、前記抽出した情報とすることを特徴とする。これにより、抽出する情報がフレームに含まれていない場合に、デフォルトの情報を用いて送信キューを選択することができる。
【００１４】
また、本発明では、前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換し、当該出力値及び前記リンク数に基づいて、またはこれらに加えて複数のリンクのそれぞれの使用可能帯域に基づいて、複数のリンクのうちの一つのリンクに対応する送信キューを選択することを特徴とする。
【００１５】
また、本発明では、前記送信ノードは、フレームを一時的に格納する一時格納キューを備え、送信すべきフレームを前記一時格納キューに格納し、前記複数のリンクのうちの閉塞されていないリンクの数、または／及び当該閉塞されていないリンクのそれぞれの使用可能帯域を定期的に監視し、前記リンク数または／及び使用可能帯域のいずれもが変化しない場合には、前記一時格納キューに格納したフレームを先頭から順次取り出し、前記リンク数または／及び使用可能帯域のいずれかが変化した場合には、前記送信キューに格納したフレームの量及びリンクの帯域に基づいて遅延時間を算出し、当該遅延時間の間は前記一時格納キューに格納したフレームの取り出しを停止し、前記抽出した情報に起因する値を、入力に依存して一意に定まり且つ偏りのないランダムな出力を得ることが可能な関数を用いて出力値に変換し、当該出力値及び前記リンク数に基づいて、またはこれらに加えて使用可能帯域に基づいて、閉塞されていないリンクのうちの一つのリンクに対応する送信キューを選択し、前記一時格納キューから取り出したフレームを、前記選択した送信キューへ転送することを特徴とする。これにより、各リンクに対して決定される確率が、リンク数の比になるように比例配分し、または各リンクの使用可能帯域比になるように比例配分し、リンクに対応する送信キューを選択してフレームを送信することができる。従って、閉塞されていないリンク数や各リンクの使用可能帯域が動的に変化する場合に対しても良好に負荷分散を実現できる。
【発明の効果】
【００１６】
本発明は、以上説明したようなものであるから、以下に示す効果を奏する。本発明では、送信ノードから単一の受信ノードだけでなく複数の受信ノードに対しても負荷分散を適用することができる。また、転送速度の異なる複数のリンクによって接続された場合にも適用できるため、負荷分散が適用されるノード及びリンクの接続構成の柔軟性を高めることができる。このため、ＩＥＥＥ８０２．３ａｄやＩＥＴＦドラフトdraft-lapuh-network-smlt においても負荷分散を適用することが可能である。
【００１７】
また、本発明では、送信すべきフレームのヘッダにおける宛先アドレス及び送信元アドレスだけでなく、ヘッダにおけるその他の要素やトレイラ等を抽出の対象としたから、リンクに対応する送信キュー選択の緻密性を高めることができる。このため、同一の宛先アドレスを用いるプロトコルによる場合であっても、他の情報要素を抽出対象とすることにより、負荷分散の偏重を防止することができる。
【００１８】
また、本発明では、情報を抽出する際に、抽出する情報がフレームに含まれていない場合には、予め設定したデフォルトの情報を抽出情報として扱うようにしたから、この場合にも送信キューを選択することができる。このため、フレームに異なるプロトコルが混在していても、容易に扱うことができ、確実に送信キューを選択することができる。
【００１９】
また、本発明では、リンク数や使用可能帯域を用いて剰余を算出するため、リンク数が偶数及び奇数であっても負荷分散を適用することができる。さらに、抽出した情報に起因した値とリンクに対応する送信キューとを一意に結びつけるセレクタテーブルやデータベースを別途備える必要はなく、送信キューに格納されているフレームを順次検索する必要もないため、送信キューを容易に選択することが可能である。
【００２０】
また、本発明では、閉塞されていないリンク数や使用可能帯域を定期的に監視し、送信キューに格納されたフレーム量（送信キュー長）と使用可能帯域に応じて、送信ノードに到着したフレームを一時的に格納する一時格納キューから取り出しを停止するようにしたから、動的に閉塞されていないリンク数及び使用可能帯域が変化した場合においても、フレームの送信順序性を損なうことなく良好な負荷分散を行うための送信キューの選択が可能である。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００２２】
本発明の第１の実施例における負荷分散装置の構成について説明する。図１は、第１の実施例における負荷分散装置である送信ノードの構成を示すブロック図である。送信ノード１００は、イングレスポート１３０、イングレスインタフェース１０１、フレームディストリビュータ１１１、送信キュー１６１〜１６３、イーグレスインタフェース１２１〜１２３、イーグレスポート１３１〜１３３及びリンク１４０〜１４３，１５０，１５１−１，１５１−２，１５２−１，１５２−２，１５３−１，１５３−２を備えている。イングレスポート１３０とイングレスインタフェース１０１は、リンク１４０を介して接続され、イングレスインタフェース１０１とフレームディストリビュータ１１１は、リンク１５０を介して接続される。また、フレームディストリビュータ１１１と送信キュー１６１〜１６３は、リンク１５１−１〜１５３−１を介してそれぞれ接続され、送信キュー１６１〜１６３とイーグレスインタフェース１２１〜１２３は、リンク１５１−２〜１５３−２を介してそれぞれ接続される。つまり、フレームディストリビュータ１１１とイーグレスインタフェース１２１〜１２３は、送信キュー１６１〜１６３を経由してそれぞれ接続される。さらに、イーグレスインタフェース１２１〜１２３とイーグレスポート１３１〜１３３は、リンク１４１〜１４３を介してそれぞれ接続される。
【００２３】
次に、本発明の第１の実施例における負荷分散装置の動作について説明する。図３は、図１に示した送信ノード１００の動作を示すフロー図である。送信ノード１００のイングレスインタフェース１０１は、イングレスポート１３０を介して、外部からフレームを受信する。フレームディストリビュータ１１１は、イングレスインタフェース１０１から転送されるフレームを受信する（ステップＳ３０１）。
【００２４】
フレームディストリビュータ１１１は、受信したフレームの中の少なくとも一つの項目から情報を抽出する（ステップＳ３０２）。ここで、フレームの中の項目とは、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレーム含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、当該フレームに含まれる上位プロトコルのユーザデータをいう。
【００２５】
フレームのヘッダから抽出できる情報には、イーサネット（登録商標）の場合、図２の例に示すフレーム２００の中の、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、長さ／タイプがある。また、フレーム２００の中にＶＬＡＮタグを含む場合には、さらに、ＶＬＡＮプロトコルＩＤ、優先度、ＣＦＩ、ＶＬＡＮ識別子もある。ここではイーサネット（登録商標）の場合を示したが、トークンリングやＦＤＤＩの場合についてもその構成要素の情報を抽出することが可能であり、ＬＬＣ／ＳＮＡＰフォーマットの場合も同様に構成要素の情報を抽出することが可能である。また、将来イーサネット（登録商標）のフレーム構成が拡張され、構成要素が増える場合についても、その構成要素の情報を抽出することが可能である。
【００２６】
フレームのトレイラから抽出できる情報には、図２に示したように、ＦＣＳ（フレームチェックシーケンス）がある。また、ＡＴＭ（非同期転送モード）の場合には、ＡＡＬのトレイラ情報を抽出することが可能である。尚、フレームのトレイラから抽出できる情報を、ＦＣＳやＡＡＬのトレイラ情報に限定するものではない。
【００２７】
フレームに含まれる上位プロトコルのヘッダから抽出できる情報には、レイヤ３におけるＩＰヘッダに含まれる宛先ＩＰアドレス、送信元ＩＰアドレス、プロトコル種別、ポート番号、ＴＯＳ等があり、さらに、ＩＰｖ６、ＭＰＬＳ、ＩＥＥＥ１３９４Ｉｓｏｃｈｒｏｎｏｕｓ等のヘッダがある。また、レイヤ４以上では、ＴＣＰ、ＵＤＰ、ＲＴＰ、ＲＴＣＰ等のヘッダ、ＳＩＰ、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰ、ＰＯＰ、ＳＮＭＰ等のヘッダや、ＪＰＥＧ、ＭＰＥＧ／Ａｕｄｉｏ、ＭＰＥＧ２−ＰＳ（Ｐｒｏｇｒａｍ  Ｓｔｒｅａｍ）、ＭＰＥＧ２−ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）等のヘッダもある。
【００２８】
フレームに含まれる上位プロトコルのユーザデータから抽出される情報には、ユーザデータ中の特徴的なビット列またはバイト列がある。
【００２９】
フレームディストリビュータ１１１は、ステップ３０２において抽出した情報を、予め設定した配置順序（マッピングルール）に基づいて、一つまたは複数の構成要素（フレームエレメント）群を配列し、その結果を整数値ｘとする（ステップＳ３０３）。尚、フレームディストリビュータ１１１は、フレームから情報を抽出する際に、抽出する情報が、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレーム含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータに含まれていない場合には、抽出情報として、予め設定したデフォルトの情報（デフォルト値）を使用する。
【００３０】
マッピングルールは、予め作成しておくものとする。マッピングルールは、例えば、図４に示す配列４００のように、優先度、ＣＦＩ、ＶＬＡＮ識別子、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、及び宛先ＩＰアドレスの順でマッピングする。例えば、前述のデフォルト情報を０（デフォルト値を０）と設定した場合、フレームの中に抽出する情報が存在しないときは、マッピングルールの配列に、パディングビットとして０を挿入する。また、８の倍数のビットでない情報、例えばＶＬＡＮ識別子（１２ビット）を抽出した場合には、ＭＳＢ側またはＬＳＢ側に４ビットの予め設定したデフォルトのパディングビットを挿入し、８の倍数である１６ビットになるように調整する。尚、図２に示したフレーム２００のように、ＶＬＡＮ識別子（１２ビット）、優先度（３ビット）及びＣＦＩ（１ビット）を併せると８の倍数である１６ビットになる場合には、デフォルトのパディングビットを挿入する必要はない。
【００３１】
フレームディストリビュータ１１１は、ステップ３０３において得た整数値ｘを、入力に対して一意に定まり且つ偏りのないランダムな出力が得られる関数Ｆ（ｘ）を用いて変換する（ステップＳ３０４）。この結果をｙ＝Ｆ（ｘ）とする。例えば、Ｆ（ｘ）の関数には、フレームチェック等で用いられるＣＲＣ、通信の暗号化の補助で使用例のあるＭＤ（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ）２、ＭＤ４、ＭＤ５、ＲＩＰＥＭＤ、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）等のハッシュ関数がある。また、Ｆ（ｘ）の関数として、ロジスティック写像を用いるカオス関数がある。Ｆ（ｘ）関数は、不定長データを入力して固定長データを出力する関数であるが、これに限定するものではなく、不定長データを入力して可変長データを出力する関数であってもよい。また、Ｆ（ｘ）関数に逆関数が存在してもよい。要するに、入力に対して一意に定まり且つ偏りのないランダムな出力が得られる関数要件を満たしていればよい。また、Ｆ（ｘ）の関数により出力される出力データの最大値が、リンク数Ｎより十分に大きい値であることにより、より良好な負荷分散を実現できる。
【００３２】
フレームディストリビュータ１１１は、送信すべきリンク数をＮとして、送信ノード１００から単一または複数の受信ノードに対して接続された複数のリンクの帯域が同一である場合は、ｙをリンクの総数Ｎで剰余をとり、ｎ＝（ｙ  ｍｏｄ  Ｎ）を求める（ステップＳ３０５）。また、フレームディストリビュータ１１１は、ステップ３０５において算出したｎにより、第ｎ＋１番目のリンクに対応する送信キューを選択するように一意にリンクを選択する（ステップＳ３０６）。
【００３３】
一方、リンクの利用可能な帯域が異なる場合には、ｙをリンクの総数Ｎで剰余をとる前述の選択方法では、受信フレームの比例分配が不可能になってしまう。そのため、リンクの送信可能帯域の割合に応じてリンクを決定する必要がある。すなわち、フレームディストリビュータ１１１は、送信ノードから単一または複数の受信ノードに対して接続された複数のリンクにおいて、それぞれに利用可能な帯域をＳ１からＳＮとした場合に、ｙを被除数、Ｓ１からＳＮまでの総和を除数として、次式に示す剰余ｋを算出する。
【数１】
2005252758.tif 000003
【００３４】
この場合、フレームディストリビュータ１１１は、ステップ３０６において、次式に示すようにＳ１からＳ０までの総和を０として、
【数２】
2005252758.tif 000004
次式に示すように当該剰余ｋが（Ｓ１からＳ（ｎ−１）までの総和）から（Ｓ１からＳｎまでの総和−１）までの範囲内にある場合には、ｎ番目のリンクに対応する送信キューを選択する。
【数３】
2005252758.tif 000005
【００３５】
例えば、ステップ３０４〜３０６において、リンク１４１の送信可能帯域Ｓ１＝１０Ｇｂｐｓ、リンク１４２の送信可能帯域Ｓ２＝２Ｇｂｐｓ、リンク１４３の送信可能帯域Ｓ３＝２Ｇｂｐｓである場合、各リンクに対応する送信キューが選択される確率は、Ｓ１：Ｓ２：Ｓ３（１０：２：２）になるように比例分配されることになる。関数Ｆ（ｘ）は、リンク群の送信可能帯域の総和Ｓ（＝Ｓ１＋Ｓ２＋Ｓ３）以上に十分大きい値になるように選択されるものとする。ｙ＝Ｆ（ｘ）としたとき、ｋ＝（ｙ  ｍｏｄ  Ｓ）とする。ここで、フレームディストリビュータ１１１は、剰余ｋに基づいて、０≦ｋ＜１０の場合は、１番目のリンク１４１に対応する送信キュー１６１を選択し、１０≦ｋ＜１２の場合は、２番目のリンク１４２に対応する送信キュー１６２を選択し、１２≦ｋ＜１４の場合は、３番目のリンク１４３に対応する送信キュー１６３を選択する。これにより、各送信可能帯域の割合に応じて、リンクに対応する送信キューを選択できる。
【００３６】
そして、フレームディストリビュータ１１１は、選択した送信キューにフレームを送信する（ステップＳ３０７）。
【００３７】
以上のように、上記実施例１においては、マッピングルールの配列のフレームエレメントに、宛先ＭＡＣアドレス及び送信元ＭＡＣアドレスだけでなく、優先度、ＣＦＩ、ＶＬＡＮ識別子及び宛先ＩＰアドレスも含むようにしたから、宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとが同一であっても、それ以外の優先度等のいずれか一つの情報に差異があれば、それぞれの送信キューにフレームを分散させることができる。
【００３８】
また、上記実施例１においては、関数Ｆ（ｘ）変換後の下位ビットを用いるのではなく、送信すべきリンク数による剰余を用いてリンクに対応する送信キューを選択するようにしたから、送信すべきリンク数が偶数または奇数のいずれの場合であっても適用することができる。また、上記実施例１においては、関数Ｆ（ｘ）変換後に、ｘ及びそれに対応する方路を決定するためのテーブルを設ける必要がなく、そのテーブルを参照する必要もない。さらに、上記実施例１においては、送信すべきリンクの帯域が同一の場合だけでなく異なる場合にも適応することができる。
【実施例２】
【００３９】
次に、本発明の第２の実施例における負荷分散装置の構成について説明する。図５は、第２の実施例における負荷分散装置である送信ノードの構成を示すブロック図である。送信ノード５００は、イングレスポート５３０、イングレスインタフェース５０１、ＦＩＦＯキュー５６０、遅延機構５７０、フレームディストリビュータ５１１、送信キュー５６１〜５６３、イーグレスインタフェース５２１〜５２３、イーグレスポート５３１〜５３３及びリンク５４０〜５４３，５５０−１，５５０−２，５５１−１〜５５１−３，５５２−１〜５５２−３，５５３−１〜５５３−３を備えている。イングレスポート５３０とイングレスインタフェース５０１は、リンク５４０を介して接続される。イングレスインタフェース５０１とＦＩＦＯキュー５６０は、リンク５５０−１を介して接続され、遅延機構５７０とフレームディストリビュータ５１１は、リンク５５０−２を介して接続される。すなわち、イングレスインタフェース５０１とフレームディストリビュータ５１１は、ＦＩＦＯキュー５６０及び遅延機構５７０を経由して接続される。また、フレームディストリビュータ５１１と送信キュー５６１〜５６３は、リンク５５１−１〜５５３−１を介してそれぞれ接続され、送信キュー５６１〜５６３とイーグレスインタフェース５２１〜５２３は、リンク５５１−２〜５５３−２を介してそれぞれ接続される。つまり、フレームディストリビュータ５１１とイーグレスインタフェース５２１〜５２３は、送信キュー５６１〜５６３を経由してそれぞれ接続される。また、イーグレスインタフェース５２１〜５２３及びイーグレスポート５３１〜５３３は、リンク５４１〜５４３を介してそれぞれ接続される。さらに、イーグレスインタフェース５２１〜５２３とフレームディストリビュータ５１１は、リンク５５１−３〜５５３−３を介してそれぞれ接続される。
【００４０】
次に、本発明の第２の実施例における負荷分散装置の動作について説明する。図６は、図５に示した送信ノード５００の動作を示すフロー図である。送信ノード５００のイーグレスインタフェース５２１〜５２３は、イーグレスポート５３１〜５３３にそれぞれ接続された複数のリンクの内、閉塞されていないリンク数をＭ、ｍ番目のリンクの使用可能帯域の整数値をＳｍとした場合のリンク数Ｍ及び使用可能帯域Ｓ１〜ＳＭを定期的に監視する（ステップＳ６２１）。そして、イーグレスインタフェース５２１〜５２３は、これらの監視情報をリンク５５１−３〜５５３−３を介してフレームディストリビュータ５１１へ伝達する。この場合、リンク数Ｍの監視周期と使用可能帯域Ｓ１〜ＳＭの監視周期とを同一にしてもよいし、異なるようにしてもよい。
【００４１】
フレームディストリビュータ５１１は、イーグレスインタフェース５２１〜５２３から伝達された観測値であるリンク数Ｍ及び使用可能帯域Ｓ１〜ＳＭと、前回の観測値とを比較し、変化の有無を判定する（ステップＳ６２２）。尚、初回の場合は、今回の観測値と予め設定された初期値とを比較する。ここでは今回の観測値と前回の観測値とを比較するようにしたが、サンプル数を多く保持し、平均値、最小２乗法、スプライン補間、統計解析による予測値を利用するようにしてもよい。また、ここでは変化の有無を観測値の比較から判定するようにしたが、乖離率を求め、ある一定の乖離率以上の場合に変化有りを判定するようにしてもよい。
【００４２】
リンク数Ｍは、リンクが物理的に切断された場合だけでなく、手動により閉塞された場合や、ＳＴＰ（Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）に代表されるようなプロトコルによって閉塞された場合にも変化する。また、使用可能帯域Ｓ１〜ＳＭは、通常、リンクのエラーレートの増減や、ｘＤＳＬ（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）リンクのような電気信号の劣化の影響により変化し、フロー制御やＩＥＥＥ８０２．３ｘに代表されるＰＡＵＳＥ受信・バックプレッシャにより一時的に変化する。
【００４３】
フレームディストリビュータ５１１は、送信リンクに対する全送信キュー５６１〜５６３における実際の送信キュー５６１〜５６３に格納されたフレーム量を当該リンクの使用可能帯域Ｓｍで除した値の中で、最大値を取得する（ステップＳ６２３）。この最大値をＴｗとする。また、便宜的に、送信リンクに対応する送信キュー５６１〜５６３のうち、最大数格納できるフレーム量（送信キュー５６１〜５６３の容量）を、当該リンクの使用可能帯域Ｓｍで除した値の中で、最大値を取得したものをＴｗとしてもよい。
【００４４】
フレームディストリビュータ５１１は、遅延機構５７０によりＦＩＦＯキュー５６０においてフレームを遅延時間Ｔｗの間停止するように、後述するステップ６０２へ割り込みを行う。また、遅延時間Ｔｗの間は、送信キュー５６１〜５６３は、イーグレスインタフェース５２１〜５２３へフレームをそれぞれ転送し続ける。
【００４５】
一方、イングレスインタフェース５０１は、イングレスポート５３０を介して、外部からフレームを受信する。ＦＩＦＯキュー５６０は、イングレスインタフェース５０１から転送されるフレームを受信し、一時的に格納する（ステップＳ６０１）。
【００４６】
ＦＩＦＯキュー５６０は、格納したフレームをフレームディストリビュータ５１１へ送信する（ステップＳ６０２）。この場合、ステップ６２４において、遅延時間Ｔｗの間送信すべきフレームの取り出しを停止するようにフレームディストリビュータ５１１から割り込みがあれば、遅延機構５７０は、ＦＩＦＯキュー５６０からフレームディストリビュータ５１１へのフレームの送信を停止する。
【００４７】
フレームディストリビュータ５１１は、前述の割り込みを行わない場合または割り込みを行い遅延時間Ｔｗ経過した場合に、ＦＩＦＯキュー５６０の先頭からフレームを取り出す（ステップＳ６０３）。ＦＩＦＯキュー５６０が空の場合には、取り出しを行わない。
【００４８】
以下に示すステップ６０４から６０９の動作は、図１に示した実施例１のステップ３０２から３０７の動作とそれぞれ同一である。フレームディストリビュータ５１１は、受信したフレームの中の少なくとも一つの項目から情報を抽出する（ステップＳ６０４）。ここで、フレームの中の項目とは、図１に示した実施例１と同様に、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレーム含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、当該フレームに含まれる上位プロトコルのユーザデータをいう。
【００４９】
フレームディストリビュータ５１１は、ステップ６０４において抽出した情報を、予め設定した配置順序に基づいて、一つまたは複数のフレームエレメント群に配列し、その結果を整数値ｘとする（ステップＳ６０５）。尚、フレームディストリビュータ５１１は、フレームから情報を抽出する際に、抽出する情報が、送信すべきフレームのヘッダ、当該フレームのトレイラ、当該フレーム含まれる上位プロトコルのヘッダ、当該フレームに含まれる上位プロトコルのトレイラ、及び当該フレームに含まれる上位プロトコルのユーザデータに含まれていない場合には、図１に示した実施例１と同様に、抽出情報として、予め設定したデフォルトの情報（デフォルト値）を使用する。
【００５０】
フレームディストリビュータ５１１は、ステップ６０５において得た整数値ｘを、入力に対して一意に定まり且つ偏りのないランダムな出力が得られる関数Ｆ（ｘ）を用いて変換する（ステップＳ６０６）。この結果をｙ＝Ｆ（ｘ）とする。
【００５１】
また、フレームディストリビュータ５１１は、リンク数Ｍ及びリンクの使用可能帯域Ｓ１〜ＳＭの割合に応じて次式に示す剰余ｋを算出する（ステップＳ６０７）。すなわち、ｙを被除数、Ｓ１〜ＳＭまでの総数を除数とした場合の剰余ｋを算出する。
【数４】
2005252758.tif 000006
【００５２】
この場合、フレームディストリビュータ５１１は、ステップ６０７において、次式に示すようにＳ１からＳ０までの総和を０として、
【数５】
2005252758.tif 000007
次式に示すように当該剰余ｋが（Ｓ１からＳ（ｍ−１）までの総和）から（Ｓ１からＳｍまでの総和−１）までの場合には、ｍ番目のリンクに対応する送信キューを選択する。
【数６】
2005252758.tif 000008
【００５３】
そして、フレームディストリビュータ１１１は、選択した送信キューにフレームを送信する（ステップＳ６０９）。
【００５４】
以上のように、上記実施例２においては、前述した実施例１と同等の効果を奏する。さらに、上記実施例２においては、閉塞されていないリンク数Ｍ及び使用可能帯域Ｓ１〜ＳＭを定期的に監視し、送信キュー５６１〜５６３に格納したフレーム量と使用可能帯域Ｓ１〜ＳＭに応じて、送信ノード５００が受信したフレームを一時的に格納するＦＩＦＯキュー５６０からの取り出しを停止するようにした。これにより、閉塞されていないリンク数Ｍ及び使用可能帯域Ｓ１〜ＳＭが変化した場合であっても、フレームの順序性を損なうことなく良好に負荷分散を実現することができる。
【００５５】
また、上記実施例１及び２において、送信ノード１００，５００は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、キーボードやポインティングデバイス等の入力装置、画像やデータを表示するモニタ装置、及び外部の装置と通信をするためのインタフェースを備えたコンピュータ装置によってそれぞれ構成されるようにしてもよい。この場合、送信ノード１００に備えたイングレスインタフェース１０１、フレームディストリビュータ１１１、送信キュー１６１〜１６３及びイーグレスインタフェース１２１〜１２３の各機能、及び送信ノード５００に備えたイングレスインタフェース５０１、ＦＩＦＯキュー５６０、遅延機構５７０、フレームディストリビュータ５１１、送信キュー５６１〜５６３及びイーグレスインタフェース５２１〜５２３は、これらの機能を記述したプログラムをＣＰＵに実行させることにより実現される。また、これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【００５６】
以上、実施例１及び２を挙げて本発明を説明したが、上記の説明は、本発明の理解を助けるものであって、本発明の特許請求の範囲を制限するものではない。従って、本発明の要旨を逸脱しない限り、種々変形が可能であり、本発明の目的を達し、効果を奏する範囲において、適宜変更して実装等することが可能である。
【００５７】
図１または５に示したイーグレスポート１３１〜１３３，５３１〜５３３が接続される受信ノードは図示されていないが、同一の受信ノードであっても異なる受信ノードであってもよい。また、入力に対して一意に定まり且つ偏りのないランダム出力を得ることが可能な関数Ｆ（ｘ）は、当業者によく知られた関数であるため、ここでは詳細な説明を省略する。また、負荷分散するリンク数としてＭ＝３の場合を説明したが、この数に制限するものではなく、Ｍ＝１，２においても適用でき、３以上であっても適用できる。
【図面の簡単な説明】
【００５８】
【図１】本発明の負荷分散装置の第１の実施例における送信ノードの構成を示すブロック図である。
【図２】フレーム構成例を示す図である。
【図３】図１に示した送信ノードの動作を示すフロー図である。
【図４】配列例を示す図である。
【図５】本発明の負荷分散装置の第２の実施例における送信ノードの構成を示すブロック図である。
【図６】図５に示した送信ノードの動作を示すフロー図である。
【符号の説明】
【００５９】
１００，５００  送信ノード
１０１，５０１  イングレスインタフェース
１１１，５１１  フレームディストリビュータ
１２１〜１２３，５２１〜５２３  イーグレスインタフェース
１３０，５３０  イングレスポート
１３１〜１３３，５３１〜５３３  イーグレスポート
１４０〜１４３，１５０，１５１−１，１５１−２，１５２−１，１５２−２，１５３−１，１５３−２，５４０〜５４３，５５０−１，５５０−２，５５１−１〜５５１−３，５５２−１〜５５２−３，５５３−１〜５５３−３  リンク
１６１〜１６３，５６１〜５６３  送信キュー
２００  フレーム
４００  配列
５６０  ＦＩＦＯキュー
５７０  遅延機構
【図１】
2005252758.tif 000009
【図２】
2005252758.tif 000010
【図３】
2005252758.tif 000011
【図４】
2005252758.tif 000012
【図５】
2005252758.tif 000013
【図６】
2005252758.tif 000014