(57)【特許請求の範囲】
【請求項１】
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、
を備える通信装置と、
前記通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置と、
を備え、
前記第二装置は、データの中継装置ではなく、通信の端部の装置として前記第一装置との間でデータを通信する装置である、通信システム。
【請求項２】
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、
を備える通信装置と、
前記通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置と、
前記第二装置の制御部によって記録されたデータに関して、前記第一伝送時間情報と、前記第二伝送時間情報と、前記第一受信時刻情報と、前記第二受信時刻情報と、前記中間送信時刻情報と、に基づいて、前記データが前記第一装置から送信された時刻を推定する推定部と、を備える通信システム。
【請求項３】
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、
を備える通信装置と、
前記通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置と、を備え、
前記通信装置の制御部は、第一装置から送信されたデータ毎に前記第一受信時刻情報及び前記第一伝送時間情報を付加し、前記第一受信時刻情報及び前記第一伝送時間情報が付加された複数の前記データに対して一つの前記第二伝送時間情報及び中間送信時刻情報を付加して前記第二装置に送信する、通信システム。
【請求項４】
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、
を備える通信装置と、
前記通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置と、を備え、
前記通信装置の制御部は、第一装置から送信されたデータ毎に前記第一受信時刻情報及び前記第一伝送時間情報を付加し、前記第一受信時刻情報及び前記第一伝送時間情報が付加された複数の前記データのうち連続的に送信される最初のデータと最後のデータとに対してのみ前記中間送信時刻情報を付加し、連続的に送信されるいずれかのデータに前記第二伝送時間情報を付加して前記第二装置に送信する、通信システム。
【請求項５】
前記第一推定部は、所定のタイミングで第一伝送時間情報を取得し、
前記通信装置の制御部は、前記第一推定部によって取得された前記第一伝送時間情報を記憶し、記憶されている前記第一伝送時間情報を前記データに付加する、請求項１から４のいずれか一項に記載の通信システム。
【請求項６】
前記通信装置は、自装置と前記第二装置との間に通信経路を形成する通信制御部をさらに備え、
前記第二推定部は、自装置と前記第二装置との間に通信経路が形成されると、前記通信経路を介した通信について前記第二伝送時間情報を取得する、請求項１から５のいずれか一項に記載の通信システム。
【請求項７】
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、
前記データが前記第二装置において受信された時刻を示す第二受信時刻情報が付加された前記データに関して、前記第一伝送時間情報と、前記第二伝送時間情報と、前記第一受信時刻情報と、前記第二受信時刻情報と、前記中間送信時刻情報と、に基づいて、前記データが前記第一装置から送信された時刻を推定する推定部と、
を備える通信装置。
【請求項８】
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、
を備える通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部と、
前記第二装置の制御部によって記録されたデータに関して、前記第一伝送時間情報と、前記第二伝送時間情報と、前記第一受信時刻情報と、前記第二受信時刻情報と、前記中間送信時刻情報と、に基づいて、前記データが前記第一装置から送信された時刻を推定する推定部と、を備える第二装置。
【請求項９】
）
第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定ステップと、
第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定ステップと、
第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信するステップと、
前記データに対し、前記データが前記第二装置において受信された時刻を示す第二受信時刻情報を付加して記録するステップと、
前記データが前記第二装置において受信された時刻を示す第二受信時刻情報が付加された前記データに関して、前記第一伝送時間情報と、前記第二伝送時間情報と、前記第一受信時刻情報と、前記第二受信時刻情報と、前記中間送信時刻情報と、に基づいて、前記データが前記第一装置から送信された時刻を推定するステップと
を有する通信方法。
【請求項１０】
請求項７に記載の通信装置としてコンピュータを機能させるためのコンピュータプログラム。
【請求項１１】
請求項８に記載の第二装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの時刻に関する情報を推定する技術に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）では、センサー等の様々なデバイスからデータが収集される。そして、デバイスの相関関係に基づいて、収集されたデータに対して意味づけがなされる。収集されたデータに対して意味づけがなされる際には、デバイス間でデータが取得された時刻が基準に対し合っていることが重要な要素の一つとなる。
【０００３】
装置間で時刻を同期させる様々な技術が提案されている（例えば特許文献１参照）。時刻同期の技術の一つとして、ＮＴＰ（Network Time Protocol）がある。ＮＴＰでは、サーバと各装置とが通信を行うことによって、各装置で管理される時刻が同期される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１７６７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、時刻の情報を生成する機能（いわゆる時計機能）を有していない装置は、そもそも同期することができない。また、時刻の情報を生成する機能を有していたとしても、ＮＴＰ等の時刻同期処理を行うための機能を有していない装置もある。さらに、時刻同期処理機能を有していても、有効に機能していなかったりサーバと同期できなかったりするために、生成される時刻情報が正確でない場合もある。これらの装置によって取得されるデータには、そのデータが取得された時刻を正しく与えることができないという問題があった。このような問題は、上述したＩｏＴのセンサに限定された問題ではなく、データの時刻に関する情報を利用する技術全般に共通する問題である。
【０００６】
上記事情に鑑み、本発明は、データの時刻に関する情報をより正確に取得することができる技術の提供を目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、を備える通信装置と、前記通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置と、を備える通信システムである。
【０００８】
本発明の一態様は、上記の通信システムであって、前記第二装置の制御部によって記録されたデータに関して、前記第一伝送時間情報と、前記第二伝送時間情報と、前記第一受信時刻情報と、前記第二受信時刻情報と、前記中間送信時刻情報と、に基づいて、前記データが前記第一装置から送信された時刻を推定する推定部、をさらに備える。
【０００９】
本発明の一態様は、上記の通信システムであって、前記第一推定部は、所定のタイミングで第一伝送時間情報を取得し、前記通信装置の制御部は、前記第一推定部によって取得された前記第一伝送時間情報を記憶し、記憶されている前記第一伝送時間情報を前記データに付加する。
【００１０】
本発明の一態様は、上記の通信システムであって、前記通信装置は、自装置と前記第二装置との間に通信経路を形成する通信制御部をさらに備え、前記第二推定部は、自装置と前記第二装置との間に通信経路が形成されると、前記通信経路を介した通信について前記第二伝送時間情報を取得する。
本発明の一態様は、上記の通信システムであって、前記通信装置の制御部は、第一装置から送信されたデータ毎に前記第一受信時刻情報及び前記第一伝送時間情報を付加し、前記第一受信時刻情報及び前記第一伝送時間情報が付加された複数の前記データに対して一つの前記第二伝送時間情報及び中間送信時刻情報を付加して前記第二装置に送信する。
本発明の一態様は、上記の通信システムであって、前記通信装置の制御部は、第一装置から送信されたデータ毎に前記第一受信時刻情報及び前記第一伝送時間情報を付加し、前記第一受信時刻情報及び前記第一伝送時間情報が付加された複数の前記データのうち連続的に送信される最初のデータと最後のデータとに対してのみ前記中間送信時刻情報を付加し、連続的に送信されるいずれかのデータに前記第二伝送時間情報を付加して前記第二装置に送信する。
【００１１】
本発明の一態様は、第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、を備える通信装置である。
【００１２】
本発明の一態様は、第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、を備える通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置である。
【００１３】
本発明の一態様は、第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定ステップと、第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定ステップと、第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信するステップと、前記データに対し、前記データが前記第二装置において受信された時刻を示す第二受信時刻情報を付加して記録するステップと、を有する通信方法である。
【００１４】
本発明の一態様は、第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、を備える通信装置としてコンピュータを機能させるためのコンピュータプログラムである。
【００１５】
本発明の一態様は、第一装置と自装置との間でデータの伝送に要する時間に関する情報である第一伝送時間情報を取得する第一推定部と、第二装置と自装置との間でデータの伝送に要する時間に関する情報である第二伝送時間情報を取得する第二推定部と、第一装置から送信されたデータに対し、前記データが自装置において受信された時刻を示す第一受信時刻情報と、前記データが自装置から前記第二装置に送信される時刻を示す中間送信時刻情報と、前記第一伝送時間情報と、前記第二伝送時間情報と、を付加して前記第二装置に送信する制御部と、を備える通信装置から送信された前記データに対し、前記データが自装置において受信された時刻を示す第二受信時刻情報を付加して記録する制御部を備える第二装置としてコンピュータを機能させるためのコンピュータプログラムである。
【発明の効果】
【００１６】
本発明により、データの時刻に関する情報をより正確に取得することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】通信システム１００のシステム構成を表すシステム構成図である。
【図２】通信装置２０の機能構成を示す概略ブロック図である。
【図３】第二装置３０の機能構成を示す概略ブロック図である。
【図４】通信システム１００の動作のうち、第一伝送時間情報が生成される際の処理の流れの具体例を示すシーケンスチャートである。
【図５】通信システム１００の動作のうち、第一装置１０から送信されたデータが第二装置３０において記録されるまでの処理の流れの具体例を示すシーケンスチャートである。
【図６】通信システム１００の動作のうち、データ送信推定時刻情報が記録される際の処理の流れの具体例を示すシーケンスチャートである。
【図７】通信システム１００において取り扱われるデータの状態の遷移を示す図である。
【図８】通信システム１００の適用例であるデータ収集システム２００のシステム構成を示す図である。
【発明を実施するための形態】
【００１８】
図１は、通信システム１００のシステム構成を表すシステム構成図である。通信システム１００は、第一装置１０によって生成されるデータの時刻に関する情報を推定する。通信システム１００は、例えば、第一装置１０によってデータが送信されたタイミングの時刻（以下、「データ送信時刻」という。）を推定する。なお、第一装置１０がデータを生成してすぐに送信するように構成されている場合、送信されたタイミングの時刻を推定することによって実質的にデータが生成された時刻が推定されてもよい。
【００１９】
通信システム１００は、通信装置２０及び第二装置３０を備える。通信装置２０は、第一ネットワーク４０を介して第一装置１０と通信可能に接続される。通信装置２０は、第二ネットワーク５０を介して第二装置３０と通信可能に接続される。第一ネットワーク４０及び第二ネットワーク５０は、各装置を通信可能に接続するネットワークであればどのような態様で構成されてもよい。例えば、第一ネットワーク４０及び第二ネットワーク５０はインターネットで構成されてもよい。
【００２０】
第一装置１０は、データを生成し、生成されたデータを第一ネットワーク４０を介して通信装置２０へ送信する。第一装置１０は、例えばセンサである。第一装置１０は、例えば検知した情報（以下、「検知情報」という。）を含むデータを生成し、生成されたデータを通信装置２０へ送信してもよい。
【００２１】
図２は、通信装置２０の機能構成を示す概略ブロック図である。例えば、通信装置２０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、通信プログラムを実行する。通信装置２０は、例えば上記通信プログラムを実行するスマートフォン等の情報処理装置として構成されてもよい。なお、通信装置２０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field-Programmable Gate Array）等のハードウェアを用いて実現されても良い。また、通信装置２０は、専用のハードウェアによって実現されても良い。通信プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。通信プログラムは、電気通信回線を介して提供されても良い。通信装置２０は、第一通信部２０１、第一通信制御部２０２、第一推定部２０３、第二通信部２０４、第二通信制御部２０５、第二推定部２０６、記憶部２０７及び制御部２０８を備える。
【００２２】
第一通信部２０１は、通信インタフェース等の通信機器を用いて構成される。第一通信部２０１は、第一ネットワーク４０を介して第一装置１０との間で通信する。第一通信部２０１は、有線通信を行ってもよいし、無線通信を行ってもよい。第一通信部２０１は、第一装置１０によって生成されたデータを受信する。
【００２３】
第一通信制御部２０２は、第一通信部２０１における通信を制御する。第一通信制御部２０２は、第一推定部２０３の指示に応じて、第一通信部２０１及び第一ネットワーク４０を介して第一装置１０に対し通信要求を送信する。通信要求は、送信先となる装置（第一装置１０）に対して、送信元となる装置（通信装置２０）に対して通信応答を返信することを要求するデータである。通信要求は、例えばＩＣＭＰ（Internet Control Message Protocol）の”echo request”パケットであってもよい。言い換えると、第一通信制御部２０２は、pingを用いて構成されてもよい。第一通信制御部２０２は、通信要求を送信してから通信応答が受信されるまでに要した時間（以下、「第一応答時間」という。）を第一推定部２０３に通知する。
【００２４】
第一推定部２０３は、所定のタイミングで第一通信制御部２０２に対し通信要求の送信を指示する。第一推定部２０３は、第一通信制御部２０２から通知される第一応答時間に基づいて、第一装置１０がデータを送信してから通信装置２０によってデータが受信されるまでに要する時間（以下、「第一伝送時間」という。）を推定する。例えば、第一推定部２０３は、第一応答時間に１／２を乗算することによって得られる時間を第一伝送時間として推定してもよい。
【００２５】
第二通信部２０４は、通信インタフェース等の通信機器を用いて構成される。第二通信部２０４は、第二ネットワーク５０を介して第二装置３０との間で通信する。第二通信部２０４は、有線通信を行ってもよいし、無線通信を行ってもよい。第二通信部２０４は、第一装置１０によって生成されたデータに対して情報が付加されたデータを送信する。
【００２６】
第二通信制御部２０５は、第二通信部２０４における通信を制御する。第二通信制御部２０５は、制御部２０８の指示に応じて、第二ネットワーク５０を介して第二装置３０との間に通信経路を形成する。形成される通信経路は、例えば通信会社によって法人向けに提供されるセキュリティの高い通信網（例えば閉域網）である。第二ネットワーク５０に形成される通信経路には、例えばＳＳＬ（Secure Sockets Layer）、ＴＬＳ（Transport Layer Security）のように暗号化通信方式を用いた通信（例えばＶＰＮ：Virtual Private Network）が適用されてもよい。
【００２７】
第二通信制御部２０５は、第二推定部２０６の指示に応じて、第二通信部２０４及び第二ネットワーク５０上に形成された通信経路を介して第二装置３０に対し通信要求を送信する。通信要求は、送信先となる装置（第二装置３０）に対して、送信元となる装置（通信装置２０）に対して通信応答を返信することを要求するデータである。通信要求は、例えばＩＣＭＰの”echo request”パケットであってもよい。言い換えると、第二通信制御部２０５は、pingを用いて構成されてもよい。第二通信制御部２０５は、通信要求を送信してから通信応答が受信されるまでに要した時間（以下、「第二応答時間」という。）を第二推定部２０６に通知する。
【００２８】
第二推定部２０６は、制御部２０８の指示に応じて第二通信制御部２０５に対し通信要求の送信を指示する。第二推定部２０６は、第二通信制御部２０５から通知される第二応答時間に基づいて、通信装置２０がデータを送信してから第二装置３０によってデータが受信されるまでに要する時間（以下、「第二伝送時間」という。）を推定する。例えば、第二推定部２０６は、第二応答時間に１／２を乗算することによって得られる時間を第二伝送時間として推定してもよい。
【００２９】
記憶部２０７は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。記憶部２０７は、制御部２０８の制御に応じてデータを記憶する。
制御部２０８は、通信装置２０における通信処理を制御する。制御部２０８は、第一通信部２０１によって受信されたデータに対し、第一受信時刻情報、第一伝送時間情報、第二伝送時間情報及び中間送信時刻情報を付加する。第一受信時刻情報は、第一通信部２０１によってデータが受信されたタイミングの時刻を示す情報である。第一受信時刻情報は、通信装置２０が備える時計に基づいて生成される。第一伝送時間情報は、上述したように、第一装置１０がデータを送信してから通信装置２０によってデータが受信されるまでに要する時間を示す情報である。第二伝送時間情報は、上述したように、通信装置２０がデータを送信してから第二装置３０によってデータが受信されるまでに要する時間を示す情報である。中間送信時刻情報は、第二通信部２０４によってデータが送信されるタイミングの時刻を示す情報である。中間送信時刻情報は、通信装置２０が備える時計に基づいて生成される。制御部２０８は、データを第二装置３０に送信するタイミングが到来すると、第二通信制御部２０５に対し通信経路を形成することを指示する。制御部２０８は、通信経路が形成されると、第二推定部２０６に対し第二伝送時間の推定を指示する。
【００３０】
図３は、第二装置３０の機能構成を示す概略ブロック図である。例えば、第二装置３０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、制御プログラムを実行する。なお、第二装置３０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。また、第二装置３０は、専用のハードウェアによって実現されても良い。制御プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。制御プログラムは、電気通信回線を介して提供されても良い。第二装置３０は、通信部３０１、通信制御部３０２、記憶部３０３、制御部３０４及び推定部３０５を備える。
【００３１】
通信部３０１は、通信インタフェース等の通信機器を用いて構成される。通信部３０１は、第二ネットワーク５０を介して通信装置２０との間で通信する。通信部３０１は、有線通信を行ってもよいし、無線通信を行ってもよい。通信部３０１は、通信装置２０から送信されたデータを受信する。
【００３２】
通信制御部３０２は、通信部３０１における通信を制御する。通信制御部３０２は、第二ネットワーク５０を介して通信装置２０との間に通信経路を形成する。通信制御部３０２は、通信部３０１及び第二ネットワーク５０上に形成された通信経路を介して通信装置２０から通信要求が受信されると、通信要求に応じて通信応答を送信する。通信応答は、例えばＩＣＭＰの”echo reply”パケットであってもよい。言い換えると、通信制御部３０２は、pingを用いて構成されてもよい。
【００３３】
記憶部３０３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。記憶部３０３は、制御部３０４の制御に応じてデータを記憶する。
制御部３０４は、第二装置３０における処理を制御する。制御部３０４は、通信部３０１によって受信されたデータに対し、第二受信時刻情報を付加する。第二受信時刻情報は、通信部３０１によってデータが受信されたタイミングの時刻を示す情報である。第二受信時刻情報は、第二装置３０が備える時計に基づいて生成される。制御部３０４は、第二受信時刻が付加されたデータを、記憶部３０３に記録する。
【００３４】
推定部３０５は、記憶部３０３に記憶されているデータに関して、第一伝送時間情報、第二伝送時間情報、第一受信時刻情報、第二受信時刻情報及び中間送信時刻情報に基づいて、データ送信時刻を推定する。推定部３０５は、例えば以下のような式に基づいてデータ送信時刻を推定してもよい。
【００３５】
データ送信時刻＝Ｒ２−Ｔ２−（Ｓ−Ｒ１）−Ｔ１
Ｒ２：第二受信時刻
Ｔ２：第二伝送時間
Ｓ：中間送信時刻
Ｒ１：第一受信時刻
Ｔ１：第一伝送時間
【００３６】
推定部３０５は、推定されたデータ送信時刻を示す情報（以下、「データ送信推定時刻情報」という。）をデータに付加する。推定部３０５は、データ送信推定時刻情報が付加されたデータを、記憶部３０３に記録する。
【００３７】
図４は、通信システム１００の動作のうち、第一伝送時間情報が生成される際の処理の流れの具体例を示すシーケンスチャートである。まず、通信装置２０の第一推定部２０３は、所定のタイミングが到来すると第一通信制御部２０２に対し通信要求の送信を指示する。この所定のタイミングは、第一伝送時間が所定の精度で求められるように予め設計者や利用者によって定められる。この所定のタイミングは定期的なタイミングであってもよいし、不定期なタイミングであってもよい。この所定のタイミングは、例えば１時間に１度到来するタイミングであってもよいし、１日に一度到来するタイミングであってもよいし、他のタイミングであってもよい。第一通信制御部２０２は、第一推定部２０３の指示に応じて通信要求を第一装置１０宛に送信する（ステップＳ１０１）。
【００３８】
第一装置１０は、通信装置２０から通信要求を受信すると、受信された通信要求に応じて通信応答を通信装置２０宛に送信する（ステップＳ１０２）。通信装置２０の第一通信制御部２０２は、通信応答が受信されると、第一応答時間を取得する。第一通信制御部２０２は、取得された第一応答時間を第一推定部２０３に通知する。第一推定部２０３は、第一応答時間に基づいて第一伝送時間を推定する（ステップＳ１０３）。第一推定部２０３は、推定結果である第一伝送時間情報を制御部２０８に通知する。制御部２０８は、第一伝送時間情報を記憶部２０７に記録する（ステップＳ１０４）。
【００３９】
図５は、通信システム１００の動作のうち、第一装置１０から送信されたデータが第二装置３０において記録されるまでの処理の流れの具体例を示すシーケンスチャートである。まず、第一装置１０は、所定のタイミングでデータを生成する（ステップＳ２０１）。この所定のタイミングは定期的なタイミングであってもよいし、不定期なタイミングであってもよい。この所定のタイミングは、例えば１時間に１度到来するタイミングであってもよいし、１日に一度到来するタイミングであってもよいし、他のタイミングであってもよい。第一装置１０は、生成されたデータを通信装置２０へ送信する（ステップＳ２０２）。
【００４０】
通信装置２０の制御部２０８は、第一装置１０からデータが受信されると、受信されたデータに対して第一受信時刻情報を付加する（ステップＳ２０３）。また、制御部２０８は、記憶部２０７に記録されている最新の第一伝送時間情報を読み出し、読み出された第一伝送時間情報をデータに対して付加する（ステップＳ２０４）。制御部２０８は、第一受信時刻情報及び第一伝送時間情報が付加されたデータを記憶部２０７に書き込む。
【００４１】
制御部２０８は、所定のタイミングが到来すると、第二通信制御部２０５に対し通信経路の接続を指示する。この所定のタイミングは、予め設計者や利用者によって定められる。この所定のタイミングは定期的なタイミングであってもよいし、不定期なタイミングであってもよい。この所定のタイミングは、例えば１時間に１度到来するタイミングであってもよいし、１日に一度到来するタイミングであってもよいし、記憶部２０７に記録されているデータの数又はデータ量が所定の閾値に達したタイミングであってもよい。第二通信制御部２０５は、制御部２０８の指示に応じて、第二装置３０との間に通信経路を接続する（ステップＳ２０６）。
【００４２】
制御部２０８は、通信経路が接続されると、第二推定部２０６に対して第二伝送時間の推定を指示する。第二推定部２０６は、制御部２０８の指示に応じて第二通信制御部２０５に対し通信要求の送信を指示する。第二通信制御部２０５は、第二推定部２０６の指示に応じて通信要求を第二装置３０宛に送信する（ステップＳ２０７）。
【００４３】
第二装置３０の通信制御部３０２は、通信装置２０から通信要求を受信すると、受信された通信要求に応じて通信応答を通信装置２０宛に送信する（ステップＳ２０８）。通信装置２０の第二通信制御部２０５は、通信応答が受信されると、第二応答時間を取得する。第二通信制御部２０５は、取得された第二応答時間を第二推定部２０６に通知する。第二推定部２０６は、第二応答時間に基づいて第二伝送時間を推定する（ステップＳ２０９）。第二推定部２０６は、推定結果である第二伝送時間情報を制御部２０８に通知する。制御部２０８は、第二伝送時間情報をデータに対して付加する（ステップＳ２１０）。また、制御部２０８は、中間送信時刻情報をデータに対して付加する（ステップＳ２１１）。制御部２０８は、第一受信時刻情報、第一伝送時間情報、第二伝送時間情報及び中間送信時刻情報が付加されたデータを、第二装置３０に送信する（ステップＳ２１２）。
【００４４】
第二装置３０の制御部３０４は、通信装置２０からデータが受信されると、受信されたデータに対して第二受信時刻情報を付加する（ステップＳ２１３）。制御部３０４は、第二受信時刻情報が付加されたデータを記憶部３０３に書き込む（ステップＳ２１４）。
【００４５】
図６は、通信システム１００の動作のうち、データ送信推定時刻情報が記録される際の処理の流れの具体例を示すシーケンスチャートである。まず、第二装置３０の推定部３０５は、記憶部３０３に記憶されているデータの中から、データ送信時刻の推定対象となるデータを読み出す。推定部３０５は、読み出されたデータに付加されている情報に基づいて、データ送信時刻を推定する（ステップＳ３０１）。推定部３０５は、データ送信推定時刻情報をデータに付加する（ステップＳ３０２）。推定部３０５は、データ送信推定時刻情報が付加されたデータを記憶部３０３に記録する（ステップＳ３０３）。
【００４６】
図７は、通信システム１００において取り扱われるデータの状態の遷移を示す図である。図７（Ａ）は、通信装置２０によって第一装置１０から受信された時点のデータを示す。なお、図７（Ａ）には明示的には示されていないが、第一装置１０から送信されるデータに対し、第一装置１０が何らかの時刻情報や時間情報が付加されていてもよい。例えば、第一装置１０が独自の時計を備えている場合には、第一装置１０がデータの生成時刻を示す情報や、データの送信時刻を示す情報がデータに付加されていてもよい。ただし、第一装置１０が付加する生成時刻や送信時刻の精度は、第一装置１０の時計の精度に依存するため、第二装置３０によって推定される時刻に比べて高くないことが想定される。
【００４７】
図７（Ｂ）は、通信装置２０の記憶部２０７に記憶されているデータを示す。図７（Ｂ）に示されるデータには、制御部２０８によって第一受信時刻情報及び第一伝送時間情報が付加されている。
【００４８】
図７（Ｃ）は、通信装置２０の制御部２０８によって送信される直前のデータを示す。図７（Ｃ）に示されるデータには、制御部２０８によって第二伝送時間情報及び中間送信時刻情報が付加されている。なお、図７（Ｃ）の括弧内に示されているデータ（第一受信時刻情報及び第一伝送時間情報が付加されたデータ）は、複数セット存在してもよい。すなわち、第一受信時刻情報及び第一伝送時間情報が付加された複数のデータに対して、一つの第二伝送時間情報及び中間送信時刻情報が付加されてもよい。この場合、複数のデータがひとまとめにされた状態で通信装置２０から第二装置３０へ送信される。
【００４９】
図７（Ｄ）は、第二装置３０によって受信された後に記憶部３０３に記録された時点のデータを示す。図７（Ｄ）の括弧内に示されているデータも、図７（Ｃ）と同様に複数セット存在してもよい。図７（Ｄ）に示されるデータには、第二受信時刻情報が付加されている。
【００５０】
図７（Ｅ）は、第二装置３０の制御部３０４によってデータ送信推定時刻情報が付加されたデータを示す。複数セットのデータがひとまとめにされている場合、各データに対してデータ送信推定時刻情報が取得されて、付加される。
【００５１】
このように構成された通信システム１００では、データの受信先である第二装置３０において複数のデータに対し共通した基準時刻（この場合は第二装置３０が備える時計の時刻）に基づいたデータ送信時刻が推定される。そのため、たとえデータの送信元である第一装置１０が時計を有していないとしても、データ送信時刻を推定することが可能となる。また、第一装置１０が時計を有していたとしても、第一装置１０の時計の精度に関わらず第二装置３０の時計の精度でデータ送信時刻を推定することが可能となる。
【００５２】
複数の第一装置１０が一つの通信システム１００に対して接続される場合には、各第一装置１０の時計の有無や精度に関わらず、各データに対し共通した基準時刻（この場合は第二装置３０が備える時計の時刻）に基づいたデータ送信時刻を推定することが可能となる。そのため、各データの送信時刻に基づいて処理を行う場合に、その処理の精度を高めることが可能となる。
【００５３】
通信システム１００では、通信経路が常時接続されているわけではないネットワーク（例えば第二ネットワーク５０）における伝送時間は、通信経路が形成された際に推定される。そのため、通信経路が形成される度に伝送時間が異なるとしても、より精度よくデータ送信時刻を推定することが可能となる。
【００５４】
通信システム１００では、通信装置２０は、データに対して付加された時間情報を修正するのではなく、データ送信時刻を推定するために必要となる情報を付加する。そのため、通信装置２０は、通信の過程において正しい時間を算出する必要が無く、単に情報を付加するのみであるため、少ないリソースで処理を実現することが可能となる。
【００５５】
通信システム１００では、第二装置３０は、データ送信時刻を推定するために必要となる情報をデータにした上で記憶部３０３に記録する。データ送信時刻を実際に推定する処理（図６に示される処理）は、任意のタイミングで実行することができる。そのため、第二装置３０は、通信の過程において正しい時間を算出する必要が無く、単に情報を付加するのみであるため、少ないリソースで処理を実現することが可能となる。
【００５６】
通信システム１００では、通信装置２０においてデータが受信された時刻を示す情報（第一受信時刻情報）と、通信装置２０からデータが送信される時刻を示す情報（中間送信時刻情報）とがデータに付加される。そのため、通信装置２０にデータが一時的に保持されたとしても、その時間に基づいたより精度の高いデータ送信時刻を推定することが可能となる。また、これらの情報を用いることによって、データの途中経路にある通信装置２０において滞留時間に基づいてネットワーク上の障害を検知することが可能となる。
同様に、第一伝送時間情報を用いることによって、データが伝送される第一ネットワーク４０における障害を検知することが可能となる。例えば、第一伝送時間情報がそれまでの値よりも著しく異なる値である場合には、なんらかの障害が生じていると判定されてもよい。
同様に、第二伝送時間情報を用いることによって、データが伝送される第二ネットワーク５０における障害を検知することが可能となる。例えば、第一伝送時間情報がそれまでの値よりも著しく異なる値である場合には、なんらかの障害が生じていると判定されてもよい。
データに付加される情報の順番（例えば、第一受信時刻、中間送信時刻及び第二受信時刻）がデータ間で異なっている場合には、途中経路のいずれかで輻輳などによりデータの再送等のネットワーク処理が行われていると判定されてもよい。
【００５７】
通信システム１００では、図４に示されるように第一伝送時間情報が予め取得される。そのため、通信装置２０は、通信の過程において第一伝送時間情報を取得する必要が無く、少ないリソースで処理を実現することが可能となる。
【００５８】
通信システム１００では、複数のデータを一つのセットにして通信装置２０と第二装置３０との間で通信を行ってもよい。この場合、複数のデータのセットに対し第二伝送時間情報、中間送信時刻情報及び第二受信時刻情報が付加される。そのため、データの通信や記憶部３０３における記録の効率化を図ることが可能となる。
【００５９】
＜適用例＞
図８は、通信システム１００の適用例であるデータ収集システム２００のシステム構成を示す図である。データ収集システム２００は、複数のゲートウェイ２１、収集サーバ３１、データベース３２及び時刻同期サーバ３３を備える。データ収集システム２００には、複数のセンサ１１が接続される。データ収集システム２００は、各センサ１１から送信されたデータを収集し、各データがセンサ１１によって送信された時刻（データ送信時刻）を推定する。ゲートウェイ２１は、第一ネットワーク４１を介して複数のセンサ１１と通信可能に接続される。ゲートウェイ２１は、第二ネットワーク５１を介して収集サーバ３１と通信可能に接続される。第一ネットワーク４１及び第二ネットワーク５１は、各装置を通信可能に接続するネットワークであればどのような態様で構成されてもよい。例えば、第一ネットワーク４１及び第二ネットワーク５１はインターネットで構成されてもよい。
【００６０】
センサ１１は、第一装置１０の具体例である。ゲートウェイ２１は、通信装置２０の具体例である。収集サーバ３１は、第二装置３０の具体例である。第一ネットワーク４１は、第一ネットワーク４０の具体例である。第二ネットワーク５１は、第二ネットワーク５０の具体例である。収集サーバ３１には、データベース３２及び時刻同期サーバ３３が接続される。なお、データベース３２は第二装置３０の記憶部３０３に相当する。
【００６１】
センサ１１は、センサ情報（センサ１１によって検知された情報、センサ１１の識別情報を含む。）をデータとして生成する。センサ１１は、生成されたデータを、第一ネットワーク４１を介してゲートウェイ２１に送信する。センサ１１にはどのような種類のセンサが適用されてもよい。センサ１１には、複数種類のセンサが適用されてもよい。センサ１１は、例えば温度を測定するセンサであってもよいし、気圧を測定するセンサであってもよいし、音量を測定するセンサであってもよいし、風速を測定するセンサであってもよい。
【００６２】
ゲートウェイ２１は、第一ネットワーク４１を介して受信されるセンサ情報に対し、第一受信時刻情報、第一伝送時間情報、第二伝送時間情報及び中間送信時刻情報を付加する。ゲートウェイ２１は、各情報が付加されたセンサ情報を、第二ネットワーク５１を介して収集サーバ３１に送信する。
【００６３】
収集サーバ３１は、第二ネットワーク５１を介して受信されるセンサ情報に対し、第二受信時刻情報を付加する。収集サーバ３１は、第二受信時刻情報が付加されたセンサ情報をデータベース３２に記録する。収集サーバ３１は、時刻同期サーバ３３との間で時刻同期処理を実行する。そのため、収集サーバ３１が有する時計の時刻（例えば第二受信時刻情報の基準となる時刻）は正確である。
【００６４】
データベース３２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を備えたデータベース装置である。データベース３２は、収集サーバ３１によって収集されるセンサ情報を記憶する。
時刻同期サーバ３３は、ＮＴＰに基づいて動作することによって、他の装置の時刻を同期させる。
【００６５】
このように構成されたデータ収集システム２００では、複数のセンサ１１によって検知されたセンサ情報の送信時刻を、収集サーバ３１において共通した基準時刻に基づいて推定できる。そのため、各センサ情報を用いた処理の精度を高めることが可能となる。また、各センサ１１やゲートウェイ２１において正確な時刻を取得するための機能（例えば、時計機能、ＮＴＰクライアント機能）を有する必要が無い。そのため、データ収集システム２００を構築するための費用を削減することが可能となる。
【００６６】
［変形例］
第一ネットワーク４０は、常時接続された閉域網として構築されてもよい。第二ネットワーク５０も、常時接続された閉域網として構築されてもよい。
【００６７】
第二ネットワーク５０には、常に通信経路が形成されたままであってもよい。この場合、図５に示されるステップＳ２０６の処理は不要である。また、図５に示されるステップＳ２０７〜Ｓ２０９の処理は、図４に示される処理と同様に事前処理として所定のタイミングで実行されてもよい。この場合、推定された第二伝送時間を示す情報（第二伝送時間情報）は、記憶部２０７に記録されてもよい。
第一ネットワーク４０には、上述した第二ネットワーク５０と同様に通信経路が形成されてもよい。この場合、第一通信制御部２０２は上述した第二通信制御部２０５と同様の動作をする。すなわち、第一通信制御部２０２は、制御部２０８の指示に応じて、第一ネットワーク４０を介して第一装置１０との間に通信経路を形成する。形成される通信経路は、例えば通信会社によって法人向けに提供されるセキュリティの高い通信網（例えば閉域網）である。第一ネットワーク４０に形成される通信経路には、例えばＳＳＬ、ＴＬＳのように暗号化通信方式を用いた通信（例えばＶＰＮ）が適用されてもよい。この場合、第一応答時間の計測や第一伝送時間の推定は、第一ネットワーク４０上に形成された通信経路について行われる。また、第一装置１０から通信装置２０へのデータの送信も、第一ネットワーク４０上に形成された通信経路について行われる。
【００６８】
データ送信時刻を推定する処理は、第二装置３０ではなく不図示の他の装置によって行われてもよい。すなわち、推定部３０５としての機能は、第二装置３０ではなく不図示の他の装置に実装されてもよい。例えば、上述した適用例において推定部３０５としての機能が収集サーバ３１とは異なる装置に実装されてもよい。この場合、推定部３０５としての機能は、データベース３２からデータを読み出し、処理を実行する。
通信装置２０は、複数のデータを続けて（連続的に）送信する場合に、最初に送信されるデータと最後に送信されるデータに対してのみ中間送信時刻情報を付加してもよい。この場合、第二伝送時間情報は、連続的に送信されるデータのうち少なくともいずれか一つのデータに付加される。この場合、第二装置３０の制御部３０４は、最初に送信されたデータと最後に送信されたデータに対してのみ第二受信時刻情報を付加し、受信された順番で記憶部３０３に記録する。制御部３０４は、データ送信時刻を推定する際には、最初に送信されたデータのデータ送信推定時刻と最後に送信されたデータのデータ送信推定時刻とに基づいて、２番目以降に送信された各データのデータ送信推定時刻を推定する。例えば、最初に送信されたデータのデータ送信推定時刻と最後に送信されたデータのデータ送信推定時刻との差の時間を、その間に送信されたデータの個数で除算することによって得られる時間を、２番目以降の各データに累積的に加算することによって、各データのデータ送信時刻が推定されてもよい。
【００６９】
第一装置１０から第二装置３０に至るまでの通信経路に設置される通信装置２０の台数は１台に限定される必要は無い。例えば、２台以上の通信装置２０を経由してデータが第一装置１０から第二装置３０に送信されてもよい。この場合、各通信装置２０において、第一受信時刻情報、第一伝送時間情報、第二伝送時間情報及び中間送信時刻情報が付加される。また、第一伝送時間情報は、通信経路において一つ前に位置する通信装置２０と自装置との間の伝送に要する時間を表す場合がある。同様に、第二伝送時間情報は、通信経路において一つ後に位置する通信装置２０と自装置との間の伝送に要する時間を表す場合がある。
【００７０】
通信装置２０の制御部２０８は、第一伝送時間情報及び第二伝送時間情報に変えて、第一応答時間を示す情報（以下、「第一応答時間情報」という。）及び第二応答時間を示す情報（以下、「第二応答時間情報」という。）をデータに付加してもよい。この場合、第二装置の制御部３０４が、第一応答時間情報及び第二応答時間情報に基づいてそれぞれ第一伝送時間及び第二伝送時間を推定してもよい。
第一通信制御部２０２は、“echo request”を送信する際に、送信されるデータのサイズ（図７（Ａ）のデータのサイズ）を指定してもよい。このように構成されることにより、第一応答時間をより正確に取得する事が可能となる。
第二通信制御部２０５は、“echo request”を送信する際に、送信されるデータのサイズ（図７（Ｃ）のデータのサイズ）を指定してもよい。このように構成されることにより、第二応答時間をより正確に取得する事が可能となる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７１】
１００…通信システム，  １０…第一装置，  ２０…通信装置，  ２０１…第一通信部，  ２０２…第一通信制御部，  ２０３…第一推定部，  ２０４…第二通信部，  ２０５…第二通信制御部，  ２０６…第二推定部，  ２０７…記憶部，  ２０８…制御部，  ３０…第二装置，  ３０１…通信部，  ３０２…通信制御部，  ３０３…記憶部，  ３０４…制御部，  ３０５…推定部
【図１】
0006572136.tif 000002
【図２】
0006572136.tif 000003
【図３】
0006572136.tif 000004
【図４】
0006572136.tif 000005
【図５】
0006572136.tif 000006
【図６】
0006572136.tif 000007
【図７】
0006572136.tif 000008
【図８】
0006572136.tif 000009