JP2012175561A - 伝送制御方法 - Google Patents

伝送制御方法 Download PDF

Info

Publication number
JP2012175561A
JP2012175561A JP2011037434A JP2011037434A JP2012175561A JP 2012175561 A JP2012175561 A JP 2012175561A JP 2011037434 A JP2011037434 A JP 2011037434A JP 2011037434 A JP2011037434 A JP 2011037434A JP 2012175561 A JP2012175561 A JP 2012175561A
Authority
JP
Japan
Prior art keywords
transmission
protocol
communication
congestion
congestion control
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
JP2011037434A
Other languages
English (en)
Other versions
JP5976277B2 (ja
Inventor
Naoki Oguchi
直樹 小口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011037434A priority Critical patent/JP5976277B2/ja
Priority to US13/402,281 priority patent/US8867354B2/en
Publication of JP2012175561A publication Critical patent/JP2012175561A/ja
Application granted granted Critical
Publication of JP5976277B2 publication Critical patent/JP5976277B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】伝送制御方法において、環境に応じて通信スループットを向上させることを目的とする。
【解決手段】送信元と送信先の通信装置それぞれにおいて、複数の輻輳制御方式にそれぞれ対応する複数の輻輳制御機能を含む伝送制御プロトコルを有し、該伝送制御プロトコルを用いて互いに通信を行う伝送制御方法であって、前記送信元と送信先の通信装置で第1の輻輳制御機能から第2の輻輳制御機能に切り替えを行う際に、前記伝送制御プロトコルが保持している第1の輻輳制御機能における動作状態を表す複数のパラメタのうち少なくとも1つを前記第2の輻輳制御機能における動作状態を表すパラメタに引き継ぐ。
【選択図】 図5

Description

本発明は、送信元と送信先の通信装置間の伝送制御方法に関する。
今日、多くの通信アプリケーションがOSI参照モデルにおけるトランスポート層のプロトコルにあたるTCP(Transmission Control Protocol)プロトコルをデファクトスタンダードとして利用しているが、TCPプロトコルには特性の異なる様々なバリエーションがある。
近年のインターネットは、ネットワークのより高速化、長距離化が進み、LFN(Long Fat Networks)や無線アクセス網が一般的になるなど進化を続けてきている。LFNでは、広い帯域を持っているにも関わらずTCPが介在することにより十分な性能が出ないという問題があり、LFN向けに改善されたTCPが現れた。また、無線網を介する場合には、無線網におけるパケットエラーがTCPからみて輻輳が発生したと認識される結果スループットがあがらないという問題があり、これに対処するTCPの改善が加えられた。このように、ネットワーク環境の進化に合わせてTCPプロトコルは、通信性能の改善を繰り返してきた。その結果、用途環境に特化した様々な改良バージョン又は変種が存在する。
こうしたTCPは、それぞれ異なる輻輳制御を行う。輻輳制御は、ウィンドウ制御や、再送制御、輻輳通知など複数の制御技術が組み合わさり実現されており、変種毎に異なった機能が含まれる。組み合わされる個々の制御技術を、輻輳制御を行うためのルールと位置づけると、各変種が持つ輻輳制御はいくつかのルールを組み合わせたルールセットが異なると言える。
上記に示した様々な改良バージョン又は変種は主にTCPのウィンドウ制御方法を改良している。ウィンドウ制御方式には、大きく分けてロスベース方式、遅延ベース方式の二種類がある。
(1)ロスベース方式
ロスベース方式のTCPのウィンドウ制御アルゴリズムはエンドノード側が通信経路の状況を把握しない前提で、単純なアルゴリズムにて転送量の制御を行っている。輻輳が起こらずにパケットが喪失しなかった場合はネットワークの帯域に余裕があるとみなして、連続して出力できるセグメント量である輻輳ウィンドウサイズを増加させて転送速度を上げる。また逆に、輻輳が起こり、パケットが喪失した場合は輻輳ウィンドウサイズを減少させて転送速度を下げて、輻輳を回避するという流れが基本である。このように輻輳ウィンドウサイズの増減を繰り返して転送速度を調整することにより安定した通信を行うが、安定した通信を行うためには多少のパケットロスを前提としていて、パケットロスで通信経路の状況を判断するというのが基本的な考え方となっている。
ロスベース方式は、輻輳をパケットロスにより判断するが、無線リンクのように輻輳していなくてもパケットロスが発生する環境で使用すると、帯域が余っているのに十分スループットが出ない状況になる。また、輻輳検出後の回復がアグレッシブなので帯域変化には比較的早く対応する。
(2)遅延ベース方式
遅延ベース方式は、エンド・エンドでのRTT(ラウンドトリップ時間)の計測値(実測値)と推測値(計算値)を用いて、計測値が推測値を下回れば空いているとみなして輻輳ウィンドウサイズを大きくし、計測値が推測値を上回れば混雑してきたとみなして輻輳ウィンドウサイズを小さくするといったアルゴリズムになっている。そのため、輻輳が起こる前に適切な輻輳ウィンドウサイズに調節し、通信速度を制御できるため、ロスベース方式よりもパケットロスが少ない上、帯域を有効に使用することが可能になっている。
遅延ベース方式は、ロスベース方式よりも帯域が有効に使えるが、無線回線のように遅延が大きい環境下でMCS(Modulation and Coding Scheme)の変化によりリンク帯域の変化が頻繁に発生すると、スループットが低く抑えられてしまう。また、RTTが大きい環境で遅延ベース方式はロスベース方式と混在する環境下では競合しロスベース方式に負けてしまう。
また、この他にもWAN高速化装置(WAN Optimizer)と呼ばれる装置がある。WAN高速化装置はWANを介して接続するエンド端末の間にペアで配置され、エンド端末のTCPを一旦終端し、より最適化されたTCPに載せ替え、プロキシ通信を高速化する。これらは対向するWAN高速化装置間でベンダ独自にチューニングしたTCPを用いている。
実際には、端末は様々な環境で利用されるため、一種類のTCPスキームだけで全ての条件において最適なパフォーマンスを出すのは極めて困難であった。そこで、これらの問題に対処するために、NET100プロジェクトにおけるAuto Tuning技術といった手法が登場した。この手法では通信開始前に回線の状況を調べ、それに応じてTCPの最適パラメタや最適バッファ量を決めることができる。
一方で、近年、ハイブリッド方式と呼ばれ、ロスベース方式と遅延ベース方式を合わせたTCPが登場した。ハイブリッド方式はロスベース方式と遅延ベース方式を環境により使い分けることが可能なため、遅延ベース方式の欠点であるロスベース方式との競合によるスループットの低下をカバーできるようになっている。
ところで、送信側BAS(Broadband Access Server)はRTPパケットの内容を解析し、画像データのHDLCフレーム内のプリアンブルを検出した場合、検出箇所を画像データの開始と判定し、それ以降、RTPパケットをTCPパケットにプロトコル変換し、それを示すタグ情報をTCPパケットに付与して、受信側BASはタグ情報が付与されたTCPパケットを検出し、検出されたTCPパケットからタグ情報を削除し、TCP形式からRTP形式に戻すプロトコル変換を行う技術が知られている(例えば特許文献1参照)。
また、通信中継装置は通信端末装置からのネットワーク接続要求に対しフローの特性を検出し、フローの特性に応じた最適なネットワークを選択して通信を開始し、選択されたネットワークがフローの要求品質を下回ったことを検出した場合、ネットワーク特性データベースの該当するネットワークの項目を更新し、改めてフローの特性に応じた最適なネットワークの選択を行う技術が知られている(例えば特許文献2参照)。
また、パケット転送装置RTにおいて、通信プロトコルの異なるネットワークNWa,NWbに属するパケットが同一セッションに合流する地点でその通信量を監視し、パケットのリダイレクション転送の優先制御を行う際、輻輳が検知された場合には輻輳応答サーバRSVから輻輳メッセージを発信元に通知し、パケット転送装置RTでパケットの折り返し転送を行い、クライアント端末TMa,TMb同士の直接通信を行い、転送されるパケットから通信ログを収集し記憶することで、特定のリダイレクションについての課金処理を行い、またリダイレクション先のネットワークにおけるルーティングを解決するためにアドレス変換処理を行う技術が知られている(例えば特許文献3参照)。
特開2008−252246号公報 特開2009−124367号公報 特開2004−32453号公報
ハイブリット方式の一例としてCompound TCP(CTCP)がある。登場した経緯としてロスベース方式のTCPプロトコルRenoと、遅延ベース方式のTCPプロトコルVegasの競合問題がある。VegasはReno、New Renoなどと競合することにより、適切なウィンドウサイズの調整が行うことができず、RTTの増加とウィンドウサイズの低下によるスループットの低下が指摘されている。
このように、VegasはReno、New Renoに帯域を奪われてしまうため、公平な制御が行われないといった欠点を有しているが、CTCPでは、この欠点を補うためにネットワークの環境を判別し、TCPプロトコルVegasとNew Renoの輻輳制御を切り替える機能を有しているため、競合を避けることが可能になっている。
ハイブリッド方式は、計測RTTの値に応じて、TCPプロトコルRenoと高速モード(High−Speed TCP)を切り替える。CTCP(非特許文献2参照)は、ロスモードと遅延モードの二種類の輻輳ウィンドウを用意し、ロスモードのウィンドウが遅延モードのウィンドウを追い越した時点で、二つのモードを切り替える。ARENO(非特許文献3参照)は、TCPプロトコルWestwoodのメカニズムを拡張し、RTT値の関数として連続的な輻輳ウィンドウ制御を行う。CTCPとARENOは、共に空き帯域があるときは積極的に輻輳ウィンドウを増大し、RTTが増加するとTCP−Renoとして振る舞うことで、スループット性能と親和性の両方を実現している。
ところで、近年クラウドサービスが普及しつつある。クラウドサービスは、図1に示すように、コンピューティングリソースである複数の仮想マシン(VM)1−1〜1−nをデータセンタ2の中に持ち、ユーザはこれらの仮想マシン1−1〜1−nをインターネット3経由で利用するコンピューティング形態を指す。
こうした利用形態では、TCP通信におけるエンド・エンドでの通信環境が通信の途中に大きく変化する可能性がある。一つの要因として、インターネット3経由でのクラウドサービスの利用として、WiMAX(Worldwide Interoperability for Microwave Access),LTE(Long Term Evolution)といった無線アクセス網を介した利用形態も考えられているためである。
近年のデジタル無線通信では、OFDM(Orthogonal Frequency Division Mu1tip1exing:直交周波数分割多重)といった適応変調方式が用いられ、電波の状況に応じて変調方法、コーディング方法を変更する。これらはMCS(Modulation Coding Scheme)と呼ばれ、基地局と端末間の電波の状況に応じて図2に示すような様々なMCS値を取り、選択したMCSにより物理層の理論上のデータ転送レートが時々刻々変化する。図3(A)に移動端末5と無線基地局6とのデジタル無線通信の開始した状態を示し、図3(B)に移動端末5と無線基地局6との間の通信品質の低下した状態を示す。図3(B)の状態ではデータ転送レートが低下する。また、今まで移動していた端末が屋内に入ることにより固定端末として利用されたり、より速度の速いWiFi(wireless fidelity)に切り替わってより安定した通信ができるように変化する可能性もある。
他の要因として、クラウドサービスを提供するデータセンタ3は、複数の仮想マシン(VM)を物理マシン上で動かし、顧客に仮想マシンのホスティングサービスを提供しているが、これらの仮想マシンは、ある物理マシンから全く異なる地域にある物理マシンへ移動する可能性があることである。クラウドサービスでは保守を目的に仮想マシンをある物理マシンから他の物理マシンへ移動するライブマイグレーション(Live Migration:LM)と呼ばれる機能が使われる。この場合、同一データセンタ内の物理マシン間でライブマイグレーションを行う場合もあるが、災害に対処するため地理的に分離したデータセンタに複数の拠点を持ち、異なる拠点間でライブマイグレーションを行う場合もある。図3(C)には移動端末5とのデータ転送を行う仮想マシンが7aから7bにライブマイグレーションを行ったためにRTTが変化した状態を示している。
こうした背景から、無線データリンク層の特性は時々刻々と変化すると共に、端末が無線リンク上で移動しないとしてもデータセンタの物理マシンが移動する可能性があるため通信途中にエンド・エンドでのRTT(ラウンドトリップ時間)が大きく変化する可能性がある。このような大きな環境の変化は、TCPプロトコルのパラメタチューニングの範囲では対処できず、異なるバージョンのTCPプロトコルを用いて通信した方がより高いスループットを得られる場合が多い。
ところが、こうした課題に対し、オートチューニングの仕組みは回線の状況により、ある特定のTCP輻輳制御方式におけるパラメタやバッファサイズを動的に更新するが、TCPプロトコル自体は変更できず、最初は最適なTCPプロトコルであっても、データリンク層の特性やサーバの位置が変化し、例えば無線環境などロスベースでもレートベースでも対処できない環境に変化すると、最初に決めた最適パラメタはもはや最適でなくスループットが低下してしまうという問題がある。
また、ハイブリッド方式のTCPプロトコルは、送信側のTCPにおいてロスベース方式と遅延ベース方式を切り替えることが可能である。これは、送信側のウィンドウ制御アルゴリズムを動的に変更するだけであり、得られる効果も限定的であるという問題がある。ウィンドウ制御アルゴリズム以外の仕組みを、送信側(データを送信する側)、受信側(ACKを応答する側)両方で対処が必要である。ウィンドウ制御アルゴリズム以外の仕組みとしては、無線環境に適応するには受信側から送る制御セグメントに再送データを少なくするSACK(selectable ACK)の仕組みや、データパケットを送信途中のルータが輻輳していた場合にデータパケットに輻輳情報を付加して受信側に通知し、受信側からの応答ACKに輻輳情報であるECN(Explicit Congestion Notification)を付加して受信側に知らせる仕組みなどである。
開示の伝送制御方法は、環境に応じて通信スループットを向上させることを目的とする。
開示の一実施形態による伝送制御方法は、送信元と送信先の通信装置それぞれにおいて、複数の輻輳制御方式にそれぞれ対応する複数の輻輳制御機能を含む伝送制御プロトコルを有し、該伝送制御プロトコルを用いて互いに通信を行う伝送制御方法であって、
前記送信元と送信先の通信装置で第1の輻輳制御機能から第2の輻輳制御機能に切り替えを行う際に、前記伝送制御プロトコルが保持している第1の輻輳制御機能における動作状態を表す複数のパラメタのうち少なくとも1つを前記第2の輻輳制御機能における動作状態を表すパラメタに引き継ぐ。
本実施形態によれば、環境に応じて通信スループットを向上させることことができる。
クラウドサービスを説明するための図である。 MCSの一例を示す図である。 通信品質の低下を説明するための図である。 伝送制御システムの一実施形態の構成図である。 通信装置の第1実施形態の構成図である。 第1実施形態の動作シーケンスを示す図である。 CPオプション種別表を示す図である。 適応プロトコルケーパビリティオプションを示す図である。 遅延時間に対する各プロトコルのスループット特性図である。 プロトコル選択テーブルを示す図である。 パケットエラー率に対する各プロトコルのスループット特性図である。 プロトコルスイッチング要求を示す図である。 Renoの輻輳制御を説明するための図である。 BICの輻輳制御を説明するための図である。 第1実施形態の輻輳制御を説明するための図である。 通信装置の第2実施形態の構成図である。 第2実施形態の動作シーケンスを示す図である。 適応プロトコルケーパビリティオプションを示す図である。 機能選択テーブルを示す図である。 プロトコル選択テーブルを示す図である。 プロトコルスイッチング要求を示す図である。
以下、図面に基づいて実施形態を説明する。
<伝送制御システムの構成>
図4は伝送制御システムの一実施形態の構成図を示す。図4に示すように移動端末11がデータセンタ12のサーバ13とTCP通信を行うものとする。移動端末11はWiMAXの無線モデムを備えた無線端末であり、無線基地局14を介してWiMAX無線アクセス網15に接続し、更にアクセスネットワークゲートウェイ16を介してインターネット17に接続し、データセンタ12内のサーバ13と通信を行う。また、データセンタ12とインターネット17の接続点にはWAN高速化装置18が配置されており、移動端末11には、これに対応する仮想WAN高速化アプライアンスが予めインストールされているものとする。
仮想WAN高速化アプライアンスとは、移動端末11のOS(ホストOS)上に仮想マシン環境を構築し、その上にゲストOSを走らせ、ゲストOS上にソフトウェアとしてのWAN高速化アプライアンスの機能を実現したものである。移動端末11上のアプリケーション(ホストOS上のアプリケーション)が通信を行う場合、ゲストOS上の仮想WAN高速化アプライアンスを経由し送受信を行う。この際、仮想WAN高速化アプライアンスはプロキシ機能により端末のTCPを終端し、最適化したTCPに載せ替える機能を提供する。
ここで、移動端末11は、サーバ13からFTP(File Transfer Protocol)によりファイルをダウンロードしているものとする。WAN高速化装置18は、サーバと移動端末11のTCPセッションを代理(プロキシ)することで一旦終端し、移動端末11上の仮想WAN高速化アプライアンスとの間で最適化されたTCPプロトコルを用いて通信する。移動端末11上の仮想WAN高速化アプライアンスは最適化されたTCPプロトコルを再度代理することで終端し、標準のTCPを用いて端末上のアプリケーションにデータを送信する。この際、プロキシとデータを受け取るアプリケーションは共に同じ端末上にあることになる。また、WAN高速化装置18はTCP内に含まれるデータの圧縮や、キャッシュすることで同一データを2度以上送らないようにするデデュープ(deduplication:重複除外)と呼ばれる機能を提供する。
<第1実施形態>
図5に通信装置の第1実施形態の構成図を示す。図5に示す通信装置20は、WAN高速化装置18、又は移動端末11上の仮想WAN高速化アプライアンスを指す。通信装置20は、通信インタフェース部21、プロトコル部22−1〜22−n、切替制御部23、通信品質監視部24、最適プロトコル選択部25、最適パラメタ決定部26、データバッファ部27、アプリ部28を含む。
通信インタフェース部21は、接続しているネットワークからパケットを受信し、又はネットワークにパケットを送信する処理部である。
プロトコル部22−1〜22−nは、輻輳制御の異なる輻輳制御機能(ルールセット)を適用した輻輳制御処理を実施する処理部である。例えばプロトコル部22−1はTCPの一変種であるRenoの処理を行い、プロトコル部22−2はTCPの別の一変種であるBICの処理を行う。
切替制御部23は、最適プロトコル選択部25がプロトコルの切り替えが必要であると判断した際に、対向装置と制御メッセージを交換し、同期を取りながらプロトコルを切り替える処理部である。切替制御部23内のパラメタステート引継部23aはプロトコル部22−1〜22−n間の状態を含むパラメタの引き継ぎを行う。
通信品質監視部24は、データリンク層やプロトコル部22の通信品質を監視する処理部である。
最適プロトコル選択部25は、通信品質監視部24の収集したデータリンク層情報やプロトコル部22が対向装置と通信を行った結果取得した品質情報を基に、最適なトランスポート層プロトコルを選択する処理部である。
最適パラメタ決定部26は、最適プロトコル選択部25が選択した次に切り替え予定のプロトコルに対し、以前のプロトコル処理部のパラメタ、状態を引き継ぎ切替後のパラメタの最適初期値を決定する処理部である。
データバッファ部27は、プロトコル部22−1〜22−nが相手通信装置にデータを転送する際にアプリケーションが送信依頼をしたデータを一時的に蓄積するメモリである。また、プロトコル部22−1〜22−nが相手通信装置からデータを受信した際にアプリケーションが受信し終わるまでデータを一時的に蓄積するメモリでもある。
アプリ部28は、トランスポート層プロトコルを用いて通信を行うアプリケーションである。通信装置がWAN高速化装置18或いは仮想WAN高速化アプライアンスの場合は、アプリ部28はプロキシを行うプロセスとなる。
<動作>
WAN高速化装置18と移動端末11上の仮想WAN高速化アプライアンス間の第1実施形態の動作について、図6に示す動作シーケンスを用いて説明する。なお、以下では端末上の仮想WAN高速化アプライアンスをTWO(端末側WAN−Optimizaer)、サーバ側のWAN高速化アプライアンスをSWO(サーバ側WAN−Optimizaer)と呼ぶことにする。
本実施形態では、FTPによりサーバから移動端末へファイルを転送する場合を想定している。FTPは制御用のTCPセッション(ポート番号21)とデータ転送用のTCPセッション(ポート番号20)を用いてファイル転送を行う。その手順は以下のようになる。
(1)クライアントであるTWOからFTPサーバであるSWOの21番ポートに対してセッション要求を送信し、セッションを確立し、ログインする。
(2)クライアントからファイル転送要求を送信し、サーバから許可が与えられる
(3)クライアントは、自分が使っているポート番号をサーバに送信し、制御用ポートでの通信が終了する。
(4)サーバは、クライアントから得たポート番号にデータ送信ポート20番を使ってセッションを確立する。
(5)サーバは要求されたファイルを転送し、セッションを閉じる。
一般にデータ転送用のセッションをサーバと端末のどちらから張るかによってモードが2種類ある。1つはサーバから端末へ対してデータ転送用セッションを作成するアクティブモードであり、もう1つは端末からサーバに対してデータ転送用セッションを作成するパッシブモードである。以下の例では、アクティブモードのデータ転送用セッションにおける動作を説明する。
まず、TWO、SWOはそれぞれ様々なTCPプロトコルのヴァリアント(変種)すなわちプロトコル部22−1〜22−nを内部的に利用可能な状態にしておく(ステップS1、S52)。
TWOは、FTP制御セッションにおいてサーバから端末へアクティブモードでデータ転送を指示すると、データ転送用セッションを受け付けるためポートを開きサーバからの接続を待ち受ける。ポートを開くためにSocket,Bind,Listenのシステムコールを実行する(ステップS2)。
SWOは、FTP制御セッションにおいてアクティブモードでのデータ転送指示を受信すると、ポートを開きデータ転送用セッションを開始する。セッションを開始するためにSocket,Bindのシステムコールを実行しポートを開いた後、Connectシステムコールを実行する(ステップS53)。SWOは、Connectシステムコールを実行することによりSynパケットを端末へ送信する。
TWOは、サーバからの接続要求(Syn)があると、これを受け入れる(Accept、ステップS3)。受け入れると、TWOはSWOに応答(ACK)を送り、SWOはこれに対しSyn/ACKを送信し(ステップS54)、TCPのスリーウェイハンドシェイク(3wayhandshake)が完了しセッションが生成される。
SWOとTWOは、最初のSynと次のACKを送信する際にTCPオプションフィールドを用いて両者がどのようなTCPプロトコルを利用可能であるかを示すケーパビリティを交換する。この際、セッションを開始する側であるSWOはオプション種別として、図7に示すTCPオプション種別表から、適応プロトコルケーパビリティオプションを表す「16」を指定する。図8に適応プロトコルケーパビリティオプションを示す。適応プロトコルケーパビリティオプションは、1バイトのオプション種別「16」、1バイトのオプション長、2バイトのケーパビリティビットを有している。更に、SWOにて使用可能なプロトコルを示すケーパビリティビット内のビットに1をセットする。複数のプロトコルを利用可能な場合は複数のビットをセットする。
TCPオプション=16を含むSynメッセージを受信したTWOはACKメッセージにTCPオプション=16を含め、そのケーパビリティとしてSWOが指定したTCPプロトコルのケーパビリティの内、TWOが利用できるものだけにビットをセットして送信する。なお、本実施形態ではケーパビリティの交換にTCPのオプションフィールドを用いたが、データ領域を含む他のフィールドを利用してもよいし、他のメッセージを使用してケーパビリティを交換してもよい。
SWOは、アプリケーションがwriteシステムコールを行うことでデータ送信を開始する。Writeシステムコールによりソケットバッファに書き込まれたデータはTCPプロトコルによりセグメント単位でTWOへ送信される(ステップS56)。この際、SWO及びTWOはデフォルトのTCPプロトコルとしてRenoを用いているものとする。なお、デフォルトTCPオプションを新たに定義して、どのTCPプロトコルから開始するかを相互に取り決めるようにしても良い。
SWOは、デフォルトのTCPプロトコル(=Reno)を用いてデータ転送を開始する(ステップS56)。この際、SWO,TWOはRenoのプロトコル部22−1を用いて通信を行う。TWOはTCPセグメントを受信すると、データをTWOのソケットバッファに蓄積し、アプリケーションに対しデータの到着を通知する。アプリケーションはreadシステムコールを用いてソケットバッファからデータを読み込む(ステップS4)。
ここで、TWOの通信品質監視部24は、データリンク層が割り当てられている帯域の変化、ビットエラーレート、パケットエラーレートなどの廃棄率を監視し、また各プロトコル部で計測できるラウンドトリップタイムを監視する。具体的には帯域の変化を次のように定義してもよい。
平均帯域変動率=Σln{X(t+1)/X(t)}
TWOの通信品質監視部24は、データリンク層品質やラウンドトリップタイムの通信品質の変化が閾値を超えると最適プロトコル選択部25に通知する。例えば通信品質監視部24は遅延(ラウンドトリップタイム)、帯域、廃棄率の少なくとも一つの変化量が所定の閾値を超えたとき最適プロトコル選択部25に通信品質の変化を通知してもよい。また、通信品質監視部24はMCSによりデータリンク層に割り当てられている帯域を基準として、トランスポート層を経たスループット(データ転送速度)が閾値(例えばデータリンク層の帯域の1/2)未満となったとき最適プロトコル選択部25に通信品質の変化を通知するようにしてもよい。
最適プロトコル選択部25は、上記の通知を受け、変化の状況に適したTCPプロトコルに切り替えることを決定する。例えば、最適プロトコル選択部25は、図9に示すようなプロトコル選択テーブルを基に使用するTCPプロトコルを選択してもよい。図9では平均廃棄率を3段階に分け、平均廃棄率の各段階において3段階の平均帯域変動率と3段階の平均遅延時間に応じてTCPプロトコルReno,Westwood,BIC,htcp,scalableなどを設定している。
図9のプロトコル選択テーブルは、図10に示す遅延時間に対する各プロトコルのスループット特性、図11に示すパケットエラー率(廃棄率)に対する各プロトコルのスループット特性などの各種プロトコルの特性評価に基づき静的に作成してもよい。また、移動端末やサーバが通信を行う毎に動的にスループットを測定し、ダイナミックにプロトコル選択テーブルを構成するようにしてもよい。
また、図10や図11ではスループットを評価の軸にしているが、複数のTCPセッションが存在する環境下でのセッション間のフェアネスや複数セッション全体としてのトータルスループットなど、単独セッションのスループット以外の指標を軸にしたプロトコル選択テーブルを構成してもよい。フェアネスとは、複数のTCPセッションが存在するときにネットワークの利用可能な帯域を他のセッションと平等にシェアすることをいい、どのプロトコルを用いるかによりフェアネスが異なってくる。
ここで、移動端末11が移動し、TWOがデータリンク層の品質低下を検出すると(ステップS5)、TWOは図12に示すプロトコルスイッチング要求をTCPオプションに指定して送信する(図6のステップS6)。本メッセージはACKやデータと共に送信するようにしてもよい。図12にプロトコルスイッチング要求を示す。プロトコルスイッチング要求は、1バイトのオプション種別「17」、1バイトのオプション長、2バイトの切替機能ビット、4バイトの切替シーケンス番号を有している。
SWOは、プロトコルスイッチング要求を受信すると、プロトコルスイッチングACKをTCPオプションフィールドに指定して送信する。プロトコルスイッチングACKはプロトコルスイッチング要求と同じ内容を含むが、オプション種別=18として送信する(ステップS57)。なお、本実施形態ではプロトコルスイッチング要求、プロトコルスイッチングACKとしてTCPのオプションフィールドを用いたがデータ領域を含む他のフィールドを利用してもよいし、他のメッセージを使用してもよい。
SWO、TWOはプロトコルスイッチング要求に含まれる切替シーケンス番号においてプロトコルの切り替えを実施する。SWOは、ネゴシエートした切替シーケンス番号のメッセージに対するACKをTWOから受信し終わったところで、プロトコルスイッチング要求の切替機能フィールドで指定された新しいプロトコルに切り替える。この際に、TWOは例えば受信ウィンドウサイズ=0を含むACKを送信することで、SWOのデータ送信を一時停止させたのちプロトコルの切り替えを行い、プロトコルの切り替え後に通信を再開して、プロトコルの切り替え時におけるデータ通信で不具合が発生することを回避することも可能である。
プロトコルの切り替えは、現行のプロトコル部に対しDeactivate信号を送り(ステップS58,S7)、新しいプロトコル部に対しActivate信号を送る(ステップS59,S8)。この際、以前のプロトコルが保持している状態を含むパラメタを新しいプロトコルに引き継ぐ。特に、送信側のTCPでは、状態として例えばスロースタートや輻輳回避モードといった複数の状態を持つ。各TCPプロトコルはこの状態により輻輳制御方法が異なるため、この状態を含む輻輳ウィンドウサイズcwnd、閾値ssthresh、ウィンドウサイズWmaxなどの動作状態を表す複数のパラメタを引き継ぐことは、新しいTCPプロトコルが適切な状態から開始するために重要である。
また、パラメタとして、現在どれだけのウィンドウサイズでデータを送信しているかを示す輻輳ウィンドウサイズcwnd、及び輻輳を検出したときに輻輳ウィンドウサイズcwndをどこまで低下させるかを決めるために使うパラメタの一つである閾値ssthreshといったパラメタを持つ。また、輻輳を検出したときのウィンドウサイズWmax,ラウンドトリップ時間の最小値RTTmin及び最大値RTTmax,遅延帯域積などをパラメタとして引き継ぐ。帯域遅延積は、ネットワークの帯域幅とラウンドトリップ時間の積で表される量であり、TCPのおおよその伝送速度の上限値を決める値である。新しいTCPプロトコルに切り替えた際、スロースタートから開始するとスループットをロスしてしまうので、新しいプロトコルは、これらのパラメタを使用して輻輳ウィンドウサイズcwndを計算し、スロースタートから開始しないようにする。
例えば、TCPプロトコルRenoでは図13に示す輻輳制御を行う。すなわち、スロースタートの期間において輻輳ウィンドウサイズを初期値から指数関数的に増加させ、輻輳を検出したときの輻輳ウィンドウサイズcwndをウィンドウサイズWmaxに設定し、輻輳ウィンドウサイズcwndの1/2を閾値ssthreshに設定し、輻輳ウィンドウサイズcwndを閾値ssthreshにする。その後、輻輳ウィンドウサイズcwndを輻輳検出までリニアに増加させる輻輳回避を行う。
一方、TCPプロトコルBICは図14に示す輻輳制御を行う。すなわち、スロースタートの期間において輻輳ウィンドウサイズを初期値から指数関数的に増加させ、輻輳を検出したときの輻輳ウィンドウサイズcwndをウィンドウサイズWmaxに設定し、輻輳ウィンドウサイズcwndに所定の係数βを乗算して新たな輻輳ウィンドウサイズcwndとする。その後、輻輳ウィンドウサイズcwndをリニアに増加させ(Additive Increase)、更に輻輳ウィンドウサイズcwndをウィンドウサイズWmaxに漸近させる(Binary Search)。そして、輻輳が検出されなければ輻輳ウィンドウサイズcwndをリニアに増加させる輻輳回避を行う。
本実施形態では、例えばTCPプロトコルRenoからTCPプロトコルBICに切り替える場合、図15に示すように、切替シーケンス番号より前はTCPRenoの輻輳制御を行い、切替シーケンス番号後はTCPプロトコルBICによる制御に切り替わる。切り替えの際にBICはRenoの最終状態、つまり輻輳回避モード、輻輳ウィンドウサイズcwnd、ウィンドウサイズWmax、閾値ssthreshなどのパラメタを引き継ぎ、スロースタートから開始することなく、輻輳回避を行う。上記の状態を含むパラメタの引き継ぎは図5、図6に示すパラメタステート引継部23aにより行われる。
プロトコルが切り替わると、以降、送信側のソケットバッファに残っている未送信のデータ及び以降アプリケーションから送信バッファに書き込まれるデータは新しいプロトコルを用いて送信及び受信される(ステップS60、S9)。
SWOのアプリ部は全てのデータを送信し終わるとソケットをcloseしセッションを切断する(ステップS61、S10)。
以上、本実施形態では、TCPプロトコルRenoからTCPプロトコルBICに切り替える場合について説明したが、TCPの変種はこれに限らず、Wireless Profiled TCPなど他の変種との切り替えに適用することもできる。また、TCPプロトコルRenoとTCPプロトコルBICはそれぞれ独立したモジュールのように説明したが、これらは必ずしも分離した構成の実装である必要はなく、モノリシックなカーネルの機能として実装され、オプションで切り替えるような構成であってもよい。
<第2実施形態>
第1実施形態では環境変化に応じてアダプティブに送信側、受信側のプロトコルを変更する場合を説明したが、プロトコルを変更するだけに限らず、圧縮やキャッシュといった機能をアダプティブに変更するようにしてもよい。以下の第2実施形態ではFTPではなくWEBアプリケーションを想定している。
図16に通信装置の第2実施形態の構成図を示す。図16において図5と同一部分には同一符号を付す。図16に示す通信装置30は、WAN高速化装置18、又は移動端末11上の仮想WAN高速化アプライアンスを指す。通信装置30は、通信インタフェース部21、プロトコル部22−1〜22−n、切替制御部23、通信品質監視部24、最適プロトコル選択部25、最適パラメタ決定部26、データバッファ部27、アプリ部28、アプリケーション監視部31、キャッシュ/デデュープ部32、データ圧縮伸張部33を含む。
通信インタフェース部21は、接続しているネットワークからパケットを受信し、又はネットワークにパケットを送信する処理部である。
プロトコル部22−1〜22−nは、輻輳制御の異なるルールセットを適用した輻輳制御処理を実施する処理部である。例えばプロトコル部22−1はTCPの一変種であるRenoの処理を行い、プロトコル部22−1はTCPの別の一変種であるBICの処理を行う。
切替制御部23は、最適プロトコル選択部25がプロトコルの切り替えが必要であると判断した際に、対向装置と制御メッセージを交換し、同期を取りながらプロトコルを切り替える処理部である。切替制御部23内のパラメタステート引継部23aはプロトコル部22−1〜22−n間の状態を含むパラメタの引き継ぎを行う。
通信品質監視部24は、データリンク層やプロトコル部22の通信品質を監視する処理部である。
最適プロトコル選択部25は、通信品質監視部24の収集したデータリンク層情報やプロトコル部22が対向装置と通信を行った結果取得した品質情報を基に、最適なトランスポート層プロトコルを選択する処理部である。
最適パラメタ決定部26は、最適プロトコル選択部25が選択した次に切り替え予定のプロトコルに対し、以前のプロトコル処理部の状態を含むパラメタを引き継ぎ切替後のパラメタの最適初期値を決定する処理部である。
データバッファ部27は、プロトコル部22−1〜22−nが相手通信装置にデータを転送する際にアプリケーションが送信依頼をしたデータを一時的に蓄積するメモリである。また、プロトコル部22−1〜22−nが相手通信装置からデータを受信した際にアプリケーションが受信し終わるまでデータを一時的に蓄積するメモリでもある。
アプリ部28は、トランスポート層プロトコルを用いて通信を行うアプリケーションである。通信装置がWAN高速化装置18或いは仮想WAN高速化アプライアンスの場合は、アプリ部28はプロキシを行うプロセスとなる。
アプリケーション監視部31は、アプリ部28が送信するデータストリームを監視しアプリケーションの特性を特定する処理部であり、データの中身が既に圧縮されているものかどうか、トランザクションのため散発的なデータ転送を行うタイプのセッションか、バルク転送的なデータ転送を行うタイプのセッションかのデータ転送種別を検出する処理部である。
キャッシュ/デデュープ部32は、アプリ部28からデータバッファ部27に向け書き込まれたデータをキャッシュし、キャッシュデータに対しインデックスを付与する。また、対向装置よりインデックスを渡された場合は、インデックスに対応するキャッシュデータを参照し元のデータを復元する処理部である。
データ圧縮伸張部33は、アプリ部28より書き込まれたデータを圧縮し、また、対向装置より圧縮されたデータを受信した場合は伸張する処理部である。
<動作>
WAN高速化装置18と移動端末11上の仮想WAN高速化アプライアンス間の第2実施形態の動作について、図17に示す動作シーケンスを用いて説明する。TWO、SWOが第1のプロトコルで通信するまでの動作(ステップS52〜S56、ステップS2〜S4)、及び通信終了の動作(ステップS61,S10)は第1実施形態と同じであるので、説明を省略する。
ただし、スリーウェイハンドシェイで行われる適応プロトコルケーパビリティオプションでは、図18に示す適応プロトコルケーパビリティオプションを用いる。図18に適応プロトコルケーパビリティオプションを示す。適応プロトコルケーパビリティオプションは、1バイトのオプション種別「16」、1バイトのオプション長、2バイトのケーパビリティビットを有している。図18では、ケーパビリティビットに、利用可能なプロトコルに加え、ビット#2のデデュープ(Dedup)、ビット#3のCompressionなどのケーパビリティがセットされる。
なお、ステップS52〜S56では、トランザクションのため散発的な通信を行っているものとする。
ここで、SWOのアプリ部28がステップS257で同一セッションではあるが、データの送信パータンを変更しバルク転送的に送信したと仮定する。
SWOのアプリケーション監視部31はこのデータ書き込みを監視しパータンが変化したことを検出すると、最適プロトコル選択部25に対し、最適なプロトコル、及び機能の選択を要求する。
最適プロトコル選択部25は、アプリケーション監視部31が検出したトラフィックの特性、ネットワークの通信品質と図19に示す機能選択テーブル、及び図20に示すプロトコル選択テーブルを利用して特性に適合した最適な機能及びプロトコルを選択する。図19では、圧縮なし(つまり圧縮可)、かつバルク転送ではキャッシュ/デデュープ部32及びデータ圧縮伸張部33の機能を選択し、圧縮あり(つまり圧縮不可)、かつトランザクションの散発的転送ではキャッシュ/デデュープ部32及びデータ圧縮伸張部33の機能を使わないことを示している。また、図20では平均廃棄率を3段階に分け、平均廃棄率の各段階において3段階の平均帯域変動率とバルク転送又はトランザクションの散発的転送で3段階の平均遅延時間に応じてTCPプロトコルWestwood,BIC,CUBIC,htcp,scalableなどを設定している。
例えば、当初トランザクションのトラフィックが非圧縮の状態で流れており、平均廃棄率=小、平均帯域変動率=小、平均遅延=中であり、機能として圧縮機能、TCPプロトコルとしてBICが選択されていたとする。この状態で、トラフィックの特性がバルク転送に変化した場合、最適プロトコル選択部25は、機能として圧縮とデデュープ、TCPプロトコルとしてWestwoodを選択する。
SWOは、最適プロトコル及び機能を選択すると、図21に示すようなプロトコルスイッチング要求をTCPオプションに指定してTWOに送信する。図21にプロトコルスイッチング要求を示す。プロトコルスイッチング要求は、1バイトのオプション種別「17」、1バイトのオプション長、2バイトの切替機能ビット、4バイトの切替シーケンス番号を有している。
このプロトコルスイッチング要求では、切替機能としてビット#9のWestwood、ビット#2のデデュープ(Dedup)、ビット#3のCompressionを選択したことを示している。これに対し、TWOはプロトコルスイッチングACKで応答する(ステップS258、S26)。
SWO、TWOにおけるプロトコル切替の手順(ステップS259、S260、S27、S28)は、第1実施形態におけるプロトコル切り替えの手順(ステップS58、S59、S7、S8)と同じである。更に、SWO,TWOにおける最適プロトコル選択部25は、データ圧縮伸張部33、キャッシュ/デデュープ部32を活性化する(ステップS261,S29)。
以降、SWOのアプリ部28がデータを書き込むと(ステップS262)、SWOのデータ圧縮伸張部33、キャッシュ/デデュープ部32は、データを圧縮すると共に、キャッシュを行った後、変更後のプロトコルを用いてTWOにデータを送信する(ステップS263)。
TWOでは、圧縮されたデータを受信するとこれを伸張する。また、キャッシュされたデータのインデックスを受信すると、このインデックスに対応するキャッシュデータを参照し元のデータを復元する(ステップS30,S31)。
上記実施形態ではWAN高速化装置18をベースにして説明したが、移動端末やサーバに仮想WAN高速化アプライアンスを持たせるように構成してもよい。
この実施形態では、プロトコルを変更するだけに限らず、圧縮やキャッシュといった機能をアダプティブに変更することが可能となる。
(付記1)
送信元と送信先の通信装置それぞれにおいて、複数の輻輳制御方式にそれぞれ対応する複数の輻輳制御機能を含む伝送制御プロトコルを有し、該伝送制御プロトコルを用いて互いに通信を行う伝送制御方法であって、
前記送信元と送信先の通信装置で第1の輻輳制御機能から第2の輻輳制御機能に切り替えを行う際に、前記伝送制御プロトコルが保持している第1の輻輳制御機能における動作状態を表す複数のパラメタのうち少なくとも1つを前記第2の輻輳制御機能における動作状態を表すパラメタに引き継ぐ
ことを特徴とする伝送制御方法。
(付記2)
付記1記載の伝送制御方法において、
前記送信元と送信先の通信装置の少なくとも一方の通信装置で通信品質を検出し、
前記送信元と送信先の通信装置間の前記第1の輻輳制御機能で輻輳制御を行う伝送制御プロトコルを用いた通信セッションの途中で通信品質の変化を検出したとき、変化した通信品質に応じた第2の輻輳制御機能を選択し、
前記第2の輻輳制御機能の選択を前記送信元と送信先の通信装置間で送受信し、
前記送信元と送信先の通信装置で同期したタイミングで、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える
ことを特徴とする伝送制御方法。
(付記3)
付記2記載の伝送制御方法において、
前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元と送信先の通信装置間で切替シーケンス番号を送受信してネゴシエートしたタイミングで切り替える
ことを特徴とする伝送制御方法。
(付記4)
付記2又は3記載の伝送制御方法において、
前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元の通信装置のデータ送信を一時停止させた上で切り替えを行う
ことを特徴とする伝送制御方法。
(付記5)
付記2乃至4のいずれか1項記載の伝送制御方法において、
トランスポート層におけるデータ転送速度がデータリンク層に割り当てられている帯域に応じた閾値未満であるとき、前記通信セッションの途中で通信品質の変化を検出する
ことを特徴とする伝送制御方法。
(付記6)
付記2乃至4のいずれか1項記載の伝送制御方法において、
通信の遅延、帯域、廃棄率の少なくとも一つの変化量が所定の閾値を超えたとき、前記通信セッションの途中で通信品質の変化を検出する
ことを特徴とする伝送制御方法。
(付記7)
付記2乃至6のいずれか1項記載の伝送制御方法において、
前記通信セッションの途中で通信品質の変化を検出したとき、通信の遅延、帯域、廃棄率の少なくとも一つの変化に適応した第2の輻輳制御機能を選択する
ことを特徴とする伝送制御方法。
(付記8)
付記7記載の伝送制御方法において、
前記通信セッションの途中で通信品質の変化を検出したとき、前記通信セッションのデータ転送が散発的か又はバルク転送的かのデータ転送種別に適応した第2の輻輳制御機能を選択する
ことを特徴とする伝送制御方法。
(付記9)
付記8記載の伝送制御方法において、
前記通信セッションの途中で通信品質の変化を検出したとき、前記データ転送種別及び転送データが既に圧縮済みか否かに応じて、前記転送データの圧縮伸張処理とキャッシュ及びデデュープ処理を使用するか否かを選択する
ことを特徴とする伝送制御方法。
(付記10)
送信元と送信先の通信装置それぞれにおいて、複数の輻輳制御方式にそれぞれ対応する複数の輻輳制御機能を含む伝送制御プロトコルを有し、該伝送制御プロトコルを用いて互いに通信を行う伝送制御方法であって、
前記送信元と送信先の通信装置で第1の輻輳制御機能から第2の輻輳制御機能に切り替えを行う際に、前記伝送制御プロトコルが保持している第1の輻輳制御機能における動作状態を表す複数のパラメタのうち少なくとも1つを前記第2の輻輳制御機能における動作状態を表すパラメタに引き継ぐ引継部を
有することを特徴とする伝送制御システム。
(付記11)
付記10記載の伝送制御システムにおいて、
前記送信元と送信先の通信装置の少なくとも一方の通信装置で通信品質を検出する検出部と、
前記送信元と送信先の通信装置間の前記第1の輻輳制御機能で輻輳制御を行う伝送制御プロトコルを用いた通信セッションの途中で通信品質の変化を検出したとき、変化した通信品質に応じた第2の輻輳制御機能を選択する選択部と、
前記第2の輻輳制御機能の選択を前記送信元と送信先の通信装置間で送受信する送受信部と、
前記送信元と送信先の通信装置で同期したタイミングで、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える切替部と、
を有することを特徴とする伝送制御システム。
(付記12)
付記11記載の伝送制御システムにおいて、
前記切替部は、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元と送信先の通信装置間で前記送受信部により切替シーケンス番号を送受信してネゴシエートしたタイミングで切り替える
ことを特徴とする伝送制御システム。
(付記13)
付記12記載の伝送制御システムにおいて、
前記選択部は、前記検出部が前記通信セッションの途中で通信品質の変化を検出したとき、前記通信セッションのデータ転送が散発的か又はバルク転送的かのデータ転送種別に適応した第2の輻輳制御機能を選択する
ことを特徴とする伝送制御システム。
(付記14)
付記13記載の伝送制御システムにおいて、
前記送信元と送信先の通信装置は、
転送データの圧縮伸張処理を行う圧縮伸張部と、
前記転送データのキャッシュ及びデデュープ処理を行うキャッシュ及びデデュープ部とを有し、
前記選択部は、前記検出部が前記通信セッションの途中で通信品質の変化を検出したとき、前記データ転送種別及び転送データが既に圧縮済みか否かに応じて、前記圧縮伸張部と前記キャッシュ及びデデュープ部を使用するか否かを選択する
ことを特徴とする伝送制御システム。
(付記15)
送信元と送信先それぞれにおいて、複数の輻輳制御方式にそれぞれ対応する複数の輻輳制御機能を含む伝送制御プロトコルを有し、該伝送制御プロトコルを用いて互いに通信を行う伝送制御システムの通信装置であって、
第1の輻輳制御機能から第2の輻輳制御機能に切り替えを行う際に、前記伝送制御プロトコルが保持している第1の輻輳制御機能における動作状態を表す複数のパラメタのうち少なくとも1つを前記第2の輻輳制御機能における動作状態を表すパラメタに引き継ぐ引継部を
有することを特徴とする通信装置。
(付記16)
付記15記載の通信装置において、
通信品質を検出する検出部と、
前記送信元と送信先の間の前記第1の輻輳制御機能で輻輳制御を行う伝送制御プロトコルを用いた通信セッションの途中で前記検出部が通信品質の変化を検出したとき、変化した通信品質に応じた第2の輻輳制御機能を選択する選択部と、
前記第2の輻輳制御機能の選択を前記送信元と送信先の間で送受信する送受信部と、
前記送信元と送信先それぞれで同期したタイミングで、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える切替部と、
を有することを特徴とする通信装置。
(付記17)
付記16記載の通信装置において、
前記切替部は、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元と送信先の間で前記送受信部により切替シーケンス番号を送受信してネゴシエートしたタイミングで切り替える
ことを特徴とする通信装置。
(付記18)
付記17記載の通信装置において、
前記選択部は、前記検出部が前記通信セッションの途中で通信品質の変化を検出したとき、前記通信セッションのデータ転送が散発的か又はバルク転送的かのデータ転送種別に適応した第2の輻輳制御機能を選択する
ことを特徴とする通信装置。
(付記19)
付記18記載の通信装置において、
転送データの圧縮伸張処理を行う圧縮伸張部と、
前記転送データのキャッシュ及びデデュープ処理を行うキャッシュ及びデデュープ部とを有し、
前記選択部は、前記検出部が前記通信セッションの途中で通信品質の変化を検出したとき、前記データ転送種別及び転送データが既に圧縮済みか否かに応じて、前記圧縮伸張部と前記キャッシュ及びデデュープ部を使用するか否かを選択する
ことを特徴とする通信装置。
(付記20)
付記11又は12記載の伝送制御システムにおいて、
前記切替部は、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元の通信装置のデータ送信を一時停止させた上で切り替えを行う
ことを特徴とする伝送制御システム。
(付記21)
付記11又は12又は20のいずれか1項記載の伝送制御システムにおいて、
前記検出部は、トランスポート層におけるデータ転送速度がデータリンク層に割り当てられている帯域に応じた閾値未満であるとき、前記通信セッションの途中で通信品質の変化を検出する
ことを特徴とする伝送制御システム。
(付記22)
付記11又は12又は20のいずれか1項記載の伝送制御システムにおいて、
前記検出部は、通信の遅延、帯域、廃棄率の少なくとも一つの変化量が所定の閾値を超えたとき、前記通信セッションの途中で通信品質の変化を検出する
ことを特徴とする伝送制御システム。
(付記23)
付記11又は12又は20乃至22のいずれか1項記載の伝送制御システムにおいて、
前記選択部は、前記検出部が前記通信セッションの途中で通信品質の変化を検出したとき、通信の遅延、帯域、廃棄率の少なくとも一つの変化に適応した第2の輻輳制御機能を選択する
ことを特徴とする伝送制御システム。
(付記24)
付記15又は16記載の通信装置において、
前記切替部は、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元のデータ送信を一時停止させた上で切り替えを行う
ことを特徴とする通信装置。
(付記25)
付記15又は16又は24のいずれか1項記載の通信装置において、
前記検出部は、トランスポート層におけるデータ転送速度がデータリンク層に割り当てられている帯域に応じた閾値未満であるとき、前記通信セッションの途中で通信品質の変化を検出する
ことを特徴とする通信装置。
(付記26)
付記15又は16又は24のいずれか1項記載の通信装置において、
前記検出部は、通信の遅延、帯域、廃棄率の少なくとも一つの変化量が所定の閾値を超えたとき、前記通信セッションの途中で通信品質の変化を検出する
ことを特徴とする通信装置。
(付記27)
付記15又は16又は24乃至26のいずれか1項記載の通信装置において、
前記選択部は、前記検出部が前記通信セッションの途中で通信品質の変化を検出したとき、通信の遅延、帯域、廃棄率の少なくとも一つの変化に適応した第2の輻輳制御機能を選択する
ことを特徴とする通信装置。
11 移動端末
12 データセンタ
13 サーバ
14 無線基地局
15 WiMAX無線アクセス網
16 アクセスネットワークゲートウェイ
17 インターネット
18 WAN高速化装置
20,30 通信装置
21 通信インタフェース部
22−1〜22−n プロトコル部
23 切替制御部
23a パラメタステート引継部
24 通信品質監視部
25 最適プロトコル選択部
26 最適パラメタ決定部
27 データバッファ部
28 アプリ部
31 アプリケーション監視部
32 キャッシュ/デデュープ部
33 データ圧縮伸張部

Claims (9)

  1. 送信元と送信先の通信装置それぞれにおいて、複数の輻輳制御方式にそれぞれ対応する複数の輻輳制御機能を含む伝送制御プロトコルを有し、該伝送制御プロトコルを用いて互いに通信を行う伝送制御方法であって、
    前記送信元と送信先の通信装置で第1の輻輳制御機能から第2の輻輳制御機能に切り替えを行う際に、前記伝送制御プロトコルが保持している第1の輻輳制御機能における動作状態を表す複数のパラメタのうち少なくとも1つを前記第2の輻輳制御機能における動作状態を表すパラメタに引き継ぐ
    ことを特徴とする伝送制御方法。
  2. 請求項1記載の伝送制御方法において、
    前記送信元と送信先の通信装置の少なくとも一方の通信装置で通信品質を検出し、
    前記送信元と送信先の通信装置間の前記第1の輻輳制御機能で輻輳制御を行う伝送制御プロトコルを用いた通信セッションの途中で通信品質の変化を検出したとき、変化した通信品質に応じた第2の輻輳制御機能を選択し、
    前記第2の輻輳制御機能の選択を前記送信元と送信先の通信装置間で送受信し、
    前記送信元と送信先の通信装置で同期したタイミングで、前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える
    ことを特徴とする伝送制御方法。
  3. 請求項2記載の伝送制御方法において、
    前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元と送信先の通信装置間で切替シーケンス番号を送受信してネゴシエートしたタイミングで切り替える
    ことを特徴とする伝送制御方法。
  4. 請求項2又は3記載の伝送制御方法において、
    前記第1の輻輳制御機能から前記第2の輻輳制御機能に切り替える際に、前記送信元の通信装置のデータ送信を一時停止させた上で切り替えを行う
    ことを特徴とする伝送制御方法。
  5. 請求項2乃至4のいずれか1項記載の伝送制御方法において、
    トランスポート層におけるデータ転送速度がデータリンク層に割り当てられている帯域に応じた閾値未満であるとき、前記通信セッションの途中で通信品質の変化を検出する
    ことを特徴とする伝送制御方法。
  6. 請求項2乃至4のいずれか1項記載の伝送制御方法において、
    通信の遅延、帯域、廃棄率の少なくとも一つの変化量が所定の閾値を超えたとき、前記通信セッションの途中で通信品質の変化を検出する
    ことを特徴とする伝送制御方法。
  7. 請求項2乃至6のいずれか1項記載の伝送制御方法において、
    前記通信セッションの途中で通信品質の変化を検出したとき、通信の遅延、帯域、廃棄率の少なくとも一つの変化に適応した第2の輻輳制御機能を選択する
    ことを特徴とする伝送制御方法。
  8. 請求項7記載の伝送制御方法において、
    前記通信セッションの途中で通信品質の変化を検出したとき、前記通信セッションのデータ転送が散発的か又はバルク転送的かのデータ転送種別に適応した第2の輻輳制御機能を選択する
    ことを特徴とする伝送制御方法。
  9. 請求項8記載の伝送制御方法において、
    前記通信セッションの途中で通信品質の変化を検出したとき、前記データ転送種別及び転送データが既に圧縮済みか否かに応じて、前記転送データの圧縮伸張処理とキャッシュ及びデデュープ処理を使用するか否かを選択する
    ことを特徴とする伝送制御方法。
JP2011037434A 2011-02-23 2011-02-23 伝送制御方法 Active JP5976277B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011037434A JP5976277B2 (ja) 2011-02-23 2011-02-23 伝送制御方法
US13/402,281 US8867354B2 (en) 2011-02-23 2012-02-22 Transmission control method, transmission control system, communication device and recording medium of transmission control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011037434A JP5976277B2 (ja) 2011-02-23 2011-02-23 伝送制御方法

Publications (2)

Publication Number Publication Date
JP2012175561A true JP2012175561A (ja) 2012-09-10
JP5976277B2 JP5976277B2 (ja) 2016-08-23

Family

ID=46652647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011037434A Active JP5976277B2 (ja) 2011-02-23 2011-02-23 伝送制御方法

Country Status (2)

Country Link
US (1) US8867354B2 (ja)
JP (1) JP5976277B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014141437A1 (ja) * 2013-03-14 2014-09-18 株式会社日立製作所 通信ノード装置、帯域制御方法、及び計算機読み取り可能な記憶媒体
JP2016506104A (ja) * 2012-11-15 2016-02-25 シーディーネットワークス カンパニー リミテッド コンテンツを提供する方法、装置及び記録媒体
US9521056B2 (en) 2013-10-11 2016-12-13 Hitachi, Ltd. Communication system
JP2017143336A (ja) * 2016-02-08 2017-08-17 日本電信電話株式会社 通信装置及びその制御方法並びにプログラム、並びに通信システム
US9847920B2 (en) 2016-02-24 2017-12-19 Fujitsu Limited Communication control device, communication control method, and computer readable storage medium for specifying an upper limit of a network connection
JP2018133619A (ja) * 2017-02-13 2018-08-23 Kddi株式会社 通信端末装置、及び管理装置
JP2019057801A (ja) * 2017-09-20 2019-04-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、及びプログラム
JP2020526113A (ja) * 2017-06-30 2020-08-27 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データ伝送方法、システムおよび装置
JP2022079634A (ja) * 2017-12-01 2022-05-26 富士通株式会社 通信中継装置およびデータ中継方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990704B2 (en) * 2011-03-04 2015-03-24 Sony Corporation Remote user interface media adapter in network bridge
US9130843B2 (en) * 2012-05-18 2015-09-08 Alcatel Lucent Method and apparatus for improving HTTP adaptive streaming performance using TCP modifications at content source
US8630204B1 (en) * 2012-10-03 2014-01-14 LiveQoS Inc. System and method for a TCP mapper
US8711690B2 (en) * 2012-10-03 2014-04-29 LiveQoS Inc. System and method for a TCP mapper
US9143454B2 (en) 2012-10-03 2015-09-22 LiveQoS Inc. System and method for a TCP mapper
US9372726B2 (en) 2013-01-09 2016-06-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US20140281018A1 (en) 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Dynamic Optimization of TCP Connections
US20150106530A1 (en) * 2013-10-15 2015-04-16 Nokia Corporation Communication Efficiency
WO2015167447A1 (en) * 2014-04-29 2015-11-05 Hitachi, Ltd. Deploying applications in cloud environments
JP2016054420A (ja) * 2014-09-03 2016-04-14 富士通株式会社 通信システム、通信装置、および、通信プログラム
CN105991462B (zh) 2015-03-02 2019-05-28 华为技术有限公司 传输控制协议tcp数据包的发送方法、发送装置和***
JP2016208315A (ja) * 2015-04-23 2016-12-08 富士通株式会社 通信装置、通信処理方法、および、通信プログラム
JP2017143392A (ja) 2016-02-09 2017-08-17 富士通株式会社 通信制御プログラム、通信制御方法および通信装置
US10257097B1 (en) 2016-10-04 2019-04-09 EMC IP Holding Company LLC Connection based selection of a network congestion control process
US10862952B1 (en) * 2017-03-30 2020-12-08 Amazon Technologies, Inc. Migration of operational computing hardware to a data center
KR101841080B1 (ko) 2017-11-13 2018-05-04 한국과학기술정보연구원 데이터 패킷 우회 전송 방법 및 시스템
EP3729750A1 (en) * 2017-12-22 2020-10-28 Telefonaktiebolaget LM Ericsson (publ) Congestion notification by data packet from intermediate node
CN110366271B (zh) 2018-04-10 2023-11-17 华为技术有限公司 通信方法和通信装置
US11405289B2 (en) * 2018-06-06 2022-08-02 Gigamon Inc. Distributed packet deduplication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204580A (ja) * 2001-09-28 2003-07-18 Symbol Technologies Inc 無線ネットワークで作動可能な移動式コンピュータ端末の通信中にアプリケーション間の接続性を維持するソフトウエアの方法
JP2008518531A (ja) * 2004-10-29 2008-05-29 株式会社エヌ・ティ・ティ・ドコモ 異なるプロトコル実装間の切替えを行う方法および装置
US20090316581A1 (en) * 2008-06-24 2009-12-24 International Business Machines Corporation Methods, Systems and Computer Program Products for Dynamic Selection and Switching of TCP Congestion Control Algorithms Over a TCP Connection
US20100246398A1 (en) * 2009-03-26 2010-09-30 Mung Chiang Tcp extension and variants for handling heterogeneous applications

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3482091B2 (ja) * 1997-01-09 2003-12-22 株式会社東芝 通信装置
US6490251B2 (en) * 1997-04-14 2002-12-03 Nortel Networks Limited Method and apparatus for communicating congestion information among different protocol layers between networks
JP3178673B2 (ja) * 1998-10-15 2001-06-25 日本電気株式会社 プロトコル中継変換方法及び装置
CN1200368C (zh) * 2000-08-18 2005-05-04 清华大学 一种将tcp用于不可靠传输网络的局域重传方法
AU2001288589A1 (en) * 2000-08-31 2002-03-13 The Regents Of The University Of California Method for improving tcp performance over wireless links
US7184401B2 (en) * 2001-02-05 2007-02-27 Interdigital Technology Corporation Link-aware transmission control protocol
JP5138847B2 (ja) * 2001-08-31 2013-02-06 富士通株式会社 ネットワークシステム、ネットワーク中継装置、ネットワーク中継監視装置およびネットワーク運用方法
JP2004032453A (ja) 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> パケット通信システムとこのシステムで使用されるパケット転送装置及びパケット転送制御プログラム
WO2005002120A2 (en) * 2003-06-12 2005-01-06 California Institute Of Technology Method and apparatus for network congestion control
WO2006007870A1 (en) * 2004-07-23 2006-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Data unit sender control method
US7760638B2 (en) * 2004-11-29 2010-07-20 Nec Corporation High-throughput communication system, communication terminal, session relay, and communication protocol
KR100648837B1 (ko) * 2004-12-08 2006-11-24 한국전자통신연구원 Tcp 프로토콜의 재전송 및 지연확인 타이머 관리 장치및 방법
JP4147534B2 (ja) * 2005-02-03 2008-09-10 日本電気株式会社 通信装置および通信方法
US7577097B2 (en) * 2005-03-22 2009-08-18 Microsoft Corporation Compound transmission control protocol
US20060242319A1 (en) * 2005-04-25 2006-10-26 Nec Laboratories America, Inc. Service Differentiated Downlink Scheduling in Wireless Packet Data Systems
US8159943B2 (en) * 2005-09-16 2012-04-17 Jds Uniphase Corporation Method of forming protocol data units, protocol data units and protocol data unit generation apparatus
US7782759B2 (en) * 2006-04-21 2010-08-24 Microsoft Corporation Enabling network devices to run multiple congestion control algorithms
JP4422165B2 (ja) 2007-03-29 2010-02-24 Necアクセステクニカ株式会社 画像通信システム及び画像通信方法
JP2009124367A (ja) 2007-11-14 2009-06-04 Nec Corp 通信装置、ネットワーク選択方法、及びネットワーク選択プログラム
US20110090795A1 (en) * 2009-09-11 2011-04-21 Victor On Kwok Li Differentiation among occurrences of packet reordering, congestive packet loss, or random packet loss in communication networks
US8340126B2 (en) * 2010-06-07 2012-12-25 Lockheed Martin Corporation Method and apparatus for congestion control
US9143457B2 (en) * 2010-10-06 2015-09-22 Qualcomm Incorporated Methods and apparatus for ECN receiver driven congestion control
US8583735B2 (en) * 2010-11-17 2013-11-12 International Business Machines Corporation Delivery in session initiated protocol (SIP) conferencing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204580A (ja) * 2001-09-28 2003-07-18 Symbol Technologies Inc 無線ネットワークで作動可能な移動式コンピュータ端末の通信中にアプリケーション間の接続性を維持するソフトウエアの方法
JP2008518531A (ja) * 2004-10-29 2008-05-29 株式会社エヌ・ティ・ティ・ドコモ 異なるプロトコル実装間の切替えを行う方法および装置
US20090316581A1 (en) * 2008-06-24 2009-12-24 International Business Machines Corporation Methods, Systems and Computer Program Products for Dynamic Selection and Switching of TCP Congestion Control Algorithms Over a TCP Connection
US20100246398A1 (en) * 2009-03-26 2010-09-30 Mung Chiang Tcp extension and variants for handling heterogeneous applications

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506104A (ja) * 2012-11-15 2016-02-25 シーディーネットワークス カンパニー リミテッド コンテンツを提供する方法、装置及び記録媒体
WO2014141437A1 (ja) * 2013-03-14 2014-09-18 株式会社日立製作所 通信ノード装置、帯域制御方法、及び計算機読み取り可能な記憶媒体
US9521056B2 (en) 2013-10-11 2016-12-13 Hitachi, Ltd. Communication system
JP2017143336A (ja) * 2016-02-08 2017-08-17 日本電信電話株式会社 通信装置及びその制御方法並びにプログラム、並びに通信システム
US9847920B2 (en) 2016-02-24 2017-12-19 Fujitsu Limited Communication control device, communication control method, and computer readable storage medium for specifying an upper limit of a network connection
JP2018133619A (ja) * 2017-02-13 2018-08-23 Kddi株式会社 通信端末装置、及び管理装置
US11528345B2 (en) 2017-06-30 2022-12-13 Huawei Technologies Co., Ltd. Data transmission method and system, and apparatus
JP2020526113A (ja) * 2017-06-30 2020-08-27 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データ伝送方法、システムおよび装置
JP7000662B2 (ja) 2017-06-30 2022-01-19 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 方法、コンピュータプログラム、システムおよび端末
JP2019057801A (ja) * 2017-09-20 2019-04-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、及びプログラム
JP7100967B2 (ja) 2017-09-20 2022-07-14 エヌ・ティ・ティ・コミュニケーションズ株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、及びプログラム
JP2022079634A (ja) * 2017-12-01 2022-05-26 富士通株式会社 通信中継装置およびデータ中継方法
JP7367793B2 (ja) 2017-12-01 2023-10-24 富士通株式会社 通信中継装置およびデータ中継方法

Also Published As

Publication number Publication date
US20120213069A1 (en) 2012-08-23
US8867354B2 (en) 2014-10-21
JP5976277B2 (ja) 2016-08-23

Similar Documents

Publication Publication Date Title
JP5976277B2 (ja) 伝送制御方法
US20230283662A1 (en) Optimizing Data Transmission between a First Endpoint and a Second Endpoint in a Computer Network
JP7142722B2 (ja) 伝送制御方法および装置
US20040192312A1 (en) Communication system for voice and data with wireless TCP server
US8966123B2 (en) Unobtrusive content compression in a telecommunications network
EP1395014B1 (en) A method of transmitting data streams with data segments of variable length
EP1393497B1 (en) Dual mode service platform within network communication system
US20050120140A1 (en) Method of and system for multi-patch communication
EP1383281A1 (en) Method for calculating a transmission window size
US20120102140A1 (en) Method for efficient utilisation of the throughput capacity of an enb by using a cache
KR20120067963A (ko) 물리 네트워크들이 변경될 때 tcp 접속을 로밍하기 위한 시스템 및 방법
WO2018233376A1 (zh) 传输报文的方法、代理服务器和计算机可读存储介质
CN115002023B (zh) 一种链路聚合方法、链路聚合装置、电子设备及存储介质
CN106471847B (zh) 用于在无线电接入网络之间传送数据通信会话的方法和设备
CN115766605A (zh) 网络拥塞控制方法、装置及***
Yan et al. Transmission protocol customization for network slicing: A case study of video streaming
CN116132503A (zh) 数据传输方法、装置及设备
Metzler et al. AMnet: Heterogeneous multicast services based on active networking
CN109039928A (zh) 数据的传输方法、装置和无线保真路由器
Magalhaes et al. End-to-end inverse multiplexing for mobile hosts
JP3808882B2 (ja) ゲートウェイ装置および無線端末装置
Kim et al. FlexCP: A Scalable Multipath TCP Proxy for Cellular Networks
Oguchi et al. Reconfigurable TCP: an architecture for enhanced communication performance in mobile cloud services
Khurshid et al. Protocols for transferring bulk data over internet: Current solutions and future challenges
Kawana et al. Communication Multiplexing of Server with QUIC and SDN in Multihomed Networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151005

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151014

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20151030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160720

R150 Certificate of patent or registration of utility model

Ref document number: 5976277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150