(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】通信装置、及び通信装置に用いられるプログラム及び方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20221109BHJP
【FI】
H04L7/00 990
(21)【出願番号】P 2020003656
(22)【出願日】2020-01-14
【審査請求日】2021-11-26
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】230120499
【氏名又は名称】藤江 和典
(74)【代理人】
【識別番号】100201385
【氏名又は名称】中安 桂子
(72)【発明者】
【氏名】中田 恒夫
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2014-165582(JP,A)
【文献】特開2016-025474(JP,A)
【文献】国際公開第2014/016993(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
(57)【特許請求の範囲】
【請求項1】
第1の時計(101)を有し、第2の時計(201)を有する他の通信装置(20)と通信ネットワーク(30)を介してパケットを送受信する通信装置(10)であって、
前記他の通信装置から送信された前記パケットである第1のパケットを受信し、前記他の通信装置に送信される前記パケットである第2のパケットを送信する通信部(102)と、
前記パケットの遅延時間として、前記第2の時計を基準とした、前記他の通信装置から前記第1のパケットが送信された時刻である他装置送信時刻から、前記第1の時計を基準とした、前記通信部が前記第1のパケットを受信した時刻である自装置受信時刻までの時間である第1の遅延時間、及び、前記第1の時計を基準とした、前記通信部が前記第2のパケットを送信した時刻である自装置送信時刻から、前記第2の時計を基準とした、前記他の通信装置が前記第2のパケットを受信した時刻である他装置受信時刻までの時間である第2の遅延時間を取得する遅延時間取得部(103)と、
前記第1のパケット又は前記第2のパケットのうち一のパケットを対象パケットとして選択する選択部(104)と、
所定の期間内に取得した前記第1の遅延時間のうち最小の値である第1の最小遅延時間、又は前記第2の遅延時間のうち最小の値である第2の最小遅延時間に基づいて、前記第1の時計と前記第2の時計の時間差として補正値を算出するとともに、前記補正値を用いて前記対象パケットの前記遅延時間を補正する補正部(105)と、
を備える、通信装置。
【請求項2】
前記第2のパケットは、前記自装置送信時刻を含み、
前記第1のパケットはさらに、前記第2の遅延時間を含み、
前記遅延時間取得部は、前記第1のパケットに含まれる前記第2の遅延時間を取得する、
請求項1記載の通信装置。
【請求項3】
前記第1のパケットはさらに、前記他装置受信時刻を含み、
前記遅延時間取得部は、前記自装置送信時刻から前記第1のパケットに含まれる前記他装置受信時刻までの時間を前記第2の遅延時間として取得する、
請求項1記載の通信装置。
【請求項4】
前記対象パケットは、前記第2のパケットであり、
前記補正部は、前記第1の最小遅延時間を前記補正値として算出する、
請求項1記載の通信装置。
【請求項5】
前記補正部は、前記第1の最小遅延時間及び前記第2の最小遅延時間のうち値が小さい最小遅延時間を前記補正値として算出する、
請求項1記載の通信装置。
【請求項6】
前記補正部は、前記第1の最小遅延時間と前記第2の最小遅延時間の差分を二分の一して得られる値を前記補正値として算出する、
請求項5記載の通信装置。
【請求項7】
前記他の通信装置が前記第1のパケットを送信してから当該通信装置が受信するまでの実際の時間である第1の実遅延時間と、当該通信装置が前記第2のパケットを送信してから前記他の通信装置が受信するまでの実際の時間である第2の実遅延時間との合計の下限である下限往復遅延時間、及び前記第1の実遅延時間と前記第2の実遅延時間の比である遅延時間比が既知の値の場合、
前記補正部は、前記第1の最小遅延時間又は前記第2の最小遅延時間に加えて、前記下限往復遅延時間及び前記遅延時間比に基づいて前記補正値を算出する、
請求項1記載の通信装置。
【請求項8】
前記所定の期間は、第1の時刻から第2の時刻までの期間であり、
前記第1の時刻において前記第1の時計が示す時刻と前記第2の時計が示す時刻の差である第1の時間差と、前記第2の時刻において前記第1の時計が示す時刻と前記第2の時計が示す時刻の差である第2の時間差との差分は閾値以下である、
請求項1記載の通信装置。
【請求項9】
当該通信装置は、第1の通信路又は第2の通信路を用いて前記他の通信装置と前記パケットを送受信し、
前記第1の最小遅延時間は前記第1の通信路及び前記第2の通信路を用いた場合の前記第1の遅延時間のうち最小の値であり、前記第2の最小遅延時間は前記第1の通信路及び前記第2の通信路を用いた場合の前記第2の遅延時間のうち最小の値である、
請求項1記載の通信装置。
【請求項10】
第1の時計(101)を有し、第2の時計(201)を有する他の通信装置(20)と通信ネットワークを介してパケットを送受信する通信装置(10)で実行される遅延時間補正プログラムであって、
前記他の通信装置から送信された前記パケットである第1のパケットを受信し、
前記他の通信装置に送信される前記パケットである第2のパケットを送信し、
前記パケットの遅延時間として、前記第2の時計を基準とした、前記他の通信装置から前記第1のパケットが送信された時刻である他装置送信時刻から、前記第1の時計を基準とした、前記通信
装置が前記第1のパケットを受信した時刻である自装置受信時刻までの時間である第1の遅延時間、及び、前記第1の時計を基準とした、前記通信
装置が前記第2のパケットを送信した時刻である自装置送信時刻から、前記第2の時計を基準とした、前記他の通信装置が前記第2のパケットを受信した時刻である他装置受信時刻までの時間である第2の遅延時間を取得し、
前記第1のパケット又は前記第2のパケットのうち一のパケットを対象パケットとして選択し、
所定の期間内に取得した前記第1の遅延時間のうち最小の値である第1の最小遅延時間、又は前記第2の遅延時間のうち最小の値である第2の最小遅延時間に基づいて、前記第1の時計と前記第2の時計の時間差として補正値を算出するとともに、前記補正値を用いて前記対象パケットの前記遅延時間を補正する、
遅延時間補正プログラム。
【請求項11】
第1の時計(101)を有し、第2の時計(201)を有する他の通信装置(20)から通信ネットワーク(30)を介してパケットを送受信する通信装置(10)で実行される遅延時間補正方法であって、
前記他の通信装置から送信された前記パケットである第1のパケットを受信し、
前記他の通信装置に送信される前記パケットである第2のパケットを送信し、
前記パケットの遅延時間として、前記第2の時計を基準とした、前記他の通信装置から前記第1のパケットが送信された時刻である他装置送信時刻から、前記第1の時計を基準とした、前記通信
装置が前記第1のパケットを受信した時刻である自装置受信時刻までの時間である第1の遅延時間、及び、前記第1の時計を基準とした、前記通信
装置が前記第2のパケットを送信した時刻である自装置送信時刻から、前記第2の時計を基準とした、前記他の通信装置が前記第2のパケットを受信した時刻である他装置受信時刻までの時間である第2の遅延時間を取得し、
前記第1のパケット又は前記第2のパケットのうち一のパケットを対象パケットとして選択し、
所定の期間内に取得した前記第1の遅延時間のうち最小の値である第1の最小
遅延時間、又は前記第2の遅延時間のうち最小の値である第2の最小遅延時間に基づいて、前記第1の時計と前記第2の時計の時間差として補正値を算出するとともに、前記補正値を用いて前記対象パケットの前記遅延時間を補正する、
遅延時間補正方法。
【請求項12】
通信装置であって、
他の通信装置と通信する通信部(102)と、
前記他の通信装置の時刻情報に基づく、前記他の通信装置がデータを送信した時刻から、当該通信装置の時刻情報に基づく、前記通信部が前記データを受信した時刻までの第1の計時情報、又は、当該通信装置の時刻情報に基づく、前記通信部がデータを送信した時刻から、前記他の通信装置の時刻情報に基づく、前記他の通信装置が前記データを受信した時刻までの第2の計時情報を取得する取得部(103)と、
前記第1の計時情報又は前記第2の計時情報に基づいて、前記他の通信装置との通信の遅延時間を導出する導出部(105)と、
を備える、通信装置。
【請求項13】
前記導出部は、前記取得部が取得した複数の前記第1の計時情報又は複数の前記第2の計時情報のうち所定の条件を満たす計時情報を選択し、選択された前記計時情報に基づいて前記他の通信装置との通信の遅延時間を導出する、
請求項12に記載の通信装置。
【請求項14】
前記所定の条件は、最小の値である、
請求項13に記載の通信装置。
【請求項15】
前記導出部は、前記第1の計時情報又は前記第2の計時情報に基づいて、前記他の通信装置の時刻情報と当該通信装置の時刻情報との差を導出し、前記差に基づいて前記他の通信装置との通信の遅延時間を導出する、
請求項12乃至14のいずれか1項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークを介してパケットを送受信する通信装置に関し、具体的には、時刻が同期されていない通信装置間で送受信されるパケットの遅延時間を補正する装置、及び当該装置に用いられるプログラム及び方法に関する。
【背景技術】
【0002】
従来、音声通信やIoT(Internet of Things)等、特にリアルタイム性が必要とされる通信では、通信品質を示す指標の1つとして遅延時間が用いられている。このような遅延時間は、通信装置がパケットを送信してから他の通信装置がパケットを受信するまでの経過時間を測定することによって取得できる。しかしながら、正確な遅延時間を求めるためには、送信側及び受信側の通信装置の時刻を正確に同期する必要がある。
【0003】
送信側及び受信側の通信装置の時刻を同期させることなく遅延時間を求める方法として、例えば、Pingを利用する手法がある。この手法では、Pingを利用してパケットが2つの通信装置間を往復する時間を測定し、その測定結果を二分の一した値を片道の遅延時間であると推定する。しかしながら、このように測定したPing値には、一方の通信装置がパケットを受信してから当該通信装置がパケットを送信し返すまでに要する処理時間が含まれている。そのため、Ping値を二分の一した値と実際の片道の遅延時間には差異がある可能性が高い。
【0004】
また、特許文献1には、計測用サーバからアクセスポイントまでの片道のネットワーク遅延基準時間、アクセスポイントと当該アクセスポイントと時刻を同期した無線通信装置との間でパケットを送受信することによって得られる無線遅延基準時間、及びパケットが2つの通信装置間を往復する時間を計測して得られる往復時間を利用して、時刻が同期されていない2つの通信装置間の遅延時間を推定することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、通信ネットワークに発生する遅延は使用する通信装置に応じて異なるため、実際の通信相手とは異なる通信装置や通信区間を用いて測定した遅延時間を、通信相手との間の遅延時間の推定に利用することは望ましくない。また、通信装置間の遅延時間を推定するときに、アクセスポイントと、アクセスポイントと時刻を同期した他の通信装置との間の遅延時間を必ずしも取得できるとは限らない。
【0007】
そこで、本発明の目的は、時刻を同期していない通信装置間の通信において、パケットが送信されてから受信されるまでの時間を測定して得られた遅延時間を補正することにより、実際の遅延時間を推定する装置、及び当該装置に用いられるプログラム及び方法を提供することにある。
【課題を解決するための手段】
【0008】
本開示の一態様である通信装置は、第1の時計(101)を有し、第2の時計(201)を有する他の通信装置(20)と通信ネットワーク(30)を介してパケットを送受信する通信装置(10)であって、前記他の通信装置から送信された前記パケットである第1のパケットを受信し、前記他の通信装置に送信される前記パケットである第2のパケットを送信する通信部(102)と、前記パケットの遅延時間として、前記第2の時計を基準とした、前記他の通信装置から前記第1のパケットが送信された時刻である他装置送信時刻から、前記第1の時計を基準とした、前記通信部が前記第1のパケットを受信した時刻である自装置受信時刻までの時間である第1の遅延時間、及び、前記第1の時計を基準とした、前記通信部が前記第2のパケットを送信した時刻である自装置送信時刻から、前記第2の時計を基準とした、前記他の通信装置が前記第2のパケットを受信した時刻である他装置受信時刻までの時間である第2の遅延時間を取得する遅延時間取得部(103)と、前記第1のパケット又は前記第2のパケットのうち一のパケットを対象パケットとして選択する選択部(104)と、所定の期間内に取得した前記第1の遅延時間のうち最小の値である第1の最小遅延時間、又は前記第2の遅延時間のうち最小の値である第2の最小遅延時間に基づいて、前記第1の時計と前記第2の時計の時間差として補正値を算出するとともに、前記補正値を用いて前記対象パケットの前記遅延時間を補正する補正部(105)と、を備える。
【0009】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【0010】
本開示の一態様による通信装置によれば、受信側の通信装置で使用される時計の時刻と、送信側の通信装置で使用される時計の時刻の時間差に相当する補正値を算出し、補正値を用いて、測定した遅延時間を補正することにより、時間を同期していない通信装置間の遅延時間を高い精度で推定することができる。
【図面の簡単な説明】
【0011】
【
図1】各実施形態に共通の通信装置、及び当該通信装置を含む通信システムのブロック図
【
図3】実施形態1乃至4の通信装置が送受信するパケットを説明する図
【
図4】実施形態1の通信装置の動作を説明するフローチャート
【
図5】実施形態1乃至4の通信装置の動作を説明するフローチャート
【
図6】実施形態1及び2における補正遅延時間と実遅延時間との誤差を説明する図
【
図7】実施形態2乃至4の通信装置が送受信するパケットを説明する図
【
図8】実施形態2乃至4の通信装置の動作を説明するフローチャート
【
図9】実施形態3における補正遅延時間と実遅延時間との誤差を説明する図
【
図10】実施形態4における補正値の算出を説明する図
【
図11】実施形態4における補正遅延時間と実遅延時間との誤差を説明する図
【
図12】その他の実施形態の通信装置、及び当該通信装置を含む通信システムのブロック図
【
図13】その他の実施形態における通信ネットワークによる遅延時間を説明する図
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【0013】
[各実施形態に共通する構成]
図1は通信システム1を示している。通信システム1は、「通信装置」10、「通信装置」20、及び通信装置10と通信装置20の間の通信に用いる「通信ネットワーク」30からなる。
【0014】
ここで、「通信装置」とは、パケットを送信又は受信する装置であれば足りる。例えば一般的に、受信装置、受信端末装置、送信装置、送信端末装置、サーバ装置と呼ばれるものが相当し、具体的には各種サーバ装置、ワークステーション、PC(パーソナルコンピュータ)、が挙げられるが、電子制御装置(ECU)、半導体回路素子、スマートフォン、携帯電話、通信中継器等であってもよい。
また、「通信ネットワーク」とは、無線通信ネットワークの他、有線通信ネットワークも含む。
【0015】
以下に説明する各実施形態では、通信装置10及び通信装置20の双方が通信装置端末であることを想定して説明している。しかしながら、通信装置10及び通信装置20はサーバ装置であってもよい。例えば、通信装置10がパーソナルコンピュータ等のクライアント装置であって、通信装置20がサーバ装置であってもよい。
【0016】
通信ネットワーク30は有線通信方式及び無線通信方式のいずれであってもよい。有線通信方式としては、例えば、電話回線やインターネット等を用いることができる。また、無線通信方式としては、例えば、IEEE802.11(WiFi(登録商標))やIEEE802.16(WiMAX(登録商標))、W-CDMA(Wideband Code Division Multiple Access)、HSPA(High Speed Packet Access)、LTE(Long Term Evolution)、LTE-A(Long Term Evolution Advanced)、4G、5G等を用いることができる。
【0017】
1.通信装置10の構成
通信装置10は、時計101(「第1の時計」に相当)、通信部102、遅延時間取得部103、選択部104、補正部105、及びメモリ106を備える。
【0018】
時計101は、通信装置10における時刻情報の基準となる「時計」である。通信装置10がパケットを受信する時刻、及びパケットを送信する時刻とは、時計101が示す時刻を基準として付与される時刻である。
【0019】
ここで、「時計」とは、絶対的な時刻を計測するものの他、所定の間隔を計測するもの、例えば、カウンタ、発振器を含む。
【0020】
通信部102は、通信装置20(「他の通信装置」に相当)から送信されたパケットを受信する。以下、通信部102が受信するパケットを受信パケット(「第1のパケット」に相当)と称する。受信パケットは、通信装置20から当該受信パケットが送信された時刻を示す情報を含んでいる。なお、この時刻は、後述する通信装置20の時計201を基準とした送信時刻である。
【0021】
通信部102はさらに、通信装置20に通信ネットワーク30を介してパケットを送信する。以下、通信部102が送信するパケットを、送信パケット(「第2のパケット」に相当)と称する。以下の実施形態で特に指定がない限り、送信パケットに含まれる情報は任意である。
【0022】
遅延時間取得部103は、パケットが送信された「送信時刻」から、パケットが受信された「受信時刻」までの時間である遅延時間を「取得」する。ここで、パケットの送信時刻をts、受信時刻をtrとした場合、送信時刻tsから受信時刻trまでの遅延時間はtr-tsを演算して求めることができる。以下、送信時刻tsから受信時刻trまでの時間をパケットの遅延時間Tdとする。
【0023】
ここで、「取得」する、とは、遅延時間を示す情報を受信することによって遅延時間を直接的に取得することの他、演算によって遅延時間を求めることにより取得してもよい。
【0024】
ここで、「送信時刻」とは、パケットの送信に関する処理が行われた時刻であればよく、生成されたパケットを出力した時刻はもちろん、送信すべきパケットが生成された時刻であってもよい。
ここで、「受信時刻」とは、パケットの受信に関する処理が行われた時刻であればよく、パケットが通信装置に到達した時刻はもちろん、受信したパケットをメモリに格納した時刻であってもよい。
【0025】
受信パケットの遅延時間を取得する場合、遅延時間取得部103は、通信装置20から受信パケットが送信された送信時刻ts20(「他装置送信時刻」に相当)から、通信部102が当該受信パケットを受信した受信時刻tr10(「自装置受信時刻」に相当)までの時間を、受信パケットの遅延時間(「第1の遅延時間」に相当)として取得する。ここで、受信パケットの送信時刻は時計201を基準とした時刻であるが、受信パケットの受信時刻は時計101を基準とした時刻である。
【0026】
また、送信パケットの遅延時間を取得する場合、遅延時間取得部103は、通信部102が送信パケットを送信した送信時刻ts10(「自装置送信時刻」に相当)から、通信装置20が当該送信パケットを受信した受信時刻tr20(「他装置受信時刻」に相当)までの時間を、送信パケットの遅延時間(「第2の遅延時間」に相当)として取得する。ここで、送信パケットの送信時刻は時計101を基準とした時刻であるが、送信パケットの受信時刻は時計201を基準とした時刻である。
【0027】
遅延時間取得部103が送信パケットの遅延時間を取得する方法は任意である。例えば、通信装置20が送信パケットの遅延時間を算出し、遅延時間取得部103は通信装置20によって算出された遅延時間を取得してもよい。この場合、通信部102から通信装置20に送信される送信パケットは、通信装置10が当該送信パケットを送信した送信時刻を示す情報を含んでいる。通信装置20がこの送信パケットを受信すると、当該送信パケットに含まれている送信時刻と、通信装置20が当該送信パケットを受信した受信時刻までの遅延時間を算出する。そして、通信装置20は、算出した遅延時間を示す情報を含むパケットを通信装置10に送信する。つまり、通信部102が受信するパケットには、過去の送信パケットの遅延時間が含まれている。そして、遅延時間取得部103は、通信部102で受信した送信パケットに含まれる遅延時間を取得する。
【0028】
あるいは、遅延時間取得部103が、通信装置10から送信された送信パケットの遅延時間を算出して取得してもよい。この場合、通信部102が受信する受信パケットには、通信装置10が過去に送信した送信パケットを通信装置20が受信した時刻を示す情報が含まれている。そして、遅延時間取得部103は、通信部102が送信パケットを送信した送信時刻から、通信装置20における受信時刻までの遅延時間を算出することにより、送信パケットの遅延時間を取得する。送信パケットの送信時刻と受信時刻は、送信パケットの識別情報等を利用して対応付けることができる。
【0029】
なお、通信装置10、20の処理速度によっては、パケットを送受信してから、パケットにタイムスタンプが付与されるまでに処理時間がかかるため、例えば、通信部102が受信パケットを受信した時点の時刻と、受信パケットに付与されたタイムスタンプの時刻とが厳密には異なることがある。しかしながら、このようなタイムスタンプ処理によって生じる誤差は後述する遅延時間と比較して極めて小さいため、受信パケットに付与された時刻は、通信部102がパケットを受信した時刻と同じであるとみなす。
【0030】
選択部104は、受信パケット又は送信パケットのうち一のパケットを、後述する補正部105にて遅延時間を補正する対象のパケット(以下、対象パケット)として「選択」する。
【0031】
ここで、「選択」する、とは、複数のパケットの中から1つを抽出して対象パケットとすることの他、複数のパケットを対象パケットとして特定することも含む。
【0032】
補正部105は、選択部104で選択した対象パケットの遅延時間について、第1の時計101と第2の時計201の時間差によって発生する誤差を補正する。具体的には、補正部105は、時計101と時計201の時間差に相当する補正値aを推定し、「算出」する。この補正値aは、遅延時間取得部103が「所定の」期間に取得した受信パケットの遅延時間うち最小の値を有する最小遅延時間Tdrmin(「第1の最小遅延時間」に相当)、又は「所定の」期間に取得した送信パケットの遅延時間のうち最小の値を有する最小遅延時間Tdsmin(「第2の最小遅延時間」に相当)に基づいて算出される。補正値aの具体的な算出方法は後述する各実施形態において説明する。補正部105はさらに、算出した補正値aを用いて対象パケットの遅延時間を補正する。補正値によって補正した後の遅延時間を、補正遅延時間とする。
【0033】
ここで、「算出」する、とは、最小遅延時間に対して演算を行うことにより補正値を算出することはもちろん、最小遅延時間の値自体を補正値とすることも含む。
ここで、「所定の」とは、常に一定の場合の他、条件に応じて一意に定まる場合も含む。
【0034】
例えば、対象パケットの遅延時間を取得するよりも過去の期間を所定の期間としてもよい。この場合、対象パケットよりも前に取得したパケットの遅延時間のうち最小の値を有する最小遅延時間に基づいて、対象パケットの遅延時間を補正する。あるいは、所定の期間とは、メモリ106にパケットの遅延時間が保存されている全期間であってもよい。
【0035】
なお、補正遅延時間は、例えば、通信装置10を使用するユーザに提示される。あるいは、音声通信、IoT、遠隔監視システムといった、リアルタイム性を求められる通信に関するアプリケーションに出力され、通信品質の指標として使用されてもよい。
【0036】
メモリ106は、補正部105で使用される最小遅延時間Tdrmin、Tdsminを保存している記憶部である。メモリはランダムアクセスメモリを想定しているが、ハードディスク(HDD)やフラッシュメモリ等であってもよい。この場合、通信装置10の電源がOFFになってもデータは消去されずに保存することができる。
【0037】
メモリ106は、遅延時間取得部103が遅延時間を取得した後遅滞なく保存してもよく、あるいは、補正部105の処理が完了した後に、遅延時間を保存してもよい。
【0038】
あるいは、メモリ106は、受信パケット及び送信パケットそれぞれの送信時刻と受信時刻のみを保存する記憶部であってもよい。この場合、遅延時間取得部103は、メモリ106に保存されたパケットの送信時刻と受信時刻の情報を読み出して、遅延時間を取得する。
【0039】
図2は、通信装置10と通信装置20の間でパケットが送受信される状態の一例を概略的に示している。時刻t0
10、tr
10、ts
10は時計101が示す時刻であり、時刻t0
20、tr
20、ts
20は時計201が示す時刻である。また、t0
10、t0
20は同じ時刻を示している。
図2(a)では、時計101が時刻t0
10を示すタイミングと、時計201が時刻t0
20を示すタイミングが同じであり、これらの時計の時刻は同期されている。そのため、遅延時間取得部103が取得する遅延時間Td(=tr-ts)は、一方の通信装置がパケットを送信してから他方の通信装置が受信するまでに実際に発生する遅延時間(以下、実遅延時間とする)と等しい。
【0040】
一方、
図2(b)では、時計101が時刻t0
10を示すタイミングと、時計201が時刻t0
20を示すタイミングが異なっており、これらの時計が示す時刻には時間差rのずれが生じている。
図2(b)に示すように、時計101と時計201の時刻が同期されていない場合、遅延時間取得部103が取得する遅延時間Td(=tr-ts)は実遅延時間とは異なるものとなる。時間差rが既知の値であれば、例えば、送信パケットの実遅延時間はtr
20-(ts
10+r)を算出することによって求めることができる。しかしながら、実際には時計101と時計201の時間差rは不明である。そこで、補正部105は、時間差rに相当すると推定した補正値aを用いて遅延時間を補正することにより実遅延時間を推定する。以下の数式1は、送信パケットの遅延時間Td
sを補正値aで補正して補正遅延時間T
sを算出する式である。
【0041】
(数1)
Ts=tr20-(ts10+a)=Tds-a
【0042】
なお、数式1は、送信パケットについての補正遅延時間Tsを算出する式であるが、受信パケットについても同様の式で求めることができる。以下の数式2は、受信パケットの補正遅延時間Trを算出する式である。
【0043】
(数2)
Tr=(tr10+a)-ts20=Tdr+a
【0044】
以下に説明する実施形態を用いて得られる補正遅延時間の情報は、パケットを送信した通信装置で必要とされることが多い。そのため、以下の各実施形態では、送信パケットを対象パケットとして遅延時間を補正する例を説明する。しかしながら、以下に説明する各実施形態は、受信パケットを対象パケットとして遅延時間を補正する構成にも適用することができる。
【0045】
2.通信装置20の構成
通信装置20は、通信装置10に対してパケットを送信する装置である。通信装置20は、通信装置20における時刻情報の基準となる「時計」である時計201、及び通信装置10との間でパケットを送受信する通信部202を有する。以下の各実施形態において特に記載がない限り、通信装置20は通信装置10に対してパケットを送信する通信装置であればよく、詳細な説明は省略する。
【0046】
[実施形態1]
本実施形態1では、受信パケットの最小遅延時間に基づいて補正値aを算出し、遅延時間を補正する構成を説明する。
【0047】
1.遅延時間の補正方法
通信装置間でパケットが全く遅延することなく送受信された場合のパケットの実遅延時間は、0である。そして、このように実遅延時間が0の場合に遅延時間取得部103が取得するパケットの遅延時間は時計101と時計201の時間差rと等しい。そこで、実施形態1では、最小遅延時間について実際の実遅延時間は0であったと推定し、最小遅延時間が時間差rに相当するものとして対象パケットの遅延時間を補正する。
【0048】
図3は、本実施形態の通信装置10と通信装置20の間でパケットを送受信する状態を概略的に示している。この例では、送信パケットである対象パケットの遅延時間Td
sを、受信パケットの最小遅延時間Td
rminを用いて補正する例を説明する。以下に示す例では、選択部104が選択した1つの対象パケットのみに対して遅延時間の補正を行う構成を説明するが、例えば、通信部102で送受信する全てのパケットを対象パケットとして遅延時間の補正を行ってもよい。
【0049】
本実施形態の遅延時間取得部103は、対象パケットとして選択された、通信部102が送信した送信パケットの遅延時間を取得する。送信パケットの遅延時間は、通信装置10が送信パケットを送信した送信時刻Ts10から、通信装置20が送信パケットを受信した受信時刻Tr20までの時刻である。
【0050】
ここで、本実施形態では、受信パケットの最小遅延時間Td
rminが、時計101と時計201の時間差rに相当すると推定する。そこで、補正部105は、メモリ106に保存されている最小遅延時間Td
rminを読み出す。
図3に示す例では、遅延時間Td
r1~Td
r3のうちTd
r1が最小であるため、遅延時間Td
r1を最小遅延時間Td
minとして読み出す。そして、補正部105は、最小遅延時間Td
minを補正値とすることにより補正値aを算出する。補正部105はさらに、算出した補正値a(=Td
min=Td
r1)を用いて対象パケットの遅延時間Td
sを補正する。本実施形態によって算出した補正値aを数式1に代入することにより、対象パケットの補正遅延時間T
sは以下の数式3によって求めることができる。
【0051】
(数3)
Ts=Tds-Tdmin
【0052】
2.通信装置10の動作
本実施形態の通信装置10の動作を、
図4、
図5を用いて説明する。
図4は、対象パケットの遅延時間の補正に使用する、受信パケットの遅延時間を取得する処理を示している。
S101において、通信部102が、通信装置20から送信された受信パケットを受信する。
S102において、S101で受信パケットを受信した時刻、すなわち受信時刻tr
10を取得する。
S103において、受信パケットに含まれる、通信装置20から受信パケットが送信された送信時刻ts
20を取得する。
S104において、送信時刻ts
20から受信時刻tr
10までの時間を遅延時間Td
rとして取得する。
S105において、取得した遅延時間Td
rをメモリ106に保存する。
【0053】
図5は、
図4の処理を用いて取得した遅延時間のうち最小の値を有する最小遅延時間を用いて、対象パケットの遅延時間を補正する処理を示している。
S201において、選択部104が、遅延時間を補正する対象となる対象パケットを選択する。
S202において、S201で選択された対象パケットの遅延時間Td
sをメモリ106から読み出し、取得する。
S203において、
図4に示す処理によって取得された受信パケットの遅延時間のうち、最小の値である最小遅延時間Td
minをメモリ106から読み出し、取得する。
S204において、S203で取得した最小遅延時間Td
minに基づいて、補正値aを算出する。本実施形態では、メモリ106から読み出した最小遅延時間Td
minを補正値とすることにより、補正値aを算出する。
S205において、補正値aを用いて対象パケットの遅延時間Td
sを補正する。
【0054】
図4、5に示す通信装置10の動作は、通信装置10における遅延時間の補正方法を示すだけでなく、通信装置10で実行される遅延時間補正プログラムの処理手順を示すものでもある。そして、これらの処理は、
図4、5で示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。以上の点は、実施形態2以下のフローチャートについても同様である。
【0055】
3.補正遅延時間と実遅延時間との誤差
本実施形態によって得られる補正遅延時間の誤差は不明であるが、送信パケットの最小遅延時間の値が分かっている場合には、本実施形態による補正遅延時間の最大誤差を求めることができる。
【0056】
図6は、本実施形態の方法による補正遅延時間Tと実遅延時間との最大誤差を説明する図である。
図6に示す破線の矢印は、受信パケットの最小遅延時間Td
rminについての実遅延時間が0であると推定した状態を示している。これに対し、実線は、受信パケット及び送信パケットの実際の実遅延時間を示している。
【0057】
ここで、受信パケットの最小遅延時間Tdrminついての実遅延時間と、送信パケットの最小遅延時間Tdsminについての実遅延時間の和を基準RTT(Round Trip Time)(以下、RTTBase)とした場合、RTTBaseは以下の数式4によって表される。
【0058】
(数4)
RTTBase={(tr10min+a)-ts20min}+{tr20min-(ts10min+a)=Tdrmin+Tdsmin
ここで、tr10min、ts20minは受信パケットの最小遅延時間Tdrminの受信時刻と送信時刻であり、tr20min、ts10minは送信パケットの最小遅延時間Tdsminの受信時刻と送信時刻である。
【0059】
数式4に示すとおり、受信パケットと送信パケットの実遅延時間の和は、遅延時間取得部103が取得した受信パケットと送信パケットの遅延時間の和と等しい。
【0060】
本実施形態では、
図6の破線に示すように、受信パケットの最小遅延時間Td
rminの実遅延時間が0であると推定して補正値aを算出している。しかしながら、
図6の実線に示すように、最小遅延時間Td
rminの実遅延時間が0とはならないことが起こりうる。ここで、受信パケットの実遅延時間がRTT
Baseの値となる場合、すなわち、送信パケットの実遅延時間が0の場合、受信パケットの推定による実遅延時間と実際の実遅延時間との差が最大(RTT
Base)となる。したがって、対象パケットの遅延時間と実際の実遅延時間との最大誤差はRTT
Baseとなる。
【0061】
本実施形態によれば、時刻が同期されていない通信装置間で送受信されるパケットの遅延時間を推定することができる。さらに、本実施形態によれば、遅延時間の補正を行う通信装置10側に蓄積された受信パケットの遅延時間の情報を利用して対象パケットの遅延時間を補正することができるため、通信装置10における対象パケットの遅延時間の補正処理を簡便に行うことができる。
【0062】
なお、実施形態1は、通信装置10と通信装置20が、常に同じ通信路で通信を行う場合を想定して説明している。しかしながら、通信装置10と通信装置20の間で送受信されるパケットは常に同じ経路で転送されるとは限らない。そして、通信装置10と通信装置20の間の通信路が異なる場合、パケットに発生する遅延時間は通信路毎に異なる可能性が高い。
【0063】
そこで、通信装置10及び20が異なる通信路を用いて通信を行う場合には、遅延時間取得部103は、第1の通信路を用いて受信したパケットの遅延時間、及び第2の通信路を用いて受信したパケットの遅延時間をそれぞれ取得する。そして、補正部105は、第1の通信路を用いて通信装置20から送信された受信パケットの遅延時間、及び、第2の通信路を用いて通信装置20から送信された受信パケットの遅延時間のうち最小の値を有する遅延時間を、最小遅延時間としてメモリ106から読み出す。そして、補正部105は、読み出された最小遅延時間に基づいて補正値aを算出する。
【0064】
より短い遅延時間を用いて補正値を算出して遅延時間を補正することにより、補正後の遅延時間と実遅延時間との誤差を小さくすることができる。そこで、通信装置10及び通信装置20が複数の通信路を用いて通信を行う場合には、全ての通信路を用いて通信された受信パケットの遅延時間のうちの最小遅延時間に基づいて補正値を算出する。
【0065】
なお、通信装置10と通信装置20が異なるプロトコルを用いて通信を行う場合にも、パケットに発生する遅延時間は異なる可能性がある。そのため、通信に用いられるプロトコルが異なる場合についても、それぞれのプロトコルを用いて通信された受信パケットの遅延時間のうちの最小遅延時間に基づいて補正値を算出することが望ましい。
【0066】
通信装置10と通信装置20が複数の通信路を用いて通信を行う構成は、以下に説明する実施形態2乃至5に適用してもよい。
【0067】
[実施形態2]
実施形態1では、通信装置10が受信した受信パケットの最小遅延時間に基づいて、対象パケットの遅延時間を補正する構成を説明した。実施形態2では、受信パケット及び送信パケットの遅延時間のうち最小の値である最小遅延時間に基づいて補正値aを算出し、対象パケットの遅延時間を補正する構成を説明する。
【0068】
1.遅延時間の補正方法
図7は、本実施形態における通信装置10と通信装置20との間で送受信されるパケットを概略的に示している。本実施形態の遅延時間取得部103は、
図3に示す受信パケットの遅延時間Td
r1~Td
r3に加えて、
図7に示す送信パケットの遅延時間Td
s1~Td
s3を取得する。
【0069】
補正部105は、実施形態1と同様、最小遅延時間をメモリ106から読み出し、この最小遅延時間が時間差rに相当するものと推定する。ただし、実施形態1とは異なり、本実施形態における最小遅延時間とは、受信パケットの遅延時間及び送信パケットの遅延時間のうち最小の値を有する遅延時間である。
【0070】
図3、7に示すパケットの例では、最小遅延時間は送信パケットの遅延時間Td
s2である。そこで、補正部105は、メモリ106に保存されている遅延時間Td
s2を最小遅延時間Td
minとして読み出す。そして、補正部105は、最小遅延時間Td
minを補正値とすることにより補正値aを算出する。補正部105はさらに、算出した補正値a(=Td
min=Td
s2)を用いて対象パケットの遅延時間Td
sを補正する。
図3、7に示す例では、補正遅延時間T
sは数式4によって求めることができる。
【0071】
2.通信装置10の動作
本実施形態の通信装置10において、受信パケット及び送信パケットの遅延時間を取得する処理を、
図8を用いて説明する。なお、
図4と同じ処理については
図4と同じ符号を付し、説明は省略する。
【0072】
S301において、通信装置10が送信した送信パケットの遅延時間Tdsを取得する。上述した通り、送信パケットの遅延時間は、受信パケットに含まれている、過去の送信パケットの遅延時間を示す情報を取得する、又は、受信パケットに含まれている、過去の送信パケットの通信装置20における受信時刻を示す情報から取得することができる。
S302において、S301で取得した送信パケットの遅延時間Tdsをメモリに保存する。
【0073】
なお、対象パケットの遅延時間は、
図5に示す処理フローを用いて補正することができる。
【0074】
3.補正遅延時間と実遅延時間との誤差
本実施形態の方法による補正遅延時間Tと実遅延時間との最大誤差は、実施形態1と同様、RTTBaseとなる。
【0075】
一般に、クライアント装置からサーバ装置への通信といった上り方向の遅延よりも、サーバ装置からクライアント装置への通信といった下り方向の遅延の方が短いことが知られている。そのため、通信装置10がサーバ装置であり、通信装置20がクライアント装置の場合、通信装置10が受信するパケットの上り方向の遅延時間よりも、通信装置10が送信するパケットの下り方向の遅延時間の方が小さい可能性が高い。そこで、通信装置10が受信したパケットに加えて、通信装置10が送信したパケットの双方の遅延時間うち最小の値を用いて補正値を算出することにより、より精度の高い補正値を算出することが可能となる。
【0076】
[実施形態3]
本実施形態では、受信パケット及び送信パケットそれぞれの遅延時間の最小の値である最小遅延時間に基づいて補正値を算出する構成を説明する。
【0077】
1.遅延時間の補正方法
実施形態3では、受信パケットの最小遅延時間についての実際の実遅延時間と、送信パケットの最小遅延時間についての実際の実遅延時間とが等しいと推定して、対象パケットの遅延時間を補正する。
【0078】
補正部105は、受信パケットの送信時刻から受信時刻まで遅延時間(「第1の遅延時間」に相当)のうち最小の値である最小遅延時間Td
rmin(「第1の最小遅延時間」に相当)をメモリ106から読み出す。
図3に示す例では、遅延時間Td
r1が受信パケットの最小遅延時間Td
rminである。
【0079】
補正部105はさらに、送信パケットの送信時刻から受信時刻までの遅延時間(「第2の遅延時間」に相当)のうち最小の値である最小遅延時間Td
smin(「第2の最小遅延時間」に相当)をメモリ106から読み出す。
図7に示す例では、遅延時間Td
s2が送信パケットの最小遅延時間Td
sminである。
【0080】
ここで、受信パケットの最小遅延時間Tdrminについての実遅延時間と、送信パケットの最小遅延時間Tdsminについての実遅延時間とが等しいと推定した場合、以下の数式5が成立する。
【0081】
(数5)
(tr10min+a)-ts20min=tr20min-(ts10min+a)
Tdrmin+a=Tdsmin-a
ここで、tr10min、ts20minは受信パケットの最小遅延時間Tdrminの受信時刻と送信時刻であり、tr20min、ts10minは送信パケットの最小遅延時間Tdsminの受信時刻と送信時刻である。
【0082】
数式5を分解することにより、補正値aは以下の数式6によって表される。
【0083】
(数6)
a=(Tdsmin-Tdrmin)/2
【0084】
また、補正値aは、数式4で説明したRTTBaseを用いて数式7のように表すことができる。
【0085】
(数7)
RTTBase/2=Tdrmin+a=Tdsmin-a
a=Tdsmin-RTTBase/2
=RTTBase/2-Tdrmin
【0086】
そして、数式6(又は数式7)を数式1に代入することにより、対象パケットの補正遅延時間Tdsは以下の数式8を用いて算出することができる。
【0087】
(数8)
Ts=Tds-(Tdsmin-Tdrmin)/2
=Tds-(Tdsmin-RTTBase/2)
=Tds-(RTTBase/2-Tdrmin)
【0088】
2.通信装置10の動作
本実施形態の通信装置10は、
図5、8に示す一連の処理と同様の動作を行う。
【0089】
ただし、本実施形態では、
図5のS204において、送信パケットの最小遅延時間Td
smin及び受信パケットの最小遅延時間Td
rminに基づいて補正値aを算出する。具体的には、数式6又は数式7を演算することによって補正値aを算出する。なお、数式6、7のいずれを用いた場合でも、本実施形態の補正値aは送信パケットの最小遅延時間Td
sminと受信パケットの最小遅延時間Td
rminの差分を二分の一して得られる値と同じである。したがって、S204では、数式6、7、に示すいずれの式を用いて補正値を算出してもよい。
【0090】
3.補正遅延時間と実遅延時間との誤差
図9は、本実施形態によって得られる補正遅延時間と実遅延時間との誤差を説明する図である。
図9に示す破線は、受信パケットの最小遅延時間Td
rminについての実遅延時間と、送信パケットの最小遅延時間Td
sminについての実遅延時間が等しいと推定した状態を示している。これに対し、実線は実際の実遅延時間を示している。
【0091】
本実施形態において推定した遅延時間と実際の実遅延時間との誤差はRTTBase/2と実遅延時間との差分であり、この誤差は最大RTTBase/2となる。
【0092】
本実施形態によれば、時刻が同期されていない通信装置間で送受信されるパケットの遅延時間を、誤差RTTBase/2の範囲内で推定することができる。
【0093】
[実施形態4]
本実施形態では、通信ネットワーク30を用いてパケットを送受信した場合の往復時間の下限値、及び下限値となる往復時間の遅延時間比が既知の値の場合に、より精度の高い補正値を用いて対象パケットの遅延時間を補正する構成を説明する。
【0094】
1.遅延時間の補正方法
通信装置20が受信パケットを送信してから通信装置10が当該受信パケットを受信するまでの実際の時間(「第1の実遅延時間」に相当)と、通信装置10が送信パケットを送信してから通信装置20が当該送信パケットを送信するまでの実際の時間(「第2の実遅延時間」に相当)と、の合計の下限値(以下、下限往復遅延時間)、及び、この時の受信パケットと送信パケットの実遅延時間の比(「遅延時間比」に相当)が「既知の値」の場合がある。例えば、これらの値が、通信装置や通信ネットワーク毎に予め設定されていることがある。そして、下限往復遅延時間及び遅延時間比が既知の値である場合、これらの値から、受信パケット及び送信パケットそれぞれの遅延時間の下限値を求めることができる。
【0095】
そこで、本実施形態では、受信パケットの遅延時間の下限値と最小遅延時間Tdrminついての実遅延時間との差分、及び、送信パケットの遅延時間の下限値と最小遅延時間Tdsminについての実遅延時間との差分が等しいと推定して、補正値aを算出する。
【0096】
ここで、「既知の値」とは、予め所定の値が設定されている場合の他、過去のデータに基づいて通信装置が所定の値を設定する場合も含む。
【0097】
本実施形態の補正部105は、受信パケットの最小遅延時間Tdminに加えて、既知の値である下限往復遅延時間と、遅延時間比をメモリ106から読み出す。そして、これらの値に基づいて、補正値aを算出する。
【0098】
図10は、本実施形態を説明する図である。
図10の一点鎖線は下限往復遅延時間となるパケットを示している。破線は、受信パケットの遅延時間の下限値と最小遅延時間Td
rminについての実遅延時間との差分、及び、送信パケットの遅延時間の下限値との最小遅延時間Td
sminについての実遅延時間との差分が等しいと推定した状態を示している。
図10では、下限往復遅延時間をRTT
limit、遅延時間比を(x:1-x)(ただし、x<1-x)、受信パケットの最小遅延時間Td
rminついての実遅延時間と、送信パケットの最小遅延時間Td
sminについての実遅延時間との和をRTT
Baseで表している。ここで、受信パケットの遅延時間の下限値と最小遅延時間Td
rminついての実遅延時間との差分、及び、送信パケットの遅延時間の下限値と最小遅延時間Td
sminについての実遅延時間との差分dは、以下の数式9によって表される。
【0099】
(数9)
d=(RTTBase-RTTlimit)/2
【0100】
受信パケットの最小遅延時間Tdrminについての実遅延時間をTeとした場合、この実遅延時間の値は、以下の数式10によって求められる。
【0101】
(数10)
Te=d+x×RTTlimit
【0102】
ここで、数式2に示す受信パケットの補正遅延時間Trに実遅延時間Teを代入し、遅延時間Tdrに受信パケットの最小遅延時間Tdrminを代入すると、補正値aは以下の式を用いて算出される。
【0103】
(数11)
a=Te-Tdrmin
【0104】
そして、数式11を数式1に代入することにより、対象パケットの補正遅延時間は以下の数式12を用いて算出することができる。
【0105】
(数12)
Ts=Tds-(Te-Tdrmin)
【0106】
2.通信装置10の動作
本実施形態の通信装置10は、
図5、8に示す一連の処理と同様の動作を行う。ただし、本実施形態では、
図5のS204において、既知の値である下限往復遅延時間、遅延時間比、及び、受信パケットの最小遅延時間Td
rminに基づいて補正値aを算出する。具体的には、数式11を演算することによって補正値aを算出する。
【0107】
なお、数式12は受信パケットの最小遅延時間Tdrminを用いる場合の算出式であるが、遅延時間比が(1-x:x)(x<1-x)の場合には、補正遅延時間TはTdsminを用いて表される。
【0108】
3.補正遅延時間と実遅延時間との誤差
図11は、本実施形態によって得られる補正遅延時間と実遅延時間との誤差を説明する図である。
図10と同様、
図11の一点鎖線は下限往復遅延時間となるパケットを示しており、破線は、受信パケットの遅延時間の下限値と最小遅延時間Td
rminついての実遅延時間との差分、及び、送信パケットの遅延時間の下限値と最小遅延時間Td
sminについての実遅延時間との差分、が等しいと推定した状態を示している。また、実線は、実際の実遅延時間を示している。
【0109】
ここで、
図11(a)は、受信パケットの実際の実遅延時間の値が、数式10によって算出した遅延時間T
eよりも大きい場合を示しており、この場合の最大誤差はdとなる。一方、
図11(b)は、受信パケットの実際の実遅延時間の値が、数式10によって算出した遅延時間T
eよりも小さい場合を示しており、この場合の最大誤差はdである。つまり、本実施形態によって得られる補正値aには、±dの誤差が生じうる。その結果、補正値aを用いて補正された対象パケットの遅延時間の最大誤差はdとなる。
【0110】
本実施形態によれば、時刻が同期されていない通信装置間で送受信されるパケットの遅延時間を、誤差d(=(RTTBase-RTTlimit)/2)の範囲内で推定することができる。
【0111】
[実施形態5]
実施形態1乃至4では、所定の期間内に取得した遅延時間のうち最小の値である最小遅延時間を用いて補正値を算出した。しかしながら、時計101が時刻をカウントする間隔と、時計201が時刻をカウントする間隔にずれがある場合、時計101と時計201の時間差rが時間の経過に伴って変化することがある。このような場合、実施形態1乃至4を用いて算出した、時間差rに相当する補正値の精度が低下するおそれがある。
【0112】
そこで、本実施形態では、時間差rの経時的な変化に応じて所定の期間を設定するとともに、所定の期間内に取得した遅延時間のうち最小の値を用いて補正値を算出することにより、補正値の精度が低下するのを抑制する。
【0113】
本実施形態の補正部105は、第1の時刻から第2の時刻までに遅延時間取得部103が取得した遅延時間のうち最小の値である最小遅延時間に基づいて、補正値aを算出する。ここで、本実施形態の補正値aは、実施形態1乃至4のいずれを用いて算出してもよい。
【0114】
第1の時刻及び第2の時刻は、例えば、第1の時刻において時計101が示す時刻と時計201が示す時刻の差(「第1の時間差」に相当)と、第2の時刻において時計101が示す時刻と時計201が示す時刻の差(「第2の時間差」に相当)の差分、すなわち、時間差rの変化量が、予め設定された閾値「以下」となるように設定される。この閾値は誤差の許容値であり、例えば、実施形態4で説明した下限往復遅延時間RTTlimit、過去に測定したPing値の最小値又は平均値等に設定してもよい。
【0115】
ここで、「以下」とは、比較対象と同じ値を含む場合及び含まない場合の両方が含まれる。
【0116】
なお、時間差rの変化量は、単位時間当たりの時間差rの変化量から求めることができ、単位時間当たりの時間差rの変化量は、時計101及び時計102と絶対時刻との時間差の計測、あるいは、水晶発振器の性能から得られる。
【0117】
本実施形態によれば、通信装置間の時計の時間差の経時的な変化によって生じうる補正値の精度低下を抑制することが可能となるため、より高い精度で遅延時間を推定することができる。
【0118】
[その他の実施形態]
以下に、上述した実施形態1~5を用いて得られる補正遅延時間を利用する構成を説明する。
【0119】
上述した実施形態はいずれも、通信装置10と通信装置20が1つの通信ネットワーク30を介して通信する場合を説明した。しかしながら、通信装置10と通信装置20が複数の通信ネットワークに対応可能な場合、複数の通信ネットワークを介してパケットを送受信することも想定される。そこで、この実施形態では、通信装置10が複数の通信ネットワークを介して通信装置20と通信可能である場合に補正遅延時間を利用する構成を説明する。
【0120】
図12は、本実施形態による通信システム2を示している。通信装置11は、
図1に示す構成に加えて、ネットワーク判定部111を備えている。さらに、
図12に示す通信システム2では、通信装置11は、通信ネットワーク30(「第1の通信ネットワーク」に相当)に加えて、通信ネットワーク31(「第2の通信ネットワーク」に相当)を利用して通信装置20と通信を行うことができる。
【0121】
本実施形態の補正部105は、実施形態1乃至5に記載のいずれかの方法を用いて、対象パケットの遅延時間を補正する。ここで、本実施形態の補正部105はさらに、第1の通信ネットワーク30を使用して受信又は送信したパケットの補正遅延時間のうち最小となる補正遅延時間を、第1の通信ネットワーク30における基準遅延時間(以下、第1の基準遅延時間とする)としてメモリ106に保存する。ここで、第1の基準遅延時間は、第1の通信ネットワーク30に負荷がかかっていない状態、すなわち、無負荷状態での遅延時間であると推定する。
【0122】
同様に、補正部105は、第2の通信ネットワーク31を使用して受信又は送信したパケットの補正遅延時間のうち最小となる補正遅延時間を、第2の通信ネットワーク31における基準遅延時間(以下、第2の基準遅延時間とする)としてメモリ106に保存する。第1の基準遅延時間と同様、第2の基準遅延時間は、第2の通信ネットワーク31が無負荷状態での遅延時間であると推定する。
【0123】
ネットワーク判定部111は、通信装置11が使用している通信ネットワークが不明である場合に、不明な通信ネットワークを使用して送受信されたパケットの補正遅延時間と、メモリ106に保存されている基準遅延時間とを比較する。
【0124】
補正遅延時間の値が第1の基準遅延時間に近い場合、ネットワーク判定部111は、不明な通信ネットワークが第1の通信ネットワーク30であると判定する。これに対し、補正遅延時間の値が第2の基準遅延時間に近い場合には、ネットワーク判定部111は、不明な通信ネットワークが第2の通信ネットワーク31であると判定する。なお、補正遅延時間が、第1又は第2の基準遅延時間のいずれに近いかを判定する方法は、例えば、遅延時間と基準遅延時間の差分の絶対値、過去の統計結果等、任意の方法を用いてよい。
【0125】
図13は、通信ネットワーク毎に発生しうる遅延時間と、その発生率の関係を概略的に示している。
図13に示すように、通信ネットワークによって、発生しうる通信の遅延時間に傾向がある。そのため、補正遅延時間の値と、通信ネットワークそれぞれの通信遅延時間の傾向とを比較することにより、使用中の通信ネットワークを判定することができる。なお、
図13は、通信ネットワーク毎の遅延時間の傾向を説明するための図であり、Wifi、LTE、3Gの通信ネットワークは必ずしも図に示す遅延時間の傾向を示すものではない。
【0126】
通信装置10と通信装置20が2つの通信ネットワーク30、31を介して通信可能な場合を例に挙げて説明したが、当然のことながら、通信装置は任意の数の通信ネットワークを介して通信してもよい。
【0127】
なお、パケットの送受信に使用される通信ネットワーク30、31は、それぞれ複数のネットワークから構成されてもよい。例えば、通信ネットワークは3Gとインターネット(the Internet)とから構成されてもよい。
図13には図示していないが、インターネットの遅延時間は、著しく伝送距離が長い、伝送経路上に無線区間を含む、伝送経路上に輻輳が発生している等の場合を除き、通常はLTE、3G等と比べて極めて小さいことが知られている。そのため、通信ネットワークが3Gとインターネットとから構成される場合、通常はインターネットによって発生する遅延時間の影響は少なく、対象パケットの補正遅延時間は3Gの遅延時間と同じ傾向となる。このように、通信ネットワークが複数のネットワークから構成されている場合であっても、遅延時間の値が大きい傾向を有するネットワークと、遅延時間の値が小さい傾向を有するネットワークから構成されている場合には、使用中の通信ネットワークのうち遅延時間の値が大きい傾向を有するネットワークを判定することができる。
【0128】
通信装置11がルータや中継器といった装置の場合、通信装置11が使用中の通信ネットワークの詳細な情報を有していないことがある。本実施形態によれば、このように使用中の通信ネットワークが不明である場合であっても、通信ネットワークの基準となる遅延時間を利用して通信ネットワークを判定することが可能となる。
【0129】
他の実施例として、ネットワーク判定部111は、上述した方法によって求めた基準遅延時間と、第1又は第2の通信ネットワーク30、31の回線速度を利用して、第1又は第2の通信ネットワークに所定の負荷がかかった場合の遅延を予測し判定してもよい。
【0130】
例えば、以下の数式13を用いて、パケットを送受信する際に発生する遅延時間Tiを予測する。
【0131】
【0132】
ここで、DatainQは通信部102から送信されるパケットの送信待ちキューにあるデータ量であり、DNは基準遅延時間であり、Sは回線速度である。
【0133】
通信ネットワーク30、31それぞれについて基準遅延時間DNと、回線速度Sの値が既知である場合、数式13を用いて、送信待ちのキューに送るデータ量を調整した場合に発生しうる遅延時間Tiを算出することができる。
【0134】
以上の記載では、ネットワーク判定部111は、実施形態1乃至5に記載の方法を用いて得られた補正遅延時間を用いて通信ネットワークを判定する例を説明している。しかしながら、ネットワーク判定部111は、時刻が同期された2つの通信装置間で送受信されたパケットの遅延時間を用いて通信ネットワークを判定することも可能である。
【0135】
この実施形態による通信装置の発明の部分は、以下の通りである。
他の通信装置から、第1の通信ネットワーク(30)又は第2の通信ネットワーク(31)を介してパケットを送受信する通信装置(11)であって、
前記他の通信装置から送信された前記パケットである第1のパケットを受信し、前記他の通信装置に送信される前記パケットである第2のパケットを送信する通信部(102)と、
前記パケットの遅延時間として、前記他の通信装置から前記第1のパケットが送信された時刻である他装置送信時刻から、前記通信部が前記第1のパケットを受信した時刻である自装置受信時刻までの時間である第1の遅延時間、及び、前記通信部が前記第2のパケットを送信した時刻である自装置送信時刻から、前記他の通信装置が前記第2のパケットを受信した時刻である他装置受信時刻までの時間である第2の遅延時間を取得する遅延時間取得部(103)と、
前記第1の通信ネットワークを介して送受信された前記パケットの遅延時間のうち最小の値を第1の基準遅延時間として保存し、前記第2の通信ネットワークを介して送受信された前記パケットの遅延時間のうち最小の値を第2の基準遅延時間として保存するメモリ(106)と、
前記第1のパケット又は前記第2のパケットのうち一のパケットを対象パケットとして選択する選択部(104)と、
前記対象パケットの前記遅延時間と前記第1の基準遅延時間及び前記第2の基準遅延時間とを比較し、前記第1の通信ネットワーク及び前記第2の通信ネットワークのいずれを介して前記対象パケットが送受信されたか判定するネットワーク判定部(111)と、
を備える、通信装置。
【0136】
(総括)
以上、本発明の各実施形態における通信装置の特徴について説明した。
【0137】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【0138】
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【0139】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
【0140】
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【0141】
また、本発明の通信装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバ、ルータが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
【0142】
本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【0143】
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【0144】
本発明の通信装置は、他の通信装置との間でパケットを送受信することが可能な任意の通信装置に適用することができる。
【符号の説明】
【0145】
10 通信装置、20 通信装置、30 通信ネットワーク、101 時計、102 受信部、103 遅延時間取得部、104 選択部、105 補正部、201 時計