JP2015095780A - 通信装置及びパケット制御方法 - Google Patents

通信装置及びパケット制御方法 Download PDF

Info

Publication number
JP2015095780A
JP2015095780A JP2013234440A JP2013234440A JP2015095780A JP 2015095780 A JP2015095780 A JP 2015095780A JP 2013234440 A JP2013234440 A JP 2013234440A JP 2013234440 A JP2013234440 A JP 2013234440A JP 2015095780 A JP2015095780 A JP 2015095780A
Authority
JP
Japan
Prior art keywords
communication
unit
window size
communication device
packet
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
JP2013234440A
Other languages
English (en)
Other versions
JP6244836B2 (ja
Inventor
武司 児玉
Takeshi Kodama
武司 児玉
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 JP2013234440A priority Critical patent/JP6244836B2/ja
Priority to US14/530,243 priority patent/US9515939B2/en
Publication of JP2015095780A publication Critical patent/JP2015095780A/ja
Application granted granted Critical
Publication of JP6244836B2 publication Critical patent/JP6244836B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

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

Abstract

【課題】スループットの低下を防止すること。
【解決手段】送信バッファ14は、パケット処理部15から出力された送信パケットを溜めて、バッファ制御部16の制御に従って、送信パケットを通信部11に出力し、バッファ監視部13は、送信バッファ14の空き容量を常時監視し、監視結果をウィンドウサイズ変更部12に出力し、ウィンドウサイズ変更部12は、ACKパケットを用いて他の通信装置から通知されたウィンドウサイズを、送信バッファ14の空き容量に基づいて変更し、パケット処理部15は、変更後のウィンドウサイズを上限として新規の送信パケットを生成して送信バッファ14に出力する。
【選択図】図3

Description

本発明は、通信装置及びパケット制御方法に関する。
インターネットにおいて標準的に利用されているプロトコルの1つとしてTCP(Transmission Control Protocol)がある。TCPは、確認応答(Acknowledgement;ACK)によって通信の信頼性を確保しているため、UDP(User Datagram Protocol)に比べ、通信の信頼性が高いとう長所をもつ一方で、転送速度が低いという短所をもつ。この短所を補うために、TCPでは、「ウィンドウサイズ」を用いたフロー制御が行われる。「ウィンドウサイズ」とは、確認応答を待たずに一度に送信できるデータ量である。ウィンドウサイズは受信装置から送信装置へと通知され、送信装置は、確認応答を待つことなく、ウィンドウサイズを上限にして一度に複数のデータパケットを送信できる。このため、ウィンドウサイズを用いることにより、確認応答の導入による転送速度の低下を抑えることができる。また、ウィンドウサイズは、受信装置の受信バッファの空き容量に基づいて決定され、受信バッファの空き容量が小さくなるほど、ウィンドウサイズも小さくなる。これにより、受信バッファのオーバフローを防ぎつつ、転送速度の低下を抑えることができる。
特開2005−277704号公報 特開2006−101339号公報 特開2006−211015号公報
ここで、送信装置は、データパケットを送信する際に、生成したデータパケットを送信バッファに一端溜めてからネットワークに送出する。このため、送信バッファへ一度に大量のデータパケットが流入した場合に、ネットワークへのデータパケットの送出が遅れると、送信バッファがオーバフローしてしまうことがある。また、データパケットの生成量は、受信装置から送信装置へ通知されるウィンドウサイズを上限とする。このウィンドウサイズは、受信装置の受信バッファの空き容量に基づいて決定されたものである。つまり、データパケットの生成量が、受信装置から通知されるウィンドウサイズ以下に保たれていても、送信バッファがオーバフローしてしまうことがある。
TCPを用いた通信では、例えば、以下のような場合に、送信バッファがオーバフローする。図1A,1B,1Cは、従来の通信システムの課題の説明に供する図である。ここでは、データパケットの送信側が通信端末であり、データパケットに対するACKパケットの送信側が基地局である場合を一例にして説明する。通信端末と基地局とは無線ネットワークで繋がっている。
例えば通信端末がビル陰等に一時的に入る等して、図1Aのように、通信端末と基地局との間のネットワークが瞬間的に途絶えると、通信端末に届くはずのACKパケットが基地局の送信バッファBに滞留する。また、通信端末はデータパケットをネットワークに送出できなくなるため、データパケットが通信端末の送信バッファAに滞留する。
次いで、図1Bのように、ネットワークが回復すると、その回復に伴って、送信バッファBに滞留していた多数のACKパケットが通信端末へバースト的に一気に送信される。
通信端末はACKパケットを受信する度に新規のデータパケットを生成するので、通信端末では、図1Cのように、多数のACKパケットがバースト的に受信されると、多数のデータパケットがバースト的に生成されて送信バッファAに一気に流入する。このため、多数のデータパケットのバースト的な生成に対して、データパケットのネットワークへの送出が間に合わなくなると、送信バッファAにおいてオーバフローが発生する。
このように、特に無線通信では、通信環境が変化しやすいため、データパケットのネットワークへの送出機会が減少して、送信バッファのオーバフローが発生しやすい。送信バッファのオーバフローが発生すると、スループットが低下してしまう。例えばLinux(登録商標)では、送信バッファのオーバフローを通信装置の内部的な輻輳とみなして輻輳制御が行われて、スループットが低下する。
開示の技術は、上記に鑑みてなされたものであって、スループットの低下を防止できる通信装置及びパケット制御方法を提供することを目的とする。
開示の態様では、送信パケットを溜めるバッファの空き容量を監視する。また、他の通信装置から通知された第1のウィンドウサイズを前記空き容量に基づいて第2のウィンドウサイズに変更し、前記バッファへの前記送信パケットの流入量を前記第2のウィンドウサイズに従って制御する。
開示の態様によれば、スループットの低下を防止できる。
図1Aは、従来の通信システムの課題の説明に供する図である。 図1Bは、従来の通信システムの課題の説明に供する図である。 図1Cは、従来の通信システムの課題の説明に供する図である。 図2は、実施例1の通信システムの構成の一例を示す図である。 図3は、実施例1の通信装置の一例を示す機能ブロック図である。 図4は、TCPヘッダのフォーマットの一例を示す図である。 図5は、実施例1の通信装置の処理の説明に供するフローチャートである。 図6は、実施例2の通信装置の一例を示す機能ブロック図である。 図7は、実施例2の通信装置の処理の説明に供するフローチャートである。 図8は、実施例3の通信装置の一例を示す機能ブロック図である。 図9は、実施例3の通信装置の処理の説明に供するフローチャートである。 図10は、実施例4の通信装置の一例を示す機能ブロック図である。 図11は、実施例4の通信装置の処理の説明に供するフローチャートである。 図12は、実施例5の通信装置の一例を示す機能ブロック図である。 図13は、実施例5の通信装置の処理の説明に供するフローチャートである。 図14は、実施例6の通信装置の一例を示す機能ブロック図である。 図15は、実施例6の通信装置の処理の説明に供するフローチャートである。 図16は、実施例7の通信装置の一例を示す機能ブロック図である。 図17は、実施例7の通信装置の処理の説明に供するフローチャートである。 図18は、通信装置のハードウェア構成例を示す図である。
以下に、本願の開示する通信装置及びパケット制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願の開示する通信装置及びパケット制御方法が限定されるものではない。また、各実施例において同一の機能を有する構成、及び、同一の処理を行うステップには同一の符号を付し、重複する説明を省略する。
また、以下では、利用されるプロトコルがTCPであることを前提に説明する。
[実施例1]
<通信システムの構成>
図2は、実施例1の通信システムの構成の一例を示す図である。図2において通信システム1は、通信装置2,3と、ネットワーク4とを有する。例えば、通信装置2は通信端末、通信装置3は基地局、ネットワーク4は無線ネットワークである。
通信装置2は、データパケットを通信装置3に送信し、通信装置3は、ACKパケットを通信装置2に送信する。また、通信装置3は、通信装置3の受信バッファの空き容量に基づいて決定したウィンドウサイズを通信装置2に通知する。
通信装置2は、データパケットを送信する際に、生成したデータパケットを送信バッファに一端溜めてからネットワーク4に送出する。通信装置2は、通信装置3からACKパケットを受信する度に新規のデータパケットを生成する。ここで、通信装置2は、通信装置3から通知されたウィンドウサイズを、送信バッファの空き容量に基づいて変更する。そして、通信装置2は、変更後のウィンドウサイズを上限として新規のデータパケットを生成する。
<通信装置の構成>
図3は、実施例1の通信装置の一例を示す機能ブロック図である。図3に示す通信装置10は、図2に示す通信装置2に相当する。通信装置10は、通信部11と、ウィンドウサイズ変更部12と、バッファ監視部13と、送信バッファ14と、パケット処理部15と、バッファ制御部16とを有する。
通信部11は、ネットワーク4を介して、通信装置3へ送信パケットを送信し、通信装置3から受信パケットを受信する。送信パケットにはデータパケットが含まれ、受信パケットにはACKパケットが含まれる。通信部11は、受信したACKパケットをウィンドウサイズ変更部12に出力する。通信装置3で決定されたウィンドウサイズは、通信装置3から通信装置10へ送信されるACKパケットに含まれて通知される。図4は、TCPヘッダのフォーマットの一例を示す図である。ACKパケットのTCPヘッダでは、「ACKフラグ」がオンになっているとともに、通信装置3によって決定されたウィンドウサイズが「ウィンドウサイズ」フィールドに含まれている。
ウィンドウサイズ変更部12は、ACKパケットを用いて通信装置3から通知されたウィンドウサイズ、つまり、ACKパケットのTCPヘッダのウィンドウサイズフィールドの値を、送信バッファ14の空き容量に基づいて書き換える。すなわち、ウィンドウサイズ変更部12は、通信装置3から通知された第1のウィンドウサイズを、送信バッファ14の空き容量に基づいて第2のウィンドウサイズに変更する。例えば、ウィンドウサイズ変更部12は、ウィンドウサイズフィールドの値を、送信バッファ14の空き容量に書き換える。
例えば、ウィンドウサイズフィールドの値が65535バイトであったときの送信バッファ14の空き容量が2048バイトであった場合、ウィンドウサイズ変更部12は、ウィンドウサイズフィールドの値を65535バイトから2048バイトに書き換える。そして、ウィンドウサイズ変更部12は、ウィンドウサイズフィールドの値が2048バイトのACKパケットをパケット処理部15に出力する。なお、ウィンドウサイズ変更部12は、ACKパケットのウィンドウサイズフィールドの値を書き換えたことに伴って、「チェックサム」フィールドを再計算して適切な値に書き換える。
バッファ監視部13は、送信バッファ14の空き容量を常時監視し、監視結果をウィンドウサイズ変更部12に出力する。
パケット処理部15は、ACKパケットを解析し、ACK及びウィンドウサイズを取得する。パケット処理部15は、ACKを取得する度に、送信データをパケット化して新規の送信パケットを生成し、生成した送信パケットを送信バッファ14に出力する。このとき、パケット処理部15は、ウィンドウサイズ変更部12での変更後のウィンドウサイズを上限として新規の送信パケットを生成する。例えば、パケット処理部15は、通信装置3からACKを受けてない送信パケットのデータ量が変更後のウィンドウサイズと一致するまで新規の送信パケットを生成して送信バッファ14に出力する。つまり、パケット処理部15は、送信バッファ14への送信パケットの流入量を変更後のウィンドウサイズに従って制御する。
送信バッファ14は、パケット処理部15から出力された送信パケットを溜めて、バッファ制御部16の制御に従って、送信パケットを通信部11に出力する。
バッファ制御部16は、通信部11の送信状態を監視し、通信部11が送信パケットを送信する度に、送信バッファ14から送信パケットを通信部11に出力させる。
<通信装置の処理>
図5は、実施例1の通信装置の処理の説明に供するフローチャートである。図5に示すフローチャートは、通信装置10の電源がオンにされたときに開始され、オフにされたときに停止される。
ウィンドウサイズ変更部12は、通信部11によるACKパケットの受信、つまり、通信部11からのACKパケットの入力を待つ(ステップS101:No)。
ウィンドウサイズ変更部12は、通信部11がACKパケットを受信して、通信部11からACKパケットを入力されると(ステップS101:Yes)、送信バッファ14の空き容量をバッファ監視部13から取得する(ステップS102)。
次いで、ウィンドウサイズ変更部103は、通信装置3から通知されたウィンドウサイズを送信バッファ14の空き容量に変更する、すなわち、ACKパケットのウィンドウフィールドの値を送信バッファ14の空き容量に書き換える(ステップS103)。
そして、ウィンドウサイズ変更部12は、ウィンドウサイズ変更後のACKパケットをパケット処理部15に転送する(ステップS104)。ステップS104の処理後、処理はステップS101に戻る。
以上のように、本実施例によれば、通信装置10は、送信バッファ14と、バッファ監視部13と、ウィンドウサイズ変更部12と、パケット処理部15とを有する。送信バッファ14は、送信パケットを溜める。バッファ監視部13は、送信バッファ14の空き容量を監視する。ウィンドウサイズ変更部12は、通信装置3から通知された第1のウィンドウサイズを、送信バッファ14の空き容量に基づいて第2のウィンドウサイズに変更する。パケット処理部15は、送信バッファ14への送信パケットの流入量を変更後の第2のウィンドウサイズに従って制御する。
こうすることで、ウィンドウサイズが送信バッファ14の空き容量に基づいて制御され、制御されたウィンドウサイズに従って送信パケットのバッファ14への流入量が制御されるため、送信バッファ14でのオーバフローの発生を防止できる。よって、送信バッファ14のオーバフローに起因するスループットの低下を防止できる。
また、ウィンドウサイズ変更部12は、送信バッファ14の空き容量を、変更後の第2のウィンドウサイズとする。
このように、送信バッファ14の空き容量をそのままウィンドウサイズとして用いるため、比較的簡単な制御によって送信バッファ14のオーバフローを未然に防ぐことができる。
[実施例2]
<通信装置の構成>
図6は、実施例2の通信装置の一例を示す機能ブロック図である。図6に示す通信装置20は、図2に示す通信装置2に相当する。通信装置20は、通信状態監視部21と、ウィンドウサイズ変更部22とを有する。
通信状態監視部21は、通信部11が行っている通信装置3との通信を監視し、通信の遮断と、遮断からの通信の回復とを検出する。例えば、通信状態監視部21は、通信部11が通信装置3に送信したメッセージに対する応答が一定時間内に通信部11により受信できないときに通信が遮断したと判断する。また、通信状態監視部21は、通信が遮断した状態において通信部11が通信装置3から応答を受信できるようになったときに通信が回復したと判断する。通信状態監視部21は、検出結果をウィンドウサイズ変更部22に出力する。
ウィンドウサイズ変更部22は、実施例1のウィンドウサイズ変更部12が行う処理に加えて、さらに以下の処理を行う。すなわち、ウィンドウサイズ変更部22は、通信装置3との通信が回復したとの検出結果が通信状態監視部21から入力されたときに、実施例1のウィンドウサイズ変更部12と同様の処理を行う。つまり、ウィンドウサイズ変更部22は、通信装置3との通信の回復が検出されたときに、通信装置3から通知されたウィンドウサイズを変更する。これは、上記図1A〜1Cで説明したように、通信が遮断されている状態から回復したときに、送信バッファ14のオーバフローが発生する可能性が高いからである。
<通信装置の処理>
図7は、実施例2の通信装置の処理の説明に供するフローチャートである。図7に示すフローチャートは、通信装置20の電源がオンにされたときに開始され、オフにされたときに停止される。図7のフローチャートが開始されるとき、通信状態フラグは‘0’の初期値にセットされている。
通信状態監視部21は、通信部11が行っている通信装置3との通信を監視し、通信が遮断したか否かを判断する(ステップS201)。通信状態監視部21は、通信が遮断したと判断したとき、つまり、通信の遮断を検出したときは(ステップS201:Yes)、検出結果をウィンドウサイズ変更部22に出力するとともに、通信状態フラグを‘1’にセットする(ステップS202)。ステップS202の処理後、処理はステップS201に戻る。
一方で、通信状態監視部21は、通信が遮断していないと判断したときは(ステップS201:No)、通信状態フラグが‘1’か否か判断する(ステップS203)。通信が遮断していないにもかかわらず通信状態フラグが‘1’であるということは、通信が遮断状態から回復したことを示す。このため、通信状態監視部21は、ステップS203で通信状態フラグが‘1’であるときは(ステップS203:Yes)、通信が回復したと判定する、つまり、通信の回復を検出し、検出結果をウィンドウサイズ変更部22に出力する(ステップS204)。そして、通信状態監視部21は、通信状態フラグを‘0’にセットする(ステップS205)。ステップS205の処理後、実施例1と同様に、ステップS101〜S104の処理がウィンドウサイズ変更部22によって行われる。ステップS104の処理後、処理はステップS201に戻る。
ステップS203において通信状態フラグが‘0’であるときは(ステップS203:No)、通信状態監視部21は、通信が継続していると判定し、判定結果をウィンドウサイズ変更部22に出力する(ステップS206)。ウィンドウサイズ変更部22は、通信の継続中は、通信部11によるACKパケットの受信、つまり、通信部11からのACKパケットの入力を待つ(ステップS207:No)。そして、ウィンドウサイズ変更部22は、通信部11がACKパケットを受信して、通信部11からACKパケットを入力されると(ステップS207:Yes)、入力されたACKパケットをそのままパケット処理部15に転送する(ステップS208)。
以上のように、本実施例によれば、通信状態監視部21は、通信装置3との通信の状態を監視し、通信の遮断、及び、通信の遮断からの回復を検出する。ウィンドウサイズ変更部22は、通信の回復が検出されたときに、通信装置3から通知された第1のウィンドウサイズを第2のウィンドウサイズに変更する。
こうすることで、送信バッファ14のオーバフローが発生する可能性が高いときに、ウィンドウサイズを変更して送信バッファ14のオーバフローを防止できる。
[実施例3]
<通信装置の構成>
図8は、実施例3の通信装置の一例を示す機能ブロック図である。図8に示す通信装置30は、図2に示す通信装置2に相当する。通信装置30は、番号管理部31と、ウィンドウサイズ変更部32とを有する。
番号管理部31には、送信バッファ14から出力される送信パケットが入力される。また、番号管理部31には、通信部11から出力されるACKパケットが入力される。番号管理部31は、送信パケットのシーケンス番号(図2)を送信パケットから取得して管理する。また、番号管理部31は、ACKパケットの確認応答番号(図2)をACKパケットから取得して管理する。番号管理部31は、最新のシーケンス番号及び最新の確認応答番号だけを管理する。
ここで、TCPでは、送信パケットのシーケンス番号として、通信装置30と通信装置3との間のTCPのコネクションが確立してからの、通信装置20からの送信済みのデータ量[byte](以下では単に「送信済みデータ量」と呼ぶことがある)が用いられる。また、TCPでは、ACKパケットの確認応答番号として、通信装置30と通信装置3との間のTCPのコネクションが確立してからの、通信装置3における受信済みのデータ量[byte](以下では単に「受信済みデータ量」と呼ぶことがある)が用いられる。送信済みデータ量及び受信済みデータ量は、通信装置30と通信装置3との間のTCPのコネクションが確立してからの累積値である。
ウィンドウサイズ変更部32は、実施例2のウィンドウサイズ変更部22が行う処理に加えて、さらに以下の処理を行う。すなわち、ウィンドウサイズ変更部32は、通信状態監視部21から、通信装置3との通信が遮断したとの検出結果が入力されたときに、番号管理部31に管理されているシーケンス番号及び確認応答番号を番号管理部31から取得する。番号管理部31は最新のシーケンス番号及び最新の確認応答番号だけを管理しているので、このときウィンドウサイズ変更部32が取得するシーケンス番号及び確認応答番号は、通信遮断前の直近の送信済みデータ量、及び、通信遮断前の直近の受信済みデータ量である。
そして、ウィンドウサイズ変更部32は、通信状態監視部21から、通信装置3との通信が回復したとの検出結果が入力されたときに、以下の式(1)に従って、変更後のウィンドウサイズを算出する。式(1)において、‘シーケンス番号−確認応答番号’は、通信装置30から通信装置3へ向かう方向のネットワーク4上を流れているパケットのデータ量、つまり、通信装置30から送信済みだが通信装置3に届いていないデータ量に相当する。
ウィンドウサイズ
=送信バッファ14の空き容量+(シーケンス番号−確認応答番号) …式(1)
例えば、通信装置3から通知されたウィンドウサイズが65535バイト、送信バッファ14の空き容量が2048バイト、シーケンス番号が1150、確認応答番号が1100であった場合、ウィンドウサイズ変更部32は、ウィンドウサイズを65535バイトから2098バイトに変更する。
<通信装置の処理>
図9は、実施例3の通信装置の処理の説明に供するフローチャートである。図9に示すフローチャートは、通信装置30の電源がオンにされたときに開始され、オフにされたときに停止される。図9のフローチャートが開始されるとき、通信状態フラグは‘0’の初期値にセットされている。
通信状態監視部21は、通信が遮断したと判断したとき、つまり、通信の遮断を検出したときは(ステップS201:Yes)、検出結果をウィンドウサイズ変更部32に出力するとともに、通信状態フラグを‘1’にセットする(ステップS202)。
通信状態監視部21により通信の遮断が検出されたとき(ステップS201:Yes)、ウィンドウサイズ変更部32は、ACKパケットの確認応答番号及び送信パケットのシーケンス番号を番号管理部31から取得する(ステップS301,S302)。ステップS302の処理後、処理はステップS201に戻る。
ステップS205での通信状態監視部21の処理後、ウィンドウサイズ変更部32は、通信部11からACKパケットを入力されると(ステップS101:Yes)、送信バッファ14の空き容量をバッファ監視部13から取得する(ステップS102)。
次いで、ウィンドウサイズ変更部32は、式(1)に従って、変更後のウィンドウサイズを算出する(ステップS303)。
そして、ウィンドウサイズ変更部32は、通信装置3から通知されたウィンドウサイズをステップS303で算出したウィンドウサイズに変更する。すなわち、ウィンドウサイズ変更部32は、ACKパケットのウィンドウフィールドの値をステップS303で算出した値に変更する(ステップS304)。ステップS304の処理後、処理はステップS104に進む。
以上のように、本実施例によれば、ウィンドウサイズ変更部32は、送信バッファ14の空き容量と、通信装置3との通信の遮断前の直近における通信装置30からの送信済みデータ量と、通信装置3との通信の遮断前の直近における通信装置3での受信済みデータ量とに基づいて、変更後のウィンドウサイズを算出する。
こうすることで、通信装置30から送信済みだが通信装置3に届いていないデータ量を考慮して変更後のウィンドウサイズを算出するため、送信バッファ14のオーバフローが発生する間際の値にウィンドウサイズを設定することができる。よって、送信バッファ14の利用効率及びネットワーク4の通信帯域の利用効率を向上できる。
[実施例4]
<通信装置の構成>
図10は、実施例4の通信装置の一例を示す機能ブロック図である。図10に示す通信装置40は、図2に示す通信装置2に相当する。通信装置40は、通信状態監視部41と、オーバフロー判定部42と、ウィンドウサイズ変更部43とを有する。
通信状態監視部41は、実施例2の通信状態監視部21が行う処理に加えて、さらに以下の処理を行う。すなわち、通信状態監視部41は、通信部11が行っている通信装置3との通信を監視し、送信パケットの送信レートを測定する。また、通信状態監視部41は、通信の遮断と、遮断からの通信の回復とを検出し、検出結果をオーバフロー判定部42及びウィンドウサイズ変更部43に出力する。
オーバフロー判定部42には、通信部11から出力されるACKパケットが入力される。オーバフロー判定部42は、通信状態監視部41から、通信装置3との通信が回復したとの検出結果が入力されたときに、以下の処理を行う。すなわち、オーバフロー判定部42は、通信状態監視部41から送信レートを取得する。また、オーバフロー判定部42は、特定の監視時間における確認応答番号の増加量を測定する。この「特定の監視時間」は、通信の回復時を起点として、オーバフロー判定部42へのACKパケットの入力間隔(つまり、通信装置40でのACKパケットの受信間隔)が、送信パケットの送信間隔以上となるまでの時間と規定されるのが好ましい。ACKパケットの受信間隔が送信パケットの送信間隔以上となっているときは、ACKパケットが送信装置3からバースト的に送信されていないと判断可能であるからである。また、オーバフロー判定部42は、送信パケットのパケットサイズを送信パケットの送信レートで除することによって送信パケットの送信間隔を算出する。そして、オーバフロー判定部42は、特定の監視時間と、その特定の監視時間における確認応答番号の増加量とから、確認応答番号の増加速度を算出する。また、オーバフロー判定部42は、バッファ監視部13から、送信バッファ14の空き容量を取得する。そして、オーバフロー判定部42は、式(2)の条件を満たすときに、送信バッファ14のオーバフローが発生すると判定し、式(2)の条件を満たさないときに、送信バッファ14のオーバフローが発生しないと判定し、判定結果をウィンドウサイズ変更部43に出力する。
送信バッファ14の空き容量[byte]<特定の監視時間[sec]×(確認応答番号の増加速度[byte/sec]−送信レート[byte/sec]) …式(2)
ウィンドウサイズ変更部43は、実施例2のウィンドウサイズ変更部22が行う処理に加えて、さらに以下の処理を行う。すなわち、ウィンドウサイズ変更部43は、送信バッファ14のオーバフローが発生するとの判定結果が入力されたときに、通信装置3から通知されたウィンドウサイズを変更する。一方で、ウィンドウサイズ変更部43は、送信バッファ14のオーバフローが発生しないとの判定結果が入力されたときは、通信装置3から通知されたウィンドウサイズを変更せずに、通信部11から入力されたACKパケットをそのままパケット処理部15に出力する。
ここで、具体的な数値例を用いて、オーバフロー判定部42で行われる上記の算出につて説明する。例えば、送信パケットの送信レートが6.25×10[byte/sec]で、送信パケットのパケットサイズが1514[byte]であったとき、オーバフロー判定部42は、送信パケットのパケットサイズを送信パケットの送信レートで除することにより、242.24×10−6[sec]≒240[μsec]を送信パケットの送信間隔として算出する。また、オーバフロー判定部42は、1ACKパケット当たりの確認応答番号の増加量が1514[byte]で、特定の監視時間が48[msec](48[msec]は200パケット分の時間に相当)であったとき、1514[byte]×200=302800[byte]を、特定の監視時間における確認応答番号の増加量として算出する。そして、オーバフロー判定部42は、302800[byte]÷48[msec]=6308333[byte/sec]を、確認応答番号の増加速度として算出する。
<通信装置の処理>
図11は、実施例4の通信装置の処理の説明に供するフローチャートである。図11に示すフローチャートは、通信装置40の電源がオンにされたときに開始され、オフにされたときに停止される。図11のフローチャートが開始されるとき、通信状態フラグは‘0’の初期値にセットされている。
ステップS205での通信状態監視部41の処理後、オーバフロー判定部42は、通信部11からACKパケットを入力されると(ステップS101:Yes)、ACKパケットの確認応答番号をACKパケットから取得する(ステップS401)。また、オーバフロー判定部42は、送信レートを通信状態監視部41から取得し(ステップS402)、送信バッファ14の空き容量をバッファ監視部13から取得する(ステップS102)。
次いで、オーバフロー判定部42は、上記のようにして、確認応答番号の増加速度を算出する(ステップS403)。
次いで、オーバフロー判定部42は、送信バッファ14のオーバフローが発生するか否かを判定する(ステップS404)。すなわち、オーバフロー判定部42は、式(2)に示す条件が満たされるときは、送信バッファ14のオーバフローが発生すると判定し、式(2)に示す条件が満たされないときは、送信バッファ14のオーバフローが発生しないと判定する。
送信バッファ14のオーバフローが発生すると判定されたときは(ステップS404:Yes)、ウィンドウサイズ変更部43は、通信装置3から通知されたウィンドウサイズを送信バッファ14の空き容量に変更する(ステップS103)。そして、ウィンドウサイズ変更部43は、ウィンドウサイズ変更後のACKパケットをパケット処理部15に転送する(ステップS104)。
一方、送信バッファ14のオーバフローが発生しないと判定されたときは(ステップS404:No)、ウィンドウサイズ変更部43は、通信部11から入力されたACKパケットをそのままパケット処理部15に転送する(ステップS104)。
ステップS104の処理後、処理はステップS201に戻る。
以上のように、本実施例によれば、オーバフロー判定部42は、送信バッファ14のオーバフローが発生するか否かを判定する。ウィンドウサイズ変更部43は、送信バッファ14のオーバフローが発生すると判定されたときに、ウィンドウサイズを変更する。
こうすることで、送信バッファ14がオーバフローする可能性が低いときには、ウィンドウサイズが変更されないので、ウィンドウサイズの不必要な変更を省くことができる。このため、送信バッファ14のオーバフローを防止しつつ、ウィンドウサイズの変更頻度を減少させることができる。よって、通信装置40の処理負荷を軽減することができる。
また、オーバフロー判定部42は、送信バッファ14の空き容量と、送信パケットの送信レートと、通信部11が受信した確認応答番号の増加速度とに基づいて、送信バッファ14のオーバフローが発生するか否かを判定する。
こうすることで、送信バッファ14のオーバフローが発生するか否かを正確に判定することができる。
[実施例5]
<通信装置の構成>
図12は、実施例5の通信装置の一例を示す機能ブロック図である。図12に示す通信装置50は、図2に示す通信装置2に相当する。通信装置50は、通信状態監視部51と、オーバフロー判定部52と、ウィンドウサイズ変更部53とを有する。
通信状態監視部51は、実施例2の通信状態監視部21が行う処理に加えて、さらに以下の処理を行う。すなわち、通信状態監視部51は、通信の遮断と、遮断からの通信の回復とを検出し、検出結果をオーバフロー判定部52及びウィンドウサイズ変更部53に出力する。
オーバフロー判定部52は、通信状態監視部51から、通信装置3との通信が遮断したとの検出結果が入力されたときに、番号管理部31に管理されているシーケンス番号及び確認応答番号を番号管理部31から取得する。番号管理部31は最新のシーケンス番号及び最新の確認応答番号だけを管理しているので、このときオーバフロー判定部52が取得するシーケンス番号及び確認応答番号は、通信遮断前の直近の送信済みデータ量、及び、通信遮断前の直近の受信済みデータ量である。また、このとき、オーバフロー判定部52は、送信バッファ14の空き容量をバッファ監視部13から取得する。そして、オーバフロー判定部52は、通信遮断時に、式(3)の条件を満たすときに、送信バッファ14のオーバフローが発生すると判定し、式(3)の条件を満たさないときに、送信バッファ14のオーバフローが発生しないと判定する。また、オーバフロー判定部52は、送信バッファ14のオーバフローが発生すると判定したときは、オーバフローフラグを‘1’にセットした後、ウィンドウサイズ変更部53に出力する。オーバフローフラグは‘0’または‘1’の何れかの状態を採る。
送信バッファ14の空き容量[byte]
<シーケンス番号[byte]−確認応答番号[byte] …式(3)
ウィンドウサイズ変更部53は、実施例2のウィンドウサイズ変更部22が行う処理に加えて、さらに以下の処理を行う。すなわち、ウィンドウサイズ変更部53は、通信装置3との通信が回復したとの検出結果が通信状態監視部21から入力されたときに、通信遮断時にオーバフロー判定部52から入力されたオーバフローフラグの状態を確認する。そして、オーバフローフラグが‘1’であるときは、ウィンドウサイズ変更部53は、通信装置3から通知されたウィンドウサイズを変更する。一方で、ウィンドウサイズ変更部53は、オーバフローフラグが‘0’であるときは、通信装置3から通知されたウィンドウサイズを変更せずに、通信部11から入力されたACKパケットをそのままパケット処理部15に出力する。
<通信装置の処理>
図13は、実施例5の通信装置の処理の説明に供するフローチャートである。図13に示すフローチャートは、通信装置50の電源がオンにされたときに開始され、オフにされたときに停止される。図13のフローチャートが開始されるとき、通信状態フラグ及びオーバフローフラグは‘0’の初期値にセットされている。
通信状態監視部51により通信の遮断が検出されたとき(ステップS201:Yes)、オーバフロー判定部52は、ACKパケットの確認応答番号及び送信パケットのシーケンス番号を番号管理部31から取得する(ステップS501,S502)。また、オーバフロー判定部52は、送信バッファ14の空き容量をバッファ監視部13から取得する(ステップS102)。
次いで、オーバフロー判定部52は、送信バッファ14のオーバフローが発生するか否かを判定する(ステップS503)。すなわち、オーバフロー判定部52は、式(3)に示す条件が満たされるときは、送信バッファ14のオーバフローが発生すると判定し、式(3)に示す条件が満たされないときは、送信バッファ14のオーバフローが発生しないと判定する。
送信バッファ14のオーバフローが発生すると判定されたときは(ステップS503:Yes)、オーバフロー判定部52は、オーバフローフラグを‘1’にセットする(ステップS504)。一方で、送信バッファ14のオーバフローが発生しない判定されたときは(ステップS503:No)、ステップS504の処理を行わない。その後、処理はステップS201に戻る。
ステップS205での通信状態監視部51の処理後、ウィンドウサイズ変更部53は、通信部11からACKパケットを入力されると(ステップS101:Yes)、オーバフローフラグの状態を確認する(ステップS505)。
オーバフローフラグが‘1’であるときは(ステップS505:Yes)、ウィンドウサイズ変更部53は、通信装置3から通知されたウィンドウサイズを送信バッファ14の空き容量に変更し(ステップS103)、オーバフローフラグを‘0’にセットする(ステップS506)。そして、ウィンドウサイズ変更部53は、ウィンドウサイズ変更後のACKパケットをパケット処理部15に転送する(ステップS104)。
一方で、オーバフローフラグが‘0’であるときは(ステップS505:No)、ウィンドウサイズ変更部53は、通信部11から入力されたACKパケットをそのままパケット処理部15に転送する(ステップS104)。
ステップS104の処理後、処理はステップS201に戻る。
以上のように、本実施例によれば、オーバフロー判定部52は、送信バッファ14の空き容量と、通信装置3との通信の遮断前の直近における通信装置50からの送信済みデータ量と、通信装置3との通信の遮断前の直近における通信装置3での受信済みデータ量とに基づいて、送信バッファ14のオーバフローが発生するか否かを判定する。
こうすることで、通信装置3との通信が遮断後、回復前に、送信バッファ14のオーバフローの発生を予測できるため、通信が回復したときの処理負荷を軽減することができる。
[実施例6]
<通信装置の構成>
図14は、実施例6の通信装置の一例を示す機能ブロック図である。図14に示す通信装置60は、図2に示す通信装置2に相当する。通信装置60は、通信状態監視部61と、遮断時間測定部62と、オーバフロー判定部63とを有する。
通信状態監視部61は、実施例2の通信状態監視部21が行う処理に加えて、さらに以下の処理を行う。すなわち、通信状態監視部61は、通信部11が行っている通信装置3との通信を監視し、送信パケットの送信レートを測定する。また、通信状態監視部61は、通信の遮断と、遮断からの通信の回復とを検出し、検出結果を遮断時間測定部62及びオーバフロー判定部63に出力する。
遮断時間測定部62は、通信が遮断してから回復するまでの時間(つまり、通信遮断時間)を測定する。
オーバフロー判定部63は、通信状態監視部61から、通信装置3との通信が遮断したとの検出結果が入力されたときに、通信遮断の直前に測定された送信レートを通信状態監視部61から取得する。また、オーバフロー判定部63は、通信状態監視部61から、通信装置3との通信が回復したとの検出結果が入力されたときに、通信遮断時間を遮断時間測定部62から取得し、送信バッファ14の空き容量をバッファ監視部13から取得する。そして、オーバフロー判定部63は、式(4)の条件を満たすときに、送信バッファ14のオーバフローが発生すると判定し、式(4)の条件を満たさないときに、送信バッファ14のオーバフローが発生しないと判定し、判定結果をウィンドウサイズ変更部43に出力する。
送信バッファ14の空き容量[byte]
<送信レート[byte/sec]×通信遮断時間[sec] …式(4)
<通信装置の処理>
図15は、実施例6の通信装置の処理の説明に供するフローチャートである。図15に示すフローチャートは、通信装置60の電源がオンにされたときに開始され、オフにされたときに停止される。図15のフローチャートが開始されるとき、通信状態フラグは‘0’の初期値にセットされている。
通信状態監視部61により通信の遮断が検出されたとき(ステップS201:Yes)、オーバフロー判定部63は、通信遮断の直前に測定された送信レートを通信状態監視部61から取得する(ステップS601)。ステップS601の処理後、処理はステップS201に戻る。
通信状態監視部61によって通信の回復が検出されると(ステップS204)、オーバフロー判定部63は、遮断時間測定部62から通信遮断時間を取得し(ステップS602)、バッファ監視部13から送信バッファ14の空き容量を取得する(ステップS102)。
次いで、オーバフロー判定部63は、送信バッファ14のオーバフローが発生するか否かを判定する(ステップS603)。すなわち、オーバフロー判定部63は、式(4)に示す条件が満たされるときは、送信バッファ14のオーバフローが発生すると判定し、式(4)に示す条件が満たされないときは、送信バッファ14のオーバフローが発生しないと判定する。
送信バッファ14のオーバフローが発生すると判定されたときは(ステップS603:Yes)、ウィンドウサイズ変更部43は、通信装置3から通知されたウィンドウサイズを送信バッファ14の空き容量に変更する(ステップS103)。そして、ウィンドウサイズ変更部43は、ウィンドウサイズ変更後のACKパケットをパケット処理部15に転送する(ステップS104)。
一方、送信バッファ14のオーバフローが発生しないと判定されたときは(ステップS603:No)、ウィンドウサイズ変更部43は、通信部11から入力されたACKパケットをそのままパケット処理部15に転送する(ステップS104)。
ステップS104の処理後、処理はステップS201に戻る。
以上のように、本実施例によれば、遮断時間測定部62は、通信装置3との通信における通信遮断時間を測定する。オーバフロー判定部63は、通信遮断時間に基づいて、送信バッファ14のオーバフローが発生するか否かを判定する。
通信遮断時間が長くなるほど、通信の回復時に送信装置3からバースト的に送信されるACKパケットの数が多くなる。バースト的に送信されるACKパケットの数が多くなるほど、送信バッファ14のオーバフローが発生する可能性が高くなる。よって、通信遮断時間に基づいて送信バッファ14のオーバフローが発生するか否かを判定することで、比較的簡単な処理によって取得できる情報のみで、送信バッファ14のオーバフローが発生するか否かを判定することができる。
[実施例7]
<通信装置の構成>
図16は、実施例7の通信装置の一例を示す機能ブロック図である。図16に示す通信装置70は、図2に示す通信装置2に相当する。通信装置70は、RTT(Round-Trip Time)測定部71と、オーバフロー判定部72とを有する。
RTT測定部71には、RTTを測定する。例えば、RTT測定部71には、送信バッファ14から出力される送信パケットが入力され、通信部11から出力されるACKパケットが入力される。そして、RTT測定部71は、送信パケットのシーケンス番号と、ACKパケットの確認応答番号とから、その送信パケットに対応するACKパケットを特定し、その送信パケットが送信されてから、対応するACKパケットが受信されるまでの時間をRTTとして測定してもよい。
オーバフロー判定部72は、実施例5のオーバフロー判定部52及び実施例6のオーバフロー判定部63が行う処理に加えて、さらに以下の処理を行う。すなわち、オーバフロー判定部72は、通信状態監視部61から、通信装置3との通信が回復したとの検出結果が入力されたときに、RTTをRTT測定部71から取得する。そして、オーバフロー判定部72は、通信遮断時間がRTT以上のときは、実施例5の式(3)に従って、送信バッファ14のオーバフローが発生するか否かを判定する。一方で、オーバフロー判定部72は、通信遮断時間がRTT未満のときは、実施例6の式(4)に従って、送信バッファ14のオーバフローが発生するか否かを判定する。そして、オーバフロー判定部72は、判定結果をウィンドウサイズ変更部53に出力する。
<通信装置の処理>
図17は、実施例7の通信装置の処理の説明に供するフローチャートである。図17に示すフローチャートは、通信装置70の電源がオンにされたときに開始され、オフにされたときに停止される。図17のフローチャートが開始されるとき、通信状態フラグ及びオーバフローフラグは‘0’の初期値にセットされている。
ステップS701で、オーバフロー判定部72は、RTT測定部71からRTTを取得する。
ステップS702で、オーバフロー判定部72は、RTTが通信遮断時間以上であるか否かを判断する。通信遮断時間がRTT以上のときは(ステップS702:Yes)、オーバフロー判定部72は、オーバフローの判定方法を「判定方法1」、つまり、実施例5の式(3)に従って判定する方法に決定する(ステップS703)。一方で、通信遮断時間がRTT未満のときは(ステップS702:No)、オーバフロー判定部72は、オーバフローの判定方法を「判定方法2」、つまり、実施例6の式(4)に従って判定する方法に決定する(ステップS704)。
そして、ステップS705で、オーバフロー判定部72は、判定方法1または判定方法2を用いて、送信バッファ14のオーバフローが発生するか否かを判定する。
以上のように、本実施例によれば、RTT測定部71はRTTを測定する。オーバフロー判定部72は、通信遮断時間がRTT以上のときは、実施例5の式(3)に従って、送信バッファ14のオーバフローが発生するか否かを判定する。また、オーバフロー判定部72は、通信遮断時間がRTT未満のときは、実施例6の式(4)に従って、送信バッファ14のオーバフローが発生するか否かを判定する。
実施例5の式(3)に従って行う判定では、通信遮断時間がRTT未満だと判定の正確性が低下する一方で、実施例6の式(4)に従って行う判定では、通信遮断時間がRTT以上だと判定の正確性が低下する。よって、上記のようにして、実施例5の式(3)に従って行う判定と、実施例6の式(4)に従って行う判定とをRTTを閾値として使い分けることにより、判定の正確性を維持することができる。
[他の実施例]
[1]上記実施例の通信装置10,20,30,40,50,60,70は、次のようなハードウェア構成により実現することができる。図18は、通信装置のハードウェア構成例を示す図である。図18に示すように、通信装置10,20,30,40,50,60,70は、ハードウェアの構成要素として、バス10aと、プロセッサ10bと、メモリ10cと、通信モジュール10dとを有する。プロセッサ10bの一例として、CPU(Central Processing Unit),DSP(Digital Signal Processor),FPGA(Field Programmable Gate Array)等が挙げられる。また、通信装置10,20,30,40,50,60,70は、プロセッサ10bと周辺回路とを含むLSI(Large Scale Integrated circuit)を有してもよい。メモリ10cの一例として、SDRAM等のRAM,ROM,フラッシュメモリ等が挙げられる。通信部11は、通信モジュール10dにより実現される。送信バッファ14は、メモリ10cにより実現される。ウィンドウサイズ変更部12,22,32,43,53と、バッファ監視部13と、パケット処理部15と、バッファ制御部16と、通信状態監視部21,41,51,61と、オーバフロー判定部42,52,63,72と、遮断時間測定部62と、RTT測定部71とは、プロセッサ10bにより実現される。番号管理部31は、プロセッサ10bとメモリ10cとにより実現される。
[2]ウィンドウサイズ変更部12,22,32,43,53、バッファ監視部13、パケット処理部15、バッファ制御部16、通信状態監視部21,41,51,61、オーバフロー判定部42,52,63,72、遮断時間測定部62、RTT測定部71、番号管理部31での上記説明における各処理は、各処理に対応するプログラムをプロセッサ10bに実行させることによって実現してもよい。例えば、ウィンドウサイズ変更部12,22,32,43,53、バッファ監視部13、パケット処理部15、バッファ制御部16、通信状態監視部21,41,51,61、オーバフロー判定部42,52,63,72、遮断時間測定部62、RTT測定部71、番号管理部31での上記説明における各処理に対応するプログラムがメモリ10cに記憶され、そのプログラムがプロセッサ10bによってメモリ10cから読み出されて実行されてもよい。
10,20,30,40,50,60,70 通信装置
11 通信部
12,22,32,43,53 ウィンドウサイズ変更部
13 バッファ監視部
14 送信バッファ
15 パケット処理部
16 バッファ制御部
21,41,51,61 通信状態監視部
31 番号管理部
42,52,63,72 オーバフロー判定部
62 遮断時間測定部
71 RTT測定部

Claims (10)

  1. 送信パケットを溜めるバッファと、
    前記バッファの空き容量を監視するバッファ監視部と、
    他の通信装置から通知された第1のウィンドウサイズを前記空き容量に基づいて第2のウィンドウサイズに変更する変更部と、
    前記バッファへの前記送信パケットの流入量を前記第2のウィンドウサイズに従って制御するパケット処理部と、
    を具備する通信装置。
  2. 前記他の通信装置との通信の状態を監視し、前記通信の遮断及び前記通信の前記遮断からの回復を検出する通信状態監視部、をさらに具備し、
    前記変更部は、前記回復が検出されたときに、前記第1のウィンドウサイズを前記第2のウィンドウサイズに変更する、
    請求項1に記載の通信装置。
  3. 前記変更部は、前記空き容量を前記第2のウィンドウサイズとする、
    請求項1または2に記載の通信装置。
  4. 前記変更部は、前記空き容量と、前記遮断前の直近における自装置からの送信済みデータ量と、前記遮断前の直近における前記他の通信装置での受信済みデータ量とに基づいて、前記第2のウィドウサイズを算出する、
    請求項2に記載の通信装置。
  5. 前記バッファのオーバフローが発生するか否かを判定する判定部、をさらに具備し、
    前記変更部は、前記オーバフローが発生すると判定されたときに、前記第1のウィンドウサイズを前記第2のウィンドウサイズに変更する、
    請求項2に記載の通信装置。
  6. 前記判定部は、前記空き容量と、前記送信パケットの送信レートと、自装置が受信した確認応答番号の増加速度とに基づいて、前記オーバフローが発生するか否かを判定する、
    請求項5に記載の通信装置。
  7. 前記判定部は、前記空き容量と、前記遮断前の直近における自装置からの送信済みデータ量と、前記遮断前の直近における前記他の通信装置での受信済みデータ量とに基づいて、前記オーバフローが発生するか否かを判定する、
    請求項5に記載の通信装置。
  8. 前記遮断がなされている遮断時間を測定する測定部、をさらに具備し、
    前記判定部は、前記遮断時間に基づいて、前記オーバフローが発生するか否かを判定する、
    請求項5に記載の通信装置。
  9. 前記遮断がなされている遮断時間を測定する第1測定部と、
    ラウンドトリップタイムを測定する第2測定部と、をさらに具備し、
    前記判定部は、
    前記遮断時間が前記ラウンドトリップタイム以上のときは、前記空き容量と、前記遮断前の直近における自装置からの送信済みデータ量と、前記遮断前の直近における前記他の通信装置での受信済みデータ量とに基づいて、前記オーバフローが発生するか否かを判定し、
    前記遮断時間が前記ラウンドトリップタイム未満のときは、前記遮断時間に基づいて、前記オーバフローが発生するか否かを判定する、
    請求項5に記載の通信装置。
  10. 送信パケットを溜めるバッファの空き容量を監視し、
    他の通信装置から通知された第1のウィンドウサイズを前記空き容量に基づいて第2のウィンドウサイズに変更し、
    前記バッファへの前記送信パケットの流入量を前記第2のウィンドウサイズに従って制御する、
    パケット制御方法。
JP2013234440A 2013-11-12 2013-11-12 通信装置及びパケット制御方法 Expired - Fee Related JP6244836B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013234440A JP6244836B2 (ja) 2013-11-12 2013-11-12 通信装置及びパケット制御方法
US14/530,243 US9515939B2 (en) 2013-11-12 2014-10-31 Apparatus and method for controlling a window size of packet transmission based on a free space of buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013234440A JP6244836B2 (ja) 2013-11-12 2013-11-12 通信装置及びパケット制御方法

Publications (2)

Publication Number Publication Date
JP2015095780A true JP2015095780A (ja) 2015-05-18
JP6244836B2 JP6244836B2 (ja) 2017-12-13

Family

ID=53043718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013234440A Expired - Fee Related JP6244836B2 (ja) 2013-11-12 2013-11-12 通信装置及びパケット制御方法

Country Status (2)

Country Link
US (1) US9515939B2 (ja)
JP (1) JP6244836B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020766A (ja) * 2017-07-11 2019-02-07 富士ゼロックス株式会社 電子装置
US11588736B2 (en) 2018-06-22 2023-02-21 Nec Corporation Communication apparatus, communication method, and program

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6244836B2 (ja) * 2013-11-12 2017-12-13 富士通株式会社 通信装置及びパケット制御方法
US9740436B2 (en) * 2014-11-14 2017-08-22 International Business Machines Corporation Elastic file system management in storage cloud environments
WO2016206755A1 (en) * 2015-06-26 2016-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for managing uplink traffic from a client device in a communication network
US20170310601A1 (en) * 2016-04-21 2017-10-26 Qualcomm Incorporated Radio-aware transmission control protocol rate control
JP2018142853A (ja) * 2017-02-28 2018-09-13 キヤノン株式会社 通信方法、通信装置、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002033909A1 (en) * 2000-10-20 2002-04-25 Nokia Corporation Congestion control in wireless telecommunication networks
WO2005020524A1 (ja) * 2003-08-20 2005-03-03 Nec Corporation セッション中継装置及び中継方法
JP2006114973A (ja) * 2004-10-12 2006-04-27 Nec Infrontia Corp 無線基地局及び無線端末装置
JP2011176540A (ja) * 2010-02-24 2011-09-08 Kyocera Corp 無線通信装置及び制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677616A (en) * 1985-09-11 1987-06-30 At&T Company Flow control scheme for a switching network
US5163046A (en) * 1989-11-30 1992-11-10 At&T Bell Laboratories Dynamic window sizing in a data network
US6167027A (en) * 1997-09-09 2000-12-26 Cisco Technology, Inc. Flow control technique for X.25 traffic in a high speed packet switching network
JP2000332817A (ja) * 1999-05-18 2000-11-30 Fujitsu Ltd パケット処理装置
JP2005277704A (ja) 2004-03-24 2005-10-06 Mitsubishi Electric Corp データ配信管理装置およびデータ配信管理方法
JP4364763B2 (ja) 2004-09-30 2009-11-18 京セラ株式会社 データ通信装置
US7477675B2 (en) 2004-09-30 2009-01-13 Kyocera Corporation Data communication apparatus
JP2006211015A (ja) 2005-01-25 2006-08-10 Matsushita Electric Ind Co Ltd 無線通信端末装置および無線通信制御方法
WO2008032750A1 (fr) * 2006-09-13 2008-03-20 Panasonic Corporation dispositif de communication
US8335213B2 (en) * 2008-09-11 2012-12-18 Juniper Networks, Inc. Methods and apparatus related to low latency within a data center
US8971247B2 (en) * 2012-05-25 2015-03-03 Qualcomm Incorporated Methods, devices, and systems for efficient retransmission communications
JP6244836B2 (ja) * 2013-11-12 2017-12-13 富士通株式会社 通信装置及びパケット制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002033909A1 (en) * 2000-10-20 2002-04-25 Nokia Corporation Congestion control in wireless telecommunication networks
WO2005020524A1 (ja) * 2003-08-20 2005-03-03 Nec Corporation セッション中継装置及び中継方法
JP2006114973A (ja) * 2004-10-12 2006-04-27 Nec Infrontia Corp 無線基地局及び無線端末装置
JP2011176540A (ja) * 2010-02-24 2011-09-08 Kyocera Corp 無線通信装置及び制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020766A (ja) * 2017-07-11 2019-02-07 富士ゼロックス株式会社 電子装置
JP6992295B2 (ja) 2017-07-11 2022-01-13 富士フイルムビジネスイノベーション株式会社 電子装置
US11588736B2 (en) 2018-06-22 2023-02-21 Nec Corporation Communication apparatus, communication method, and program

Also Published As

Publication number Publication date
US20150131440A1 (en) 2015-05-14
JP6244836B2 (ja) 2017-12-13
US9515939B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
JP6244836B2 (ja) 通信装置及びパケット制御方法
JP5867188B2 (ja) 情報処理装置、輻輳制御方法および輻輳制御プログラム
US11159437B2 (en) Method and system for determining a path maximum transmission unit (MTU) between endpoints of a generic routing encapsulation (GRE) tunnel
US9444741B2 (en) Facilitating network flows
WO2019019825A1 (zh) 一种拥塞控制方法及相关设备
WO2019046603A1 (en) METHODS AND SYSTEMS FOR MANAGING NETWORK DIMENSIONS
JP2016208193A (ja) 基地局及び通信制御方法
CN104093170A (zh) 基于tcp的数据传输方法和tcp代理装置
US20160127247A1 (en) Packet processing method and packet processing device
WO2019101208A1 (zh) 一种传输速率调整的方法、节点设备以及服务器
JP2008219408A (ja) 通信装置、通信システム及び送信制御方法
JP2008259164A (ja) 通信端末、通信制御方法および通信制御プログラム
US20150222570A1 (en) Apparatus and method for aligning order of received packets
WO2017077704A1 (ja) スループット計測装置、方法および記録媒体
WO2014171543A1 (ja) データ送信装置、データ送信方法、及びそのプログラム
JP2011155406A (ja) 送信装置、送信方法及びプログラム
JP2015133669A (ja) 通信装置
JP6405692B2 (ja) 送信装置、送信装置の制御方法、送信プログラム及び通信システム
JP2014220621A (ja) パケット処理方法及びパケット処理装置
JP7286513B2 (ja) 通信装置、通信装置の制御方法、及びプログラム
EP3920488A1 (en) Communication method, device, and system
EP4075697A1 (en) Message transmission method and electronic device
TWI649991B (zh) 資料通信裝置、資料通信控制方法及程式
JP6547333B2 (ja) 通信装置及び通信制御プログラム
WO2013011638A1 (ja) 通信装置およびその通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170721

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: 20171017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6244836

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees