説明

通信装置

【課題】通信装置のコストの増大とデータ送信のスループット低下を解決すること。
【解決手段】本発明における通信装置101は、セッションが確立された対向装置201との間におけるデータ送受信制御を行う送受信制御部111と、対向装置に対して送信する送信データを一時的に記憶する送信バッファ121及び二次記憶装置122と、を備える。そして、送信バッファ121は、当該送信バッファに対する送信データの記録再生速度が二次記憶装置122よりも高速である。さらに、送受信制御部111は、送信バッファ全体の使用量が予め設定された閾値以上である場合に、対向装置とのセッションに割当てられた送信バッファの割当領域に、送信データを優先的に記憶すると共に、送信データの一部を二次記憶装置に記憶する、という構成を取る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置にかかり、特に、TCP(Transmission Control Protocol)プロトコルを用いる通信装置に関する。
【背景技術】
【0002】
TCPプロトコルを用いた通信システムの一例が、特許文献1,2に開示されている。TCPプロトコルを用いる通信装置では、輻輳制御を行うため、アプリケーションプログラムが送信しようとしたデータを一度バッファに保存し、対向装置からのACK信号を確認しながら、適切なタイミングでデータを編集したTCPセグメントをIPパケットとして送信する。そして、多数のセッションを扱う必要のある通信装置では、大容量のメインメモリを搭載し、セッション数に応じた送信バッファをメインメモリ上に確保する必要がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−208981号公報
【特許文献2】特開2005−122235号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、送信データを保存するバッファは、送信データのスループットを向上させるべく、データのアクセス速度が高速なメインメモリ上に配置される。しかしながら、メインメモリは記憶装置としては比較的高価であるため、大容量のメインメモリを搭載した場合には、装置コストが増大する、という問題が生じる。一方で、メインメモリに替えて低価格なハードディスクなどの二次記憶装置をバッファとして用いた場合には、一般に二次記憶はアクセス速度が遅いという欠点があるため、かかるアクセス速度の低下により通信装置のスループットが低下する、という問題が生じる。
【0005】
このため、本発明の目的は、上述した課題である、コストの増大と、通信装置のデータ送信のスループット低下、を解決することができる通信装置を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一形態である通信装置は、
セッションが確立された対向装置との間におけるデータ送受信制御を行う送受信制御部と、前記対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置と、を備えると共に、
前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速であり、
前記送受信制御部は、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
という構成を取る。
【0007】
また、本発明の他の形態である通信装置は、
セッションが確立された対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置を備えると共に、前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速である、通信装置に、
前記対向装置との間におけるデータ送受信制御を行うと共に、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する送受信制御部、
を実現させるためのプログラムである。
【0008】
また、本発明の他の形態である通信方法は、
セッションが確立された対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置を備えると共に、前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速である、通信装置による通信方法であって、
前記通信装置は、前記対向装置との間におけるデータ送受信制御を行うと共に、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
という構成を取る。
【発明の効果】
【0009】
本発明は、上記構成により、コストの増大を抑制しつつ、通信装置のデータ送信のスループットの低下を抑制することができる通信装置を提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明における通信装置の構成を示すブロック図である。
【図2】図1に開示した通信装置の動作を示すフローチャートである。
【図3A】図1に開示した通信装置の動作を示すフローチャートである。
【図3B】図1に開示した通信装置の動作を示すフローチャートである。
【図4】図1に開示した通信装置の動作を示すフローチャートである。
【図5】本発明の付記1における通信装置の構成を示すブロック図である。
【発明を実施するための形態】
【0011】
<実施形態1>
本発明の第1の実施形態を、図1乃至図4を参照して説明する。図1は、本実施形態における通信装置の構成を示すブロック図であり、図2乃至図4は、通信装置の動作を示すフローチャートである。
【0012】
[構成]
本実施形態における通信装置100は、ネットワークを介して接続された対向装置200である他の通信装置とセッションを確立し、TCPプロトコルにてTCP/IP通信を行う装置である。具体的に、通信装置100は、図1に示すように、当該通信装置が備えた演算装置にプログラムが組み込まれることによって構築された、複数のアプリケーション(APL_1,2,n等)11,12,13等と、ソケット層20と、セッション管理部31及び送信量計算部32を有するTCP層30(送受信制御部)と、IP層60と、を備えている。また、通信装置10は、フラッシュメモリといったメインメモリに形成された送信バッファ40と、ハードディスクなどの補助記憶装置に形成された二次記憶部50と、を備えている。なお、上記送信バッファ40は、当該送信バッファに対するデータの記録再生速度つまりアクセス速度が、上記二次記憶部50よりも高速なものである。
【0013】
ここで、図1では、通信装置100の構成を、TCPプロトコルでデータ送信を行う構成に絞って記載しているが、本発明における通信装置100はかかる構成であることに限定されない。通信装置100は、TCP層以外のプロトコルスタック、例えば、UDP層なども実装していてもよい。また、図1における白抜きの矢印は、データのやり取りを示しているが、受信の場合を考慮すると、データの流れは双方向である。また、ソケット層20やIP層60には受信バッファが存在する。
【0014】
そして、通信装置100と対向装置200とがTCP通信を行う場合、始めにセッションの確立を行う。セッションの確立は、「RFC793」に従い実施される。例えば、通信装置100の中の符号11に示すアプリケーション11がセッション確立を行ったとすると、確立要求は、アプリケーション11→ソケット層20→TCP層30→IP層60へと順次処理が流れる。この時に、TCP層30の中のセッション管理部31によって、セッション管理が開始される。なお、セッション管理部31は、一般的なTCPの管理情報の他に、送信バッファ40および二次記憶部50中における各セッションに対応して予め割当てられた割当領域の使用量を保持している。
【0015】
ここで、セッション確立後における、通信装置100から対向装置200へのデータ送信処理を考える。例えば、符号11に示すアプリケーション11がソケット層20へデータ送信要求を出したとすると、ソケット層20はプロトコル種別を判断し、種別がTCPであれば、各アプリケーション11等からの送信要求と送信データをTCP層30へ送る。
【0016】
TCP層30は、受け取った送信データのサイズを調べ、送信バッファ40に送信データを格納するバッファの割り当てを要求する。このとき、送信バッファ40は、当該送信バッファ全体の使用量Uを把握しており、また、初期化時に割当てられた閾値Bを保持している。そして、要求された時点での使用量Uと閾値Bとの大小関係に応じて、異なった応答を返す。
【0017】
使用量Uが閾値Bより小さい場合、送信バッファ40は、送信データの要求サイズ通りにバッファを割り当て、TCP層30に割り当て領域を通知する。TCP層30は、割当てられた領域に送信データを配置し、TCP層30の処理を行う。ここで、TCPでの応答待ち処理や輻輳制御等を行うため、一般にソケット層20からの要求タイミングでは、送信データは一時的に送信バッファ40に蓄えられ、その後、TCP層30がデータの送信タイミングを決定する。TCP層30は送信データに加工を行い、送信バッファ40の領域の情報とともに送信要求をIP層60に指示する。IP層60では、IPパケットとして送信データを送信し、送信が終わったデータに対応する送信バッファは、送信バッファ40に返却される。
【0018】
次に、使用量Uが閾値B以上であった場合について説明する。この場合、送信バッファ40は、当該送信バッファが不足しつつあることを、一旦TCP層30に通知する。送信バッファが枯渇しつつある場合、TCP層30は、セッション管理部31と送信計算部32に問合せを行う。TCP層30は、セッション管理部31に対して、送信バッファ40中のこのセッションに対応して予め設定された「送信バッファの割当領域」と、「輻輳ウィンドウのサイズ」を問い合わせ、送信量計算部32に対しては、「最近のウィンドウの空き具合情報」を問い合わせる。ここで、上記「輻輳ウィンドウサイズ」は、「RFC 5681」やその前のバージョンの「RFC 2581」で定義されており、一般にTCPセッションでは計算されている情報である。上記「最近のウィンドウの空き具合情報」は、本願で新たに導入する概念であり、その計算方法の詳細は、後の動作説明時に詳述する。
【0019】
そして、TCP層30は、「輻輳ウィンドウサイズ」と「最近のウィンドウの空き具合情報」の小さい方の値を計算し、送信バッファ40中のこのセッションに対応する「送信バッファの割当領域」を比較する。このとき、TCP層30は、送信バッファ40中のこのセッションに対応する「送信バッファの割当領域」の方が小さければ、その差分に相当する「新たな割当領域」を送信バッファ40中に確保するよう、再度送信バッファ40に要求する。そして、TCP層30は、上記「割当領域」と「新たな割当領域」を合わせても足りない送信データのサイズ分は、二次記憶部50中に確保する。
【0020】
なお、通信装置が対向装置200からTCPパケットを受信した時には、TCP層30は、送信量計算部32に指示を出し、TCPヘッダ内のWindowフィールドつまり受信ウィンドウサイズを参照し、上記「最近のウィンドウの空き具合情報」を更新する。この更新処理については、後述する。
【0021】
[動作]
次に、上述した通信装置100の動作を、図2乃至図4のフローチャートを参照して説明する。まず、図2を参照して、「最近のウィンドウサイズの空き具合情報opw」の算出方法について説明する。
【0022】
「最近のウィンドウサイズの空き具合情報opw」は、送信量計算部32にて、TCPのセッション毎に動的に算出される値で、受信TCPパケットのTCPヘッダのWindowフィールドによって更新する。具体的に、送信量計算部32は、受信したTCPヘッダのWindowフィールド(受信ウィンドウサイズ)の値を記憶しており、Windowフィールドが前回の受信値から変化した場合に、「opw」の更新処理を行う(ステップS1でYes)。
【0023】
そして、送信量計算部32は、今回受信したWindowフィールドから前回のWindowフィールドを引き、これらの間の増減値を計算する(ステップS2)。そして、予め設定された平滑化係数a(0<a<1)を使用し、
「a×Windowフィールドの増減値+(1−a)×opw」
を新しい「opw」として保持する(ステップS3)。
【0024】
その後、送信量計算部32が、受信したWindowフィールドの値を、前回のWindowフィールドの値として保持する(ステップS4)。
【0025】
このように、「最近のウィンドウサイズの空き具合情報opw」は、前回のWindowフィールドの値と前回から今回にかけてのWindowフィールドの増減値とを含んでいるため、送信データの受信側となる対向装置200における受信ウィンドウサイズの急な変化によって、送信バッファ40の使用量が急激に変化することを抑制することができる。従って、後述するように、送信バッファ40の使用量を抑制しつつ、スループットの低下を抑制できる。
【0026】
次に、通信装置100が対向装置200に送信データを送信する場合、つまり、TCP層30がソケット層20から送信データを受信した場合の動作を、図3A及び図3Bを参照して説明する。
【0027】
ここで、送信バッファ40が管理するメモリ領域は、TCP層30がデフォルト値として持つMSS(Maximum Segment Size)のバイト数単位のブロックとして管理される。すると、送信バッファ40はMSSの大きさの単位で割当てられるため、送信データがMSSの倍数でない場合、送信バッファ40には空き領域がある。
【0028】
TCP層30は、ソケット層20から送信データを受信すると、セッション管理部31に問合せ、通信装置100と対向装置200とのセッションに対応して送信バッファ40中に「予め割当てられた割当領域」のサイズを取得し、送信データのサイズと比較する(ステップS11)。そして、送信バッファ40の「予め割当てられた割当領域」のサイズが送信データのサイズ以上であった場合(ステップS11でYes)、TCP層30は、この「割当領域」に送信データを配置して終了する(ステップS12)。
【0029】
一方、送信バッファ40の「予め割当てられた割当領域」のサイズが、送信データのサイズ未満であった場合には(ステップS11でNo)、送信データに対して新たに送信バッファ40を割当てる必要がある。但し、送信バッファ40が枯渇しつつあるかを判定するために、TCP層30は、送信バッファ40に問合せて送信バッファ全体の使用量Uを取得し、予め設定されている閾値Bとの比較を行う(ステップS21)。そして、使用量Uが閾値B未満である場合には(ステップS21でNo)、送信データを格納する領域は全て送信バッファ40から取得する(ステップS22)。つまり、送信バッファ40にはまだ余裕があるため、当該送信バッファ40内に、上述した「予め割当てられた割当領域」の他に、さらに「新たな割当領域」を割り当てる。そして、TCP層30は、送信データを「予め割当てられた割当領域」に可能な限り配置し(ステップS23)、当該「予め割当てられた割当領域」に格納できなかった送信データのうちの残りは、「新たな割当領域」に配置する(ステップS24)。これにより、全ての送信データが、送信バッファ40に配置される。
【0030】
送信バッファ40の「予め割当てられた割当領域」のサイズが、送信データのサイズ未満であり(ステップS11でNo)、送信バッファ40全体の使用量Uが閾値B以上である場合には(ステップS21でYes)、送信バッファ40の領域に余裕がないため、当該送信バッファ40に対する新たな領域の割当てが制限される。このため、「新たな割当領域」の許容値を計算するために、TCP層30は、対向装置200とのセッションに対応する送信バッファ40の「予め設定された割当領域の値sbuf」と、「最近のウィンドウ空き具合情報opw」と、「輻輳ウィンドウサイズcwnd」とを取得する(ステップS31)。そして、「sbuf」と、「opw」と「cwnd」の最小値と、を比較する(ステップS32)。このとき、「sbuf」の方が小さい場合には(ステップS32でYes)、送信バッファ40内にさらに送信データを格納する領域を割り当てることが可能であるため、「min(opw, cwnd)−sbuf」分の領域を、送信バッファ40から取得して、送信データを格納する「新たな割当領域」として割当てる(ステップS33)。
【0031】
そして、送信バッファ40の「予め設定された割当領域」と「新たな割当領域」を合わせて送信データを保持しきれない場合には、不足分の領域を二次記憶部50上に確保する(ステップS34)。そして、送信バッファ40上の領域つまり「予め設定された割当領域」と「新たな割当領域」を優先しつつ、送信データを送信バッファ40に配置し、送信データの一部である残りは二次記憶部に配置する(ステップS35)。
【0032】
以上のようにすることで、「opw」と「cwnd」のうちの最小値を上限として、可能な限り送信データを送信バッファ40に配置することができる。その結果、装置コストを抑制しつつ、スループットの高めることができる。
【0033】
なお、「sbuf」が「min(opw, cwnd)」以上であった場合には(ステップS32でNo)、送信データを保持するためにさらに必要な領域は、二次記憶部50から取得する(ステップS41)。そして、送信バッファ40上の領域つまり「予め設定された割当領域」を優先しつつ、送信データを送信バッファ40に配置し、送信データの一部である残りは二次記憶部に配置する(ステップS42)。
【0034】
続いて、TCP層30が、データの送信タイミングと判断し、IP層60に要求を出すときの処理について説明する。TCP層30は、送信バッファ40に配置した送信データのうち、TCPのアルゴリズムに従った送信データサイズ分だけをIP層60に送信要求を行う。そして、TCP層30は、IP層60が送信バッファ40に配置された送信データの送信を完了した時点で、送信バッファ40の割り当てを見直す。ここで、割当ての見直し処理を、図4のフローチャートを参照して説明する。
【0035】
まず、送信バッファ40の全体の使用量Uが閾値B以上か否かを判定する(ステップS51)。使用量Uの方が小さい場合には(ステップS51でNo)、送信データのうち上述したように送信が完了したもの以外の残りの送信データは、全て送信バッファ40上に配置されるべきである(ステップS52)。従って、不足の送信バッファがあれば新たに割当て、残りの送信データで二次記憶部50上に保持されているものがあれば、送信バッファ40上に移動させる(ステップS53)。
【0036】
また、使用量Uが閾値B以上である場合には(ステップS51でYes)、TCP層30は、送信バッファ40上において割当てが許容されるサイズを計算するため、「最近のウィンドウ空き具合情報opw」、「輻輳ウィンドウサイズcwnd」を取得する(ステップS61)。この場合は、「min(opw, cwnd)」分だけ残りの送信データを送信バッファ40に配置し、さらに残りの送信データは、二次記憶部50に配置すべきである(ステップS62)。従って、送信バッファ40、二次記憶部50に配置されている残り送信データの容量が、「min(opw, cwnd)」以下か否かを判断し(ステップS63)、「min(opw, cwnd)」以下であれば(ステップS63でYes)、ステップS53と同じ処理を行えばよい。一方、残り送信データの容量が「min(opw, cwnd)」より大きければ(ステップS63でNo)、残りの送信データのうちの「min(opw, cwnd)」以下のサイズ分を送信バッファ40に割当てて配置し、さらに残りの送信データを二次記憶部50に割り当てて配置する。なお、いずれの場合も、余分な送信バッファ40や二次記憶部50の割当は返却する。
【0037】
以上のように、本発明によると、ソケット層20からTCP層30へのデータ送信要求時に、「最近のウィンドウの空き具合情報opw」を考慮して、送信データに対して送信バッファ40を割当てているため、当該送信バッファ40であるメインメモリの使用量を削減することができる。従って、低コストにてスループットが高く、信頼性の高い通信装置を提供することができる。また、TCP層30からIP層60へのデータ送信要求時に、「opw」を考慮した送信バッファ見直し処理を行っているため、送信スループットの低下の低減を図ることができる。
【0038】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における通信装置の構成の概略を、図5を参照して説明する。但し、本発明は、以下の構成に限定されない。
【0039】
(付記1)
セッションが確立された対向装置201との間におけるデータ送受信制御を行う送受信制御部111と、前記対向装置201に対して送信する送信データを一時的に記憶する送信バッファ121及び二次記憶装置122と、を備えると共に、
前記送信バッファ121は、当該送信バッファ121に対する前記送信データの記録再生速度が前記二次記憶装置122よりも高速であり、
前記送受信制御部111は、前記送信バッファ121全体の使用量が予め設定された閾値以上である場合に、前記対向装置201とのセッションに割当てられた前記送信バッファ121の割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置122に記憶する、
通信装置101。
【0040】
(付記2)
付記1に記載の通信装置であって、
前記送受信制御部は、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の値と、前記対向装置とのセッションにおいて設定された輻輳ウィンドウサイズの値と、前記対向装置から受信したTCPパケットに含まれる受信ウィンドウサイズの値と、に基づいて、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の他に当該送信バッファにさらに前記送信データを記憶する新たな割当領域を設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信装置。
【0041】
(付記3)
付記2に記載の通信装置であって、
前記送受信制御部は、前記対向装置から受信した受信ウィンドウサイズの値を記憶すると共に、前回受信した受信ウィンドウサイズの値に対する今回受信した受信ウィンドウサイズの値の増減値と、前記前回受信した受信ウィンドウサイズの値と、に基づいて前記対向装置における受信ウィンドウサイズの空き具合を表す値である空き具合情報を算出し、
前記空き具合情報の値と前記輻輳ウィンドウサイズの値とのうちの最小値と、前記送信バッファの予め割当てられた割当領域の値と、を比較して、前記送信バッファの予め割当てられた割当領域の値の方が小さい場合に、当該予め割当てられた割当領域の他に前記新たな割当領域を前記送信バッファに設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信装置。
【0042】
(付記4)
付記3に記載の通信装置であって、
前記送受信制御部は、前記空き具合情報の値と前記輻輳ウィンドウサイズの値とのうちの最小値から前記送信バッファの予め設定された割当領域の値を減算した値の領域を、前記新たな割当領域として前記送信バッファに設定する、
通信装置。
【0043】
(付記5)
付記3又は4に記載の通信装置であって、
前記送受信制御部は、前記送信バッファに記憶されている前記送信データの前記対向装置への送信が完了したときに、前記送信バッファ全体の使用量が予め設定された閾値より小さい場合に、前記二次記憶装置に記憶されている前記送信データの一部を前記送信バッファに移動して記憶し、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記空き具合情報の値と前記輻輳ウィンドウサイズの値とのうちの最小値に対応するデータ量分だけ、前記二次記憶装置に記憶されている前記送信データの一部を前記送信バッファに移動して記憶する、
通信装置。
【0044】
(付記6)
付記3乃至5のいずれかに記載の通信装置であって、
前記送受信制御部は、前記対向装置から受信ウィンドウサイズを受信したときに、前記空き具合情報を、以下の式にて算出する。
空き具合情報=a×(前回受信した受信ウィンドウサイズの値に対する今回受信した受信ウィンドウサイズの値の増減値)+(1−a)×前回の空き具合情報
(但し、0<a<1)
【0045】
(付記7)
セッションが確立された対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置を備えると共に、前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速である、通信装置に、
前記対向装置との間におけるデータ送受信制御を行うと共に、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する送受信制御部、
を実現させるためのプログラム。
【0046】
(付記8)
付記7に記載のプログラムであって、
前記送受信制御部は、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の値と、前記対向装置とのセッションにおいて設定された輻輳ウィンドウサイズの値と、前記対向装置から受信したTCPパケットに含まれる受信ウィンドウサイズの値と、に基づいて、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の他に当該送信バッファにさらに前記送信データを記憶する新たな割当領域を設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
プログラム。
【0047】
(付記9)
セッションが確立された対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置を備えると共に、前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速である、通信装置による通信方法であって、
前記通信装置は、前記対向装置との間におけるデータ送受信制御を行うと共に、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信方法。
【0048】
(付記10)
付記9に記載の通信方法であって、
前記通信装置は、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の値と、前記対向装置とのセッションにおいて設定された輻輳ウィンドウサイズの値と、前記対向装置から受信したTCPパケットに含まれる受信ウィンドウサイズの値と、に基づいて、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の他に当該送信バッファにさらに前記送信データを記憶する新たな割当領域を設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信方法。
【符号の説明】
【0049】
100 通信装置
11,12,13 アプリケーション
30 TCP層
31 セッション管理部
32 送信量計算部
40 送信バッファ
50 二次記憶部
60 IP層
200 対向装置
101 通信装置
111 送受信制御部
121 送信バッファ
122 二次記憶装置
201 対向装置


【特許請求の範囲】
【請求項1】
セッションが確立された対向装置との間におけるデータ送受信制御を行う送受信制御部と、前記対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置と、を備えると共に、
前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速であり、
前記送受信制御部は、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信装置。
【請求項2】
請求項1に記載の通信装置であって、
前記送受信制御部は、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の値と、前記対向装置とのセッションにおいて設定された輻輳ウィンドウサイズの値と、前記対向装置から受信したTCPパケットに含まれる受信ウィンドウサイズの値と、に基づいて、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の他に当該送信バッファにさらに前記送信データを記憶する新たな割当領域を設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信装置。
【請求項3】
請求項2に記載の通信装置であって、
前記送受信制御部は、前記対向装置から受信した受信ウィンドウサイズの値を記憶すると共に、前回受信した受信ウィンドウサイズの値に対する今回受信した受信ウィンドウサイズの値の増減値と、前記前回受信した受信ウィンドウサイズの値と、に基づいて前記対向装置における受信ウィンドウサイズの空き具合を表す値である空き具合情報を算出し、
前記空き具合情報の値と前記輻輳ウィンドウサイズの値とのうちの最小値と、前記送信バッファの予め割当てられた割当領域の値と、を比較して、前記送信バッファの予め割当てられた割当領域の値の方が小さい場合に、当該予め割当てられた割当領域の他に前記新たな割当領域を前記送信バッファに設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信装置。
【請求項4】
請求項3に記載の通信装置であって、
前記送受信制御部は、前記空き具合情報の値と前記輻輳ウィンドウサイズの値とのうちの最小値から前記送信バッファの予め設定された割当領域の値を減算した値の領域を、前記新たな割当領域として前記送信バッファに設定する、
通信装置。
【請求項5】
請求項3又は4に記載の通信装置であって、
前記送受信制御部は、前記送信バッファに記憶されている前記送信データの前記対向装置への送信が完了したときに、前記送信バッファ全体の使用量が予め設定された閾値より小さい場合に、前記二次記憶装置に記憶されている前記送信データの一部を前記送信バッファに移動して記憶し、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記空き具合情報の値と前記輻輳ウィンドウサイズの値とのうちの最小値に対応するデータ量分だけ、前記二次記憶装置に記憶されている前記送信データの一部を前記送信バッファに移動して記憶する、
通信装置。
【請求項6】
請求項3乃至5のいずれかに記載の通信装置であって、
前記送受信制御部は、前記対向装置から受信ウィンドウサイズを受信したときに、前記空き具合情報を、以下の式にて算出する。
空き具合情報=a×(前回受信した受信ウィンドウサイズの値に対する今回受信した受信ウィンドウサイズの値の増減値)+(1−a)×前回の空き具合情報
(但し、0<a<1)
【請求項7】
セッションが確立された対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置を備えると共に、前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速である、通信装置に、
前記対向装置との間におけるデータ送受信制御を行うと共に、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する送受信制御部、
を実現させるためのプログラム。
【請求項8】
請求項7に記載のプログラムであって、
前記送受信制御部は、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の値と、前記対向装置とのセッションにおいて設定された輻輳ウィンドウサイズの値と、前記対向装置から受信したTCPパケットに含まれる受信ウィンドウサイズの値と、に基づいて、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の他に当該送信バッファにさらに前記送信データを記憶する新たな割当領域を設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
プログラム。
【請求項9】
セッションが確立された対向装置に対して送信する送信データを一時的に記憶する送信バッファ及び二次記憶装置を備えると共に、前記送信バッファは、当該送信バッファに対する前記送信データの記録再生速度が前記二次記憶装置よりも高速である、通信装置による通信方法であって、
前記通信装置は、前記対向装置との間におけるデータ送受信制御を行うと共に、前記送信バッファ全体の使用量が予め設定された閾値以上である場合に、前記対向装置とのセッションに割当てられた前記送信バッファの割当領域に、前記送信データを優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信方法。
【請求項10】
請求項9に記載の通信方法であって、
前記通信装置は、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の値と、前記対向装置とのセッションにおいて設定された輻輳ウィンドウサイズの値と、前記対向装置から受信したTCPパケットに含まれる受信ウィンドウサイズの値と、に基づいて、前記対向装置とのセッションに予め割当てられた前記送信バッファの割当領域の他に当該送信バッファにさらに前記送信データを記憶する新たな割当領域を設定し、前記送信データを前記送信バッファの前記割当領域及び前記新たな割当領域に優先的に記憶すると共に、前記送信データの一部を前記二次記憶装置に記憶する、
通信方法。


【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−151559(P2012−151559A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−7080(P2011−7080)
【出願日】平成23年1月17日(2011.1.17)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】