IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7435278データ収集装置、データ収集方法及びプログラム
<>
  • 特許-データ収集装置、データ収集方法及びプログラム 図1
  • 特許-データ収集装置、データ収集方法及びプログラム 図2
  • 特許-データ収集装置、データ収集方法及びプログラム 図3
  • 特許-データ収集装置、データ収集方法及びプログラム 図4
  • 特許-データ収集装置、データ収集方法及びプログラム 図5
  • 特許-データ収集装置、データ収集方法及びプログラム 図6
  • 特許-データ収集装置、データ収集方法及びプログラム 図7
  • 特許-データ収集装置、データ収集方法及びプログラム 図8
  • 特許-データ収集装置、データ収集方法及びプログラム 図9
  • 特許-データ収集装置、データ収集方法及びプログラム 図10
  • 特許-データ収集装置、データ収集方法及びプログラム 図11
  • 特許-データ収集装置、データ収集方法及びプログラム 図12
  • 特許-データ収集装置、データ収集方法及びプログラム 図13
  • 特許-データ収集装置、データ収集方法及びプログラム 図14
  • 特許-データ収集装置、データ収集方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】データ収集装置、データ収集方法及びプログラム
(51)【国際特許分類】
   H04L 12/28 20060101AFI20240214BHJP
【FI】
H04L12/28 203
【請求項の数】 5
(21)【出願番号】P 2020099479
(22)【出願日】2020-06-08
(65)【公開番号】P2021193773
(43)【公開日】2021-12-23
【審査請求日】2023-03-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】雨宮 宏一郎
(72)【発明者】
【氏名】一角 健人
(72)【発明者】
【氏名】河野 美帆
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2018-125622(JP,A)
【文献】特開2005-244880(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得する取得部と、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類する分類部と、
前記グループを単位として前記データ送信要求の送信タイミングを決定する決定部と、
を有し、
前記決定部は、必要帯域が最小化されるように、前記グループを単位として前記データ送信要求の送信タイミングを決定する、
ことを特徴とするデータ収集装置。
【請求項2】
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得する取得部と、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類する分類部と、
前記グループを単位として前記データ送信要求の送信タイミングを決定する決定部と、
を有し、
前記分類部は、同じグループに属する前記データ送信要求に関する前記遅延の予測値の分散が第1の閾値以下であり、かつ、同じグループに属する前記データ送信要求に関する前記スループットの予測値の分散が第2の閾値以下となるように、前記複数のデータ送信要求をグループに分類する、
ことを特徴とするデータ収集装置。
【請求項3】
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得し、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類し、
前記グループを単位として前記データ送信要求の送信タイミングを決定する、
処理をコンピュータが実行し、
前記決定する処理は、必要帯域が最小化されるように、前記グループを単位として前記データ送信要求の送信タイミングを決定する、
ことを特徴とするデータ収集方法。
【請求項4】
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得し、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類し、
前記グループを単位として前記データ送信要求の送信タイミングを決定する、
処理をコンピュータが実行し、
前記分類する処理は、同じグループに属する前記データ送信要求に関する前記遅延の予測値の分散が第1の閾値以下であり、かつ、同じグループに属する前記データ送信要求に関する前記スループットの予測値の分散が第2の閾値以下となるように、前記複数のデータ送信要求をグループに分類する、
ことを特徴とするデータ収集方法。
【請求項5】
請求項1又は2記載のデータ収集装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ収集装置、データ収集方法及びプログラムに関する。
【背景技術】
【0002】
分散した複数のデバイス(車載カメラ等)において生成されたデータ(映像データ等)を、或るサービスからの要求に従って収集するコンピュータシステムが有る。当該コンピュータシステムは、サービスからの収集要求を受信すると、データ送信元(デバイス)に対して必要なデータの送信を要求することで当該データを取得し、当該データをサービスに対して送信する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2006-079488号公報
【文献】特開2008-199381号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の場合、デバイスへのデータ送信要求の発行から、デバイスからデータが送信されてくるまでの遅延やスループットが、デバイスの性能やネットワーク環境に依存してゆらぐ。その結果、デバイスに対して定期的に要求を発行していても、データの受信の集中によりネットワークの輻輳が発生する可能性が有る。
【0005】
そこで、一側面では、本発明は、ネットワークの輻輳を回避することを目的とする。
【課題を解決するための手段】
【0006】
一つの態様では、データ収集装置は、複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得する取得部と、前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類する分類部と、前記グループを単位として前記データ送信要求の送信タイミングを決定する決定部と、を有する。
【発明の効果】
【0007】
一側面として、ネットワークの輻輳を回避することができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態におけるシステム構成例を示す図である。
図2】本発明の実施の形態におけるデータ収集装置10のハードウェア構成例を示す図である。
図3】本発明の実施の形態におけるデータ収集装置10の機能構成例を示す図である。
図4】車両データの収集要求に基づいてデータ収集装置10が実行する処理手順の一例を説明するためのフローチャートである。
図5】収集要求の構成例を示す図である。
図6】位置情報記憶部126の構成例を示す図である。
図7】通信情報記憶部125の構成例を示す図である。
図8】収集要求のスケジューリングを説明するための図である。
図9】スケジュール記憶部122の構成例を示す図である。
図10】車両データ送信要求の送信処理の処理手順の一例を説明するためのフローチャートである。
図11】収集状態記憶部124の構成例を示す図である。
図12】車両データの受信処理の処理手順の一例を説明するためのフローチャートである。
図13】収集要求に対する応答の送信処理の処理手順の一例を説明するためのフローチャートである。
図14】車両30の位置情報の記録処理の処理手順の一例を説明するためのフローチャートである。
図15】通信情報記憶部125の更新処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。図1において、データ収集装置10は、1以上のサービス装置20とインターネット等のネットワークN2を介して接続される。データ収集装置10は、また、複数の車両30とネットワークN1を介して接続される。ネットワークN1は、無線区間を含んでもよい。
【0010】
サービス装置20は、データ収集装置10によって収集される、車両30(又は車両30に搭載されている車載カメラ等)によって生成されるデータ(以下、「車両データ」という。)を用いて所定のサービスを提供する1以上のコンピュータである。例えば、車両データの一例として、映像データを含むデータが挙げられる。また、この場合、自動運転に関する機械学習、自動車保険に関するサービス、地図情報の生成等が所定のサービスの一例として挙げられる。サービス装置20は、任意のタイミングで、車両データの収集要求をデータ収集装置10へ送信する。
【0011】
データ収集装置10は、サービス装置20からの収集要求に応じ、各車両30から車両データを収集する1以上のコンピュータである。データ収集装置10は、収集した車両データ(又は当該車両データを加工したデータ)をサービス装置20へ送信する。
【0012】
車両30は、データ収集装置10によって収集される車両データの生成元及び送信元となるデバイスの一例である。各車両30は移動するため、複数の場所に分散して存在する。
【0013】
図2は、本発明の実施の形態におけるデータ収集装置10のハードウェア構成例を示す図である。図2のデータ収集装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
【0014】
データ収集装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0015】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってデータ収集装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0016】
なお、記録媒体101の一例としては、CD-ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【0017】
図3は、本発明の実施の形態におけるデータ収集装置10の機能構成例を示す図である。図3において、データ収集装置10は、収集要求受信部11、スケジューリング部12、車両データ要求部13、応答受信部14、データ処理部15、通信情報生成部16及び位置情報受信部17等を有する。これら各部は、データ収集装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。データ収集装置10は、また、収集要求記憶部121、スケジュール記憶部122、データ記憶部123、収集状態記憶部124、通信情報記憶部125及び位置情報記憶部126等の記憶部を利用する。これら各記憶部は、例えば、メモリ装置103、補助記憶装置102、又はデータ収集装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【0018】
収集要求受信部11は、サービス装置20から送信される、車両データの収集要求を受信し、当該収集要求を収集要求記憶部121に記憶する。収集要求には、車両データの収集対象とする車両30の識別情報(以下、「車両ID」という。)等が含まれる。収集要求受信部11は、受信した収集要求を収集要求記憶部121に記録する。
【0019】
スケジューリング部12は、周期的等の複数のタイミングで、前回のタイミングから今回のタイミングまでの期間に収集要求記憶部121に記録された1以上の収集要求の集合(以下、「収集要求群」という。)に応じた、車両30への車両データの送信要求(以下、単に「車両データ送信要求」という。)の送信タイミングをスケジューリング(決定)する。本実施の形態において、収集要求と車両データ送信要求とは1対1に対応する。したがって、収集要求と車両データ送信要求とは等価である。
【0020】
スケジューリング部12は、スケジューリングに際し、収集要求群を構成する各収集要求について、遅延の予測値及びスループットの予測値を取得し、これらの予測値に基づいて、収集要求群をクラスタリングして複数のグループ(以下、「収集グループ」という。)に分類する。スケジューリング部12は、各収集グループに属する収集要求の遅延の予測値の分散、及びスループットの予測値の分散のそれぞれがそれぞれに対する閾値以下となるようにクラスタリングを行う。スケジューリング部12は、収集グループ単位で(一つの収集グループを一塊の収集要求として)スケジューリングを行う。したがって、同一の収集グループに属する各収集要求の送信タイミングは同じとなる。収集グループ単位のスケジューリングの結果(以下、「スケジュール情報」という。)は、スケジュール記憶部122に記録される。すなわち、1つの収集グループに対して1つのスケジュール情報がスケジュール記憶部122に記録される。
【0021】
なお、収集要求の遅延とは、車両データ送信要求が送信されてから、車両30が応答(車両データの送信)を開始するまでの時間的な遅延をいう。スループットとは、車両30からの車両データ受信に関するスループットである。遅延及びスループットのそれぞれの予測値は、通信情報記憶部125に記憶されている、過去における当該車両30からの車両データの収集時の遅延及びスループットの実績値に基づく。
【0022】
車両データ要求部13は、スケジュール記憶部122に記録されたスケジュール情報に基づいて、収集要求の対象の車両30に対して車両データ送信要求を送信する。
【0023】
応答受信部14は、車両データ送信要求の送信先の車両30から応答として送信される車両データを受信し、当該車両データをデータ記憶部123に記録する。応答受信部14は、また、車両データ送信要求の送信、車両データの受信の開始、及び車両データの受信の終了等のそれぞれのタイミングを示す情報を収集状態記憶部124に記録する。
【0024】
データ処理部15は、データ記憶部123に記録された車両データを、当該車両データの収集要求の送信元のサービス装置20へ送信する。収集要求において所定の加工が要求されている場合、データ処理部15は、当該収集要求に係る車両データに対して当該所定の加工を適用するための処理を実行する。
【0025】
通信情報生成部16は、収集状態記憶部124に記憶されている情報に基づいて、各車両30について、遅延及びスループットの実績値等を含む情報を生成し、当該情報を通信情報記憶部125に記録する。
【0026】
位置情報受信部17は、周期的等の複数のタイミングで、各車両30から当該車両30の位置情報を受信し、受信した位置情報を位置情報記憶部126に記録する。
【0027】
以下、データ収集装置10が実行する処理手順について説明する。図4は、車両データの収集要求に基づいてデータ収集装置10が実行する処理手順の一例を説明するためのフローチャートである。図4の処理手順は、例えば、周期的に訪れるタイミング等の複数のタイミングで繰り返し実行される。前回の当該処理手順の実行時から今回の当該処理手順の実行時までの期間を、以下「期間T1」という。
【0028】
ステップS101において、スケジューリング部12は、期間T1において収集要求受信部11が受信した収集要求の集合を収集要求記憶部121から取得する(S101)。なお、取得された収集要求は、収集要求記憶部121から削除される。
【0029】
図5は、収集要求の構成例を示す図である。図5に示されるように、収集要求は、要求ID、車両ID、データID、データサイズ、要求生成日時及び収集期限等を含む。要求IDは、各収集要求に対して一意に付与される識別情報である。車両IDは、車両データの収集対象の車両30(以下、「対象車両30」という。)の識別情報である。データIDは、対象車両30から収集される車両データの識別情報である。要求生成日時は、当該収集要求の生成日時である。収集期限は、車両データの収集期限を示す情報である。収集期限は、例えば、要求生成日時からの経過時間(例えば、「5分後」等)によって指定されてもよいし、絶対値(日時等)によって指定されてもよい。
【0030】
1以上の収集要求が取得されなかった場合(すなわち、収集要求記憶部121が空だった場合)(S102でNO)、ループ処理L1以降は実行されない。1以上の収集要求が取得された場合(S102でYES)、スケジューリング部12は、取得された収集要求ごとのループ処理L1(S103~S105)を実行する。ループ処理L1において処理対象とされている収集要求を、以下「対象要求」という。
【0031】
ステップS103において、スケジューリング部12は、対象要求から車両ID(以下、「対象車両ID」という。)を取得する。続いて、スケジューリング部12は、対象車両IDに対応する位置情報(すなわち、対象車両30の位置情報)を位置情報記憶部126から取得する(S104)。
【0032】
図6は、位置情報記憶部126の構成例を示す図である。図6に示されるように、位置情報記憶部126には、例えば、定期的に各車両30から送信される、当該車両30の位置情報(例えば、緯度及び経度等の地理的な位置を示す情報)が車両ID及び日時に対応づけられて記憶される。
【0033】
日時は、位置情報の受信日時(車両30からの送信日時)である。位置情報は、当該日時における車両IDに係る車両30の位置情報である。当該位置情報は、車両30が備えるGPS機能等によって計測されてもよい。なお、位置情報記憶部126には、車両30ごとにレコードが記憶される。すなわち、位置情報記憶部126に記憶されている各レコードは、各車両30から最後に受信された位置情報を含む。したがって、スケジューリング部12は、対象車両IDに対応する位置情報を、対象車両30の現在位置を示す位置情報として扱う。
【0034】
続いて、スケジューリング部12は、対象車両ID、現在の時間帯、及び対象車両30の位置情報(以下、「対象車両位置情報」という。)に対応する通信情報(遅延及びスループット)を通信情報記憶部125から取得する(S105)。なお、現在の時間帯とは、例えば、月、曜日及び1時間単位の時間によって区別される期間のうち、現在日時が属する期間である。例えば、現在日時が「3/11(水)18:32」である場合、「3月、水曜日、18時台」が現在の時間帯とされる。ただし、時間帯は、月によって区別されなくてもよいし、曜日によって区別されなくてもよいし、1時間単位でなくてもよい。
【0035】
図7は、通信情報記憶部125の構成例を示す図である。図7に示されるように、通信情報記憶部125には、車両ID、位置情報及び時間帯の組み合わせごとに、遅延及びスループットが記憶されている。すなわち、同じ車両IDでも、位置情報又は時間帯が異なれば異なるレコードに遅延及びスループットが記憶される。後述されるように、通信情報記憶部125に記憶されるデータは、過去の実績に基づいて生成される。なお、位置情報は、例えば、50m四方に区切られた各メッシュの左上頂点の緯度及び経度である。時間帯は、月、曜日及び1時間単位の時間によって区別される期間である。遅延は、過去に受信された車両データのうち、車両ID、位置情報及び時間帯において受信された車両データについての遅延の統計情報である。スループットは、当該受信についてのスループットの統計情報である。本実施の形態では、遅延の統計情報及びスループットの統計情報として、それぞれの平均値が用いられる例を説明するが、最大値、最小値又は中央値等、その他の統計情報が用いられてもよい。
【0036】
ステップS105において、スケジューリング部12は、通信情報記憶部125のレコードのうち、対象車両ID、対象車両位置情報及び現在の時間帯に合致する車両ID、位置情報及び時間帯に係るレコードの遅延及びスループットを、対象要求に対する遅延及びスループットのそれぞれの予測値として取得する。なお、対象車両位置情報に合致するレコード(対象車両位置情報に係る位置が属するメッシュに対応する位置情報を含むレコード)が無い場合、対象車両ID及び現在の時間帯に合致するレコード群のうち、対象位置情報に最も近い位置情報を含むレコードから遅延及びスループットが取得されてもよい。同様に、現在の時間帯に合致するレコードが無い場合、対象車両ID及び対象車両位置情報に合致するレコード群のうち、現在の時間帯に最も近い時間帯に係るレコードから遅延及びスループットが取得されてもよい。
【0037】
ループ処理L1が全ての収集要求について実行されると、各収集要求に対する遅延及びスループットのそれぞれの予測値が取得された状態となる。以下、収集要求に対する遅延の予測値を単に「遅延」といい、収集要求に対するスループットの予測値を単に「スループット」という。
【0038】
続いて、スケジューリング部12は、遅延及びスループットの2つのパラメータに基づいて、収集要求群をクラスタリングし、当該収集要求群を複数の収集グループに分類する(S106)。
【0039】
図8は、収集要求のスケジューリングを説明するための図である。ステップS106では、図8の(1)に示されるようにクラスタリングが行われる。この際、スケジューリング部12は、各収集グループの遅延の分散が閾値th1以下であり、かつ、スループットの分散が閾値th2以下となるように、クラスタリングを行う。図8(1)の例では、収集要求1、3、4及び8の4つが1つのグループ(グループ1)に分類され、収集要求2、5、6、7の4つが1つのグループ(グループ2)に分類され、収集要求9及びNのそれぞれは、独立でグループを形成する例が示されている。
【0040】
続いて、スケジューリング部12は、収集グループごとに、当該収集グループに属する各収集要求についてステップS105において取得されたスループットの平均値(平均スループット)を算出する(S107)。続いて、スケジューリング部12は、収集グループごとに、当該収集グループに属する各収集要求のデータサイズの合計(合計データサイズ)を算出する(S108)。
【0041】
続いて、スケジューリング部12は、各収集要求に係る車両データの収集期間を収集グループ単位でスケジューリング(決定)する(S109)。すなわち、各収集グループが1つのスケジューリングの単位(スケジューリングの対象)とされて収集期間のスケジューリングが行われる。ここで、収集期間とは、車両データの受信の開始時点から終了時点までの期間をいう。
【0042】
例えば、スケジューリング部12は、図8の(2)に示されるように、2次元Bin packing等の最適化アルゴリズムを用いて、必要帯域(最大の帯域)が最小化されるように収集期間を算出する。図8(2)において、或る収集グループに対応する矩形の面積は、当該収集グループの合計データサイズに相当し、当該矩形の幅が収集期間に相当し、当該矩形の高さが帯域に相当する。当該最適化アルゴリズムにおいて、収集グループごとに、当該収集グループの平均遅延及び当該収集グループに属する各収集要求の収集期限のうち最も早い期限が制約条件として用いられる。具体的には、或る収集グループの収集期間は、或る時点(例えば、現在時刻)から当該収集グループの平均遅延だけ経過した時点以降に制限される。このことは、図8(2)において当該収集グループに対応する矩形の左端が当該時点以降に制限されることを意味する。また、当該収集グループに属する各収集要求の収集期限のうち最も早い期限が、当該収集グループの収集期間が終了する期限とされる。このことは、図8(2)において当該収集グループに対応する矩形の右端が当該期限以前に制限されることを意味する。なお、図8(2)は、スケジューリングを行った結果の一例を示す。
【0043】
続いて、スケジューリング部12は、収集グループごとに、ステップS109において当該収集グループについて算出された収集期間の開始時期から当該収集グループの平均遅延を差し引いた日時(すなわち、当該開始日時から平均遅延分だけ前の日時)を、当該収集グループに属する各収集要求に応じた車両データ送信要求の送信開始日時とする(S110)。そうすることで、遅延を考慮したスケジューリングが行われる。
【0044】
続いて、スケジューリング部12は、各収集グループのスケジュール情報をスケジュール記憶部122に記録する(S111)。
【0045】
図9は、スケジュール記憶部122の構成例を示す図である。図9に示されるように、スケジュール記憶部122は、収集グループごとに、グループID、送信開始日時及びメンバ群等を記憶する。
【0046】
グループIDは、収集グループの識別情報である。送信開始日時は、当該収集グループに属する収集要求群に応じた車両データ送信要求の送信の開始日時である。メンバ群は、当該収集グループに属する収集要求の集合である。
【0047】
なお、スケジュール記憶部122には、送信開始日時の昇順にレコードが記憶されるようにしてもよい。
【0048】
図10は、車両データ送信要求の送信処理の処理手順の一例を説明するためのフローチャートである。図10の処理手順は、図4の処理手順と並行して実行される。又は、スケジュール記憶部122へのレコードの記録に応じて図10の処理手順が開始されてもよい。
【0049】
車両データ要求部13は、例えば、定期的にスケジュール記憶部122を参照して、送信開始日時が到来した収集グループの有無を判定する(S201)。送信開始日時が到来した収集グループが有る場合(S201でYES)、車両データ要求部13は、当該収集グループのメンバ群をスケジュール記憶部122から取得する(S202)。続いて、車両データ要求部13は、当該メンバ群に含まれる収集要求ごとにループ処理L2(S203、S204)を実行する。ループ処理L2において処理対象とされている収集要求を、以下「対象要求」という。
【0050】
ステップS203において、車両データ要求部13は、対象要求に含まれる車両IDに係る車両30に対して車両データ送信要求を送信する。当該送信要求には、対象要求の要求ID、及び対象要求に含まれるデータIDが含まれる。
【0051】
続いて、車両データ要求部13は、収集状態記憶部124に対して対象要求に対応するレコードを追加する(S204)。
【0052】
図11は、収集状態記憶部124の構成例を示す図である。図11に示されるように、収集状態記憶部124のレコードは、要求ID、車両ID、データID、要求生成日時、要求発行日時、接続日時、完了日時、位置情報及びデータサイズ等の項目を有し、収集要求ごと(すなわち、車両データ送信要求ごと)に生成される。
【0053】
要求IDは、収集要求の要求IDである、車両ID、データID及び要求生成日時は、当該収集要求の車両ID、データID及び要求生成日時である。要求発行日時は、当該収集要求に関して車両30に対して車両データ送信要求が送信された日時である。接続日時は、車両データの送信元の車両30との通信の接続が開始された日時(車両データの受信が開始された日時)である。完了日時は、当該車両30からの車両データの受信が完了した日時である。位置情報は、当該車両データの送信時における当該車両30の位置情報である。データサイズは、当該車両30から実際に受信したデータのデータサイズである。
【0054】
ステップS204において、車両データ要求部13は、収集状態記憶部124に対して新たなレコードを追加し、対象要求の要求ID、車両ID、データID、要求生成日時を当該レコードに記録するとともに、ステップS204の時点の日時を、要求発行日時として当該レコードに記録する。したがって、当該レコードの接続日時、完了日時、位置情報及びデータサイズの値は空のままである。
【0055】
図12は、車両データの受信処理の処理手順の一例を説明するためのフローチャートである。図12の処理手順は、図4及び図10の処理手順と並行して実行される。
【0056】
応答受信部14は、車両データ要求部13によって車両データ送信要求が送信された各車両30からの通信の接続を待機している(S301)。当該各車両30のうちのいずれかの車両30(以下、「対象車両30」という。)から接続要求を受信すると(S301でYES)、応答受信部14は、接続日時t1をメモリ装置103に記憶する(S302)。続いて、応答受信部14は、対象車両30から送信されるデータを受信する(S303)。当該データ(以下、「受信データ」という。)の受信が完了すると(S304でYES)、応答受信部14は、完了日時t2をメモリ装置103に記憶する(S305)。
【0057】
続いて、応答受信部14は、受信データから要求ID、車両データ及び位置情報を抽出する(S306)。すなわち、車両データ送信要求を受信した車両30は、当該送信要求に含まれるデータIDに係る車両データと共に、当該送信要求に含まれる要求ID(以下、「対象要求ID」という。)と、当該車両30の現在の位置情報(以下、「対象位置情報」という。)とをデータ収集装置10へ送信する。
【0058】
続いて、応答受信部14は、収集状態記憶部124(図11)に記憶されているレコードのうち、対象要求IDを含むレコードを更新する(S307)。具体的には、応答受信部14は、当該レコードの接続日時、完了日時、位置情報、データサイズのそれぞれに、接続日時t1、完了日時t2、対象位置情報、受信データのデータサイズを記録する。
【0059】
続いて、応答受信部14は、受信データをデータ記憶部123に記録する(S308)。
【0060】
図13は、収集要求に対する応答の送信処理の処理手順の一例を説明するためのフローチャートである。図13の処理手順は、例えば、データ記憶部123への受信データの記録に応じて開始されてもよい。
【0061】
ステップS401において、データ処理部15は、データ記憶部123から受信データを取得する。続いて、データ処理部15は、当該受信データに含まれる車両データに対して、所定の加工処理を実行する(S402)。当該加工処理は、収集要求において指定されてもよい。又は、当該加工処理は実行されなくてもよい。続いて、データ処理部15は、当該受信データに含まれる要求ID、及び当該加工処理の処理結果又は当該車両データを含む応答を、当該要求IDに係る収集要求の送信元のサービス装置20へ送信する(S403)。
【0062】
図14は、車両30の位置情報の記録処理の処理手順の一例を説明するためのフローチャートである。
【0063】
位置情報受信部17は、例えば、定期的に各車両30から送信される位置情報の受信を待機している(S501)。位置情報受信部17は、いずれかの車両30の現在位置の位置情報(以下、「対象位置情報」という。)及び当該車両30の車両ID(以下、「対象車両ID」という。)を受信すると(S501でYES)、位置情報記憶部126(図6)のレコードのうち、当該車両IDを含むレコードを更新する(S502)。具体的には、位置情報受信部17は、当該レコードの日時、位置情報に対して、現在日時、対象位置情報を記録する。なお、該当するレコードが無い場合、位置情報受信部17は、位置情報記憶部126に新らたなレコードを追加し、当該レコードに対して、対象車両ID、現在日時、対象位置情報を記録する。
【0064】
図15は、通信情報記憶部125の更新処理の処理手順の一例を説明するためのフローチャートである。図15は、例えば、定期的に実行される。例えば、通信情報記憶部125の時間帯の単位ごと(例えば、1時間単位であれば1時間ごと)に実行される。
【0065】
ステップS601において、通信情報生成部16は、収集状態記憶部124(図11)のレコード群の中で、現在日時が属する時間帯に「完了日時」が含まれるレコード群を取得する。ここで、時間帯は、「月」及び「曜日」についても区別される。したがって、より詳しくは、「月」及び「曜日」が現在日時と一致し、時刻における「時」が、現在日時に一致する「完了日時」を含むレコード群がステップS601において取得される。
【0066】
続いて、通信情報生成部16は、当該レコード群に含まれる車両IDごとに、ステップS602及びループ処理L4を含むループ処理L3を実行する。以下、ループ処理L3において処理対象とされている車両IDを「対象車両ID」という。
【0067】
ステップS602において、通信情報生成部16は、ステップS601において取得されたレコード群から対象車両IDを含むレコード群(以下、「対象車両レコード群」という。)を抽出する。続いて、通信情報生成部16は、対象車両レコード群に含まれるいずれかのレコードの位置情報が属するメッシュごとにループ処理L4を実行する。以下、ループ処理L4において処理対象とされているメッシュを「対象メッシュ」という。
【0068】
ステップS603において、通信情報生成部16は、対象車両レコード群の中から、位置情報が対象メッシュに含まれるレコード群(以下、「対象レコード群」という。)を抽出する。
【0069】
続いて、通信情報生成部16は、対象レコード群に含まれる各レコードについて、「接続日時」-「要求発行日時」を計算し、計算結果の平均(すなわち、平均遅延)を算出する(S604)。続いて、通信情報生成部16は、対象レコード群に含まれる各レコードについて、「データサイズ」÷(「完了日時」-「接続日時」)を計算し、計算結果の平均(すなわち、平均スループット)を算出する(S605)。
【0070】
続いて、通信情報生成部16は、対象車両ID、対象メッシュ、現在の時間帯を、車両ID、位置情報、時間帯として含むレコードが通信情報記憶部125に記憶されているか否かを判定する(S606)。現在の時間帯とは、現在の日時が属する時間帯である。
【0071】
該当するレコードが有る場合(S606でYES)、通信情報生成部16は、当該レコードを更新する(S607)。具体的には、通信情報生成部16は、ステップS604において算出された平均遅延を、当該レコードの「遅延」に記録(上書き)し、ステップS605において算出された平均スループットを、当該レコードの「スループット」に記録(上書き)する。
【0072】
一方、該当するレコードが無い場合(S606でNO)、通信情報生成部16は、対象車両ID、対象メッシュ、現在の時間帯、ステップS604において算出された平均遅延、ステップS605において算出された平均スループットを含むレコードを、通信情報記憶部125に追加する(S608)。
【0073】
上述したように、本実施の形態によれば、複数の収集要求(すなわち、複数の車両データ送信要求)が、遅延の分散及びスループットの分散に基づいて複数のグループに分類され、グループ単位で車両30への送信タイミングが決定される。したがって、ネットワークの輻輳を回避することができる。すなわち、グループに分類せずに、例えば、一定間隔で車両データ送信要求を送信するようにした場合、各車両30の性能の相違や、各車両30とデータ収集装置10との間の回線のスループットの相違等に基づいて各車両30からの応答(車両データの送信)の遅延が揺らぐことにより、各車両30からの応答が集中する可能性が有る。本実施の形態によれば、上記のようなグループ単位でスケジューリングが行われるため、このような可能性を低減することができる。
【0074】
また、グループ単位でスケジューリングが行われることで、車両30単位でスケジューリングが行われる場合に比べて、スケジューリングに関する最適化アルゴリズムの計算規模を小さくすることができる。その結果、データ収集装置10の負荷を低下させることができ、データ収集装置10が実行する処理のリアルタイム性を高めることができる。
【0075】
なお、本実施の形態では、移動体である車両30がデバイスの一例である場合について説明したが、デバイスは、必ずしも移動体でなくてもよい。例えば、固定的に分散されて設置されたデバイスに関して本実施の形態が適用されてもよい。
【0076】
なお、本実施の形態において、スケジューリング部12は、取得部、分類部及び決定部の一例である。閾値th1は、第1の閾値の一例である。閾値th2は、第2の閾値の一例である。
【0077】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0078】
以上の説明に関し、更に以下の項を開示する。
(付記1)
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得する取得付記と、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類する分類付記と、
前記グループを単位として前記データ送信要求の送信タイミングを決定する決定付記と、
を有することを特徴とするデータ収集装置。
(付記2)
前記決定部は、必要帯域が最小化されるように、前記グループを単位として前記データ送信要求の送信タイミングを決定する、
ことを特徴とする付記1記載のデータ収集装置。
(付記3)
前記分類部は、同じグループに属する前記データ送信要求に関する前記遅延の予測値の分散が第1の閾値以下であり、かつ、同じグループに属する前記データ送信要求に関する前記スループットの予測値の分散が第2の閾値以下となるように、前記複数のデータ送信要求をグループに分類する、
ことを特徴とする付記1又は2記載のデータ収集装置。
(付記4)
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得し、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類し、
前記グループを単位として前記データ送信要求の送信タイミングを決定する、
処理をコンピュータが実行することを特徴とするデータ収集方法。
(付記5)
前記決定する処理は、必要帯域が最小化されるように、前記グループを単位として前記データ送信要求の送信タイミングを決定する、
ことを特徴とする付記4記載のデータ収集方法。
(付記6)
前記分類する処理は、同じグループに属する前記データ送信要求に関する前記遅延の予測値の分散が第1の閾値以下であり、かつ、同じグループに属する前記データ送信要求に関する前記スループットの予測値の分散が第2の閾値以下となるように、前記複数のデータ送信要求をグループに分類する、
ことを特徴とする付記4又は5記載のデータ収集方法。
(付記7)
複数のデータ送信要求のそれぞれについて、当該データ送信要求の送信からデータの受信が開始されるまでの遅延の予測値と、前記データの受信に関するスループットの予測値とを取得し、
前記遅延の予測値の分散及び前記スループットの予測値の分散に基づいて、前記複数のデータ送信要求をグループに分類し、
前記グループを単位として前記データ送信要求の送信タイミングを決定する、
処理をコンピュータに実行させることを特徴とするプログラム。
(付記8)
前記決定する処理は、必要帯域が最小化されるように、前記グループを単位として前記データ送信要求の送信タイミングを決定する、
ことを特徴とする付記7記載のプログラム。
(付記9)
前記分類する処理は、同じグループに属する前記データ送信要求に関する前記遅延の予測値の分散が第1の閾値以下であり、かつ、同じグループに属する前記データ送信要求に関する前記スループットの予測値の分散が第2の閾値以下となるように、前記複数のデータ送信要求をグループに分類する、
ことを特徴とする付記7又は8記載のプログラム。
【符号の説明】
【0079】
10 データ収集装置
11 収集要求受信部
12 スケジューリング部
13 車両データ要求部
14 応答受信部
15 データ処理部
16 通信情報生成部
17 位置情報受信部
20 サービス装置
30 車両
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 収集要求記憶部
122 スケジュール記憶部
123 データ記憶部
124 収集状態記憶部
125 通信情報記憶部
126 位置情報記憶部
B バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15