(57)【特許請求の範囲】
【請求項１】
データフローを１つまたは複数のリンクにより送信し、前記データフローを前記複数のリンクにより送信する場合は前記データフローの各パケットに前記各パケットの順序を示す順序情報を付加し、前記データフローを前記１つのリンクにより送信する場合は前記各パケットに前記順序情報を付加しない送信装置と、
前記送信装置によって送信されるデータフローのパケットを受信し、受信したパケットに前記順序情報が付加されているか否かに基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定し、前記受信したパケットのデータフローが前記複数のリンクにより送信されていると判定した場合に前記受信したパケットを順序整列して出力し、前記データフローが１つのリンクにより送信されていると判定した場合に前記受信したパケットを順序整列せずに出力する受信装置と、
を含むことを特徴とする通信システム。
【請求項２】
前記送信装置は、前記データフローを前記複数のリンクにより送信するか１つのリンクにより送信するかを示すフラグ情報を前記データフローのパケットに設定し、
前記受信装置は、前記受信したパケットに設定されたフラグ情報に基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記送信装置は、前記データフローを前記複数のリンクにより送信するか１つのリンクにより送信するかを示す制御情報を前記受信装置へ送信し、
前記受信装置は、前記送信装置によって送信された制御情報に基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定することを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記送信装置は、前記データフローのトラフィック量を計測し、計測したトラフィック量に基づいて、前記データフローを前記受信装置との間の各リンクのうちの１つのリンクにより送信し、または前記データフローを前記各リンクのうちの複数のリンクにより送信することを特徴とする請求項１〜３のいずれか一つに記載の通信システム。
【請求項５】
データフローを１つまたは複数のリンクにより送信し、前記データフローを前記複数のリンクにより送信する場合は前記データフローの各パケットに前記各パケットの順序を示す順序情報を付加し、前記データフローを前記１つのリンクにより送信する場合は前記各パケットに前記順序情報を付加せず、
送信される前記データフローのパケットを受信し、
受信したパケットに前記順序情報が付加されているか否かに基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定し、
前記受信したパケットのデータフローが前記複数のリンクにより送信されていると判定した場合に前記受信したパケットを順序整列して出力し、
前記データフローが１つのリンクにより送信されていると判定した場合に前記受信したパケットを順序整列せずに出力することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、受信装置および送信装置に関する。
【背景技術】
【０００２】
通信システムにおいて高速なデータ転送を実現するために、複数の通信リンクを束ねて大容量のリンクとして使用するリンクアグリゲーションが用いられている。リンクアグリゲーションの例としては、有線のイーサネットリンク（イーサネットは登録商標）についてリンクアグリゲーションを行うＩＥＥＥ８０２．３ａｄがある（たとえば、下記非特許文献１参照。）。ＩＥＥＥ８０２．３ａｄにおいては、全てのイーサネットリンクの伝送速度が同じであることが前提となっている。また、ＩＥＥＥ８０２．３ａｄは、データフローにおいてパケットの転送順序を保証する、パケットに変更を加えない、遅延を最小化するため受信側での順序整列を行わない、などの思想に基づいた方式設計となっている。
【０００３】
したがって、複数のイーサネットリンクを束ねているにも関わらず、基本的にデータフローごとにいずれか１つのイーサネットリンクを経由して転送を行うことになる。このため、個々のデータフローの最大スループットはイーサネットリンクの伝送速度までで頭打ちとなる。また、各イーサネットリンクの合計の伝送帯域を効率的に全て使用できない場合がある。ここで、データフローは、ＩＥＥＥ８０２．３ａｄにおいてはＣｏｎｖｅｒｓａｔｉｏｎと呼ばれている。データフローは、たとえば、入力ポートや送信元／宛先ＭＡＣアドレス、上位レイヤの種別などで識別されるデータパケットのグループである。
【０００４】
たとえば、伝送速度が１００［Ｍｂｐｓ］のリンク１，２があり、伝送速度が１２０［Ｍｂｐｓ］および８０［Ｍｂｐｓ］のデータフロー１，２をそれぞれのリンク１，２に割り当てて転送するとする。この場合は、データフロー１はリンク１の伝送速度１００［Ｍｂｐｓ］しか転送されず、残りの２０［Ｍｂｐｓ］分をリンク２に振り分けてリンク２の残り帯域２０［Ｍｂｐｓ］を使って転送することはできない。
【０００５】
これに対して、リンクの伝送速度が変動するような場合において、データフローを複数のリンクに割り当てることでリンクの帯域を効率的に使用する技術が開示されている（たとえば、下記特許文献１，２参照。）。この技術においては、伝送される各パケットについて受信側で順序整列を行うことで、データフローを複数のリンクに割り当てても各パケットの順序が保証される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−６０４９４号公報
【特許文献２】特開２００９−２３９４４４号公報
【非特許文献】
【０００７】
【非特許文献１】ＩＥＥＥ  Ｓｔｄ  ８０２．３ａｄ−２０００、”Ａｍｅｎｄｍｅｎｔ  ｔｏ  Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ（ＣＳＭＡ／ＣＤ）  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ−Ａｇｇｒｅｇａｔｉｏｎ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｌｉｎｋ  Ｓｅｇｍｅｎｔｓ”、２０００年３月３０日、［ｏｎｌｉｎｅ］、［平成２３年１月４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｖｏｉｐｌａｂ．ｎｉｕ．ｅｄｕ．ｔｗ／ＩＥＥＥ／ｏｂｓｏｌｅｔｅ／８０２．３／８０２．３ａｄ−２０００．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、伝送される各パケットについて順序整列を行うため、順序整列のためのパケット待ち時間によってパケット伝送のスループットが低下するという問題がある。たとえば、パケットが伝送中にロストすると、受信側はロストしたパケットをタイムアウトするまで待ち続けてしまうため、大きな遅延が発生する。特に、無線リンクによるリンクアグリゲーションにおいては、有線リンクの場合に比べてパケットのロスが発生しやすく、パケット待ち時間によるスループットの低下が大きくなる。
【０００９】
また、伝送される各パケットについて順序整列を行うため、送信側では伝送する各パケットにシーケンス番号を付加する。このため、各パケットのオーバーヘッドが増加し、パケット伝送のスループットが低下するという問題がある。
【００１０】
開示の通信システム、通信方法、受信装置および送信装置は、上述した問題点を解消するものであり、スループットを向上させることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、開示技術は、データフローを１つまたは複数のリンクにより送信し、送信される前記データフローのパケットを受信し、受信したパケットのデータフローが前記複数のリンクにより送信されている場合に前記受信したパケットを順序整列して出力し、前記データフローが１つのリンクにより送信されている場合に前記受信したパケットを順序整列せずに出力する。
【発明の効果】
【００１２】
開示の通信システム、通信方法、受信装置および送信装置によれば、スループットを向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態１にかかる通信システムを示す図（その１）である。
【図２】図２は、実施の形態１にかかる通信システムを示す図（その２）である。
【図３】図３は、実施の形態１にかかる送信装置および受信装置の適用例を示す図である。
【図４】図４は、図３に示した転送装置の接続例を示す図である。
【図５】図５は、実施の形態１にかかる送信側の転送装置の処理の一例を示すフローチャートである。
【図６】図６は、リンクの割り当て処理の一例を示すフローチャートである。
【図７】図７は、実施の形態１にかかる受信側の転送装置の処理の例１を示すフローチャート（その１）である。
【図８】図８は、実施の形態１にかかる受信側の転送装置の処理の例１を示すフローチャート（その２）である。
【図９】図９は、実施の形態１にかかる受信側の転送装置の処理の例２を示すフローチャート（その１）である。
【図１０】図１０は、実施の形態１にかかる受信側の転送装置の処理の例２を示すフローチャート（その２）である。
【図１１】図１１は、実施の形態１にかかる受信側の転送装置の処理の例３を示すフローチャートである。
【図１２】図１２は、実施の形態１にかかる受信側の転送装置の処理の例４を示すフローチャートである。
【図１３】図１３は、実施の形態２にかかる通信システムを示す図である。
【図１４】図１４は、実施の形態２にかかる送信側の転送装置の処理の一例を示すフローチャートである。
【図１５】図１５は、実施の形態２にかかる送信側の転送装置の処理の他の例を示すフローチャートである。
【図１６】図１６は、実施の形態２にかかる受信側の転送装置の処理の例１を示すフローチャートである。
【図１７】図１７は、実施の形態２にかかる受信側の転送装置の処理の例２を示すフローチャート（その１）である。
【図１８】図１８は、実施の形態２にかかる受信側の転送装置の処理の例２を示すフローチャート（その２）である。
【図１９】図１９は、実施の形態３にかかる通信システムを示す図である。
【図２０】図２０は、実施の形態３にかかる送信装置および受信装置の適用例を示す図である。
【図２１】図２１は、実施の形態３にかかる稼動制御部の処理の一例を示すフローチャートである。
【図２２】図２２は、転送装置を適用した通信システムの例１を示す図である。
【図２３】図２３は、転送装置を適用した通信システムの例２を示す図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。
【００１５】
（実施の形態１）
（通信システム）
図１は、実施の形態１にかかる通信システムを示す図（その１）である。図１に示すように、実施の形態１にかかる通信システム１００は、送信装置１１０と、受信装置１２０と、を含んでいる。送信装置１１０と受信装置１２０は、アグリゲーションリンク＃１，＃２によって互いに接続されている。ただし、送信装置１１０と受信装置１２０は、３つ以上のアグリゲーションリンクによって互いに接続されていてもよい。各アグリゲーションリンクは、有線のリンクであってもよいし、無線のリンクであってもよい。
【００１６】
通信システム１００は、送信装置１１０へ入力されるデータフローの各パケットをアグリゲーションリンク＃１，＃２によるリンクアグリゲーションによって受信装置１２０へ伝送する通信システムである。ここでは、送信装置１１０に対してデータフロー１，２の２つのデータフローが入力され、データフロー１，２の各パケットをアグリゲーションリンク＃１，＃２によって伝送する場合について説明する。図１に示すパケット１０１はデータフロー１のパケットである。パケット１０２はデータフロー２のパケットである。
【００１７】
＜送信装置＞
送信装置１１０は、入力されたデータフロー１，２の各パケットを、アグリゲーションリンク＃１，＃２を用いたリンクアグリゲーションによって受信装置１２０へ送信する。具体的には、送信装置１１０は、データフロー１のパケット１０１を、アグリゲーションリンク＃１，＃２のいずれかによって送信し、またはアグリゲーションリンク＃１，＃２に分散して送信する。また、送信装置１１０は、データフロー２のパケット１０２を、アグリゲーションリンク＃１，＃２のいずれかによって送信し、またはアグリゲーションリンク＃１，＃２に分散して送信する。
【００１８】
送信装置１１０は、計測部１１１と、割当部１１２と、送信部１１３と、を備えている。計測部１１１は、送信装置１１０へ入力されたパケットのサイズおよび入力時刻に基づいて、データフロー１，２のそれぞれのトラフィック量を計測する。トラフィック量は、たとえば単位時間当たりのデータサイズである。たとえば、送信装置１１０は入力されたパケットをバッファに格納し、計測部１１１はバッファに格納されたパケットのデータサイズを取得することでトラフィック量を計測する。ここでは、データフロー１，２のそれぞれのトラフィック量はともに５０［Ｍｂｐｓ］であるとする。
【００１９】
また、送信装置１１０は、アグリゲーションリンク＃１，＃２のそれぞれの伝送速度を取得する取得部を備えていてもよい。たとえば、アグリゲーションリンク＃１，＃２の伝送速度は通信システム１００のメモリに記憶されている。取得部は、メモリに記憶された各伝送速度を取得する。または、取得部は、アグリゲーションリンク＃１，＃２を監視し、アグリゲーションリンク＃１，＃２のそれぞれの伝送速度を定期的に取得してもよい。ここでは、アグリゲーションリンク＃１，＃２のそれぞれの伝送速度はともに１００［Ｍｂｐｓ］であるとする。
【００２０】
割当部１１２は、データフロー１，２のそれぞれを、アグリゲーションリンク＃１，＃２の少なくともいずれかに割り当てる。たとえば、割当部１１２は、計測部１１１によって計測されたトラフィック量と、アグリゲーションリンク＃１，＃２の伝送速度と、に基づいてデータフロー１，２の割り当てを行う。
【００２１】
たとえば、割当部１１２は、データフローのトラフィック量より伝送速度が大きいリンクのうちのいずれか１つのリンクにデータフローを割り当てる。また、割当部１１２は、データフローのトラフィック量の変化、または各リンクの伝送速度の変化により、データフローのトラフィック量に対して１つのリンクの伝送速度では容量が不足する場合には、複数のリンクにデータフローを振り分けて割り当てる。
【００２２】
送信部１１３は、割当部１１２による割り当ての結果に基づいて、データフロー１，２の各パケットをアグリゲーションリンク＃１，＃２により受信装置１２０へ送信する。また、送信部１１３は、複数のリンクに割り当てられたデータフローの各パケットにはシーケンス番号を付加する。また、送信部１１３は、１つのリンクに割り当てられたデータフローの各パケットにはシーケンス番号を付加しない。シーケンス番号は、パケットの順序を示す順序情報である。
【００２３】
図１に示す例では、割当部１１２は、データフロー１のパケット１０１をアグリゲーションリンク＃１のみに割り当て、データフロー２のパケット１０２をアグリゲーションリンク＃２のみに割り当てている。この場合は、データフロー１のパケット１０１およびデータフロー２のパケット１０２のそれぞれは、１つのアグリゲーションリンクによって送信されるため、パケットの順序逆転が発生しない。この場合は、送信部１１３は、パケット１０１，１０２に対してシーケンス番号を付加しない。これにより、パケット１０１，１０２のオーバーヘッドを縮小し、スループットを向上させることができる。
【００２４】
＜受信装置＞
受信装置１２０は、受信部１２１と、判定部１２２と、整列部１２３と、を備えている。受信部１２１は、送信装置１１０からアグリゲーションリンク＃１，＃２により送信されたパケットを受信する。また、受信部１２１は、受信した各パケットのデータフローを識別する。受信部１２１は、たとえば、受信した各パケットを、識別したデータフローごとの送信待ちバッファに格納する。
【００２５】
判定部１２２は、受信部１２１によって受信されたパケットのデータフローが、複数のリンクにより送信されているか、１つのリンクにより送信されているかを判定する。ここでは、判定部１２２は、受信部１２１によって受信されたパケットのデータフローが、アグリゲーションリンク＃１，＃２の両方により送信されているか、アグリゲーションリンク＃１，＃２のいずれかにより送信されているかを判定する。
【００２６】
たとえば、判定部１２２は、パケットにシーケンス番号が付加されている場合は、データフローがアグリゲーションリンク＃１，＃２の両方により送信されていると判定する。また、判定部１２２は、パケットにシーケンス番号が含まれていない場合は、データフローがアグリゲーションリンク＃１，＃２のいずれかにより送信されていると判定する。
【００２７】
図１に示す例では、判定部１２２は、データフロー１が１つのリンク（アグリゲーションリンク＃１）により送信されていると判定する。また、判定部１２２は、データフロー２が１つのリンク（アグリゲーションリンク＃２）により送信されていると判定する。
【００２８】
整列部１２３は、データフローが複数のリンクにより送信されていると判定部１２２によって判定された場合は、受信部１２１によって受信されたパケットを、パケットに含まれるシーケンス番号に基づいて順序整列して出力する。たとえば、整列部１２３は、シーケンス番号に基づいてデータフローのパケット間の順序の逆転を検出し、遅延したパケットの受信待ちを行うことでデータフローの各パケットをシーケンス番号の順に出力する。
【００２９】
また、データフローが１つのリンクにより送信されていると判定部１２２によって判定された場合は、データフローのパケット間には順序の逆転が発生していない。この場合は、整列部１２３は、受信部１２１によって受信されたパケットを順序整列せずに出力する。具体的には、整列部１２３は、受信されたパケットを、他のパケットの受信待ちを行わずに出力する。
【００３０】
図１に示す例では、データフロー１，２のそれぞれは１つのリンクにより送信されていると判定部１２２によって判定される。このため、整列部１２３は、パケット１０１，１０２のいずれについても順序整列せずに出力する。これにより、データフローのパケット間に順序の逆転が発生しない状況において順序整列を行うことによるパケット伝送の遅延を回避することができる。たとえば、送信装置１１０と受信装置１２０との間でパケットがロスした場合に、ロスしたパケットの受信待ちをタイムアウトするまで行うことによるパケット伝送の遅延を回避することができる。
【００３１】
図２は、実施の形態１にかかる通信システムを示す図（その２）である。図２において、図１に示した部分と同様の部分については同一の符号を付して説明を省略する。図２においては、図１に示した状態に対して、送信装置１１０へ入力されるデータフロー１のトラフィック量が５０［Ｍｂｐｓ］から１２０［Ｍｂｐｓ］に増加している。
【００３２】
この場合は、割当部１１２は、データフロー１について、伝送速度が１００［Ｍｂｐｓ］のアグリゲーションリンク＃１のみでは帯域が不足するため、アグリゲーションリンク＃２を第２のリンクとしてさらに割り当てる。この場合は、送信部１１３は、データフロー１のパケット１０１にはシーケンス番号を付加し、シーケンス番号を付加したパケット１０１をアグリゲーションリンク＃１，＃２に振り分けて送信する。
【００３３】
図２の例では、送信装置１１０から受信装置１２０へ送信される９個のデータフロー１のパケット１０１について、それぞれシーケンス番号「１」〜「９」が付加されている。そして、シーケンス番号「１」，「２」，「４」，「５」，「７」，「８」のパケット１０１はアグリゲーションリンク＃１に振り分けられ、シーケンス番号「３」，「６」，「９」のパケット１０１はアグリゲーションリンク＃２へ振り分けられている。
【００３４】
データフロー２のパケット１０２については、図１の例と同様に、アグリゲーションリンク＃２のみにより送信されている。したがって、データフロー２のパケット１０２にはシーケンス番号が付加されていない。
【００３５】
受信装置１２０の判定部１２２は、受信部１２１によって受信されたパケットのうちのシーケンス番号が付加されたパケット１０１については、複数のリンクによって送信されていると判定する。このため、整列部１２３は、パケット１０１については、シーケンス番号に基づいて順序整列を行う。
【００３６】
図２に示すパケット列１０１ａは、アグリゲーションリンク＃１，＃２を介して受信部１２１によって受信されたパケット１０１のそれぞれを示している。ここでは、アグリゲーションリンク＃２により送信されたシーケンス番号「３」のパケット１０１が、アグリゲーションリンク＃１により送信されたシーケンス番号「２」のパケット１０１よりも早く受信部１２１に到着し、順序逆転が発生している。
【００３７】
この場合は、整列部１２３は、シーケンス番号「１」のパケット１０１の次にシーケンス番号「３」のパケット１０１が受信されるため、シーケンス番号「３」のパケット１０１をバッファに蓄積し、シーケンス番号「２」のパケット１０１の受信待ちを行う。そして、整列部１２３は、シーケンス番号「２」のパケットが受信されると、シーケンス番号「２」，「３」の順にパケット１０１を出力する。
【００３８】
これにより、パケット１０１のそれぞれをシーケンス番号の順に整列して出力することができる。パケット列１０１ｂは、整列部１２３によって順序整列されたパケット１０１のそれぞれを示している。また、整列部１２３は、順序整列が完了したパケット１０１のシーケンス番号を削除し、元のパケットの形に戻してから出力してもよい。
【００３９】
なお、図２は、アグリゲーションリンク＃１の伝送速度は変わらず、データフロー１のトラフィック量が増加した場合の例を示している。これに対して、たとえば、データフロー１のトラフィック量は変わらず、アグリゲーションリンク＃１の伝送速度が４０［Ｍｂｐｓ］に低下した場合などにも、データフロー１のパケット１０１をアグリゲーションリンク＃１，＃２へ振り分けてもよい。すなわち、各データフローのトラフィック量と、各アグリゲーションリンクの伝送速度の大小関係に基づいて、図２のようなパケット振り分け動作を実行するか否かを決定することができる。
【００４０】
シーケンス番号は、たとえばパケットがイーサネット（ＩＥＥＥ８０２．３）フレームの場合には、フレームヘッダの先頭部分の宛先ＭＡＣアドレスや送信元ＭＡＣアドレスの後に挿入されるオプションヘッダの一つとして独自に定義することができる。ただし、シーケンス番号の付加の方法はこれに限らず、他の方法を用いることもできる。なお、「イーサネット」は登録商標である。
【００４１】
（送信装置および受信装置の適用例）
図３は、実施の形態１にかかる送信装置および受信装置の適用例を示す図である。図３に示す転送装置３００は、図１，図２に示した送信装置１１０および受信装置１２０を適用した転送装置である。転送装置３００は、無線基地局やサーバなどの他の装置とリンク＃０により接続される。また、転送装置３００は、ｎ個（ｎ≧２）のアグリゲーションリンク＃１〜＃ｎにより対向側の転送装置と接続されている（たとえば図４参照）。リンク＃０およびアグリゲーションリンク＃１〜＃ｎのそれぞれは、有線リンクであってもよいし、無線リンクであってもよい。
【００４２】
転送装置３００は、回線ＩＦ部３１０と、転送処理部３２０と、回線ＩＦ部３３１〜３３ｎと、を備えている。回線ＩＦ部３１０は、リンク＃０を収容する通信インターフェースである。リンク＃０が無線リンクである場合には、回線ＩＦ部３１０にはアンテナも含まれる。また、回線ＩＦ部３１０は、物理的な装置の構成上、転送処理部３２０と分離されており、使用するリンクの数に応じて増設することが可能な構成であってもよい。
【００４３】
回線ＩＦ部３３１〜３３ｎは、それぞれアグリゲーションリンク＃１〜＃ｎを収容する通信インターフェースである。アグリゲーションリンク＃１〜＃ｎが無線リンクである場合には、それぞれ回線ＩＦ部３３１〜３３ｎにはアンテナも含まれる。また、回線ＩＦ部３３１〜３３ｎは、物理的な装置の構成上、転送処理部３２０と分離されており、使用するアグリゲーションリンクの数に応じて増設することが可能な構成であってもよい。
【００４４】
転送処理部３２０は、たとえばＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などによって実現することができる。転送処理部３２０は、識別部３２１と、計測部３２２と、割当部３２３と、リンク管理部３２４と、メッセージ処理部３２５と、送信処理部３２７と、受信処理部３２８と、を備えている。
【００４５】
識別部３２１は、他の装置からリンク＃０および回線ＩＦ部３１０を介して受信されたパケットのデータフローを識別する。データフローの識別は、たとえば、パケットが入力された回線ＩＦ部３１０の入力リンク（入力ポート）、宛先または送信元のＭＡＣアドレス、宛先または送信元のＩＰアドレス、宛先または送信元のポート番号、その他のデータ種別を表す識別子などに基づいて行うことができる。
【００４６】
計測部３２２は、識別部３２１によって識別されたデータフローについて、パケットのサイズに基づいて、入力されるトラフィック量を計測する。トラフィック量は、たとえば単位時間当たりのデータサイズである。たとえば、転送装置３００は、リンク＃０および回線ＩＦ部３１０を介して受信したパケットを送信待ちバッファに格納し、計測部３２２は送信待ちバッファに格納されたパケットのデータサイズを取得することでトラフィック量を計測する。
【００４７】
割当部３２３は、計測部３２２によって計測されるデータフローのトラフィック量と、リンク管理部３２４によって取得されるアグリゲーションリンク＃１〜＃ｎの伝送速度と、に基づいてデータフローに１つ以上のアグリゲーションリンクを割り当てる。
【００４８】
リンク管理部３２４は、アグリゲーションリンク＃１〜＃ｎの伝送速度を取得し管理する。なお、アグリゲーションリンク＃１〜＃ｎの伝送速度が固定の場合は、たとえばアグリゲーションリンク＃１〜＃ｎの伝送速度を送信装置１１０のメモリに記憶しておく。そして、リンク管理部３２４は、メモリに記憶された伝送速度を取得する。
【００４９】
アグリゲーションリンク＃１〜＃ｎの伝送速度は、それぞれアグリゲーションリンク＃１〜＃ｎの品質情報に基づいて回線ＩＦ部３３１〜３３ｎにおいて決定される。リンク管理部３２４は、たとえば受信処理部３２８を介して回線ＩＦ部３３１〜３３ｎからアグリゲーションリンク＃１〜＃ｎの伝送速度を取得する。
【００５０】
たとえば、アグリゲーションリンク＃１〜＃ｎが無線リンクである場合には、転送装置３００の対向側の転送装置における回線ＩＦ部で計測された無線チャネルの品質情報をフィードバックにより回線ＩＦ部３３１〜３３ｎが取得する。そして、回線ＩＦ部３３１〜３３ｎは、取得した品質情報に基づいて変調方式を選択し、選択した変調方式に対応する伝送速度をリンク管理部３２４へ通知する。
【００５１】
品質情報は、たとえば受信信号強度（ＲＳＳＩ：Ｒｕｓｓｉａｎ  Ｓｐａｃｅ  Ｓｃｉｅｎｃｅ  Ｉｎｔｅｒｎｅｔ）、信号対雑音比（ＳＮＲ：Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  Ｒａｔｉｏ）、信号対干渉雑音比（ＳＩＮＲ：Ｓｉｇｎａｌ−ｔｏ−Ｉｎｔｅｒｆｅｒｅｎｃｅ  ａｎｄ  Ｎｏｉｓｅ  ｐｏｗｅｒ  Ｒａｔｉｏ）などである。
【００５２】
または、リンク管理部３２４が、対向側の転送装置からフィードバックされた無線チャネルの品質情報を、回線ＩＦ部３３１〜３３ｎおよび受信処理部３２８を介して取得してもよい。そして、リンク管理部３２４は、取得した品質情報に基づいて変調方式を選択し、選択した変調方式に対応する伝送速度を取得する。また、リンク管理部３２４は、選択した変調方式を回線ＩＦ部３３１〜３３ｎへ通知する。回線ＩＦ部３３１〜３３ｎは、リンク管理部３２４によって通知された変調方式によって対向側の転送装置と通信を行う。
【００５３】
メッセージ処理部３２５は、たとえば回線ＩＦ部３３１〜３３ｎを介して、割当部３２３による割り当て結果に基づいて、対向する転送装置との間で制御メッセージ（制御情報）の送受信を行う。制御メッセージは、送信処理部３２７によってデータフローが１つのリンクにより送信されているかまたは複数のリンクによって送信されているかを示すメッセージである。なお、制御メッセージの送受信を行わない場合には、メッセージ処理部３２５を省いた構成としてもよい。
【００５４】
送信処理部３２７は、割当部３２３による割り当て結果に基づいて、送信待ちバッファの各パケットを、回線ＩＦ部３３１〜３３ｎのいずれかに振り分けることによって対向側の転送装置へ送信する。また、送信処理部３２７は、割当部３２３によって複数のリンクに振り分けて割り当てられたデータフローのパケットにはシーケンス番号を付加する。
【００５５】
受信処理部３２８は、アグリゲーションリンク＃１〜＃ｎおよび回線ＩＦ部３３１〜３３ｎを介して対向側の転送装置からパケットを受信する。また、受信処理部３２８は、受信したパケットについて、シーケンス番号が付加されているかの判定や、シーケンス番号に基づく順序整列などを行う。
【００５６】
図４は、図３に示した転送装置の接続例を示す図である。図４において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。図４に示す転送装置４００Ａ，４００Ｂのそれぞれは、図３に示した転送装置３００と同様の転送装置である。転送装置４００Ａ，４００Ｂは、アグリゲーションリンク＃１〜＃ｎによって互いに接続されている。ここでは、転送装置４００Ａがリンクアグリゲーションの送信側の転送装置であり、転送装置４００Ｂがリンクアグリゲーションの受信側の転送装置である。
【００５７】
たとえば、転送装置４００Ａに接続される他の装置１からのパケットは、転送装置４００Ａの回線ＩＦ部３１０によって受信される。転送装置４００Ａの回線ＩＦ部３１０によって受信されたパケットは、転送装置４００Ａの転送処理部３２０および回線ＩＦ部３３１〜３３ｎを介して、アグリゲーションリンク＃１〜＃ｎのいずれかにより転送装置４００Ｂへ送信される。転送装置４００Ｂへ送信されたパケットは、転送装置４００Ｂの回線ＩＦ部３３１〜３３ｎによって受信され、転送装置４００Ｂの転送処理部３２０および回線ＩＦ部３１０を介して、転送装置４００Ｂに接続される他の装置２へ送信される。
【００５８】
図１に示した計測部１１１は、たとえば転送装置４００Ａの計測部３２２によって実現することができる。図１に示した割当部１１２は、たとえば転送装置４００Ａの割当部３２３によって実現することができる。図１に示した送信部１１３は、たとえば転送装置４００Ａの送信処理部３２７および回線ＩＦ部３３１〜３３ｎによって実現することができる。図１に示した受信部１２１は、転送装置４００Ｂの回線ＩＦ部３３１〜３３ｎおよび受信処理部３２８によって実現することができる。図１に示した判定部１２２および整列部１２３は、転送装置４００Ｂの受信処理部３２８によって実現することができる。
【００５９】
以下の説明において、１つのデータフローを１つのリンクによって送信する場合に、データフローに割り当てるリンクを「第１のリンク」と称する。また、１つのデータフローを複数のリンクによって送信する場合に、データフローに対して第１のリンクに加えて割り当てるリンクを「第２のリンク」と称する。
【００６０】
３つ以上のアグリゲーションリンクを使用する場合（ｎ≧３の場合）には、第２のリンクとして、２つ以上のアグリゲーションリンクを割り当ててもよい。たとえば、３つのアグリゲーションリンクを使用する場合に、３つのアグリゲーションリンクのうちの１つのアグリゲーションリンクを第１のリンクとして割り当て、他の２つのアグリゲーションリンクを第２のリンクとして割り当ててもよい。この場合は、データフローのパケットが３つのアグリゲーションリンク全てに振り分けられる。
【００６１】
（送信側の転送装置の処理）
図５は、実施の形態１にかかる送信側の転送装置の処理の一例を示すフローチャートである。送信側の転送装置４００Ａは、たとえば以下の各ステップを繰り返し実行する。まず、回線ＩＦ部３１０が、他の装置１からのパケットを受信する（ステップＳ５０１）。つぎに、識別部３２１が、ステップＳ５０１によって受信されたパケットのデータフローを識別する（ステップＳ５０２）。
【００６２】
つぎに、計測部３２２が、ステップＳ５０２によって識別されたデータフローについて、パケットのサイズや到着間隔に基づいてトラフィック量を計測する（ステップＳ５０３）。つぎに、リンク管理部３２４が、アグリゲーションリンク＃１〜＃ｎのそれぞれの伝送速度を取得する（ステップＳ５０４）。
【００６３】
つぎに、割当部３２３が、ステップＳ５０２によって識別されたデータフローについてリンクの割り当てを行う（ステップＳ５０５）。具体的には、割当部３２３は、ステップＳ５０３によって計測されたトラフィック量と、ステップＳ５０４によって取得された伝送速度と、に基づいてリンクの割り当てを行う。ステップＳ５０５によるリンクの割り当てについては後述する（たとえば図６参照）。
【００６４】
つぎに、送信処理部３２７が、ステップＳ５０５によるリンクの割り当ての結果、データフローに第１のリンクのみが割り当てられているか否かを判断する（ステップＳ５０６）。第１のリンクのみが割り当てられている場合（ステップＳ５０６：Ｙｅｓ）は、送信処理部３２７が、第１のリンクを用いてデータフローのパケットを転送装置４００Ｂへ送信し（ステップＳ５０７）、一連の処理を終了する。
【００６５】
ステップＳ５０６において、データフローに第１のリンクおよび第２のリンクが割り当てられている場合（ステップＳ５０６：Ｎｏ）は、送信処理部３２７が、データフローのパケットにシーケンス番号を付加する（ステップＳ５０８）。つぎに、送信処理部３２７が、ステップＳ５０８によってシーケンス番号が付加されたパケットを、データフローに割り当てられた第１のリンクおよび第２のリンクを用いて転送装置４００Ｂへ送信し（ステップＳ５０９）、一連の処理を終了する。
【００６６】
なお、伝送速度の取得およびリンクの割り当てを、パケットを受信するごとに実行する処理（ステップＳ５０４，Ｓ５０５）について説明したが、リンクの伝送速度の取得およびリンクの割り当てをたとえば一定時間ごとに実行してもよい。
【００６７】
図６は、リンクの割り当て処理の一例を示すフローチャートである。割当部３２３は、図５に示したステップＳ５０５において、たとえば以下に示す処理を実行する。まず、割当部３２３は、割り当て対象のデータフローについて、既に第１のリンクを割り当て済みか否かを判断する（ステップＳ６０１）。
【００６８】
既に第１のリンクを割り当て済みである場合（ステップＳ６０１：Ｙｅｓ）は、割当部３２３は、割り当て対象のデータフローにさらに第２のリンクを割り当てるか否かを判断する（ステップＳ６０２）。ステップＳ６０２においては、割当部３２３は、図５に示したステップＳ５０３によって計測されたデータフローのトラフィック量と、図５に示したステップＳ５０４によって取得された各リンクの伝送速度と、に基づいて判断する。
【００６９】
たとえば、割当部３２３は、第１のリンクの伝送速度から第１のリンクに割り当て済みの総トラフィック量を減算した値（第１のリンクの空き帯域）が閾値より大きい場合は、割り当て対象のデータフローに第２のリンクを割り当てないと判断する。また、割当部３２３は、第１のリンクの伝送速度から第１のリンクに割り当て済みの総トラフィック量を減算した値（第１のリンクの空き帯域）が閾値以下である場合は、割り当て対象のデータフローに第２のリンクを割り当てると判断する。
【００７０】
または、割当部３２３は、第１のリンクに割り当て済みの総トラフィック量を第１のリンクの伝送速度で除算した値（第１のリンクの使用率）が閾値より小さい場合は、割り当て対象のデータフローに第２のリンクを割り当てないと判断する。また、割当部３２３は、第１のリンクの総トラフィック量を第１のリンクの伝送速度で除算した値（第１のリンクの使用率）が閾値以上である場合は、割り当て対象のデータフローに第２のリンクを割り当てると判断する。
【００７１】
ステップＳ６０２において、さらに第２のリンクを割り当てると判断した場合（ステップＳ６０２：Ｙｅｓ）は、割当部３２３は、第１のリンク以外のリンクの中から第２のリンクを割り当て（ステップＳ６０３）、一連の処理を終了する。このとき、メッセージ処理部３２５が、第２のリンクを割り当てたことを通知する制御メッセージを転送装置４００Ｂへ送信してもよい。制御メッセージには、データフローを識別するための情報などを含めてもよい。
【００７２】
ステップＳ６０３において、割当部３２３は、たとえば、第１のリンク以外のリンクのうちの空き帯域（伝送速度−総トラフィック量）が最も大きいリンクを割り当てる。または、割当部３２３は、第１のリンク以外のリンクのうちの使用率（総トラフィック量／伝送速度）が最も小さいリンクを割り当ててもよい。または、割当部３２３は、第１のリンク以外のリンクのうちの伝送速度が最も高いリンクを割り当ててもよい。または、割当部３２３は、第１のリンク以外のリンクのうちの伝送速度が第１のリンクと同じ、または第１のリンクに最も近いリンクを第２のリンクとして割り当ててもよい。
【００７３】
ステップＳ６０２において、さらに第２のリンクを割り当てないと判断した場合（ステップＳ６０２：Ｎｏ）は、割当部３２３は、割り当て対象のデータフローについて、既に第２のリンクが割り当て済みか否かを判断する（ステップＳ６０４）。第２のリンクが割り当て済みでない場合（ステップＳ６０４：Ｎｏ）は、割当部３２３は、割り当て対象のデータフローに対して新たなリンクの割り当てを行わずに一連の処理を終了する。
【００７４】
ステップＳ６０４において、第２のリンクが割り当て済みである場合（ステップＳ６０４：Ｙｅｓ）は、割当部３２３は、割り当て対象のデータフローから第２のリンクの割り当てを解除し（ステップＳ６０５）、一連の処理を終了する。これにより、割り当て対象のデータフローのパケットは、第１のリンクのみを使用して送信されるようになる。このとき、メッセージ処理部３２５が、第２のリンクの割り当てを解除したことを通知する制御メッセージを転送装置４００Ｂへ送信してもよい。制御メッセージには、データフローを識別するための情報などを含めてもよい。
【００７５】
ステップＳ６０１において、第１のリンクを割り当て済みでない場合（ステップＳ６０１：Ｎｏ）は、割当部３２３は、割り当て対象のデータフローに第１のリンクを割り当て（ステップＳ６０６）、一連の処理を終了する。ステップＳ６０６において、割当部３２３は、たとえば、空き帯域（伝送速度−総トラフィック量）が最も大きいリンクを第１のリンクとして割り当てる。または、割当部３２３は、使用率（総トラフィック量／伝送速度）が最も小さいリンクを第１のリンクとして割り当ててもよい。または、割当部３２３は、伝送速度が最も高いリンクを第１のリンクとして割り当ててもよい。
【００７６】
（受信側の転送装置の処理）
＜受信側の転送装置の処理の例１＞
図７は、実施の形態１にかかる受信側の転送装置の処理の例１を示すフローチャート（その１）である。受信側の転送装置４００Ｂは、たとえば以下の各ステップを繰り返し実行する。まず、回線ＩＦ部３３１〜３３ｎのいずれかが、アグリゲーションリンク＃１〜＃ｎのいずれかを介して、送信側の転送装置４００Ａからのパケットを受信する（ステップＳ７０１）。つぎに、受信処理部３２８が、ステップＳ７０１によって受信されたパケットのデータフローを識別する（ステップＳ７０２）。パケットのデータフローは、たとえばパケットのヘッダ情報などに基づいて識別することができる。
【００７７】
つぎに、受信処理部３２８が、ステップＳ７０１によって受信されたパケットを、ステップＳ７０２によって識別されたデータフローに対応するバッファに格納し（ステップＳ７０３）、一連の処理を終了する。また、受信処理部３２８は、パケットをバッファに格納する際に、転送装置４００Ｂの内部で保持するバッファの管理情報を更新してもよい。バッファの管理情報は、たとえば各データフローについて送信待ちパケットをキューとして管理する情報であり、送信待ちパケットの有無や、パケットのバッファ上の格納位置を取得するために用いられる。
【００７８】
図８は、実施の形態１にかかる受信側の転送装置の処理の例１を示すフローチャート（その２）である。受信側の転送装置４００Ｂの送信処理部３２７は、転送装置４００Ｂの内部で保持するバッファの管理情報に基づいて、各データフローの送信待ちパケットのキューの状態を定期的に取得する。そして、送信処理部３２７は、各データフローを対象として以下の各ステップを実行する。
【００７９】
まず、送信処理部３２７は、対象のデータフローについて、他の装置２への送信待ちパケットがバッファにあるか否かを判断する（ステップＳ８０１）。送信待ちのパケットがバッファにない場合（ステップＳ８０１：Ｎｏ）は、送信処理部３２７は、一連の処理を終了する。送信待ちのパケットがバッファにある場合（ステップＳ８０１：Ｙｅｓ）は、送信処理部３２７は、送信待ちパケットにシーケンス番号が付加されているか否かを判断する（ステップＳ８０２）。
【００８０】
ステップＳ８０２において、シーケンス番号が付加されている場合（ステップＳ８０２：Ｙｅｓ）は、送信処理部３２７は、送信待ちパケットのシーケンス番号が、次回送信すべき送信待ちのシーケンス番号であるか否かを判断する（ステップＳ８０３）。たとえば、前回送信したパケットのシーケンス番号が「０」の場合は、次回送信すべき送信待ちシーケンス番号は「１」である。送信処理部３２７は、送信待ちパケットのシーケンス番号が「１」である場合は送信待ちのシーケンス番号であると判断し、送信待ちパケットのシーケンス番号が「１」以外である場合は送信待ちのシーケンス番号でないと判断する。
【００８１】
ステップＳ８０３において、次回送信すべき送信待ちのシーケンス番号である場合（ステップＳ８０３：Ｙｅｓ）は、送信処理部３２７は、送信待ちパケットを送信する（ステップＳ８０４）。つぎに、送信処理部３２７は、次回送信すべき送信待ちのシーケンス番号をインクリメントする（ステップＳ８０５）。たとえば、送信処理部３２７は、シーケンス番号が「１」のパケットを送信した場合は、次回送信すべき送信待ちシーケンス番号を「２」とする。つぎに、送信処理部３２７は、順序整列の待ち時間を管理するための送信待ちタイマをリセットし（ステップＳ８０６）、一連の処理を終了する。
【００８２】
ステップＳ８０３において、次回送信すべき送信待ちのシーケンス番号でない場合（ステップＳ８０３：Ｎｏ）は、送信処理部３２７は、送信待ちタイマがタイムアウトしたか否かを判断する（ステップＳ８０７）。送信待ちタイマのタイムアウト時間は、たとえばあらかじめ転送装置４００Ｂに設定されていてもよい。
【００８３】
ステップＳ８０７において、送信待ちタイマがタイムアウトした場合（ステップＳ８０７：Ｙｅｓ）は、次回送信すべき送信待ちシーケンス番号を付加されたパケットは、転送途中でエラーなどによりロスしたものと判断することができる。この場合は、送信処理部３２７は、ステップＳ８０５へ移行する。これにより、次回送信すべき送信待ちシーケンス番号をインクリメントしてスキップすることができる。
【００８４】
ステップＳ８０７において、送信待ちタイマがタイムアウトしていない場合（ステップＳ８０７：Ｎｏ）は、送信処理部３２７は、一連の処理を終了する。これにより、送信待ちタイマがタイムアウトするまでは、次回送信すべき送信待ちシーケンス番号を付加されたパケットの受信を待つことができる。
【００８５】
ステップＳ８０２において、送信待ちパケットにシーケンス番号が付加されていない場合（ステップＳ８０２：Ｎｏ）は、送信待ちパケットのデータフローは１つのリンクによって送信されたと判断することができる。したがって、この場合は、転送装置４００Ａから転送装置４００Ｂへの伝送においてパケットの順序逆転が発生していないと判断することができる。この場合は、送信処理部３２７は、順序整列を行わず、送信待ちパケットを直ちに送信し（ステップＳ８０８）、一連の処理を終了する。
【００８６】
＜受信側の転送装置の処理の例２＞
図９は、実施の形態１にかかる受信側の転送装置の処理の例２を示すフローチャート（その１）である。受信側の転送装置４００Ｂは、たとえば以下の各ステップを繰り返し実行してもよい。まず、回線ＩＦ部３１０が、回線ＩＦ部３３１〜３３ｎのいずれかを介して、送信側の転送装置４００Ａからのパケットを受信する（ステップＳ９０１）。つぎに、受信処理部３２８が、ステップＳ９０１によって受信されたパケットにシーケンス番号が付加されているか否かを判断する（ステップＳ９０２）。
【００８７】
ステップＳ９０２において、シーケンス番号が付加されている場合（ステップＳ９０２：Ｙｅｓ）は、受信処理部３２８が、ステップＳ９０１によって受信されたパケットのデータフローを識別する（ステップＳ９０３）。つぎに、受信処理部３２８が、ステップＳ９０１によって受信されたパケットを、ステップＳ９０３によって識別されたデータフローに対応するバッファに格納し（ステップＳ９０４）、一連の処理を終了する。
【００８８】
ステップＳ９０２において、シーケンス番号が付加されていない場合（ステップＳ９０２：Ｎｏ）は、受信したパケットのデータフローは１つのリンクによって送信されたと判断することができる。したがって、この場合は、転送装置４００Ａから転送装置４００Ｂへの伝送においてパケットの順序逆転が発生していないと判断することができる。この場合は、送信処理部３２７が、順序整列を行わず、受信したパケットを直ちに送信し（ステップＳ９０５）、一連の処理を終了する。このように、受信したパケットのデータフローが１つのリンクによって送信された場合は、データフローの識別および順序整列を行わずにパケットを出力してもよい。
【００８９】
図１０は、実施の形態１にかかる受信側の転送装置の処理の例２を示すフローチャート（その２）である。転送装置４００Ｂは、図９に示した処理を行う場合は、各データフローを対象としてたとえば以下に示す処理を実行してもよい。まず、送信処理部３２７が、対象のデータフローについて送信待ちのパケットがバッファにあるか否かを判断する（ステップＳ１００１）。対象のデータフローについて送信待ちのパケットがない場合（ステップＳ１００１：Ｎｏ）は、転送装置４００Ｂは、一連の処理を終了する。
【００９０】
ステップＳ１００１において、対象のデータフローについて送信待ちのパケットがある場合（ステップＳ１００１：Ｙｅｓ）は、転送装置４００Ｂは、ステップＳ１００２へ移行する。ステップＳ１００２〜Ｓ１００６は、図８に示したステップＳ８０３〜Ｓ８０７と同様である。すなわち、図９に示した処理を行う場合は、バッファに格納されるパケットはシーケンス番号が付加されているパケットであるため、転送装置４００Ｂは、バッファに格納されている各パケットについて順序整列を行う。
【００９１】
図９および図１０に示したように、転送装置４００Ｂは、受信したパケットについて、まずシーケンス番号が付加されているかを判断し、シーケンス番号が付加されていた場合にデータフローの識別および順序整列を行う。また、転送装置４００Ｂは、受信したパケットにシーケンス番号が付加されていない場合は、受信したパケットを直ちに送信する。
【００９２】
＜受信側の転送装置の処理の例３＞
図１１は、実施の形態１にかかる受信側の転送装置の処理の例３を示すフローチャートである。受信側の転送装置４００Ｂの送信処理部３２７は、たとえば、図７に示した処理とともに、図１１に示す処理を実行してもよい。図１１に示すステップＳ１１０１〜Ｓ１１０８は、図８に示したステップＳ８０１〜Ｓ８０８と同様である。
【００９３】
ただし、ステップＳ１１０２においては、送信処理部３２７は、転送装置４００Ａが対象のデータフローに第２のリンクを割り当て中か否かを判断する（ステップＳ１１０２）。具体的には、送信処理部３２７は、メッセージ処理部３２５によって転送装置４００Ａから受信された制御メッセージに基づいて、転送装置４００Ａが対象のデータフローに第２のリンクを割り当て中か否かを判断する。
【００９４】
ステップＳ１１０２において、第２のリンクを割り当て中でない場合（ステップＳ１１０２：Ｎｏ）は、転送装置４００Ｂは、ステップＳ１１０８へ移行する。第２のリンクを割り当て中である場合（ステップＳ１１０２：Ｙｅｓ）は、転送装置４００Ｂは、ステップＳ１１０３へ移行する。このように、データフローが複数のリンクによって送信されているか、または１つのリンクによって送信されているかを、転送装置４００Ａから受信された制御メッセージに基づいて判定してもよい。
【００９５】
＜受信側の転送装置の処理の例４＞
図１２は、実施の形態１にかかる受信側の転送装置の処理の例４を示すフローチャートである。受信側の転送装置４００Ｂの送信処理部３２７は、たとえば以下の各ステップを実行してもよい。図１２に示すステップＳ１２０１〜Ｓ１２０５は、図９に示したステップＳ９０１〜Ｓ９０５と同様である。
【００９６】
ただし、ステップＳ１２０２においては、送信処理部３２７は、メッセージ処理部３２５が転送装置４００Ａから受信した制御メッセージに基づいて、第２のリンクを割り当て中のデータフローがあるか否かを判断する（ステップＳ１２０２）。第２のリンクを割り当て中のデータフローがない場合（ステップＳ１２０２：Ｎｏ）は、送信処理部３２７は、ステップＳ１２０５へ移行する。第２のリンクを割り当て中のデータフローがある場合（ステップＳ１２０２：Ｙｅｓ）は、送信処理部３２７は、ステップＳ１２０５へ移行する。また、転送装置４００Ｂは、図１２に示した処理とともに、たとえば図１０に示した処理を行う。
【００９７】
このように、転送装置４００Ｂは、いずれかのデータフローについて第２のリンクが割り当てられたことを対向側の転送装置４００Ａから通知されている場合に、データフローの識別および順序整列を行ってもよい。また、転送装置４００Ｂは、いずれのデータフローにも第２のリンクが割り当てられていない場合にはパケットを直ちに送信する。
【００９８】
また、転送装置４００Ｂは、転送装置４００Ａから制御メッセージを受信した場合に、転送装置４００Ａへ応答メッセージを返してもよい。転送装置４００Ａは、転送装置４００Ｂから送信された応答メッセージを受信した時点から、データフローのパケットの第１のリンクおよび第２のリンクへの振り分けを開始してもよい。
【００９９】
このように、実施の形態１にかかる通信システム１００においては、送信装置１１０は、データフローを１つまたは複数のリンクによって送信する。そして、受信装置１２０は、データフローが複数のリンクによって送信された場合には受信したデータフローのパケットの順序整列を行い、データフローが１つのリンクによって伝送された場合には受信したデータフローのパケットの順序整列を行わない。これにより、順序整列に起因する遅延時間を低減し、パケット伝送のスループットを向上させることができる。
【０１００】
特に、アグリゲーションリンクが無線リンクである場合は、パケットロスが発生しやすいため順序整列に起因する遅延時間が大きい。これに対して、通信システム１００によれば、順序整列に起因する遅延時間を低減し、スループットを向上させることができる。また、データフローが１つのリンクによって伝送された場合にはパケット間で順序の逆転が発生しないため、順序整列を行わなくても通信品質を維持することができる。
【０１０１】
また、送信装置１１０は、データフローを複数のリンクにより送信する場合はデータフローの各パケットにシーケンス番号（順序情報）を付加して送信し、データフローを１つのリンクにより送信する場合はシーケンス番号を付加しない。これにより、パケットのオーバーヘッドを縮小し、パケット伝送のスループットを向上させることができる。また、データフローを１つのリンクにより送信する場合はパケット間で順序の逆転が発生しないため、シーケンス番号を付加しなくても通信品質を維持することができる。
【０１０２】
この場合は、受信装置１２０は、受信したパケットにシーケンス番号が付加されているか否かに基づいて、データフローが複数のリンクにより送信されているか１つのリンクにより送信されているかを判定することができる。このため、データフローが複数のリンクにより送信されているか１つのリンクにより送信されているかを示すフラグ情報や制御情報を用いなくても、データフローが複数のリンクにより送信されているか１つのリンクにより送信されているかを判定することができる。
【０１０３】
または、送信装置１１０は、データフローを複数のリンクにより送信するか１つのリンクにより送信するかを示す制御メッセージ（制御情報）を受信装置１２０へ送信してもよい。この場合は、受信装置１２０は、送信装置１１０によって送信された制御メッセージに基づいて、データフローが複数のリンクにより送信されているか１つのリンクにより送信されているかを判定することができる。
【０１０４】
また、送信装置１１０は、データフローのトラフィック量を計測し、計測したトラフィック量に基づいて受信装置１２０との間の各リンクの少なくともいずれかにデータフローを割り当てて送信する。これにより、伝送すべきデータフローのトラフィック量に応じて、データフローを１つのリンクにより送信し、またはデータフローを複数のリンクにより送信することができる。これにより、各リンクの帯域を効率的に使用することができる。
【０１０５】
また、送信装置１１０は、各リンクの伝送速度を取得し、取得した伝送速度とデータフローのトラフィック量とに基づいてデータフローを各リンクの少なくともいずれかに割り当てて送信する。これにより、各リンクが無線リンクであり、各リンクの伝送速度が変動する通信システムにおいて、１つのリンクでは帯域が不足する場合は複数のリンクによりデータフローを送信して各リンクの帯域を効率的に使用することができる。また、１つのリンクで帯域が足りる場合は１つのリンクによりデータフローを送信するとともに、順序整列を行わないことでスループットを向上させることができる。
【０１０６】
（実施の形態２）
（通信システム）
図１３は、実施の形態２にかかる通信システムを示す図である。図１３において、図２に示した部分と同様の部分については同一の符号を付して説明を省略する。図１３に示すように、実施の形態２にかかる送信装置１１０は、複数のリンクによって送信するデータフロー１のパケット１０１に加えて、１つのリンクによって送信するデータフロー２のパケット１０２にもシーケンス番号を付加する。これにより、シーケンス番号の付加においてデータフローの割り当てを考慮しなくてもよいため、処理を簡単にすることができる。
【０１０７】
データフロー１，２のトラフィック量およびアグリゲーションリンク＃１，＃２の伝送速度は、図２に示した例と同様であるとする。送信部１１３は、複数のリンクに割り当てられたデータフローの各パケットにはフラグ（フラグ情報）を設定する。また、送信部１１３は、１つのリンクに割り当てられたデータフローの各パケットにはフラグを設定しない。ここでは、送信部１１３は、データフロー１のパケット１０１にはフラグを設定し、データフロー２のパケット１０２にはフラグを設定しない。パケット１０１のシーケンス番号の下線は、フラグが設定されていることを示している。
【０１０８】
受信装置１２０の判定部１２２は、受信部１２１によって受信されたパケットにフラグが設定されているか否かによって、パケットのデータフローが複数のリンクにより送信されているか、または１つのリンクにより送信されているかを判定する。整列部１２３は、データフロー１のパケット１０１については、図２と同様にシーケンス番号に基づいて順序整列を行う。また、受信装置１２０は、データフロー２のパケット１０２については、シーケンス番号は付加されているが、送信装置１１０から受信装置１２０への送信において順序逆転が発生しないため、順序整列は行わずに出力する。
【０１０９】
図１３に示す例では、アグリゲーションリンク＃２により送信されたデータフロー２のシーケンス番号「２」のパケット１０２が、エラーにより受信装置１２０において正しく受信されずパケットロスとなっている。パケット列１０２ａは、受信装置１２０によって受信されたデータフロー２の各パケットである。この場合は、データフロー２のパケット１０２として、シーケンス番号「１」，「３」の順にパケット１０２が受信部１２１によって受信されるが、シーケンス番号「２」のパケット１０２が抜けることになる。
【０１１０】
このような場合にも、整列部１２３は、データフロー２については順序整列を行わず、シーケンス番号「１」，「３」のパケット１０２をそれぞれ受信した時点で直ちに出力する。これにより、ロスしたシーケンス番号「２」のパケット１０２の受信待ちをタイムアウトするまで行うことによるパケット伝送の遅延を回避することができる。
【０１１１】
パケットへのフラグの設定方法としては、たとえばパケットにシーケンス番号のためのオプションヘッダを挿入する場合には、オプションヘッダ内の１ビットをフラグとして使用することが考えられる。ただし、パケットへのフラグの設定方法はこれに限らず、他の方法によってフラグを設定してもよい。
【０１１２】
（送信装置および受信装置の適用例）
実施の形態２にかかる送信装置１１０および受信装置１２０の適用例については、図３，図４に示した転送装置３００、転送装置４００Ａ，４００Ｂと同様である。
【０１１３】
（送信側の転送装置の処理）
図１４は、実施の形態２にかかる送信側の転送装置の処理の一例を示すフローチャートである。実施の形態２にかかる送信側の転送装置４００Ａは、図７に示した処理を行うとともに、たとえば図１４に示した各ステップを繰り返し実行する。図１４に示すステップＳ１４０１〜Ｓ１４０６は、図５に示したステップＳ５０１〜Ｓ５０６と同様である。
【０１１４】
ステップＳ１４０６において、第１のリンクのみが割り当てられている場合（ステップＳ１４０６：Ｙｅｓ）は、送信処理部３２７が、データフローのパケットにシーケンス番号を付加する（ステップＳ１４０７）。またステップＳ１４０６において、第１および第２のリンクが割り当てられている場合（ステップＳ１４０６：Ｎｏ）は、送信処理部３２７が、データフローのパケットにシーケンス番号の付加（ステップＳ１４０９）、およびフラグ情報の付加（ステップＳ１４１０）を行う。
【０１１５】
ただし、送信側の転送装置４００Ａのメッセージ処理部３２５が、データフローに対し第１および第２のリンクを割り当てていることの制御メッセージを受信側の転送装置４００Ｂへ送信する場合には、フラグ情報の付加（ステップＳ１４１０）はしなくてもよい。図１４に示すステップＳ１４０８，Ｓ１４０９，Ｓ１４１１は、図５に示したステップＳ５０７〜Ｓ５０９と同様である。このように、実施の形態２にかかる送信側の転送装置４００Ａは、第１のリンクのみが割り当てられている場合にもデータフローのパケットにシーケンス番号を付加する。
【０１１６】
図１５は、実施の形態２にかかる送信側の転送装置の処理の他の例を示すフローチャートである。実施の形態２にかかる送信側の転送装置４００Ａは、図７に示した処理を行うとともに、たとえば図１５に示す処理を繰り返し実行してもよい。図１５に示すステップＳ１５０１，Ｓ１５０２は、図１４に示したステップＳ１４０１，Ｓ１４０２と同様である。ステップＳ１５０２のつぎに、送信処理部３２７が、データフローのパケットにシーケンス番号を付加する（ステップＳ１５０３）。図１５に示すステップＳ１５０４〜Ｓ１５０７は、図１４に示したステップＳ１４０３〜Ｓ１４０６と同様である。
【０１１７】
ステップＳ１５０７において、第１のリンクのみが割り当てられている場合（ステップＳ１５０７：Ｙｅｓ）は、転送装置４００Ａは、ステップＳ１５０８へ移行する。第１のリンクおよび第２のリンクが割り当てられている場合（ステップＳ１５０７：Ｎｏ）は、転送装置４００Ａは、ステップＳ１５０９へ移行する。ステップＳ１５０９では、送信処理部３２７が、データフローのパケットにフラグ情報の付加を行う。
【０１１８】
ただし、送信側の転送装置４００Ａのメッセージ処理部３２５が、データフローに対し第１および第２のリンクを割り当てていることの制御メッセージを受信側の転送装置４００Ｂへ送信する場合には、フラグ情報の付加（ステップＳ１５０９）はしなくてもよい。図１５に示すステップＳ１５０８，Ｓ１５１０は、図１４に示したステップＳ１４０８，Ｓ１４１０と同様である。このように、転送装置４００Ａは、ステップＳ１５０６によってデータフローにリンクを割り当てる前にパケットにシーケンス番号を付加してもよい。
【０１１９】
（受信側の転送装置の処理）
＜受信側の転送装置の処理の例１＞
図１６は、実施の形態２にかかる受信側の転送装置の処理の例１を示すフローチャートである。受信側の転送装置４００Ｂの送信処理部３２７は、たとえば、図７に示した処理とともに、図１６に示す処理を実行してもよい。図１６に示すステップＳ１６０１〜Ｓ１６０８は、図８に示したステップＳ８０１〜Ｓ８０８と同様である。
【０１２０】
ただし、ステップＳ１６０２においては、送信処理部３２７は、転送装置４００Ａによってパケットにフラグが設定されているか否かを判断する（ステップＳ１６０２）。パケットにフラグが設定されていない場合（ステップＳ１６０２：Ｎｏ）は、転送装置４００Ｂは、ステップＳ１６０８へ移行する。パケットにフラグが設定されている場合（ステップＳ１６０２：Ｙｅｓ）は、転送装置４００Ｂは、ステップＳ１６０３へ移行する。
【０１２１】
このように、実施の形態２にかかる送信処理部３２７は、データフローが複数のリンクによって送信されているか、または１つのリンクによって送信されているかを、転送装置４００Ａによってパケットにフラグが設定されているか否かによって判定する。
【０１２２】
＜受信側の転送装置の処理の例２＞
図１７は、実施の形態２にかかる受信側の転送装置の処理の例２を示すフローチャート（その１）である。受信側の転送装置４００Ｂは、たとえば図１７に示す処理を実行してもよい。図１７に示すステップＳ１７０１〜Ｓ１７０５は、図９に示したステップＳ９０１〜Ｓ９０５と同様である。ただし、ステップＳ１７０２においては、受信処理部３２８が、ステップＳ１７０１によって受信されたパケットにフラグが設定されているか否かを判断する（ステップＳ１７０２）。
【０１２３】
ステップＳ１７０２において、フラグが設定されている場合（ステップＳ１７０２：Ｙｅｓ）は、転送装置４００Ｂは、ステップＳ１７０３へ移行する。フラグが設定されていない場合（ステップＳ１７０２：Ｎｏ）は、転送装置４００Ｂは、ステップＳ１７０５へ移行する。このように、受信したパケットのデータフローが１つのリンクによって送信された場合は、データフローの識別および順序整列を行わずにパケットを出力してもよい。
【０１２４】
図１８は、実施の形態２にかかる受信側の転送装置の処理の例２を示すフローチャート（その２）である。転送装置４００Ｂは、図１７に示した処理を行う場合は、各データフローを対象としてたとえば以下に示す処理を実行してもよい。まず、送信処理部３２７が、対象のデータフローについて送信待ちのパケットがバッファにあるか否かを判断する（ステップＳ１８０１）。対象のデータフローについて送信待ちのパケットがない場合（ステップＳ１８０１：Ｎｏ）は、転送装置４００Ｂは、一連の処理を終了する。
【０１２５】
ステップＳ１８０１において、対象のデータフローについて送信待ちのパケットがある場合（ステップＳ１８０１：Ｙｅｓ）は、転送装置４００Ｂは、ステップＳ１８０２へ移行する。ステップＳ１８０２〜Ｓ１８０６は、図１６に示したステップＳ１６０３〜Ｓ１６０７と同様である。すなわち、図１７に示した処理を行う場合は、バッファに格納されるパケットは複数のリンクにより送信されているデータフローのパケットであるため、転送装置４００Ｂは、バッファに格納されている各パケットについて順序整列を行う。
【０１２６】
図１７および図１８に示したように、転送装置４００Ｂは、受信したパケットについて、まずフラグが設定されているかを判断し、フラグが設定されていた場合にデータフローの識別および順序整列を行う。また、転送装置４００Ｂは、受信したパケットにフラグが設定されていない場合は、受信したパケットを直ちに送信する。
【０１２７】
また、実施の形態２にかかる受信側の転送装置４００Ｂの送信処理部３２７は、たとえば、図７に示した処理とともに、図１１に示す処理を実行してもよい。
【０１２８】
このように、実施の形態２にかかる通信システム１００においては、送信装置１１０は、データフローを複数のリンクにより送信するか１つのリンクにより送信するかを示すフラグ情報をデータフローのパケットに設定する。そして、受信装置１２０は、受信したパケットに設定されたフラグ情報に基づいて、データフローが複数のリンクにより送信されているか１つのリンクにより送信されているかを判定することができる。
【０１２９】
この場合は、送信装置１１０は、データフローを複数のリンクにより送信する場合にも、データフローを１つのリンクにより送信する場合にも、各パケットにシーケンス番号を付加してもよい。これにより、シーケンス番号を付加する処理においてデータフローの割り当てを判断しなくてもよいため、送信装置１１０の処理を簡単にすることができる。
【０１３０】
（実施の形態３）
図１９は、実施の形態３にかかる通信システムを示す図である。図１９において、図１に示した部分と同様の部分については同一の符号を付して説明を省略する。図１９に示す例では、データフロー１，２のトラフィックがそれぞれ３０［Ｍｂｐｓ］であり、アグリゲーションリンク＃１，＃２の伝送速度がそれぞれ１００［Ｍｂｐｓ］であるとする。
【０１３１】
この場合は、アグリゲーションリンク＃１，＃２のいずれか１つのリンクによりデータフロー１，２の両方を転送しても帯域は不足しない。このような場合には、送信装置１１０は、たとえばデータフロー１，２の両方について、第１のリンクとしてアグリゲーションリンク＃１を割り当て、第２のリンクはいずれのデータフローにも割り当てなくてもよい。この場合は、アグリゲーションリンク＃２は、いずれのデータフローの第１のリンクまたは第２のリンクとしても使用されない。
【０１３２】
この場合に、送信装置１１０の送信部１１３は、アグリゲーションリンク＃２の動作状態を一時的に無効化する。たとえば、送信部１１３は、アグリゲーションリンク＃１，＃２が無線リンクである場合には、送信部１１３からの無線信号の出力を停止し、または断続的にする。これにより、省電力化を図ることができる。また、送信部１１３は、割当部１１２によって無効化中のアグリゲーションリンクにもデータフローが割り当てられた場合に、無効化中のアグリゲーションリンクを有効化する。
【０１３３】
このように、通信システム１００は、データフローのトラフィック量や各リンクの伝送速度に基づいて、データフローを複数のリンクに分散して割り当て、またはデータフローを１つのリンクに割り当てる。したがって、いずれのデータフローにも割り当てられないリンクが存在する場合がある。このような場合に、割り当てのないリンクの処理を一時的に停止することで、送信装置１１０の消費電力を削減することができる。
【０１３４】
（送信装置および受信装置の適用例）
図２０は、実施の形態３にかかる送信装置および受信装置の適用例を示す図である。図２０において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。図２０に示す転送装置３００は、図１９に示した送信装置１１０および受信装置１２０を適用した転送装置である。転送装置３００は、図３に示した転送装置３００の構成に加えて稼動制御部３２６を備えている。
【０１３５】
稼動制御部３２６は、割当部３２３による割り当て結果に基づいて、回線ＩＦ部３３１〜３３ｎのうちの、データフローの割り当てがないアグリゲーションリンクに対応する回線ＩＦ部を一時的に無効化する。具体的には、稼動制御部３２６は、回線ＩＦ部による無線信号の出力を停止し、または断続的にする。また、稼動制御部３２６は、割当部３２３による割り当て結果に基づいて、無効化している回線ＩＦ部のうちの、データフローが割り当てられた回線ＩＦ部を有効化する。
【０１３６】
（送信側の転送装置の処理）
図２１は、実施の形態３にかかる稼動制御部の処理の一例を示すフローチャートである。実施の形態３にかかる送信側の転送装置４００Ａの稼動制御部３２６は、上述した処理に加えて、たとえば図２１に示す各ステップを実行する。図２１に示す各ステップは、パケットの転送処理とは独立に定期的に実行してもよいし、たとえば図６に示したリンクの割り当て処理によってリンクの割り当て状態が変化するごとに実行してもよい。
【０１３７】
まず、稼動制御部３２６は、割当部３２３による割り当て結果に基づいて、有効なアグリゲーションリンクのうちの、データフローの割り当てがないリンクがあるか否かを判断する（ステップＳ２１０１）。データフローの割り当てがないリンクがある場合（ステップＳ２１０１：Ｙｅｓ）は、稼動制御部３２６は、データフローの割り当てがないリンクを無効化するか否かを判断する（ステップＳ２１０２）。
【０１３８】
ステップＳ２１０２において、たとえば、稼動制御部３２６は、データフローの割り当てがないリンクについては常に無効化すると判断する。または、稼動制御部３２６は、有効なリンクのうちの空き帯域が最大のリンクの空き帯域が閾値より小さい場合は無効化しないと判断し、有効なリンクのうちの空き帯域が最大のリンクの空き帯域が閾値以上である場合は無効化すると判断してもよい。
【０１３９】
または、稼動制御部３２６は、有効なリンクの空き帯域の合計が閾値より小さい場合は無効化しないと判断し、有効なリンクの空き帯域の合計が閾値以上である場合は無効化すると判断してもよい。または、稼動制御部３２６は、有効なリンクのうちの使用率が最小のリンクの使用率が閾値より大きい場合は無効化しないと判断し、有効なリンクのうちの使用率が最小のリンクの使用率が閾値以下である場合は無効化すると判断してもよい。
【０１４０】
または、稼動制御部３２６は、有効なリンクの総トラフィック量を有効なリンクの伝送速度の合計で除算した値（全体の使用率）が閾値より大きい場合は無効化しないと判断してもよい。この場合は、稼動制御部３２６は、有効なリンクの総トラフィック量を有効なリンクの伝送速度の合計で除算した値（全体の使用率）が閾値以下である場合は無効化すると判断する。
【０１４１】
ステップＳ２１０２において、データフローの割り当てがないリンクを無効化しないと判断した場合（ステップＳ２１０２：Ｎｏ）は、稼動制御部３２６は、一連の処理を終了する。データフローの割り当てがないリンクを無効化すると判断した場合（ステップＳ２１０２：Ｙｅｓ）は、稼動制御部３２６は、データフローの割り当てがないリンクを無効化し（ステップＳ２１０３）、一連の処理を終了する。
【０１４２】
ステップＳ２１０１において、データフローの割り当てがないリンクがない場合（ステップＳ２１０１：Ｎｏ）は、稼動制御部３２６は、無効化しているリンクがあるか否かを判断する（ステップＳ２１０４）。ステップＳ２１０４において、無効化しているリンクがない場合（ステップＳ２１０４：Ｎｏ）は、稼動制御部３２６は、一連の処理を終了する。無効化しているリンクがある場合（ステップＳ２１０４：Ｙｅｓ）は、稼動制御部３２６は、無効化しているリンクを有効化するか否かを判断する（ステップＳ２１０５）。
【０１４３】
ステップＳ２１０５において、たとえば、稼動制御部３２６は、有効なリンクのうちの空き帯域が最大のリンクの空き帯域が閾値より大きい場合は有効化しないと判断してもよい。この場合は、稼動制御部３２６は、有効なリンクのうちの空き帯域が最大のリンクの空き帯域が閾値以下である場合は有効化すると判断する。
【０１４４】
または、稼動制御部３２６は、有効なリンクの空き帯域の合計が閾値より大きい場合は有効化しないと判断し、有効なリンクの空き帯域の合計が閾値以下である場合は有効化すると判断してもよい。または、稼動制御部３２６は、有効なリンクのうちの使用率が最小のリンクの使用率が閾値より小さい場合は有効化しないと判断し、有効なリンクのうちの使用率が最小のリンクの使用率が閾値以上である場合は有効化すると判断してもよい。
【０１４５】
または、稼動制御部３２６は、有効なリンクの総トラフィック量を有効なリンクの伝送速度の合計で除算した値（全体の使用率）が閾値より小さい場合は有効化しないと判断してもよい。この場合は、稼動制御部３２６は、有効なリンクの総トラフィック量を有効なリンクの伝送速度の合計で除算した値（全体の使用率）が閾値以上である場合は有効化すると判断する。
【０１４６】
ステップＳ２１０５において、リンクを有効化しないと判断した場合（ステップＳ２１０５：Ｎｏ）は、稼動制御部３２６は、一連の処理を終了する。無効化しているリンクを有効化すると判断した場合（ステップＳ２１０５：Ｙｅｓ）は、稼動制御部３２６は、無効化しているリンクを有効化し（ステップＳ２１０６）、一連の処理を終了する。
【０１４７】
このように、実施の形態３にかかる通信システム１００においては、送信装置１１０は、受信装置１２０との間の各リンクのうちのデータフローを割り当てていないリンクを無効化する。これにより、送信装置１１０の消費電力を低減することができる。
【０１４８】
（各実施の形態にかかる転送装置の適用例）
つぎに、上述した各実施の形態にかかる転送装置の適用例について説明する。
【０１４９】
＜無線ネットワークの基地局とコアネットワーク間のバックボーン部分への適用＞
図２２は、転送装置を適用した通信システムの例１を示す図である。図２２において、図４に示した部分と同様の部分については同一の符号を付して説明を省略する。図２２に示す通信システム２２００は、無線基地局２２１０と、転送装置４００Ａ，４００Ｂと、無線システムコア網２２２０と、を含んでいる。
【０１５０】
転送装置４００Ａおよび転送装置４００Ｂは、無線基地局２２１０と無線システムコア網２２２０との間で送受信される各データフローを、アグリゲーションリンク＃１〜＃ｎによるリンクアグリゲーションによって転送する。このように、転送装置４００Ａおよび転送装置４００Ｂは、通信システム２２００の無線基地局２２１０と無線システムコア網２２２０の間のバックホール回線部分に適用することができる。
【０１５１】
＜無線基地局と無線端末の通信リンク部分への適用＞
図２３は、転送装置を適用した通信システムの例２を示す図である。図２３において、図４に示した部分と同様の部分については同一の符号を付して説明を省略する。図２３に示す通信システム２３００は、無線端末２３１０と、無線基地局２３２０と、を含んでいる。無線端末２３１０および無線基地局２３２０は、キャリア周波数ｆ１〜ｆｎのアグリゲーションリンク＃１〜＃ｎによるリンクアグリゲーションによって互いにデータフローを送受信するマルチキャリア通信を行う。
【０１５２】
マルチキャリア通信において、複数のキャリア周波数ｆ１〜ｆｎを同時に使用するため、各キャリア周波数の無線リンクを、それぞれアグリゲーションリンク＃１〜＃ｎとして用いることができる。図４に示した転送装置４００Ａおよび転送装置４００Ｂは、無線端末２３１０および無線基地局２３２０のそれぞれに適用することができる。このように、転送装置４００Ａおよび転送装置４００Ｂは、通信システム２３００の無線基地局２３２０と無線端末２３１０の通信リンク部分に適用することができる。
【０１５３】
以上説明したように、通信システム、通信方法、受信装置および送信装置によれば、スループットを向上させることができる。なお、上述した各実施の形態においては、複数のデータフローを伝送する構成について説明したが、１つのデータフローを伝送する構成としてもよい。上述した各実施の形態に関し、さらに以下の付記を開示する。
【０１５４】
（付記１）データフローを１つまたは複数のリンクにより送信する送信装置と、
前記送信装置によって送信されるデータフローのパケットを受信し、受信したパケットのデータフローが前記複数のリンクにより送信されている場合に前記受信したパケットを順序整列して出力し、前記データフローが１つのリンクにより送信されている場合に前記受信したパケットを順序整列せずに出力する受信装置と、
を含むことを特徴とする通信システム。
【０１５５】
（付記２）前記送信装置は、前記データフローを前記複数のリンクにより送信する場合は前記データフローの各パケットに前記各パケットの順序を示す順序情報を付加し、前記データフローを前記１つのリンクにより送信する場合は前記各パケットに前記順序情報を付加しないことを特徴とする付記１に記載の通信システム。
【０１５６】
（付記３）前記受信装置は、前記受信したパケットに前記順序情報が付加されているか否かに基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定することを特徴とする付記２に記載の通信システム。
【０１５７】
（付記４）前記送信装置は、前記データフローを前記複数のリンクにより送信するか１つのリンクにより送信するかを示すフラグ情報を前記データフローのパケットに設定し、
前記受信装置は、前記受信したパケットに設定されたフラグ情報に基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定することを特徴とする付記１〜３のいずれか一つに記載の通信システム。
【０１５８】
（付記５）前記送信装置は、前記データフローを前記複数のリンクにより送信するか１つのリンクにより送信するかを示す制御情報を前記受信装置へ送信し、
前記受信装置は、前記送信装置によって送信された制御情報に基づいて、前記データフローが前記複数のリンクにより送信されているか前記１つのリンクにより送信されているかを判定することを特徴とする付記１〜４のいずれか一つに記載の通信システム。
【０１５９】
（付記６）前記送信装置は、前記データフローのトラフィック量を計測し、計測したトラフィック量に基づいて、前記データフローを前記受信装置との間の各リンクのうちの１つのリンクにより送信し、または前記データフローを前記各リンクのうちの複数のリンクにより送信することを特徴とする付記１〜５のいずれか一つに記載の通信システム。
【０１６０】
（付記７）前記送信装置は、前記各リンクの伝送速度を取得し、取得した伝送速度と前記トラフィック量とに基づいて、前記データフローを前記受信装置との間の各リンクのうちの１つのリンクにより送信し、または前記データフローを前記各リンクのうちの複数のリンクにより送信することを特徴とする付記６に記載の通信システム。
【０１６１】
（付記８）前記送信装置は、前記伝送速度と前記トラフィック量とに基づく前記各リンクの空き帯域または使用率を取得し、取得した空き帯域または使用率に基づいて、前記データフローを前記受信装置との間の各リンクのうちの１つのリンクにより送信し、または前記データフローを前記各リンクのうちの複数のリンクにより送信することを特徴とする付記７に記載の通信システム。
【０１６２】
（付記９）前記送信装置は、前記受信装置との間の各リンクのうちの前記データフローを割り当てていないリンクを無効化することを特徴とする付記１〜８のいずれか一つに記載の通信システム。
【０１６３】
（付記１０）前記送信装置は、前記受信装置との間の無線の各リンクのうちの前記１つまたは複数のリンクにより前記データフローを送信することを特徴とする付記１〜９のいずれか一つに記載の通信システム。
【０１６４】
（付記１１）前記送信装置は、複数のデータフローを送信し、
前記受信装置は、前記送信装置によって送信される複数のデータフローをそれぞれ識別して受信することを特徴とする付記１〜１０のいずれか一つに記載の通信システム。
【０１６５】
（付記１２）データフローを１つまたは複数のリンクにより送信し、
送信される前記データフローのパケットを受信し、
受信したパケットのデータフローが前記複数のリンクにより送信されている場合に前記受信したパケットを順序整列して出力し、
前記データフローが１つのリンクにより送信されている場合に前記受信したパケットを順序整列せずに出力することを特徴とする通信方法。
【０１６６】
（付記１３）送信装置から１つまたは複数のリンクにより送信されるデータフローのパケットを受信する受信部と、
前記受信部によって受信されたパケットのデータフローが、前記複数のリンクにより送信されているか、または１つのリンクにより送信されているかを判定する判定部と、
前記判定部によって前記複数のリンクにより送信されていると判定された場合に前記受信されたパケットを順序整列して出力し、前記１つのリンクにより送信されていると判定された場合に前記受信されたパケットを順序整列せずに出力する整列部と、
を備えることを特徴とする受信装置。
【０１６７】
（付記１４）入力されたデータフローのトラフィック量を計測する計測部と、
前記計測部によって計測されたトラフィック量に基づいて、前記データフローを受信装置との間の各リンクのうちの１つのリンクに割り当て、または前記データフローを前記各リンクのうちの複数のリンクに割り当てる割当部と、
前記割当部による割り当て結果に基づいて前記各リンクの少なくともいずれかにより前記データフローを前記受信装置へ送信する送信部と、
を備えることを特徴とする送信装置。
【０１６８】
（付記１５）前記送信部は、前記データフローを前記複数のリンクにより送信する場合は前記データフローの各パケットに前記各パケットの順序を示す順序情報を付加し、前記データフローを前記１つのリンクにより送信する場合は前記各パケットに前記順序情報を付加しないことを特徴とする付記１４に記載の送信装置。
【符号の説明】
【０１６９】
＃１〜＃ｎ  アグリゲーションリンク
１００，２２００，２３００  通信システム
１０１，１０２  パケット
１０１ａ，１０１ｂ，１０２ａ  パケット列
３００，４００Ａ，４００Ｂ  転送装置
２２１０，２３２０  無線基地局
２２２０  無線システムコア網
２３１０  無線端末
【図１】
0005614302.tif 000002
【図２】
0005614302.tif 000003
【図３】
0005614302.tif 000004
【図４】
0005614302.tif 000005
【図５】
0005614302.tif 000006
【図６】
0005614302.tif 000007
【図７】
0005614302.tif 000008
【図８】
0005614302.tif 000009
【図９】
0005614302.tif 000010
【図１０】
0005614302.tif 000011
【図１１】
0005614302.tif 000012
【図１２】
0005614302.tif 000013
【図１３】
0005614302.tif 000014
【図１４】
0005614302.tif 000015
【図１５】
0005614302.tif 000016
【図１６】
0005614302.tif 000017
【図１７】
0005614302.tif 000018
【図１８】
0005614302.tif 000019
【図１９】
0005614302.tif 000020
【図２０】
0005614302.tif 000021
【図２１】
0005614302.tif 000022
【図２２】
0005614302.tif 000023
【図２３】
0005614302.tif 000024