(57)【要約】  ＡＣＫデータを待つことなくデータを継続して送信する。送信側装置８１は、送信対象データを受信側装置４１へ送信すると共に、送信対象データに対応する確認応答を、受信側装置４１から受信する送信側送受信部８２と、送信側送受信部８２における送信対象データの送信が停止されているか否かを確認する送信停止監視部８３と、送信側送受信部による送信対象データの送信が停止されたと送信停止監視部によって判定された場合に、送信対象データの送信を、送信側送受信部に代わって継続する送信継続部８４とを備える。
2016147650.tif 000002
【特許請求の範囲】
【請求項１】
送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信手段と、
前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、
前記送信側送受信手段による前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定された場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続する送信継続手段と
を備える送信装置。
【請求項２】
前記送信停止監視手段は、
前記送信側送受信手段が、前記送信済みのデータであって、且つ、前記確認応答を表すＡＣＫデータの受信待ちのデータである、送信済み且つＡＣＫ待ちデータのサイズと、前記ＡＣＫデータを受信することなく送信可能なデータのデータ量を示す送信量の制限の範囲とに基づいて、前記送信対象データの送信を停止したか否かを判定する
請求項１に記載の送信装置。
【請求項３】
前記送信停止監視手段は、
前記送信側送受信手段が、前記送信対象データの送信を停止したと判定する条件を、
（I）前記送信側送受信手段が有する送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが、前記送信量の制限に達した場合か、
（II）前記送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが前記送信量の制限に達した場合であり、且つ、自装置における前記送信対象データの送信間隔が、自装置から前記受信装置に前記送信対象データが送信された時刻から、送信された前記送信対象データを前記受信装置が受信し、受信した前記送信対象データを前記受信装置が確認応答したことを表す前記ＡＣＫデータを前記送信装置に送信し、送信された前記ＡＣＫデータを前記送信装置が受信するまでの、前記送信装置と前記受信装置との間において観測された遅延時間（以下、ＲＴＴ値）に基づく閾値以上に遅延した場合か、
（III）前記送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが前記送信量の制限に達した場合で、且つ、前記送信側送受信手段における前記ＡＣＫデータの受信間隔が所定の閾値以上になった場合か、
（IV）前記送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが前記送信量の制限に達する場合であり、且つ、自装置における前記データの送信間隔が、前記ＲＴＴ値に基づく前記閾値以上に遅延し、且つ、前記送信側送受信手段における前記ＡＣＫデータの前記受信間隔が前記所定の閾値以上になった場合、
のうち何れかとする
請求項２に記載の送信装置。
【請求項４】
前記ＡＣＫデータを受信したときの前記受信間隔を示す情報を保存するＡＣＫ履歴保存手段を更に備え、
前記送信停止監視手段は、
前記送信側送受信手段が前記送信対象データの送信を停止したと判定した場合に、前記送信継続手段に前記ＡＣＫ履歴保存手段を参照するよう指示し、
前記送信継続手段は、
前記ＡＣＫ履歴保存手段を参照した結果得られた前記受信間隔を示す情報に基づいて、前記ＡＣＫデータを前記送信側送受信手段が継続して受信した場合に送信可能なデータ量を求め、求めた前記データ量に基づいて、前記送信対象データを送信する
請求項２に記載の送信装置。
【請求項５】
前記送信継続手段は、
自装置が送信する前記送信対象データを自装置と前記受信装置との間で中継する中継手段から、その中継手段が備える送信バッファのバッファ容量を示す情報を取得し、
前記送信側送受信手段が前記送信対象データの送信を停止したと判定した前記送信停止監視手段の指示に基づき、前記中継手段から受信した前記ＡＣＫデータの受信間隔を示す情報を保存する前記ＡＣＫ履歴保存手段を参照するよう指示し、
前記送信継続手段は、前記ＡＣＫ履歴保存手段を参照した結果得られた前記受信間隔を示す情報、および、前記中継手段の前記送信バッファのバッファ容量を示す情報に基づいて、前記ＡＣＫデータを前記送信側送受信手段が継続して受信した場合に前記送信継続手段が送信可能なデータ量を求め、
求めた前記データ量に基づいて、前記送信対象データを送信する
請求項４に記載の送信装置。
【請求項６】
前記送信側送受信手段は、
前記送信継続手段が前記送信対象データの送信を継続する際に、
（I）自装置が前記ＡＣＫデータを受信したこととするか、
（II）前記送信側送受信手段における前記送信バッファの前記送信量の制限の範囲を緩和するか、
（III）前記送信側送受信手段における前記送信バッファの前記送信量の制限の範囲を無視するか、
（IV）自装置が、前記受信装置からのダミーＡＣＫデータを受信するか、
のうちの少なくとも何れかを行う
請求項２に記載の送信装置。
【請求項７】
送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信手段と、前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、前記送信停止監視手段の指示に基づいて前記送信対象データを送信する送信継続手段とを備える送信装置の制御方法であって、
前記送信側送受信手段の前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定した場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続するよう前記送信継続手段を制御する
送信装置の制御方法。
【請求項８】
送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信機能と、
前記送信側送受信機能における前記送信対象データの送信が停止されているか否かを確認する送信停止監視機能と、
前記送信側送受信機能による前記送信対象データの送信が停止されたと前記送信停止監視機能によって判定された場合に、前記送信対象データの送信を、前記送信側送受信機能に代わって継続する前記送信継続機能とを
コンピュータに実現させる送信装置の制御プログラムが格納された記録媒体。
【請求項９】
送信対象データを送信可能な送信装置と、
該送信装置と相互に通信可能な通信ネットワークを介して接続され、前記送信装置からの前記送信対象データを受信した場合に確認応答を返送可能な受信装置と
を備え、
前記送信装置は、
前記送信対象データを前記受信装置へ送信すると共に、前記送信対象データに対応する前記確認応答を、前記受信装置から受信する送信側送受信手段と、
前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、
前記送信側送受信手段による前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定された場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続する前記送信継続手段と
を含む、
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置およびその制御方法、通信システム、並びに通信制御プログラムが格納された記録媒体に関する。
【背景技術】
【０００２】
送信端末が受信端末に送信したデータパケットをその受信端末が受信すると、当該受信端末は、確認応答（以下、「ＡＣＫ」と言う。）パケットを送信端末に送信する。そのＡＣＫパケットを受信すると、当該送信端末は、当該受信端末に、次のデータパケットを送信する。このような動作を行う通信システムが知られている。【０００３】
係る送信端末および受信端末が通信可能に接続される通信ネットワーク（以下、単に「ネットワーク」と言う。）の通信方式には、例えば、今日では一般的なＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ＿Ｃｏｎｔｒｏｌ＿Ｐｒｏｔｏｃｏｌ）プロトコル（以下、「ＴＣＰ」と略称する。）が用いられる。【０００４】
ＴＣＰでは、ネットワークにおいて輻輳（ネットワークの伝送能力を越える量のデータがネットワークに流入することによって、送信したデータパケットが遅延したり、喪失したりする状況）が発生しないように、例えば送信端末の送信バッファにおいては、ＡＣＫパケットを受信することなく一度に送信可能なデータを示すウィンドウを用いてデータパケットの送信量が制限される。【０００５】
一例として、ＴＣＰにおけるウィンドウについて図９を用いて説明する。図９は、送信バッファで用いられるウィンドウを概念的に説明する図である。【０００６】
図９に示す（１）項は、新たなデータパケットが書き込まれる前の送信バッファの内容を示す。確認応答済み領域（斜線部分）は、送信端末が送信した斜線部分までのデータパケットに対して、受信端末が対応するＡＣＫパケットを送信端末に送信し、そのＡＣＫパケットを送信端末が受け取ったことを示す。【０００７】
送信端末は、ＡＣＫパケットを受け取ると、それまで送信バッファに記憶していた送信済みのデータパケットを消去（斜線部分）する。そして、送信端末は、その消去した送信済みデータパケットが記憶されていた領域の上限の位置を、その位置のデータパケットまで確認応答済みであることを示すＡＣＫ済みポインタ（図９に示す（１）項の上向き矢印）で指示する。【０００８】
（２）項は、確認応答領域に続く、送信可能領域および送信待ち領域を示す。送信可能領域および送信待ち領域には、送信端末が送信バッファに書き込んだデータパケットａ乃至ｎが記憶されている。【０００９】
このうちの送信可能領域には、次に送信される、ＡＣＫパケットを受信することなく一度に送信可能なデータ量の範囲（つまり、ウィンドウサイズ）のデータパケットａ乃至ｅが記憶されている（図９の例ではウィンドウサイズは「５」である。）。【００１０】
なお、以下では、ウィンドウサイズを、「送信量の制限の範囲」とも言う。【００１１】
送信待ち領域は、送信バッファに書き込まれたデータパケットａ乃至ｎのうちの、データパケットａ乃至ｅよりあとに送信されるデータパケットｆ乃至ｎを示す。【００１２】
送信端末は、データパケットａ乃至ｅを、受信端末に送信すると、データパケットｅの位置を、そのデータパケットｅまでが送信済みであることを示す送信済みポインタ（図９の（２）項の左から２つ目の上向き矢印）で指示する。【００１３】
この時点で、データパケットａ乃至ｅのそれぞれは、送信済みで且つＡＣＫ待ちのデータパケットである。【００１４】
（３）項は、受信端末がデータパケットａ乃至ｅのうちの、例えばデータパケットａのみを受信したことを示す。【００１５】
送信端末は、データパケットａに対応する受信端末からのＡＣＫパケットを受信すると、それまで送信バッファに記憶していたデータパケットａを消去（図９に示す（３）項の左から２つ目の斜線部分）する。そして、送信端末は、そのデータパケットａがあった位置を、そのデータパケットａまでがＡＣＫ済みであることを示すＡＣＫ済みポインタで指示する（図９に示す（３）項の左から１つ目の上向き矢印）。【００１６】
この時点で、データパケットｂ乃至ｅのそれぞれは、送信済みで且つＡＣＫ待ちのデータパケットである（図９に示す（３）項のＡの両矢印で示される範囲）。【００１７】
（３）項は、また、送信端末が消去したデータパケットａの分だけウィンドウを右側にずらすことを示し（つまり、図９に示す（３）項のＢの両矢印で示される範囲。）、送信済みで且つＡＣＫ待ちデータパケットｂ乃至ｅの右側に１つウィンドウがずらされることにより、データパケットｆが、次に送信されるデータパケットとなる。【００１８】
なお、以下では、ウィンドウが右側にずらされることにより、次に送信されるデータが送信可能領域に入る余地ができることを「空きができる」と言う。【００１９】
送信バッファは、次のデータパケットｆを受信端末へ送信し、データパケットｆの位置を、そのデータパケットｆの位置までが送信済みであることを示す送信済みポインタで指示する（図９に示す（３）項の左から２つ目の上向き矢印）。【００２０】
すなわち、送信端末は、送信したデータパケットａに対応するＡＣＫパケットを受信できたときに、Ａで示される送信済みで且つＡＣＫ待ちのデータパケットｂ乃至ｅのサイズ「４」が、Ｂで示されるウィンドウサイズ「５」よりも小さいので、送信可能領域に送信待ちのデータパケットｆが入る空きができる。【００２１】
送信可能領域に空きができる場合に、送信端末は、送信量の制限の範囲に達していないとして、送信バッファにおける送信待ちデータパケットｆを送信する。【００２２】
（４）項は、（３）項で、通信環境の変動により、送信端末がデータパケットａに対応するＡＣＫパケットを受信できないときに、確認応答ができなかったデータパケットａを消去できず、その分のウィンドウを右にスライドできないことを示す。【００２３】
そのため（４）項では、送信端末が、送信済みで且つＡＣＫ待ちのデータパケットａ乃至ｅのＡで示されるサイズ「５」が、Ｂで示されるウィンドウサイズ「５」以上となり、送信可能領域に送信待ちのデータパケットが入る空きができない。【００２４】
送信可能領域に空きができない場合に、送信端末は、送信量の制限の範囲に達したとして、送信バッファにおける次の送信待ちデータパケットｆの送信を停止する。【００２５】
なお、一般的なＴＣＰでは、送信端末が、送信済みのデータパケットに対応するＡＣＫパケットを所定の時間内に受信できなければ、送信済みのデータパケットを所定の再送待ち時間毎に再送する。【００２６】
上述した送信端末および受信端末が、それぞれ、例えばインターネットにおけるＷｅｂ上のサーバ端末およびモバイル端末である場合、その途中経路にはモバイル網がある。【００２７】
係るモバイル網では、モバイル端末の移動や、複数の基地局との間でモバイル端末が無線接続を切替えるハンドオーバに伴う電波強度の低下や、多数のモバイル端末が接続されることによる基地局における混雑等のモバイル環境特有の通信環境の変動が発生する。【００２８】
上述した通信環境の変動により、基地局およびモバイル端末は、基地局からモバイル端末へ（下り方向）のデータパケットが喪失する場合や、無線出力電力が基地局よりも相対的に小さいモバイル端末から基地局へ（上り方向）のＡＣＫパケットが喪失する場合がある。【００２９】
上述したデータパケットおよびＡＣＫパケットのうちの少なくとも一方がネットワークにおいて喪失すると、結果としてＷｅｂ上のサーバ端末でＡＣＫパケットが受信されない。従って、Ｗｅｂ上のサーバ端末の送信バッファにおけるウィンドウに新たな空きが生じない。【００３０】
そのため、送信バッファにおける送信済みで且つＡＣＫ待ちのデータパケットは、送信量の制限の範囲に達し、送信バッファにおける次に送信されるべき送信待ちデータパケットの送信が停止される。【００３１】
その後、基地局およびモバイル端末の間の通信環境が通信可能な状態に回復したとしても、Ｗｅｂ上のサーバ端末は、モバイル端末からのＡＣＫパケットを受信するまでの間、モバイル端末へのデータパケットの送信を停止する。【００３２】
例えば関連技術として、特許文献１には、以下の技術が開示されている。即ち、クライアント１０は、サーバ１２にＡＣＫメッセージを返送する際に、所定の時間Ｔ１を計測するタイマの計時を開始する。そのタイマが所定の時間を計時した以降にサーバ１２からの次のデータパケットがクライアント１０で受信されない場合に、クライアント１０は、物理伝送媒体が中断されたことを検知し、同じＡＣＫメッセージを繰り返しサーバ１２に送信する。【００３３】
特許文献２には、以下の技術が開示されている。即ち、地上局３（送信端末）および移動局４（受信端末）の間の無線リンクが非接続状態から回復したことが検出されると、受信端末でＡＣＫパケットを蓄積するＡＣＫパケット蓄積手段に蓄積された最新のＡＣＫパケットを、送信端末へ送信する。これにより、送信端末は、その送信されたＡＣＫパケットに基づいて再送するデータパケットを決定する。【００３４】
特許文献３には、以下の技術が開示されている。即ち、送信装置１００から送信されたパケットを受信装置２００が受信し、受信したそのパケットに誤りが検出された際に、その検出された誤りの補正を行う。そして、受信装置２００は、所定時間内にその誤りを補正できなかった場合でも、その補正を継続し、補正が正しくできた場合に肯定応答ＡＣＫを返送するまでの間、送信装置１００は、次のパケットを最大Ｎ個の範囲で連続して送信する。これにより、送信装置１００から受信装置２００への再送パケットの送信頻度を抑制する。【００３５】
特許文献４には、以下の技術が開示されている。即ち、無線アクセスポイント１から、複数の受信端末に送信データパケットを同報するシステムにおいて、受信端末からのＡＣＫ信号がアクセスポイント１において受信されないときに、アクセスポイント１における送信前データの蓄積量が規定の大きさを越える場合、送信データパケットの再送を停止する。これにより、当該システムは、データパケットの送信の遅延を解消する。【００３６】
特許文献５には、基地局１３０から送信されたパケットを受信する中継装置１２０の再送把握部２１４が、受信したパケットのシーケンス番号の欠番を検知すると、中継装置１２０が欠番パケットの再送を基地局１３０へ要求する技術が開示されている。【００３７】
特許文献５には、以下の技術が開示されている。即ち、その技術は、中継装置１２０からの要求に基づいて基地局１３０が再送したパケットを中継装置１２０が受信する際に生じる無通信状態を無通信検出部２２０が検出したときに、ダミー送信部２１６によりダミーデータを基地局１３０に送信し、基地局１３０と中継装置１２０との間のチャネルが解放されないようにする。【００３８】
特許文献６には、以下の技術が開示されている。即ち、その技術は、通信網１０を介してデータを送受信するパケット通信装置１および２のうちの何れか一方から、相手装置の正常性を確認する第１の周期でのＡＲＰパケットの送信を行い、そのＡＲＰパケットに対する応答が来なければ、当該相手装置が異常な状態にあると判断する。そしてその技術は、その後の当該相手装置へのデータの送信を停止することでトラフィックが増大するのを抑制する。
【先行技術文献】
【特許文献】
【００３９】
【特許文献１】特許第５１８５９５５号公報
【特許文献２】特許第４８３２４８３号公報
【特許文献３】特開２００８−０７９３５０号公報
【特許文献４】特開２００６−３２４７３８号公報
【特許文献５】特開２０１０−０５６９４２号公報
【特許文献６】特開２００８−０１７４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００４０】
しかしながら、通信環境の変動により、データパケットおよび／またはＡＣＫメッセージを喪失した場合に、一般的なＴＣＰでは、送信端末が、最大でデータパケットの再送待ち時間の間待たなければデータパケットの送信ができない。【００４１】
また、特許文献１に記載された技術では、サーバ１２が、最大でＡＣＫパケットの繰り返し送信間隔のＴ１時間の間待たなければデータパケットの送信ができない。【００４２】
すなわち、上述した一般的なＴＣＰおよび特許文献１では、送信端末において、上述したデータパケットおよびＡＣＫパケットを待つ時間分の遅延が発生するため通信システムとしての通信効率が低下する問題点がある。【００４３】
なお、関連する特許文献２乃至６のそれぞれでは、送信端末がＡＣＫパケットを待つことなく、且つ、送信済みデータパケットを再送することなしに、次のデータパケットを送信することは何ら記載されていない。【００４４】
本発明の目的は、上述した問題点を解決した通信システム、通信制御方法および通信制御プログラムを提供することにある。
【課題を解決するための手段】
【００４５】
本発明の一観点において、送信装置は、送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信手段と、前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、前記送信側送受信手段による前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定された場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続する送信継続手段とを備える。【００４６】
また、本発明の他の観点において、送信装置の制御方法は、送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信手段と、前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、前記送信停止監視手段の指示に基づいて前記送信対象データを送信する送信継続手段とを備える送信装置の制御方法であって、前記送信側送受信手段の前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定した場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続するよう前記送信継続手段を制御する。【００４７】
また、本発明の他の観点において、通信システムは、
送信対象データを送信可能な送信装置と、該送信装置と相互に通信可能な通信ネットワークを介して接続され、前記送信装置からの前記送信対象データを受信した場合に確認応答を返送可能な受信装置とを備え、前記送信装置は、前記送信対象データを前記受信装置へ送信すると共に、前記送信対象データに対応する前記確認応答を、前記受信装置から受信する送信側送受信手段と、前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、前記送信側送受信手段による前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定された場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続する前記送信継続手段とを含む。【００４８】
さらに、本発明は、上述した構成を備える送信装置またはその制御方法に対応する、送信制御プログラム、あるいは、その送信制御プログラムが格納された記録媒体（記憶媒体）によっても実現される。
【発明の効果】
【００４９】
本発明には、データまたはＡＣＫデータを待つ時間分の遅延を抑制し、通信システムとしての通信効率を改善できる効果がある。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】第１の実施形態における送信側装置の処理の流れを示すフローチャートである。
【図３】本発明の第２の実施形態を示すブロック図である。
【図４】第２の実施形態における送信側装置の処理の流れを示すフローチャートである。
【図５】本発明の第３の実施形態を示すブロック図である。
【図６】本発明の第３の実施形態を示すブロック図である。
【図７】第３の実施形態における送信側装置の処理の流れを示すフローチャートである。
【図８】本発明の模範的な実施形態における送信側装置を実行可能な情報処理装置（コンピュータ）の構成を例示的に説明する図である。
【図９】送信バッファで用いられるウィンドウを概念的に説明する図である。
【発明を実施するための形態】
【００５１】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００５２】
＜第１の実施形態＞
まず、第１の実施形態について説明する。図１は、第１の実施形態を示すブロック図である。
【００５３】
図１を参照すると、本実施形態の通信システム１は、送信側装置１１と、送信側装置１１と相互に通信可能なネットワークを介して接続された受信側装置３１とを含む。
【００５４】
送信側装置１１は、送信側送受信部１２と、送信停止監視部１３と、送信継続部１４と、共用送受信部１９とを含む。受信側装置３１は、受信側送受信部３２を含む。
【００５５】
送信側送受信部１２は、送信バッファ２０を含む。
【００５６】
送信継続部１４は、送信バッファを含む（図１には、図示せず。）。
【００５７】
共用送受信部１９は、送信バッファを含む（図１には、図示せず。）。
【００５８】
受信側装置３１の受信側送受信部３２は、送信バッファ（図１には、図示せず。）を含む。
【００５９】
共用送受信部１９は、送信バッファ２０または、送信継続部１４の送信バッファからのデータが、共用送受信部１９の送信バッファに書き込まれる（コピーされる）と、書き込まれたデータを受信側装置３１へ送信する。
【００６０】
また、共用送受信部１９は、受信側装置３１からのＡＣＫデータを受け取り、送信側送受信部１２に渡す。
【００６１】
送信停止監視部１３および送信継続部１４については、後述する本実施形態における動作説明において説明する。
【００６２】
なお、送信バッファ２０は、送信側装置１１からの書き込みデータを記憶する記憶領域である。
【００６３】
次に、図２を参照して本実施形態の動作を説明する。
【００６４】
図２は、本実施形態における送信側装置１１の処理の流れを示す図である。
【００６５】
送信側装置１１が、送信バッファ２０に、データを書き込むと、送信バッファ２０は、書き込まれたデータのうち、ＡＣＫデータを受信することなく一度に送信可能なデータ量のデータを、共用送受信部１９を介して受信側端末３１へ送信する（ステップＳ５１）。
【００６６】
送信停止監視部１３は、送信バッファ２０に書き込まれたデータの、送信バッファ２０からの送信が停止されたか否かを確認する（ステップＳ５２）。
【００６７】
送信停止監視部１３は、ステップＳ５２において、送信側装置１１が、受信側装置３１からのＡＣＫデータを受信できたときに、送信バッファ２０がデータの送信を停止していないと判定する（ステップＳ５２において、ＮＯ）。
【００６８】
つまり、送信停止監視部１３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズよりも小さく、ウィンドウに空きがある、「送信済み且つＡＣＫ待ちデータのサイズ−（マイナス）ウィンドウサイズ＜０」の条件を満たす場合に、送信量の制限の範囲に達していないので送信バッファ２０がデータの送信を停止していないと判定する。
【００６９】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【００７０】
送信バッファ２０は、ステップＳ５２においてＮＯの場合、上述したステップＳ５１に示すデータを送信する処理を実行する。
【００７１】
一方、送信停止監視部１３は、ステップＳ５２において、送信側装置１１が、受信側装置３１からのＡＣＫデータを受信できないときに、送信バッファ２０がデータの送信を停止していると判定する（ステップＳ５２において、ＹＥＳ）。
【００７２】
つまり、送信停止監視部１３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズ以上となり、ウィンドウに空きがない、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ≧０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部１３は、送信バッファが送信量の制限の範囲に達しているので送信バッファ２０がデータの送信を停止していると判定する。
【００７３】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【００７４】
送信継続部１４は、ステップＳ５２において、ＹＥＳの場合、後述するステップＳ５３の処理を実行する。
【００７５】
すなわち、送信停止監視部１３は、送信継続部１４に、送信継続部１４の送信バッファに、送信バッファ２０が次に送信する予定であったデータを送信バッファ２０から引き取るよう指示する。
【００７６】
送信継続部１４は、共用送受信部１９の送信バッファに、送信継続部１４が引き取った送信バッファ２０のデータを書き込む。
【００７７】
共用送受信部１９は、送信継続部１４の送信バッファから書き込まれたデータを受信側装置３１へ送信する（ステップＳ５３）。
【００７８】
送信停止監視部１３は、ステップＳ５２において、送信側装置１１が、受信側装置３１からのＡＣＫデータを受信できずに、送信バッファ２０がデータの送信を停止していると判定した後、送信バッファ２０からのデータの送信の停止が解除されたか否かを確認する（ステップＳ５４）。
【００７９】
送信停止監視部１３は、ステップＳ５４において送信側装置１１が受信側装置３１からのＡＣＫデータを受信できないときに、送信バッファ２０におけるデータの送信の停止が解除されていないと判定する（ステップＳ５４において、ＮＯ）。
【００８０】
つまり、送信停止監視部１３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズ以上となり、ウィンドウに空きができず、送信量の制限の範囲に達しているので、送信バッファ２０におけるデータの送信の停止が解除されていないと判定する。
【００８１】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【００８２】
送信継続部１４は、ステップＳ５４において、ＮＯの場合、上述したステップＳ５３に示す処理を実行する。
【００８３】
一方、送信停止監視部１３は、ステップＳ５４において、送信側装置１１が受信側装置３１からのＡＣＫデータを受信できたときに、送信バッファ２０におけるデータの送信の停止が解除されたと判定する（ステップＳ５４において、ＹＥＳ）。
【００８４】
つまり、送信停止監視部１３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズよりも小さく、ウィンドウに空きができ、送信量の制限の範囲に達していないので送信バッファ２０におけるデータの送信の停止が解除されたと判定する。
【００８５】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【００８６】
送信バッファ２０は、ステップＳ５４において、ＹＥＳの場合、上述したステップＳ５１に示すデータを送信する処理を再開する。
【００８７】
その際、送信継続部１４は、送信継続部１４の送信バッファによるデータの送信を停止する。
【００８８】
こうして、送信側装置１１は、受信側装置３１からのＡＣＫデータを受信していなくても送信継続部１４を用いてデータの送信を継続することが出来る。
【００８９】
なお、ステップＳ５４において、送信バッファ２０からのデータの送信の停止が解除されたことを判定する他の方法として、以下の方法を採用してもよい。即ち、送信停止監視部１３は、送信バッファ２０が上述したステップＳ５１に示す、データを送信する処理を再開したことによってデータの送信の停止が解除されたと判定するようにしてもよい。
【００９０】
また、共用送受信部１９は、送信バッファ２０または送信継続部１４の送信バッファのデータを受信側装置３１へ送信し、受信側装置３１からのＡＣＫデータを、送信側送受信部１２に渡すことができれば、上述した方法に限定されず、他の方法を用いてもよい。
【００９１】
以上、本実施形態には、データまたはＡＣＫデータを待つ時間分の遅延を抑制し、通信システムとしての通信効率を改善できる効果がある。
【００９２】
その理由は、ＡＣＫデータを待つことなくデータを継続して送信するように送信側装置１１に送信継続部１４を設けたからである。
【００９３】
また、上述した送信側装置および受信側装置を、それぞれ、例えば基地局の外部端末であるＷｅｂ上のサーバ端末およびモバイル端末としてモバイル通信環境に適用した場合には、以下の効果もある。即ち、不特定多数となる受信側装置であるモバイル端末の改造は不要であり、共通の送信側装置であるＷｅｂ上のサーバ端末にのみ、上述した図２に示す処理を実行可能なように適用すればよいので、導入コストを低減できる。
【００９４】
＜第２の実施形態＞
次に、第２の実施形態について説明する。図３は、第２の実施形態を示すブロック図である。
【００９５】
図３を参照すると、本実施形態の通信システム７０は、送信側装置７１と、送信側装置７１と相互に通信可能なネットワークを介して接続された受信側装置３１とを含む。
【００９６】
本実施形態における送信側装置７１は、第１の実施形態で説明した送信側装置１１の構成に、ＡＣＫ履歴保存部７６を追加した点が、第１の実施形態の構成と異なる。
【００９７】
以下では、第１の実施形態と異なる構成および動作を中心に説明し、第１の実施形態の構成要素と同じ構成要素には同一の参照符号が付与され、それらの説明は省略される。
【００９８】
送信側装置７１は、送信側送受信部７２と、送信停止監視部７３と、送信継続部７４と、共用送受信部７９と、ＡＣＫ履歴保存部７６とを含む。
【００９９】
送信側送受信部７２は、送信バッファ８０を含む。
【０１００】
送信継続部７４は、送信バッファを含む（図３には図示せず。）。
【０１０１】
ＡＣＫ履歴保存部７６は、送信側送受信部７２が、受信側装置３１からのＡＣＫデータを受信する度に、ＡＣＫデータの受信間隔の情報を保存する。
【０１０２】
ＡＣＫデータの受信間隔の情報は、例えば通信システムが有する時刻の時刻値やクロックのクロック数等を用いることができる。
【０１０３】
次に、図４を参照して本実施形態の動作を説明する。
【０１０４】
図４は、本実施形態における送信側装置７１の処理の流れを示す図である。
【０１０５】
送信側装置７１が、送信バッファ８０に、データを書き込むと、送信バッファ８０は、書き込まれたデータのうち、ＡＣＫを受信することなく一度に送信可能なデータ量のデータを、共用送受信部７９を介して受信側端末３１へ送信する（ステップＳ１５１）。
【０１０６】
送信停止監視部７３は、送信バッファ８０に書き込まれたデータの、送信バッファ８０からの送信が停止したか否かを確認する（ステップＳ１５２）。
【０１０７】
送信停止監視部７３は、ステップＳ１５２において、送信側装置７１が、受信側装置３１からのＡＣＫデータを受信できたときに、送信バッファ８０がデータの送信を停止していないと判定する（ステップＳ１５２において、ＮＯ）。
【０１０８】
つまり、送信停止監視部７３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズよりも小さく、ウィンドウに空きがある、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ＜０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部７３は、送信バッファが送信量の制限の範囲に達していないので送信バッファ８０がデータの送信を停止していないと判定する。
【０１０９】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０１１０】
送信バッファ８０は、ステップＳ１５２においてＮＯの場合、上述したステップＳ１５１に示すデータを送信する処理を実行する。
【０１１１】
一方、送信停止監視部７３は、ステップＳ１５２において、送信側装置７１が、受信側装置３１からのＡＣＫデータを受信できないときに、送信バッファ８０がデータの送信を停止していると判定する（ステップＳ１５２において、ＹＥＳ）。
【０１１２】
つまり、送信停止監視部７３は、送信済みで且つＡＣＫ待ちのデータのサイズがウィンドウサイズ以上となり、ウィンドウに空きがない、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ≧０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部７３は、送信バッファが送信量の制限の範囲に達しているので送信バッファ８０がデータの送信を停止していると判定する。
【０１１３】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０１１４】
送信継続部７４は、ステップＳ１５２において、ＹＥＳの場合、後述するステップＳ１５３の処理を実行する。
【０１１５】
送信停止監視部７３は、送信継続部７４に、ＡＣＫ履歴保存部７６のＡＣＫデータの受信間隔の履歴を参照するようＡＣＫ履歴保存部７６を介して指示する（ステップＳ１５３）。
【０１１６】
送信継続部７４は、ＡＣＫ履歴保存部７６の履歴を参照し、ＡＣＫ履歴保存部７６に保存されたＡＣＫデータの受信間隔でＡＣＫデータを送信側送受信部７２が仮に継続して受信した場合に、送信可能となるデータ量を求める。
【０１１７】
その際に、送信継続部７４が求める送信可能なデータ量は、一例として以下である。即ち、例えばＴＣＰにおける送信データの最大セグメントサイズが１５００バイト（１２０００ビット）とし、送信側装置が受信側装置から１秒毎に、最大セグメントサイズのデータに対応するＡＣＫデータを受信する場合には、１秒あたりに１２０００ビットである。
【０１１８】
送信継続部７４は、求めたそのデータ量に基づいて、送信継続部７４の送信バッファに、送信バッファ８０が送信する予定であったデータを引き取る。
【０１１９】
送信継続部７４は、共用送受信部７９の送信バッファに、送信バッファ８０から引き取ったデータを書き込む。
【０１２０】
共用送受信部７９は、送信継続部７４から書き込まれたデータを受信側装置３１へ送信する（ステップＳ１５４）。
【０１２１】
送信停止監視部７３は、ステップＳ１５２において、送信バッファ８０からのデータの送信が停止していないと判定した場合（ステップＳ１５２においてＮＯ）、ステップＳ１５１に示す処理を実行する。
【０１２２】
なお、ステップ１５２において、送信側装置７１は、送信バッファ８０によるデータの送信の停止を確認し、送信継続部７４によりデータを継続送信する場合に、以下に示す１）乃至７）の何れか、またはこれらを組み合わせた制御を行ってもよい。
【０１２３】
即ち、
１）送信継続部７４がデータを継続送信する際のデータ量は、送信バッファ８０が送信可能なデータ量を越えてもよい。
【０１２４】
２）送信継続部７４がデータを継続送信する際の送信レートは、固定レートでもよいし、変動レートでもよく、変動レートの場合には、単位時間当たりの送信量が減少するように送信してもよい。
【０１２５】
３）送信継続部７４がデータを継続送信する際の総送信量は、ネットワークにおける、下り方向のデータを中継する図３には図示していない中継装置（例えば、携帯端末との間の基地局）等の送信バッファにおける既知のバッファ量か、またはその既知のバッファ量の実数倍のバッファ量を超えないように調整してもよい。
【０１２６】
４）上記３）項で説明したネットワークにおける、中継装置等の送信バッファの既知のバッファ量としては、過去に、通信環境の変動によりデータが喪失した際に用いられた送信量の制限値や、ウィンドウサイズを用いてもよい。
【０１２７】
なお、送信継続部７４は、中継装置のバッファ量を、例えば、送信側装置７１がネットワークを運用する際に予め通知される情報または、予めデータを大量に送信して推定する等により取得することができる。
【０１２８】
５）送信継続部７４は、データを継続送信する際に、送信側装置７１、またはネットワークにおける上り方向の受信データを中継する中継装置等で生成したダミーのＡＣＫデータを、送信側送受信部７２で受信させるようにしてもよい。
【０１２９】
また、送信継続部７４は、データを継続送信する際に、送信側装置７１の内部処理としてＡＣＫデータを受信させたものとして処理をしてもよい。
【０１３０】
６）送信側装置７１は、送信バッファ８０における送信量の制限の範囲を緩和してもよい。
【０１３１】
７）送信側装置７１は、上述した送信継続部７４が、データをＡＣＫデータの受信レートに基づいて継続送信しているときに、通信環境の変動により上り方向が通信不可能な状態から通信可能な状態に復帰した場合、以下の処理を実行してもよい。即ち、送信側装置７１は、送信側装置７１が受信側装置３１から送信されたＡＣＫデータを受信した場合には、送信側装置７１の後述する設定値および内部状態を示す各種の情報の全部または一部を変更してもよい。
【０１３２】
もしくは、送信側装置７１は、送信側装置７１の後述する設定値および内部状態を送信側装置７１がＡＣＫデータを受信しなくなる前の状態に戻してもよい。
【０１３３】
上述した７）項に示す送信側装置７１における設定値および内部状態は、例えばＴＣＰであれば、一般に知られている輻輳ウィンドウ（ｃｗｎｄ）や、スロースタート閾値（ｓｌｏｗ＿ｓｔａｒｔ＿ｔｈｒｅｓｈｏｌｄ；ｓｓｔｈｒｅｓｈ）等の設定値およびスロースタートフェーズまたは輻輳回避フェーズ等の内部状態であり、送信量の制限や、その制限を調整する処理に係る各種の情報である。
【０１３４】
しかし、送信側装置７１の設定値および内部状態を示す各種の情報は、上述した値および情報には限定されない。
【０１３５】
また、上述したステップＳ１５２において、送信停止監視部７３は、送信バッファ８０における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合に、送信バッファ８０がデータの送信を停止したと判断する例で説明した。
【０１３６】
しかし、送信停止監視部７３は、上述した停止の判断条件以外で、以下に示すａ）、ｂ）またはｃ）の少なくとも何れかの条件を満たす場合に、送信バッファ８０がデータの送信を停止したと判断するようにしてもよい。
【０１３７】
即ち、
ａ）送信バッファ８０における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合で、且つ、送信側装置７１におけるデータの送信間隔が、ＲＴＴ値に基づく閾値以上に遅延した場合。
【０１３８】
ｂ）送信バッファ８０における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合で、且つ、送信側送受信部７２におけるＡＣＫデータの受信間隔が所定の閾値以上になった場合。
【０１３９】
ｃ）送信バッファ８０における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合で、且つ、送信側装置７１におけるデータの送信間隔が、ＲＴＴ値に基づく閾値以上に遅延し、且つ、送信側送受信部７２におけるＡＣＫデータの受信間隔が所定の閾値以上になった場合。
【０１４０】
ここで、ＲＴＴは、Ｒｏｕｎｄ＿Ｔｒｉｐ＿Ｔｉｍｅの略である。ＲＴＴは、図３に示す送信側装置７１から受信側装置３１にデータが送信された時刻から、送信されたデータを受信側装置３１が受け取り、受け取ったそのデータを受信側装置３１が確認応答した結果のＡＣＫデータを送信側装置７１に送信し、送信されたＡＣＫデータを送信側装置７１が受信する時刻までの、送信側装置と受信側装置との間の観測された往復の遅延時間である。
【０１４１】
上述したＲＴＴ値に基づく閾値は、例えばＲＴＴ値の実数倍などの値が設定される。
【０１４２】
引き続き、図４に示す送信側装置７１の処理の流れを説明する。
【０１４３】
送信停止監視部７３は、ステップＳ１５２において、送信側装置７１が、受信側装置３１からのＡＣＫデータを受信できずに、送信バッファ８０がデータの送信を停止していると判定した後、送信バッファ８０からのデータの送信の停止が解除されたか否かを確認する（ステップＳ１５５）。
【０１４４】
送信停止監視部７３は、ステップＳ１５５において、送信側装置７１が受信側装置３１からのＡＣＫデータを受信できないときに、送信バッファ８０におけるデータの送信の停止が解除されていないと判定する（ステップＳ１５５において、ＮＯ）。
【０１４５】
つまり、送信停止監視部７３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズ以上となり、ウィンドウに空きがない、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ≧０」の条件を満たす場合に、送信量の制限の範囲に達しているので、送信バッファ８０におけるデータの送信の停止が解除されていないと判定する。
【０１４６】
送信継続部７４は、ステップＳ１５５においてＮＯの場合、上述したステップＳ１５４に示す、ＡＣＫ受信レート継続送信処理を実行する。
【０１４７】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０１４８】
一方、送信停止監視部７３は、ステップＳ１５５において、送信側装置７１が受信側装置３１からのＡＣＫデータを受信できたときに、送信バッファ８０におけるデータの送信の停止が解除されたと判定する（ステップＳ１５５において、ＹＥＳ）。
【０１４９】
つまり、送信停止監視部７３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズよりも小さく、ウィンドウに空きがある、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ＜０」の条件を満たす場合に、以下の処理を行う。即ち、送信量の制限の範囲に達していないので、送信停止監視部７３は、送信バッファ８０におけるデータの送信の停止が解除されたと判定する。
【０１５０】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０１５１】
送信バッファ８０は、ステップＳ１５５においてＹＥＳの場合、上述したステップＳ１５１に示す、データを送信する処理を再開する。
【０１５２】
その際、送信継続部７４は、送信継続部７４の送信バッファによるデータの送信を停止する。
【０１５３】
以上、本実施形態には、第１の実施形態の効果に加えて、第１の実施形態に比べてネットワークにおける負荷を低減できる効果がある。
【０１５４】
その理由は、送信側装置７１が、ＡＣＫ受信履歴保存部７６に保存された受信間隔でＡＣＫデータを受信しているときに実際に送信可能となるデータ量のデータを送信するようにしたからである。
【０１５５】
＜第３の実施形態＞
次に、第３の実施形態について説明する。図５は、第３の実施形態を示すブロック図である。
【０１５６】
図５を参照すると、本実施形態の通信システム９０は、送信側装置９１と、送信側装置９１と相互に通信可能なネットワークを介して接続された受信側装置３１とを含む。
【０１５７】
本実施形態の通信システム９０は、第２の実施形態で説明した通信システム７０の構成に、受信側装置３１との間の、ネットワークにおける下り方向のデータを記憶すると共に送信する、図５に示す、例えば基地局や他のＷｅｂ上のサーバ装置等の中継装置１００における送信バッファのバッファ量を用いる点が、第２の実施形態と異なる。
【０１５８】
以下では、第２の実施形態と異なる構成および動作を中心に説明し、第２の実施形態の構成要素と同じ構成要素には同一の参照符号が付与され、それらの説明は省略される。
【０１５９】
送信側装置９１は、送信側送受信部９２と、送信停止監視部９３と、送信継続部９４と、共用送受信部９９と、ＡＣＫ履歴保存部９６とを含む。
【０１６０】
送信側送受信部９２は、送信バッファ９５を含む。
【０１６１】
送信継続部９４は、送信バッファを含む（図５には図示せず。）。
【０１６２】
ＡＣＫ履歴保存部９６は、送信側送受信部９２が、受信側装置３１からのＡＣＫデータを受信する度に、ＡＣＫデータの受信間隔の情報を保存する。
【０１６３】
ＡＣＫデータの受信間隔の情報は、例えば通信システムが有する時刻の時刻値やクロックのクロック数等を用いることができる。
【０１６４】
次に、図６を参照して本実施形態の動作を説明する。
【０１６５】
図６は、本実施形態における送信側装置９１の処理の流れを示す図である。
【０１６６】
送信側装置９１が、送信バッファ９５に、データを書き込むと、送信バッファ９５は、書き込まれたデータのうち、ＡＣＫを受信することなく一度に送信可能なデータ量のデータを、共用送受信部９９を介して受信側端末３１へ送信する（ステップＳ１７１）。
【０１６７】
送信停止監視部９３は、送信バッファ９５に書き込まれたデータの、送信バッファ９５からの送信が停止したか否かを確認する（ステップＳ１７２）。
【０１６８】
送信停止監視部９３は、ステップＳ１７２において、送信側装置９１が、受信側装置３１からのＡＣＫデータを受信できたときに、送信バッファ９５がデータの送信を停止していないと判定する（ステップＳ１７２において、ＮＯ）。
【０１６９】
つまり、送信停止監視部９３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズよりも小さく、ウィンドウに空きがある、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ＜０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部９３は、送信量の制限の範囲に達していないので送信バッファ９５がデータの送信を停止していないと判定する。
【０１７０】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０１７１】
送信バッファ９５は、ステップＳ１７２においてＮＯの場合、上述したステップＳ１７１に示すデータを送信する処理を実行する。
【０１７２】
一方、送信停止監視部９３は、ステップＳ１７２において、送信側装置９１が、受信側装置３１からのＡＣＫデータを受信できないときに、送信バッファ９５がデータの送信を停止していると判定する（ステップＳ１７２において、ＹＥＳ）。
【０１７３】
つまり、送信停止監視部９３は、送信済みで且つＡＣＫ待ちのデータのサイズがウィンドウサイズ以上となり、ウィンドウに空きがない、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ≧０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部９３は、送信量の制限の範囲に達しているので送信バッファ９５がデータの送信を停止していると判定する。
【０１７４】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０１７５】
送信継続部９４は、ステップＳ１７２において、ＹＥＳの場合、後述するステップＳ１７３の処理を実行する。
【０１７６】
送信停止監視部９３は、送信継続部９４に、ＡＣＫ履歴保存部９６のＡＣＫデータの受信間隔の履歴を参照するようＡＣＫ履歴保存部９６を介して指示する（ステップＳ１７３）。
【０１７７】
送信継続部９４は、ＡＣＫ履歴保存部９６の履歴を参照し、ＡＣＫ履歴保存部９６に保存されたＡＣＫデータの受信間隔でＡＣＫデータを送信側送受信部９２が仮に継続して受信した場合に、送信可能となるデータ量を求める。
【０１７８】
その際に、送信継続部９４が求める送信可能なデータ量は、一例として以下である。即ち、例えばＴＣＰにおける送信データの最大セグメントサイズが１５００バイト（１２０００ビット）とし、送信側装置が受信側装置から１秒毎に、最大セグメントサイズのデータに対応するＡＣＫデータを受信する場合には、１秒あたりに１２０００ビットである。
【０１７９】
送信継続部９４は、求めたそのデータ量に基づいて、送信継続部９４の送信バッファに、送信バッファ９５が送信する予定であったデータを引き取る。
【０１８０】
送信継続部９４は、共用送受信部９９の送信バッファに、送信バッファ９５から引き取ったデータを書き込む。
【０１８１】
共用送受信部９９は、送信継続部９４から書き込まれたデータを受信側装置３１へ送信する（ステップＳ１７４）。
【０１８２】
ここで、送信側送受信部９２において、ステップＳ１７３で参照したＡＣＫデータの受信間隔が遅くなったとすると、送信側装置９１は、この遅くなったＡＣＫデータの受信間隔に基づいた送信レートでデータの送信を継続する。
【０１８３】
そして、送信継続部９４が上述した送信レートでデータを継続送信中に、中継装置１００の送信バッファがそのバッファ量の、例えば半分を送信し終えている場合には、送信継続部９４は、以下の処理を実行する。即ち、送信継続部９４は、以降の送信継続部９４から送信するデータの送信レートを、例えば上述した送信レートを半分に低減した送信レートに設定する。
【０１８４】
その後、中継装置１００の送信バッファが、上述した残りのバッファ量のうち、さらにその半分を送信し終えている場合には、送信継続部９４は、以下の処理を実行する。即ち、送信継続部９４は、以降の送信継続部９４から送信するデータの送信レートを、例えば、上述した送信レートのさらに半分に低減した送信レートに設定する。
【０１８５】
送信停止監視部９３は、ステップＳ１７２において、送信バッファ９５からのデータの送信が停止していないと判定した場合（ステップＳ１７２においてＮＯ）、ステップＳ１７１に示す処理を実行する。
【０１８６】
なお、ステップ１７２において、送信側装置９１は、送信バッファ９５によるデータの送信の停止を確認し、送信継続部９４によりデータを継続送信する場合に、以下に示す１）乃至７）の何れか、またはこれらを組み合わせた制御を行ってもよい。
【０１８７】
即ち、
１）送信継続部９４がデータを継続送信する際のデータ量は、送信バッファ９５が送信可能なデータ量を越えてもよい。
【０１８８】
２）送信継続部９４がデータを継続送信する際の送信レートは、固定レートでもよいし、変動レートでもよく、変動レートの場合には、単位時間当たりの送信量が減少するように送信してもよい。
【０１８９】
３）送信継続部９４がデータを継続送信する際の総送信量は、ネットワークにおける、下り方向のデータを中継する図５に図示する中継装置１００等の送信バッファにおける既知のバッファ量か、またはその既知のバッファ量の実数倍のバッファ量を超えないように調整してもよい。
【０１９０】
４）３）項で説明したネットワークにおける、中継装置等の送信バッファの既知のバッファ量としては、過去に、通信環境の変動によりデータが喪失した際に用いられた送信量の制限値や、ウィンドウサイズを用いてもよい。
【０１９１】
なお、送信継続部９４は、中継装置のバッファ量を、例えば、送信側装置９１がネットワークを運用する際に予め通知される情報または、予めデータを大量に送信して推定する等により取得することができる。
【０１９２】
５）送信継続部９４は、データを継続送信する際に、送信側装置９１、またはネットワークにおける上り方向の受信データを中継する中継装置等で生成したダミーのＡＣＫデータを、送信側送受信部９２で受信させるようにしてもよい。
【０１９３】
また、送信継続部９４は、データを継続送信する際に、送信側装置９１の内部処理としてＡＣＫデータを受信させたものとして処理をしてもよい。
【０１９４】
６）送信側装置９１は、送信バッファ９５における送信量の制限の範囲を緩和してもよい。
【０１９５】
７）送信側装置９１は、上述した送信継続部９４が、データをＡＣＫデータの受信レートに基づいて継続送信しているときに、通信環境の変動により上り方向が通信不可能な状態から通信可能な状態に復帰した場合、以下の処理を実行してもよい。即ち、送信側装置９１は、受信側装置３１から送信されたＡＣＫデータを受信した場合には、送信側装置９１の後述する設定値および内部状態を示す各種の情報の全部または一部を変更してもよい。
【０１９６】
もしくは、送信側装置９１は、送信側装置９１の後述する設定値および内部状態を送信側装置９１がＡＣＫデータを受信しなくなる前の状態に戻してもよい。
【０１９７】
上述した７）項に示す送信側装置９１における設定値および内部状態は、例えばＴＣＰであれば、一般に知られている輻輳ウィンドウ（ｃｗｎｄ）や、スロースタート閾値（ｓｌｏｗ＿ｓｔａｒｔ＿ｔｈｒｅｓｈｏｌｄ；ｓｓｔｈｒｅｓｈ）等の設定値およびスロースタートフェーズまたは輻輳回避フェーズ等の内部状態であり、送信量の制限や、その制限を調整する処理に係る各種の情報である。
【０１９８】
しかし、送信側装置９１の設定値および内部状態を示す各種の情報は、上述した値および情報には限定されない。
【０１９９】
また、上述したステップＳ１７２において、送信停止監視部９３は、送信バッファ９５における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合に、送信バッファ９５がデータの送信を停止したと判断する例で説明した。
【０２００】
しかし、送信停止監視部９３は、上述した停止の判断条件以外で、以下に示すａ）、ｂ）またはｃ）の少なくとも何れかの条件を満たす場合に、送信バッファ９５がデータの送信を停止したと判断するようにしてもよい。即ち、
ａ）送信バッファ９５における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合で、且つ、送信側装置９１におけるデータの送信間隔が、ＲＴＴ値に基づく閾値以上に遅延した場合。
【０２０１】
ｂ）送信バッファ９５における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合で、且つ、送信側送受信部９２におけるＡＣＫデータの受信間隔が所定の閾値以上になった場合。
【０２０２】
ｃ）送信バッファ９５における送信済み且つＡＣＫ待ちデータのサイズが送信量の制限の範囲に達する場合で、且つ、送信側装置９１におけるデータの送信間隔が、ＲＴＴ値に基づく閾値以上に遅延し、且つ、送信側送受信部９２におけるＡＣＫデータの受信間隔が所定の閾値以上になった場合。
【０２０３】
上述したＲＴＴ値に基づく閾値は、例えばＲＴＴ値の実数倍などの値が設定される。
【０２０４】
引き続き、図７に示す送信側装置９１の処理の流れを説明する。
【０２０５】
送信停止監視部９３は、ステップＳ１７２において、送信側装置９１が、受信側装置３１からのＡＣＫデータを受信できずに、送信バッファ９５がデータの送信を停止していると判定した後、送信バッファ９５からのデータの送信の停止が解除されたか否かを確認する（ステップＳ１７５）。
【０２０６】
送信停止監視部９３は、ステップＳ１７５において、送信側装置９１が受信側装置３１からのＡＣＫデータを受信できないときに、送信バッファ９５におけるデータの送信の停止が解除されていないと判定する（ステップＳ１７５において、ＮＯ）。
【０２０７】
つまり、送信停止監視部９３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズ以上となり、ウィンドウに空きがない、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ≧０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部９３は、送信量の制限の範囲に達しているので、送信バッファ９５におけるデータの送信の停止が解除されていないと判定する。
【０２０８】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０２０９】
送信継続部９４は、ステップＳ１７５においてＮＯの場合、上述したステップＳ１７４に示す、ＡＣＫ受信レート継続送信処理を実行する。
【０２１０】
一方、送信停止監視部９３は、ステップＳ１７５において、送信側装置９１が受信側装置３１からのＡＣＫデータを受信できたときに、送信バッファ９５におけるデータの送信の停止が解除されたと判定する（ステップＳ１７５において、ＹＥＳ）。
【０２１１】
つまり、送信停止監視部９３は、送信済みで且つＡＣＫ待ちのデータのサイズが、ウィンドウサイズよりも小さく、ウィンドウに空きがある、「送信済み且つＡＣＫ待ちデータのサイズ−ウィンドウサイズ＜０」の条件を満たす場合に、以下の処理を行う。即ち、送信停止監視部９３は、送信量の制限の範囲に達していないので送信バッファ９５におけるデータの送信の停止が解除されたと判定する。
【０２１２】
なお、上述した判定方法は、一例であり、上述した方法には限定されない。
【０２１３】
送信バッファ９５は、ステップＳ１７５においてＹＥＳの場合、上述したステップＳ１７１に示す、データを送信する処理を再開する。
【０２１４】
その際、送信継続部９４は、送信継続部９４の送信バッファによるデータの送信を停止する。
【０２１５】
以上、本実施形態には、第２の実施形態に記載した効果よりもさらに、ネットワークにかかる負荷を抑制できる効果がある。
【０２１６】
その理由は、送信側装置９１が、ＡＣＫ受信履歴保存部９６に保存された受信間隔でＡＣＫデータを受信しているときに実際に送信可能となるデータ量のデータを、変動レートで送信するようにしたからである。
【０２１７】
＜第４の実施形態＞
次に、第４の実施形態について説明する。図６は、第４の実施形態を示すブロック図である。
【０２１８】
図６を参照すると、本実施形態における通信システム１０は、送信側装置８１と、送信側装置８１と相互に通信可能なネットワークを介して接続された受信側装置４１とを含む。
【０２１９】
送信側装置８１は、以下の構成を含む。
【０２２０】
・受信側装置４１へデータを送信すると共に、そのデータに対応する受信側装置４１からの確認応答であるＡＣＫデータを受信する送信側送受信部８２と、
・送信側送受信部８２のデータの送信が停止しているか否かを確認する送信停止監視部８３と、
・その送信停止監視部８３により、送信側送受信部８２のデータの送信が停止されたと判定した場合に、そのデータの送信を継続する送信継続部８４。
【０２２１】
また、受信側装置４１は、送信側装置８１からのデータを受信すると共に、そのデータに対応するＡＣＫデータを、送信側装置８１へ送信する受信側送受信部４２を含む。
【０２２２】
以上、本実施形態には、データおよびＡＣＫデータを待つ時間分の遅延を抑制し、通信システムとしての通信効率を改善できる効果がある。
【０２２３】
その理由は、ＡＣＫデータを待つことなくデータを継続して送信するように送信側装置８１に送信継続部８４を設けたからである。
【０２２４】
（ハードウェア構成例）
上述した実施形態において図１、図３、図５に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図８を参照して説明する。
【０２２５】
図８は、本発明の模範的な実施形態における送信側装置を実行可能な情報処理装置２００（コンピュータ）の構成を例示的に説明する図である。即ち、図８は、図１、図３、図５に示した送信側装置１１、７１、９１の各送信側装置の全体または一部の送信側装置を実現可能なサーバ端末等のコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。図８中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【０２２６】
図８に示した情報処理装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）２０１と、入力部２０２と、出力部２０３と、外部装置との通信インタフェース２０５（Ｉｎｔｅｒｆａｃｅ：以降、「通信Ｉ／Ｆ２０５」と略称する）とを含む。
【０２２７】
また、情報処理装置２００は、ハードディスク２０６（不揮発性記憶装置）と、メモリ２０７と、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の不揮発性記憶媒体２０９に格納されたデータを読み書き可能なリーダライタ２０８とを含み、これらの構成がバス２０４（通信線）を介して接続された一般的なコンピュータである。
【０２２８】
図１、図３、図５に示した送信側送受信部１２、７２、９２は、例えば入力部２０２（送信側装置の送受信部の受信部）および出力部２０３（送信側装置の送受信部の送信部）である。
【０２２９】
そして、上述した実施形態を例に説明した本発明は、図８に示した情報処理装置２００に対して、その実施形態の説明において参照したブロック構成図（図１、図３、図５）あるいはフローチャート（図２、図４、図６）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのＣＰＵ２０１に読み出して解釈し実行することによって達成される。
【０２３０】
また、当該装置内に供給されたコンピュータ・プログラムは、ハードディスク２０６等の不揮発性の記憶デバイスまたは読み書き可能な揮発性のメモリ２０７に格納すれば良い。
【０２３１】
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、ＣＤ−ＲＯＭ等の各種不揮発性記憶媒体２０９を介して当該装置内にインストールする方法や、インターネット等の通信回線および通信Ｉ／Ｆ２０５を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。
【０２３２】
そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された不揮発性記憶媒体２０９によって構成されると捉えることができる。
【０２３３】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０２３４】
この出願は、２０１５年３月１９日に出願された日本出願特願２０１５−０５５４７７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２３５】
１    通信システム
１０    通信システム
１１    送信側装置
１２    送信側送受信部
１３    送信停止監視部
１４    送信継続部
１９    共用送受信部
２０    送信バッファ
３１    受信側装置
３２    受信側送受信部
４１    受信側装置
４２    受信側送受信部
７０    通信システム
７１    送信側装置
７２    送信側送受信部
７３    送信停止監視部
７４    送信継続部
７６    ＡＣＫ履歴保存部
７９    共用送受信部
８０    送信バッファ
８１    送信側装置
８２    送信側送受信部
８３    送信停止監視部
８４    送信継続部
９０    通信システム
９１    送信側装置
９２    送信側送受信部
９３    送信停止監視部
９４    送信継続部
９５    送信バッファ
９６    ＡＣＫ履歴保存部
９９    共用送受信部
１００    中継装置
２００    情報処理装置
２０１    ＣＰＵ
２０２    入力部
２０３    出力部
２０４    バス
２０５    通信インタフェース
２０６    ハードディスク
２０７    メモリ
２０８    リーダライタ
２０９    不揮発性記憶媒体
【図１】
2016147650.tif 000003
【図２】
2016147650.tif 000004
【図３】
2016147650.tif 000005
【図４】
2016147650.tif 000006
【図５】
2016147650.tif 000007
【図６】
2016147650.tif 000008
【図７】
2016147650.tif 000009
【図８】
2016147650.tif 000010
【図９】
2016147650.tif 000011
【手続補正書】
【提出日】平成29年9月4日(2017.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信手段と、
前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、
前記送信側送受信手段による前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定された場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続する送信継続手段と
を備える送信装置。
【請求項２】
前記送信停止監視手段は、
前記送信側送受信手段が、前記送信済みのデータであって、且つ、前記確認応答を表すＡＣＫデータの受信待ちのデータである、送信済み且つＡＣＫ待ちデータのサイズと、前記ＡＣＫデータを受信することなく送信可能なデータのデータ量を示す送信量の制限の範囲とに基づいて、前記送信対象データの送信を停止したか否かを判定する
請求項１に記載の送信装置。
【請求項３】
前記送信停止監視手段は、
前記送信側送受信手段が、前記送信対象データの送信を停止したと判定する条件を、
（I）前記送信側送受信手段が有する送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが、前記送信量の制限に達した場合か、
（II）前記送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが前記送信量の制限に達した場合であり、且つ、自装置における前記送信対象データの送信間隔が、自装置から前記受信装置に前記送信対象データが送信された時刻から、送信された前記送信対象データを前記受信装置が受信し、受信した前記送信対象データを前記受信装置が確認応答したことを表す前記ＡＣＫデータを前記送信装置に送信し、送信された前記ＡＣＫデータを前記送信装置が受信するまでの、前記送信装置と前記受信装置との間において観測された遅延時間（以下、ＲＴＴ値）に基づく閾値以上に遅延した場合か、
（III）前記送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが前記送信量の制限に達した場合で、且つ、前記送信側送受信手段における前記ＡＣＫデータの受信間隔が所定の閾値以上になった場合か、
（IV）前記送信バッファにおける、前記送信済み且つＡＣＫ待ちデータのサイズが前記送信量の制限に達する場合であり、且つ、自装置における前記データの送信間隔が、前記ＲＴＴ値に基づく前記閾値以上に遅延し、且つ、前記送信側送受信手段における前記ＡＣＫデータの前記受信間隔が前記所定の閾値以上になった場合、
のうち何れかとする
請求項２に記載の送信装置。
【請求項４】
前記ＡＣＫデータを受信したときの前記受信間隔を示す情報を保存するＡＣＫ履歴保存手段を更に備え、
前記送信停止監視手段は、
前記送信側送受信手段が前記送信対象データの送信を停止したと判定した場合に、前記送信継続手段に前記ＡＣＫ履歴保存手段を参照するよう指示し、
前記送信継続手段は、
前記ＡＣＫ履歴保存手段を参照した結果得られた前記受信間隔を示す情報に基づいて、前記ＡＣＫデータを前記送信側送受信手段が継続して受信した場合に送信可能なデータ量を求め、求めた前記データ量に基づいて、前記送信対象データを送信する
請求項２に記載の送信装置。
【請求項５】
前記送信継続手段は、
自装置が送信する前記送信対象データを自装置と前記受信装置との間で中継する中継手段から、その中継手段が備える送信バッファのバッファ容量を示す情報を取得し、
前記送信側送受信手段が前記送信対象データの送信を停止したと判定した前記送信停止監視手段の指示に基づき、前記中継手段から受信した前記ＡＣＫデータの受信間隔を示す情報を保存する前記ＡＣＫ履歴保存手段を参照するよう指示し、
前記送信継続手段は、前記ＡＣＫ履歴保存手段を参照した結果得られた前記受信間隔を示す情報、および、前記中継手段の前記送信バッファのバッファ容量を示す情報に基づいて、前記ＡＣＫデータを前記送信側送受信手段が継続して受信した場合に前記送信継続手段が送信可能なデータ量を求め、
求めた前記データ量に基づいて、前記送信対象データを送信する
請求項４に記載の送信装置。
【請求項６】
前記送信側送受信手段は、
前記送信継続手段が前記送信対象データの送信を継続する際に、
（I）自装置が前記ＡＣＫデータを受信したこととするか、
（II）前記送信側送受信手段における前記送信バッファの前記送信量の制限の範囲を緩和するか、
（III）前記送信側送受信手段における前記送信バッファの前記送信量の制限の範囲を無視するか、
（IV）自装置が、前記受信装置からのダミーＡＣＫデータを受信するか、
のうちの少なくとも何れかを行う
請求項２に記載の送信装置。
【請求項７】
送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信手段と、前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、前記送信停止監視手段の指示に基づいて前記送信対象データを送信する送信継続手段とを備える送信装置の制御方法であって、
前記送信側送受信手段の前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定した場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続するよう前記送信継続手段を制御する
送信装置の制御方法。
【請求項８】
送信対象データを受信装置へ送信すると共に、前記送信対象データに対応する確認応答を、前記受信装置から受信する送信側送受信機能と、
前記送信側送受信機能における前記送信対象データの送信が停止されているか否かを確認する送信停止監視機能と、
前記送信側送受信機能による前記送信対象データの送信が停止されたと前記送信停止監視機能によって判定された場合に、前記送信対象データの送信を、前記送信側送受信機能に代わって継続する前記送信継続機能とを
コンピュータに実現させる送信装置の通信制御プログラム。
【請求項９】
送信対象データを送信可能な送信装置と、
該送信装置と相互に通信可能な通信ネットワークを介して接続され、前記送信装置からの前記送信対象データを受信した場合に確認応答を返送可能な受信装置と
を備え、
前記送信装置は、
前記送信対象データを前記受信装置へ送信すると共に、前記送信対象データに対応する前記確認応答を、前記受信装置から受信する送信側送受信手段と、
前記送信側送受信手段における前記送信対象データの送信が停止されているか否かを確認する送信停止監視手段と、
前記送信側送受信手段による前記送信対象データの送信が停止されたと前記送信停止監視手段によって判定された場合に、前記送信対象データの送信を、前記送信側送受信手段に代わって継続する前記送信継続手段と
を含む、
通信システム。
【国際調査報告】
2016147650.tif 000012
2016147650.tif 000013
2016147650.tif 000014