JP2013157958A - 通信装置、通信方法、および通信プログラム - Google Patents

通信装置、通信方法、および通信プログラム Download PDF

Info

Publication number
JP2013157958A
JP2013157958A JP2012019311A JP2012019311A JP2013157958A JP 2013157958 A JP2013157958 A JP 2013157958A JP 2012019311 A JP2012019311 A JP 2012019311A JP 2012019311 A JP2012019311 A JP 2012019311A JP 2013157958 A JP2013157958 A JP 2013157958A
Authority
JP
Japan
Prior art keywords
communication
measurement
repeater
bandwidth
communication device
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
JP2012019311A
Other languages
English (en)
Other versions
JP5747830B2 (ja
Inventor
Tomohiro Inagaki
友大 稲垣
Kenji Oike
健二 尾池
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012019311A priority Critical patent/JP5747830B2/ja
Publication of JP2013157958A publication Critical patent/JP2013157958A/ja
Application granted granted Critical
Publication of JP5747830B2 publication Critical patent/JP5747830B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】中継器の有無を判断し、判断結果に応じて計測方法を切り替えることによって、通信網の状態を適切に特定することが可能な通信装置、通信方法、および通信プログラムを提供する。
【解決手段】通信装置は、他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを、二種類の通信(第一計測通信および第二計測通信)によって使用可能帯域を特定することにより判断する。通信装置は、中継器が通信路に介在する場合、通信路全体の使用可能帯域を計測可能な第一計測通信を選択する。一方、通信装置は、中継器が通信路に介在しない場合、応答パケットのヘッダに基づいて効率的に使用可能帯域を特定可能な第二計測通信を選択する(S111)。通信装置は、選択した計測通信を、第一周期で実行する(S117)。通信装置は、第一計測通信および第二計測通信のうち何れを選択するかを、第二周期で特定する(S119)。
【選択図】図12

Description

本発明は、通信網の状態を特定することが可能な通信装置、通信方法、および通信プログラムに関する。
インターネット等の通信網の状態を特定することが可能な通信装置が知られている。例えば特許文献1には、通信網の状態として通信遅延を特定する通信装置が開示されている。この通信装置は、時間情報等を付加したデータを用い、他の通信装置との間で通信を実行する。これによって通信装置は、通信網の通信遅延を特定する。通信装置は、特定した通信遅延に基づいてデータの送信速度を最適化し、通信遅延の増大を防いでいる。
Transmission Control Protocol(TCP)に基づいて通信装置間で通信が行われる場合、通信装置は、TCPヘッダに含まれる情報を参照することによって、通信網の状態を特定できる。例えば通信装置は、TCPヘッダに含まれるシーケンス番号やウィンドウサイズを参照することによって、通信遅延を特定できる。このように、TCPヘッダに含まれる情報に基づいて通信装置が通信網の通信状態を特定する場合、特許文献1に記載された通信装置とは異なり、特別な情報をデータに付加する処理や、付加した特別な情報を解析する処理等が不要となる。
特開平11−308271号公報
プロトコルを変換する中継器が通信網に介在する場合がある。中継器の一例として、プロキシサーバが挙げられる。中継器によってデータが中継される場合、中継器はデータ中のTCPヘッダを書き換える。この場合、通信装置は、TCPヘッダを使用して通信網の状態を特定できなくなるという問題点がある。
本発明の目的は、中継器の有無を判断し、判断結果に応じて、ネットワークの状態を計測するための計測方法を切り替えることによって、通信網の状態を適切に特定することが可能な通信装置、通信方法、および通信プログラムを提供することである。
本発明の第一態様に係る通信装置は、ネットワークを介して接続した他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを判断する判断手段と、前記ネットワークにおける使用可能な帯域である使用可能帯域を特定するために実行され、前記他の通信装置との間で前記帯域を計測する計測データの通信を行う計測通信であって、前記中継器又は前記他の通信装置が前記計測データを受信した場合に返信する応答データのヘッダ部に基づいて前記帯域の計測を行い、前記使用可能帯域を特定する第一計測通信と、前記計測データを受信した他の通信装置が前記計測データのデータ部に基づいて前記帯域の計測を行い、計測された前記帯域を前記他の通信装置から取得することによって前記使用可能帯域を特定する第二計測通信とのうち何れか一方を、前記判断手段による判断結果に基づいて選択する選択手段と、前記使用可能帯域を特定するために、前記選択手段によって選択された前記第一計測通信または前記第二計測通信を実行する第一通信手段とを備えている。
第一態様によれば、通信装置は、他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するか否かを判断する。通信装置は、判断結果に応じて、計測通信の方法を切り替えることができる。例えば通信装置は、通信路に中継器が介在しない場合には第一計測通信を選択し、中継器が介在する場合には第二計測通信を選択する。このように通信装置は、使用可能帯域を特定する計測通信の方法を、通信路に中継器が介在するか否かに応じて選択できる。通信装置は、使用可能帯域を迅速かつ適切に特定することができる。
第一態様において、前記第一計測通信および前記第二計測通信を実行する第二通信手段を備え、前記判断手段は、前記第二通信手段によって実行された前記第一計測通信および前記第二計測通信の計測結果の差分に基づいて、前記通信路に前記所定の条件を満たすように前記中継器が介在するかを判断してもよい。第一計測通信による計測結果と、第二計測通信による計測結果との関係は、所定の条件を満たすように中継器が通信路に介在するか否かによって変化する。従って通信装置は、計測結果の変化の様子に基づき、所定の条件を満たすように中継器が通信路に介在するか否かを判断できる。このようにして通信装置は、通信路に中継器が介在するかを容易に判断できる。
第一態様において、前記判断手段は、前記第二通信手段によって実行された前記第一計測通信及び前記第二計測通信の計測結果との差分を複数回分取得し、取得した複数回分の差分と所定閾値との関係に基づいて、前記中継器が介在するかを判断してもよい。これによって、通信装置は、所定の条件を満たすように通信路に中継器が介在するか否かを、より適切に判断できる。
第一態様において、前記第二通信手段は、前記第一通信手段によって前記第一計測通信または前記第二計測通信が繰り返し実行される場合の時間間隔よりも長い時間間隔で、前記第一計測通信および前記第二計測通信を繰り返し実行してもよい。これによって通信装置は、第一計測通信および第二計測通信が実行される頻度を抑制できる。従って通信装置は、計測通信によってトラフィックが増大することを抑止できる。
第一態様において、前記選択手段は、前記第一通信手段によって前記第一計測通信が実行されている場合であって、前記判断手段によって前記通信路に前記所定の条件を満たすように前記中継器が介在すると判断された場合に、前記第二計測通信を選択し、前記第一通信手段によって前記第二計測通信が実行されている場合であって、前記判断手段によって前記通信路に前記所定の条件を満たすように前記中継器が介在しないと判断された場合の連続回数が所定回数未満である場合、前記第二計測通信を選択し、前記第一通信手段によって前記第二計測通信が実行されている場合であって、前記判断手段によって前記通信路に前記所定の条件を満たすように前記中継器が介在しないと判断された場合の連続回数が所定回数以上である場合、前記第一計測通信を選択してもよい。これによって通信装置は、第二計測通信が実行される頻度を高くし、第一計測通信が実行される頻度を低くすることができる。従って通信装置は、計測結果が安定する第二計測通信を優先的に実行し、使用可能帯域をより適切に特定できる。
第一態様において、前記通信路に前記所定の条件を満たすように前記中継器が介在するかの判断指示を受け付けた場合に、前記判断手段は、前記中継器が介在するかを判断してもよい。これによって通信装置は、所定の条件を満たすように通信路に中継器が介在するかを、指定したタイミングで判断することができる。
第一態様において、前記所定の条件を満たすように中継器が介在するとは、前記計測通信に影響を及ぼすように前記中継器が前記通信路に介在することであってもよい。通信装置は、所定条件を満たす中継器が通信路に介在するか否かに基づいて計測通信の方法を選択し実行することによって、使用可能帯域をさらに適切に特定することができる。
本発明の第二態様に係る通信方法は、ネットワークを介して接続した他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを判断する判断ステップと、前記ネットワークにおける使用可能な帯域である使用可能帯域を特定するために実行され、前記他の通信装置との間で前記帯域を計測する計測データの通信を行う計測通信であって、前記中継器が前記計測データを受信した場合に返信する応答データのヘッダ部に基づいて前記帯域の計測を行い、前記使用可能帯域を特定する第一計測通信と、前記他の通信装置が前記計測データのデータ部に基づいて前記帯域の計測を行い、計測された前記帯域を前記他の通信装置から取得することによって前記使用可能帯域を特定する第二計測通信とのうち何れか一方を、前記判断ステップによる判断結果に基づいて選択する選択ステップと、前記使用可能帯域を特定するために、前記選択ステップによって選択された前記第一計測通信または前記第二計測通信を実行する第一通信ステップとを備えている。第二態様によれば、第一態様と同様の効果を奏することができる。
本発明の第三態様に係る通信プログラムは、ネットワークを介して接続した他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを判断する判断ステップと、前記ネットワークにおける使用可能な帯域である使用可能帯域を特定するために実行され、前記他の通信装置との間で前記帯域を計測する計測データの通信を行う計測通信であって、前記中継器が前記計測データを受信した場合に返信する応答データのヘッダ部に基づいて前記帯域の計測を行い、前記使用可能帯域を特定する第一計測通信と、前記他の通信装置が前記計測データのデータ部に基づいて前記帯域の計測を行い、計測された前記帯域を前記他の通信装置から取得することによって前記使用可能帯域を特定する第二計測通信とのうち何れか一方を、前記判断ステップによる判断結果に基づいて選択する選択ステップと、前記使用可能帯域を特定するために、前記選択ステップによって選択された前記第一計測通信または前記第二計測通信を実行する第一通信ステップとをコンピュータに実行させる。第三態様によれば、第一態様と同様の効果を奏することができる。
通信システム1を示す模式図である。 中継器7が通信路2に介在する状態で第一計測通信が実行される場合を示す図である。 中継器8が通信路4に介在する状態で第一計測通信が実行される場合を示す図である。 中継器7が通信路2に介在する状態で第二計測通信が実行される場合を示す図である。 中継器8が通信路4に介在する状態で第二計測通信が実行される場合を示す図である。 中継器7が通信路2に介在する状態で第一計測通信および第二計測通信が実行される場合を示す図である。 中継器7が通信路2に介在する状態で第一計測通信および第二計測通信が実行される場合を示す図である。 中継器7が通信路2に介在する状態で第一計測通信および第二計測通信が実行される場合を示す図である。 中継器8が通信路4に介在する状態で第一計測通信および第二計測通信が実行される場合を示す図である。 中継器8が通信路4に介在する状態で第一計測通信および第二計測通信が実行される場合を示す図である。 中継器8が通信路4に介在する状態で第一計測通信および第二計測通信が実行される場合を示す図である。 メイン処理を示す図である。 計測処理を示す図である。 比較処理を示す図である。 差分と閾値Tとの関係を示すグラフである。 差分と閾値Tとの関係を示すグラフである。 第一計測通信および第二計測通信が切り替えられるタイミングを示す図である。
以下、本発明の一実施形態について、図面を参照して説明する。図1を参照し、通信システム1について説明する。通信システム1は、通信装置11、12(以下、総称して「通信装置10」ともいう。)を備える。通信装置11、12は、ネットワーク6を介して接続する。通信装置11、12は、ネットワーク6を介して通信を行うことができる。ネットワーク6には、通信路2、3、4が含まれる。通信装置11、12は、ネットワーク6の状態に応じて決定される通信路2、3、4のうち何れかを介して通信を行う。通信装置10は、周知のパーソナルコンピュータ(PC)である。ネットワーク6は、周知のインターネットである。通信装置10は、TCP/IPに基づいて通信を行う。
通信路2には中継器7が介在する。通信路4には中継器8が介在する。通信路3に中継器は介在しない。通信装置11、12が通信路2、4を介して通信を行う場合、中継器7、8は、通信装置11、12間で送受信されるデータを中継する。中継器7は、データを中継する場合に、データに付加されたTCPヘッダを改変しない。中継器7が通信路2に介在しても、通信装置11、12間の通信に影響は及ばない。このため、中継器7が通信路2に介在する場合と、中継器7が通信路2に介在しない場合(即ち、通信路3を介して通信が行われる場合)とでは、同一の方法で通信が行われることになる。中継器7の例として、リピータ、ハブ、ルータ等が挙げられる。一方、中継器8は、データを中継する場合、データに付加されたTCPヘッダを改変する。中継器8は、データを送信した通信装置10に対してACKを返信する(詳細は後述する)。従って、通信装置11、12間で通信路4を介して通信が行われる場合と、通信路2、3を介して通信が行われる場合とでは、異なる方法で通信が行われることになる。中継器8の例として、周知のプロトコル変換機器(ゲートウェイ、プロキシサーバ等)が挙げられる。
通信装置10の電気的構成について説明する。通信装置10は、通信装置10の制御を司るCPU21を備える。CPU21は、ROM22、RAM23、HDD24、通信I/F25、入力部26、および出力部27と電気的に接続する。ROM22には、ブートプログラム、BIOS等が記憶される。RAM23には、タイマやカウンタ、一時的なデータが記憶される。HDD24には、CPU21の制御プログラムやOSが記憶される。通信I/F25は、中継器7、8、および他の通信装置10と通信を行うためのインタフェースである。入力部26は、通信装置10に対して情報の入力を行うキーボード、マウス、マイク等である。出力部27は、通信装置10のユーザに対して情報を出力するディスプレイ、スピーカ等である。
通信装置10は、通信路2、3、4における使用可能な伝送路容量を特定し、特定された伝送路容量内でデータが送信されるように、送信するデータの量を調整する。これによって通信装置10は、通信路2、3、4において使用可能な伝送路容量を効率的に使用することができる。以下、伝送路容量を「帯域」ともいう。使用可能な伝送路容量を「使用可能帯域」ともいう。帯域および使用可能帯域の単位はbpsである。通信装置10は、方法の異なる二種類の計測通信(第一計測通信および第二計測通信)によって使用可能帯域を特定することができる。通信装置10は、通進路に介在する中継器7、8の有無、および、中継器7、8の種類に応じて、第一計測通信または第二計測通信を使い分ける。以下詳説する。
図2および図3を参照し、第一計測通信について説明する。第一計測通信では、TCPの確認応答機能を利用して使用可能帯域を特定する。確認応答機能は、TCPパケットを受信した通信装置10や中継器8が、TCPパケットを送信した通信装置10や中継器8に対して、TCPパケットを受信した旨を通知する機能である。なお中継器7は確認応答機能を有していない。
図2は、通信路2の使用可能帯域を特定するために、通信装置11が第一計測通信を実行した場合を示している。通信装置11は、TCPヘッダおよびデータを含むTCPパケット41を、中継器7を介して通信装置12に送信する(S11)。中継器7はTCPパケット41を受信し、通信装置12に対してTCPパケット41を中継する(S13)。通信装置12はTCPパケット41を受信する。通信装置12は、TCPパケット41を受信した旨を通信装置11に通知するために、ACKパケット43を、中継器7を介して通信装置11に送信する(S17)。ACKパケット43は、TCPヘッダのACKフラグがONされたものである。中継器7はACKパケット43を受信し、通信装置11に対してACKパケット43を中継する(S19)。通信装置11はACKパケット43を受信する。
通信装置11は、S11でTCPパケット41を送信してから、S19でACKパケット43を受信するまでの経過時間を計測する。通信装置11は、ACKパケット43のTCPヘッダに含まれるシーケンス番号を参照することによって、送信したTCPパケット41に対応するACKパケット43を特定する。なお通信装置12は、TCPパケット41の受信後、即座にACKパケット43を返信する。このため、計測される経過時間は、TCPパケット41およびACKパケット43が通信路2を伝達する場合に要した時間と略同一となる。また通信装置11は、TCPパケット41およびACKパケット43のデータサイズを特定する。例えば通信装置11は、ACKパケット43のIPヘッダに含まれるパケット長を参照することによって、受信したACKパケット43のデータサイズを特定する。なお、TCPパケット41のデータサイズは、S11で通信装置11自身が送信しているため、既知である。通信装置11は、TCPパケット41のデータサイズおよびACKパケット43のデータサイズを加算した加算値を、経過時間で除算する。これによって通信装置11は、通信路2の使用可能帯域を算出する。
なお算出される使用可能帯域は、通信装置11から中継器7までの間の通信路2Aにおける使用可能な帯域と、中継器7から通信装置12までの間の通信路2Bにおける使用可能な帯域とのうち、より小さい帯域を示すものである。使用可能帯域は、通信路2のボトルネックの部分における使用可能な帯域を示すことになる。
なお中継器7は、通信装置11、12間で送受信されるデータを中継する処理を行うのみである。中継器7が通信路2に介在しても、通信装置11、12間の通信に影響は及ばない。このため通信装置11、12間で、中継器7が介在する通信路2を介して通信が行われる場合と、中継器が介在しない通信路3を介して通信が行われる場合とでは、同一の方法で通信が行われることになる。従って、通信路3の使用可能帯域を特定するための第一計測通信も、上述と同様の方法で実行されることになる。
図3は、通信路4の使用可能帯域を特定するために、通信装置11が第一計測通信を実行した場合を示している。通信装置11は、TCPヘッダおよびデータを含むTCPパケット51を、中継器8を介して通信装置12に送信する(S21)。中継器8はTCPパケット51を受信する。図2の場合と異なり、中継器8は、TCPパケット51に含まれるTCPヘッダを改変する(S23)。例えば中継器8は、TCPヘッダに含まれるアドレス情報(送信元ポート番号および宛先ポート番号)やシーケンス番号を改変する。中継器8は、TCPヘッダを改変したTCPパケット55を、通信装置12に対して中継する(S29)。中継器8は、TCPパケット51を受信した旨を通信装置11に通知するために、ACKパケット53を通信装置11に送信する(S27)。通信装置11はACKパケット53を受信する。
通信装置12は、S29で中継器8から送信されたTCPパケット55を受信する。通信装置12は、TCPパケット55を受信した旨を、TCPパケット55を送信した中継器8に通知するために、ACKパケット57を中継器8に送信する(S33)。中継器8はACKパケット57を受信する。
通信装置12が送信するACKパケット57は、図2の場合と異なり、TCPヘッダが改変されている。例えばTCPヘッダのシーケンス番号が改変された場合、通信装置11がACKパケット57を取得して使用可能帯域を特定しようとしても、S21で送信したTCPパケット51に対応するACKパケット57を特定することができないので、図2の場合と同様の方法で使用可能帯域を特定することができない。従って第二計測通信では、以下のようにして使用可能帯域を特定する。
通信装置11は、S21でTCPパケット51を送信してから、S27でACKパケット53を受信するまでの経過時間を計測する。通信装置11は、TCPパケット51のデータサイズおよびACKパケット53のデータサイズを加算した加算値を、経過時間によって除算する。これによって通信装置11は、通信装置11と中継器7との間の通信路4Aの使用可能帯域を算出する。
以上のように、通信路2、3に対して第一計測通信が実行された場合(図2参照)、通信路2、3全体の使用可能帯域が特定される。通信装置11は、通信路2、3を介して通信装置12に対してデータを送信する場合、特定した使用可能帯域を超えない範囲で、送信するデータの帯域(以下「使用帯域」という。)を定める。通信装置11は、使用帯域を用いてデータが送信されるように、データ量を調整する。これによって通信装置11は、通信路2、3の使用可能帯域を効率的に使用できる。
一方、通信路4に対して第一計測通信が実行された場合(図3参照)、通信路4の一部である通信路4Aの使用可能帯域が特定されることになる。残りの通信路4Bの使用可能帯域は特定されない。このため、通信路4Bの使用可能帯域が通信路4Aの使用可能帯域より小さい場合、特定した使用可能帯域に基づいて通信装置11が定める使用帯域が、通信路4Bの使用可能帯域よりも大きくなる可能性がある。このような使用帯域を用いてデータが通信装置11から送信されると、データ遅延やデータ抜けが発生する可能性があるため、適切でない。従って、中継器8が介在する通信路4の使用可能帯域は、必要に応じて、後述するように第二計測通信によって特定される。
なお、上述で説明した第一計測通信の具体的方法は一例である。TCPヘッダに含まれる情報を用いて使用可能帯域が計測されるのであれば、第一計測通信は他の方法で実行されてもよい。また例えば通信装置11は、以下のようにしてTCPパケット41(図2参照)、51(図3参照)を送信する場合の帯域を定めてもよい。
通信装置11は、TCPパケット41、51を送信した場合の帯域(以下、「帯域X」という。)と、ACKパケット43(図2参照)、53(図3参照)を受信した場合に特定した使用可能帯域(以下、「帯域Y」という。)とを比較する。通信装置11は、帯域Xと帯域Yとの差分を算出する。通信装置11は、算出した差分が所定の範囲内に収まっているかを判断する。通信装置11は、算出した差分が所定の範囲内に収まっている場合、次にTCPパケット41、51を送信する場合の帯域を、前回TCPパケット41、51を送信した場合の帯域よりも大きくする。一方、算出した差分が所定の範囲の上限よりも大きくなった場合、次にTCPパケット41、51を送信する場合の帯域を、前回TCPパケット41、51を送信した場合の帯域よりも小さくする。他方、算出した差分が所定の範囲の下限よりも小さくなった場合、次にTCPパケット41、51を送信する場合の帯域を、前回TCPパケット41、51を送信した場合の帯域と同一とする。以上のように、TCPパケット41、51を送信する場合の帯域を変化させることによって、通信装置11は、通信路の状態の変化に応じてTCPパケットを送信する場合の帯域を適切に変化させ、使用可能帯域を特定できる。
図4および図5を参照し、第二計測通信について説明する。第二計測通信は、TCPパケットのデータに格納された計測用データを利用して、使用可能帯域を特定する。第二計測通信では、第一計測通信とは異なり、TCPパケットを受信した通信装置10が使用可能帯域を特定する。特定された使用可能帯域は、TCPパケットを送信した通信装置10に対して通知される。以下詳説する。
図4は、通信路2の使用可能帯域を計測するために、通信装置11が第二計測通信を実行した場合を示している。通信装置11は、計測用データMが格納されたデータおよびTCPヘッダを含むTCPパケット61を作成する。計測用データMには、送信時刻情報およびデータサイズが含まれる。送信時刻情報は、TCPパケット61が送信された時刻を示す情報である。データサイズは、TCPパケットのデータサイズである。通信装置11は、中継器7を介して通信装置12に対して、複数のTCPパケット61を順番に送信する(S41)。
中継器7は、複数のTCPパケット61を受信し、通信装置12に対して複数のTCPパケット61を中継する(S43)。通信装置12は、複数のTCPパケット61を受信する。通信装置12は、TCPパケット61を受信した時刻を示す時刻情報(以下「受信時刻情報」という。)をRAM23に記憶する。
通信装置12は、受信した複数のTCPパケット61のデータに格納された計測用データMに基づき、使用可能帯域を特定する。具体的には次の通りである。通信装置12は、計測用データMに含まれる送信時刻情報に基づき、TCPパケット61の送信間隔を算出する。通信装置12は、RAM23に記憶した受信時刻情報に基づき、TCPパケット61の受信間隔を算出する。通信装置12は、算出した送信間隔および受信間隔に基づき、TCPパケット61が通信路2を伝達するために要した時間を算出する。通信装置12は、計測用データMに含まれるデータサイズを、TCPパケット61が通信路2を伝達するために要した時間で除算する。これによって通信装置12は、通信路2の使用可能帯域を算出する。
算出された使用可能帯域は、第一計測通信によって特定された使用可能帯域と同様、通信路2Aにおいて使用可能な帯域と、通信路2Bにおいて使用可能な帯域とのうち、より小さい帯域を示す。使用可能帯域は、通信路2のボトルネックの部分における使用可能な帯域を示すことになる。
通信装置12は、特定した使用可能帯域をデータに格納し、TCPパケット63を作成する。通信装置12は、中継器7を介して通信装置11に対して、TCPパケット63を送信する(S47)。中継器7はTCPパケット63を受信し、通信装置11に対してTCPパケット63を中継する(S49)。通信装置11は、TCPパケット63を受信する。通信装置11は、受信したTCPパケット63のデータに格納された使用可能帯域を取得する。
なお、中継器が介在しない通信路3の使用可能帯域を特定するための第二計測通信も、上述と同様の方法で実行されることになる。
図5は、通信路4の使用可能帯域を特定するために、通信装置11が第二計測通信を実行した場合を示している。通信装置11は、計測用データMが格納されたデータおよびTCPヘッダを含むTCPパケット71を作成する。計測用データMには、送信時刻情報およびデータサイズが含まれる。通信装置11は、中継器8を介して通信装置12に対して、複数のTCPパケット71を順番に送信する(S61)。図4の場合と異なり、中継器8は、TCPパケット71に含まれるTCPヘッダを改変する(S63)。中継器8は、TCPヘッダを改変した複数のTCPパケット75を、通信装置12に対して中継する(S69)。中継器8は、TCPパケット71を受信した旨を通信装置11に通知するために、ACKパケット(図示せず)を通信装置11に送信する。通信装置11はACKパケットを受信する。
通信装置12は、S69で中継器8から送信された複数のTCPパケット75を受信する。通信装置12は、TCPパケット75を受信した旨を中継器8に通知するために、ACKパケット(図示せず)を中継器8に送信する。中継器8はACKパケットを受信する。
通信装置12は、TCPパケット75を受信した時刻を示す受信時刻情報をRAM23に記憶する。通信装置12は、受信した複数のTCPパケット75のデータに格納された計測用データMに基づき、使用可能帯域を特定する。使用可能帯域の方法は、第二計測通信によって通信路2の使用可能帯域を特定した場合(図4参照)と同一である。これによって通信装置12は、通信路4の使用可能帯域を算出する。
通信装置12は、算出した使用可能帯域をデータに含むTCPパケット77を作成する。通信装置12は、中継器8を介して通信装置11に対して、TCPパケット77を送信する(S73)。中継器8はTCPパケット77を受信し、TCPヘッダを改変する。中継器8は、TCPヘッダを改変したTCPパケット73を、通信装置11に対して送信する(S67)。通信装置11はTCPパケット73を受信する。通信装置11は、受信したTCPパケット73のデータに格納された使用可能帯域を取得する。
以上のように、第二計測通信が実行された場合、通信路2、3、4のいずれの場合も、通信路2、3、4全体の使用可能帯域が特定される(図4、図5参照)。通信路4に対して第二計測通信が実行された場合に、通信路4全体の使用可能帯域を特定することができるという点で、通信路4の一部(通信路4A)の使用可能帯域が特定される第一計測通信の場合と異なる。通信装置11は、通信路2、3、4を介して通信装置12に対してデータを送信する場合、特定した使用可能帯域を超えない範囲で使用帯域を定め、使用帯域を用いてデータが送信されるように、データ量を調整する。これによって通信装置11は、通信路2、3、4の使用可能帯域を効率的に使用できる。
なお上述で説明した第二計測通信の具体的方法は一例である。TCPパケットのデータに含める計測用データを用いて使用可能帯域が計測されるのであれば、他の方法であってもよい。例えば通信装置11は、以下のようにして使用可能帯域を特定してもよい。
通信装置11は、計測用データが格納されたデータを含むTCPパケット61(図4参照)、71(図5参照)を、通信装置12に対して送信する。通信装置12はTCPパケット61、71を受信し、送信時刻情報を取得する。通信装置12は、送信時刻情報に基づき、TCPパケット61、71の送信間隔を算出する。通信装置12は、算出した送信間隔と受信間隔とを比較する。通信装置12は、送信間隔と受信間隔との差分を算出する。通信装置12は、算出した差分をデータに含むTCPパケット63(図4参照)、77(図5参照)を作成する。通信装置12は、通信装置11に対してTCPパケット63、77を送信する。
通信装置11は、TCPパケット63、77を受信し、差分を取得する。通信装置11は、算出した差分が所定の範囲内に収まっているかを判断する。通信装置11は、算出した差分が所定の範囲内に収まっている場合、次にTCPパケット61、71を送信する場合の帯域を、前回TCPパケット61、71を送信した場合の帯域よりも大きくする。一方、算出した差分が所定の範囲の上限よりも大きくなった場合、次にTCPパケット61、71を送信する場合の帯域を、前回TCPパケット61、71を送信した場合の帯域よりも小さくする。他方、算出した差分が所定の範囲の下限よりも小さくなった場合、次にTCPパケット61、71を送信する場合の帯域を、前回TCPパケット61、71を送信した場合の帯域と同一とする。以上のように、TCPパケットを送信する場合の帯域を変化させることによって、通信装置11は、通信路の状態の変化に応じてTCPパケットを送信する場合の帯域を適切に変化させ、使用可能帯域を特定できる。
なお上述したように、第一計測通信が実行された場合(図2、図3参照)、通信路4における中継器8と通信装置12との間の通信路4Bの使用可能帯域を特定することができない(図4参照)。このため通信装置11は、中継器8が介在する通信路4を介して通信装置12と通信を行う場合、通信路4全体の使用可能帯域を特定するために、第二計測通信を優先的に実行する。通信路4に対して第二計測通信が実行された場合、通信路4全体の使用可能帯域が特定されるためである。なお詳細は後述するが、通信路4全体の使用可能帯域を特定する必要がない場合には、中継器8が介在する通信路4に対して第一計測通信が実行される場合もある。
一方、通信路2、3に対して計測通信が実行される場合、第一計測通信および第二計測通信のいずれの場合も、通信路2、3全体の使用可能帯域が特定される。この場合通信装置11は、第一計測通信を優先的に実行して使用可能帯域を特定する。理由は以下の通りである。
第二計測通信では、TCPパケットのデータに格納された計測用データが使用されて使用可能帯域が特定される。このため通信装置11は、計測用データが格納されていない汎用のTCPパケットを使用して第二計測通信を行うことができない。これに対して第一計測通信では、確認応答機能が利用され、TCPヘッダに含まれる情報が使用されて使用可能帯域が特定される。従って第一計測通信では、汎用のTCPパケットを使用して使用可能帯域を特定することが可能となる。このため通信装置11は、第一計測通信を優先的に実行することによって、通信装置12との間で汎用のTCPパケットを使用した通信を実行しつつ、同時に使用可能帯域を特定できるようにしている。
また第二計測通信では、TCPパケットのデータに格納された情報を使用することになるので、通信装置11のプログラムのうちアプリケーション層レベルで使用可能帯域の特定処理を実行する必要がある。このため、第二計測通信を実行するためには、使用可能帯域の特定処理を行うアプリケーションを通信装置11に実装する必要がある。加えて、アプリケーション層の処理に要する時間が余分に発生し、処理遅延の要因となる可能性がある。一方、第一計測通信では、TCPヘッダに含まれる情報を使用することになるので、通信装置11のプログラムのうちカーネル層レベルで使用可能帯域の特定処理を実行することが可能となる。従って第一計測通信を優先的に実行することによって、使用可能帯域の特定処理を高速化することができる。
通信装置10は、通信路に介在する中継器に応じ、第一計測通信または第二計測通信を選択する。通信装置10は、選択した第一計測通信または第二計測通信を、所定の周期で繰り返し実行する。周期とは、所定の時間間隔を示す。通信装置10は、通信路の使用可能帯域を周期的に特定することによって、通信路の状態が変化した場合も、使用可能帯域を継続的に特定できる。通信装置10は、特定した使用可能帯域に基づいて使用帯域を定め、他の通信装置10に対してデータを送信することによって、使用可能帯域を効率的に使用しつつ、高品質な通信を行うことができる。以下、中継器に応じた第一計測通信または第二計測通信が実行される周期を、第一周期という。
また通信装置10は、通信路に介在する中継器を、第一周期よりも長い第二周期で周期的に判断する。これによって通信装置10は、通信路に介在する中継器が変更された場合も、変更後の中継器に応じた適切な計測通信を実行し、使用可能帯域を継続的に特定できる。通信路に介在する中継器は、第一計測通信および第二計測通信の結果を比較することによって実行される。詳細は以下のとおりである。
通信路に介在する中継器を判断する方法について説明する。図6から図8は、通信路2に介在する中継器7が判断される場合を示している。図6では、通信路2Aにおける使用可能な帯域が、通信路2Bにおける使用可能な帯域よりも大きい状態であるとする。通信路2Bが通信路2全体のボトルネックになっている。この状態で通信装置11が第一計測通信を実行した場合、ボトルネックである通信路2Bにおける使用可能な帯域が、通信路2全体の使用可能帯域として特定される。通信装置11が第二計測通信を実行した場合も同様に、ボトルネックである通信路2Bにおける使用可能な帯域が、通信路2全体の使用可能帯域として特定される。以上の結果、第一計測通信および第二計測通信によって特定される使用可能帯域は略同一となる。
図7では、通信路2Aにおける使用可能な帯域が、通信路2Bにおける使用可能な帯域よりも小さい状態であるとする。通信路2Aが通信路2全体のボトルネックになっている。この状態で通信装置11が第一計測通信を実行した場合、ボトルネックである通信路2Aにおける使用可能な帯域が、通信路2全体の使用可能帯域として特定される。通信装置11が第二計測通信を実行した場合も同様に、ボトルネックである通信路2Aにおける使用可能な帯域が、通信路2全体の使用可能帯域として特定される。以上の結果、第一計測通信および第二計測通信によって特定される使用可能帯域は略同一となる。
図8では、通信路2Aにおける使用可能な帯域と、通信路2Bにおける使用可能な帯域とが略同一の状態であるとする。通信装置11が第一計測通信を実行した場合、通信路2A、2Bにおける使用可能な帯域が、使用可能帯域として特定される。通信装置11が第二計測通信を実行した場合も同様に、通信路2A、2Bにおける使用可能な帯域が、使用可能帯域として特定される。以上の結果、第一計測通信および第二計測通信によって特定される使用可能帯域は略同一となる。
以上のように、中継器7が介在する通信路2に対して第一計測通信および第二計測通信が実行された場合、双方によって特定される使用可能帯域は、通信路2A、2Bにおける使用可能な帯域の状態に依らず、常に略同一となる。なお、中継器が介在しない通信路3に対して第一計測通信および第二計測通信が実行された場合も同様に、双方によって特定される使用可能帯域は略同一となる。
図9から図11は、通信路4に介在する中継器8が判断される場合を示している。図9では、通信路4Aにおける使用可能な帯域が、通信路4Bにおける使用可能な帯域よりも大きい状態であるとする。この状態で通信装置11が第一計測通信を実行した場合、通信路4Aにおける使用可能な帯域が、使用可能帯域として特定される。一方、通信路4Bが通信路4全体のボトルネックになっていることになるので、通信装置11が第二計測通信を実行した場合、ボトルネックである通信路4Bにおける使用可能な帯域が、通信路4全体の使用可能帯域として特定される。以上の結果、第一計測通信によって特定される使用可能帯域(通信路4Aにおける使用可能な帯域)は、第二計測通信によって特定される使用可能帯域(通信路4Bにおける使用可能な帯域)よりも大きくなる。
図10では、通信路4Aにおける使用可能な帯域が、通信路4Bにおける使用可能な帯域よりも小さい状態であるとする。この状態で通信装置11が第一計測通信を実行した場合、通信路4Aにおいて使用可能な帯域が、使用可能帯域として特定される。一方、通信路4Aが通信路4全体のボトルネックになっていることになるので、通信装置11が第二計測通信を実行した場合、ボトルネックである通信路4Aにおける使用可能な帯域が、通信路4全体の使用可能帯域として特定される。以上の結果、第一計測通信によって特定される使用可能帯域(通信路4Aにおける使用可能な帯域)、および、第二計測通信によって特定される使用可能帯域(通信路4Aにおける使用可能な帯域)は略同一となる。
図11では、通信路4Aにおける使用可能な帯域と、通信路4Bにおける使用可能な帯域とが略同一の状態であるとする。通信装置11が第一計測通信を実行した場合、通信路4Aにおける使用可能な帯域が、使用可能帯域として特定される。通信装置11が第二計測通信を実行した場合、通信路4A、4Bにおける使用可能な帯域が、通信路4全体の使用可能帯域として特定される。以上の結果、第一計測通信によって特定される使用可能帯域(通信路4Aにおける使用可能な帯域)、および、第二計測通信によって特定される使用可能帯域(通信路4A、4Bにおける使用可能な帯域)は略同一となる。
以上のように、中継器8が介在する通信路4に対して第一計測通信および第二計測通信が実行された場合、第一計測通信によって特定される使用可能帯域が、第二計測通信によって特定される使用可能帯域よりも大きくなるか、又は、双方によって特定される使用可能帯域が略同一となる。
通信装置11は、第一計測通信によって特定された使用可能帯域と、第二計測通信によって特定された使用可能帯域とを比較する。通信装置11は、第一計測通信によって特定された使用可能帯域が、第二計測通信によって特定された使用可能帯域よりも大きくなった場合(図9参照)、通信路4に中継器8が介在し、且つ、通信装置11、12間の計測通信に中継器8が影響を及ぼしていると判断する。通信装置11は、通信路4全体の使用可能帯域を特定する必要があるので、第二計測通信を優先的に実行する。
一方、通信装置11は、第一計測通信によって特定された使用可能帯域と、第二計測通信によって特定された使用可能帯域とが略同一となった場合、(a)通信路2に中継器7が介在している(図6〜図8参照)、(b)通信路3に中継器が介在していない、および、(c)通信路4に中継器8が介在しているものの、通信装置11、12間の計測通信に中継器8が影響を及ぼさない(図10、図11参照)のうちいずれかの状態であると判断する。但しこれらの場合、第一計測通信および第二計測通信によって特定される使用可能帯域は、いずれも通信路全体の使用可能帯域を適切に示していることになる。従って通信装置11は、より効率的な計測通信である第一計測通信を優先的に実行する。
図12から図14を参照し、通信装置10のCPU21において実行されるメイン処理について説明する。メイン処理は、通信装置10の電源を投入する操作がユーザによって実行された場合に、HDD24(図1参照)に記憶されたプログラムに従って、CPU21が実行する。なおメイン処理が起動された直後の状態で、CPU21は、初期状態の計測通信として第一計測通信を選択する。
図12に示すように、はじめにCPU21は計測処理(図13参照)を実行する(S111)。計測処理では、通信路に介在する中継器に対応する計測通信を選択するために、第一計測通信および第二計測通信を実行して中継器を判断する処理が実行される。計測処理の詳細については後述する。計測処理(S111)の後、CPU21は、第一周期が経過したか判断する(S115)。第一周期が経過していない場合(S115:NO)、第一周期の経過を継続して監視するために、処理はS115に戻る。第一周期が経過した場合(S115:YES)、CPU21は、計測処理(S111参照)によって選択された第一計測通信または第二計測通信を実行し、使用可能帯域を特定する(S117)。
CPU21は、第一周期よりも長い第二周期が経過したか判断する(S119)。第二周期が経過していない場合(S119:NO)、計測処理(S111参照)によって選択された第一計測通信または第二計測通信を第一周期で継続して実行するために、処理はS115に戻る。一方、第二周期が経過した場合(S119:YES)、第二周期で計測処理を実行するために、処理はS111に戻る。
図13を参照し、計測処理について説明する。はじめにCPU21は、第一計測通信が選択された状態であるか判断する(S121)。第一計測通信が選択された状態である場合(S111:YES)、CPU21は、第一計測通信および第二計測通信によって特定される使用可能帯域を比較して中継器を判断し、対応する計測通信を選択する処理(比較処理、図14参照)を実行する(S123)。
図14を参照し、比較処理について説明する。CPU21は、第一計測通信を実行し、使用可能帯域を特定する(S141)。以下、第一計測通信によって特定された使用可能帯域を、「第一帯域」という。次にCPU21は、第二計測通信を実行し、使用可能帯域を特定する(S143)。以下、第二計測通信によって特定された使用可能帯域を、「第二帯域」という。CPU21は、第一計測通信および第二計測通信を所定のn回繰り返して実行したか判断する(S145)。第一計測通信および第二計測通信の実行回数がn回未満の場合(S145:NO)、第一計測通信および第二計測通信を繰り返し実行するために、処理はS141に戻る。
第一計測通信および第二計測通信をn回実行した場合(S145:YES)、CPU21は、第一帯域から第二帯域を減算し、差分を算出する(S147)。第一計測通信および第二計測通信はn回実行されているので、n個の差分が算出されることになる。CPU21は、算出された差分と所定の閾値Tとを、次のようにして比較する。
図15および図16を参照して具体的に説明する。図15および図16は、算出されたn個の差分と閾値Tとの関係を示している。例えば図15に示すように、算出された差分のうち閾値Tよりも大きい差分の数がn/2以上ある場合、第一帯域の方が第二帯域よりも大きくなる傾向があると判断する。CPU21は、通信路4に中継器8が介在し、且つ、通信装置11、12間の計測通信に中継器8が影響を及ぼしている状態(図9参照)であると判断する。この場合、通信路4の使用可能帯域を計測する計測通信として第二計測通信が選択されることになる(図14、S151参照、後述)。
一方、例えば図16に示すように、算出された差分のうち閾値Tよりも大きい差分の数がn/2未満である場合、第一帯域と第二帯域とが略同一となる傾向があると判断する。CPU21は、(a)通信路2に中継器7が介在した状態(図6〜図8参照)、(b)通信路3に中継器が介在しない状態、および、(c)通信路4に中継器8が介在しているものの、通信装置11、12間の計測通信に中継器8が影響を及ぼしていない状態(図10、図11参照)のうちいずれかであると判断する。この場合、通信路2、3、4の使用可能帯域を計測する計測通信として、第一計測通信が選択されることになる(図14、S153参照、後述)。
以上のように通信装置11は、n回分の計測通信によって特定した使用可能帯域を比較することによって、計測結果が一時的に変動した場合やばらついた場合でも、中継器8が通信路4に介在し、且つ、通信路11、12間の計測通信に中継器8が影響を及ぼしているかをより適切に判断できる。
図14に示すように、閾値T以上となる差分の数がn/2以上である場合(S149:YES)、CPU21は、通信路の使用可能帯域を計測する計測通信として第二計測通信を選択する(S151)。比較処理は終了し、処理は計測処理(図13参照)に戻る。一方、閾値T以上となる差分の数がn/2未満である場合(S149:NO)、CPU21は、通信路の使用可能帯域を計測する計測通信として第一計測通信を選択する(S153)。比較処理は終了し、処理は計測処理(図13参照)に戻る。
図13に示すように、S123の処理時点では、S121で第一計測通信が選択された状態であると判断している。この場合、比較処理(図14参照)によって選択された第一計測通信または第二計測通信を実行するために、計測処理は終了し、処理はメイン処理(図12参照)に戻る。なおメイン処理では、比較処理によって選択された第一計測通信又は第二計測通信が実行されることになる(S117、図12参照)。比較処理によって第一計測通信が選択された場合(S151、図14参照)、第一計測通信が継続して実行されることになる。一方、比較処理によって第二計測通信が選択された場合(S153、図14参照)、第一計測通信から第二計測通信に即座に切り替えられ、第二計測通信が実行されることになる。
一方、図13のS121で、第二計測通信が選択された状態であると判断している場合(S121:NO)、CPU21は、比較処理(図14参照)を実行する(S125)。比較処理は、S123で実行される比較処理と同一である。比較処理によって第二計測通信が選択された場合(S127:YES)、S121で第二計測通信が選択された状態であると判断しているので、第二計測通信が選択された状態のまま変化していないことになる。この場合、メイン処理(図12参照)において第二計測通信を継続して実行する(S117、図12参照)ために、計測処理は終了し、処理はメイン処理に戻る。
一方、比較処理によって第一計測通信が選択された場合(S127:NO)、S121で第二計測通信が選択された状態であると判断しているので、メイン処理のS117(図12参照)で実行されている第二計測通信とは異なる第一計測通信が選択されたことになる。この場合CPU21は、メイン処理のS117で実行される第二計測通信を、第一計測通信に即座に変更しない。CPU11は、前回実行された比較処理でも同様に、第一計測通信が選択されているかを判断する(S129)。前回実行された比較処理でも同様に第一計測通信を選択している場合(S129:YES)、比較処理によって第一計測通信が二回連続して選択されたことになる。この場合、CPU21は、第一計測通信を選択する(S131)。計測処理は終了し、処理はメイン処理(図12参照)に戻る。メイン処理のS117(図12参照)では、第二計測通信から第一計測通信に変更され、第一計測通信が実行されることになる。一方、前回実行された比較処理において第二計測通信が選択されている場合(S129:NO)、CPU21は第二計測通信を選択する(S133)。計測処理は終了し、処理はメイン処理に戻る。メイン処理のS117では、第二計測通信が継続して実行されることになる。
以上のようにして通信装置10は、第一計測通信から第二計測通信への変更は即座に実行するのに対し、第二計測通信から第一計測通信への変更は即座に実行しない。このようにして通信装置10は、第二計測通信が実行される頻度を高くし、第一計測通信が実行される頻度を低くしている。第二計測通信は、中継器8が通信路に介在し、且つ、通信装置11、12間の通信に中継器8が影響を及ぼしているか否かに関わらず、通信路全体の使用可能帯域を常に特定することができる。このため通信装置10は、第二計測通信が実行される頻度を高くすることによって、使用可能帯域を安定的に特定している。
図17を参照し、メイン処理(図12参照)のS117によって実行される計測通信(図17中上段)が、比較処理(図14参照)の結果(図17中下段)に応じて変化する様子について説明する。第一計測通信が第一周期で継続的に実行され、使用可能帯域の特定がされていたとする(図中51)(S115、S117、図12参照)。第二周期が到来し(S119:YES、図12参照)、計測処理が実行される(S111、図12参照)。計測処理中の比較処理(S123、図13参照)によって、第一帯域と第二帯域とが略同一になる傾向があると判断され(図中53)(S149:NO、図14参照)、第一計測通信が選択される(S153、図14参照)。選択された第一計測通信が継続して実行される(図中51)(S115、S117、図12参照)。
次の第二周期が到来し(S119、図12参照)、計測処理が実行される(S111、図12参照)。計測処理中の比較処理(S123、図13参照)によって、第一帯域の方が第二帯域よりも大きくなる傾向があると判断され(図中55)(S149:YES、図14参照)、第二計測通信が選択される(S151、図14参照)。選択された第二計測通信が実行される(図中57)(S115、S117、図12参照)。
次の第二周期が到来し(S119、図12参照)、計測処理が実行される(S111、図12参照)。計測処理中の比較処理(S125、図13参照)によって、第一帯域と第二帯域とが略同一になる傾向があると判断され(図中59)(S149:NO、図14参照)、第一計測通信が選択される(S153、図14参照)。ところが、前回の比較処理において第二計測通信が選択されているので(S129:NO、図13参照)、最終的に第二計測通信が選択され(S133、図13参照)、第二計測通信が継続して実行される(図中61)(S115、S117、図12参照)。
次の第二周期が到来し(S119、図12参照)、計測処理が実行される(S111、図12参照)。計測処理中の比較処理(S125、図13参照)によって、第一帯域と第二帯域とが略同一になる傾向があると判断され(図中63)(S149:NO、図14参照)、第一計測通信が選択される(S153、図14参照)。前回の比較処理において第一計測通信が選択されているので(S129:YES、図13参照)、最終的に第一計測通信が選択され(S131、図13参照)、第一計測通信が実行される(図中65)(S115、S117、図12参照)。
以上説明したように、通信装置10は、所定の条件を満たすように中継器8が通信路に介在するか否かを判断し、判断結果に応じて、計測通信を切り替えることができる。通信装置10は、(a)通信路2に中継器7が介在している(図6〜図8参照)、(b)通信路3に中継器が介在していない、および、(c)通信路4に中継器8が介在しているものの、通信装置11、12間の計測通信に中継器8が影響を及ぼさない(図10、図11参照)のうちいずれかの状態である場合には、汎用のTCPパケットを用いて使用可能帯域を計測できる第一計測通信を選択する。一方、通信装置10は、通信路4に中継器8が介在し、且つ、通信装置11、12間の通信に中継器8が影響を及ぼしている場合(図9参照)、通信路4全体の使用可能帯域を特定するために第二計測通信を選択する。このように通信装置10は、使用可能帯域を特定する計測通信の方法を、所定の条件を満たすように中継器8が通信路に介在するか否かに応じて選択できる。このため通信装置10は、使用可能帯域を迅速かつ適切に特定することができる。
また通信装置10は、第一計測通信によって特定される使用可能帯域と、第二計測通信によって特定される使用可能帯域とを比較することによって、所定の条件を満たすように中継器8が通信路に介在するかを容易かつ適切に判断することができる。
また通信装置10は、第一周期よりも第二周期を長くする。これによって、第一計測通信および第二計測通信を行い中継器8の有無を判断する回数を抑制する。これによって通信装置10は、ネットワーク6のトラフィックが計測通信によって増大することを抑止できる。
なお、S149の処理を行うCPU21が本発明の「判断手段」に相当する。S131、S133、S151、S153の処理を行うCPU21が本発明の「選択手段」に相当する。S117の処理を行うCPU21が本発明の「第一通信手段」に相当する。S141およびS143の処理を行うCPU21が本発明の「第二通信手段」に相当する。S149の処理が本発明の「判断ステップ」に相当する。S131、S133、S151、S153の処理が本発明の「選択ステップ」に相当する。S117の処理が本発明の「第一通信ステップ」に相当する。
通信路4に介在し、且つ、通信装置11、12間の計測通信に影響を及ぼしている状態の中継器8が、本発明の「所定の条件を満たす中継器」に相当する。通信路に介在しているものの、通信装置11、12間の計測通信に影響を及ぼさない状態の中継器7、8は、本発明の「所定の条件を満たす中継器」から除外される。
なお本発明は上述の実施形態に限定されず、種々の変更が可能である。上述の第一計測通信では、TCPの確認応答機能を利用して使用可能帯域が特定された。本発明は、他の通信プロトコルにおける同様の機能を利用することによって、使用可能帯域が特定されてもよい。上述の第一計測通信および第二計測通信における使用可能帯域の特定方法は一例であり、他の方法で使用可能帯域が特定されてもよい。例えば第二計測通信において、通信装置11は、使用帯域を少しずつ増加させながら、TCPパケットを繰り返し送信してもよい。通信装置12は、TCPパケットの受信間隔を計測し、その変化傾向に基づいて、使用可能帯域を特定してもよい。具体的には、使用帯域が使用可能帯域未満である場合には、送信間隔と受信間隔とは略同一になる。一方、使用帯域が使用可能帯域以上になった場合、送信間隔よりも受信間隔の方が長くなる。通信装置12は、送信間隔よりも受信間隔のほうが長くなった場合の受信間隔に基づき、通信路の使用可能帯域を特定してもよい。
上述では、第一計測通信および第二計測通信をn回実行し、その差分を評価することによって、所定の条件を満たすように中継器8が通信路に介在するか否かを判断した。例えば通信装置11は、差分の平均値と所定の閾値とを比較することによって、所定の条件を満たすように中継器8が通信路に介在するか否かを判断してもよい。又例えば通信装置11は、差分の最大値と所定の閾値とを比較することによって、所定の条件を満たすように中継器8が通信路に介在するかを判断してもよい。
上述では、第一周期よりも第二周期を長くした。これに対し、第一周期と第二周期は同一であってもよい。上述では、比較処理によって第一計測通信が二回以上連続した場合に、使用可能帯域を特定するための計測通信を、第二計測通信から第一計測通信に変更した。これに対し、第一計測通信の連続回数は一回としてもよいし、三回以上としてもよい。
上述では、所定の条件を満たすように中継器8が通信路に介在するか否かを、第二周期で第一計測通信および第二計測通信を実行することによって判断した。例えば通信装置11は、入力部26を介して判断指示を検出した場合にも同様に、第一計測通信および第二計測通信を実行し、中継器8が通信路に介在するかを判断してもよい。また例えば通信装置11は、他の通信装置10から所定のパケットを受信した場合、第一計測通信および第二計測通信を実行し、中継器が通信路に介在するかを判断してもよい。例えば通信装置11は、通信装置12との通信が実行されている最中に、新たに別の通信装置10との間で通信を開始する場合、入力部26を介して判断指示を受け付けてもよいし、別の通信装置10から、通信の開始を要求するパケットを受信してもよい。通信装置11は、これらの場合に、第一計測通信および第二計測通信を実行し、通信路に中継器8が介在するかを判断してもよい。これによって通信装置11は、中継器8が通信路に介在するか否かを周期的に特定する場合と比較して、通信状況の変化に迅速に対応できる。従って通信装置11は、通信路上の中継機の検出、および計測手段の切り替えを短時間で実行することが可能となる。
1 通信システム
2、2A、2B 通信路
3 通信路
4、4A、4B 通信路
6 ネットワーク
7、8 中継器
10、11、12 通信装置

Claims (9)

  1. ネットワークを介して接続した他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを判断する判断手段と、
    前記ネットワークにおける使用可能な帯域である使用可能帯域を特定するために実行され、前記他の通信装置との間で前記帯域を計測する計測データの通信を行う計測通信であって、前記中継器又は前記他の通信装置が前記計測データを受信した場合に返信する応答データのヘッダ部に基づいて前記帯域の計測を行い、前記使用可能帯域を特定する第一計測通信と、前記計測データを受信した他の通信装置が前記計測データのデータ部に基づいて前記帯域の計測を行い、計測された前記帯域を前記他の通信装置から取得することによって前記使用可能帯域を特定する第二計測通信とのうち何れか一方を、前記判断手段による判断結果に基づいて選択する選択手段と、
    前記使用可能帯域を特定するために、前記選択手段によって選択された前記第一計測通信または前記第二計測通信を実行する第一通信手段と
    を備えたことを特徴とする通信装置。
  2. 前記第一計測通信および前記第二計測通信を実行する第二通信手段を備え、
    前記判断手段は、
    前記第二通信手段によって実行された前記第一計測通信および前記第二計測通信の計測結果の差分に基づいて、前記通信路に前記所定の条件を満たすように前記中継器が介在するかを判断することを特徴とする請求項1に記載の通信装置。
  3. 前記判断手段は、
    前記第二通信手段によって実行された前記第一計測通信及び前記第二計測通信の計測結果の差分を複数回分取得し、取得した複数回分の差分と所定閾値との関係に基づいて、前記中継器が介在するかを判断することを特徴とする請求項2に記載の通信装置。
  4. 前記第二通信手段は、前記第一通信手段によって前記第一計測通信または前記第二計測通信が繰り返し実行される場合の時間間隔よりも長い時間間隔で、前記第一計測通信および前記第二計測通信を繰り返し実行することを特徴とする請求項1から3のいずれかに記載の通信装置。
  5. 前記選択手段は、
    前記第一通信手段によって前記第一計測通信が実行されている場合であって、前記判断手段によって前記通信路に前記所定の条件を満たすように前記中継器が介在すると判断された場合に、前記第二計測通信を選択し、
    前記第一通信手段によって前記第二計測通信が実行されている場合であって、前記判断手段によって前記通信路に前記所定の条件を満たすように前記中継器が介在しないと判断された場合の連続回数が所定回数未満である場合、前記第二計測通信を選択し、
    前記第一通信手段によって前記第二計測通信が実行されている場合であって、前記判断手段によって前記通信路に前記所定の条件を満たすように前記中継器が介在しないと判断された場合の連続回数が所定回数以上である場合、前記第一計測通信を選択することを特徴とする請求項1から4のいずれかに記載の通信装置。
  6. 前記通信路に前記所定の条件を満たすように前記中継器が介在するかの判断指示を受け付けた場合に、前記判断手段は、前記中継器が介在するかを判断することを特徴とする請求項1から3のいずれかに記載の通信装置。
  7. 前記所定の条件を満たすように中継器が介在するとは、前記計測通信に影響を及ぼすように前記中継器が前記通信路に介在することを特徴とする請求項1から6のいずれかに記載の通信装置。
  8. ネットワークを介して接続した他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを判断する判断ステップと、
    前記ネットワークにおける使用可能な帯域である使用可能帯域を特定するために実行され、前記他の通信装置との間で前記帯域を計測する計測データの通信を行う計測通信であって、前記中継器が前記計測データを受信した場合に返信する応答データのヘッダ部に基づいて前記帯域の計測を行い、前記使用可能帯域を特定する第一計測通信と、前記他の通信装置が前記計測データのデータ部に基づいて前記帯域の計測を行い、計測された前記帯域を前記他の通信装置から取得することによって前記使用可能帯域を特定する第二計測通信とのうち何れか一方を、前記判断ステップによる判断結果に基づいて選択する選択ステップと、
    前記使用可能帯域を特定するために、前記選択ステップによって選択された前記第一計測通信または前記第二計測通信を実行する第一通信ステップと
    を備えたことを特徴とする通信方法。
  9. ネットワークを介して接続した他の通信装置との間の通信路に、所定の条件を満たすように中継器が介在するかを判断する判断ステップと、
    前記ネットワークにおける使用可能な帯域である使用可能帯域を特定するために実行され、前記他の通信装置との間で前記帯域を計測する計測データの通信を行う計測通信であって、前記中継器が前記計測データを受信した場合に返信する応答データのヘッダ部に基づいて前記帯域の計測を行い、前記使用可能帯域を特定する第一計測通信と、前記他の通信装置が前記計測データのデータ部に基づいて前記帯域の計測を行い、計測された前記帯域を前記他の通信装置から取得することによって前記使用可能帯域を特定する第二計測通信とのうち何れか一方を、前記判断ステップによる判断結果に基づいて選択する選択ステップと、
    前記使用可能帯域を特定するために、前記選択ステップによって選択された前記第一計測通信または前記第二計測通信を実行する第一通信ステップと
    をコンピュータに実行させるための通信プログラム。
JP2012019311A 2012-01-31 2012-01-31 通信装置、通信方法、および通信プログラム Expired - Fee Related JP5747830B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012019311A JP5747830B2 (ja) 2012-01-31 2012-01-31 通信装置、通信方法、および通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012019311A JP5747830B2 (ja) 2012-01-31 2012-01-31 通信装置、通信方法、および通信プログラム

Publications (2)

Publication Number Publication Date
JP2013157958A true JP2013157958A (ja) 2013-08-15
JP5747830B2 JP5747830B2 (ja) 2015-07-15

Family

ID=49052711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012019311A Expired - Fee Related JP5747830B2 (ja) 2012-01-31 2012-01-31 通信装置、通信方法、および通信プログラム

Country Status (1)

Country Link
JP (1) JP5747830B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117246A1 (ja) * 2017-12-15 2019-06-20 日本電気株式会社 受信機、通信システム、可用帯域推定方法及びプログラムを記憶した記憶媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333092A (ja) * 2000-05-19 2001-11-30 Nec Corp パケット遅延特性計測方法及び方式
JP2003008611A (ja) * 2001-06-21 2003-01-10 Mitsubishi Electric Corp データ中継装置およびデータ中継方法
JP2006166056A (ja) * 2004-12-08 2006-06-22 Internatl Business Mach Corp <Ibm> クライアント‐ispリンクの帯域幅の評価

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333092A (ja) * 2000-05-19 2001-11-30 Nec Corp パケット遅延特性計測方法及び方式
JP2003008611A (ja) * 2001-06-21 2003-01-10 Mitsubishi Electric Corp データ中継装置およびデータ中継方法
JP2006166056A (ja) * 2004-12-08 2006-06-22 Internatl Business Mach Corp <Ibm> クライアント‐ispリンクの帯域幅の評価

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG201000678003; 長谷川 剛 他: 'インラインネットワーク計測技術のビデオ会議アプリケーションへの応用' 電子情報通信学会技術研究報告 第110巻,第116号, 20100701, p.13〜18 *
JPN6015002040; 長谷川 剛 他: 'インラインネットワーク計測技術のビデオ会議アプリケーションへの応用' 電子情報通信学会技術研究報告 第110巻,第116号, 20100701, p.13〜18 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117246A1 (ja) * 2017-12-15 2019-06-20 日本電気株式会社 受信機、通信システム、可用帯域推定方法及びプログラムを記憶した記憶媒体
US11303552B2 (en) 2017-12-15 2022-04-12 Nec Corporation Receiver, communication system, available bandwidth estimation method, and storage medium in which program is stored

Also Published As

Publication number Publication date
JP5747830B2 (ja) 2015-07-15

Similar Documents

Publication Publication Date Title
CN109905259B (zh) 通信连接维持方法、系统和相关设备
US8488661B2 (en) Systems and methods for data streaming
EP3090513B1 (en) Adaptive traffic engineering configuration
KR102021451B1 (ko) 사용자 평면 인사이트에 기초하는 스루풋 안내
US20150350018A1 (en) Centralized adjustment of data rates in mesh networks
EP3310009A1 (en) A framework for traffic engineering in software defined networking
US20130219046A1 (en) Dynamic application-aware routing topologies
WO2015040624A1 (en) Monitoring network performance characteristics
US10178017B2 (en) Method and control node for handling data packets
US20160065483A1 (en) Communication system, control apparatus, and storage medium
JP2011166661A (ja) 帯域制御システム、帯域制御装置、帯域制御方法および帯域制御プログラム
Santos et al. A network monitor and controller using only OpenFlow
JP5308364B2 (ja) 送信装置、送信方法及びプログラム
JP5747830B2 (ja) 通信装置、通信方法、および通信プログラム
JP6390167B2 (ja) 通信スループット予測装置、通信スループット予測方法、及び、プログラム
JP6085260B2 (ja) 経路制御システム、経路制御装置および経路制御方法
US20160021189A1 (en) Automatic pushing of m2m signal processing to network sensor edge
US10237323B2 (en) Communication apparatus, communication method, communication system, and storage medium
JP6465410B2 (ja) 通信装置、通信方法、及び、プログラム
US11425040B2 (en) Network switching device and method for performing marking using the same
JP2015050714A (ja) 無線基地局、無線基地局の制御方法及び制御プログラム
JP6200870B2 (ja) データ転送制御装置、方法及びプログラム
CN109274704B (zh) Tcp加速方法和装置、加速效果判断控制器和网关
JP6263452B2 (ja) 帯域制御システム、帯域制御方法、及びプログラム
JP5082986B2 (ja) 送信ノード、並びにその制御方法及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150427

R150 Certificate of patent or registration of utility model

Ref document number: 5747830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees