(57)【要約】【課題】  移動機に割り当てられる無線帯域が動的に変動する移動通信環境において、送信機におけるデータの送信速度を無線帯域変動に合わせて迅速に制御し、高いスループットを実現する。【解決手段】  本発明は、有線インタフェースを介して送信機と接続されており、無線インタフェースを介して受信機と接続されている通信装置であって、前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する転送部と、前記転送部によって転送された前記データユニットの識別情報を、前記送信機に対して通知する通知部とを具備することを要旨とする。【選択図】  図１１
2005244480.tif 000002
【特許請求の範囲】
【請求項１】
有線インタフェースを介して送信機と接続されており、無線インタフェースを介して受信機と接続されている通信装置であって、
前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する転送部と、
前記転送部によって転送された前記データユニットの識別情報を、前記送信機に対して通知する通知部とを具備することを特徴とする通信装置。
【請求項２】
前記送信機との間の伝送遅延と前記無線インタフェースの最大帯域変動幅とに基づいて算出された容量の前記データユニットを蓄積することができる蓄積部を具備することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受信機が前記データユニットを受信した旨を通知する確認応答を受信する確認応答受信部を具備し、
前記通知部は、前記確認応答を用いて、前記転送部によって転送された前記データユニットの識別情報を前記送信機に対して通知することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記通知部は、前記確認応答受信部において所定数の確認応答が受信された場合に、又は、第１の所定期間が経過した場合に、前記転送部によって転送された前記データユニットの識別情報を含む前記確認応答を前記送信機に対して送信することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記通知部は、第２の所定期間経過した場合、前記転送部によって転送された前記データユニットの識別情報を含む転送通知メッセージを生成して前記送信機に送信することを特徴とする請求項３に記載の通信装置。
【請求項６】
無線インタフェースを介して受信機に接続されている通信装置に対して、有線インタフェースを介して、該受信機宛てのデータユニットを送信する送信機であって、
前記無線インタフェースを介して前記通信装置から前記受信機に転送された前記データユニットの識別情報を取得する識別情報取得部と、
取得した前記データユニットの識別情報に応じて、前記有線インタフェースが接続されている有線ネットワークにおける前記通信装置に対して送信された前記データユニットの滞留量を推定する滞留量推定部と、
推定された前記滞留量に応じて、前記通信端末に対して前記データユニットを送信するタイミングを制御するタイミング制御部とを具備することを特徴とする送信機。
【請求項７】
前記タイミング制御部は、前記通信装置との間の伝送遅延と前記無線インタフェースの最大帯域変動幅とに基づいて算出された容量に前記滞留量を制限するように、前記通信端末に対して前記データユニットを送信するタイミングを制御することを特徴とする請求項６に記載の送信機。
【請求項８】
無線インタフェースを介して受信機と接続されている通信装置と、有線インタフェースを介して前記通信装置と接続されている送信機とを具備する通信システムであって、
前記通信装置は、
前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する転送部と、
前記転送部によって転送された前記データユニットの識別情報を、前記送信機に対して通知する通知部とを具備し、
前記送信機は、
前記無線インタフェースを介して前記通信装置から前記受信機に転送された前記データユニットの識別情報を取得する識別情報取得部と、
取得した前記データユニットの識別情報に応じて、前記有線インタフェースが接続されている有線ネットワークにおける前記通信装置に対して送信された前記データユニットの滞留量を推定する滞留量推定部と、
推定された前記滞留量に応じて、前記通信端末に対して前記データユニットを送信するタイミングを制御するタイミング制御部とを具備することを特徴とする通信システム。
【請求項９】
送信機が、有線インタフェースを介して受信機宛てのデータユニットを、無線インタフェースを介して該受信機に接続されている通信装置に対して送信する通信方法であって、
前記通信装置が、前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する工程と、
前記通信装置が、前記受信機に対して転送された前記データユニットの識別情報を、前記送信機に対して通知する工程と、
前記送信機が、前記無線インタフェースを介して前記通信装置から前記受信機に転送された前記データユニットの識別情報を取得する工程と、
前記送信機が、取得した前記データユニットの識別情報に応じて、前記有線インタフェースが接続されている有線ネットワークにおける前記通信装置に対して送信された前記データユニットの滞留量を推定する工程と、
前記送信機が、推定された前記滞留量に応じて、前記通信端末に対して前記データユニットを送信するタイミングを制御する工程とを有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信機宛てのデータユニットが、送信機から有線インタフェースを介して通信装置に送信され、更に、該通信装置から無線インタフェースを介して該受信機に転送される通信システム、通信方法、及び、これらに用いられる通信装置及び送信機に関する。
【背景技術】
【０００２】
近年、Ｗ-ＣＤＭＡ方式の下りリンクにおいて、最大１４Ｍｂｐｓの高速通信を実現するＨＳＤＰＡ（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｄｏｗｎ  Ｌｉｎｋ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）方式の検討が進められている。
【０００３】
ＨＳＤＰＡ方式で採用される代表的な技術に、「ＡＭＣＳ（Ａｄａｐｔｉｖｅ  Ｍｏｄｕｌａｔｉｏｎ  ａｎｄ  Ｃｏｄｉｎｇ  Ｓｃｈｅｍａ）」及び「ＮｏｄｅＢスケジューリング」がある。ＡＭＣＳは、移動機の伝播路環境の変動に応じて、適切な変調方式と誤り訂正符号化率を動的に選択する技術であり、ＮｏｄｅＢスケジューリングは、伝播路環境の良い移動機に対して、優先的に帯域を割り当てる技術である。
【０００４】
ＨＳＤＰＡ方式を備えた移動通信システムでは、これらの技術によって、無線帯域をより有効に活用することが可能となり、移動機で利用可能な最大無線帯域が大幅に増加する。
【０００５】
また、ＨＳＤＰＡ方式を備えた移動通信システムでは、伝播路環境とともに動的に無線帯域が変動する通信特性を有する。こうした通信特性は、次世代移動通信システムにおいても保持されるものと思われる。
【０００６】
このような特性をもつ移動通信システムにおいて、トランスポート層にＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いて通信を行う場合、次の２つの問題点が懸念される。
【０００７】
第１の問題点は、利用可能な無線帯域の広帯域化に関わる問題点である。ＴＣＰでは、広帯域な伝送路を生かしきるために、輻輳ウィンドウサイズを帯域幅遅延積に維持する必要がある。しかしながら、ＴＣＰでは、伝送路が広帯域で遅延が大きい場合、通信開始時に輻輳ウィンドウサイズを所要の帯域幅遅延積まで増加するのに時間がかかり、その間、十分なスループットを得ることができないという問題点があった。
【０００８】
第２の問題点は、動的な無線帯域変動に関わる問題点である。ＨＳＤＰＡ方式では、非常に短い周期で無線帯域を制御するため、急激な無線帯域変動が生じる。しかしながら、ＴＣＰでは、輻輳制御処理を作動するのにエンドノード間往復伝播遅延時間（ＲＴＴ：Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）を要し、急激な無線帯域変動に追従することができない。そのため、ＴＣＰが採用されている通信システムにおいて、無線帯域が急激に変動する状況では、無線リンクの利用率が低下したり、バッファ溢れが生じたりして、スループットが低下する可能性がある。特に、ＴＣＰは、ＲＴＴ毎に１セグメントずつ輻輳ウィンドウサイズを増加させる加法的な増加方法を採用しているため、送信速度の増加が遅く、無線帯域が急激に増加した際の無線リンク利用率の低下は深刻な問題となる。本発明では、かかる第２の問題点について着目する。
【０００９】
動的に無線帯域が変動する移動通信環境において、スループットを維持する方法として、以下の３つの方法が考えられる。
【００１０】
第１の方法は、基地局（通信装置）の送信バッファを増設する方法である。かかる第１の方法では、基地局に最大無線帯域幅遅延積の２倍の送信バッファを用意する。輻輳ウィンドウサイズが最大無線帯域幅遅延積以上に維持される限り、いかなる無線帯域の変動に対しても、無線リンクの利用率は「１」に保たれる。
【００１１】
一方、利用可能な無線帯域が最大無線帯域よりも小さい場合には、輻輳ウィンドウサイズの無線帯域幅遅延積からの超過分が、基地局の送信バッファにバッファリングされる。輻輳ウィンドウサイズが増加して最大無線帯域幅遅延積の２倍（すなわち、送信バッファサイズ）を超えると、バッファ溢れが生じ、輻輳ウィンドウサイズは半減される。しかし、それでもなお、輻輳ウィンドウサイズは最大無線帯域幅遅延積以上に維持されるため、無線リンクの利用率が低下することはない。
【００１２】
第２の方法は、受信ノード（受信機）又は中間ノード（通信装置）が、無線帯域幅遅延積に基づいて輻輳ウィンドウサイズを算出して送信ノード（送信機）に通知する方法である。送信ノードは、輻輳ウィンドウサイズをこの通知された値に設定する。これにより、無線帯域が変動した場合でも、輻輳ウィンドウサイズを無線帯域幅遅延積に合致させることが可能となる。
【００１３】
かかる第２の方法として、非特許文献１では、無線リンクに接続された受信ノードが、レイヤ２の情報を利用して無線帯域幅遅延積を算出し、広告ウィンドウサイズによってかかる無線帯域幅遅延席を送信ノードに通知する方法が提案されている。非特許文献１において提案されている方法を用いることによって、無線帯域が１０秒間隔で６４ｋｂｐｓと３８４ｋｂｐｓの間を切り替わる移動通信環境にて、良好な性能を示すことが実証されている。
【００１４】
ここで、非特許文献２において、ルータが輻輳ウィンドウサイズの増減量を算出して送信ノード（送信機）に通知する方法が提案されている。輻輳ウィンドウサイズの増減量の算出には、２つのパラメータが用いられ、かかるパラメータは、制御理論に基づいてシステムが安定となるように設定されている。
【００１５】
第３の方法は、基地局（通信装置）が受信ノード（受信機）を代理してＡＣＫを返送する方法である。非特許文献３では、衛星通信を対象としたＴＣＰゲートウェイ（通信装置）の提案がなされている。
【００１６】
ＴＣＰゲートウェイは、衛星通信網の入り口に設置されており、インターネットに接続されるサーバ装置（送信機）と、衛星通信網を介してインターネットに接続される衛星通信端末（受信機）との間で張られるＴＣＰコネクションに介在する。
【００１７】
また、ＴＣＰゲートウェイは、サーバ装置から受信したセグメント（データユニット）に対して、衛星通信端末に代わってＡＣＫを返送し、衛星通信網の遅延に依存しない高速なフロー・輻輳制御処理を提供することができる。また、ＴＣＰゲートウェイは、衛星通信端末に対して、衛星通信の通信特性を考慮した独自の再送制御及びフロー・輻輳制御処理を提供することによって、スループットの向上を図っている。
【非特許文献１】H. Koga, K. Kawahara, and Y. Oie, “TCP Flow Control Using Link Layer Information in Mobile Networks”, In Proc. of SPIE Conference of Internet Performance and Control of Network Systems III, vol.4865, pp.305-315, July 2002.
【非特許文献２】D. Katabi, M. Handley, and C. Rohrs, “Congestion Control for High Bandwidth-Delay Product Networks, ”In Proc. of ACM SIGCOMM’02, pp.89−102, Aug. 2002
【非特許文献３】三宅  優、長谷川  輝之、長谷川  亨、加藤  聡彦、“衛星インターネット用ＴＣＰゲートウェイの提案”、信学技報、マルチメディア通信と分散処理８９−１２，１９９８年６月。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述の第１の方法では、広帯域で遅延の大きい移動通信環境において、非常に大きな送信バッファが必要となるという問題点があった。例えば、最大無線帯域を１４Ｍｂｐｓ、ＲＴＴを２００ｍｓｅｃとすると、最大無線帯域幅遅延積の２倍に相当する７００ＫＢの送信バッファが必要となる。
【００１９】
また、上述の非特許文献１に記載されている第２の方法では、無線帯域がより短時間（最大２ｍｓｅｃ）でより広帯域（６４ｋｂｐｓから１４Ｍｂｐｓ）を変動するＨＳＤＰＡ方式において、必要とされる安定性を考慮した設計がなされていないという問題点があった。
【００２０】
また、非特許文献２に記載されている帯域変動に対する安全性を考慮した設計は、システムの安定性を確保するために応答性を犠牲にしており、輻輳ウィンドウサイズを所要の無線帯域幅遅延積まで増加又は減少させるのにＲＴＴの数倍の時間を要し、動的に無線帯域が変動するために高速の応答性が求められるＨＳＤＰＡ方式に直接適用することはできないという問題点があった。
【００２１】
さらに、上述の第３の方法は、すなわち、有線区間と無線区間の間でＴＣＰコネクションを終端する方法では、エンドノード間で信頼性を保証することができないため、移動通信システムに適用するのは困難であるという問題点があった。
【００２２】
そこで、本発明は、以上の点に鑑みてなされたもので、移動機に割り当てられる無線帯域が動的に変動する移動通信環境において、送信機におけるデータの送信速度を無線帯域変動に合わせて迅速に制御し、高いスループットを実現することが可能な通信システム、通信方法、及び、これらに用いられる送信機及び通信装置を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明の第１の特徴は、有線インタフェースを介して送信機と接続されており、無線インタフェースを介して受信機と接続されている通信装置であって、前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する転送部と、前記転送部によって転送された前記データユニットの識別情報を、前記送信機に対して通知する通知部とを具備することを要旨とする。
【００２４】
かかる発明によれば、無線インタフェースを介して受信機に転送したデータユニットの識別情報を送信機に対して通知することによって、当該送信機において、有線ネットワークにおける当該受信機宛てのデータユニットの滞留量を把握することができ、当該受信機宛てのデータユニットの送信速度を無線帯域変動に合わせて迅速に制御することができる。
【００２５】
本発明の第１の特徴において、前記送信機との間の伝送遅延と前記無線インタフェースの最大帯域変動幅とに基づいて算出された容量の前記データユニットを蓄積することができる蓄積部をさらに具備するように構成されていてもよい。
【００２６】
かかる発明によれば、無線帯域が急激に変動した場合であっても、送信機において送信速度が変更されるまでの間、受信機宛てのデータユニットを蓄積することができ、バッファ溢れの発生及び無線リンクの利用率の低下を回避することができる。
【００２７】
本発明の第１の特徴において、前記受信機が前記データユニットを受信した旨を通知する確認応答を受信する確認応答受信部を具備し、前記通知部が、前記確認応答を用いて、前記転送部によって転送された前記データユニットの識別情報を前記送信機に対して通知するように構成されていてもよい。
【００２８】
本発明の第１の特徴において、前記通知部が、前記確認応答受信部において所定数の確認応答が受信された場合に、又は、第１の所定期間が経過した場合に、前記転送部によって転送された前記データユニットの識別情報を含む前記確認応答を前記送信機に対して送信するように構成されていてもよい。
【００２９】
本発明の第１の特徴において、前記通知部が、第２の所定期間経過した場合、前記転送部によって転送された前記データユニットの識別情報を含む転送通知メッセージを生成して前記送信機に送信するように構成されていてもよい。
【００３０】
かかる発明によれば、データユニットの識別情報を送信機に通知するために必要なトラフィックを低減することができる。
【００３１】
本発明の第２の特徴は、無線インタフェースを介して受信機に接続されている通信装置に対して、有線インタフェースを介して、該受信機宛てのデータユニットを送信する送信機であって、前記無線インタフェースを介して前記通信装置から前記受信機に転送された前記データユニットの識別情報を取得する識別情報取得部と、取得した前記データユニットの識別情報に応じて、前記有線インタフェースが接続されている有線ネットワークにおける前記通信装置に対して送信された前記データユニットの滞留量を推定する滞留量推定部と、推定された前記滞留量に応じて、前記通信端末に対して前記データユニットを送信するタイミングを制御するタイミング制御部とを具備することを要旨とする。
【００３２】
かかる発明によれば、推定された有線ネットワークにおける受信機宛てのデータユニットの滞留量に応じて当該データユニットの送信タイミングを制御することによって、無線帯域が急激に変動した場合であっても、有線ネットワーク内に滞留するデータユニットを一定に維持することができ、高スループットを実現することができる。
【００３３】
本発明の第２の特徴において、前記タイミング制御部が、前記通信装置との間の伝送遅延と前記無線インタフェースの最大帯域変動幅とに基づいて算出された容量に前記滞留量を制限するように、前記通信端末に対して前記データユニットを送信するタイミングを制御するように構成されていてもよい。
【００３４】
かかる発明によれば、通信装置との間の伝送遅延と無線インタフェースの最大帯域変動幅とに基づいて算出された容量に、受信機宛てのデータユニットの優先ネットワークにおける滞留量を制限することによって、通信装置におけるバッファ溢れ及び無線リンクの利用率の低下を回避することができる。
【００３５】
本発明の第３の特徴は、無線インタフェースを介して受信機と接続されている通信装置と、有線インタフェースを介して前記通信装置と接続されている送信機とを具備する通信システムであって、前記通信装置が、前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する転送部と、前記転送部によって転送された前記データユニットの識別情報を、前記送信機に対して通知する通知部とを具備し、前記送信機が、前記無線インタフェースを介して前記通信装置から前記受信機に転送された前記データユニットの識別情報を取得する識別情報取得部と、取得した前記データユニットの識別情報に応じて、前記有線インタフェースが接続されている有線ネットワークにおける前記通信装置に対して送信された前記データユニットの滞留量を推定する滞留量推定部と、推定された前記滞留量に応じて、前記通信端末に対して前記データユニットを送信するタイミングを制御するタイミング制御部とを具備することを要旨とする。
【００３６】
本発明の第４の特徴は、送信機が、有線インタフェースを介して受信機宛てのデータユニットを、無線インタフェースを介して該受信機に接続されている通信装置に対して送信する通信方法であって、前記通信装置が、前記有線インタフェースを介して前記送信機から送信されたデータユニットを、前記無線インタフェースを介して前記受信機に転送する工程と、前記通信装置が、前記受信機に対して転送された前記データユニットの識別情報を、前記送信機に対して通知する工程と、前記送信機が、前記無線インタフェースを介して前記通信装置から前記受信機に転送された前記データユニットの識別情報を取得する工程と、前記送信機が、取得した前記データユニットの識別情報に応じて、前記有線インタフェースが接続されている有線ネットワークにおける前記通信装置に対して送信された前記データユニットの滞留量を推定する工程と、前記送信機が、推定された前記滞留量に応じて、前記通信端末に対して前記データユニットを送信するタイミングを制御する工程とを有することを要旨とする。
【発明の効果】
【００３７】
以上説明したように、本発明によれば、移動機に割り当てられる無線帯域が動的に変動する移動通信環境において、送信機におけるデータの送信速度を無線帯域変動に合わせて迅速に制御し、高いスループットを実現することが可能な通信システム、通信方法、及び、これらに用いられる送信機及び通信装置を提供することができる。
【発明を実施するための最良の形態】
【００３８】
［本発明の第１の実施形態］
［構成］
図１は、本発明の第一の実施形態に係る通信システム１００の構成を示す図である。図１に示すように、通信システム１００は、ユーザに携帯される移動機１０と、管轄する無線エリア内の移動機１０と無線ネットワーク（無線区間）を介して通信可能な基地局２０と、基地局２０が接続されるコアネットワーク（有線ネットワーク、有線区間）３０に接続されるサーバ装置４０を有する。移動機１０は、基地局２０及びコアネットワーク３０を介して、サーバ装置４０と通信可能である。
【００３９】
本実施形態に係る通信システム１００は、ＩＭＴ-２０００（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ-２０００）に準拠しており、移動機１０及び基地局２０は、ＨＳＤＰＡ方式の通信機能を実装する。移動機１０、基地局２０及びサーバ装置４０の数は、それぞれ、１以上の任意の数である。
【００４０】
なお、本実施形態では、サーバ装置４０は、コアネットワーク３０に直接接続されているが、サーバ装置４０は、インターネットに接続され、インターネットとコアネットワーク３０を接続するゲートウェイ装置を介してコアネットワーク３０に接続されてもよい。かかる場合、ゲートウェイ装置が、ＴＣＰを終端する機能を有する場合には、本発明は、サーバ装置４０の代わりにゲートウェイ装置に適用される。
【００４１】
図２は、本実施形態に係る通信システム１００の通信プロトコル構成を示す図である。図２に示すように、トランスポート層以上の層での通信は、移動機１０及びサーバ装置４０のみで終端され、ネットワーク層以下の層での通信は、通信システム１００を構成する全ての装置（例えば、サーバ装置４０、基地局３０及び移動機１０）で終端される。ただし、基地局２０は、後述のように、トランスポート層のデータユニットを操作することができる。
【００４２】
本実施形態に係る通信システム１００は、無線区間にてビット誤りに対処するための通信処理を行うため、無線区間の伝送遅延が有線区間の伝送遅延よりも大きいという通信特性を有する。また、本実施形態に係る通信システム１００は、無線帯域幅が有線帯域幅と比較して狭く動的に変動するという通信特性を有する。
【００４３】
以降の説明のために、ここで、いくつかの変数を定義する。本実施形態において、サーバ装置４０と基地局２０との間のＲＴＴを「Ｄwired」とし、基地局２０と移動機１０との間のＲＴＴを「Ｄwireless」とする。前述のように、Ｄwired＜Ｄwirelessである。また、最大無線帯域変動幅を「Ｂmax」とする。
【００４４】
図３は、基地局２０の構成を示すブロック図である。基地局２０は、有線インタフェースを介してサーバ装置（送信機）４０と接続されており、無線インタフェースを介して移動機（受信機）１０と接続されている通信装置である。
【００４５】
図３から明らかなように、基地局２０は、一般的なコンピュータと同様に、ＣＰＵ２１が、不揮発性メモリ２２に記憶されているプログラムを、ＲＡＭ２３をワークエリアとして実行することによって、各種処理を行う構成となっている。
【００４６】
また、不揮発性メモリ２２には、後述の転送通知処理を行わせるための転送通知プログラム２２１と、トランスポート層よりも下位の通信処理を行わせるプログラム（図示せず）と、プログラムの実行制御を行わせる制御プログラム（図示せず）とが記憶されている。ＣＰＵ２１は、図示しない電源が投入されると不揮発性メモリ２２から上記の制御プログラムを読み出して実行する。
【００４７】
無線部２４は、移動機１０との間で無線信号を送受信するものであり、ＣＰＵ２１から送信すべきデータが供給されると、この送信データにより変調された搬送波を無線区間へ送出し、無線区間を伝播してきた搬送波からデータを復調すると、この受信データをＣＰＵ２１に供給する。この無線部２４及びＣＰＵ２１により、移動機１０との間でのデータの送受信が行われる。
【００４８】
通信インタフェース２５は、コアネットワーク３０との間で信号を送受信するものであり、ＣＰＵ２１から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク３０へ送出し、コアネットワーク３０から供給された信号からデータを復調すると、この受信データをＣＰＵ２１に供給する。この通信インタフェース２５及びＣＰＵ２１により、サーバ装置４０との間でのデータの送受信がコアネットワーク３０を介して行われる。
【００４９】
ＣＰＵ２１は、データリンク層にて「ＲＬＣ（Ｒａｄｉｏ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）」に従って、移動機１０との間の通信処理を行う。図４は、ＲＬＣの「ＡＭ（Ａｃｋｎｏｗｌｅｄｇｅ  Ｍｏｄｅ）モード」での送信データの流れを表している。
【００５０】
図４に示すように、上位層から供給されたデータユニット（ＳＤＵ：Ｓｅｒｖｉｃｅ  Ｄａｔａ  Ｕｎｉｔ）は、まずＳＤＵバッファ２３１に格納される。ＳＤＵは、送信用キュー２３２に十分な空きがあれば、ＳＤＵバッファ２３１から取り出され、より小さなデータ単位（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）に分割された後、送信用キュー２３２に格納される。ＰＤＵは、下位層が送信可能ならば、送信用キュー２３２から取り出され、下位層に送出されるとともに、その複製が、再送用キュー２３３に格納される。これらの処理は、移動機単位で行われる。
【００５１】
ＣＰＵ２１は、転送通知処理では、ＳＤＵバッファ２３１から取り出されたＳＤＵを監視し、ＳＤＵに格納されるＴＣＰセグメントが、無線リンクに送出されたこと、すなわち、有線ネットワーク内から抜けたことをサーバ装置４０に通知する。
【００５２】
具体的には、ＣＰＵ２１は、ＳＤＵにＴＣＰセグメントが格納されている場合、ＴＣＰセグメントのデータの最初と最後のシーケンス番号を取得し、新しく生成した転送通知メッセージにそれらを格納してサーバ装置４０へ送信する。
【００５３】
これにより、サーバ装置４０は、通知されたシーケンス番号の範囲のデータが有線ネットワーク内から抜けたことが分かる。なお、ＴＣＰセグメントの送信に必要なポート番号やＩＰアドレスなどの情報は、取り出されたＳＤＵに格納されるＴＣＰ及びＩＰヘッダから取得できる。
【００５４】
また、ＳＤＵバッファ２３１のサイズは、無線帯域のいかなる変動に対してもバッファ溢れが起こらないように設定される。また、後述のように、サーバ装置４０は、基地局２０からの転送通知メッセージを受信すると、通知されたデータ量だけ新たにデータを送信する。これにより、ＴＣＰセグメントの送信速度を、基地局２０にてＴＣＰセグメントが無線リンクに送出される速度と一致させることができる。
【００５５】
しかし、実際には、無線帯域の変化が送信速度に反映されるまでには、基地局２０からサーバ装置４０までの伝送遅延時間を要し、さらに、その送信速度で基地局２０にＴＣＰセグメントが到着するまでには、サーバ装置４０から基地局２０までの伝送遅延時間がかかる。すなわち、無線帯域の変化が、基地局２０へのＴＣＰセグメントの到着速度に反映されるまでには、サーバ装置４０と基地局２０との間のＲＴＴの時間を要する。
【００５６】
従って、基地局２０は、バッファ溢れを回避するために、ＲＴＴの間、ＴＣＰセグメントの到着速度と無線帯域とのギャップを、送信バッファにて吸収する必要がある。
【００５７】
図５は、時刻「ｔ＝ｔ0」において、無線帯域が「Ｂ1」から「Ｂ2（Ｂ1＞Ｂ2）」に減少した場合の状況を表している。図５に示すように、基地局２０は、時刻「ｔ0」から「ｔ0＋Ｄwired」までの間、無線リンクへ送出することのできないデータ量、すなわち、図中の斜線部分に相当するデータ量「（Ｂ1−Ｂ2）・Ｄwired」をバッファリングする必要があることが分かる。
【００５８】
基地局２０は、いかなる無線帯域変動に対してもバッファ溢れを回避するために、ＳＤＵバッファ２３１のサイズを無線リンクの最大無線帯域変動幅「Ｂmax」とサーバ装置４０と基地局２０との間のＲＴＴ「Ｄwired」の積「Ｂmax・Ｄwired」以上に設定する。例えば、ＳＤＵバッファ２３１のサイズは「α・Ｂmax・Ｄwired」と設定される（ここで、α≧１である）。
【００５９】
上述のように、本実施形態において、基地局２０は、通信インタフェース（有線インタフェース）２５を介してサーバ装置（送信機）４０から送信されたＳＤＵ（データユニット）を、無線部（無線インタフェース）２４を介して移動機（受信機）１０に転送する転送部（通信プログラム）を具備している。
【００６０】
また、基地局２０は、無線区間を介して移動機（受信機）１０に転送されたデータユニットの識別情報（例えば、ＴＣＰセグメントのシーケンス番号、又は、ＴＣＰセグメントを構成するデータのシーケンス番号）を、サーバ装置（送信機）４０に対して通知する通知部（転送通知プログラム）を具備する。
【００６１】
さらに、基地局２０は、サーバ装置（送信機）４０との間の伝送遅延（例えば、ＲＴＴ「Ｄwired」）と無線部（無線インタフェース）２４における最大帯域変動幅（例えば「Ｂmax」）とに基づいて算出された容量（例えば「（Ｂ1−Ｂ2）・Ｄwired」）のデータユニットを蓄積することができる蓄積部（送信バッファ）を具備する。
【００６２】
図６は、サーバ装置４０の構成を示すブロック図である。図６から明らかなように、サーバ装置４０は、一般的なコンピュータと同様に、ＣＰＵ４１が不揮発性メモリ４２に記憶されているプログラムを、ＲＡＭ４３をワークエリアとして実行し、これにより各種処理を行う構成となっている。
【００６３】
また、不揮発性メモリ４２には、一般的なＴＣＰに従う通信処理と、後述の輻輳制御処理とをトランスポート層にて行わせるための通信プログラム４２１と、トランスポートよりも下位の通信処理を行わせるプログラム（図示せず）と、プログラムの実行制御を行わせる制御プログラム（図示せず）とが記憶されている。ＣＰＵ４１は、図示しない電源が投入されると不揮発性メモリ４２から上記の制御プログラムを読み出して実行する。
【００６４】
通信インタフェース４４は、コアネットワーク３０との間で信号を送受信するものであり、ＣＰＵ４１から送信すべきデータが供給されると、この送信データにより変調された信号をコアネットワーク３０へ送出し、コアネットワーク３０から供給された信号からデータを復調すると、この受信データをＣＰＵ４１に供給する。通信インタフェース４４及びＣＰＵ４１により、移動機１０との間でのデータの送受信がコアネットワーク３０を介して行われる。
【００６５】
制御プログラムを実行中のＣＰＵ４１は、移動機１０からの要求に応じて、通信プログラム４２１を不揮発性メモリ４２から読み出して実行する。これにより、ＣＰＵ４１は、トランスポート層にて一般的なＴＣＰに従う通信処理と、以下に述べる輻輳制御処理を行う。
【００６６】
ＣＰＵ４１は、輻輳制御処理では、有線区間（有線ネットワーク）内に滞留する移動機１０宛てのデータ量を推定し、当該データの滞留量が一定になるように制御する。ＣＰＵ４１は、基地局２０からの転送通知メッセージに基づいて、当該データの滞留量の推定を行う。
【００６７】
サーバ装置４０は、転送通知メッセージにより通知された基地局２０から移動機１０に転送されたデータユニットの識別情報（ＴＣＰセグメントを構成するデータのシーケンス番号）を、ＲＡＭ４３の状態領域４３１内のテーブルにて管理する。
【００６８】
具体的には、図７に示すように、かかるＲＡＭ４３の状態領域４３１内のテーブルは、ＴＣＰセグメントを構成するデータのシーケンス番号（「ＨｉｇｈＡＣＫ」から「ＨｉｇｈＤａｔｅ」まで）と、かかるデータの状態とを関連付けて記憶するものである。
【００６９】
ここで、「ＨｉｇｈＡＣＫ」は、移動機１０において受信確認されたデータ（ＡＣＫが送信されたデータ）の最大シーケンス番号に「１」を加えたシーケンス番号を表す。また、「ＨｉｇｈＤａｔｅ」は、サーバ装置４０から送信された移動機１０宛てのデータの最大シーケンス番号を表す。また、転送通知メッセージによって通知されたシーケンス番号の状態が「Ｆ」と記される。
【００７０】
図７の例では、「ＨｉｇｈＡＣＫ」＝１００００であり、「ＨｉｇｈＤａｔｅ」＝２４９９９である。シーケンス番号１００００乃至１１９９９、１３０００乃至１４９９９、１６０００乃至１９９９９のデータが、既に基地局２０から無線ネットワークに転送されて有線ネットワークから抜けたことを示している。
【００７１】
ＣＰＵ４１は、輻輳制御処理において、基地局２０からの転送通知メッセージを受信すると、上述のテーブルをスキャンして、状態が「Ｆ」でないデータ量をカウントし、カウントされたデータ量を有線ネットワークにおける移動機１０あてに送信されたデータの滞留量と推定する。
【００７２】
推定されたデータの滞留量Ｔが、予め設定された輻輳ウィンドウサイズＷよりも小さければ、ＣＰＵ４１は、Ｗ−Ｔの量のデータを新たに送信する。これにより、ＣＰＵ４１は、有線ネットワーク内に滞留するデータ量を一定量に制御することが可能となる。
【００７３】
輻輳ウィンドウサイズＷは、無線帯域のいかなる変動に対しても無線リンクのスループットが低下しないように設定される。
【００７４】
図８は、時刻「ｔ＝ｔ0」において、無線帯域が「Ｂ1」から「Ｂ2（Ｂ1＜Ｂ2）」に増加した場合の状況を表している。図８に示すように、ＴＣＰセグメントの到着速度が無線帯域「Ｂ2」に一致するまで、サーバ装置４０と基地局２０との間のＲＴＴ「Ｄwired」がかかり、その間、「Ｂ2−Ｂ1」の無線帯域が未使用となる。
【００７５】
ここで、無線リンクの利用率を低下させないためには、未使用分のデータ量、すなわち、図中の斜線部分に相当するデータ量「（Ｂ2−Ｂ1）・Ｄwired」を予め有線区間に滞留させておく必要がある。
【００７６】
いかなる無線帯域変動に対しても無線リンクの利用率を低下させないために、輻輳ウィンドウサイズＷを無線リンクの最大帯域変動幅「Ｂmax」と、サーバ装置４０と基地局２０との間のＲＴＴ「Ｄwired」との積「Ｂmax・Ｄwired」以上に設定する。すなわち、Ｗ＝β・Ｂmax・Ｄwiredとする（ここで、１≦β≦αである）。
【００７７】
上述の輻輳制御処理は、標準的なＴＣＰに実装されるフロー・輻輳制御処理とは独立に行われる。ただし、サーバ装置４０は、上述の輻輳制御処理によってＴＣＰセグメントの送信が許可された場合でも、標準的なＴＣＰに実装されるフロー・輻輳制御処理によって送信が制限されるときには、ＴＣＰセグメントの送信を行わない。
【００７８】
本実施形態において、サーバ装置４０は、基地局（通信装置）２０から移動機（受信機）１０に転送されたデータユニットの識別情報（ＴＣＰセグメントを構成するデータのシーケンス番号）を取得する識別情報取得部を具備する。
【００７９】
また、サーバ装置４０は、基地局２０から転送通知メッセージによって取得したデータユニットの識別情報（ＴＣＰセグメントを構成するデータのシーケンス番号）に応じて、通信インタフェース（有線インタフェース）４４が接続されている有線ネットワーク（有線区間）における基地局（通信装置）２０に対して送信されたデータユニット（ＴＣＰセグメント）の滞留量を推定する滞留量推定部を具備する。
【００８０】
また、サーバ装置４０は、推定されたデータユニットの滞留量に応じて、基地局（通信端末）２０に対してデータユニット（ＴＣＰセグメント）を送信するタイミングを制御するタイミング制御部を具備する。
【００８１】
具体的には、かかるタイミング制御部は、基地局（通信装）２０との間の伝送遅延（例えば、ＲＴＴ「Ｄwired」）と、基地局２０における無線部（無線インタフェース）２４の最大帯域変動幅（例えば「Ｂmax」）とに基づいて算出された容量（例えば「（Ｂ1−Ｂ2）・Ｄwired」）に、上述の有線ネットワークにおける基地局（通信装置）２０に対して送信されたデータユニットの滞留量を制限するように、基地局（通信端末）２０に対してデータユニットを送信するタイミングを制御する。
【００８２】
［動作］
図９乃至図１１を参照して、上述した構成の通信システム１００の動作について説明する。ただし、移動機１０とサーバ装置４０との間には、基地局２０を中継装置としてＴＣＰコネクションが確立されているものとする。
【００８３】
よって、以降の説明において、基地局２０のＣＰＵ２１は、既に不揮発性メモリ２２から制御プログラム及び転送通知プログラム２２１を読み出して実行しており、サーバ装置４０のＣＰＵ４１は、既に不揮発性メモリ４２から制御プログラム及び通信プログラム４２１を読み出して実行しているものとする。
【００８４】
また、以降の動作例では、通信システム１００の有線区間及び無線区間のＲＴＴを、それぞれ１０ｍｓｅｃ及び５０ｍｓｅｃに、最大無線帯域及び最小無線帯域を、それぞれ１．６Ｍｂｐｓ及び１６０ｋｂｐｓに想定した。これらの値は、説明の容易さから選んだもので、ＩＭＴ-２０００に準拠した移動通信システムで実際に用いられる値とは異なる。
【００８５】
通信システム１００の特性から、基地局２０のＳＤＵバッファサイズ及びサーバ装置４０の輻輳ウィンドウサイズ「Ｗ」は、共に２Ｋｂｙｔｅ（≧｛（１,６００,０００−１６０,０００）×０.０１｝/８）に設定される。
【００８６】
また、本実施形態では、ＴＣＰの初期シーケンス番号（ｉｓｓ）を「０」とし、最大セグメントサイズ（ＭＳＳ）を「１Ｋｂｙｔｅ」とし、初期輻輳ウィンドウサイズを「１Ｋｂｙｔｅ」ととし、ＴＣＰコネクションの送受信バッファは、十分に大きく、ＴＣＰセグメントの送信は、標準的なＴＣＰに実装されるフロー制御処理によっては制限されないものとした。
【００８７】
まず、以降の説明において参照する新たな図面について説明する。図９は、転送通知プログラム２２１を実行中のＣＰＵ２１により行われる転送通知処理の流れを示すフローチャートである。図１０は、通信プログラム４２１を実行中のＣＰＵ４１により行われる輻輳制御処理の流れを示すフローチャートである。図１１は、通信システム１００により行われる通信の一例を示すシーケンス図である。
【００８８】
図１１において、サーバ装置４０側には、括弧外に下線無しで表記されている「有線ネットワーク内に送信されるＴＣＰセグメントのシーケンス番号」と、括弧外に下線付きで表記されている「転送通知メッセージにより通知されたデータのシーケンス番号」と、括弧内の左側に表記されている「転送通知メッセージ受信後又はデータ送信後の有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」の値」と、括弧内の右側に表記されている「標準的なＴＣＰの輻輳ウィンドウサイズ」とが記載されている。
【００８９】
また、移動機１０側には、サーバ装置４０から送信されたデータユニットを受信した旨を通知する確認応答ＡＣＫの番号が記載されている。また、基地局２０側には、送信バッファに蓄積されているＴＣＰセグメントのシーケンス番号が記載されている。
【００９０】
また、図１１に示すように、通信システム１００の無線帯域は、時刻「ｔ1」において「１６０Ｋｂｐｓ」から「１.６Ｍｂｐｓ」に変動し、時刻「ｔ2」において「１.６Ｍｂｐｓ」から「１６０Ｋｂｐｓ」に変動する。
【００９１】
以下、図１１に示す通信システム１００により行われる通信について、図９に示す基地局２０の動作及び図１０に示すサーバ装置４０の動作を参照しながら説明する。
【００９２】
サーバ装置４０のＣＰＵ４１は、移動機１０からの要求によりＴＣＰコネクションを確立すると、有線ネットワークにおける移動機１０宛てに送信されたデータの滞留量「Ｔ」を「０」と設定し、輻輳ウィンドウ「Ｗ」を初期輻輳ウィンドウ「Ｗ0（＝２Ｋｂｙｔｅ）」と設定するとともに、ＲＡＭ４３内の状態領域４３１におけるテーブルを初期化する（図１０のステップＳＢ１）。
【００９３】
ＣＰＵ４１は、有線ネットワーク内に送信可能なデータ量「Ｗ−Ｔ」が最大セグメントサイズ（ＭＳＳ）以上であるか否かを判定する（図１０のステップＳＢ４）。
【００９４】
ここで、「Ｗ−Ｔ（＝２０００）」≧「ＭＳＳ（＝１０００）」であるから、ＣＰＵ４１は、標準的なＴＣＰのフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【００９５】
標準的なＴＣＰに実装される輻輳制御処理の初期ウィンドウサイズは「１Ｋｂｙｔｅ」であり、フロー制御処理は、いかなる場合もデータの送信を制限しないと想定しているため、ＣＰＵ４１は、シーケンス番号「０」、データサイズ「１Ｋｂｙｔｅ」のＴＣＰセグメントを送信する（図１０のステップＳＢ６、図１１のサーバ装置４０側における「０（１０００，１０００）」）。
【００９６】
また、ＣＰＵ４１は、送信したＴＣＰセグメントを構成するデータのシーケンス番号「０乃至９９９」を示す状態データをＲＡＭ４２内の状態領域４２１におけるテーブルに書き込むとともに、上述のデータの滞留量「Ｔ」を「１０００」に更新する。ここで、ＴＣＰセグメントを構成する各データのデータ量は「１ｂｙｔｅ」であるものとする（図１０のステップＳＢ６）。
【００９７】
さらに、ＣＰＵ４１は、次のＴＣＰセグメントが送信可能であるか否か、すなわち、送信可能なデータ量「Ｗ−Ｔ」が最大セグメントサイズ「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。
【００９８】
ここで、「Ｗ−Ｔ（＝１０００）」≧１０００であるから、ＣＰＵ４１は、標準的なＴＣＰのフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【００９９】
標準的なＴＣＰに実装される輻輳制御処理の初期ウィンドウサイズは「１Ｋｂｙｔｅ」であり、１Ｋｂｙｔｅのデータ（ＴＣＰセグメント）が既に送信されているため、ＣＰＵ４１は、かかるＴＣＰセグメント（シーケンス番号「１０００」）の送信を見送る。
【０１００】
一方、基地局２０のＣＰＵ２１は、ＳＤＵとして供給されたシーケンス番号「０」のＴＣＰセグメントをＳＤＵバッファ２３１に格納する。
【０１０１】
ＣＰＵ２１は、ＳＤＵバッファ２３１には、先に格納された送信待ちのＳＤＵがないため、直ちにＳＤＵを取り出し（図９のステップＳＡ１）、ＳＤＵに格納されているデータユニットがＴＣＰセグメントか否かを判定する（図９のステップＳＡ２）。
【０１０２】
ここで、ＳＤＵに格納されているデータユニットは、ＴＣＰセグメント（シーケンス番号「０」）であるため、ＣＰＵ２１は、かかるＴＣＰセグメントに格納されているデータの最初のシーケンス番号「０」及び最後のシーケンス番号「９９９」を取得し、かかるシーケンス番号が格納された転送通知メッセージを新しく生成してサーバ装置４０に送信する（図９のステップＳＡ３）。
【０１０３】
また、ＣＰＵ２１は、ＳＤＵバッファ２３１から取り出されたＳＤＵを複数のＰＤＵに分割し、送信用キュー２３２に格納する。さらに、ＣＰＵ２１は、送信用キュー２３２に格納されたＰＤＵを、順に下位層に送出する（図１１の「ＰＤＵ（０）」）。ＣＰＵ２１がＰＤＵを下位層に送出することは、ＰＤＵを無線リンクに送出することに等しい。
【０１０４】
サーバ装置４０のＣＰＵ４１は、基地局２０からの転送通知メッセージを受信すると、ＲＡＭ４３の状態領域４３１に記録されているテーブルにおいて、当該転送通知メッセージによって通知されたデータのシーケンス番号「０乃至９９９」に対応する状態を「Ｆ」に上書きする（図１０のステップＳＢ２、図１１のサーバ装置４０側における「０-９９９（２０００，１０００）」）。
【０１０５】
ＣＰＵ４１は、更新されたテーブルをスキャンして、ＴＣＰセグメントの有線ネットワークにおける滞留量「Ｔ」が「０」であることを推定し（図１０のステップＳＢ３）、有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。
【０１０６】
ここで、「Ｗ−Ｔ（＝２０００）」≧「１０００」であるから、ＣＰＵ４１は、標準的なＴＣＰのフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【０１０７】
ここで、標準的なＴＣＰに実装される輻輳制御処理のウィンドウサイズは「１Ｋｂｙｔｅ」であり、１Ｋｂｙｔｅのデータが既に送信されているため、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「１０００」）の送信を見送る。
【０１０８】
図１１に示すように、移動機１０は、シーケンス番号「０」のＴＣＰセグメント（複数のＰＤＵ（０））を受信すると、直ちに、サーバ装置４０から送信されたデータユニットを受信した旨を通知する確認応答ＡＣＫを返送する。かかるＡＣＫに係るＡＣＫ番号には、次に受信を期待するＴＣＰセグメントのシーケンス番号「１０００」が記される。
【０１０９】
ＡＣＫは、基地局２０により転送され、サーバ装置４０に到着する。サーバ装置４０のＣＰＵ４１は、ＡＣＫ番号「１０００」のＡＣＫを受信すると、標準的なＴＣＰの輻輳制御処理に基づいて輻輳ウィンドウを「２０００」に増加させる。
【０１１０】
また、ＣＰＵ４１は、ＡＣＫにより受信確認されたシーケンス番号「０乃至９９９」とその状態「Ｆ」を示す状態とからなるレコードを、ＲＡＭ４３の状態領域４３１内のテーブルから削除する（図１０のステップＳＢ２）。
【０１１１】
ＣＰＵ４１は、かかるテーブルをスキャンして、ＴＣＰセグメントの有線ネットワーク内の滞留量「Ｔ」が「０」であると推定し（図１０のステップＳＢ３）、有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。
【０１１２】
ここで、「Ｗ−Ｔ（＝２０００）」≧「１０００」であるから、ＣＰＵ４１は、標準的なＴＣＰフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【０１１３】
標準的なＴＣＰに実装される輻輳制御処理のウィンドウサイズは「２０００」であり、先に送信したシーケンス番号「０」のＴＣＰセグメントは受信確認されているため、ＣＰＵ４１は、シーケンス番号「１０００」のＴＣＰセグメントを新たに送信する（図１０のステップＳＢ６、図１１のサーバ装置４０側における「１０００（１０００，２０００）」）。
【０１１４】
また、ＣＰＵ４１は、送信したシーケンス番号「１０００乃至１９９９」のデータに係るレコードを、ＲＡＭ４３の状態領域４３１内のテーブルに書き込むとともに、有線ネットワーク内のデータの滞留量「Ｔ」を「１０００」に更新する（図１０のステップＳＢ６、図１１のサーバ装置４０側における「１０００-１９９９（１０００，２０００）」）。
【０１１５】
さらに、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「２０００」）が送信可能か否か、すなわち、送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。
【０１１６】
ここで、「Ｗ−Ｔ（＝１０００）」≧「１０００」であるから、ＣＰＵ４１は、標準的なＴＣＰのフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【０１１７】
ここで、標準的なＴＣＰに実装される輻輳制御処理のウィンドウサイズは「２０００」であり、先に送信されたＴＣＰセグメントのデータ量は「１Ｋｂｙｔｅ」であるため、ＣＰＵ４１は、シーケンス番号「２０００」のＴＣＰセグメントを送信する（図１０のステップＳＢ６、図１１のサーバ装置４０側における「２０００（０，２０００）」）。
【０１１８】
また、ＣＰＵ４１は、送信したシーケンス番号「２０００乃至２９９９」のデータに係るレコードを、ＲＡＭ４３の状態領域４３１内のテーブルに書き込むとともに、有線ネットワークにおけるデータの滞留量「Ｔ」を「２０００」に更新する（図１０のステップＳＢ６）。
【０１１９】
さらに、ＣＰＵ４１は、送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。ここで、「Ｗ−Ｔ（＝０）」＜「１０００」であるから、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「３０００」）の送信を中止する。
【０１２０】
基地局２０のＣＰＵ２１は、ＳＤＵとして供給されたシーケンス番号「１０００」のＴＣＰセグメントをＳＤＵバッファ２３１に格納する。ＳＤＵバッファ２３１には、先に格納された送信待ちのＳＤＵがないため、ＣＰＵ２１は、直ちにＳＤＵを取り出し（図９のステップＳＡ１）、ＳＤＵに格納されているデータユニットがＴＣＰセグメントか否かを判定する（図９のステップＳＡ２）。
【０１２１】
ここで、ＳＤＵに格納されているデータユニットは、ＴＣＰセグメントであるため、ＣＰＵ２１は、ＴＣＰセグメントに格納されているデータの最初のシーケンス番号「１０００」及び最後のシーケンス番号「１９９９」を取得し、かかるシーケンス番号が格納された転送通知メッセージを新しく生成してサーバ装置４０に送信する（図９のステップＳＡ３）。
【０１２２】
また、ＣＰＵ２１は、ＳＤＵバッファ２３１から取り出されたＳＤＵを複数のＰＤＵに分割し、送信用キュー２３２に格納する。さらに、ＣＰＵ２１は、送信用キュー２３２に格納されたＰＤＵを、順に下位層に送出する（図１１のＰＤＵ（１０００））。
【０１２３】
さらに、基地局２０のＣＰＵ２１は、ＳＤＵとして供給されたシーケンス番号「２０００」のＴＣＰセグメントをＳＤＵバッファ２３１に格納する。ただし、今回は、先のシーケンス番号「１０００」のＴＣＰセグメントを格納するＳＤＵが送信中であるため、ＣＰＵ２１は、ＳＤＵを取り出さない。すなわち、シーケンス番号「２０００」のＴＣＰセグメントを格納するＳＤＵは、ＳＤＵバッファ２３１にて送信待ちの状態となる（図１１の基地局２０側における「２０００」）。
【０１２４】
以上のようにして、サーバ装置４０のＣＰＵ４１は、シーケンス番号「１３０００」のＴＣＰセグメントまでを順次送信し、輻輳ウィンドウを「１２０００」まで増加させる。
【０１２５】
ただし、有線ネットワーク内に滞留するデータ量は、輻輳制御処理により輻輳ウィンドウサイズ「Ｗ（＝２０００）」以下に維持され、無線帯域が小さい状況でも、基地局２０におけるバッファ溢れが回避されている。
【０１２６】
移動機１０が、シーケンス番号「１１０００」のＴＣＰセグメント（複数のＰＤＵ（１１０００））を受信し、ＡＣＫ番号「１２０００」のＡＣＫを返送した後、時刻「ｔ1」において、無線帯域が「１６０Ｋｂｐｓ」から「１.６Ｍｂｐｓ」に増加する。
【０１２７】
基地局２０のＣＰＵ２１は、時刻「ｔ＝ｔ1」において、シーケンス番号「１２０００」のＴＣＰセグメントを格納するＳＤＵをＳＤＵバッファ２３１から取り出し（図９のステップＳＡ１）、ＳＤＵに格納されているデータユニットがＴＣＰセグメントか否かを判定する（図９のステップＳＡ２）。
【０１２８】
ＳＤＵに格納されるデータユニットは、ＴＣＰセグメントであるため、ＣＰＵ２１は、ＴＣＰセグメントに格納されるデータの最初シーケンス番号「１２０００」及び最後のシーケンス番号「１２９９９」を取得し、かかるシーケンス番号が格納された転送通知メッセージを新しく生成してサーバ装置４０に送信する（図９のステップＳＡ３）。
【０１２９】
また、ＣＰＵ２１は、ＳＤＵバッファ２３１から取り出されたＳＤＵをＰＤＵに分割し、送信用キュー２３２に格納する。さらに、送信用キュー２３２に格納されたＰＤＵを、順に下位層に送出する。ＰＤＵは、以前の１０倍の速さで無線リンクに送出される。
【０１３０】
サーバ装置４０のＣＰＵ４１は、基地局２０からの転送通知メッセージを受信すると、ＲＡＭ４３の状態領域４３１に記録されているテーブルにおいて、当該転送通知メッセージによって通知されたデータのシーケンス番号「１２０００乃至１２９９９」に対応する状態を「Ｆ」に上書きする（図１０のステップＳＢ２、図１１のサーバ装置４０側における１２０００-１２９９９（１０００，１２０００））。
【０１３１】
次に、ＣＰＵ４１は、更新されたテーブルをスキャンして、ＴＣＰセグメントのネットワーク内のデータの滞留量「Ｔ」を「１０００」と推定し（図１０のステップＳＢ３）、有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。
【０１３２】
ここで、「Ｗ−Ｔ（＝１０００）」≧「１０００」であるから、ＣＰＵ４１は、標準的なＴＣＰのフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【０１３３】
標準的なＴＣＰに実装される輻輳制御処理のウィンドウサイズは「１２０００」であり、これまでに送信したデータのうち、受信確認されていないのは、シーケンス番号「１１０００」、「１２０００」及び「１３０００」のＴＣＰセグメントにて送信された「３Ｋｂｙｔｅ」のデータであるため、ＣＰＵ４１は、シーケンス番号「１４０００」のＴＣＰセグメントを新たに送信する（図１０のステップＳＢ６、図１１のサーバ装置４０側における１４０００（０，１２０００））。
【０１３４】
また、ＣＰＵ４１は、送信したシーケンス番号「１４０００乃至１４９９９」のデータに係るレコードを、ＲＡＭ４３の状態領域４３１内のテーブルに書き込むとともに、有線ネットワークにおけるデータの滞留量「Ｔ」を「２０００」に更新する（図１０のステップＳＢ６）。
【０１３５】
これ以上、有線ネットワークに送信可能なデータはないため、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「１５０００」）の送信を中止する（図１０のステップＳＢ４：ＮＯ）。
【０１３６】
基地局２０のＣＰＵ２１は、シーケンス番号「１４０００」のＴＣＰセグメントを受信する前に、シーケンス番号「１３０００」のＴＣＰセグメントを格納するＳＤＵを無線リンクへ送出し、ＳＤＵの格納するＴＣＰセグメントに対する転送通知メッセージをサーバ装置４０へ送信する（図９のステップＳＡ１、ステップＳＡ２：ＹＥＳ，ステップＳＡ３）。
【０１３７】
サーバ装置４０のＣＰＵ４１は、基地局２０からの転送通知メッセージを受信すると、ＲＡＭ４３の状態領域４３１に記憶されているテーブルにおいて、当該転送通知メッセージによって通知されたシーケンス番号「１３０００乃至１３９９９」に対応する状態を「Ｆ」に上書きし（図１０のステップＳＢ２）、更新されたテーブルをスキャンして推定した有線ネットワーク内のデータの滞留量「Ｔ（＝１０００）」に基づいて、有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ３、ステップＳＢ４）。
【０１３８】
ここで、「Ｗ−Ｔ（＝１０００）」≧「１０００」であるから、ＣＰＵ４１は、標準的なＴＣＰのフロー・輻輳制御処理がデータの送信を許可しているか否かを判定する（図１０のステップＳＢ５）。
【０１３９】
標準的なＴＣＰに実装される輻輳制御処理によってＴＣＰセグメントの送信は制限されていないため、ＣＰＵ４１は、シーケンス番号「１５０００」のＴＣＰセグメントを新たに送信する（図１０のステップＳＢ６、図１１のサーバ装置４０側の１５０００（０，１２０００））。
【０１４０】
また、ＣＰＵ１４は、送信したシーケンス番号「１５０００乃至１５９９９」のデータに係るレコードを、ＲＡＭ４３の状態領域４３１内のテーブルに書き込むとともに、有線ネットワーク内のデータの滞留量「Ｔ」を「２０００」に更新する（図１０のステップＳＢ６）。
【０１４１】
これ以上、有線ネットワークに送信可能なデータはないため、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「１６０００」）の送信を中止する（図１０のステップＳＢ４：ＮＯ）。
【０１４２】
基地局２０のＣＰＵ２１は、シーケンス番号「１３０００」のＴＣＰセグメントを格納するＳＤＵを無線リンクへ送出した直後に、シーケンス番号「１４０００」のＴＣＰセグメントを格納したＳＤＵを受け取る。
【０１４３】
そして、ＣＰＵ２１は、かかるＳＤＵに格納されていたＴＣＰセグメント（シーケンス番号「１３０００」）に対する転送通知メッセージをサーバ装置４０に送信すると共に、受け取ったＳＤＵ（ＴＣＰセグメント「１４０００」）を移動機１０に送信する（図９のステップＳＡ１、ステップＳＡ２：ＹＥＳ、ステップＳＡ３）。
【０１４４】
以上のようにして、サーバ装置４０のＣＰＵ４１は、基地局２０からの転送通知メッセージの受信を契機として、シーケンス番号「３００００」のＴＣＰセグメントまで高速に送信する。これにより、無線帯域の急激な増加にもかかわらず、無線リンクの利用率は「１」に維持されている。
【０１４５】
サーバ装置４０のＣＰＵ４１が、シーケンス番号「２９０００」のＴＣＰセグメントを送信した後、時刻「ｔ＝ｔ2」において、無線帯域が「１.６Ｍｂｐｓ」から「１６０Ｋｂｐｓ」に減少する。
【０１４６】
図１１に示すように、サーバ装置４０のＣＰＵ４１は、シーケンス番号「３００００」のＴＣＰセグメントを送信した後（図１１のサーバ装置４０側における３００００（０，２００００））、ＡＣＫ番号「２００００」のＡＣＫを受信する。
【０１４７】
かかる場合、ＣＰＵ４１は、標準的なＴＣＰの輻輳制御処理のウィンドウサイズを「２１０００」に増加させる（図１０のステップＳＢ２、図１１のサーバ装置４０側における（０，２１０００））。
【０１４８】
また、ＣＰＵ４１は、ＡＣＫにより受信確認されたシーケンス番号「１９０００乃至１９９９９」にかかるレコード（その状態は「Ｆ」）を、ＲＡＭ４３の状態領域４３１内のテーブルから削除する（図１０のステップＳＢ２）。
【０１４９】
この時点で、ＲＡＭ４３の状態領域４３１内のテーブルには、シーケンス番号「２００００乃至３０９９９」のレコードが書き込まれている。なお、シーケンス番号２００００乃至２８９９９」に対応する状態は「Ｆ」である。
【０１５０】
次に、ＣＰＵ４１は、かかるテーブルをスキャンして、ＴＣＰセグメントのネットワーク内に置ける滞留量「Ｔ」が「０」であると推定し（図１０のステップＳＢ３）、有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」が「ＭＳＳ」以上であるか否かを判定する（図１０のステップＳＢ４）。
【０１５１】
ここで、「Ｗ−Ｔ（＝０）」＜「１０００」であるから、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「３１０００」）の送信を行わない。
【０１５２】
以上のようにして、サーバ装置４０のＣＰＵ４１は、ＡＣＫ番号「２８０００」までのＡＣＫを受信し、標準的なＴＣＰの輻輳制御処理のウィンドウサイズを「２９０００」まで増加させる（図１１のサーバ装置４０側に置ける（０，２９０００））。
【０１５３】
また、ＡＣＫにより受信確認されたシーケンス番号「２００００乃至２７９９９」に係るレコードを、ＲＡＭ４３の状態領域４３１内のテーブルから削除する（図１０のステップＳＢ２）。
【０１５４】
ここで、有線ネットワークに送信可能なデータ量「Ｗ−Ｔ」は「０」のままであるから、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「３１０００」）の送信を行わない（図１０のステップＳＢ３，ステップＳＢ４：ＮＯ）。
【０１５５】
基地局２０のＣＰＵ２１は、ＡＣＫ番号「２８０００」のＡＣＫをサーバ装置４０へ転送した後、シーケンス番号「２９０００」のＴＣＰセグメントを格納するＳＤＵを無線リンクへ送出し、このＴＣＰセグメントに対する転送通知メッセージをサーバ装置４０へ送信する（図９のステップＳＡ１、ステップＳＡ２：ＹＥＳ、ステップＳＡ３）。
【０１５６】
サーバ装置４０のＣＰＵ４１は、シーケンス番号「２９０００」のＴＣＰセグメントに対する転送通知メッセージを受信すると、ＲＡＭ４３の状態領域４３１に記録されるテーブルにおいて、当該転送通知メッセージによって通知されたシーケンス番号「２９０００乃至２９９９９」に対応する状態を「Ｆ」に上書きする（図１０のステップＳＢ２）。
【０１５７】
これにより、データの有線ネットワーク内における滞留量「Ｔ」は「１０００」となり、新たに「１Ｋｂｙｔｅ」のデータ送信が可能となる（図１０のステップＳＢ３、ステップＳＢ４：ＹＥＳ、ステップＳＢ５：ＹＥＳ、図１１のサーバ装置４０側における２９０００-２９９９９（１０００，３００００））。
【０１５８】
ＣＰＵ４１は、シーケンス番号「３１０００」のＴＣＰセグメントを送信し（図１１のサーバ装置４０側における３１０００（０，３００００））、送信したシーケンス番号「３１０００乃至３１９９９」のデータに係るレコードを、ＲＡＭ４３の状態領域４３１内のテーブルに書き込むとともに、有線ネットワーク内のデータの滞留量「Ｔ」を「２０００」に更新する（図１０のステップＳＢ６）。
【０１５９】
これ以上、有線ネットワークに送信可能なデータはないため、ＣＰＵ４１は、次のＴＣＰセグメント（シーケンス番号「３２０００」）の送信を中止する（図１０のステップＳＢ４：ＮＯ）。
【０１６０】
ＣＰＵ４１が、次にデータの送信が可能となるのは、基地局２０からシーケンス番号「３００００」のＴＣＰセグメントに対する転送通知メッセージを受信した後である。
【０１６１】
以上のように、サーバ装置４０のＣＰＵ４１は、ＴＣＰセグメントの送信速度をすばやく絞ることにより、無線帯域の急激な減少にもかかわらず、基地局２０におけるバッファ溢れを回避することができる。上述のように、基地局２０のＳＤＵバッファ２３１に格納されるＳＤＵの数は、高々２つであることが分かる。
【０１６２】
以上の実施形態から、本発明により、データユニットの送信速度が、動的に変動する無線帯域に合わせて迅速に制御され、無線リンクの利用率低下、及び基地局２０におけるバッファ溢れが回避されるという効果が実現されていることが分かる。
【０１６３】
本実施形態にかかる通信システムによれば、無線部（無線インタフェース）２４を介して移動機（受信機）１０に転送したデータユニットの識別情報（ＴＣＰセグメントを構成するデータのシーケンス番号）をサーバ装置（送信機）４０に対して通知することによって、サーバ装置４０において、有線ネットワークにおける移動機１０宛てのデータユニットの滞留量「Ｔ」を把握することができ、移動機１０宛てのデータユニットの送信速度を無線帯域変動に合わせて迅速に制御することができる。
【０１６４】
また、本実施形態にかかる通信システムによれば、無線帯域が急激に変動した場合であっても、サーバ装置４０において送信速度が変更されるまでの間、移動機１０宛てのデータユニット（ＴＣＰセグメント）を蓄積することができ、バッファ溢れの発生及び無線リンクの利用率の低下を回避することができる。
【０１６５】
また、本実施形態にかかる通信システムによれば、推定された有線ネットワークにおける移動機１０宛てのデータユニットの滞留量「Ｔ」に応じて当該データユニットの送信タイミングを制御することによって、無線帯域が急激に変動した場合であっても、有線ネットワーク内に滞留するデータユニットを一定に維持することができ、高スループットを実現することができる。
【０１６６】
［本発明の第２の実施形態］
［構成］
図１２は、本発明の第２の実施形態に係る通信システム２００の構成を示す図である。本実施形態に係る通信システム２００が上述の第１の実施形態に係る通信システム１００と異なる点は、基地局２０に代えて基地局５０を有する点である。基地局５０の通信プロトコル構成は、基地局２０と同一である。
【０１６７】
図１３は、基地局５０の構成を示すブロック図である。基地局５０の構成が基地局２０の構成と異なる点は、不揮発性メモリ２２が転送通知プログラム２２１に代えて転送通知プログラム５２１を記憶している点と、ＲＡＭ２３に状態領域５３１が確保されている点である。
【０１６８】
以下では、主として、転送通知プログラム５２１を実行中のＣＰＵ２１が行う転送通信処理のうち、転送通知プログラム２２１を実行中のＣＰＵ２１が行う転送通知処理と異なる部分について説明する。
【０１６９】
転送通知プログラム５２１を実行中のＣＰＵ２１は、サーバ装置４０に対して送信する転送通知メッセージによるトラフィックを低減するために、移動機１０からサーバ装置４０へ送信されるＡＣＫ（移動機（受信機）１０がデータユニット（ＰＤＵ）を受信した旨を通知する確認応答）を利用して、無線部２４を介して移動機１０に対して転送したデータユニットの識別情報（例えば、ＴＣＰセグメントを構成するデータのシーケンス番号）の通知を行う。
【０１７０】
ＣＰＵ２１は、ＴＣＰセグメントを格納するＳＤＵをＳＤＵバッファ２３１から取り出すと、ＳＤＵに格納されるＴＣＰセグメントを構成するデータの最初のシーケンス番号及び最後のシーケンス番号を取得し、かかるシーケンス番号を示す状態データをＲＡＭ２３の状態領域５３１に書き込む。
【０１７１】
また、ＣＰＵ２１は、移動機１０からサーバ装置４０宛てに送信されたＡＣＫを受信すると、ＲＡＭ２３の状態領域５３１から、上述のシーケンス番号を示す状態データを読み取り、かかるシーケンス番号をＡＣＫに書き込んでサーバ装置４０へ送信すると同時に、ＲＡＭ２３の状態領域５３１からかかるシーケンス番号を削除する。
【０１７２】
ＣＰＵ２１は、移動機１０からＡＣＫを受信したとき、ＲＡＭ２３の状態領域５３１にシーケンス番号を示す状態データが蓄積されていなければ、かかるＡＣＫの転送を一定時間遅延させ、次の処理を行う。
【０１７３】
また、ＣＰＵ２１は、先に受信されて送信を待つＡＣＫが既にＮ個ある場合に、移動機１０からＡＣＫを受信したとき、最も前に受信されたＡＣＫをサーバ装置４０へ送信する。すなわち、基地局２０の保持するＡＣＫの数を最大Ｎ個に制限する。
【０１７４】
また、ＣＰＵ２１は、一定時間（第１の所定期間）経過する前に、ＴＣＰセグメントが無線リンクに送出された場合、かかるＴＣＰセグメントを構成するデータの最初のシーケンス番号及び最後のシーケンス番号を、最も前に受信されたＡＣＫに書き込んでサーバ装置４０へ転送する。それ以外の場合、ＣＰＵ２１は、一定時間（第１の所定期間）経過後、ＡＣＫをサーバ装置４０へ送信する。
【０１７５】
本実施形態では、基地局２０は、所定数のＡＣＫ（確認応答）が受信された場合に、又は、第１の所定期間が経過した場合に、無線部２４によって移動機１０に転送されたデータユニットの識別情報（ＴＣＰセグメントを構成するデータの最初と最後のシーケンス番号）を含むＡＣＫ（例えば、最も早く受信したＡＣＫ）をサーバ装置（送信機）４０に対して送信するように構成されている。
【０１７６】
また、基地局２０は、第２の所定期間経過した場合で、かつ、移動機１０からのＡＣＫを受信していない場合、無線部２４によって移動機１０に転送されたデータユニットの識別情報（ＴＣＰセグメントを構成するデータの最初と最後のシーケンス番号）を含む転送通知メッセージを生成して送信機に送信するように構成されている。
【０１７７】
［動作］
図１４乃至図１８を参照して、上述した構成の通信システム２００の動作のうち、上述の第１の実施形態にかかる通信システムの動作と大きく異なる点について、主として説明する。
【０１７８】
図１４乃至図１７は、転送通知プログラム５２１を実行中のＣＰＵ２１により行われる転送通知処理の流れを示すフローチャートである。これら４つのフローチャートに示される処理は、ＣＰＵ２１により並行に実行されている。図１８は、通信システム２００により行われる通信の一例を示すシーケンス図である。
【０１７９】
なお、この動作説明における前提は、無線区間のＲＴＴが「４５ｍｓｅｃ」と「５５ｍｓｅｃ」との間を変動する点を除いて、上述の第１の実施形態における動作説明の前提と同様である。また、基地局５０の転送通知メッセージを送信するための転送通知メッセージ送信用タイマ及びＡＣＫを送信のためのＡＣＫ送信用タイマを共に「１０ｍｓｅｃ」とし、ＡＣＫの最大保持数「Ｎ」を「１」とした。
【０１８０】
以下、図１８に示す通信システム２００により行われる通信について、図１４乃至図１７に示す基地局５０の動作を参照しながら説明する。
【０１８１】
基地局５０のＣＰＵ２１は、ＳＤＵとして格納されたシーケンス番号「０」のＴＣＰセグメントをＳＤＵバッファに２３１に格納した後、直ちに取り出し（図１４のステップＳＡ１）、ＳＤＵに格納されるデータユニットがＴＣＰセグメントか否か判定する（図１４のステップＳＡ２）。
【０１８２】
ここで、ＳＤＵに格納されるデータユニットは、ＴＣＰセグメントであるため、ＣＰＵ２１は、かかるＴＣＰセグメントに格納されるデータの最初のシーケンス番号「０」及び最後のシーケンス番号「９９９」を取得し（図１４のステップＳＣ１）、ＲＡＭ２３の状態領域５３１に、ＡＣＫを示す状態データがあるか否かを判定する（図１４のステップＳＣ２）。
【０１８３】
ＡＣＫを示す状態データが蓄積されてないため、ＣＰＵ２１は、取得したシーケンス番号を示す状態データを、ＲＡＭ２３の状態領域５３１に書き込み（図１４のステップＳＣ４）、転送通知メッセージ送信用タイマが既に設定されているか否かを判定する（図１４のステップＳＣ５）。
【０１８４】
ここで、転送通知メッセージ送信用タイマが設定されていないため、ＣＰＵ２１は、かかる転送通知メッセージ送信用タイマを「１０ｍｓｅｃ（第２の所定期間）」に設定する（図１４のステップＳＣ６）。また、ＣＰＵ２１は、ＳＤＵバッファ２３１から取り出されたＳＤＵを無線リンクに送出する。
【０１８５】
転送通知メッセージ送信用タイマが切れると、すなわち、第２の所定期間が経過すると、基地局５０のＣＰＵ２１は、ＲＡＭ２３の状態領域５３１に蓄積されている状態データから読み出したシーケンス番号を、転送通知メッセージによってサーバ装置４０へ通知する。ＣＰＵ２１は、また、ＲＡＭ２３の状態領域５３１から、かかるシーケンス番号を示す状態データを全て削除する（図１６のステップＳＥ１、ステップＳＥ２）。
【０１８６】
基地局５０のＣＰＵ２１は、移動機１０からサーバ装置４０宛てに送信されたＡＣＫ番号「１０００」のＡＣＫを受信すると、ＲＡＭ２３の状態領域５３１にシーケンス番号を示す状態データがあるか否かを判定する（図１５のステップＳＤ１、ステップＳＤ２）。
【０１８７】
ここで、シーケンス番号を示す状態データは蓄積されていないため、ＣＰＵ２１は、次に、先に到着して送信を待つＡＣＫが「Ｎ（＝１）」個あるか否かを判定する（図１５のステップＳＤ４）。
【０１８８】
ここで、ＲＡＭ２３の状態領域５３１にＡＣＫを示す状態データは蓄積されていないため、ＣＰＵ２１は、受信したＡＣＫを示す状態データをＲＡＭ２３の状態領域５３１に書き込み、ＡＣＫ送信用タイマを「１０ｍｓｅｃ（第１の所定期間）」に設定する（図１５のステップＳＤ６）。
【０１８９】
ＡＣＫ送信のためのタイマが切れると、すなわち、第１の所定期間が経過すると、基地局５０のＣＰＵ２１は、ＲＡＭ２３の状態領域５３１に蓄積されている状態データから読み出したＡＣＫをサーバ装置４０へ送信する（図１７のステップＳＦ１、ステップＳＦ２）。
【０１９０】
基地局５０のＣＰＵ２１は、ＡＣＫ番号「２０００」のＡＣＫを受信すると、当該ＡＣＫを示す状態データをＲＡＭ２４の状態領域５３１に書き込み、ＡＣＫ送信用タイマを「１０ｍｓｅｃ」に設定する（図１５のステップＳＤ１、ステップＳＤ２：ＮＯ，ステップＳＤ４：ＮＯ，ステップＳＤ６）。
【０１９１】
その後、ＣＰＵ２１は、シーケンス番号「２０００」のＴＣＰセグメントを格納するＳＤＵをＳＤＵバッファ２３１から取り出し（図１４のステップＳＡ１）、ＳＤＵに格納されるデータユニットがＴＣＰセグメントか否かを判定する（図１４のステップＳＡ２）。
【０１９２】
ＳＤＵに格納されるデータユニットは、ＴＣＰセグメントであるため、ＣＰＵ２１は、ＴＣＰセグメントに格納されるデータの最初シーケンス番号「２０００」と最後のシーケンス番号「２９９９」を取得し（図１４のステップＳＣ１）、ＲＡＭ２３の状態領域５３１に、ＡＣＫを示す状態データがあるか否かを判定する（図１４のステップＳＣ２）。
【０１９３】
ここで、ＲＡＭ２３の状態領域５３１に、ＡＣＫを示す状態データが蓄積されているため、ＣＰＵ２１は、取得したシーケンス番号「２０００」及び「２９９９」をＡＣＫに書き込みサーバ装置４０へ送信する（図１４のステップＳＣ３）。また、ＣＰＵ２１は、ＳＤＵバッファ２３１から取り出されたＳＤＵを無線リンクに送出する。
【０１９４】
基地局５０のＣＰＵ２１は、シーケンス番号「３０００」のＴＣＰセグメントを受信した後、シーケンス番号「３０００」のＴＣＰセグメントを格納するＳＤＵをＳＤＵバッファ２３１から取り出し（図１４のステップＳＡ１）、ＳＤＵに格納されるデータユニットがＴＣＰセグメントか否かを判定する（図１４のステップＳＡ２）。
【０１９５】
ここで、ＳＤＵに格納されるデータユニットは、ＴＣＰセグメントであるため、ＣＰＵ２１は、ＴＣＰセグメントに格納されるデータの最初のシーケンス番号「３０００」と最後のシーケンス番号「３９９９」を取得し（図１４のステップＳＣ１）、ＲＡＭ２３の状態領域５３１にＡＣＫを示す状態データがあるか否かを判定する（図１４のステップＳＣ２）。
【０１９６】
ここで、ＡＣＫを示す状態データはないため、ＣＰＵ２１は、取得したシーケンス番号を示す状態データをＲＡＭ２３の状態領域５３１に書き込み（図１４のステップＳＣ４）、転送通知メッセージ送信用タイマが既に設定されているか否かを判定する（図１４のステップＳＣ５）。
【０１９７】
ここで、転送通知メッセージ送信用タイマが設定されていないため、ＣＰＵ２１は、転送通知メッセージ送信用タイマを「１０ｍｓｅｃ」に設定する（図１４のステップＳＣ６）。また、ＣＰＵ２１は、ＳＤＵバッファ２３１から取り出されたＳＤＵを無線リンクに送出する。
【０１９８】
基地局５０のＣＰＵ２１は、ＡＣＫ番号「３０００」のＡＣＫを受信すると、ＲＡＭ２３の状態領域５３１にシーケンス番号を示す状態データがあるか否かを判定する（図１５のステップＳＤ１、ステップＳＤ２）。
【０１９９】
ここで、ＲＡＭ２３の状態領域５３１に、シーケンス番号を示す状態データがあるため、かかる状態データを読み取り、かかる状態データの示すシーケンス番号を、当該ＡＣＫに書き込みサーバ装置４０へ送信する（図１５のステップＳＤ３）。
【０２００】
また、ＣＰＵ２１は、転送通知メッセージ送信用タイマをキャンセルするとともに、ＲＡＭ２３の状態領域５３１から当該シーケンス番号を示す状態データを全て削除する。
【０２０１】
以上のように、本発明により、移動機１０からサーバ装置４０宛てに送信されたＡＣＫを利用して、基地局２０から移動機１０に転送されたデータユニットの識別情報が通知され、転送通知メッセージのオーバヘッドが軽減されている。
【０２０２】
本実施形態にかかる通信システムによれば、データユニットの識別情報（ＴＣＰセグメントを構成するデータのシーケンス番号）をサーバ装置４０に通知するために必要なトラフィックを低減することができる。
【図面の簡単な説明】
【０２０３】
【図１】本発明の第１の実施形態に係る通信システムの全体構成図である。
【図２】本発明の第１の実施形態に係る通信システムにおける通信プロトコル構成を示す図である。
【図３】本発明の第１の実施形態に係る基地局の構成を示すブロック図である。
【図４】本発明の第１の実施形態に係る基地局において、ＲＬＣによって処理される送信データの流れを示す図である。
【図５】本発明の第１の実施形態に係る通信システムにおいて無線帯域が減少した場合の様子を示す図である。
【図６】本発明の第１の実施形態に係るサーバ装置の構成を示すブロック図である。
【図７】本発明の第１の実施形態に係るサーバ装置のＲＡＭ内の状態領域にて管理されるテーブルの一例を示す図である。
【図８】本発明の第１の実施形態に係る通信システムにおいて無線帯域が増加した場合の様子を示す図である。
【図９】本発明の第１の実施形態に係る基地局において、転送通知プログラムを実行中のＣＰＵによって行われる転送通知処理の流れを示すフローチャートである。
【図１０】本発明の第１の実施形態に係るサーバ装置において、通信プログラムを実行中のＣＰＵによって行われる通信処理の流れを示すフローチャートである。
【図１１】本発明の第１の実施形態に係る通信システムにより行われる通信の一例を示すシーケンス図である。
【図１２】本発明の第２の実施形態に係る通信システムの全体構成図である。
【図１３】本発明の第２の実施形態に係る基地局の構成を示すブロック図である。
【図１４】本発明の第２の実施形態に係る基地局において、転送通知プログラムを実行中のＣＰＵによって行われる転送通知処理の流れを示すフローチャートである。
【図１５】本発明の第２の実施形態に係る基地局において、転送通知プログラムを実行中のＣＰＵによって行われる転送通知処理の流れを示すフローチャートである。
【図１６】本発明の第２の実施形態に係る基地局において、転送通知プログラムを実行中のＣＰＵによって行われる転送通知処理の流れを示すフローチャートである。
【図１７】本発明の第２の実施形態に係る基地局において、転送通知プログラムを実行中のＣＰＵによって行われる転送通知処理の流れを示すフローチャートである。
【図１８】本発明の第２の実施形態に係る通信システムにより行われる通信の一例を示すシーケンス図である。
【符号の説明】
【０２０４】
１０…移動機
２０、５０…基地局
２１、４１…ＣＰＵ
２２、４２…不揮発性メモリ
２２１、５２１…転送通知プログラム
２３、４３…ＲＡＭ
２４…無線部
２５、４４…通信インタフェース
３０…コアネットワーク
４０…サーバ装置
４２１…通信プログラム
４３１、５３１…状態領域
【図１】
2005244480.tif 000003
【図２】
2005244480.tif 000004
【図３】
2005244480.tif 000005
【図４】
2005244480.tif 000006
【図５】
2005244480.tif 000007
【図６】
2005244480.tif 000008
【図７】
2005244480.tif 000009
【図８】
2005244480.tif 000010
【図９】
2005244480.tif 000011
【図１０】
2005244480.tif 000012
【図１１】
2005244480.tif 000013
【図１２】
2005244480.tif 000014
【図１３】
2005244480.tif 000015
【図１４】
2005244480.tif 000016
【図１５】
2005244480.tif 000017
【図１６】
2005244480.tif 000018
【図１７】
2005244480.tif 000019
【図１８】
2005244480.tif 000020