(57)【要約】［課題］  可変長データに対応するとともに各伝送路バッファの閾値が動的に変化するような場合であっても、各伝送路に対して適切な負荷分散を実行することが可能なロードバランス制御ユニット、ロードバランス制御方法、および記録媒体を提供する。［解決手段］  ロードバランス制御ユニットは、所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置におけるロードバランス制御ユニットであって、前記伝送路毎に設けられる振り分けバッファと、前記各振り分けバッファ毎に、上限滞留閾値を設定する閾値設定手段と、前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する振り分け判定手段と、を備える。
2011118542.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置におけるロードバランス制御ユニットであって、
前記伝送路毎に設けられる振り分けバッファと、
前記各振り分けバッファ毎に、上限滞留閾値を設定する閾値設定手段と、
前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する振り分け判定手段と、
を備えることを特徴とするロードバランス制御ユニット。
【請求項２】
前記振り分け判定手段は、前記ユニットデータを前記各振り分けバッファに書き込む際、前記各ユニットデータの順番を示す順序情報を付与することを特徴とする請求項１記載のロードバランス制御ユニット。
【請求項３】
前記各上限滞留閾値は、各伝送路の変調方式に応じた伝送容量に応じて決定されることを特徴とする請求項１または２記載のロードバランス制御ユニット。
【請求項４】
前記変調方式は、動的に変化することを特徴とする請求項３記載のロードバランス制御ユニット。
【請求項５】
所定の２つの伝送路における各振り分けバッファの上限滞留閾値同士の比率は、該２つの伝送路の伝送容量同士の比率と等しくなるように設定されることを特徴とする請求項３または４記載のロードバランス制御ユニット。
【請求項６】
送信元の伝送装置から前記複数の伝送路を介して、振り分けられたユニットデータを受信し他の装置へ送信する送信手段を、さらに備え、
前記送信手段は、前記各振り分けバッファに格納された各ユニットデータの前記順序情報を確認し、前記順序情報に基づいてユニットデータを順番に読み出し、読み出したユニットデータを前記他の装置へ送信する送信順序制御手段、を含むことを特徴とする請求項２〜５のいずれか１項に記載のロードバランス制御ユニット。
【請求項７】
所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置におけるロードバランス制御方法であって、
前記伝送路毎に設けられる振り分けバッファ毎に上限滞留閾値を設定し、
前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する
ことを特徴とするロードバランス制御方法。
【請求項８】
前記ユニットデータを前記各振り分けバッファに書き込む際、前記各ユニットデータの順番を示す順序情報が付与されることを特徴とする請求項７記載のロードバランス制御方法。
【請求項９】
前記各上限滞留閾値は、各伝送路の変調方式に応じた伝送容量に応じて決定されることを特徴とする請求項７または８記載のロードバランス制御方法。
【請求項１０】
前記変調方式は、動的に変化することを特徴とする請求項９記載のロードバランス制御方法。
【請求項１１】
所定の２つの伝送路における各振り分けバッファの上限滞留閾値同士の比率は、該２つの伝送路の伝送容量同士の比率と等しくなるように設定されることを特徴とする請求項９または１０記載のロードバランス制御方法。
【請求項１２】
所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置のコンピュータに、
前記伝送路毎に設けられる振り分けバッファ毎に上限滞留閾値を設定する処理と、
前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する処理と、
を実行させるためのコンピュータプログラムを記憶する記憶媒体。
【請求項１３】
請求項１〜６のいずれか１項に記載のロードバランス制御ユニットと、
所定のユーザ側回線から前記ユニットデータを受信し、前記ロードバランス制御ユニットへ供給する機能を少なくとも有する受信ユニットと、
前記ロードバランス制御ユニットから受信するデータに対して変調処理を行う機能を少なくとも有する変調ユニットと、
前記変調ユニットから受信するデータを対向装置へ送信する機能を少なくとも有する送信ユニットと、
を備えることを特徴とする伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロードバランス制御ユニット、ロードバランス制御方法、および記憶媒体に関する。
【背景技術】
【０００２】
一般的に、１つの無線回線の帯域は、数百Ｍｂｐｓ程度である。一方、ユーザ側の回線の場合、例えば、１Ｇｂｐｓ（ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）や１０Ｇｂｐｓといった大きな帯域となる。この帯域ギャップを解消するために、複数の無線回線を用いることにより、無線回線の総帯域を増加させる手法が知られている。その場合、各無線回線への負荷が偏らないようにするためのロードバランス制御（負荷分散制御とも呼ぶ）が実施されている。
ロードバランス制御の一例として、例えば、負荷（例えば、送信パケットや送信フレーム）を、各無線回線へ順繰りに割り振ってゆく、所謂「ラウンドロビン」によるロードバランス制御を挙げることができる。例えば、フレーム列（１、２、３、４、５・・・）を２つの無線回線に振り分ける場合、一方の回線バッファにはフレーム１、３、５・・・が振り分けられ、他方の回線バッファにはフレーム２、４・・・が振り分けられる。
また、特許文献１は、各々の回線毎に、設定された閾値とデータ送信量との差に基づき、利用できる残回線容量を計算することで、増加した送信データや特定回線で溢れた送信データを、残回線容量を有する回線に振り分ける負荷分散技術について記載する。
また、特許文献２は、所定のバッファ（回線毎に設けられた各バッファ）のデータ記憶量が記憶容量の設定閾値を超えた場合に、他のバッファへ切替えて外部ネットワークから受信したデータを記憶させる負荷分散技術について記載する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１３６２０８号公報
【特許文献２】特開２００６−３４５３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
振り分けられるフレームが固定長の場合は、ラウンドロビン方式でも特に問題はない。しかしながら、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）のように、フレーム長が変化する通信プロトコルの場合、単純なラウンドロビン方式での振り分けでは問題が生じる可能性がある。例えば、一方の回線バッファに大きなフレームが書き込まれてその回線バッファがＦｕｌｌになったケースを想定する。ラウンドロビンの場合は、上述したように、フレームを交互に振り分けるというルールがあるため、上記ケース時において、一方の回線バッファがＦｕｌｌになった場合、たとえ他方の回線バッファに余裕があってもそれ以上のフレームを他方の回線バッファに書き込むことができなくなってしまう。従って、一方の回線の帯域が有効に活用されず、また、場合によっては、データロス等の発生も懸念される。さらに、回線毎の伝送遅延にばらつきが生じ、これによりフレームの送信順序が逆転する場合もある。すなわち、可変長フレームをラウンドロビン方式により振り分ける場合、フレームの送信順序が保証できなくなるケースも考えられる。
さらに、可変長フレームに対応するとともに、例えば、回線バッファの閾値が動的に変化するような構成の場合、フレームの振り分け処理は、さらに複雑となり、単純なラウンドロビンではとても対応することができない。
特許文献１および特許文献２も、可変長フレームに対応するとともに回線バッファの閾値が動的に変化するような場合において適切な負荷分散を行うことが可能な技術について、十分に開示しているとは言い難い。
本発明は、可変長データに対応するとともに各伝送路バッファの閾値が動的に変化するような場合であっても、各伝送路に対して適切な負荷分散を実施することが可能なロードバランス制御ユニット、ロードバランス制御方法、および記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明のロードバランス制御ユニットは、所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置におけるロードバランス制御ユニットであって、前記伝送路毎に設けられる振り分けバッファと、前記各振り分けバッファ毎に、上限滞留閾値を設定する閾値設定手段と、前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する振り分け判定手段と、を備える。
また、本発明のロードバランス制御方法は、所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置におけるロードバランス制御方法であって、前記伝送路毎に設けられる振り分けバッファ毎に上限滞留閾値を設定し、前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する。
また、本発明の記憶媒体は、所定のデータ長に区切られて送信される複数のユニットデータを、複数の伝送路を介して対向装置へ送信する伝送装置のコンピュータに、前記伝送路毎に設けられる振り分けバッファ毎に上限滞留閾値を設定する処理と、前記ユニットデータ毎に、前記各振り分けバッファの滞留状況および前記各上限滞留閾値と、前記ユニットデータのデータ量とを考慮して前記ユニットデータをどの振り分けバッファに書き込むかを決定する処理と、を実行させるためのコンピュータプログラムを記憶する。
【発明の効果】
【０００６】
本発明によれば、可変長データに対応するとともに各伝送路バッファの閾値が動的に変化するような場合であっても、各伝送路に対して適切な負荷分散を実施することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係る伝送システムの構成例を説明するためのブロック図である。
【図２】図１に示すロードバランス制御部４２の構成例を示すブロック図である。
【図３】第１振り分けバッファにおける、フレーム書き込み処理の一例を説明する概念図である。（ａ）は、所定のフレームを書き込む際に、現在の滞留量と書き込み対象のフレームのデータ量の総和が第１閾値を下回る場合を示す。（ｂ）は、総和が第１閾値を上回る場合を示す。
【図４】第１無線回線と第２無線回線の伝送容量が等しい場合（すなわち、第１閾値と第２閾値とが等しい場合）における、第１振り分けバッファと第２振り分けバッファへのフレーム振り分け例を説明する概念図である。
【図５】第１無線回線と第２無線回線の伝送容量が異なる場合（すなわち、第１閾値と第２閾値とが異なる場合）における、第１振り分けバッファと第２振り分けバッファへのフレーム振り分け例を説明する概念図である。
【図６】第１振り分けバッファおよび第２振り分けバッファへ書き込まれるフレームのフォーマット例を示すフレームフォーマット図である。
【図７】図２に示す振り分け判定部の動作例を説明するためのフローチャートである
【図８】図２に示す第１受信バッファのメモリ構造例を説明するためのメモリマップである。
【図９】図２に示す送信順序制御部の動作例を説明するためのフローチャートである。
【図１０】本発明の他の実施形態に係るロードバランス制御ユニットの構成例を示すブロック図である。
【発明を実施するための形態】
【０００８】
図１は、本発明の実施形態に係る伝送システム１０の構成例を説明するためのブロック図である。伝送システム１０は、第１無線伝送装置１２と第２無線伝送装置１４とを備える。ここで、第１無線伝送装置１２と第２無線伝送装置１４は、同一の構成であるものとする。第１無線伝送装置１２と第２無線伝送装置１４とは、複数の無線回線（本実施形態では、例えば、第１無線回線２０および第２無線回線２２）を介して互いに接続される。第１無線回線２０および第２無線回線２２は、各々に、双方向でデータの送受信が可能である。すなわち、伝送システム１０は、複数の無線回線を設けることにより、二地点間（図１の場合、第１無線伝送装置１２と第２無線伝送装置１４との間）の帯域を増加させている。また、第１無線伝送装置１２の他端は、ユーザ側の回線としての一例である、Ｅｔｈｅｒｎｅｔ回線３０と接続される。
上述した通り、第１無線伝送装置１２と第２無線伝送装置１４は同一の構成であるので、以下、代表して第１無線伝送装置１２を用いて、無線伝送装置の構成について説明する。また、以下の説明では、第１無線伝送装置１２に着目して説明するので、以降、第２無線伝送装置１４のことを「対向装置」と呼ぶ場合がある。
第１無線伝送装置１２は、Ｅｔｈｅｒｎｅｔ送受信部４０（受信ユニット）と、ロードバランス制御部４２（ロードバランス制御ユニット）と、を備える。また、第１無線伝送装置１２は、無線回線（第１無線回線２０および第２無線回線２２）毎に、変復調部４４（４６）（変調ユニット）および無線送受信部４８（５０）（送信ユニット）を備える。
Ｅｔｈｅｒｎｅｔ送受信部４０は、Ｅｔｈｅｒｎｅｔ回線３０から受信した「Ｅｔｈｅｒｎｅｔデータ７０」を、「対向装置データ７２」として、対向装置（図１においては、例えば、第２無線伝送装置１４）へスイッチングする。また、Ｅｔｈｅｒｎｅｔ送受信部４０は、対向装置から受信した「対向装置データ７２」を、「Ｅｔｈｅｒｎｅｔデータ７０」として、Ｅｔｈｅｒｎｅｔ回線３０へスイッチングする。ここで、Ｅｔｈｅｒｎｅｔ送受信部４０は、各データのＭＡＣアドレスやＶＬＡＮ−ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）に基づいて、各データを、一方の装置から他方に装置へスイッチングする。ここで、ＭＡＣは、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓの略である。ＶＬＡＮは、Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。なお、ＭＡＣアドレスやＶＬＡＮ−ＩＤに基づいたスイッチング処理自体は、当業者に広く知られた技術であるため、ここでの説明は省略する。
ロードバランス制御部４２は、基本的には、第１〜第３の機能を備える。第１の機能は、第１無線回線２０および第２無線回線２２の各振り分けバッファ（図１においては不図示）の閾値を決定する機能（「閾値決定機能」）である。第２の機能は、Ｅｔｈｅｒｎｅｔ送受信部４０から受信した「対向装置データ７２」を、所定の基準に基づいて振り分け、振り分けたデータ（「振り分けデータ７４」、「振り分けデータ７６」）を、各変復調部４４、４６へ送信する機能（「振り分け機能」）である。第３の機能は、各変復調部４４、４６から受信した各振り分けデータ（「振り分けデータ７４」および「振り分けデータ７６」）の送信順序を整列させる制御を行い、送信順序が整列されたデータ列を、「対向装置データ７２」として、Ｅｔｈｅｒｎｅｔ送受信部４０へ送信する機能（「送信順序制御機能」）である。ここで、第１および第２の機能は、フレーム送信（具体的には、Ｅｔｈｅｒｎｅｔ回線３０からの受信フレームの対向装置への送信）に関する機能である。第３の機能は、フレーム受信（例えば、対向装置から受信した受信フレームのＥｔｈｅｒｎｅｔ回線３０への送信）に関する機能である。ロードバランス制御部４２における上記の第１〜第３の機能の詳細については、後述する。
ここで、本伝送システム１０は、ＡＭＲ（Ａｄａｐｔｉｖｅ  Ｍｏｄｕｌａｔｉｏｎ  Ｒａｄｉｏ）機能を備える。具体的には、変復調部４４は、第１無線回線２０の変調方式を制御する。変復調部４６は、第２無線回線２２の変調方式を制御する。尚、各無線回線の変調方式の変更は、各変復調部４４、４６が独自に決定してもよいし、上位の制御部（不図示）の指示に基づいて実行されてもよい。ここで、変調方式の変化に応じて無線回線の伝送容量が変化することが知られている。変復調部４４は、第１無線回線２０の変調方式に応じた伝送容量を求め、伝送容量情報７８として、ロードバランス制御部４２へ送信する。一方、変復調部４６は、第２無線回線２２の変調方式に応じた伝送容量を求め、伝送容量情報８０として、ロードバランス制御部４２へ送信する。
また、変復調部４４は、ロードバランス制御部４２から受信した、第１無線回線２０への「振り分けデータ７４」を、「無線回線データ８２」として、無線送受信部４８へ送信するとともに、無線送受信部４８から受信した、第１無線回線２０の「無線回線データ８２」を、「振り分けデータ７４」として、ロードバランス制御部４２へ送信する。一方、変復調部４６は、ロードバランス制御部４２から受信した、第２無線回線２２への「振り分けデータ７６」を、「無線回線データ８４」として、無線送受信部５０へ送信するとともに、無線送受信部５０から受信した、第２無線回線２２の「無線回線データ８４」を、「振り分けデータ７６」として、ロードバランス制御部４２へ送信する。
無線送受信部４８は、変復調部４４から受信した「無線回線データ８２」を、第１無線回線２０へ出力するとともに、第１無線回線２０から入力したデータを、「無線回線データ８２」として、変復調部４４へ送信する。一方、無線送受信部５０は、変復調部４６から受信した「無線回線データ８４」を、第２無線回線２２へ出力するとともに、第２無線回線２２から入力したデータを、「無線回線データ８４」として、変復調部４へ送信する。
図２は、図１に示すロードバランス制御部４２の構成例を示すブロック図である。ロードバランス制御部４２は、送信部１００と受信部１０２とを備える。
送信部１００は、Ｅｔｈｅｒｎｅｔ送受信部４０から入力した、Ｅｔｈｅｒｎｅｔフレームである「対向装置データ７２」を無線フレームに変換し、無線フレームとしての「振り分けデータ７４」および「振り分けデータ７６」として出力する。
送信部１００は、送信バッファ２００と、振り分け判定部２０２（振り分け判定手段）と、第１振り分けバッファ２０４（振り分けバッファ）と、第１無線フレーム変換部２０６と、第２振り分けバッファ２０８（振り分けバッファ）と、第２無線フレーム変換部２１０と、閾値決定部２１２（閾値設定手段）と、を備える。
送信バッファ２００は、Ｅｔｈｅｒｎｅｔ送受信部４０から入力した「対向装置データ７２」であるＥｔｈｅｒｎｅｔフレームを書き込むとともに、振り分け判定部２０２からの読み出し要求に基づいてＥｔｈｅｒｎｅｔフレームを読み出す。
振り分け判定部２０２は、Ｅｔｈｅｒｎｅｔフレーム毎に、第１振り分けバッファ２０４および第２振り分けバッファ２０８の書き込み前の各滞留量と該フレームのデータ量（フレーム長）との各総和が、バッファ毎に設定された各閾値（詳細については後述）を下回っているか否かを判定する。振り分け判定部２０２は、判定結果に応じて、Ｅｔｈｅｒｎｅｔフレームを、第１振り分けバッファ２０４および第２振り分けバッファ２０８のいずれかに書き込む（判定結果によっては、いずれの振り分けバッファにも書き込まない場合もある）。例えば、各総和が各閾値を下回っている場合、振り分け判定部２０２は、Ｅｔｈｅｒｎｅｔフレームを、各振り分けバッファにラウンドロビン方式により順繰りに書き込むことができる。あるいは、一方の振り分けバッファにおいて総和が閾値を上回っている場合、他方の振り分けバッファにフレームを連続的に書き込むこともできる。
尚、振り分け判定部２０２は、各振り分けバッファにＥｔｈｅｒｎｅｔフレームを書き込む際、各々のＥｔｈｅｒｎｅｔフレームにシーケンスＩＤ（順序情報）を付与する。ここで、シーケンスＩＤは、フレームの順番、換言すれば、受信側装置における下流側の装置に対する送信処理時のフレーム送信順序を示す指標である。例えば、図１において、第１無線伝送装置１２が受信側の装置である場合、シーケンスＩＤは、Ｅｔｈｅｒｎｅｔフレーム回線３０に対してのフレーム送信の順序を示す。
第１振り分けバッファ２０４は、振り分け判定部２０２から出力される、第１無線回線２０へ出力するためのＥｔｈｅｒｎｅｔフレームを書き込むともに、第１無線フレーム変換部２０６の要求に基づいて、第１無線回線２０へ出力するためのＥｔｈｅｒｎｅｔフレームを読み出し、第１無線フレーム変換部２０６へ出力する。第２振り分けバッファ２０８は、振り分け判定部２０２から出力される、第２無線回線２２へ出力するためのＥｔｈｅｒｎｅｔフレームを書き込むともに、第２無線フレーム変換部２１０の要求に基づいて、第２無線回線２２へ出力するためのＥｔｈｅｒｎｅｔフレームを読み出し、第２無線フレーム変換部２１０へ出力する。
第１無線フレーム変換部２０６は、第１振り分けバッファ２０４から読み出したＥｔｈｅｒｎｅｔフレームを無線フレームへと変換し、「振り分けデータ７４」として、変復調部４４へ出力する。第２無線フレーム変換部２１０は、第２振り分けバッファ２０８から読み出したＥｔｈｅｒｎｅｔフレームを無線フレームへと変換し、「振り分けデータ７６」として、変復調部４６へ出力する。
閾値決定部２１２は、変復調部４４から「伝送容量情報７８」（第１無線回線２０の変調方式に応じた伝送容量）を受信するとともに、変復調部４６から「伝送容量情報８０」（第２無線回線２２の変調方式に応じた伝送容量）を受信する。閾値決定部２１２は、「伝送容量情報７８」に基づいて、第１振り分けバッファ２０４の上限滞留量である「第１閾値９０」を決定する。また、閾値決定部２１２は、「伝送容量情報８０」に基づいて、第２振り分けバッファ２０８の上限滞留量である「第２閾値９２」を決定する。閾値決定部２１２は、各変復調部４４、４６から、所定のタイミング（例えば、所定の処理をトリガとするか、あるいは、所定周期で定期的に）で、「伝送容量情報７８」および「伝送容量情報８０」を受信し、それらの変化に応じて、「第１閾値９０」および「第２閾値９２」を動的に変更する。
受信部１０２は、変復調部４４および変復調部４６から各々に入力した、無線フレームである「振り分けデータ７４」および「振り分けデータ７６」をＥｔｈｅｒｎｅｔフレームに変換し、Ｅｔｈｅｒｎｅｔフレームとしての「対向装置データ７２」として出力する。
受信部１０２は、第１Ｅｔｈｅｒｎｅｔフレーム変換部２５０と、第２Ｅｔｈｅｒｎｅｔフレーム変換部２５２と、第１受信バッファ２５４と、第２受信バッファ２５６と、送信順序制御部２５８とを備える。
第１Ｅｔｈｅｒｎｅｔフレーム変換部２５０は、変復調部４４から受信した、無線フレームである「振り分けデータ７４」をＥｔｈｅｒｎｅｔフレームへと変換し、第１受信バッファ２５４へ書き込む。第２Ｅｔｈｅｒｎｅｔフレーム変換部２５２は、変復調部４６から受信した、無線フレームである「振り分けデータ７６」をＥｔｈｅｒｎｅｔフレームへと変換し、第２受信バッファ２５６へ書き込み。
第１受信バッファ２５４は、送信順序制御部２５８の読み出し要求に従い、Ｅｔｈｅｒｎｅｔフレームを読み出し、送信順序制御部２５８へ出力する。第２受信バッファ２５６は、送信順序制御部２５８の読み出し要求に従い、Ｅｔｈｅｒｎｅｔフレームを読み出し、送信順序制御部２５８へ出力する。
送信順序制御部２５８は、第１受信バッファ２５４および第２受信バッファ２５６に格納されたＥｔｈｅｒｎｅｔフレームのシーケンスＩＤを確認し、シーケンスＩＤに基づいてＥｔｈｅｒｎｅｔフレームを順番に読み出し、「対向装置データ７２」として、Ｅｔｈｅｒｎｅｔ送受信部４０へ送信する。
図３は、第１振り分けバッファ２０４における、フレーム書き込み処理の一例を説明する概念図である。図３において、（ａ）は、所定のフレームを書き込む際に、現在の滞留量と書き込み対象のフレームのデータ量の総和が第１閾値９０を下回る場合を示す。図３において、（ｂ）は、総和が第１閾値９０を上回る場合を示す。（ａ）において、例えば、フレーム２を第１振り分けバッファ２０４に書き込む際、第１振り分けバッファ２０４の書き込み前の滞留量（すなわち、フレーム１のデータ量）とフレーム２のデータ量との総和が、第１閾値９０を下回っている。従って、振り分け判定部２０２は、フレーム２を第１振り分けバッファ２０４へ書き込むことができる、と判断する。一方、（ｂ）において、例えば、フレーム３を第１振り分けバッファ２０４に書き込む際、第１振り分けバッファ２０４の書き込み前の滞留量（すなわち、フレーム１とフレーム２のデータ量の総和）とフレーム３のデータ量との総和が、第１閾値９０を上回っている。従って、振り分け判定部２０２は、フレーム３を第１振り分けバッファ２０４へ書き込むことができない、と判断する。尚、（ｂ）の状態から、例えば、フレーム１が読み出され、第１振り分けバッファ２０４の書き込み前の滞留量と書き込み対象のフレームのデータ量との総和が、第１閾値９０を下回った場合、該対象のフレームを、第１振り分けバッファ２０４へ書き込むことが可能となる。
尚、上記の説明では、第１振り分けバッファ２０４を例に挙げたが、第２振り分けバッファ２０８も上記と同様の振る舞いをすることは言うまでもない。また、図３では、フレームを、第１振り分けバッファ２０４に連続して書き込む場合を例に挙げた。しかしながら、第２振り分けバッファ２０８が書き込み可能な場合は、ラウンドロビンによって両方の振り分けバッファに順繰りに書き込まれるので、第１振り分けバッファ２０４に書き込まれるフレームのシーケンスＩＤは、例えば、１、３、・・・のように飛び飛びの値となる。
図４は、第１無線回線２０と第２無線回線２２の伝送容量が等しい場合（すなわち、第１閾値９０と第２閾値９２とが等しい場合）における、第１振り分けバッファ２０４と第２振り分けバッファ２０８へのフレーム振り分け例を説明する概念図である。第１無線回線２０と第２無線回線２２の伝送容量が等しい場合、振り分け判定部２０２は、各振り分けバッファの書き込み前の各滞留量と書き込み対象のフレームのデータ量との総和が各閾値を上回るまで、例えば、フレーム１〜フレーム４を、ラウンドロビンにて順繰りに各振り分けバッファに振り分ける。
図５は、第１無線回線２０と第２無線回線２２の伝送容量が異なる場合（すなわち、第１閾値９０と第２閾値９２とが異なる場合）における、第１振り分けバッファ２０４と第２振り分けバッファ２０８へのフレーム振り分け例を説明する概念図である。第１無線回線２０と第２無線回線２２の伝送容量が異なる場合、例えば、第２無線回線２２の伝送容量が第１無線回線２０の伝送容量より大きい場合、第１振り分けバッファ２０４には、図５に示すように、第１閾値９０が設定される。一方、第２振り分けバッファ２０８には、第１閾値９０に比して大きな第２閾値９２が設定される。この場合、例えば、第１閾値９０と第２閾値９２の比率は、伝送容量の比率と等しくなるように設定することもできる。図５に示す状態において、まず、振り分け判定部２０２は、第１振り分けバッファ２０４の書き込み前の滞留量（図５の場合、始めて書き込むので滞留量は０である）と書き込み対象のフレーム１のデータ量との総和が第１閾値９０を上回るか否かを判定する。例えば、フレーム１のデータ量が第１閾値９０を上回る場合、振り分け判定部２０２は、フレーム１を、第１振り分けバッファ２０４に書き込むことができないと判断する。そして、振り分け判定部２０２は、第２振り分けバッファ２０８の書き込み前の滞留量と書き込み対象であるフレーム１のデータ量との総和が第２閾値９２を上回るか否かを判定する。ここで、前述した通り、第２閾値９２は、第１閾値９０に比して大きく設定されているので、上記総和が第２閾値９２を上回ることがない。従って、フレーム１を第２振り分けバッファ２０８へ書き込むことができる。その後、書き込み対象のフレーム２、３のデータ量がいずれも第１閾値９０を上回る場合で且つ第２振り分けバッファ２０８の総和が第２閾値９２を下回る場合、フレーム２およびフレーム３は、第２振り分けバッファ２０８へ書き込まれる。すなわち、図５の場合、第１振り分けバッファ２０４には、１つのフレームも書き込まれず、一方、第２振り分けバッファ２０８には、フレーム１〜３が連続的に書き込まれる。
尚、例えば、フレーム２のデータ量が第１閾値９０より小さく且つ第１振り分けバッファ２０４にフレームが書き込まれていない場合、フレーム２は、第１振り分けバッファ２０４に書き込まれる。この場合、第１振り分けバッファ２０４には、フレーム２のみが書き込まれ、第２振り分けバッファ２０８には、フレーム１、３が書き込まれる。
図６は、第１振り分けバッファ２０４および第２振り分けバッファ２０８へ書き込まれるフレームのフォーマット例を示すフレームフォーマット図である。
まず、フレーム、例えば、Ｅｔｈｅｒｎｅｔフレームは、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）８０２．３で規定されている、ＭＡＣフレームを基本とする。ＭＡＣフレームは、宛先Ａｄｄｒｅｓｓ５０２と、送信元Ａｄｄｒｅｓｓ５０３と、Ｔｙｐｅ／Ｌｅｎｇｔｈ５０４と、Ｐａｙｌｏａｄ５０５と、ＦＣＳ（Ｆｒａｍｅ  ｃｈｅｃｋ  ｓｅｑｕｅｎｃｅ）５０６とを含む。さらに、該フレームの先頭には、シーケンスＩＤ５０１が付与される。ここで、シーケンスＩＤ５０１は、フレームの順番、換言すれば、受信側装置における下流側の装置に対する送信処理時のフレーム送信順序を示す指標である。前述した通り、本実施形態におけるロードバランス制御では、単純なラウンドロビンによる振り分けではなく、フレーム長の違いや無線回線の伝送容量に応じて振り分けを行うため、受信側装置側においてフレームの送信順序が分からなくなる場合がある。そこで、上記の如きシーケンスＩＤ５０１を各フレームに付与することにより、振り分け順が順不同となっている場合であっても、受信側装置は、フレームを元の順番通り送信することが可能となる。
図７は、図２に示す振り分け判定部２０２の動作例を説明するためのフローチャートである。該フローチャートに示す処理は、フレーム毎に実行される。また、以下に説明する処理に先立って、閾値決定部２１２は、各振り分けバッファ（例えば、第１振り分けバッファ２０４や第２振り分けバッファ２０８）の各閾値（例えば、「第１閾値９０」や「第２閾値９２」）を決定しておく。
振り分け判定部２０２は、送信バッファ２００に、振り分け対象となるフレーム（以下、簡略化して「対象フレーム」呼ぶ場合がある）が有るか否かを判定する（ステップＳ１）。対象フレームが有る場合（ステップＳ１においてＹｅｓ判定の場合）、振り分け判定部２０２は、振り分けバッファカウンタＸ（以下、単にカウンタＸと呼ぶ）の値を取得する（ステップＳ２）。ここで、カウンタＸには、今回の振り分け時にフレームを書き込む候補としての振り分けバッファの番号が示されている（前回書き込んだ振り分けバッファの次の振り分けバッファ番号がセットされる）。尚、カウンタＸは、無線回線番号、すなわち、振り分けバッファ番号を示す。また、カウンタＸの値は、サイクリックに変化する。すなわち、最大振り分けバッファ番号まで達した場合、１に戻り、再度カウントアップを繰り返す。すなわち、振り分けバッファが２つの場合、カウンタＸは、１→２→１→２・・・と変化する。
振り分け判定部２０２は、カウンタＸで示される振り分けバッファの閾値（例えば、第１閾値９０や第２閾値９２）を取得する。そして、振り分け判定部２０２は、対象フレームを、カウンタＸで示される振り分けバッファに書き込むことができるか否かを判定する（ステップＳ３）。具体的には、振り分け判定部２０２は、該振り分けバッファの書き込み前の滞留量と対象フレームのデータ量（フレーム長）との総和が、該振り分けバッファの閾値を下回っているか否かを判定する。
対象フレームがカウンタＸで示される振り分けバッファに書き込むことができると判定した場合（ステップＳ３においてＹｅｓ判定の場合）、振り分け判定部２０２は、対象フレームをカウンタＸで示される振り分けバッファに書き込む（ステップＳ４）。そして、振り分け判定部２０２は、カウンタＸをインクリメント（ステップＳ５）し、次対象フレームの振り分けに備える。
一方、対象フレームをカウンタＸで示される振り分けバッファに書き込むことができないと判定した場合（ステップＳ３においてＮｏ判定の場合）、振り分け判定部２０２は、次の振り分けバッファへの書き込みが可能か否かを調べるために、カウンタＸをインクリメント（ステップＳ６）するとともに、その値で示される振り分けバッファが書き込み可能か否かを調べる（ステップＳ３）。
図８は、図２に示す第１受信バッファ２５４のメモリ構造例を説明するためのメモリマップである。尚、第２受信バッファ２５６のメモリ構造は、第１受信バッファ２５４と同一である（もちろん、メモリ構造は同じでも、格納される内容そのものは同一ではない）。従って、第２受信バッファ２５６についての説明は省略する。
第１受信バッファ２５４は、フレームのＭＡＣフレーム部分を格納するフレームバッファ７０２と、フレームのシーケンスＩＤ部分を格納するヘッダバッファ７０３とに分かれている。フレームバッファ７０２およびヘッダバッファ７０３への各書き込みは、第１Ｅｔｈｅｒｎｅｔフレーム変換部２５０からフレームを受信する際に行われる。
尚、第１受信バッファ２５４の状態は、Ｗａｉｔ状態と、Ｗｒｉｔｉｎｇ状態と、Ｒｅａｄｙ状態のうちのいずれかの状態に分類される。Ｗａｉｔ状態は、フレームバッファ７０２とヘッダバッファ７０３が共に空の状態を示す。Ｗｒｉｔｉｎｇ状態は、シーケンスＩＤのみの書き込みが完了している状態（すなわち、ＭＡＣフレームは、全く書き込まれていないか、あるいは、書き込み中の状態）を示す。Ｒｅａｄｙ状態は、ＭＡＣフレームの書き込みも完了している状態を示す。
図９は、図２に示す送信順序制御部２５８の動作例を説明するためのフローチャートである。
まず、送信順序制御部２５８は、全ての受信バッファ（例えば、第１受信バッファ２５４や第２受信バッファ２５６）の中でＲｅａｄｙ状態の受信バッファがあるかどうかを判定する（ステップＳ１０）。Ｒｅａｄｙ状態の受信バッファが存在する場合（ステップＳ１０においてＹｅｓ判定の場合）、送信順序制御部２５８は、Ｗａｉｔ状態以外の状態（Ｗｒｉｔｉｎｇ状態およびＲｅａｄｙ状態、すなわち、少なくともシーケンスＩＤの書き込みが完了している状態）の受信バッファにおけるヘッダバッファ７０３のシーケンスＩＤ同士を比較する（ステップＳ１１）。送信順序制御部２５８は、最も小さいシーケンスＩＤを持つ受信バッファを選択する（ステップＳ１２）。送信順序制御部２５８は、選択した受信バッファの状態を監視する（ステップＳ１３）。該受信バッファの状態がＲｅａｄｙ状態であれば（あるいはＲｅａｄｙ状態になったら）、該受信バッファからフレーム（すなわち、実体的内容）を読み出す（ステップＳ１４）。上記の如き処理を繰り返すことにより、フレームを順番通りに読み出し送信することが可能となる。
以上説明したように、本実施形態の場合、ラウンドロビンのように硬直的な振り分けではなく、振り分け対象フレームのデータ量（フレーム長）と、振り分けバッファの現在の滞留量と、振り分けバッファの閾値（滞留上限値）とに基づいて柔軟にフレームを振り分けることができる。従って、扱うフレームが可変長フレームであり、また、各振り分けバッファの閾値が動的に変化するような場合であっても、各無線回線に対して適切な負荷分散を行うことが可能である。
一方、以上説明したように、本実施形態の場合、第１振り分けバッファ２０４および第２振り分けバッファ２０８に書き込まれるフレームの順番は、ラウンドロビンで振り分ける場合のように、必ずしも順番通りになっているわけではなく、順不同となっている。これに対して、本実施形態の場合、上述した通り、振り分けたフレームに、フレームの順番を示すシーケンスＩＤを付与する。フレームを受信した側では、このシーケンスＩＤに基づいてフレームの順番を整列させることができる。すなわち、フレーム長が可変し、また各無線回線の伝送容量が動的に変化するような環境であっても、フレームの送信順序を保証することができる。
また、本実施形態の場合、各振り分けバッファ（例えば、第１振り分けバッファ２０４や第２振り分けバッファ２０８）の閾値を動的に変化させる機能を備えるが、該閾値は、無線回線（例えば、第１無線回線２０や第２無線回線２２）の変調方式に応じた「伝送容量」に応じて決定される。従って、回線の通信スループット（回線の使用状態）等に基づいて閾値を決定する場合に比して、簡素且つ高精度に閾値を決定することができる。
尚、以上説明した実施形態において、無線回線は、２つに限定されず、３つ以上とすることもできる。
また、以上説明した実施形態において、フレーム長が異なる通信プロトコルは、Ｅｔｈｅｒｎｅｔに限定されず、他の通信プロトコルとすることができる。また、振り分けるデータの形式は、必ずしもフレームに限定されることはなく、例えば、パケットであってもよい。
また、以上説明した実施形態は、上述した通り、Ｅｔｈｅｒｎｅｔ等の可変長フレームを処理可能であることはもちろんであるが、例えば、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）等の固定長データも扱えることは説明するまでもない。
［その他の実施形態］
図１０は、本発明の他の実施形態に係るロードバランス制御ユニット３００の構成例を示すブロック図である。ロードバランス制御ユニット３００は、例えば、所定のデータ長に区切られて送信される複数のユニットデータ（フレーム、あるいはパケット等）を、複数の伝送路１〜ｎを介して対向装置（図１０において不図示）へ送信する伝送装置に搭載される。
ロードバランス制御ユニット３００は、伝送路１〜ｎ毎に設けられる複数の振り分けバッファ３０２−１〜３０２−ｎと、閾値設定部３０４（閾値設定手段）と、振り分け判定部３０６（振り分け判定手段）と、を備える。
閾値設定部３０４は、各振り分けバッファ３０２−１〜３０２−ｎ毎に、上限滞留閾値を設定する。振り分け判定部３０６は、ユニットデータ毎に、各振り分けバッファ３０２−１〜３０２−ｎの滞留状況および各上限滞留閾値と、ユニットデータのデータ量とを考慮してユニットデータをどの振り分けバッファ３０２−１〜３０２−ｎに書き込むかを決定する。
以上説明したように、本実施形態の場合、ラウンドロビンのように硬直的な振り分けではなく、振り分け対象フレームのデータ量（フレーム長）と、振り分けバッファ３０２−１〜３０２−ｎの現在の滞留量と、振り分けバッファ３０２−１〜３０２−ｎの閾値（滞留上限値）とに基づいて柔軟にフレームを振り分けることができる。従って、扱うフレームが可変長フレームであり、また、各振り分けバッファ３０２−１〜３０２−ｎの閾値が動的に変化するような場合であっても、各無線回線に対して適切な負荷分散を行うことが可能である。
以上説明した各実施形態は、制御プログラムに基づいて図示しないコンピュータ回路（例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））によって制御され、動作するようにすることができる。その場合、これらの制御プログラムは、例えば、装置またはシステム内部の記憶媒体、あるいは、外部の記憶媒体に記憶され、上記コンピュータ回路によって読み出され実行される。システム内部の記憶媒体の例としては、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスク等を挙げることができる。外部の記憶媒体の例としては、例えば、リムーバブルメディアやリムーバブルディスク等を挙げることができる。
以上、様々な実施形態を参照して本願発明を説明したが、本願発明は上記各実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２０１０年３月２５日に出願された日本出願特願２０１０−０６９５２１号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００９】
１０    伝送システム
１２    第１無線伝送装置
１４    第２無線伝送装置
２０    第１無線回線
２２    第２無線回線
４０    Ｅｔｈｅｒｎｅｔ送受信部
４２    ロードバランス制御部
４４    変復調部
４６    変復調部
４８    無線送受信部
５０    無線送受信部
１００    送信部
１０２    受信部
２００    送信バッファ
２０２    振り分け判定部
２０４    第１振り分けバッファ
２０６    第１無線フレーム変換部
２０８    第２振り分けバッファ
２１０    第２無線フレーム変換部
２１２    閾値決定部
２５０    第１Ｅｔｈｅｒｎｅｔフレーム変換部
２５２    第２Ｅｔｈｅｒｎｅｔフレーム変換部
２５４    第１受信バッファ
２５６    第２受信バッファ
２５８    送信順序制御部
３００    ロードバランス制御ユニット
３０２−１〜３０２−ｎ    振り分けバッファ
３０４    閾値設定部
３０６    振り分け判定部
【図１】
2011118542.tif 000003
【図２】
2011118542.tif 000004
【図３】
2011118542.tif 000005
【図４】
2011118542.tif 000006
【図５】
2011118542.tif 000007
【図６】
2011118542.tif 000008
【図７】
2011118542.tif 000009
【図８】
2011118542.tif 000010
【図９】
2011118542.tif 000011
【図１０】
2011118542.tif 000012
【国際調査報告】
2011118542.tif 000013
2011118542.tif 000014
2011118542.tif 000015
2011118542.tif 000016