(57)【要約】【課題】受信側装置に機能を追加することなくリンクアグリゲーションを実現する。【解決手段】中継装置であるフェムトＧＷ３０において、「管理部」としての削除処理部３４，３５、ヘッダ変換処理部３８，３９、及び読替処理部４２は、振分部３３によって複数の通信リンクに振り分けられたＴＣＰ−Ｏパケットについて、ＴＣＰフローにおけるフロー内番号と、ＴＣＰ処理部３６，３７によってナンバリングされたリンク内番号との対応関係を管理する。そして、「管理部」は、振分先リンクを介して転送された各ＴＣＰ−Ｏパケットのフロー内番号に基づいて受信側装置から送信された第１受信確認応答を上記の対応関係に基づいてリンク内番号に基づく第２受信確認応答に読み替えて、ＴＣＰ処理部３６，３７へ分配する。【選択図】図８
2015195559.tif 000002
【特許請求の範囲】
【請求項１】
ＴＣＰ（Transmission  Control  Protocol）フローを複数のリンクに振り分けて転送するリンクアグリゲーションを行う中継装置であって、
送信側装置から送信された各ＴＣＰパケットを前記複数のリンクに振り分ける振分部と、
前記複数のリンクにそれぞれ対応し、且つ、各リンクに振り分けられたＴＣＰパケットに対してリンク内番号をナンバリングする、複数のＴＣＰ処理部と、
前記複数のリンクに振り分けられた各ＴＣＰパケットについて、ＴＣＰフローにおけるフロー内番号と前記ナンバリングされたリンク内番号との対応関係を管理し、振分先リンクを介して転送された各ＴＣＰパケットのフロー内番号に基づいて受信側装置から送信された第１受信確認応答を前記対応関係に基づいてリンク内番号に基づく第２受信確認応答に読み替えて、前記複数のＴＣＰ処理部へ分配する管理部と、
を具備することを特徴とする中継装置。
【請求項２】
前記管理部は、
前記振り分けられた各ＴＣＰパケットのＴＣＰヘッダを削除して、前記ＴＣＰヘッダを削除したパケットを振分先リンクに対応するＴＣＰ処理部へ入力する削除処理部と、
前記振分先リンクに対応するＴＣＰ処理部でリンク内番号が付与されたパケットを取得し、前記取得したパケットから前記付与されたリンク内番号を除去し、前記取得したパケットが前記削除処理部で削除されたＴＣＰヘッダを付与したＴＣＰパケットを前記受信側装置へ転送し、前記転送したＴＣＰパケットについての前記対応関係を生成するヘッダ変換処理部と、
前記ヘッダ変換処理部が転送したＴＣＰパケットのフロー内番号に基づく前記第１受信確認応答を前記ヘッダ変換処理部が生成した対応関係に基づいて前記第２受信確認応答に読み替えて、前記複数のＴＣＰ処理部へ分配する読替処理部と、
を具備する、
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記管理部は、
前記振分先リンクに対応するＴＣＰ処理部でリンク内番号が付与されたＴＣＰパケットを取得し、前記取得したＴＣＰパケットのリンク内番号を除去し、前記リンク内番号を除去したＴＣＰパケットを前記受信側装置へ転送し、前記転送したパケットについての前記対応関係を生成するヘッダ変換処理部と、
前記ヘッダ変換処理部が転送したＴＣＰパケットのフロー内番号に基づく前記第１受信確認応答を前記ヘッダ変換処理部が生成した対応関係に基づいて前記第２受信確認応答に読み替えて、前記複数のＴＣＰ処理部へ分配する読替処理部と、
を具備する、
ことを特徴とする請求項１に記載の中継装置。
【請求項４】
前記第１受信確認応答は、第１のＡＣＫ番号及び第１のＳＡＣＫ番号を含み、
前記第２受信確認応答は、前記管理部によって前記第１のＡＣＫ番号及び前記第１のＳＡＣＫ番号が読み替えられた、第２のＡＣＫ番号及び第２のＳＡＣＫ番号を含む、
ことを特徴とする請求項１から３のいずれか一項に記載の中継装置。
【請求項５】
各ＴＣＰ処理部は、前記管理部から、同じ第２のＡＣＫ番号を含む第２受信確認応答を連続して複数回受け取った場合、前記同じ第２のＡＣＫ番号に対応するＴＣＰパケットを再送する、
ことを特徴とする請求項４に記載の中継装置。
【請求項６】
前記管理部は、前記第１のＡＣＫ番号及び前記第１のＳＡＣＫ番号を読み替えた前記第２のＡＣＫ番号及び前記第２のＳＡＣＫ番号を含む第２受信確認応答を過去に分配していない場合、前記第２受信確認応答を分配し、過去に分配している場合、前記第２受信確認応答を分配しない、
ことを特徴とする請求項４又は５に記載の中継装置。
【請求項７】
前記第１受信確認応答は、受信ウィンドウ値を含み、
前記管理部は、前記第２受信確認応答に前記受信ウィンドウ値を含める、
ことを特徴とする請求項１から６のいずれか一項に記載の中継装置。
【請求項８】
前記ＴＣＰフローの送信側装置と前記受信側装置との間で前記ＴＣＰフローを確立する際に伝送される制御メッセージに含まれる最大セグメントサイズの値を、各リンクの最大セグメントサイズの値のうちで最も小さい値へ書き換える、
ことを特徴とする請求項１に記載の中継装置。
【請求項９】
ＴＣＰ（Transmission  Control  Protocol）フローを複数のリンクに振り分けて転送するリンクアグリゲーションを行う中継方法であって、
送信側装置から送信された各ＴＣＰパケットを前記複数のリンクに振り分け、
各リンクに振り分けられたＴＣＰパケットに対してリンク内番号をナンバリングし、
前記複数のリンクに振り分けられた各ＴＣＰパケットについて、ＴＣＰフローにおけるフロー内番号と前記ナンバリングされたリンク内番号との対応関係を管理し、
振分先リンクを介して転送された各ＴＣＰパケットのフロー内番号に基づいて受信側装置から送信された第１受信確認応答を前記対応関係に基づいてリンク内番号に基づく第２受信確認応答に読み替える、
ことを特徴とする中継方法。
【請求項１０】
ＴＣＰ（Transmission  Control  Protocol）フローを複数のリンクに振り分けて転送するリンクアグリゲーションを行う中継装置に、
送信側装置から送信された各ＴＣＰパケットを前記複数のリンクに振り分け、
各リンクに振り分けられたＴＣＰパケットに対してリンク内番号をナンバリングし、
前記複数のリンクに振り分けられた各ＴＣＰパケットについて、ＴＣＰフローにおけるフロー内番号と前記ナンバリングされたリンク内番号との対応関係を管理し、
振分先リンクを介して転送された各ＴＣＰパケットのフロー内番号に基づいて受信側装置から送信された第１受信確認応答を前記対応関係に基づいてリンク内番号に基づく第２受信確認応答に読み替える、
処理を、実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法、及び制御プログラムに関する。
【背景技術】
【０００２】
従来のセルラー方式移動体通信システムでは、各々が半径数百メートルから数キロメートルの通信エリアを持つ「マクロセル」を複数形成して通信が行われている。このように１つのマクロセルの通信エリアは大きいため、マクロセル同士の境界領域、屋内、地下等の場所では電波強度が微弱となり通信品質が劣化する。そこで、将来、次世代のセルラー方式移動体通信システムである、ＬＴＥ（Long  Term  Evolution）システムでは、ＬＴＥインタフェースを有する小型基地局である「フェムト基地局」（Femtocell  Base  Station，Femto  BS）の導入が見込まれている。
【０００３】
また、既に、セルラー事業者が展開している公衆無線ＬＡＮ（Local  Area  Network）が普及している。
【０００４】
そして、最近では、セルラー方式（３Ｇ又はＬＴＥ）及び無線ＬＡＮ（Wireless  LAN）方式の無線インタフェース（つまり、無線アダプタ）を備えた端末（例えば、スマートフォン）が急速に普及している。
【０００５】
このような無線通信環境においては、異なる無線通信方式に対応する複数の無線ネットワークに同時に接続する通信状況が想定される。
【０００６】
例えば、図１に示すように、複数の無線ネットワークを収容するゲートウェイ（gateway;  GW）が、端末に対して、複数の通信リンクを用いてパケットを転送する、「リンクアグリゲーション（Link  Aggregation;  LA）」が提案されている。「ＬＡ」とは、あるトラフィック・フロー（以下では、ＩＰ（Internet  Protocol）フロー又は単に「フロー」と呼ぶことがある）に対して、複数の通信リンクを同時に用いて、スループットの向上を図る通信技術である。ＬＡにおいては、特に、多くのアプリケーションが利用するプロトコルであるＴＣＰ（Transmission  Control  Protocol）のフローのスループットを向上させることが重要である。
【０００７】
図１は、従来のリンクアグリゲーションの説明に供する図である。図１では、特に、複数の無線通信方式として、ＬＴＥ方式と無線ＬＡＮ方式とが用いられている。また、中継装置の１つであるフェムトゲートウェイが、ＬＡの提供主体となっている。
【０００８】
例えば、中継装置の１つであるフェムトゲートウェイは、あるＴＣＰのフローに対するＬＡにおいて、サーバから通信端末へ向かう「ダウンリンク（Down  Link）」（以下では「ＤＬ」と呼ぶことがある）のフローに対して所定の振分アルゴリズムを適用して、ＴＣＰパケット毎にＬＴＥリンクと無線ＬＡＮリンクへ振り分ける。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】長谷川  洋平,  村瀬  勉,「TCPの特性を考慮した複数経路通信方法の提案と評価」,電子情報通信学会,  信学技報NS2003-328,IN2003-283(2004-03),pp.175-178
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、フェムトゲートウェイと端末との間の経路は、マルチホップで形成されている、つまり、少なくとも１つの中継装置を有している。そのため、１ホップで形成されている経路と異なり、フェムトゲートウェイと端末との間の経路では、「可用帯域（available  bandwidth)」の測定が難しい。「可用帯域」とは、その経路で使用可能な残りの帯域である。可用帯域が正確に分かれば、それに基づいてパケット振り分けアルゴリズムが、ＴＣＰパケットをＬＴＥリンクと無線ＬＡＮリンクへ振り分けることができる。
【００１１】
すなわち、１ホップの経路、例えば、フェムト基地局と端末との間の経路であれば、フェムト基地局に可用帯域の測定機能を設ければ、可用帯域を測定することができる。しかしながら、マルチホップの経路では、ネットワーク内の多数の装置が各ホップを共用して使用することになるので、可用帯域の測定は難しい。従って、フェムトゲートウェイと端末との間の、ＬＴＥリンクの経路及び無線ＬＡＮリンクの経路のそれぞれにおいて、「輻輳／レート制御」が独立して行われることが望まれる。「輻輳／レート制御」とは、一般的に、ユーザデータを搬送するトランスポートプロトコルが、実際にユーザデータをパケットとして送信する過程において、経路の輻輳を避けるように、パケットの送信レートを調整する機能である。この調整は、パケット損失の検出、又は、受信側から受信確認を得られるまでにかかった時間などを基に、行われる。
【００１２】
上記のリンクアグリゲーションにおける通信リンク毎の輻輳／レート制御は、例えば、次のように実現することが考えられる。図２は、リンクアグリゲーション（関連技術）の説明に供する図である。
【００１３】
図２に示すように、フェムトゲートウェイは、端末とフェムトゲートウェイとの間に、通信リンク毎のＴＣＰコネクションを設定する。図２では、ＴＣＰ−Ｄ１（TCP  Delivery  connection  1）とＴＣＰ−Ｄ２（TCP  Delivery  connection  2）が設定されている。そして、フェムトゲートウェイは、サーバと端末との間のＴＣＰコネクションであるＴＣＰ−Ｏ（TCP  Original  connection）を、透過型ＴＣＰプロキシ機能(以下では、単に「ＴＣＰプロキシ」と呼ぶことがある)を用いて、ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２へ載せ替える。通信リンク毎のＴＣＰコネクションを設定しているのは、通信リンク毎に独立して輻輳／レート制御を動作させるためである。すなわち、ＴＣＰ処理は、輻輳／レート制御の機能を有している。例えば、サーバと端末との間で単一の輻輳／レート制御が行われると、或る通信リンクで輻輳が発生した場合には他の通信リンクの帯域が余っていても、その単一の輻輳／レート制御は、ＴＣＰフロー全体の送信レートを低下させる。この送信レートの低下を防ぐために、サーバと端末との間のＴＣＰ−Ｏが動作させる輻輳／レート制御機能とは別に、通信リンク毎にＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２が動作させる輻輳／レート制御機能が望まれる。
【００１４】
具体的には、フェムトゲートウェイのパケット振り分けアルゴリズムは、各通信リンクの輻輳/レート制御の結果に基づき、パケットを振り分ける。輻輳/レート制御の結果とは、例えば、送信バッファの状態（キュー長等）である。例えば、フェムトゲートウェイのパケット振り分けアルゴリズムは、送信バッファの滞留パケットがより少ない通信リンクへより多くのパケットを振り分ける。
【００１５】
そして、各通信リンクに振り分けられたパケットは、通信リンク毎のＴＣＰコネクション（ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２）によって端末へ伝送される。
【００１６】
そして、端末は、通信リンク毎のＴＣＰコネクション（ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２）を、サーバと端末との間のＴＣＰコネクション（ＴＣＰ−Ｏ）に載せ替える。すなわち、リンクアグリゲーションを行っている通信リンクのプロトコルスタックのイメージとしては、サーバと端末との間のＴＣＰコネクション（ＴＣＰ−Ｏ）の下位層として、通信リンク毎のＴＣＰコネクション（ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２）が位置づけられる。この端末における「載せ替え機能」は、従来の端末に無い、追加的な機能である。
【００１７】
そして、端末の通信リンク毎のＴＣＰコネクション（ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２）は、受信確認パケット（ACK：ACKnowledgement）を、フェムトゲートウェイの通信リンク毎のＴＣＰコネクション（ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２）へ送信する。ここで、サーバへの受信確認パケットは、フェムトゲートウェイの透過型プロキシによって、端末の代わりに擬似的に送信される。また、端末のＴＣＰ−Ｏから送出される受信確認パケットは、端末の載せ替え機能に送出される。すなわち、端末の載せ替え機能で終端する。
【００１８】
以上で説明した手順を、図３を参照してより詳細に説明する。図３は、リンクアグリゲーション（関連技術）における手順の説明に供する図である。
【００１９】
サーバのＴＣＰ−Ｏと端末のＴＣＰ−Ｏが、ＴＣＰ−Ｏコネクションの確立手順(つまり、スリーウェイハンドシェイク)を実施し、サーバと端末との間で、ＴＣＰ−Ｏのコネクションを確立する（ステップＳ１）。スリーウェイハンドシェイクにおいて伝送される制御パケットは、例えば、ＬＴＥリンクで伝送される。
【００２０】
サーバのＴＣＰ−Ｏは、ユーザデータ１（Ｄａｔａ１）とユーザデータ２（Ｄａｔａ２）を端末に向けて送信する（ステップＳ２，Ｓ３）。このとき、サーバのＴＣＰ−Ｏは、ＴＣＰ−ＯパケットのＴＣＰ―Ｏヘッダにシーケンス番号（以下では、「フロー内番号」と呼ぶことがある）を付与する。ここでは、Ｄａｔａ１を含むＴＣＰ−Ｏパケットには、Ｓｅｑ１なるシーケンス番号が付与され（図４参照）、Ｄａｔａ２を含むＴＣＰ−Ｏパケットには、Ｓｅｑ２なるシーケンス番号が付与されている。図４は、ＴＣＰ−Ｏパケットのフォーマットの一例を示す図である。
【００２１】
ＴＣＰ−Ｏパケットである「Ｓｅｑ１＋Ｄａｔａ１」と「Ｓｅｑ２＋Ｄａｔａ２」を受信すると、フェムトゲートウェイのＴＣＰプロキシは、端末の代わりに、擬似的にＡＣＫ３（図５参照）を、サーバへ送信する（ステップＳ４）。これは、ＴＣＰ−ＯコネクションをＴＣＰ−Ｄ１コネクション又はＴＣＰ−Ｄ２コネクションへ載せ替えるために行われる。このように、ＴＣＰプロキシがＴＣＰ−Ｏコネクションを終端することにより、或るリンクで輻輳が生じた場合でも、サーバと端末との間のＴＣＰ−Ｏの輻輳／レート制御が即座に送信レートを低下させる制御を実行する事態を防止できる。図５は、疑似受信確認パケットのフォーマットの一例を示す図である。図５に示すように、ＴＣＰ−ＯパケットのＴＣＰ−Ｏヘッダに受信確認が含められる。ここで、ＡＣＫに付与される番号は、抜けなく受信できているＴＣＰ−Ｏパケットのシーケンス番号の次の番号である。すなわち、Ｓｅｑ１のＴＣＰ−Ｏパケット及びＳｅｑ２のＴＣＰ−Ｏパケットが受信できているので、２の次の３がＡＣＫに付与されて送信されている。
【００２２】
フェムトゲートウェイのＴＣＰプロキシは、受信したＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」を、パケット振り分けアルゴリズムへ送出する（ステップＳ５）。
【００２３】
フェムトゲートウェイのパケット振り分けアルゴリズムは、ＴＣＰプロキシから受け取ったＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」を、ＴＣＰ−Ｄ１の処理へ振り分けて、ＴＣＰ−Ｄ１へ送出する（ステップＳ６）。
【００２４】
ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」を受け取ると、ＴＣＰ−Ｄ１は、ＴＣＰ−Ｄ１内でのシーケンス番号（以下では、「リンク内番号」と呼ぶことがある）を付与し、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」をＴＣＰ−Ｄ１ヘッダでカプセル化することにより、ＴＣＰ−Ｄ１パケットを形成する（図６参照）。ここで、ＴＣＰ−Ｄ１は、付与したリンク内番号をＴＣＰ−Ｄ１ヘッダに含める。図３に示す例では、ＴＣＰパケット「Ｓｅｑ１＋Ｄａｔａ１」に対して、ＴＣＰ−Ｄ１のリンク内番号であるＳｅｑ１１が付与されている。図６は、ＴＣＰ−Ｄ１パケットのフォーマットの一例を示す図である。
【００２５】
フェムトゲートウェイのＴＣＰ−Ｄ１は、形成したＴＣＰ−Ｄ１パケット「Ｓｅｑ１１＋（Ｓｅｑ１＋Ｄａｔａ１）」を、端末のＴＣＰ−Ｄ１へ送信する（ステップＳ７）。
【００２６】
ＴＣＰ−Ｄ１パケット「Ｓｅｑ１１＋（Ｓｅｑ１＋Ｄａｔａ１）」を受信すると、端末のＴＣＰ−Ｄ１は、ＡＣＫ１２をフェムトゲートウェイのＴＣＰ−Ｄ１へ送信する（ステップＳ８）。
【００２７】
また、端末のＴＣＰ−Ｄ１は、受信したＴＣＰ−Ｄ１パケット「Ｓｅｑ１１＋（Ｓｅｑ１＋Ｄａｔａ１）」を、「載せ替え機能」へ送出する（ステップＳ９）。
【００２８】
載せ替え機能は、受け取ったＴＣＰ−Ｄ１パケット「Ｓｅｑ１１＋（Ｓｅｑ１＋Ｄａｔａ１）」をデカプセル化し、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」を端末のＴＣＰ−Ｏへ送出する（ステップＳ１０）。すなわち、載せ替え機能は、ＬＡで用いられる通信リンク内のＴＣＰコネクション（ここでは、ＴＣＰ−Ｄ１コネクション）を、サーバと端末との間のＴＣＰコネクション（ＴＣＰ−Ｏコネクション）に載せ替えている。
【００２９】
ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」についても、ステップＳ５〜Ｓ１０と同等の処理が行われる（ステップＳ１１〜Ｓ１６）。
【００３０】
ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」を受信すると、端末のＴＣＰ−Ｏは、ＡＣＫ３をサーバに向けて送信する（ステップＳ１７）。ただし、載せ替え機能がＡＣＫ３を受け取って終端する。これは、ＴＣＰプロキシにおいて既に疑似的にＡＣＫを送信しているためである。
【００３１】
以上のような手順によって、サーバと端末との間のＴＣＰフロー（つまり、ＴＣＰ−Ｏフロー）について、リングアグリゲーション（関連技術）を実現することができる。
【００３２】
しかしながら、上記のリングアグリゲーション（関連技術）を実現するためには、端末に追加の機能が搭載される。従って、ユーザの負担になる可能性がある。また、例えば、アンドロイド端末の場合、スーパーユーザ権限が無いと機能追加が許されないので、一般的なユーザが機能を追加することができない。すなわち、ユーザの利便性が確保できない可能性がある。なお、この問題は、端末に限らず、リングアグリゲーションによって伝送されたパケットの受信側装置に共通する。
【００３３】
開示の技術は、上記に鑑みてなされたものであって、受信側装置に機能を追加することなくリンクアグリゲーションを実現できる、中継装置、中継方法、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３４】
開示の態様では、ＴＣＰ（Transmission  Control  Protocol）フローを複数のリンクに振り分けて転送するリンクアグリゲーションを行う中継装置は、複数のＴＣＰ処理部と、管理部とを有する。前記複数のＴＣＰ処理部は、前記複数のリンクにそれぞれ対応し、且つ、各リンクに振り分けられたＴＣＰパケットに対してリンク内番号をナンバリングする。前記管理部は、前記複数のリンクに振り分けられた各ＴＣＰパケットについて、ＴＣＰフローにおけるフロー内番号と前記ナンバリングされたリンク内番号との対応関係を管理し、振分先リンクを介して転送された各ＴＣＰパケットのフロー内番号に基づいて受信側装置から送信された第１受信確認応答を前記対応関係に基づいてリンク内番号に基づく第２受信確認応答に読み替えて、前記複数のＴＣＰ処理部へ分配する。
【発明の効果】
【００３５】
開示の態様によれば、受信側装置に機能を追加することなくリンクアグリゲーションを実現できる。
【図面の簡単な説明】
【００３６】
【図１】図１は、従来のリンクアグリゲーションの説明に供する図である。
【図２】図２は、リンクアグリゲーション（関連技術）の説明に供する図である。
【図３】図３は、リンクアグリゲーション（関連技術）における手順の説明に供する図である。
【図４】図４は、ＴＣＰ−Ｏパケットのフォーマットの一例を示す図である。
【図５】図５は、疑似受信確認パケットのフォーマットの一例を示す図である。
【図６】図６は、ＴＣＰ−Ｄ１パケットのフォーマットの一例を示す図である。
【図７】図７は、実施例１の通信システムの一例を示す図である。
【図８】図８は、実施例１の中継装置であるフェムトＧＷの一例を示す図である。
【図９】図９は、実施例１の通信システムの動作の一例を示すシーケンス図である。
【図１０】図１０は、実施例１のフェムトＧＷの処理動作の一例を示すフローチャートである。
【図１１】図１１は、実施例１のフェムトＧＷの処理動作の一例を示すフローチャートである。
【図１２】図１２は、実施例１のフェムトＧＷの処理動作の一例を示すフローチャートである。
【図１３】図１３は、実施例１の対応関係テーブルの一例を示す図である。
【図１４】図１４は、実施例１の通信システムの動作の一例を示すシーケンス図である。
【図１５】図１５は、実施例１の対応関係テーブルの一例を示す図である。
【図１６】図１６は、実施例２の中継装置であるフェムトＧＷの一例を示す図である。
【図１７】図１７は、実施例２のフェムトＧＷを含む通信システムの動作の一例を示すシーケンス図である。
【図１８】図１８は、実施例２のフェムトＧＷの処理動作の一例を示すフローチャートである。
【図１９】図１９は、実施例３の中継装置としてのフェムトＧＷを含む通信システムの動作の一例を示すシーケンス図である。
【図２０】図２０は、実施例３の出力済みの第２受信確認応答の管理処理の説明に供するフローチャートである。
【図２１】図２１は、実施例３の出力済みの第２受信確認応答の管理テーブルの一例を示す図である。
【図２２】図２２は、中継装置であるフェムトＧＷのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００３７】
以下に、本願の開示する中継装置、中継方法、及び制御プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願の開示する中継装置、中継方法、及び制御プログラムが限定されるものではない。また、実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略される。また、実施形態において同等の処理ステップには同一の符号を付し、重複する説明は省略される。
【００３８】
［実施例１］
［通信システムの概要］
図７は、実施例１の通信システムの一例を示す図である。図７に示すように、通信システム１は、サーバ１０と、フェムトゲートウェイ（ＧＷ）３０と、フェムト基地局５０と、無線ＬＡＮアクセスポイント６０と、端末７０とを有する。
【００３９】
フェムトＧＷ３０とフェムト基地局５０は、ＬＴＥ網に配置されている。また、無線ＬＡＮアクセスポイント６０は、公衆無線ＬＡＮ網に配置されている。また、通信システム１においては、ＬＡ機能を有する中継装置として、フェムトＧＷ３０が設けられている。
【００４０】
サーバ１０は、ＴＣＰフロー（つまり、ＴＣＰ−Ｏフロー）の送信側装置であり、ＴＣＰフローを受信側装置である端末７０に向けて送信している。
【００４１】
フェムトＧＷ３０は、サーバ１０から送信されたＴＣＰフローを、複数の通信リンクに振り分けて端末７０に向けて転送する。すなわち、フェムトＧＷ３０は、リンクアグリゲーション（ＬＡ）を行う。ここでは、ＬＡに用いられる複数の通信リンクは、ＬＴＥリンクと無線ＬＡＮリンクとの２つとしている。
【００４２】
このとき、フェムトＧＷ３０は、各通信リンクに振り分けたＴＣＰパケット（つまり、ＴＣＰ−Ｏパケット）に対して、当該ＴＣＰパケットが振り分けられた通信リンクにおける「リンク内番号」をナンバリングする。
【００４３】
そして、フェムトＧＷ３０は、転送した各ＴＣＰパケットについて、ＴＣＰフローにおけるフロー内番号と、ナンバリングされたリンク内番号との対応関係を管理する。
【００４４】
そして、端末７０は、フェムトＧＷ３０からＬＡによって転送されたＴＣＰパケットのフロー内番号に基づいて、確認応答パケット（以下では、「第１受信確認応答」と呼ぶことがある）をフェムトＧＷ３０に向けて送信する。第１受信確認応答が伝送される経路は、ＬＴＥリンクであってもよいし、無線ＬＡＮリンクであってもよい。
【００４５】
そして、フェムトＧＷ３０は、第１受信確認応答を受信すると、当該第１受信確認応答を、上記の対応関係に基づいてリンク内番号に基づく確認応答パケット（以下では、「第２受信確認応答」と呼ぶことがある）に読み替える。これにより、通信リンク単位で、再送制御及び伝送レート制御等を行うことができる。
【００４６】
以上のように、フェムトＧＷ３０は、サーバ１０から送信されたＴＣＰ−Ｏパケットを、それの形を変えることなく、複数の通信リンクを介して端末７０に向けて転送する。これにより、端末７０はサーバ１０と端末７０との間のＴＣＰ−ＯコネクションによってＴＣＰ−Ｏパケットを受信できるので、端末７０に対して上記の「載せ替え機能」を追加すること無く、リンクアグリゲーションを実現することができる。
【００４７】
また、フェムトＧＷ３０は、転送した各ＴＣＰパケットについて、ＴＣＰ−Ｏフローにおけるフロー内番号と、ナンバリングされたリンク内番号との対応関係を管理する。そして、フェムトＧＷ３０は、第１受信確認応答を受信すると、当該第１受信確認応答を、上記の対応関係に基づいて第２受信確認応答に読み替える。このような「管理機能」は、実施例１では、後述する、削除処理部３４，３５と、ヘッダ変換処理部３８，３９と、読替処理部４２とによって実現される。すなわち、削除処理部３４，３５と、ヘッダ変換処理部３８，３９と、読替処理部４２とは、「管理部」として機能する。これにより、通信リンク単位で、再送制御及び伝送レート制御を行うことができる。
【００４８】
なお、上記のＬＡは、ＴＣＰフロー単位で実行することができる。ここで、送信側装置及び受信側装置のいずれかが異なるＴＣＰフローは、別のＴＣＰフローとなる。また、送信側装置及び受信側装置が同じであってもアプリケーションが異なるＴＣＰフローは、別のＴＣＰフローとなる。
【００４９】
［中継装置の構成例］
図８は、実施例１の中継装置であるフェムトＧＷの一例を示す図である。図８には、便宜上、フェムトＧＷ３０の他に、サーバ１０及び端末７０も示されている。なお、図８では、フェムト基地局５０及び無線ＬＡＮアクセスポイント６０の記載は省略されている。
【００５０】
図８において、フェムトＧＷ３０は、インタフェース（ＩＦ）３１，４０，４１と、透過型ＴＣＰプロキシ（Proxy）３２と、振分部３３と、削除処理部３４，３５と、ＴＣＰ処理部３６，３７と、ヘッダ変換処理部３８，３９と、読替処理部４２とを有する。
【００５１】
ＩＦ３１は、サーバ１０側のインタフェースであり、例えば、イーサネット（登録商標）インタフェースである。
【００５２】
ＩＦ４０は、フェムト基地局５０側のインタフェースであり、例えば、イーサネット（登録商標）インタフェースである。
【００５３】
ＩＦ４１は、無線ＬＡＮアクセスポイント６０側のインタフェースであり、例えば、イーサネット（登録商標）インタフェースである。
【００５４】
透過型ＴＣＰプロキシ３２は、送信側装置であるサーバ１０から送信された各ＴＣＰ−Ｏパケットを振分部３３へ出力する。また、透過型ＴＣＰプロキシ３２は、受信したＴＣＰ−Ｏパケットに対する受信確認パケットをサーバ１０へ擬似的に送信する。
【００５５】
振分部３３は、送信側装置であるサーバ１０から送信された各ＴＣＰ−Ｏパケットを、複数の通信リンク（ここでは、第１リンクとしてのＬＴＥリンク及び第２リンクとしての無線ＬＡＮリンク）に振り分ける。ＬＴＥリンクに振り分けられたＴＣＰ−Ｏパケットは、削除処理部３４へ出力され、無線ＬＡＮリンクに振り分けられたＴＣＰ−Ｏパケットは、削除処理部３５へ出力される。
【００５６】
削除処理部３４は、ＬＴＥリンクに振り分けられたＴＣＰ−ＯパケットのＴＣＰ−Ｏヘッダを削除し、ＴＣＰ−Ｏヘッダを削除したパケットをＴＣＰ処理部３６へ出力する。また、削除処理部３４は、ＴＣＰ−Ｏパケットから削除したＴＣＰ−Ｏヘッダ（つまり、ＴＣＰ−Ｏパケットのフロー内番号）をヘッダ変換処理部３８へ出力する。
【００５７】
削除処理部３５は、無線ＬＡＮリンクに振り分けられたＴＣＰ−ＯパケットのＴＣＰ−Ｏヘッダを削除し、ＴＣＰ−Ｏヘッダを削除したパケットをＴＣＰ処理部３７へ出力する。また、削除処理部３５は、ＴＣＰ−Ｏパケットから削除したＴＣＰ−Ｏヘッダ（つまり、ＴＣＰ−Ｏパケットのフロー内番号）をヘッダ変換処理部３９へ出力する。
【００５８】
ＴＣＰ処理部３６は、削除処理部３４から受け取ったパケットに対して、ＬＴＥリンク内のリンク内番号（つまり、第１リンク内番号）をナンバリングし、ナンバリングした第１リンク内番号をヘッダとして付与したパケットをヘッダ変換処理部３８へ出力する。また、ＴＣＰ処理部３６は、読替処理部４２から受け取る第２受信確認応答に基づいて、再送制御及びレート制御等を実行する。
【００５９】
ＴＣＰ処理部３７は、削除処理部３５から受け取ったパケットに対して、無線ＬＡＮリンク内のリンク内番号（つまり、第２リンク内番号）をナンバリングし、ナンバリングした第２リンク内番号をヘッダとして付与したパケットをヘッダ変換処理部３９へ出力する。また、ＴＣＰ処理部３７は、読替処理部４２から受け取る第２受信確認応答に基づいて、再送制御及びレート制御等を実行する。
【００６０】
ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケットのヘッダを除去し、当該ヘッダを除去したパケットに、削除処理部３４で除去されたＴＣＰ−Ｏヘッダを付与（付加）したＴＣＰ−Ｏパケットを、受信側装置である端末７０に向けて転送する。また、ヘッダ変換処理部３８は、転送した各ＴＣＰ−Ｏパケットについて、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する。
【００６１】
ヘッダ変換処理部３９は、ＴＣＰ処理部３７から受け取ったパケットのヘッダを除去し、当該ヘッダを除去したパケットに、削除処理部３５で除去されたＴＣＰ−Ｏヘッダを付与（付加）したＴＣＰ−Ｏパケットを、受信側装置である端末７０に向けて転送する。また、ヘッダ変換処理部３９は、転送した各ＴＣＰ−Ｏパケットについて、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する。
【００６２】
読替処理部４２は、ヘッダ変換処理部３８及びヘッダ変換処理部３９から受け取った「対応関係」を記憶する。また、読替処理部４２は、ヘッダ変換処理部３８又はヘッダ変換処理部３９から転送されたＴＣＰ−Ｏパケットに対して、受信側装置である端末７０から送信された受信確認応答（つまり、上記の第１受信確認応答）を受信する。なお、第１受信確認応答は、端末７０からフェムトＧＷ３０へＬＴＥリンクを介して伝送されてもよいし、無線ＬＡＮリンクを介して伝送されてもよい。
【００６３】
また、読替処理部４２は、受信した第１受信確認応答を、上記の記憶した対応関係に基づいて、リンク内番号に基づく受信確認応答（つまり、上記の第２受信確認応答）に読み替える。そして、読替処理部４２は、そのリンク内番号を付与したＴＣＰ処理部（つまり、ＴＣＰ処理部３６又はＴＣＰ処理部３７）へ第２受信確認応答を出力する。
【００６４】
［通信システムの動作例］
以上の構成を有する通信システムの処理動作例について説明する。主に、中継装置としてのフェムトＧＷ３０の処理動作例について説明する。図９は、実施例１の通信システムの動作の一例を示すシーケンス図である。図９には、ＴＣＰパケットの受信が成功している場合のシーケンスが示されている。図９では、フェムト基地局５０及び無線ＬＡＮアクセスポイント６０の記載は省略されている。図１０〜１２は、実施例１のフェムトＧＷの処理動作の一例を示すフローチャートである。特に、図１０には、スリーウェイハンドシェイクにおける処理動作が示され、図１１には、データパケットの転送処理における処理動作が示されている。また、図１２には、受信確認応答の読替処理等における処理動作が示されている。
【００６５】
＜スリーウェイハンドシェイクにおける処理＞
サーバ１０のＴＣＰ−Ｏと端末７０のＴＣＰ−Ｏが、ＴＣＰ−Ｏコネクションの確立手順(つまり、スリーウェイハンドシェイク)を実施し、サーバと端末との間で、ＴＣＰ−Ｏのコネクションを確立する（ステップＳ１０１）。
【００６６】
このスリーウェイハンドシェイクにおいては、サーバ１０のＴＣＰ−Ｏと端末７０のＴＣＰ−Ｏとの間で、フェムトＧＷ３０を介して、制御パケット（つまり、制御メッセージ）が伝送される。このスリーウェイハンドシェイクにおいて、最大セグメントサイズ（MSS：Maximum  Segment  Size）が決定される。
【００６７】
この制御パケットをフェムトＧＷ３０が受信すると、図１０のフローチャートがスタートする。フェムトＧＷ３０のＴＣＰプロキシ３２は、受信した制御パケットに含まれる最大セグメントサイズの値を、ＬＡに用いられる各通信リンクの最大セグメントサイズの値のうちで最も小さい値へ書き換える（ステップＳ２０１）。これにより、後述のデータパケットの転送処理において、ＴＣＰ−Ｏパケットに対する分割処理を行うことを回避できる。
【００６８】
そして、フェムトＧＷ３０においてＴＣＰプロキシ３２は、ＴＣＰ処理部３６をＴＣＰ−Ｄ１コネクションの確立状態に移行（遷移）させ、ＴＣＰ処理部３７をＴＣＰ−Ｄ２コネクションの確立状態に移行（遷移）させる（ステップＳ２０２，Ｓ１０２，Ｓ１０３）。例えば、ＴＣＰプロキシ３２は、スリーウェイハンドシェイクで伝送される制御パケットを生成し、ＴＣＰ処理部３６及びＴＣＰ処理部３７へ与える。これにより、ＴＣＰ処理部３６をＴＣＰ−Ｄ１コネクションの確立状態に移行（遷移）させ、ＴＣＰ処理部３７をＴＣＰ−Ｄ２コネクションの確立状態に移行（遷移）させることができる。
【００６９】
そして、フェムトＧＷ３０は、最大セグメントサイズを書き換えた制御パケットを送信する（ステップＳ２０３）。
【００７０】
＜データパケットの転送処理＞
サーバ１０のＴＣＰ−Ｏは、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」とＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」を端末７０に向けて送信する（ステップＳ１０４，Ｓ１０５）。
【００７１】
データパケットをフェムトＧＷ３０が受信すると、図１１のフローチャートがスタートする。フェムトＧＷ３０においてＴＣＰプロキシ３２は、疑似ＡＣＫをサーバ１０へ送信する（ステップＳ２１１，Ｓ１０６）。ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」とＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」が受信されているので、疑似ＡＣＫの番号は、３となっている。
【００７２】
ＴＣＰプロキシ３２は、受信したＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」とＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」を、振分部３３へ出力する（ステップＳ１０７，Ｓ１０８）。
【００７３】
振分部３３は、ＴＣＰプロキシ３２から受け取ったＴＣＰ−Ｏパケットを、ＬＴＥリンク及び無線ＬＡＮリンクに振り分ける（ステップＳ２１２）。ここでは、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」は、ＬＴＥリンクに振り分けられ、ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」は、無線ＬＡＮリンクに振り分けられている。このため、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」は、削除処理部３４へ出力され（ステップＳ１０９）、ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」は、削除処理部３５へ出力される（ステップＳ１１０）。
【００７４】
削除処理部３４は、振分部３３から受け取ったＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」のＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ１）を削除し（ステップＳ２１３）、削除したＴＣＰ−Ｏヘッダをヘッダ変換処理部３８へ出力する（ステップＳ１１１）。また、削除処理部３４は、ＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ１）が削除されたパケット（つまり、Ｄａｔａ１）をＴＣＰ処理部３６へ出力する（ステップＳ１１２）。
【００７５】
そして、ＴＣＰ処理部３６は、ＴＣＰ処理を実行する（ステップＳ２１４）。ここでのＴＣＰ処理は、削除処理部３４から受け取ったパケットに対する、第１リンク内番号のナンバリング処理と、ナンバリングした第１リンク内番号をそのパケットにヘッダとして付与するヘッダ付与処理とを含む。そして、ＴＣＰ処理部３６は、第１リンク内番号であるＳｅｑ１１をパケット「Ｄａｔａ１」のヘッダとして付与したパケット「Ｓｅｑ１１＋Ｄａｔａ１」をヘッダ変換処理部３８へ出力する（ステップＳ１１３）。
【００７６】
ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ２１５）。すなわち、ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケット「Ｓｅｑ１１＋Ｄａｔａ１」のヘッダ（つまり、Ｓｅｑ１１）を除去し、ヘッダ（つまり、Ｓｅｑ１１）が除去されたパケット（つまり、Ｄａｔａ１）に、削除処理部３４で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ１）を付与（付加）する。
【００７７】
そして、ヘッダ変換処理部３８は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１１５）。
【００７８】
また、ヘッダ変換処理部３８は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ１１４）。すなわち、ここでは、（Ｓｅｑ１）と（Ｓｅｑ１１）との対応関係である。この対応関係は、読替処理部４２によって対応関係テーブルに記憶される。図１３は、実施例１の対応関係テーブルの一例を示す図である。図１３において、ＴＣＰ−Ｏの項目値は、フロー内番号に相当し、ＴＣＰ−Ｄ１の項目値は、第１リンク内番号に相当し、ＴＣＰ−Ｄ２の項目値は、第２リンク内番号に相当する。
【００７９】
また、ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」に対しても、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」に為された処理と同等の処理が施される。
【００８０】
すなわち、削除処理部３５は、振分部３３から受け取ったＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」のＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ２）を削除し（ステップＳ２１３）、削除したＴＣＰ−Ｏヘッダをヘッダ変換処理部３９へ出力する（ステップＳ１１６）。また、削除処理部３５は、ＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ２）が削除されたパケット（つまり、Ｄａｔａ２）をＴＣＰ処理部３７へ出力する（ステップＳ１１７）。
【００８１】
そして、ＴＣＰ処理部３７は、ＴＣＰ処理を実行する（ステップＳ２１４）。ここでのＴＣＰ処理は、削除処理部３５から受け取ったパケットに対する、第２リンク内番号のナンバリング処理と、ナンバリングした第２リンク内番号をそのパケットにヘッダとして付与するヘッダ付与処理とを含む。そして、ＴＣＰ処理部３７は、第２リンク内番号であるＳｅｑ２１をパケット「Ｄａｔａ２」のヘッダとして付与したパケット「Ｓｅｑ２１＋Ｄａｔａ２」をヘッダ変換処理部３９へ出力する（ステップＳ１１８）。
【００８２】
ヘッダ変換処理部３９は、ＴＣＰ処理部３７から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ２１５）。すなわち、ヘッダ変換処理部３９は、ＴＣＰ処理部３７から受け取ったパケット「Ｓｅｑ２１＋Ｄａｔａ２」のヘッダ（つまり、Ｓｅｑ２１）を除去し、ヘッダ（つまり、Ｓｅｑ２１）が除去されたパケット（つまり、Ｄａｔａ２）に、削除処理部３５で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ２）を付与（付加）する。
【００８３】
そして、ヘッダ変換処理部３９は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１２０）。ここで、フェムトＧＷ３０は、結果的に、サーバ１０から受け取ったＴＣＰ−Ｏパケットをそのままの形で端末７０へ転送している。すなわち、フェムトＧＷ３０と端末７０との間の複数の経路におけるプロトコルスタックには、ＴＣＰ−Ｏは存在する一方で、ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２は現れない。つまり、フェムトＧＷ３０は、端末７０から、ＴＣＰ−Ｄ１及びＴＣＰ−Ｄ２を隠蔽している。これにより、端末７０に対して上記の「載せ替え機能」を追加すること無く、リンクアグリゲーションを実現することができる。
【００８４】
また、ヘッダ変換処理部３９は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ１１９）。すなわち、ここでは、（Ｓｅｑ２）と（Ｓｅｑ２１）との対応関係である。
【００８５】
＜受信確認応答の読替処理等＞
ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」を受信すると、端末７０のＴＣＰ−Ｏは、第１受信確認応答（ここでは、ＡＣＫ３）をフェムトＧＷ３０に向けて送信する（ステップＳ１２１）。
【００８６】
第１受信確認応答をフェムトＧＷ３０が受信すると、図１２のフローチャートがスタートする。フェムトＧＷ３０において、読替処理部４２は、読替処理及び分配処理を実行する（ステップＳ２２１）。すなわち、読替処理部４２は、第１受信確認応答（ここでは、ＡＣＫ３）を受け取ると、受信した第１受信確認応答を、上記の記憶した対応関係に基づいて、リンク内番号に基づく受信確認応答（つまり、上記の第２受信確認応答）に読み替える。具体的には、ＡＣＫ３は、フロー内番号が２までのＴＣＰ−Ｏパケットが受信されていることを示している。従って、読替処理部４２は、対応関係テーブルにおいてフロー内番号１と対応づけられているリンク内番号１１のパケットが受信済みであることを示す第２受信確認応答（ＡＣＫ１２）を生成し、第２受信確認応答（ＡＣＫ１２）をＴＣＰ処理部３６へ出力する（ステップＳ１２２）。また、読替処理部４２は、対応関係テーブルにおいてフロー内番号２と対応づけられているリンク内番号２１のパケットが受信済みであることを示す第２受信確認応答（ＡＣＫ２２）を生成し、第２受信確認応答（ＡＣＫ２２）をＴＣＰ処理部３７へ出力する（ステップＳ１２３）。ここで、端末７０のＴＣＰ−Ｏから送信される第１受信確認応答には、「受信ウィンドウ値」が含まれている。このため、読替処理部４２は、この受信ウィンドウ値を、第２受信確認応答（ＡＣＫ１２）及び第２受信確認応答（ＡＣＫ２２）のそれぞれに含める。
【００８７】
そして、第２受信確認応答（ＡＣＫ１２）及び第２受信確認応答（ＡＣＫ２２）をそれぞれ受け取ると、ＴＣＰ処理部３６及びＴＣＰ処理部３７は、それぞれＴＣＰ処理を実行する（ステップＳ２２２）。ここでのＴＣＰ処理は、再送処理及びレート制御処理等を含む。
【００８８】
次いで、ＴＣＰパケットの受信が成功しない場合の処理動作について説明する。図１４は、実施例１の通信システムの動作の一例を示すシーケンス図である。図１４には、ＴＣＰパケットの受信が成功しない場合のシーケンスが示されている。また、図１４のシーケンス図は、図９の続きのシーケンス図として記載されている。
【００８９】
サーバ１０のＴＣＰ−Ｏは、ＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」とＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」を端末７０に向けて送信する（ステップＳ１２４）。
【００９０】
データパケットをフェムトＧＷ３０が受信すると、図１１のフローチャートがスタートする。フェムトＧＷ３０においてＴＣＰプロキシ３２は、疑似ＡＣＫをサーバ１０へ送信する（ステップＳ２１１，Ｓ１２５）。ＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」とＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」が受信されているので、疑似ＡＣＫの番号は、５となっている。
【００９１】
ＴＣＰプロキシ３２は、受信したＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」とＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」を、振分部３３へ出力する（ステップＳ１２６）。
【００９２】
振分部３３は、ＴＣＰプロキシ３２から受け取ったＴＣＰ−Ｏパケットを、ＬＴＥリンク及び無線ＬＡＮリンクに振り分ける（ステップＳ２１２）。ここでは、ＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」は、ＬＴＥリンクに振り分けられ、ＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」は、無線ＬＡＮリンクに振り分けられている。このため、ＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」は、削除処理部３４へ出力され、ＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」は、削除処理部３５へ出力される（ステップＳ１２７）。
【００９３】
削除処理部３４は、振分部３３から受け取ったＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」のＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ３）を削除し（ステップＳ２１３）、削除したＴＣＰ−Ｏヘッダをヘッダ変換処理部３８へ出力する（ステップＳ１２８）。また、削除処理部３４は、ＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ３）が削除されたパケット（つまり、Ｄａｔａ３）をＴＣＰ処理部３６へ出力する（ステップＳ１２９）。
【００９４】
そして、ＴＣＰ処理部３６は、ＴＣＰ処理を実行する（ステップＳ２１４）。ここでのＴＣＰ処理は、削除処理部３４から受け取ったパケットに対する、第１リンク内番号のナンバリング処理と、ナンバリングした第１リンク内番号をそのパケットにヘッダとして付与するヘッダ付与処理とを含む。そして、ＴＣＰ処理部３６は、第１リンク内番号であるＳｅｑ１２をパケット「Ｄａｔａ３」のヘッダとして付与したパケット「Ｓｅｑ１２＋Ｄａｔａ３」をヘッダ変換処理部３８へ出力する（ステップＳ１３０）。
【００９５】
ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ２１５）。すなわち、ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケット「Ｓｅｑ１２＋Ｄａｔａ３」のヘッダ（つまり、Ｓｅｑ１２）を除去し、ヘッダ（つまり、Ｓｅｑ１２）が除去されたパケット（つまり、Ｄａｔａ３）に、削除処理部３４で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ３）を付与（付加）する。
【００９６】
そして、ヘッダ変換処理部３８は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１３２）。ただし、ここでは、ＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」が端末７０に届かなかった、つまり、パケットロスしたものとする。
【００９７】
また、ヘッダ変換処理部３８は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ１３１）。すなわち、ここでは、（Ｓｅｑ３）と（Ｓｅｑ１２）との対応関係である。この対応関係は、読替処理部４２によって対応関係テーブルに記憶される。図１５は、実施例１の対応関係テーブルの一例を示す図である。図１５において、ＴＣＰ−Ｏの項目値は、フロー内番号に相当し、ＴＣＰ−Ｄ１の項目値は、第１リンク内番号に相当し、ＴＣＰ−Ｄ２の項目値は、第２リンク内番号に相当する。
【００９８】
また、ＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」に対しても、ＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」に為された処理と同等の処理が施される。
【００９９】
すなわち、削除処理部３５は、振分部３３から受け取ったＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」のＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ４）を削除し（ステップＳ２１３）、削除したＴＣＰ−Ｏヘッダをヘッダ変換処理部３９へ出力する（ステップＳ１３３）。また、削除処理部３５は、ＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ４）が削除されたパケット（つまり、Ｄａｔａ４）をＴＣＰ処理部３７へ出力する（ステップＳ１３４）。
【０１００】
そして、ＴＣＰ処理部３７は、ＴＣＰ処理を実行する（ステップＳ２１４）。ここでのＴＣＰ処理は、削除処理部３５から受け取ったパケットに対する、第２リンク内番号のナンバリング処理と、ナンバリングした第２リンク内番号をそのパケットにヘッダとして付与するヘッダ付与処理とを含む。そして、ＴＣＰ処理部３７は、第２リンク内番号であるＳｅｑ２２をパケット「Ｄａｔａ４」のヘッダとして付与したパケット「Ｓｅｑ２２＋Ｄａｔａ４」をヘッダ変換処理部３９へ出力する（ステップＳ１３５）。
【０１０１】
ヘッダ変換処理部３９は、ＴＣＰ処理部３７から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ２１５）。すなわち、ヘッダ変換処理部３９は、ＴＣＰ処理部３７から受け取ったパケット「Ｓｅｑ２２＋Ｄａｔａ４」のヘッダ（つまり、Ｓｅｑ２２）を除去し、ヘッダ（つまり、Ｓｅｑ２２）が除去されたパケット（つまり、Ｄａｔａ４）に、削除処理部３５で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ４）を付与（付加）する。
【０１０２】
そして、ヘッダ変換処理部３９は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１３７）。
【０１０３】
また、ヘッダ変換処理部３９は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ１３６）。すなわち、ここでは、（Ｓｅｑ４）と（Ｓｅｑ２２）との対応関係である。
【０１０４】
ＴＣＰ−Ｏパケット「Ｓｅｑ４＋Ｄａｔａ４」を受信すると、端末７０のＴＣＰ−Ｏは、第１受信確認応答（ここでは、ＡＣＫ３＋ＳＡＣＫ４）をフェムトＧＷ３０に向けて送信する（ステップＳ１３８）。ここで、ＳＡＣＫ（Selective  ACK;  選択的ACK）は、ＡＣＫと異なり、受信確認できたＳｅｑ番号と同じ番号を含む。
【０１０５】
第１受信確認応答をフェムトＧＷ３０が受信すると、図１２のフローチャートがスタートする。フェムトＧＷ３０において、読替処理部４２は、読替処理及び分配処理を実行する（ステップＳ２２１）。すなわち、読替処理部４２は、第１受信確認応答（ここでは、ＡＣＫ３＋ＳＡＣＫ４）を受け取ると、受信した第１受信確認応答を、上記の記憶した対応関係に基づいて、リンク内番号に基づく受信確認応答（つまり、上記の第２受信確認応答）に読み替える。具体的には、ＡＣＫ３は、フロー内番号が２までのＴＣＰ−Ｏパケットが抜けなく受信されていることを示している。ＳＡＣＫ４は、抜けている、すなわち、受信できていないＴＣＰ−Ｏパケット以降で受信できているＴＣＰ−Ｏパケットのフロー内番号が４であることを示している。従って、読替処理部４２は、対応関係テーブルにおいてフロー内番号４と対応づけられているリンク内番号２２のパケットが受信済みであることを示す第２受信確認応答（ＡＣＫ２３）を生成し、第２受信確認応答（ＡＣＫ２３）をＴＣＰ処理部３７へ出力する（ステップＳ１３９）。ここで、端末７０のＴＣＰ−Ｏから送信される第１受信確認応答には、「受信ウィンドウ値」が含まれている。このため、読替処理部４２は、この受信ウィンドウ値を、第２受信確認応答（ＡＣＫ２３）に含める。
【０１０６】
ＴＣＰ処理部３６は、前回パケットを送信してから一定時間内に第２受信確認応答を受け取らない場合、そのパケットがパケットロスしたと判断する。そして、ＴＣＰ処理部３６は、再送のために、パケット「Ｓｅｑ１２＋Ｄａｔａ３」をヘッダ変換処理部３８へ出力する（ステップＳ１４０）。このとき、ＴＣＰ処理部３６は、送信レートを低下させる。一方、ＴＣＰ処理部３７は、第２受信確認応答（ＡＣＫ２３）を受信したので、送信レートを低下させない。この結果、ＴＣＰ処理部３７の送信バッファに比べて、ＴＣＰ処理部３６の送信バッファにおける滞留パケットの数が多くなる。従って、これ以降、振分部３３は、滞留パケット量のより少ないＴＣＰ処理部３７へ、つまり、無線ＬＡＮリンクへ、より多くのＴＣＰ−Ｏパケットを振り分ける。
【０１０７】
ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ２１５）。すなわち、ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケット「Ｓｅｑ１２＋Ｄａｔａ３」のヘッダ（つまり、Ｓｅｑ１２）を除去し、ヘッダ（つまり、Ｓｅｑ１２）が除去されたパケット（つまり、Ｄａｔａ３）に、削除処理部３４で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ３）を付与（付加）する。
【０１０８】
そして、ヘッダ変換処理部３８は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１４１）。
【０１０９】
以上のように本実施例によれば、中継装置であるフェムトＧＷ３０において、「管理部」としての削除処理部３４，３５、ヘッダ変換処理部３８，３９、及び読替処理部４２は、振分部３３によって複数の通信リンクに振り分けられたＴＣＰ−Ｏパケットについて、ＴＣＰフローにおけるフロー内番号と、ＴＣＰ処理部３６，３７によってナンバリングされたリンク内番号との対応関係を管理する。そして、「管理部」は、振分先リンクを介して転送された各ＴＣＰ−Ｏパケットのフロー内番号に基づいて受信側装置（ここでは、端末７０）から送信された第１受信確認応答を上記の対応関係に基づいてリンク内番号に基づく第２受信確認応答に読み替えて、ＴＣＰ処理部３６，３７へ分配する。
【０１１０】
例えば、削除処理部３４，３５は、振分部３３によって振り分けられた各ＴＣＰ−ＯパケットのＴＣＰ−Ｏヘッダを削除し、ＴＣＰ−Ｏヘッダを削除したパケットを振分先の通信リンクに対応するＴＣＰ処理部３６又はＴＣＰ処理部３７へ入力する。そして、ヘッダ変換処理部３８，３９は、振分先の通信リンクに対応するＴＣＰ処理部３６又はＴＣＰ処理部３７でリンク内番号が付与されたパケットを取得する。そして、ヘッダ変換処理部３８，３９は、取得したパケットからリンク内番号を除去し、取得したパケットが削除処理部３４又は削除処理部３５で削除されたＴＣＰ−Ｏヘッダを付与したＴＣＰ−Ｏパケットを受信側装置へ転送する。そして、ヘッダ変換処理部３８，３９は、転送したＴＣＰ−Ｏパケットについての上記の対応関係を生成する。そして、読替処理部４２は、ヘッダ変換処理部３８，３９が転送したＴＣＰ−Ｏパケットのフロー内番号に基づく第１受信確認応答を上記の対応関係に基づいて第２受信確認応答に読み替えて、ＴＣＰ処理部３６，３７へ分配する。
【０１１１】
このフェムトＧＷ３０の構成により、送信側装置（ここでは、サーバ１０）から送信されたＴＣＰ−Ｏパケットを、それの形を変えることなく、複数の通信リンクを介して端末７０に向けて転送できる。これにより、端末７０はサーバ１０と端末７０との間のＴＣＰ−ＯコネクションによってＴＣＰ−Ｏパケットを受信できるので、端末７０に対して上記の「載せ替え機能」を追加すること無く、リンクアグリゲーションを実現することができる。
【０１１２】
また、このフェムトＧＷ３０の構成により、受信側装置（ここでは、端末７０）から送信された第１受信確認応答を、通信リンク毎の第２受信確認応答に読み替えることができる。これにより、通信リンク単位で、再送制御及び伝送レート制御等を行うことができる。
【０１１３】
また、例えば、第１受信確認応答は、第１のＡＣＫ番号及び第１のＳＡＣＫ番号を含み、第２受信確認応答は、読替処理部４２によって第１のＡＣＫ番号及び第１のＳＡＣＫ番号が読み替えられた、第２のＡＣＫ番号及び第２のＳＡＣＫ番号を含む。
【０１１４】
これにより、通信リンク単位での再送制御及び伝送レート制御を確実に行うことができる。
【０１１５】
また、例えば、第１受信確認応答は、端末７０における受信ウィンドウ値を含み、読替処理部４２は、第２受信確認応答に受信ウィンドウ値を含める。
【０１１６】
これにより、端末７０における処理負荷状態を考慮した、再送制御及び伝送レート制御を行うことができる。
【０１１７】
また、中継装置であるフェムトＧＷ３０において、透過型ＴＣＰプロキシ３２は、ＴＣＰ−Ｏコネクションを確立する手順、つまり、スリーウェイハンドシェイクにおいて伝送される制御パケットに含まれる最大セグメントサイズの値を、ＬＡに用いられる複数の通信リンクの最大セグメントサイズで最も小さい値に書き換える。
【０１１８】
このフェムトＧＷ３０の構成により、ＴＣＰ−Ｏパケットに対する分割処理を行うことを回避できる。すなわち、フェムトＧＷ３０の処理負荷を低減することができる。
【０１１９】
［実施例２］
実施例２では、ヘッダ変換処理部が、ヘッダの削除及び対応関係の生成の両方を行う。
【０１２０】
［中継装置の構成例］
図１６は、実施例２の中継装置であるフェムトＧＷの一例を示す図である。図１６には、便宜上、フェムトＧＷ１３０の他に、サーバ１０及び端末７０も示されている。なお、図１６では、フェムト基地局５０及び無線ＬＡＮアクセスポイント６０の記載は省略されている。
【０１２１】
図１６において、フェムトＧＷ１３０は、ヘッダ変換処理部１３８，１３９を有する。
【０１２２】
フェムトＧＷ１３０は、実施例１のフェムトＧＷ３０が有している削除処理部３４，３５を有していない。従って、振分部３３で複数の通信リンクに振り分けられたＴＣＰ−Ｏパケットは、ＴＣＰ処理部３６又はＴＣＰ処理部３７へ入力される。
【０１２３】
そして、ＴＣＰ処理部３６は、振分部３３から受け取ったＴＣＰ−Ｏパケットに対して、ＬＴＥリンク内のリンク内番号（つまり、第１リンク内番号）をナンバリングし、ナンバリングした第１リンク内番号をＴＣＰ−Ｄ１ヘッダとして付与したＴＣＰ−Ｄ１パケットをヘッダ変換処理部１３８へ出力する。
【０１２４】
また、ＴＣＰ処理部３７は、振分部３３から受け取ったＴＣＰ−Ｏパケットに対して、無線ＬＡＮリンク内のリンク内番号（つまり、第２リンク内番号）をナンバリングし、ナンバリングした第２リンク内番号をＴＣＰ−Ｄ２ヘッダとして付与したＴＣＰ−Ｄ２パケットをヘッダ変換処理部１３９へ出力する。
【０１２５】
ヘッダ変換処理部１３８は、ＴＣＰ処理部３６から受け取ったＴＣＰ−Ｄ１パケットのＴＣＰ−Ｄ１ヘッダを除去し、得られたＴＣＰ−Ｏパケットを、受信側装置である端末７０に向けて転送する。また、ヘッダ変換処理部１３８は、転送した各ＴＣＰ−Ｏパケットについて、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する。
【０１２６】
ヘッダ変換処理部１３９は、ＴＣＰ処理部３７から受け取ったＴＣＰ−Ｄ２パケットのＴＣＰ−Ｄ２ヘッダを除去し、得られたＴＣＰ−Ｏパケットを、受信側装置である端末７０に向けて転送する。また、ヘッダ変換処理部１３９は、転送した各ＴＣＰ−Ｏパケットについて、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する。
【０１２７】
［中継装置の動作例］
以上の構成を有する中継装置の処理動作例について説明する。図１７は、実施例２の中継装置としてのフェムトＧＷを含む通信システムの動作の一例を示すシーケンス図である。図１８は、実施例２のフェムトＧＷの処理動作の一例を示すフローチャートである。なお、スリーウェイハンドシェイクにおける処理、及び、受信確認応答の読替処理等については、実施例２は実施例１と同様である。すなわち、データパケットの転送処理におけるフェムトＧＷの処理動作が異なっている。
【０１２８】
振分部３３は、ＴＣＰプロキシ３２から受け取ったＴＣＰ−Ｏパケットを、ＬＴＥリンク及び無線ＬＡＮリンクに振り分ける（ステップＳ２１２）。ここでは、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」は、ＬＴＥリンクに振り分けられ、ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」は、無線ＬＡＮリンクに振り分けられている。このため、ＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」は、ＴＣＰ処理部３６へ出力され（ステップＳ３０１）、ＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」は、ＴＣＰ処理部３７へ出力される（ステップＳ３０３）。
【０１２９】
ＴＣＰ処理部３６は、ＴＣＰ処理を実行する（ステップＳ４０１）。ここでのＴＣＰ処理は、振分部３３から受け取ったＴＣＰ−Ｏパケットに対する、第１リンク内番号のナンバリング処理と、ナンバリングした第１リンク内番号をそのＴＣＰ−ＯパケットにＴＣＰ−Ｄ１ヘッダとして付与するヘッダ付与処理とを含む。そして、ＴＣＰ処理部３６は、第１リンク内番号であるＳｅｑ１１をＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」のＴＣＰ−Ｄ１ヘッダとして付与したＴＣＰ−Ｄ１パケット「Ｓｅｑ１１＋（Ｓｅｑ１＋Ｄａｔａ１）」をヘッダ変換処理部１３８へ出力する（ステップＳ３０２）。
【０１３０】
ＴＣＰ処理部３７は、ＴＣＰ処理を実行する（ステップＳ４０１）。ここでのＴＣＰ処理は、振分部３３から受け取ったＴＣＰ−Ｏパケットに対する、第２リンク内番号のナンバリング処理と、ナンバリングした第２リンク内番号をそのＴＣＰ−ＯパケットにＴＣＰ−Ｄ２ヘッダとして付与するヘッダ付与処理とを含む。そして、ＴＣＰ処理部３７は、第２リンク内番号であるＳｅｑ２１をＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」のＴＣＰ−Ｄ２ヘッダとして付与したＴＣＰ−Ｄ２パケット「Ｓｅｑ２１＋（Ｓｅｑ２＋Ｄａｔａ２）」をヘッダ変換処理部１３９へ出力する（ステップＳ３０４）。
【０１３１】
ヘッダ変換処理部１３８は、ＴＣＰ処理部３６から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ４０２）。すなわち、ヘッダ変換処理部１３８は、ＴＣＰ処理部３６から受け取ったＴＣＰ−Ｄ１パケット「Ｓｅｑ１１＋（Ｓｅｑ１＋Ｄａｔａ１）」のＴＣＰ−Ｄ１ヘッダ（つまり、Ｓｅｑ１１）を除去する。そして、ヘッダ変換処理部１３８は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１１５）。
【０１３２】
また、ヘッダ変換処理部１３８は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ１＋Ｄａｔａ１」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ１１４）。すなわち、ここでは、（Ｓｅｑ１）と（Ｓｅｑ１１）との対応関係である。この対応関係は、読替処理部４２によって対応関係テーブルに記憶される。
【０１３３】
ヘッダ変換処理部１３９は、ＴＣＰ処理部３７から受け取ったパケットのヘッダの変換処理を実行する（ステップＳ４０２）。すなわち、ヘッダ変換処理部１３９は、ＴＣＰ処理部３７から受け取ったＴＣＰ−Ｄ２パケット「Ｓｅｑ２１＋（Ｓｅｑ２＋Ｄａｔａ２）」のＴＣＰ−Ｄ２ヘッダ（つまり、Ｓｅｑ２１）を除去する。そして、ヘッダ変換処理部１３９は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」を端末７０に向けて送信する（ステップＳ２１６，Ｓ１２０）。
【０１３４】
また、ヘッダ変換処理部１３９は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ２＋Ｄａｔａ２」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ１１９）。すなわち、ここでは、（Ｓｅｑ２）と（Ｓｅｑ２１）との対応関係である。
【０１３５】
以上のように本実施例によれば、中継装置であるフェムトＧＷ１３０において、ヘッダ変換処理部１３８，１３９が「管理部」として機能する。このフェムトＧＷ１３０の構成によっても実施例１と同様の効果が得られる。
【０１３６】
［実施例３］
実施例３は、ＴＣＰ処理部の再送制御のバリエーション、及び、読替処理部の処理のバリエーションに関する。すなわち、実施例１及び実施例２では、ＴＣＰ処理部３６及びＴＣＰ処理部３７は、前回パケットを送信してから一定時間内に第２受信確認応答を受け取らない場合、そのパケットがパケットロスしたと判断し、再送制御を実行している。これに対して、実施例３では、ＴＣＰ処理部は、同じリンク内番号を示す第２受信確認応答のＡＣＫをＮ（Ｎは２以上の自然数）回受け取った場合、そのリンク内番号に対応するパケットの再送制御を実行する。なお、実施例３のフェムトＧＷの基本構成は、実施例１のフェムトＧＷ３０の基本構成と同じであっても良いし、実施例２のフェムトＧＷ１３０の基本構成と同じであってもよい。このため、ここでは、一例として、実施例３のフェムトＧＷの基本構成が実施例１のフェムトＧＷ３０の基本構成と同じである場合について、図８を参照して説明する。
【０１３７】
図１９は、実施例３の中継装置としてのフェムトＧＷを含む通信システムの動作の一例を示すシーケンス図である。
【０１３８】
サーバ１０のＴＣＰ−Ｏは、ＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」を端末７０に向けて送信する（ステップＳ４０１）。
【０１３９】
フェムトＧＷ３０においてＴＣＰプロキシ３２は、疑似ＡＣＫ６をサーバ１０へ送信する（ステップＳ４０２）。
【０１４０】
ＴＣＰプロキシ３２は、受信したＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」を、振分部３３へ出力する（ステップＳ４０３）。
【０１４１】
振分部３３は、ＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」をＬＴＥリンクに振り分け、ＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」を削除処理部３４へ出力する（ステップＳ４０４）。
【０１４２】
削除処理部３４は、振分部３３から受け取ったＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」のＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ５）を削除し、削除したＴＣＰ−Ｏヘッダをヘッダ変換処理部３８へ出力する（ステップＳ４０５）。また、削除処理部３４は、ＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ５）が削除されたパケット（つまり、Ｄａｔａ５）をＴＣＰ処理部３６へ出力する（ステップＳ４０６）。
【０１４３】
ＴＣＰ処理部３６は、第１リンク内番号であるＳｅｑ１３をパケット「Ｄａｔａ５」のヘッダとして付与したパケット「Ｓｅｑ１３＋Ｄａｔａ５」をヘッダ変換処理部３８へ出力する（ステップＳ４０７）。
【０１４４】
ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケット「Ｓｅｑ１３＋Ｄａｔａ５」のヘッダ（つまり、Ｓｅｑ１３）を除去し、ヘッダ（つまり、Ｓｅｑ１３）が除去されたパケット（つまり、Ｄａｔａ５）に、削除処理部３４で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ５）を付与（付加）する。
【０１４５】
ヘッダ変換処理部３８は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」を端末７０に向けて送信する（ステップＳ４０９）。
【０１４６】
また、ヘッダ変換処理部３８は、転送したＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」について、フロー内番号とリンク内番号との「対応関係」を生成し、生成した「対応関係」を読替処理部４２へ出力する（ステップＳ４０８）。すなわち、ここでは、（Ｓｅｑ５）と（Ｓｅｑ１３）との対応関係である。
【０１４７】
ＴＣＰ−Ｏパケット「Ｓｅｑ５＋Ｄａｔａ５」を受信すると、端末７０のＴＣＰ−Ｏは、第１受信確認応答（ここでは、ＡＣＫ３＋ＳＡＣＫ（４−５））をフェムトＧＷ３０に向けて送信する（ステップＳ４１０）。ここで、ＡＣＫ３＋ＳＡＣＫ（４−５）は、Ｓｅｑ番号＝２のパケットまで受信できており、Ｓｅｑ番号＝３のパケットを受信できておらず、Ｓｅｑ番号＝４，５のパケットを受信できていることを示す。
【０１４８】
フェムトＧＷ３０において読替処理部４２は、第１受信確認応答をフェムトＧＷ３０が受信すると、記憶した対応関係に基づいて、リンク内番号に基づく受信確認応答（つまり、第２受信確認応答）に読み替える。読替処理部４２は、第１受信確認応答（ここでは、ＡＣＫ３＋ＳＡＣＫ（４−５））を受け取ると、受信した第１受信確認応答を、記憶した対応関係に基づいて、リンク内番号に基づく受信確認応答（つまり、第２受信確認応答）に読み替える。具体的には、ＡＣＫ３は、フロー内番号が２までのＴＣＰ−Ｏパケットが抜けなく受信されていることを示している。ＳＡＣＫ（４−５）は、抜けている、すなわち、受信できていないＴＣＰ−Ｏパケット以降で受信できているＴＣＰ−Ｏパケットのフロー内番号が４及び５であることを示している。従って、読替処理部４２は、対応関係テーブルにおいてフロー内番号３と対応づけられているリンク内番号１２のパケットが受信未済みであり、且つ、フロー内番号５と対応づけられているリンク内番号１３のパケットが受信済みであることを示す第２受信確認応答（ＡＣＫ１２＋ＳＡＣＫ１３）を生成し、第２受信確認応答（ＡＣＫ１２＋ＳＡＣＫ１３）をＴＣＰ処理部３６へ出力する（ステップＳ４１１）。
【０１４９】
ここで、読替処理部４２は、ＴＣＰ処理部３６及びＴＣＰ処理部３７のそれぞれに最後に出力した第２受信確認応答を管理する。図２０は、実施例３の出力済みの第２受信確認応答の管理処理の説明に供するフローチャートである。図２０の処理フローは、読替処理部４２において読替処理が行われる度に実行されてもよい。
【０１５０】
読替処理部４２は、管理処理対象のＴＣＰ−Ｄ（つまり、通信リンク単位のＴＣＰコネクション）を最初のＴＣＰ−Ｄにセットする（ステップＳ５０１）。
【０１５１】
読替処理部４２は、管理処理対象のＴＣＰ−Ｄに関して、生成した第２受信確認応答が管理テーブルに記憶されている最後に出力した第２受信確認応答と一致するか否かを判定する（ステップＳ５０２）。
【０１５２】
一致していない場合（ステップＳ５０２否定）、読替処理部４２は、生成した第２受信確認応答によって管理テーブルを更新し（ステップＳ５０３）、生成した第２受信確認応答を管理対象にセットしたＴＣＰ−Ｄに対応するＴＣＰ処理部へ出力する。一方、一致している場合（ステップＳ５０２肯定）、処理ステップは、ステップＳ５０４へ進む。ここで、管理対象にセットしたＴＣＰ−Ｄに関して、生成した第２受信確認応答が管理テーブルに記憶されている最後に出力した第２受信確認応答と一致する場合（ステップＳ５０２肯定）、読替処理部４２は、生成した第２受信確認応答を、その管理対象のＴＣＰ−Ｄに対応するＴＣＰ処理部へ出力しない。これにより、間違った再送が実行されることを防止することができる。
【０１５３】
読替処理部４２は、管理処理対象としてセットされていないＴＣＰ−Ｄが残っているか否かを判定する（ステップＳ５０４）。
【０１５４】
管理処理対象としてセットされていないＴＣＰ−Ｄが残っている場合（ステップＳ５０４肯定）、読替処理部４２は、管理処理対象のＴＣＰ−Ｄを次のＴＣＰ−Ｄにセットする（ステップＳ５０５）。そして、処理フローは、ステップＳ５０２に戻る。一方、管理処理対象としてセットされていないＴＣＰ−Ｄが残っていない場合（ステップＳ５０４否定）、図２０の処理フローは終了する。
【０１５５】
図２１は、実施例３の出力済みの第２受信確認応答の管理テーブルの一例を示す図である。図２１では、ステップＳ１３９が終了した時点での管理テーブルの状態が示されている。すなわち、図２１の管理テーブルでは、ＴＣＰ処理部３６に最後に出力した第２受信確認応答は、ＡＣＫ１２であり、ＴＣＰ処理部３７に最後に出力した第２受信確認応答は、ＡＣＫ２３であることが管理されている。従って、上記のステップＳ４１０で送信された第１受信確認応答（ＡＣＫ３＋ＳＡＣＫ（４−５））を受け取ると、読替処理部４２は、ＴＣＰ処理部３７に対する第２受信確認応答としてＡＣＫ２３を生成する。しかしながら、ＡＣＫ２３はＴＣＰ処理部３７に対する第２受信確認応答として管理テーブルに記憶されているので、読替処理部４２は、ＡＣＫ２３をＴＣＰ処理部３７へ出力しない。
【０１５６】
図１９の説明に戻り、ＴＣＰ処理部３６は、読替処理部４２からステップＳ４１１で出力された第２受信確認応答（ＡＣＫ１２＋ＳＡＣＫ１３）を受け取ると、第２受信確認応答のＡＣＫが示すリンク内番号１２と同じリンク内番号を示す第２受信確認応答のＡＣＫを受け取った回数をインクリメントし、その回数がＮに到達したか否かを判定する。そして、Ｎに到達したと判定した場合、ＴＣＰ処理部３６は、再送のために、パケット「Ｓｅｑ１２＋Ｄａｔａ３」をヘッダ変換処理部３８へ出力する（ステップＳ４１２）。ここでは、Ｎ＝２であるため、ＴＣＰ処理部３６は、パケット「Ｓｅｑ１２＋Ｄａｔａ３」をヘッダ変換処理部３８へ出力している。一方、Ｎに到達していないと判定した場合、ＴＣＰ処理部３６は、次の第２受信確認応答を待つ。
【０１５７】
ヘッダ変換処理部３８は、ＴＣＰ処理部３６から受け取ったパケット「Ｓｅｑ１２＋Ｄａｔａ３」のヘッダ（つまり、Ｓｅｑ１２）を除去し、ヘッダ（つまり、Ｓｅｑ１２）が除去されたパケット（つまり、Ｄａｔａ３）に、削除処理部３４で削除されたＴＣＰ−Ｏヘッダ（つまり、Ｓｅｑ３）を付与（付加）する。
【０１５８】
そして、ヘッダ変換処理部３８は、ヘッダの変換処理によって得られたＴＣＰ−Ｏパケット「Ｓｅｑ３＋Ｄａｔａ３」を端末７０に向けて送信する（ステップＳ４１３）。
【０１５９】
以上のように本実施例によれば、中継装置であるフェムトＧＷ３０において、ＴＣＰ処理部３６及びＴＣＰ処理部３７のそれぞれは、読替処理部４２から、同じＡＣＫ番号を含む第２受信確認応答を連続してＮ回受け取った場合、そのＡＣＫ番号に対応するＴＣＰパケットを再送する。
【０１６０】
このフェムトＧＷ３０の構成によっても、通信リンク単位での再送制御及び伝送レート制御を確実に行うことができる。
【０１６１】
また、読替処理部４２は、第１受信確認応答の第１のＡＣＫ番号及び第１のＳＡＣＫ番号を読み替えた第２のＡＣＫ番号及び第２のＳＡＣＫ番号を含む第２受信確認応答を過去に分配していない場合、その第２受信確認応答を分配し、過去に分配している場合、その第２受信確認応答を分配しない。
【０１６２】
このフェムトＧＷ３０の構成により、間違った再送が実行されることを防止することができる。
【０１６３】
［他の実施例］
実施例１及び実施例２で図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１６４】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよい。
【０１６５】
実施例１及び実施例２の中継装置であるフェムトＧＷは、次のようなハードウェア構成により実現することができる。
【０１６６】
図２２は、中継装置であるフェムトＧＷのハードウェア構成例を示す図である。図２２に示すように、フェムトＧＷ２００は、ＩＦ（Inter  Face）２０１，２０２，２０３と、プロセッサ２０４と、メモリ２０５とを有する。プロセッサ２０４の一例としては、ＣＰＵ、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。また、メモリ２０５の一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。
【０１６７】
そして、実施例１及び実施例２のフェムトＧＷで行われる各種処理機能は、不揮発性記憶媒体などの各種メモリに格納されたプログラムを管理装置が備えるプロセッサで実行することによって実現してもよい。
【０１６８】
すなわち、透過型ＴＣＰプロキシ３２と、振分部３３と、削除処理部３４，３５と、ＴＣＰ処理部３６，３７と、ヘッダ変換処理部３８，３９，１３８，１３９と、読替処理部４２とによって実行される各処理に対応するプログラムがメモリ２０５に記録され、各プログラムがプロセッサ２０４で実行されてもよい。また、ＩＦ３１，４０，４１は、ＩＦ２０１，２０２，２０３によってそれぞれ実現される。
【符号の説明】
【０１６９】
１  通信システム
１０  サーバ
３１，４０，４１  ＩＦ
３２  透過型ＴＣＰプロキシ
３３  振分部
３４，３５  削除処理部
３６，３７  ＴＣＰ処理部
３８，３９，１３８，１３９  ヘッダ変換処理部
４２  読替処理部
３０，１３０  フェムトＧＷ
５０  フェムト基地局
６０  無線ＬＡＮアクセスポイント
７０  端末
【図１】
2015195559.tif 000003
【図２】
2015195559.tif 000004
【図３】
2015195559.tif 000005
【図４】
2015195559.tif 000006
【図５】
2015195559.tif 000007
【図６】
2015195559.tif 000008
【図７】
2015195559.tif 000009
【図８】
2015195559.tif 000010
【図９】
2015195559.tif 000011
【図１０】
2015195559.tif 000012
【図１１】
2015195559.tif 000013
【図１２】
2015195559.tif 000014
【図１３】
2015195559.tif 000015
【図１４】
2015195559.tif 000016
【図１５】
2015195559.tif 000017
【図１６】
2015195559.tif 000018
【図１７】
2015195559.tif 000019
【図１８】
2015195559.tif 000020
【図１９】
2015195559.tif 000021
【図２０】
2015195559.tif 000022
【図２１】
2015195559.tif 000023
【図２２】
2015195559.tif 000024