JP2008085950A - Tcpを用いたレート制御方法、サーバ及びプログラム - Google Patents

Tcpを用いたレート制御方法、サーバ及びプログラム Download PDF

Info

Publication number
JP2008085950A
JP2008085950A JP2006266684A JP2006266684A JP2008085950A JP 2008085950 A JP2008085950 A JP 2008085950A JP 2006266684 A JP2006266684 A JP 2006266684A JP 2006266684 A JP2006266684 A JP 2006266684A JP 2008085950 A JP2008085950 A JP 2008085950A
Authority
JP
Japan
Prior art keywords
window size
server
congestion
load state
size
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.)
Granted
Application number
JP2006266684A
Other languages
English (en)
Other versions
JP4627290B2 (ja
Inventor
Hideyuki Kogashira
秀行 小頭
Hironori Furuya
裕規 古屋
Hajime Nakamura
中村  元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2006266684A priority Critical patent/JP4627290B2/ja
Publication of JP2008085950A publication Critical patent/JP2008085950A/ja
Application granted granted Critical
Publication of JP4627290B2 publication Critical patent/JP4627290B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】膨大な数の端末と通信するサーバに、大量のトラヒックが集中することによる輻輳負荷状態をできる限り低減し、端末間のリソース利用の公平性を確保することができる、レート制御方法、サーバ及びプログラムを提供する。
【解決手段】サーバが、複数の端末からのアクセスによる輻輳負荷状態(回線帯域幅BandWidth[bit/s]、接続中のコネクション数NumConncetions)を測定し、その輻輳負荷状態に基づいて算出ウィンドウサイズkwndを算出する。そして、サーバは、算出ウィンドウサイズkwndと空き受信バッファサイズbuffszとを比較し、小さい方のサイズを受信ウィンドウサイズrwndとして決定し、その受信ウィンドウサイズrwndをTCPヘッダに含めた確認応答を、端末へ送信する。端末は、確認応答ACKメッセージに含まれる受信ウィンドウサイズに応じて、データの送信レートを制御する。
【選択図】図1

Description

本発明は、TCP(Transmission Control Protocol)を用いたレート制御方法、サーバ及びプログラムに関する。
通信回線としてはインターネットが一般化し、ユーザは、パーソナルコンピュータ又は携帯電話機のような端末を用いて、インターネットに接続することができる。インターネットには、WWWサーバのようなサーバが接続されており、端末は、サーバとの間でデータを送受信することができる。
サーバと端末との間でファイルデータを転送する場合、通常、TCP/IP(Transmission Control Protocol / Internet Protocol)のコネクションが設定される。TCPは、フロー制御機能、再送制御機能、コネクション管理機能、セッション多重化機能等を有する。
フロー制御については、TCPヘッダに含まれる受信ウィンドウサイズrwndを用いて、相手方装置の受信バッファサイズに応じて、データの送信が制御される。これにより、コネクション間のスループットのバラつきを抑えると共に、不要なフロー制御を回避する。例えば、適応的にTCPのウィンドウサイズを変更する技術(例えば特許文献1及び2参照)や、ルータによって輻輳制御をする技術(例えば特許文献3参照)がある。
特開2005−244517号公報 特開2006−14329号公報 特開2002−314592号公報
しかしながら、前述した特許文献に記載された技術は、コネクション毎のレート制御にすぎず、複数の端末と1つのサーバとの間のレート制御を対象としたものではない。
一方で、膨大な数の端末と1つのサーバとの間のレート制御については、端末側でレート制御を有効に動作させなければ、サーバは大量のトラヒックを処理することが困難となる。また、サーバに対して、特定の端末からの多くのトラヒックに処理負荷がかかることも回避する必要がある。
そこで、本発明は、膨大な数の端末と通信するサーバに、大量のトラヒックが集中することによる輻輳負荷状態をできる限り低減し、端末間のリソース利用の公平性を確保することができる、レート制御方法、サーバ及びプログラムを提供することを目的とする。
本発明によれば、複数の端末からサーバへ送信されるデータのレート制御方法において、
サーバが、複数の端末からのアクセスによる輻輳負荷状態を測定する第1のステップと、
サーバが、輻輳負荷状態に基づいて算出ウィンドウサイズを算出する第2のステップと、
サーバが、算出ウィンドウサイズと空き受信バッファサイズとを比較し、小さい方のサイズを受信ウィンドウサイズとして決定する第3のステップと
受信ウィンドウサイズをTCPヘッダに含めた確認応答を、端末へ送信する第4のステップと、
端末が、確認応答に含まれる受信ウィンドウサイズに応じて、データの送信レートを制御する第5のステップと
を有することを特徴とする。
本発明によれば、サーバから端末へ送信されるデータのレート制御方法において、
サーバが、複数の端末からのアクセスによる輻輳負荷状態を測定する第1のステップと、
サーバが、輻輳負荷状態に基づいて算出ウィンドウサイズを算出すると共に、TCPの輻輳ウィンドウサイズを導出する第2のステップと、
サーバが、算出ウィンドウサイズと輻輳ウィンドウサイズとを比較し、小さい方のサイズを第1送信ウィンドウサイズとする第3のステップと、
サーバが、端末から確認応答を受信した際に、該確認応答に含まれる受信ウィンドウサイズと、第1送信ウィンドウサイズとを比較し、小さい方のサイズを第2送信ウィンドウサイズとする第4のステップと、
サーバが、第2送信ウィンドウサイズに応じて、データの送信レートを制御する第5のステップと
を有することを特徴とする。
本発明のレート制御方法における他の実施形態によれば、
輻輳負荷状態は、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとであり、
算出ウィンドウサイズkwndを、
kwnd[byte]=Rate[bit/s]×RTT[s]/8
Rate[bit/s]=BandWidth[bit/s]/NumConncetions
RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
によって算出することも好ましい。
本発明によれば、複数の端末から受信するデータのレートを制御するサーバにおいて、
端末からデータを受信し、確認応答を返信するデータ受信手段と、
複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
算出ウィンドウサイズと空き受信バッファサイズとを比較し、小さい方のサイズを受信ウィンドウサイズとする受信ウィンドウサイズ決定手段と、
受信ウィンドウサイズをTCPヘッダに含めた確認応答を生成する確認応答生成手段とを有することを特徴とする。
本発明によれば、複数の端末へ送信するデータのレートを制御するサーバにおいて、
データをレート制御に基づいて端末へ送信すると共に、確認応答を受信するデータ送信手段と、
複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
TCPの輻輳ウィンドウサイズを導出する輻輳ウィンドウサイズ導出手段と、
算出ウィンドウサイズと輻輳ウィンドウサイズとを比較し、小さい方のサイズを第1送信ウィンドウサイズとする第1送信ウィンドウサイズ決定手段と、
端末から受信した確認応答に含まれる受信ウィンドウサイズと、第1送信ウィンドウサイズとを比較し、小さい方のサイズを第2送信ウィンドウサイズとする第2送信ウィンドウサイズ決定手段と
を有し、
データ送信手段は、第2送信ウィンドウサイズに応じて、データの送信レートを制御することを特徴とする。
本発明のサーバにおける他の実施形態によれば、
輻輳負荷状態は、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとであり、
ウィンドウサイズ算出手段は、算出ウィンドウサイズkwndを、
kwnd[byte]=Rate[bit/s]×RTT[s]/8
Rate[bit/s]=BandWidth[bit/s]/NumConncetions
RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
によって算出することも好ましい。
本発明によれば、複数の端末から受信するデータのレートを制御するサーバに搭載されたコンピュータを機能させるプログラムにおいて、
端末からデータを受信し、確認応答を返信するデータ受信手段と、
複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
算出ウィンドウサイズと空き受信バッファサイズとを比較し、小さい方のサイズを受信ウィンドウサイズとする受信ウィンドウサイズ決定手段と、
受信ウィンドウサイズをTCPヘッダに含めた確認応答を生成する確認応答生成手段と、してコンピュータを機能させることを特徴とする。
本発明によれば、複数の端末へ送信するデータのレートを制御するサーバに搭載されたコンピュータを機能させるプログラムにおいて、
データをレート制御に基づいて端末へ送信すると共に、確認応答を受信するデータ送信手段と、
複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
TCPの輻輳ウィンドウサイズを導出する輻輳ウィンドウサイズ導出手段と、
算出ウィンドウサイズと輻輳ウィンドウサイズとを比較し、小さい方のサイズを第1送信ウィンドウサイズとする第1送信ウィンドウサイズ決定手段と、
端末から受信した確認応答に含まれる受信ウィンドウサイズと、第1送信ウィンドウサイズとを比較し、小さい方のサイズを第2送信ウィンドウサイズとする第2送信ウィンドウサイズ決定手段と
してコンピュータを機能させ、データ送信手段は、第2送信ウィンドウサイズに応じて、データの送信レートを制御するように機能させる。
本発明のプログラムにおける他の実施形態によれば、
輻輳負荷状態は、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとであり、
ウィンドウサイズ算出手段は、算出ウィンドウサイズkwndを、
kwnd[byte]=Rate[bit/s]×RTT[s]/8
Rate[bit/s]=BandWidth[bit/s]/NumConncetions
RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
によって算出するようにコンピュータを機能させることも好ましい。
本発明におけるレート制御方法、サーバ及びプログラムによれば、膨大な数の端末と通信するサーバに、大量のトラヒックが集中することによる輻輳負荷状態をできる限り低減し、端末間のリソース利用の公平性を確保することができる。
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
最初に、ウィンドウ制御を用いた、TCPのフロー制御について簡単に説明する。ウィンドウ制御によれば、ウィンドウサイズ(バイト数)だけのデータを、受信装置からの確認応答ACKを受信することなく連続的に送信することができる。送信装置は、受信装置から確認応答ACKを受信することにより、受信が確認された分だけ、ウィンドウをスライドさせる(スライディングウィンドウサイズ)。
TCPにおけるデータ送信には、「受信ウィンドウサイズrwnd(Receive Windows Size)」と「輻輳ウィンドウサイズcwnd(Congestion Windows Size)」との2つのウィンドウを用いる。
「受信ウィンドウサイズ」rwndは、受信装置が、確認応答ACKによって送信装置へ送信するものであり、受信装置の空き受信バッファサイズbuffszを表す。受信装置の空き受信バッファサイズbuffszが少なくなると、受信装置は、送信装置へ送信する受信ウィンドウサイズrwndを小さくする。本発明によれば、確認応答ACKに含まれる受信ウィンドウサイズrwndは、空き受信バッファサイズbuffszに対して更に輻輳負荷状態を反映したものとなる。
「輻輳ウィンドウサイズ」cwndは、送信装置によって決定されるものであり、受信装置へ送信するものではない。輻輳ウィンドウサイズは、確認応答ACKの受信状況に基づいて制御されるものであり、TCPのバージョンによって様々な計算方法で算出される。
実際に確認応答なしに送信できるデータサイズは、確認応答ACKによって受信した「受信ウィンドウサイズ」と、算出された「輻輳ウィンドウサイズ」とを比較して、小さい方のデータサイズとなる。
また、TCPにおけるデータ受信には、コネクション確立時には、コネクション当たりの最大受信バッファサイズmax-buffszが設定される。最大受信バッファサイズmax-buffszは、サーバが使用可能なメモリ量などに応じて、事前に設定される固定値である。また、最大受信バッファサイズmax-buffszは、コネクション確立後、コネクションが確立している間に変更されることはない。従って、空き受信バッファサイズbuffszは、最大受信バッファサイズmax-buffszを越えることはない。即ち、確認応答ACKのヘッダに含まれる受信ウィンドウサイズrwndは、最大受信バッファサイズbuffszを越えることはない。
図1は、本発明におけるシステム構成図である。
サーバ1は、インターネット3を介して確立されたTCPコネクションを用いて、複数の端末2とデータを送受信する。
最初に、サーバ1の機能構成について説明する。サーバ1は、コンテンツ蓄積部100と、レート制御可能なデータ送信部111と、データ受信部121と、輻輳負荷状態測定部101と、ウィンドウサイズ算出部102と、輻輳ウィンドウサイズ導出部112と、第1送信ウィンドウサイズ決定部113と、第2送信ウィンドウサイズ決定部114と、確認応答生成部122と、受信ウィンドウサイズ決定部123とを有する。これら機能部は、サーバに搭載されたコンピュータを機能させるプログラムを実行することによっても実現できる。
コンテンツ蓄積部100は、コンテンツデータを蓄積する。データ受信部121から通知された要求に応じて、コンテンツデータをデータ送信部111へ通知する。
データ送信部111は、端末2へデータを送信し、それに対して確認応答ACKを受信する。尚、データ送信部111は、確認応答ACKを受信すると、その中から受信ウィンドウサイズrwndを取得する。受信ウィンドウサイズrwndは、第2送信ウィンドウサイズ決定部114へ通知される。
データ受信部121は、端末2からデータを受信し、それに対して確認応答ACKを返信する。また、データ受信部121は、受信したデータをコンテンツ蓄積部100へ通知すると共に、現在の空き受信バッファサイズbuffszを受信ウィンドウサイズ決定部123へ通知する。
輻輳負荷状態測定部101は、データ送信部111及びデータ受信部121を監視し、複数の端末2からのアクセスによる輻輳負荷状態を測定する。輻輳負荷状態は、例えば、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとである。
ウィンドウサイズ算出部102は、輻輳負荷状態に基づいて、以下の式によって算出ウィンドウサイズkwndを算出する。算出ウィンドウサイズkwndは、1本のコネクション当たりで使用可能なウィンドウサイズを表し、端末間のリソース利用の公平性を確保する。
kwnd[byte]=Rate[bit/s]×RTT[s]/8
Rate[bit/s]=BandWidth[bit/s]/NumConncetions
RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
算出ウィンドウサイズkwndは、データ送信については第1送信ウィンドウサイズ決定部113へ通知され、データ受信については受信ウィンドウサイズ決定部123へ通知される。
受信ウィンドウサイズ決定部123は、ウィンドウサイズ算出部102から算出ウィンドウサイズkwndを受け取り、データ受信部121から空き受信バッファサイズbuffszを受け取る。そして、受信ウィンドウサイズ決定部123は、算出ウィンドウサイズkwndと空き受信バッファサイズbuffszとを比較し、小さい方のサイズを受信ウィンドウサイズrwndとして決定する。決定された受信ウィンドウサイズrwndは、確認応答生成部122へ通知される。
空き受信バッファサイズbuffszは、コネクション確立時に設定された最大受信バッファサイズmax-buffszを越えることはない。従って、受信ウィンドウサイズrwndも、最大受信バッファサイズmax-buffszを越えることはない。更に、本発明によれば、受信ウィンドウサイズrwndは、空き受信バッファサイズbuffszを越えることもない。即ち、本発明の特徴的機能は、算出ウィンドウサイズkwndが、空き受信バッファサイズbuffszよりも小さい場合にのみ有効となる。この場合にのみ、通常のTCPにおける受信ウィンドウサイズrwndと、本発明における受信ウィンドウサイズrwnd(=算出ウィンドウサイズkwnd)とが異なる。
確認応答生成部122は、確認応答ACKのTCPヘッダに、受信ウィンドウサイズrwndを含める。生成された確認応答ACKは、データ受信部121へ通知され、端末2へ送信される。これにより、端末2は、受信した確認応答ACKにおけるTCPヘッダの受信ウィンドウサイズrwndに応じて、サーバ1へのデータの送信レートが制御される。
図2は、TCPヘッダのフォーマットである。確認応答ACKのビットと、受信ウィンドウサイズrwndとが表されている。
輻輳ウィンドウサイズ導出部112は、TCPの輻輳ウィンドウサイズcwndを算出する。輻輳ウィンドウサイズcwndは、TCPのバージョンによって様々な計算方法で算出される。
第1送信ウィンドウサイズ決定部113は、ウィンドウサイズ算出部102から出力された算出ウィンドウサイズkwndと、輻輳ウィンドウサイズ導出部112から出力された輻輳ウィンドウサイズcwndとを比較する。そして、小さい方のサイズを第1送信ウィンドウサイズwnd1とする。決定された第1送信ウィンドウサイズwnd1は、第2送信ウィンドウサイズ決定部114へ通知される。
第2送信ウィンドウサイズ決定部114は、データ送信部111から通知された受信ウィンドウサイズrwndと、第1送信ウィンドウサイズwnd1とを比較する。そして、小さい方のサイズを第2送信ウィンドウサイズwnd2とする。決定された第2送信ウィンドウサイズwnd2は、データ送信部111へ通知される。データ送信部111は、第2送信ウィンドウサイズwnd2に応じて、データの送信レートを制御する。
次に、端末2の機能構成について説明する。端末2は、レート制御可能なデータ送信部21と、データ受信部22とを有する。これら機能部は、端末に搭載されたコンピュータを機能させるプログラムを実行することによっても実現できる。
データ送信部21は、サーバ1へデータを送信し、それに対して確認応答ACKを受信する。尚、データ送信部21は、確認応答ACKを受信すると、その中から受信ウィンドウサイズrwndを取得する。受信ウィンドウサイズrwndに応じて、データの送信レートが制御される。
データ受信部22は、端末2からデータを受信し、それに対して確認応答ACKを返信する。尚、データ受信部22は、輻輳負荷状態と空きバッファサイズに応じて算出した受信ウィンドウサイズrwndを、確認応答ACKのTCPヘッダに含め、その確認応答ACKを送信する。
図3は、本発明におけるシーケンス図である。
最初に、端末2からサーバ1へ送信されるデータのレート制御について説明する。
(S301)端末2とサーバ1との間で、コネクションが確立される。TCPコネクションを確立する場合には、SYNの交換による3ウェイハンドシェイクがなされる。サーバ1は、このコネクション確立時及びその後、データの送受信に対して転送遅延値RTTを測定する。コネクション確立時の受信バッファは空であるために、空き受信バッファサイズbuffszは、必然的に最大受信バッファサイズmax-buffszとして決定される。図3によれば、例えば、サーバ1の最大受信ウィンドウサイズmax-buffszが500Byteに決定されている。
(S302)端末2は、受信ウィンドウサイズ500Byte以下となる400Byteのデータを、シーケンス番号6001を用いてサーバ1へ送信する。
(S303)サーバ1は、受信ウィンドウサイズ500Byteのうち400Byteを受信したので、残りの受信バッファサイズは100Byteである。サーバ1は、シーケンス番号6401で且つ受信ウィンドウサイズrwnd=100Byteとなる確認応答ACKを端末2へ返信する。
(S304)端末2は、受信ウィンドウサイズ100Byteのうち100Byteのデータを、シーケンス番号6401を用いてサーバ1へ送信する。
(S305)サーバ1は、受信ウィンドウサイズ100Byteのうち100Byteを受信したので、残りの受信バッファサイズは0Byteである。サーバ1は、確認シーケンス番号6501で且つ受信ウィンドウサイズrwnd=0Byteとなる確認応答ACKを端末2へ返信する。
ここで、サーバ1は、コネクション確立時よりも輻輳負荷状態が増加したとする。輻輳負荷状態の増加としては、例えば、サーバ1へ接続する端末数が増えた場合がある。
サーバ1は、輻輳負荷状態(回線帯域幅BandWidth[bit/s]、接続中のコネクション数NumConncetions)から、端末2に対する算出ウィンドウサイズkwndを算出する。例えば、算出ウィンドウサイズkwnd=300Byteとなったとする。また、サーバ1は、先に受信したデータに対する受信処理が全て終了しているとする。そうすると、ここで、算出ウィンドウサイズkwnd=300Byteと、最大受信バッファサイズmax-buffsz=500Byteとを比較し、小さい方の300Byteが、受信ウィンドウサイズrwndとして更新される。
(S306)サーバ1は、確認シーケンス番号6501で且つ受信ウィンドウサイズrwnd=300Byteとなる確認応答ACKを端末2へ送信する。これにより、端末2は、再び、サーバ1に対してデータを送信する。
次に、サーバ1から端末2へ送信されるデータのレート制御について説明する。
(S311)サーバ1は、データを端末2へ送信する。このとき、サーバ1は、輻輳負荷状態(回線帯域幅BandWidth[bit/s]、接続中のコネクション数NumConncetions)から、端末2に対する算出ウィンドウサイズkwndを算出する。一方で、サーバ1は、輻輳ウィンドウサイズcwndを導出する。
図4は、輻輳ウィンドウサイズcwndの一般的な決定方法のグラフである。
輻輳ウィンドウサイズは、初期値1Byteからスロースタートさせ、閾値(輻輳a)以下のときは指数関数的に、輻輳ウィンドウサイズcwndを増加させる。ここで、確認応答ACKを受信しなくても送信できる最大の輻輳ウィンドウサイズcwndは、輻輳aである。輻輳aに達し、その後、再送制御によって受信が確認され、輻輳が回避されると、再びスロースタートさせ、輻輳ウィンドウサイズcwndを指数関数的に増加させていく。そして、輻輳a/2に達すると、輻輳ウィンドウサイズcwndは、線形的に増加させていく。線形増加における最大の輻輳ウィンドウサイズcwndは、輻輳b(<輻輳a)となる。このとき、輻輳回避しても、輻輳ウィンドウサイズcwndは、輻輳b/2までにしか減少しない。その後、再び、線形増加によって増加する。
図3のS311に戻って、算出ウィンドウサイズkwndと、輻輳ウィンドウサイズcwndとを比較し小さい方のサイズを、第1送信ウィンドウサイズwnd1とする。
(S312)サーバ1は、端末2から、シーケンス番号6401及び受信ウィンドウサイズrwnd=100となる確認応答ACKを受信する。ここで、サーバ1は、受信ウィンドウサイズrwndと、第1送信ウィンドウサイズwnd1とを比較し、小さい方のサイズを、第2送信ウィンドウサイズwnd2とする。
(S313)サーバ1は、第2送信ウィンドウサイズwnd2に応じて、送信レートを制御する。
以上、詳細に説明したように、本発明におけるレート制御方法、サーバ及びプログラムによれば、膨大な数の端末と通信するサーバに、大量のトラヒックが集中することによる輻輳負荷状態をできる限り低減し、端末間のリソース利用の公平性を確保することができる。
本発明のシステムは、特に、視聴者参加型放送番組が放送されるような通信放送連携システムに有効に作用する。放送番組の内容によっては、視聴者が操作する端末から、ある時間帯に、特定のサーバへ集中してアクセスされる場合がある。このような場合に、本発明を適用することによって、端末側のレート制御が有効に働き、サーバの輻輳負荷状態が回避される。
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
本発明におけるシステム構成図である。 TCPヘッダのフォーマットである。 本発明におけるシーケンス図である。 輻輳ウィンドウサイズcwndの一般的な決定方法のグラフである。
符号の説明
1 サーバ
100 コンテンツ蓄積部
101 輻輳負荷状態測定部
102 ウィンドウサイズ算出部
111 データ送信部
112 輻輳ウィンドウサイズ導出部
113 第1送信ウィンドウサイズ決定部
114 第2送信ウィンドウサイズ決定部
121 データ受信部
122 確認応答生成部
123 受信ウィンドウサイズ決定部
2 端末
21 データ送信部
22 データ受信部
3 インターネット

Claims (9)

  1. 複数の端末からサーバへ送信されるデータのレート制御方法において、
    前記サーバが、複数の端末からのアクセスによる輻輳負荷状態を測定する第1のステップと、
    前記サーバが、前記輻輳負荷状態に基づいて算出ウィンドウサイズを算出する第2のステップと、
    前記サーバが、前記算出ウィンドウサイズと空き受信バッファサイズとを比較し、小さい方のサイズを受信ウィンドウサイズとして決定する第3のステップと
    前記受信ウィンドウサイズをTCP(Transmission Control Protocol)ヘッダに含めた確認応答を、前記端末へ送信する第4のステップと、
    前記端末が、前記確認応答に含まれる受信ウィンドウサイズに応じて、データの送信レートを制御する第5のステップと
    を有することを特徴とするレート制御方法。
  2. サーバから端末へ送信されるデータのレート制御方法において、
    前記サーバが、複数の端末からのアクセスによる輻輳負荷状態を測定する第1のステップと、
    前記サーバが、前記輻輳負荷状態に基づいて算出ウィンドウサイズを算出すると共に、TCPの輻輳ウィンドウサイズを導出する第2のステップと、
    前記サーバが、前記算出ウィンドウサイズと前記輻輳ウィンドウサイズとを比較し、小さい方のサイズを第1送信ウィンドウサイズとする第3のステップと、
    前記サーバが、前記端末から確認応答を受信した際に、該確認応答に含まれる受信ウィンドウサイズと、第1送信ウィンドウサイズとを比較し、小さい方のサイズを第2送信ウィンドウサイズとする第4のステップと、
    前記サーバが、第2送信ウィンドウサイズに応じて、データの送信レートを制御する第5のステップと
    を有することを特徴とするレート制御方法。
  3. 前記輻輳負荷状態は、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとであり、
    前記算出ウィンドウサイズkwndを、
    kwnd[byte]=Rate[bit/s]×RTT[s]/8
    Rate[bit/s]=BandWidth[bit/s]/NumConncetions
    RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
    によって算出することを特徴とする請求項1又は2に記載のレート制御方法。
  4. 複数の端末から受信するデータのレートを制御するサーバにおいて、
    前記端末からデータを受信し、確認応答を返信するデータ受信手段と、
    複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
    前記輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
    前記算出ウィンドウサイズと空き受信バッファサイズとを比較し、小さい方のサイズを受信ウィンドウサイズとする受信ウィンドウサイズ決定手段と、
    前記受信ウィンドウサイズをTCPヘッダに含めた確認応答を生成する確認応答生成手段と
    を有することを特徴とするサーバ。
  5. 複数の端末へ送信するデータのレートを制御するサーバにおいて、
    データをレート制御に基づいて前記端末へ送信すると共に、確認応答を受信するデータ送信手段と、
    複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
    前記輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
    TCPの輻輳ウィンドウサイズを導出する輻輳ウィンドウサイズ導出手段と、
    前記算出ウィンドウサイズと前記輻輳ウィンドウサイズとを比較し、小さい方のサイズを第1送信ウィンドウサイズとする第1送信ウィンドウサイズ決定手段と、
    前記端末から受信した前記確認応答に含まれる受信ウィンドウサイズと、第1送信ウィンドウサイズとを比較し、小さい方のサイズを第2送信ウィンドウサイズとする第2送信ウィンドウサイズ決定手段と
    を有し、
    前記データ送信手段は、第2送信ウィンドウサイズに応じて、データの送信レートを制御することを特徴とするサーバ。
  6. 前記輻輳負荷状態は、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとであり、
    前記ウィンドウサイズ算出手段は、前記算出ウィンドウサイズkwndを、
    kwnd[byte]=Rate[bit/s]×RTT[s]/8
    Rate[bit/s]=BandWidth[bit/s]/NumConncetions
    RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
    によって算出することを特徴とする請求項4又は5に記載のサーバ。
  7. 複数の端末から受信するデータのレートを制御するサーバに搭載されたコンピュータを機能させるプログラムにおいて、
    前記端末からデータを受信し、確認応答を返信するデータ受信手段と、
    複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
    前記輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
    前記算出ウィンドウサイズと空き受信バッファサイズとを比較し、小さい方のサイズを受信ウィンドウサイズとする受信ウィンドウサイズ決定手段と、
    前記受信ウィンドウサイズをTCPヘッダに含めた確認応答を生成する確認応答生成手段と
    してコンピュータを機能させることを特徴とするサーバ用プログラム。
  8. 複数の端末へ送信するデータのレートを制御するサーバに搭載されたコンピュータを機能させるプログラムにおいて、
    データをレート制御に基づいて前記端末へ送信すると共に、確認応答を受信するデータ送信手段と、
    複数の端末からのアクセスによる輻輳負荷状態を測定する輻輳負荷状態測定手段と、
    前記輻輳負荷状態に基づいて算出ウィンドウサイズを算出するウィンドウサイズ算出手段と、
    TCPの輻輳ウィンドウサイズを導出する輻輳ウィンドウサイズ導出手段と、
    前記算出ウィンドウサイズと前記輻輳ウィンドウサイズとを比較し、小さい方のサイズを第1送信ウィンドウサイズとする第1送信ウィンドウサイズ決定手段と、
    前記端末から受信した前記確認応答に含まれる受信ウィンドウサイズと、第1送信ウィンドウサイズとを比較し、小さい方のサイズを第2送信ウィンドウサイズとする第2送信ウィンドウサイズ決定手段と
    してコンピュータを機能させ、前記データ送信手段は、第2送信ウィンドウサイズに応じて、データの送信レートを制御するように機能させることを特徴とするサーバ用プログラム。
  9. 前記輻輳負荷状態は、回線帯域幅BandWidth[bit/s]と、接続中のコネクション数NumConncetionsとであり、
    前記ウィンドウサイズ算出手段は、前記算出ウィンドウサイズkwndを、
    kwnd[byte]=Rate[bit/s]×RTT[s]/8
    Rate[bit/s]=BandWidth[bit/s]/NumConncetions
    RTT:コネクション確立時又は確立後に観測した転送遅延値[second]
    によって算出するようにコンピュータを機能させることを特徴とする請求項7又は8に記載のサーバ用プログラム。
JP2006266684A 2006-09-29 2006-09-29 Tcpを用いたレート制御方法、サーバ及びプログラム Expired - Fee Related JP4627290B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006266684A JP4627290B2 (ja) 2006-09-29 2006-09-29 Tcpを用いたレート制御方法、サーバ及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006266684A JP4627290B2 (ja) 2006-09-29 2006-09-29 Tcpを用いたレート制御方法、サーバ及びプログラム

Publications (2)

Publication Number Publication Date
JP2008085950A true JP2008085950A (ja) 2008-04-10
JP4627290B2 JP4627290B2 (ja) 2011-02-09

Family

ID=39356279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006266684A Expired - Fee Related JP4627290B2 (ja) 2006-09-29 2006-09-29 Tcpを用いたレート制御方法、サーバ及びプログラム

Country Status (1)

Country Link
JP (1) JP4627290B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009272764A (ja) * 2008-05-01 2009-11-19 Fujitsu Ltd 通信システム及び呼制御装置
JP2010206608A (ja) * 2009-03-04 2010-09-16 Nec Corp 送信装置、送信レート算出方法及び送信レート算出プログラム
JP2015510740A (ja) * 2012-02-17 2015-04-09 アップル インコーポレイテッド ネットワークトラフィックにおける到着間遅延の低減

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000134279A (ja) * 1998-10-22 2000-05-12 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロー制御方法
JP2003078560A (ja) * 2001-09-05 2003-03-14 Oki Electric Ind Co Ltd トランスポートレイヤプロトコルにおけるフロー制御方式
JP2003124984A (ja) * 2001-10-18 2003-04-25 Mitsubishi Electric Corp データ配信管理装置、データ配信管理システムおよびデータ配信管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000134279A (ja) * 1998-10-22 2000-05-12 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロー制御方法
JP2003078560A (ja) * 2001-09-05 2003-03-14 Oki Electric Ind Co Ltd トランスポートレイヤプロトコルにおけるフロー制御方式
JP2003124984A (ja) * 2001-10-18 2003-04-25 Mitsubishi Electric Corp データ配信管理装置、データ配信管理システムおよびデータ配信管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009272764A (ja) * 2008-05-01 2009-11-19 Fujitsu Ltd 通信システム及び呼制御装置
JP2010206608A (ja) * 2009-03-04 2010-09-16 Nec Corp 送信装置、送信レート算出方法及び送信レート算出プログラム
JP2015510740A (ja) * 2012-02-17 2015-04-09 アップル インコーポレイテッド ネットワークトラフィックにおける到着間遅延の低減

Also Published As

Publication number Publication date
JP4627290B2 (ja) 2011-02-09

Similar Documents

Publication Publication Date Title
US10462707B2 (en) Data transmission method and apparatus
US6646987B1 (en) Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link
EP1892887B1 (en) Communication method between communication devices and communication apparatus
US7478160B2 (en) Method and apparatus for transparent negotiations
JP4972304B2 (ja) ウェブサービス環境用の信頼できるメッセージング内の接続生存性の検証および維持
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
CN105493510B (zh) 数据通讯系统与方法
EP3075110B1 (en) Controlling a transmission control protocol window size
AU2012284387A1 (en) System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US9413797B2 (en) Data communication system and method
CN112436924B (zh) 一种数据传输方法及电子设备
KR20170097129A (ko) 데이터 전송 방법 및 장치
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
JP4627290B2 (ja) Tcpを用いたレート制御方法、サーバ及びプログラム
JP2004187099A (ja) 通信制御方法、通信システム及び通信装置
JP4636510B2 (ja) 通信放送連携システムにおける端末のレート制御方法、端末、システム及びプログラム
JP2008270951A (ja) データ通信装置
JP2008199431A (ja) 通信装置
JP2006087010A (ja) 通信路制御装置およびそれを用いたネットワークシステム
JP2005044047A (ja) 端末装置及びデータ送信方法
JP2008061267A (ja) サーバ
JP2008245302A (ja) 送信端末及びデータ送信方法
JP2008160377A (ja) 帯域確保装置
WO2014205708A1 (zh) 一种数据报文发送方法、装置和设备
KR20130047315A (ko) 무선 통신 시스템에서 웹 서비스를 제공하는 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101104

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4627290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees