JP4701265B2 - 送信端末及びデータ送信方法 - Google Patents
送信端末及びデータ送信方法 Download PDFInfo
- Publication number
- JP4701265B2 JP4701265B2 JP2008109476A JP2008109476A JP4701265B2 JP 4701265 B2 JP4701265 B2 JP 4701265B2 JP 2008109476 A JP2008109476 A JP 2008109476A JP 2008109476 A JP2008109476 A JP 2008109476A JP 4701265 B2 JP4701265 B2 JP 4701265B2
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- data
- transmission buffer
- transmission
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Description
送信バッファに蓄積されているデータを所定のフロー制御に基づいて送信する送信端末及びデータ送信方法。
一般に、広域通信回線網や狭域通信回線網などの通信回線網において、送信元の端末と送信先の端末との間における通信(エンド・ツー・エンドの通信)は、当該通信回線網上に設置されているサーバ・プロキシサーバ・ゲートウェイ等(以下、サーバ等)を経由して行われる。このとき、サーバ等は、当該通信回線網上において、TCPに基づいた通信のフロー制御を行う終端端末として機能する。また、サーバ等(終端端末)における所定のフロー制御は、TCP層における所定の処理を行うTCP処理部によって行われている。
以下において、送信元の端末(送信端末)から送信先の端末(受信端末)に所定のデータが送信される方法、及び、TCP処理部によって行われる所定のフロー制御について、図面を参照しながら説明する。
図5は、送信端末から受信端末に所定のデータが送信される方法について示す図である。図5に示すように、送信端末は、各階層における所定のプロトコルに従って、所定のデータを受信端末に送信する。具体的には、送信端末は、アプリケーション層における処理を行うアプリケーション処理部において所定のデータを生成し、トランスポート層における処理を行うトランスポート処理部において所定のデータにトランスポートヘッダ(TH)を付加することによってセグメントを生成し、ネットワーク層における処理を行うネットワーク処理部においてセグメントにネットワークヘッダ(NH)を付加することによってデータグラムを生成し、データリンク層・物理層における処理を行うデータリンク処理部においてデータグラムにデータリンクヘッダ(DH)を付加することによってフレームを生成するとともに、当該フレームを受信端末に送信する。また、受信端末は、送信端末とは逆の処理を行うことにより、アプリケーション処理部において所定のデータを取得する。
図6は、送信端末のTCP処理部及び受信端末のTCP処理部において行われるフロー制御を示すシーケンス図である。図6(a)は、データの送信が正常に行われるときのフロー制御を示すシーケンス図である。
図6(a)に示すように、ステップ101aにおいて、送信端末は、各階層において所定のヘッダが付加されたデータ(1)を送信し、ステップ101bにおいて、受信端末は、当該データ(1)を受信する。
ステップ102aにおいて、受信端末は、データ(1)を受信したことを示す応答信号(ACK(1))を送信し、ステップ102bにおいて、送信端末は、当該応答信号(ACK(1))を受信する。
ステップ103において、送信端末は、データを送信する周期(送信周期)を短くしたり、データを送信する速度(送信レート)を上げたりする。
一方、図6(b)は、データの送信が正常に行われないときのフロー制御を示すシーケンス図である。
図6(b)に示すように、ステップ104aにおいて、送信端末は、各階層において所定のヘッダが付加されたデータ(2)を送信し、ステップ104bにおいて、受信端末は、当該データ(2)を受信する。
ステップ105において、受信端末は、データ(2)を受信したことを示す応答信号(ACK(3))を送信する。
ステップ106において、送信端末は、データ(2)を送信してから所定の時間が経過しても応答信号(ACK(3))が届かないため、データを送信する周期(送信周期)を長くしたり、データを送信する速度(送信レート)を下げたりする。
以上説明したように、送信端末のTCP処理部は、受信端末からの応答信号(ACK)に基づいて、所定のフロー制御を行っているが、送信端末のアプリケーション処理部は、予め設定されている所定の蓄積データ量で所定のデータをTCP処理部に送信するのみで、フロー制御を行っていなかった。
一方、ウィンドウスケールと呼ばれる新しいパラメータを用いて、大きなウィンドウデータサイズを実現すること(拡張されたTCP)によって、通信回線網上における遅延が大きい場合において、スループットの向上を図る方法が提案されている。また、通信回線網上における遅延が大きい場合において、スループットの向上を図る方法として、トランスポート層における独自のプロトコルを用いて通信のフロー制御を行う方法も提案されている(特開平7−250100号公報)。
特開平7−250100号公報
しかしながら、サーバ等のTCP処理部は、送信バッファの空き容量が予め設定されている所定の蓄積データ量よりも小さい場合には、当該送信バッファに空き容量があるにもかかわらず、送信バッファにデータを蓄積することができないエラー(No Buffer Error)が発生したものと判断してしまい、データの送信が完全に停止してしまうという問題があった。
なお、サーバ等の送信バッファでオーバーフローが発生しやすい場合としては、高速通信回線網を介して受信したデータを低速通信回線網上にサーバ等が送信する場合、サーバ等の処理速度が遅い場合などが考えられる。
また、ウィンドウスケールや独自のプロトコルを用いて、スループットの向上を図る方法においては、拡張されたTCPや独自のプロトコルを、通信を行う終端端末(送信元の端末・送信先の端末・サーバ等)の双方に導入しなければならないという問題があった。
さらに、サーバ等は、通信が行われていない時間が所定の時間(以下、キープアライブタイム)を超える(タイムアウトが発生する)と、サーバ等の間における通信の接続を切断する機能(キープアライブ機能)を具備しているが、通信回線網上に無線通信区間がある場合には、無線リソースが無駄に使用されることを回避するために、当該キープアライブタイムが短く設定される場合がある。このとき、すぐに回復可能な輻輳やわずかなパケットの消失などが発生しただけで、タイムアウトが発生する可能性が大きくなるという問題があった。
本発明は、上述の問題を解決すべくなされたものであり、拡張されたTCPや独自のプロトコルを、通信を行う終端端末(送信元の端末・送信先の端末・サーバ等)の双方に導入する必要がなく、サーバ等の送信バッファの空き容量が予め設定されている所定の蓄積データ量よりも小さい場合であっても、送信バッファに空き容量が少しでもある場合には、当該送信バッファに所定のデータを蓄積することにより、所定のデータの送信が完全に停止する可能性を軽減することができる送信端末及びデータ送信方法を提供することを目的とする。
また、本発明は、キープアライブタイムが短く設定されている場合であっても、タイムアウトが発生する可能性を軽減することができる送信端末及びデータ送信方法を提供することを目的とする。
本発明の第1の特徴は、アプリケーション層における所定の処理を行うアプリケーション処理部と、トランスポート層における所定の処理を行うトランスポート処理部とを具備する端末装置において、トランスポート処理部が、アプリケーション処理部から受信した所定のデータを送信バッファに蓄積し、蓄積された所定のデータを所定のフロー制御に基づいて送信し、アプリケーション処理部が、トランスポート処理部によって通知された送信バッファの空き容量に応じて、所定のデータをトランスポート処理部に送信することを要旨とする。
かかる特徴によれば、アプリケーション処理部が、送信バッファの空き容量に応じて、所定のデータをトランスポート処理部に送信することにより、端末装置は、送信バッファに空き容量が少しでもあれば、送信バッファに所定のデータを蓄積するとともに、送信バッファに蓄積されている所定のデータを送信することができる(所定のデータの送信が完全に停止する可能性を軽減できる)。
また、端末装置は、キープアライブタイムが短く設定されている場合であっても、送信バッファの空き容量が少しでもあれば、所定のデータを送信バッファに蓄積するとともに、送信バッファに蓄積されているデータを送信する(通信の接続が維持される)ことにより、タイムアウトが発生する可能性を軽減することができる。
本発明の第2の特徴は、本発明の第1の特徴において、アプリケーション処理部が、トランスポート処理部によって通知された送信バッファの空き容量よりも小さいデータ量で、所定のデータをトランスポート処理部に送信することを要旨とする。
かかる特徴によれば、アプリケーション処理部が、送信バッファの空き容量よりも小さいデータ量で、所定のデータをトランスポート処理部に送信することにより、端末装置は、緊急時に使用する目的などのために、送信バッファの空き容量を確保することができる。
本発明の第3の特徴は、本発明の第1の特徴又は第2の特徴において、トランスポート処理部が、アプリケーション処理部から受信した所定のデータを送信バッファに蓄積することができないときに、送信バッファの空き容量をアプリケーション処理部に通知することを要旨とする。
かかる特徴によれば、トランスポート処理部が、所定のデータを送信バッファに蓄積することができないときに、当該送信バッファの空き容量をアプリケーション処理部に送信することにより、端末装置は、必要なときに送信バッファの空き容量を確認することができる。
本発明の第4の特徴は、本発明の第1の特徴乃至第3の特徴のいずれかにおいて、アプリケーション処理部が、トランスポート処理部によって通知された送信バッファの空き容量に応じて、所定のデータをトランスポート処理部に送信する周期を変更することを特徴とする。
かかる特徴によれば、アプリケーション処理部が、例えば、送信バッファの空き容量が“0”である場合に、所定のデータをトランスポート処理部に送信する周期を長くし、送信バッファの空き容量が予め設定されている所定の蓄積データ量よりも大きい場合に、所定のデータをトランスポート処理部に送信する周期を短くすることにより、端末装置は、送信バッファにおいて発生したオーバーフローの解消を図るとともに、スループットの向上を図ることができる。
本発明の第5の特徴は、本発明の第1の特徴又は第4の特徴のいずれかの特徴において、アプリケーション処理部が、トランスポート処理部から所定のデータを受信し、通知された送信バッファの空き容量に応じて、当該所定のデータをトランスポート処理部に送信することを要旨とする。
かかる特徴によれば、所定のデータを転送する端末装置(例えば、プロキシサーバ)は、送信バッファに空き容量が少しでもあれば、送信バッファに所定のデータを蓄積するとともに、送信バッファに蓄積されている所定のデータを転送することができる。
本発明の第6の特徴は、トランスポート層における所定の処理を行うトランスポート処理部が、アプリケーション層における所定の処理を行うアプリケーション処理部から受信した所定のデータを送信バッファに蓄積し、蓄積された所定のデータを所定のフロー制御に基づいて送信するステップと、アプリケーション処理部が、トランスポート処理部によって通知された送信バッファの空き容量に応じて、所定のデータをトランスポート処理部に送信するステップとをデータ送信方法が具備することを要旨とする。
本発明によれば、サーバ等の送信バッファの空き容量が予め設定されている所定の蓄積データ量よりも小さい場合であっても、送信バッファに空き容量が少しでもある場合には、当該送信バッファに所定のデータを蓄積することにより、データの送信が完全に停止する可能性を既存のTCPを用いて軽減することができる送信端末及びデータ送信方法を提供することができる。
以下において、本実施形態における端末装置の構成について、図面を参照しながら説明する。なお、本実施形態において、端末装置は、プロキシサーバであるものとして説明するが、これに限定されるものではなく、通信回線網上に所定のデータを送信する端末(サーバ・ゲートウェイなど)であってもよいものとする。
(プロキシサーバの構成)
図1は、本実施形態におけるプロキシサーバ20が設置されている環境を説明するための図である。
図1は、本実施形態におけるプロキシサーバ20が設置されている環境を説明するための図である。
図1に示すように、プロキシサーバ20は、高速通信回線網(以下、WAN1)を介してサーバ10との通信を行い、低速通信回線網(以下、LAN2)を介して、クライアント端末30との通信を行う。
なお、本実施形態において、プロキシサーバ20は、サーバ10から受信したデータをクライアント端末30に送信するものとして説明する。
図2は、本実施形態におけるプロキシサーバ20の構成を示すブロック図である。図2に示すように、プロキシサーバ20は、受信部21と、データリンク・物理処理部22と、ネットワーク処理部23と、TCP処理部24と、TCP受信バッファ25と、TCP送信バッファ26と、アプリケーション処理部27と、アプリケーションバッファ28と、送信部29とを具備する。
受信部21は、サーバ10によって送信されたデータを、WAN1を介して受信する。
データリンク・物理処理部22は、PPP(Point to Point Protocol)などのプロトコルに基づいて、物理層・データリンク層における所定の処理を行う。具体的には、データリンク・物理処理部22は、受信部21が受信したデータをネットワーク処理部23に送信し、ネットワーク処理部23から受信したデータを受信部21に送信する。
ネットワーク処理部23は、IP(Internet Protocol)などのプロトコルに基づいて、ネットワーク層における所定の処理を行う。具体的には、ネットワーク処理部23は、ネットワーク処理部23から受信したデータをTCP処理部24に送信し、TCP処理部24から受信したデータをネットワーク処理部23に送信する。
TCP処理部24は、TCPに基づいて、TCP層における処理を行う。具体的には、TCP処理部24は、ネットワーク処理部23から受信したデータをTCP受信バッファ25に蓄積し、TCP受信バッファ25に蓄積されているデータをアプリケーション処理部27に送信する。
また、TCP処理部24は、アプリケーション処理部27から受信したデータをTCP送信バッファ26に蓄積し、TCP送信バッファ26に蓄積されているデータを所定のフロー制御に基づいてネットワーク処理部23に送信する。
さらに、TCP処理部24は、アプリケーション処理部27から受信したデータをTCP送信バッファ26に蓄積することができない場合には、そのことを示すエラー信号(No Buffer Error 信号)と、TCP送信バッファ26の空き容量を示す空き容量情報(例えば、“Available Buffer Size 300 Byte”)とをアプリケーション処理部27に送信する。
TCP受信バッファ25には、ネットワーク処理部23から受信したデータが蓄積されている。
TCP送信バッファ26には、アプリケーション処理部27から受信したデータが蓄積されている。
アプリケーション処理部27は、予め設定されている所定の蓄積データ量(例えば、1000 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信する。
また、アプリケーション処理部27は、TCP処理部24から受信したTCP送信バッファ26の空き容量を示す空き容量情報(例えば、“Available Buffer Size 300 Byte”)に応じたデータ量(300 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に送信する。
なお、アプリケーション処理部27は、TCP処理部24から受信した空き容量情報(例えば、“Available Buffer Size 300 Byte”)によって示されるTCP送信バッファ26の空き容量(300 Byte)よりも小さいデータ量(例えば、200 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信するように構成されていてもよい。
さらに、アプリケーション処理部27は、TCP処理部24から受信した空き容量情報(例えば、“Available Buffer Size 300 Byte”)に応じて、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信する周期(アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積する周期(以下、蓄積周期))を変更する。
アプリケーションバッファ28には、TCP処理部24から受信したデータが蓄積されている。
送信部29は、データリンク・物理処理部22から受信したデータを、LAN2を介してクライアント端末30に送信する。
なお、本実施形態において、TCP処理部24は、アプリケーション処理部27から受信した所定のデータをTCP送信バッファ26に蓄積し、蓄積された所定のデータを所定のフロー制御に基づいて送信するトランスポート処理部を構成し、アプリケーション処理部27は、TCP処理部24によって通知されたTCP送信バッファ26の空き容量に応じて所定のデータをTCP処理部24に送信するアプリケーション処理部を構成する。
(プロキシサーバの動作)
以下において、本実施形態におけるプロキシサーバ20の動作について、図面を参照しながら説明する。
以下において、本実施形態におけるプロキシサーバ20の動作について、図面を参照しながら説明する。
図3は、本実施形態におけるデータ蓄積処理を示すフロー図である。なお、データ蓄積処理とは、プロキシサーバ20がアプリケーションバッファ28に蓄積されているデータを、LAN2を介してクライアント端末30に送信する際に、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積する処理である。また、データ蓄積処理は、所定の周期(蓄積周期)で繰り返されるものである。
図3に示すように、ステップ20において、プロキシサーバ20は、TCP送信バッファ26の空き容量が“0”であるか否か確認する。また、プロキシサーバ20は、TCP送信バッファ26の空き容量が“0”である場合には、ステップ21の処理に移り、TCP送信バッファ26の空き容量が“0”でない場合には、ステップ22の処理に移る。
ステップ21において、プロキシサーバ20は、上限となる長さを限度として蓄積周期を長くする。
ステップ22において、プロキシサーバ20は、予め設定されている所定の蓄積データ量(例えば、1000 Byte)がTCP送信バッファ26の空き容量以下であるか否か確認する。また、プロキシサーバ20は、予め設定されている所定の蓄積データ量(例えば、1000 Byte)がTCP送信バッファ26の空き容量以下である場合には、ステップ24の処理に移り、予め設定されている所定の蓄積データ量(例えば、1000 Byte)がTCP送信バッファ26の空き容量よりも大きい場合には、ステップ23の処理に移る。
ステップ23において、プロキシサーバ20は、TCP送信バッファ26の空き容量(例えば、300 Byte)に応じたデータ量(例えば、300 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積する。
なお、プロキシサーバ20は、TCP送信バッファ26の空き容量(例えば、300 Byte)よりも小さいデータ量(例えば、200 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積するように構成されていてもよい。
ステップ24において、プロキシサーバ20は、予め設定されている所定の蓄積データ量(例えば、1000 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積する。
ステップ25において、プロキシサーバ20は、下限となる長さを限度として蓄積周期を短くする。
なお、本実施形態において、プロキシサーバ20は、ステップ21及びステップ25において蓄積周期を変更するように構成されているが、蓄積周期を変更しない(ステップ21及びステップ25の処理を行わない)ように構成されていてもよい。
以下において、上述のデータ蓄積処理において、アプリケーション処理部27とTCP処理部24との間で行われる処理について説明する。図4は、本実施形態におけるアプリケーション処理部27とTCP処理部24との間で行われる処理を示すシーケンス図である。
図4に示すように、ステップ10aにおいて、TCP処理部24は、TCP受信バッファ25に蓄積されているデータ(0)をアプリケーション処理部27に送信し、ステップ10bにおいて、アプリケーション処理部27は、当該データ(0)を受信する。
なお、TCP受信バッファ25に蓄積されているデータ(0)は、ネットワーク処理部23及びデータリンク・物理処理部22を介して、受信部21から受信したデータである。
ステップ11aにおいて、アプリケーション処理部27は、予め設定されている所定の蓄積データ量(例えば、1000 byte)で、アプリケーションバッファ28に蓄積されているデータ(1)をTCP処理部24に送信し、ステップ11bにおいて、TCP処理部24は、当該データ(1)を受信する。
ステップ12において、TCP処理部24は、アプリケーション処理部27から受信したデータ(1)のデータ量(例えば、1000 Byte)がTCP送信バッファ26の空き容量以下であるか否か確認する。また、TCP処理部24は、受信したデータ(1)のデータ量(例えば、1000 Byte)がTCP送信バッファ26の空き容量以下である場合には、ステップ15の処理に移り、受信したデータ(1)のデータ量(例えば、1000 Byte)がTCP送信バッファ26の空き容量よりも大きい場合には、ステップ13aの処理に移る。
ステップ13aにおいて、TCP処理部24は、予め設定されている所定の蓄積データ量(例えば、1000 Byte)で、アプリケーション処理部27から受信したデータ(1)をTCP送信バッファ26に蓄積することができないことを示すエラー信号(No Buffer Error信号)と、TCP送信バッファ26の空き容量を示す空き容量情報(例えば、“Available Buffer Size 0 Byte”や“Available Buffer Size 300 Byte”)とをアプリケーション処理部27に送信し、ステップ13bにおいて、アプリケーション処理部27は、当該エラー信号(No Buffer Error信号)と当該空き容量情報(例えば、“Available Buffer Size 0 Byte”や“Available Buffer Size 300 Byte”)とを受信する。
ステップ14aにおいて、アプリケーション処理部27は、ステップ13bで受信した空き容量情報(例えば、“Available Buffer Size 300 Byte”)に応じたデータ量(例えば、300 Byte)で、アプリケーションバッファ28に蓄積されているデータ(2)をTCP処理部24に送信し、ステップ14bにおいて、TCP処理部24は、当該データ(2)を受信する。
なお、アプリケーション処理部27は、ステップ13bで受信した空き容量情報(例えば、“Available Buffer Size 300 Byte”)によって示されるTCP送信バッファ26の空き容量(300 Byte)よりも小さいデータ量(例えば、200 Byte)で、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信するように構成されていてもよい。
ステップ15において、TCP処理部24は、ステップ11bで受信したデータ(1)、又は、ステップ14bで受信したデータ(2)をTCP送信バッファ26に蓄積する。
ステップ16において、TCP処理部24は、所定のフロー制御に基づいて、TCP送信バッファ26に蓄積されているデータを、ネットワーク処理部23及びデータリンク・物理処理部22を介して送信部29に送信する。
ステップ17において、アプリケーション処理部27は、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信する周期(アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積しようとする周期(蓄積周期))を変更する。具体的には、アプリケーション処理部27は、TCP処理部24からエラー信号(No Buffer Error信号)を受信しなかった場合には、下限となる長さを限度として、蓄積周期を短くする。また、アプリケーション処理部27は、ステップ13bで空き容量情報(“Available Buffer Size 0 Byte”)を受信した場合には、上限となる長さを限度として、蓄積周期を長くする。
なお、アプリケーション処理部27は、ステップ13bで空き容量情報(“Available Buffer Size 300 Byte”)を受信した場合に、当該空き容量情報に応じて、蓄積周期を変更してもよい。
また、本実施形態において、アプリケーション処理部27は、ステップ17において蓄積周期を変更するように構成されているが、蓄積周期を変更しない(ステップ17の処理を行わない)ように構成されていてもよい。
(プロキシサーバの作用、及び、効果)
本実施形態におけるプロキシサーバ20によれば、アプリケーション処理部27が、TCP送信バッファ26の空き容量に応じて、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信することにより、プロキシサーバ20は、TCP送信バッファ26に空き容量が少しでもあれば、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積するとともに、TCP送信バッファ26に蓄積されているデータを、LAN2を介してクライアント端末30に送信することができる(データの送信が完全に停止する可能性を軽減できる)。
本実施形態におけるプロキシサーバ20によれば、アプリケーション処理部27が、TCP送信バッファ26の空き容量に応じて、アプリケーションバッファ28に蓄積されているデータをTCP処理部24に送信することにより、プロキシサーバ20は、TCP送信バッファ26に空き容量が少しでもあれば、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積するとともに、TCP送信バッファ26に蓄積されているデータを、LAN2を介してクライアント端末30に送信することができる(データの送信が完全に停止する可能性を軽減できる)。
また、プロキシサーバ20は、キープアライブタイムが短く設定されている場合であっても、TCP送信バッファ26の空き容量が少しでもあれば、TCP受信バッファ25に蓄積されているデータをTCP送信バッファ26に蓄積するとともに、TCP送信バッファ26に蓄積されているデータを、LAN2を介してクライアント端末30に送信する(通信の接続が維持される)ことにより、タイムアウトが発生する可能性を軽減することができる。
さらに、TCP処理部24が、アプリケーションバッファ28に蓄積されているデータをTCP送信バッファ26に蓄積することができないときに、当該TCP送信バッファ26の空き容量をアプリケーション処理部27に送信することにより、プロキシサーバ20は、必要なときにTCP送信バッファ26の空き容量を確認することができる。
また、アプリケーション処理部27が、TCP送信バッファ26の空き容量が“0”である場合には、蓄積周期を長くし、TCP送信バッファ26の空き容量が予め設定されている所定の蓄積データ量(例えば、1000 Byte)よりも大きい場合には、蓄積周期を短くすることにより、プロキシサーバ20は、TCP送信バッファ26において発生したオーバーフローの解消を図るとともに、スループットの向上を図ることができる。
1…WAN、2…LAN、10…サーバ、20…プロキシサーバ、21…受信部、22…データリンク・物理処理部、23…ネットワーク処理部、24…TCP処理部、25…TCP受信バッファ、26…TCP送信バッファ、27…アプリケーション処理部、28…アプリケーションバッファ、29…送信部、30…クライアント端末
Claims (4)
- アプリケーション層における所定の処理を行うアプリケーション処理部と、前記アプリケーション層よりも下位のトランスポート層における所定の処理を行うトランスポート処理部とを具備しており、受信端末にデータを送信する送信端末であって、
前記アプリケーション処理部は、所定データ量のデータを前記トランスポート処理部に送信し、
前記トランスポート処理部は、前記アプリケーション処理部から受信したデータを送信バッファに蓄積し、前記送信バッファに蓄積されたデータを前記受信端末に送信し、
前記トランスポート処理部は、前記受信端末がデータの受信に成功したか否かに基づいて、前記受信端末に送信するデータのフロー制御を行い、
前記トランスポート処理部は、前記アプリケーション処理部から受信した前記所定データ量のデータを前記送信バッファに蓄積することができない場合に、エラー信号とともに、前記送信バッファの空き容量を前記アプリケーション処理部に通知し、
前記アプリケーション処理部は、前記トランスポート処理部によって前記エラー信号とともに通知された前記送信バッファの空き容量に応じて、前記送信バッファの空き容量以下のデータを前記トランスポート処理部に送信し、前記トランスポート処理部にデータを送信する送信周期を変更することを特徴とする送信端末。 - 前記アプリケーション処理部は、前記送信バッファの空き容量が前記所定データ量よりも小さい場合に、前記送信周期を長くすることを特徴とする請求項1に記載の送信端末。
- 前記アプリケーション処理部は、前記送信バッファの空き容量が前記所定データ量よりも大きい場合に、前記送信周期を短くすることを特徴とする請求項1に記載の送信端末。
- アプリケーション層における所定の処理を行うアプリケーション処理部が、前記アプリケーション層よりも下位のトランスポート層における所定の処理を行うトランスポート処理部に、所定のデータ量のデータを送信するステップと、
前記トランスポート処理部が、前記受信端末がデータの受信に成功したか否かに基づいて、前記受信端末に送信するデータのフロー制御を行うステップと、
前記トランスポート処理部が、前記アプリケーション処理部から受信した前記所定データ量のデータを送信バッファに蓄積し、前記送信バッファに蓄積されたデータを受信端末に送信するステップと、
前記トランスポート処理部が、前記アプリケーション処理部から受信した前記所定データ量のデータを前記送信バッファに蓄積することができない場合に、エラー信号とともに、前記送信バッファの空き容量を前記アプリケーション処理部に通知するステップと、
前記アプリケーション処理部が、前記トランスポート処理部によって前記エラー信号とともに通知された前記送信バッファの空き容量に応じて、前記送信バッファの空き容量以下のデータを前記トランスポート処理部に送信し、前記トランスポート処理部にデータを送信する送信周期を変更するデータ送信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008109476A JP4701265B2 (ja) | 2008-04-18 | 2008-04-18 | 送信端末及びデータ送信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008109476A JP4701265B2 (ja) | 2008-04-18 | 2008-04-18 | 送信端末及びデータ送信方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003201358A Division JP2005044047A (ja) | 2003-07-24 | 2003-07-24 | 端末装置及びデータ送信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008245302A JP2008245302A (ja) | 2008-10-09 |
JP4701265B2 true JP4701265B2 (ja) | 2011-06-15 |
Family
ID=39915994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008109476A Expired - Fee Related JP4701265B2 (ja) | 2008-04-18 | 2008-04-18 | 送信端末及びデータ送信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4701265B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101342721B1 (ko) | 2007-09-27 | 2013-12-18 | 미쓰비시 마테리알 가부시키가이샤 | ZnO 증착재와 그 제조 방법, 및 ZnO 막 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6229249A (ja) * | 1985-07-29 | 1987-02-07 | Ricoh Co Ltd | 通信制御装置 |
JPH02278357A (ja) * | 1989-04-19 | 1990-11-14 | Pfu Ltd | 送信バッファのデータ境界整列制御方式 |
JPH0341543A (ja) * | 1989-07-10 | 1991-02-22 | Fujitsu Ltd | 通信ネットワーク上の制御装置のデータバッファ制御方式 |
JPH11187367A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | 映像送信装置,映像受信装置及びこれらを用いた映像伝送システム |
JPH11308373A (ja) * | 1998-04-23 | 1999-11-05 | Sony Corp | 情報通信装置 |
JP2002271435A (ja) * | 2001-03-07 | 2002-09-20 | Mitsubishi Electric Corp | 通信装置および送信ウィンドウ制御方法 |
JP2002319991A (ja) * | 2001-04-19 | 2002-10-31 | Mitsubishi Electric Corp | 映像または音声伝送システム |
-
2008
- 2008-04-18 JP JP2008109476A patent/JP4701265B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6229249A (ja) * | 1985-07-29 | 1987-02-07 | Ricoh Co Ltd | 通信制御装置 |
JPH02278357A (ja) * | 1989-04-19 | 1990-11-14 | Pfu Ltd | 送信バッファのデータ境界整列制御方式 |
JPH0341543A (ja) * | 1989-07-10 | 1991-02-22 | Fujitsu Ltd | 通信ネットワーク上の制御装置のデータバッファ制御方式 |
JPH11187367A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | 映像送信装置,映像受信装置及びこれらを用いた映像伝送システム |
JPH11308373A (ja) * | 1998-04-23 | 1999-11-05 | Sony Corp | 情報通信装置 |
JP2002271435A (ja) * | 2001-03-07 | 2002-09-20 | Mitsubishi Electric Corp | 通信装置および送信ウィンドウ制御方法 |
JP2002319991A (ja) * | 2001-04-19 | 2002-10-31 | Mitsubishi Electric Corp | 映像または音声伝送システム |
Also Published As
Publication number | Publication date |
---|---|
JP2008245302A (ja) | 2008-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4248550B2 (ja) | マルチtcp確認応答を用いたtcp輻輳制御システム及びその方法 | |
US8856354B1 (en) | TCP-over-TCP using multiple TCP streams | |
EP2273738B1 (en) | Discovering path maximum transmission unit size | |
JP5523350B2 (ja) | Tcpフロー制御のための方法及び装置 | |
US8681610B1 (en) | TCP throughput control by imposing temporal delay | |
EP1670213B1 (en) | Verifying and maintaining connection liveliness in a reliable messaging for web services environment | |
JP5005003B2 (ja) | トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体 | |
US8306062B1 (en) | Method and apparatus of adaptive large receive offload | |
EP3075110B1 (en) | Controlling a transmission control protocol window size | |
CN109412946B (zh) | 一种确定回源路径的方法、装置、服务器及可读存储介质 | |
US20130195004A1 (en) | Method and apparatus for multipath protocol packet relay | |
JP2017520996A (ja) | トランスペアレント性能拡張プロキシを動作させるための方法およびコンピュータ・プログラム、ならびにトランスペアレント性能拡張プロキシ | |
JP5080654B2 (ja) | 通信装置、通信方法 | |
CN112583874A (zh) | 异构网络的报文转发方法及装置 | |
JP4174054B2 (ja) | さまざまな輻輳要因を知らせる、パケットネットワークにおける輻輳通知のための方法及び装置 | |
US9819730B2 (en) | System and method for network access based on application layer data | |
JP4229807B2 (ja) | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
US10104001B2 (en) | Systems and methods to early detect link status of multiple paths through an explicit congestion notification based proxy | |
JP4701265B2 (ja) | 送信端末及びデータ送信方法 | |
JP2005044047A (ja) | 端末装置及びデータ送信方法 | |
CN115348336A (zh) | 异构数据流的通用传输架构 | |
JP7111162B2 (ja) | 通信制御装置、方法、及びプログラム | |
US20110164558A1 (en) | Using a proxy to improve a packet based wireless network | |
JP6933207B2 (ja) | 送信装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110307 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |