IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧 ▶ 日本電気通信システム株式会社の特許一覧

特開2023-172036データ中継装置、データ中継方法及びデータ中継プログラム
<>
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図1
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図2
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図3
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図4
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図5
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図6
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図7
  • 特開-データ中継装置、データ中継方法及びデータ中継プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023172036
(43)【公開日】2023-12-06
(54)【発明の名称】データ中継装置、データ中継方法及びデータ中継プログラム
(51)【国際特許分類】
   H04L 47/11 20220101AFI20231129BHJP
   H04L 47/22 20220101ALI20231129BHJP
【FI】
H04L47/11
H04L47/22
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022083587
(22)【出願日】2022-05-23
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(71)【出願人】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】向谷地 有
(72)【発明者】
【氏名】西山 祥平
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA13
5K030JA11
5K030JL01
5K030LC02
5K030MA04
5K030MB04
(57)【要約】
【課題】従来のデータ中継装置では、輻輳の検出タイミングが遅れる問題があった。
【解決手段】一実施の形態にかかるデータ中継装置は、クライアント装置10とサーバ装置20との間で送受信されるパケットを中継する通信処理部31と、パケットのうちサーバ装置20からクライアント装置10に送信される確認応答誘発命令に応じてクライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置とクライアント装置10との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理部32と、を有する。
【選択図】図5
【特許請求の範囲】
【請求項1】
クライアント装置とサーバ装置との間で送受信されるパケットを中継する通信処理部と、
前記パケットのうち前記サーバ装置から前記クライアント装置に送信される確認応答誘発命令に応じて前記クライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置と前記クライアント装置との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理部と、
を有するデータ中継装置。
【請求項2】
前記輻輳判定処理部は、前記確認応答パケットのパケットサイズが大きいほど前記輻輳度が高いと判断する請求項1に記載のデータ中継装置。
【請求項3】
前記サーバ装置から前記クライアント装置に向かって送信されるパケットを蓄積して前記通信処理部に蓄積した前記パケットを渡す受信データバッファと、
前記輻輳度に対応する前記自装置から前記クライアント装置への通信速度との関係を示す最適化ポリシーを格納するデータベースと、をさらに有し、
前記通信処理部は、前記輻輳判定処理部から通知される前記輻輳度に基づき前記データベースを参照して、前記輻輳度に対応した前記最適化ポリシーに規定された通信速度を適用して前記自装置から前記クライアント装置への前記パケットの送信を行う請求項1に記載のデータ中継装置。
【請求項4】
前記通信処理部は、前記輻輳度が高いほど遅い前記通信速度が規定された前記最適化ポリシーを適用する請求項3に記載のデータ中継装置。
【請求項5】
前記通信処理部は、前記輻輳度が低いほど速い前記通信速度が規定された前記最適化ポリシーを適用する請求項4に記載のデータ中継装置。
【請求項6】
前記通信処理部は、適用する前記最適化ポリシーに規定された前記通信速度に応じて前記受信データバッファからのデータ読み出し速度を変更する請求項3に記載のデータ中継装置。
【請求項7】
前記確認応答パケットは、前記サーバ装置から前記クライアント装置に到達する前記パケットの割合が小さくなるほどサイズが大きくなる請求項1に記載のデータ中継装置。
【請求項8】
前記確認応答パケットは、トランスポート層の通信プロトコルとして提唱されたQUICプロトコルに準拠したパケットである請求項1に記載のデータ中継装置。
【請求項9】
クライアント装置とサーバ装置との間で行われるパケット通信を中継する中継装置におけるデータ中継方法であって、
前記クライアント装置と前記サーバ装置との間で送受信されるパケットを中継する通信処理と、
前記パケットのうち前記サーバ装置から前記クライアント装置に送信される確認応答誘発命令に応じて前記クライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置と前記クライアント装置との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理と、
をプロセッサに行わせるデータ中継方法。
【請求項10】
クライアント装置とサーバ装置との間で送受信されるパケットを中継する通信処理と、
前記パケットのうち前記サーバ装置から前記クライアント装置に送信される確認応答誘発命令に応じて前記クライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置と前記クライアント装置との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理と、
をコンピュータに実行させるデータ中継プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ中継装置、データ中継方法及びデータ中継プログラムに関し、特にクライアント装置とオリジンサーバとの間のデータ通信を中継するデータ中継装置、データ中継方法及びデータ中継プログラムに関する。
【背景技術】
【0002】
近年、スマートフォンやタブレット等の高機能なクライアント装置末の普及に伴い、モバイルネットワークのトラフィックが増加している。例えば、モバイルネットワークでは、基地局とクライアント端末の間に、ルーター装置のようなデータ中継装置を配置し、データ中継装置に複数のクライアント装置が帰属する接続形態がある。このようなデータ中継装置を介した通信を行う場合、データ中継装置とクライアント装置との間の通信区間で発生する輻輳によりスループットが低下することがある。そこで、輻輳に対するスループット向上技術が特許文献1に開示されている。
【0003】
特許文献1に記載の通信制御装置は、送信装置から受信装置へ送信されるパケットであって、当該送信装置と当該受信装置との間の中継点において生成及び改変できない当該パケットを、上記送信装置から受信する第1通信処理部と、上記パケットを上記受信装置へ送信する第2通信処理部と、を備え、前記第2通信処理部は、前記パケットのための確認応答パケットであって、前記受信装置と前記送信装置との間の中継点において生成及び改変できない当該確認応答パケットを、前記受信装置から受信し、前記第1通信処理部は、前記確認応答パケットを前記送信装置へ送信し、前記通信制御装置は、前記送信装置が送信速度を変更するように上記パケット又は前記確認応答パケットの制御を行う制御部、をさらに備える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2020/12973号
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の通信制御装置では、確認応答パケットを送信装置に送信し、送信装置に通信速度の変更を要求するものである。そのため、特許文献1に記載の通信制御装置をデータ中継装置として利用しても、データ中継装置とクライアント装置との間の通信区間で発生している輻輳の検知タイミングに遅れが生じる問題がある。
【0006】
本開示は、上述した課題を解決するためになされたものであり、データ中継装置とクライアント装置との間の通信区間で発生している輻輳を早期に検知するデータ中継装置を提供することを目的とするものである。
【課題を解決するための手段】
【0007】
一実施の形態にかかるデータ中継装置は、クライアント装置とサーバ装置との間で送受信されるパケットを中継する通信処理部と、前記パケットのうち前記サーバ装置から前記クライアント装置に送信される確認応答誘発命令に応じて前記クライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置と前記クライアント装置との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理部と、を有する。
【0008】
一実施の形態にかかるデータ中継方法は、クライアント装置とサーバ装置との間で行われるパケット通信を中継する中継装置におけるデータ中継方法であって、前記クライアント装置と前記サーバ装置との間で送受信されるパケットを中継する通信処理と、前記パケットのうち前記サーバ装置から前記クライアント装置に送信される確認応答誘発命令に応じて前記クライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置と前記クライアント装置との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理と、
をプロセッサに行わせる。
【0009】
一実施の形態にかかるデータ中継プログラムは、クライアント装置とサーバ装置との間で送受信されるパケットを中継する通信処理と、前記パケットのうち前記サーバ装置から前記クライアント装置に送信される確認応答誘発命令に応じて前記クライアント装置が発出する確認応答パケットのパケットサイズに基づき自装置と前記クライアント装置との間の通信で発生している輻輳状態を示す輻輳度を判断する輻輳判定処理と、をコンピュータに実行させる。
【発明の効果】
【0010】
一実施の形態にかかるデータ中継装置、データ中継方法及びデータ中継プログラムによれば、確認応答パケットがサーバ装置に到達する前にデータ中継装置とクライアント端末との間の通信区間で発生している輻輳を検出することができる。
【図面の簡単な説明】
【0011】
図1】実施の形態1にかかる通信システムの概略図である。
図2】実施の形態1にかかるデータ中継装置の動作の概略を説明する図である。
図3】ACKパケットのデータ構造を説明する図である。
図4】データのドロップ率とACKパケットのパケットサイズの関係を説明する図である。
図5】実施の形態1にかかるデータ中継装置の詳細なブロック図である。
図6】実施の形態1にかかる通信システムの動作を説明するシーケンス図である。
図7】実施の形態1にかかるデータ中継装置の動作を説明するシーケンス図である。
図8】実施の形態1にかかるデータ中継装置のハードウェア構成の例を説明するブロック図である。
【発明を実施するための形態】
【0012】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0013】
また、上述したプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0014】
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1に実施の形態1にかかる通信システム1のブロック図を示す。図1に示すように、実施の形態1にかかる通信システム1は、クライアント装置10、サーバ装置(例えば、オリジンサーバ20)、データ中継装置30を有する。
【0015】
通信システム1では、クライアント装置10とオリジンサーバ20との間でパケットを用いたデータ通信を行うが、このデータ通信をデータ中継装置30により中継する。また、実施の形態1にかかる通信システム1では、データ通信に用いるトランスポート層の通信プロトコルとして、UDP(User Datagram Protocol)をベースとして提唱されたQUIC(Quick UDP Internet Connections)を用いる。このQUICについての詳細は後述する。
【0016】
また、図1に示す例では、クライアント装置10とデータ中継装置30の間の通信区間を無線区間として、1対1通信を行う例を示したが、データ中継装置30は、複数のクライアント装置10に対して1台となる構成であっても構わない。また、無線区間を有線通信区間や、有線通信と無線通信が混在する通信区間としても構わない。さらに、図1で示す例では、データ中継装置30とオリジンサーバ20との間の通信区間を公衆通信網区間としたが、公衆通信網区間の接続形式は有線であるか無線であるかは問わない。
【0017】
データ中継装置30は、クライアント装置10とデータ中継装置30との間の通信を中継する。そして、データ中継装置30は、クライアント装置10とオリジンサーバ20との通信で送受信されるパケットのうちオリジンサーバ20からクライアント装置10に送信される確認応答誘発命令に応じてクライアント装置10が発出する確認応答パケット(ACK(ACKnowledgement)パケット)のパケットサイズに基づきオリジンサーバ20とクライアント装置10との間の通信で発生している輻輳状態を示す輻輳度を判断する。なお、輻輳度は、高低の2段階の設定値で定義されているものであれば、輻輳の有無を示す。また、輻輳度は、多段階の設定値で定義されている場合は、輻輳の程度を示す指標となる。また、データ中継装置30は、検出した輻輳度に基づき、クライアント装置10とデータ中継装置30との間の通信速度を変更する。
【0018】
そこで、データ中継装置30の動作の概略を説明する。図2に実施の形態1にかかるデータ中継装置30の動作の概略を説明する図を示す。なお、図2に示す例では、輻輳度に2段階の設定値を定義した例である。
【0019】
図2に示すように、データ中継装置30は、ACKパケットのパケットサイズに基づき輻輳が検出された場合には、公衆通信網区間の通信速度に比べて無線区間の通信速度を遅くする。このとき、データ中継装置30は、内部の受信データバッファに公衆通信網区間と無線区間の速度差に起因して送信できない受信データを蓄積する。
【0020】
また、データ中継装置30は、ACKパケットのパケットサイズから無線区間で輻輳が発生していないと判断された場合、無線区間の通信速度を元に戻す。なお、輻輳が発生していないと判断される場合、無線区間の通信速度を公衆通信網区間通信速度よりも上げることも出来る。
【0021】
上述したように、データ中継装置30は、ACKパケットのパケットサイズに基づき輻輳の判断を行う。これにより、データ中継装置30は、ACKパケットの内容を解釈すること無く、輻輳判断が可能になる。これは、クライアント装置10とオリジンサーバ20とがQUIC等の暗号化されたパケットを用いて通信を行う場合に特に有効である。
【0022】
そこで、QUICプロトコルについて詳細に説明する。QUICプロトコルは、UDPプロトコルをベースに提唱されたトランスポート層の通信プロトコルである。UDPは、コネクション型のTCP(Transmission Control Protocol)とは異なり、輻輳制御はせずにデータを送信し続ける特徴を有するつまり、UDPをベースとしたQUICにおいても輻輳を制御するための機構はない。また、このQUICプロトコルは、HTTP(Hypertext Transfer Protocol)の1つである「HTTP/3」において採用されており、今後利用の拡大が見込まれている。
【0023】
また、近年の規制強化の流れにおいて、ネットワークの中立性に関する規制の検討において、通信途中の経路で第三者が通信の内容を参照することにユーザー認証を必須要件とすることが検討されている。このようなことから、データ中継装置30では、パケットの内容を参照すること無く、輻輳の有無を判断する手法が求められる。また、QUICプロトコルでは、パケットが暗号化されており内容を確認出来ないため、QUICプロトコルに基づく通信を中継するデータ中継装置30では、内容を確認することなく輻輳の有無を判断する意味がある。
【0024】
オリジンサーバ20では、ACKパケットのパケットサイズに基づき輻輳の有無の判断をする。そこで、ACKパケットの内容について説明する。そこで、図3にACKパケットのデータ構造を説明する図を示す。
【0025】
図3に示すように、QUICプロトコルで用いられるACKパケットには、受信側に到達したパケットと未達だったパケットの番号が含まれる。図3に示す例では、0~100番目及び120~140番目のパケットは受信側に到達し、100~120番目及び140~160番目のパケットが未達であった例である。ACKパケットは、受信側に到達したパケットと受信側に未達だったパケットの切り替わりが多くなるとACK Rangeの数が増加し、パケットサイズが大きくなる傾向がある。
【0026】
そして、例えば、無線区間で輻輳が発生すると、受信側において未達となるパケットが増加する傾向にある。また、未達パケットはランダムなタイミングで発生する。このような事から、輻輳の度合いが高まるとACKパケットのパケットサイズが増加する傾向がある。そこで、図4にデータのドロップ率とACKパケットのパケットサイズの関係を説明する図を示す。図4はACKパケットのパケットサイズと未達パケットの割合を示すドロップ率との関係を検証した一例である。また、図4では、横軸を時間、縦軸をACKパケットのパケットサイズとした。
【0027】
図4に示す例では、タイミングT1以前は、ドロップ率が10%未満で通信を行った場合のACKパケットのパケットサイズを検証した結果を示す。また、タイミングT1~T2及びタイミングT4以降の期間はドロップ率を10%に設定した通信を行い、タイミングT2~T3はドロップ率を20%に設定した通信を行い、タイミングT3~T4はドロップ率を30%に設定した通信を行った。そして、図3に示すように、ACKパケットのパケットサイズはドロップ率が高くなるほど大きくなる傾向がある。
【0028】
実施の形態1にかかるデータ中継装置30では、ACKパケットのパケットサイズの移動平均、パケットサイズの遷移を示す包絡線、パケットサイズのばらつき判断等、システムの仕様に応じた平滑化手法を適用した結果で得られたパケットサイズに基づき無線区間の輻輳度を判断する。
【0029】
ここで、データ中継装置30についてより詳細に説明する。図5に実施の形態1にかかるデータ中継装置30の詳細なブロック図を示す。なお、図5では、データ中継装置30とクライアント装置10及びオリジンサーバ20との関係を示すためにクライアント装置10及びオリジンサーバ20を示した。また、図5では、クライアント装置10からオリジンサーバ20に向かうパケットの流れの方向を上り方向、オリジンサーバ20からクライアント装置10に向かうパケットの流れの方向を下り方向として矢印を示した。
【0030】
図5に示すように、データ中継装置30は、通信処理部31、ネットワーク輻輳判定処理部32、受信データバッファ33、データベース(例えば、最適化ポリシーデータベース34)を有する。
【0031】
通信処理部31は、クライアント装置10とオリジンサーバ20との間で送受信されるパケットを中継する。ネットワーク輻輳判定処理部32は、パケットのうちオリジンサーバ20からクライアント装置10に送信される確認応答誘発命令に応じてクライアント装置が発出する確認応答パケット(例えば、ACKパケット)のパケットサイズに基づきオリジンサーバ20とクライアント装置10との間の通信で発生している輻輳状態を示す輻輳度を判断する。また、ネットワーク輻輳判定処理部32は、ACKパケットのパケットサイズが大きいほど輻輳度が高いと判断する。
【0032】
受信データバッファ33は、オリジンサーバ20からクライアント装置10に向かって送信されるパケットを蓄積して通信処理部31に蓄積したパケットを渡す。最適化ポリシーデータベース34は、輻輳度に対応するデータ中継装置30からクライアント装置10への通信速度との関係を示す最適化ポリシーを格納する。そして、通信処理部31は、ネットワーク輻輳判定処理部32から通知される輻輳度に基づき最適化ポリシーデータベース34を参照して、輻輳度に対応した最適化ポリシーに規定された通信速度を適用してデータ中継装置30からクライアント装置10へのパケットの送信を行う。より具体的には、通信処理部31は、最適化ポリシーに規定された通信速度に応じた速度で受信データバッファ33からのパケット取得速度を調整することで、クライアント装置10にパケットを送信する際の通信速度を調整する。
【0033】
また、通信処理部31は、ネットワーク輻輳判定処理部32が示す輻輳度が高いほど遅い通信速度が規定された最適化ポリシーを適用し、輻輳度が低いほど速い通信速度が規定された最適化ポリシーを適用する。別の観点では、通信処理部31は、輻輳度が高いときはパケットの送信遅延を大きくし、輻輳度が低ければパケットの送信遅延を解消する。
【0034】
続いて、データ中継装置30を用いた実施の形態1にかかる通信システム1の動作について説明する。そこで、図6に実施の形態1にかかる通信システムの動作を説明するシーケンス図を示す。なお、図6では説明を簡単にするために、ACKパケットの返信間隔の間にオリジンサーバ20からクライアント装置10に送信されるパケットを2つとしたが、実際には2つ以上の複数のパケットが送信される。
【0035】
図6に示すように、実施の形態1にかかる通信システム1では、例えば、パケットP1、P2の用にパケットが到達する率が高い(ドロップ率が小さい)場合には、データ中継装置30は、オリジンサーバ20から受信したパケットを受信した速度と同等の速度でクライアント装置10に転送する。また、未達パケットがないため、クライアント装置10は、オリジンサーバ20から送信される確認応答誘発命令に応じて、パケットP1、P2の受信が成功したことを示すACKパケットをオリジンサーバ20に返信する。
【0036】
そして、図6では、パケットP1、P2の後にオリジンサーバ20から送信されるパケットP3が未達になる。一方、パケットP3の後にオリジンサーバ20から送信されるパケットP4はクライアント装置10に到達する。これにより、クライアント装置10は、オリジンサーバ20から送信される確認応答誘発命令に応じて、パケットP3が未達であり、かつ、パケットP4の受信は成功したことを示すACKパケットをオリジンサーバ20に返信する。このとき、データ中継装置30は、ACKパケットのパケットサイズが増加していることからパケットロスが生じたことを認識して、輻輳度が高いと判断する。これにより、通信処理部31が適用する最適化ポリシーを変更し、これ以降は、クライアント装置10側の通信速度を低下させる。
【0037】
図6では、パケットP4の後にオリジンサーバ20から送信されるパケットP5、P6はクライアント装置10に到達する。しかしながら、パケットP3、P4に対応するACKパケットのパケットサイズに応じて通信処理部31がクライアント装置10側の通信速度を低下させているため、パケットP5、P6は、オリジンサーバ20からの送信間隔よりも長い送信間隔でデータ中継装置30からクライアント装置10に送出される。つまり、データ中継装置30は、データ中継装置30からクライアント装置10の送信タイミングに遅延を挿入することで、データ中継装置30からクライアント装置10側の通信速度を抑制する。
【0038】
なお、図6では、データ中継装置30のクライアント装置10側の通信速度を遅くする例について説明したが、輻輳度のレベルに応じてデータ中継装置30はクライアント装置10側の通信速度を早くすることも出来る。
【0039】
続いて、データ中継装置30の動作についてより詳細に説明する。そこで、図7に実施の形態1にかかるデータ中継装置30の動作を説明するシーケンス図を示す。図7で示したシーケンス図は、図6においてクライアント装置10がACKパケットを送信した後から2つのパケットがオリジンサーバ20から送信されるまでのデータ中継装置30の動作について詳細に示した。
【0040】
図7に示すように、データ中継装置30の通信処理部31は、クライアント装置10からACKパケットを受信すると、受信したACKパケットをオリジンサーバ20に送信するとともに、ネットワーク輻輳判定処理部32に送信する(ステップS1)。
【0041】
そして、ネットワーク輻輳判定処理部32は、ACKパケットのパケットサイズを参照して、輻輳度を判断し、かつ、輻輳度が直線の輻輳度から変化したか否かを判断する(ステップS2)。このステップS2において輻輳度に変化が無ければ、通信処理部31に適用されている最適化ポリシーを変更すること無く通信を継続する。一方、ステップS2において輻輳度に変化があった場合、ネットワーク輻輳判定処理部32から通信処理部31にステップS2で算出した輻輳度を通知する(ステップS3)。
【0042】
その後、通信処理部31は、最適化ポリシーデータベース34に格納された最適化ポリシーを参照して(ステップS4)、通知された輻輳度に対応する最適化ポリシーを取得する(ステップS5)。そして、通信処理部31は、ステップS5で取得した最適化ポリシーを適用することで、送信速度を規定するポリシーを変更する。なお、最適化ポリシーは、事前の検証で輻輳度毎に輻輳が解消しうる通信速度を検証した結果に基づき最適化ポリシーデータベース34に格納されるものとする。
【0043】
そして、データ中継装置30は、オリジンサーバ20からパケットを受信する毎に、受信データバッファ33に受信したパケットを蓄積する(ステップS6、S8)。また、通信処理部31は、ステップS5で更新したポリシーに従って受信データバッファ33からパケットを取得してクライアント装置10に送信する(ステップS7、S9)。
【0044】
ここで、データ中継装置30のハードウェア構成について説明する。図8に実施の形態1にかかるデータ中継装置30のハードウェア構成を説明するブロック図を示す。図8に示す例は、データ中継装置30としてコンピュータ100を用いた例である。図8に示すコンピュータ100は、演算部101、メモリ102,通信インタフェース103、104を有する。また、演算部101、メモリ102、及び、通信インタフェース103、104は、バスにより相互に通信可能なように構成される。
【0045】
演算部101は、例えば、CPU(Central Processing Unit)のようなプログラムを実行可能な演算装置であり、プログラムとしてデータ中継プログラムを実行することで上述したデータ中継装置30の機能を実現する。
【0046】
メモリ102は、DRAM(Dynamic Random Access Memory)等の揮発性メモリ及びFlashメモリ等の不揮発性メモリの少なくとも一方により構成される。メモリ102は、例えば、受信データバッファ33となる。
【0047】
通信インタフェース103は、例えば、データ中継装置30においてオリジンサーバ20と通信を行う為のインタフェース回路であり、通信インタフェース104は、例えば、データ中継装置30においてクライアント装置10と通信を行う為のインタフェース回路である。そして、通信インタフェース103、104は、演算部101と連携してパケットの送受信を行う。
【0048】
上記説明より、実施の形態1にかかるデータ中継装置30は、クライアント装置10が発出したACKパケットをオリジンサーバ20よりも早く取得し、ACKパケットのパケットサイズに基づき輻輳の有無を判断する。これにより、データ中継装置30は、オリジンサーバ20よりも早くクライアント装置10とデータ中継装置30との間の無線区間で発生している輻輳を検出することができる。
【0049】
また、データ中継装置30では、ACKパケットのパケットサイズに基づき輻輳の有無を判断するため、ACKパケットの内容を検証する必要がない。これにより、データ中継装置30では、QUICプロトコルのような暗号化されたパケットを送受信する通信方式においても輻輳の有無の判断を正しく行うことができる。
【0050】
さらに、データ中継装置30は、ACKパケットのパケットサイズに基づき輻輳の有無を判断するため、ACKパケットの内容を検証する必要がないため、ネットワークの中立性に関する規制が強化されたとしても輻輳の有無の判断に支障を来すことがない。
【0051】
また、データ中継装置30では、輻輳が発生していると判断される状況においては、クライアント装置10側の通信速度を抑制することで、パケットロスを防ぐことができ、結果的に通信のスループットを向上させることができる。さらに、データ中継装置30では、無線区間の輻輳が解消された場合には再度クライアント装置10側の通信速度を向上させることで、通信のスループットを向上させることができる。
【0052】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0053】
1 通信システム
10 クライアント装置
20 オリジンサーバ
30 データ中継装置
31 通信処理部
32 ネットワーク輻輳判定処理部
33 受信データバッファ
34 最適化ポリシーデータベース
図1
図2
図3
図4
図5
図6
図7
図8