JP2023023462A - 車両の演算装置および情報処理方法 - Google Patents

車両の演算装置および情報処理方法 Download PDF

Info

Publication number
JP2023023462A
JP2023023462A JP2021129025A JP2021129025A JP2023023462A JP 2023023462 A JP2023023462 A JP 2023023462A JP 2021129025 A JP2021129025 A JP 2021129025A JP 2021129025 A JP2021129025 A JP 2021129025A JP 2023023462 A JP2023023462 A JP 2023023462A
Authority
JP
Japan
Prior art keywords
vehicle
job
user
control unit
information
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.)
Pending
Application number
JP2021129025A
Other languages
English (en)
Inventor
真人 石橋
Masato Ishibashi
大輔 濱野
Daisuke Hamano
正博 吉岡
Masahiro Yoshioka
智彦 足立
Tomohiko Adachi
雅 岡村
Masa Okamura
誠一 伊藤
Seiichi Ito
貴史 前田
Takashi Maeda
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.)
Mazda Motor Corp
Original Assignee
Mazda Motor Corp
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 Mazda Motor Corp filed Critical Mazda Motor Corp
Priority to JP2021129025A priority Critical patent/JP2023023462A/ja
Publication of JP2023023462A publication Critical patent/JP2023023462A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】車両の演算装置を用いたグリッドコンピューティングにおいて、ジョブの演算処理を安定させる。【解決手段】制御部106は、ユーザ到達時間とジョブ完了時間とを比較して、ジョブ完了時間がユーザ到達時間以下であるときには、自車両MVが安定モードであると推定し、ジョブ完了時間がユーザ到達時間よりも長いときには、自車両MVが前記不安定モードであると推定し、自車両MVが不安定モードであると推定したときに、演算処理中のジョブに関するジョブデータを、自車両MVの周囲に停車かつ同じグリッドコンピューティングに参加中の他車両OVに、自車両MVの通信部103を介して転送する。【選択図】図12

Description

ここに開示された技術は、車両の演算装置および情報処理方法に関する技術分野に属する。
近年、車両は、電子制御を行うための比較的高い計算能力を有する演算装置を備えている。このような演算装置は、車両の停車中など、車両が利用されていないときには有効活用されていない状態であった。このような状況に対して、複数の車両にそれぞれ搭載された演算装置を用いてグリッドコンピューティングを行うことで、車両に搭載された演算装置を有効活用することが検討されている。
例えば、特許文献1には、車両に搭載された通信装置を用いたグリッドコンピューティングの管理サーバが開示されている。この管理サーバは、通信装置からグリッドコンピューティングに参加可能であることを示す信号を受信する信号受信部と、処理装置の処理能力の不足状態を判定する状態判定部と、処理装置の処理能力が不足している場合に、通信装置にグリッドコンピューティングへの参加指示を送信する応答送信部とを備える。
また、特許文献2には、複数の車両で形成された車群がユーザ端末と通信可能な時間と当該時間内において提供可能な計算リソースとに関する情報である車群リソース情報を生成し、車群リソース情報と合致するタスクの実行依頼をユーザ端末から受け付ける、計算リソース提供方法が開示されている。
特許文献2では、車両の走行中において、ユーザ端末の位置情報に基づいて、車群におけるユーザ端末と直接通信可能な最後尾の車両との距離を算出し、該距離に応じて車群がユーザ端末と通信可能な期間の間にタスクの実行を完了できるか否かを算出し、タスクの実行完了までに要する時間が、ユーザ端末と車群が通信可能な時間以下となった場合には、タスクの実行を中断し、途中結果をユーザ端末へ送信するようにしている。
特開2020-160661号公報 特開2017-111727号公報
ところで、車両に搭載された演算装置によりグリッドコンピューティングを行う場合、車両とサーバと間の通信や車両同士の通信の安定性を向上させる観点から、車両が使用されていない期間、特に車両の停車中にジョブの演算処理を行うことが望ましい。特許文献1では、車両の使用履歴に基づいて、車両が使用されていない期間を特定し、特定した期間を、演算装置がグリッドコンピューティングに参加可能な期間としたスケジュール情報を生成している。特許文献1では、このスケジュール情報に基づいて、比較的安定した計算能力を提供できるようにしている。
しかしながら、車両を使用しない期間は、常に一定ではなく、車両の使用履歴やユーザの行動履歴からずれば車両を使用しない期間であると推定されても、ユーザが買い物に出かけるなど、車両を使用することがある。当該車両がジョブの演算処理を実行中の場合には、該演算処理が中止されてしまう。特許文献2のように、演算処理の実行を中断し、途中結果をユーザ端末へ送信することも考えられるが、膨大な演算処理が必要なジョブの場合には、途中結果のみでは演算結果として利用価値が小さくなる。
ここに開示された技術は斯かる点に鑑みてなされたものであり、その目的とするところは、車両の演算装置を用いたグリッドコンピューティングにおいて、ジョブの演算処理を安定させることにある。
前記課題を解決するために、ここに開示された技術では、複数の車両の停車時に、該複数の車両のそれぞれを計算ノードとしてジョブの演算処理を行うグリッドコンピューティングの演算資源となる、車両の演算装置を対象として、前記ジョブの演算処理を行う制御部を備え、前記制御部は、自車両が、前記ジョブの演算処理を安定して実行可能な安定モードであるか、または前記ジョブの演算処理を中止する可能性のある不安定モードであるかを推定する推定処理と、前記自車両が前記不安定モードであると推定したときに、演算処理中の前記ジョブに関するジョブデータを、前記自車両の周囲に停車かつ前記グリッドコンピューティングに参加中の他車両に、前記自車両の通信部を介して転送する転送処理と、を実行し、さらに前記制御部は、前記推定処理において、前記自車両のユーザが該自車両の停車位置に到達するまでの時間であるユーザ到達時間と、前記自車両が前記ジョブの演算を完了するまでの時間であるジョブ完了時間とを比較して、前記ジョブ完了時間が前記ユーザ到達時間以下であるときには、前記自車両が前記安定モードであると推定し、前記ジョブ完了時間が前記ユーザ到達時間よりも長いときには、前記自車両が前記不安定モードであると推定する、という構成とした。
すなわち、ユーザが車両に接近するときには、ユーザが車両を走行のために使用する可能性が高い。このため、ユーザ到達時間を推定すれば、演算装置をジョブの演算処理に利用出来る時間を推定することができる。そして、推定したユーザ到達時間をジョブ完了時間と比較すれば、ユーザが車両を使用する前にジョブを完了できるか否かを推定することができる。
そして、ユーザが車両を走行のために使用する前にジョブを完了し難いときには、不安定モードであるとして、ジョブデータをグリッドコンピューティングに参加している他の車両に転送する。これにより、ジョブの演算処理は当該他の車両により継続して行われる。このため、ジョブの完了に膨大な演算を要する場合であっても、ジョブの演算処理を完了させることができる。したがって、ジョブの演算処理を安定させることができる。
前記車両の演算装置において、前記通信部は、前記ユーザが所有する携帯機器と通信し、前記制御部は、前記携帯機器の位置から前記自車両と前記ユーザとの間の距離を推定し、該推定距離と該推定距離の時間変化とに基づいて前記ユーザ到達時間を推定する、という構成でもよい。
この構成によると、ユーザ到達時間を精度良く推定することができる。具体的には、ユーザが近くに位置しているときでも、ユーザの推定移動速度(推定距離の時間変化)が遅ければ、ユーザ到達時間が長くなる。このように、推定距離と推定距離の時間変化とからユーザ到達時間を精度良く推定することで、自車両が不安定モードであるか否かを精度良く推定することができる。この結果、ジョブの演算処理をより安定させることができる。
前記車両の演算装置において、前記通信部は、前記他車両が前記ジョブの演算処理を行った場合の該演算処理の安定度を示す安定度情報を取得し、前記制御部は、前記他車両が1つであるときには、当該他車両に前記ジョブデータを転送する一方、前記他車両が複数あるときには、前記安定度情報に基づいて安定度が最も高い他車両に前記ジョブデータを転送する、という構成でもよい。
この構成によると、自車両が不安定モードであるときに、出来る限り安定した他車両にジョブを転送することができるようになる。これにより、ジョブの演算処理をより安定させることができる。
他車両の安定度情報に基づいてジョブデータの転送先を設定する車両の演算装置において、前記安定度情報は、前記他車両が前記安定モードであるか、または前記不安定モードであるかに関する情報を含み、前記制御部は、前記ジョブデータの転送先の他車両が、該ジョブデータの転送中に前記不安定モードに移行したときには、前記ジョブデータの転送を継続するとともに、当該他車両を除く新たな転送先となる他車両を探索する、という構成でもよい。
この構成によると、ジョブデータを転送予定であった他車両が、転送完了前に移動体として使用されたとしても、迅速に別の他車両にジョブデータを転送することができる。これにより、ジョブの演算処理をより安定させることができる。
前記車両の演算装置において、前記制御部は、前記ジョブデータを前記他車両に送信中に、前記自車両が前記不安定モードから前記安定モードに移行することが推定されたときには、前記ジョブデータの前記他車両への転送を継続させる、という構成でもよい。
すなわち、ジョブデータを転送中であれば、ジョブデータを他車両に転送させて、該他車両でジョブの演算処理を行った方が、自車両でジョブの演算処理を再開するよりも、演算処理が効率的になるとともに、演算処理の安定性が高くなりやすい。よって、この構成により、ジョブの演算処理をより安定させることができる。
前記車両の演算装置において、前記制御部は、前記ジョブデータを前記他車両に転送中に、前記自車両が、前記ユーザが前記自車両を走行させる走行モードに移行することが推定されたときには、前記自車両のユーザに、前記ジョブデータの転送中は前記走行モードにおける該制御部の演算処理を制限することを通知する、という構成でもよい。
この構成によると、ユーザに走行モードにおける制御部の演算処理を制限することを通知した上で、ジョブデータの転送を継続させることができる。ジョブデータの転送のみであれば、制御部の演算処理の制限は比較的小さくてよく、また制限時間も比較的短い。このため、ユーザに煩わしさを出来る限り与えることなく、ジョブデータの転送を完了させることができる。また、ジョブデータの転送を完了させることができるため、ジョブの演算処理をより安定させることができる。
ここに開示された技術の他の態様は、複数の車両の停車時に、該複数の車両のそれぞれを計算ノードとするグリッドコンピューティングによりジョブの演算処理を行う際の情報処理方法に関する。この情報処理方法は、前記複数の車両のうちの特定車両が前記ジョブの演算を完了するまでの時間であるジョブ完了時間を算出する工程と、前記特定車両のユーザが該特定車両の停車位置に到達するまでの時間であるユーザ到達時間を算出する工程と、前記ジョブ完了時間と前記ユーザ到達時間とを比較して、前記特定車両が、前記ジョブの演算処理を安定して実行可能な安定モードであるか、または前記ジョブの演算処理を中止する可能性のある不安定モードであるかを推定するモード推定工程と、前記特定車両が前記不安定モードであると推定したときに、演算処理中の前記ジョブに関するジョブデータを、前記特定車両の周囲に停車しかつ前記グリッドコンピューティングに参加中の他車両に転送するジョブ転送工程と、を含み、前記モード推定工程は、前記ジョブ完了時間が前記ユーザ到達時間以下であるときには、前記特定車両が前記安定モードであると推定し、前記ジョブ完了時間が前記ユーザ到達時間よりも長いときには、前記特定車両が前記不安定モードであると推定する工程である、という構成である。
この構成によると、ユーザが特定車両を使用する前にジョブを完了し難いときには、不安定モードであるとして、ジョブデータをグリッドコンピューティングに参加している他の車両に転送する。これにより、ジョブの演算は当該他の車両により継続して行われる。これにより、ジョブの演算処理を安定させることができる。
以上説明したように、ここに開示された技術によると、車両の演算装置を用いたグリッドコンピューティングにおいて、ジョブの演算処理を安定させることができる。
図1は、例示的な実施形態に係る演算装置を有する車両を含むシステムの構成を例示する概略図である。 図2は、グリッドコンピューティングについて説明するための概念図である。 図3は、車両の構成を例示するブロック図である。 図4は、ユーザ端末の構成を例示するブロック図である。 図5は、クライアントサーバの構成を示すブロック図である。 図6は、施設サーバの構成を例示するブロック図である。 図7は、管理サーバの構成を示すブロック図である。 図8は、システムによるグリッドコンピューティング処理を例示するフローチャートである。 図9は、車両の制御部が推定処理を行うための機能ブロックを示すブロック図である。 図10は、制御部の推定処理を例示するフローチャートである。 図11は、制御部によるジョブデータの転送処理を示すフローチャートである。 図12は、自車両が不安定モードに移行する際の転送先の選択を示す概略図である。 図13は、自車両が走行モードに移行する際のジョブデータの転送処理を示すフローチャートである。
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。
(システムの構成)
図1は、実施形態に係る演算装置105を有する車両10を含むシステム1の構成を例示する。このシステム1は、複数の車両10と、複数のユーザ端末20と、クライアントサーバ30と、施設サーバ40と、管理サーバ50とを備える。これらの構成要素は、通信網5を経由して互いに通信可能である。複数の車両10の各々には、演算装置105が搭載される。
(グリッドコンピューティング)
図2に示すように、実施形態のシステム1では、各車両10に搭載された演算装置105によりグリッドコンピューティングが構成される。グリッドコンピューティングでは、複数の演算装置105のうち利用可能な演算装置105にジョブデータを処理させるグリッドコンピューティング処理が行われる。つまり、演算装置105は、複数の車両10のそれぞれを計算ノードとしてジョブの演算処理を行うグリッドコンピューティングの演算資源に相当する。
なお、車両10において演算装置105の計算能力が必要となると、演算装置105が稼働状態となり、演算装置105の計算能力が利用される。例えば、車両10が走行している場合、車両10の走行制御のために演算装置105の計算能力が必要となり、演算装置105が稼働状態となる。
一方、車両10において演算装置105の計算能力が不要となると、演算装置105が停止状態となり、演算装置105の計算能力が利用されなくなる。例えば、車両10が停車して、イグニッションオフまたは電源オフの状態になると、演算装置105の計算能力が不要となり、演算装置105が停止状態となる。
ここで、車両10において演算装置105の計算能力が不要である場合に、演算装置105の計算能力をグリッドコンピューティング処理に提供することで、演算装置105の計算能力を有効に利用することが可能となる。演算装置105は、基本的には、車両10の停車時、すなわち、演算装置105の計算能力が走行制御に利用されてない時に、グリッドコンピューティングの演算資源として利用される。
(車両の構成)
車両10は、ユーザが所有する車両である。ユーザは、車両10を運転する。この例では、車両10は、自動四輪車である。また、車両10には、電池(図示省略)が搭載される。電池の電力は、演算装置105などの車載機器に供給される。このような車両10の例としては、電気自動車、プラグインハイブリッド自動車などが挙げられる。
図3に示すように、車両10は、アクチュエータ11と、センサ12と、入力部101と、出力部102と、通信部103と、記憶部104と、演算装置105とを備える。
アクチュエータ11は、駆動系のアクチュエータ、操舵系のアクチュエータ、制動系のアクチュエータなどを含む。駆動系のアクチュエータの例としては、エンジン、トランスミッション、モータが挙げられる。制動系のアクチュエータの例としては、ブレーキが挙げられる。操舵系のアクチュエータの例としては、ステアリングが挙げられる。
センサ12は、車両10の制御に用いられる各種の情報を取得する。センサ12の例としては、車外を撮像する車外カメラ121(図8参照)、車内を撮像する車内カメラ、車外の物体を検出するレーダ、車速センサ、加速度センサ、ヨーレートセンサ、アクセル開度センサ、ステアリングセンサ、キー検知センサ122(図8参照)、イグニッションセンサ123(図8参照。以下、IGセンサ123という)などが挙げられる。
入力部101は、情報やデータを入力する。入力部101の例としては、操作されることで操作に応じた情報を入力するナビゲーションシステム、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部101に入力された情報やデータは、演算装置105に送られる。
出力部102は、情報やデータを出力する。出力部102の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
通信部103は、情報やデータを送受信する。通信部103により受信された情報やデータは、演算装置105に送られる。通信部103は、例えば、無線通信機で構成されている。
記憶部104は、情報やデータを記憶する。
演算装置105は、車両10の各部を制御する制御部106を有する。この例では、制御部106は、センサ12により得られた各種の情報に応じてアクチュエータ11を制御する。
制御部106は、プロセッサ、メモリなどを有する。プロセッサの例としては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などが挙げられる。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。後述する制御部106の処理は、プロセッサがメモリに格納されたプログラムやデータを利用して実行される。
なお、制御部106を構成するプロセッサの数は、1つであってもよいし、複数のであってもよい。また、制御部106を構成するプロセッサは、CPUおよびGPUのいずれか一方のみであってもよいし、CPUおよびGPUの両方であってもよい。この例では、制御部106は、CPUおよびGPUの両方を有する。例えば、制御部106は、1つまたは複数のECU(Electronic Control Unit)により構成される。
この例では、記憶部104は、車両情報D11と、車両状態情報D12と、走行履歴情報D13と、演算装置情報D14と、走行スケジュール情報D15とを記憶する。
〈車両情報〉
車両情報D11は、車両10に関する情報である。例えば、車両情報D11は、車両10に設定された車両ID、車両10を所有するユーザに設定されたユーザID,車両の性能を示す車両性能情報などを含む。車両IDは、車両10を識別する車両識別情報の一例である。ユーザIDは、ユーザを識別するユーザ識別情報の一例である。
〈車両状態情報〉
車両状態情報D12は、車両10の状態を示す。例えば、車両状態情報D12は、車両位置情報、車両通信情報、車両電源情報、車両電池残量情報、車両充電情報などを含む。車両位置情報は、車両10の位置(緯度および経度)を示す。車両位置情報は、例えば、GPS(Global Positioning System)により取得可能である。車両通信情報は、車両10の通信状態を示す。車両電源情報は、車両10の電源の状態を示す。例えば、車両電源情報は、イグニッション電源のオンオフ、アクセサリ電源のオンオフなどを示す。車両電池残量情報は、車両10に搭載された電池(図示省略)の残量を示す。車両充電情報は、充電設備(図示省略)において車両10が充電中であるか否かを示す。
〈走行履歴情報〉
走行履歴情報D13は、車両10の走行履歴を示す情報である。例えば、走行履歴情報D13は、車両10の位置と日時とを関連付けて示す。
〈演算装置情報〉
演算装置情報D14は、演算装置105に関する情報である。例えば、演算装置情報D14は、演算装置105に設定された演算装置ID、演算装置105を搭載する車両10に設定された車両ID、演算装置105の性能を示す演算装置性能情報などを含む。演算装置IDは、演算装置105を識別する演算装置識別情報の一例である。演算装置性能情報に示される演算装置105の性能には、演算装置105の計算能力(具体的には最大計算能力)を示す計算能力、演算装置105におけるCPUとGPUとの比率などが含まれる。なお、演算装置105の計算能力は、演算装置105が単位時間当たりに計算することができるデータ量である。
〈スケジュール情報〉
走行スケジュール情報D15は、演算装置105の利用スケジュールを示す情報である。例えば、スケジュール情報は、演算装置105を走行制御に用いる日時を示す。スケジュール情報には、演算装置105を走行制御に利用しない日時が示されていてもよい。スケジュール情報は、入力部101から入力されてもよいし、ユーザ端末20から入力されてもよい。また、スケジュール情報は、走行履歴情報D13に基づいて推定された走行スケジュールを示すものであってもよい。
(ユーザ端末の構成)
ユーザ端末20は、ユーザに所有される端末機器である。ユーザは、ユーザ端末20を操作して各種の機能を利用する。また、ユーザは、ユーザ端末20を持ち運ぶことができる。このようなユーザ端末20の例としては、スマートフォン、タブレット、ラップトップ型パーソナルコンピュータなどが挙げられる。
図4に示すように、ユーザ端末20は、入力部201と、出力部202と、通信部203と、記憶部204と、制御部205とを備える。
入力部201は、情報やデータを入力する。入力部201の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。例えば、ユーザは、操作部を操作して、車両10のナビゲーションシステムにアクセスすることで、目的地の予約登録が可能である。入力部101に入力された情報は、演算装置105に送られる。
出力部202は、情報やデータを出力する。出力部202の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
通信部203は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部205に送られる。
記憶部204は、情報やデータを記憶する。
制御部205は、ユーザ端末20の各部を制御する。制御部205は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
この例では、記憶部204は、端末情報D21と、端末状態情報D22と、スケジュール情報D23とを記憶する。
〈端末情報〉
端末情報D21は、ユーザ端末20に関する情報である。例えば、端末情報D21は、ユーザ端末20に設定されたユーザ端末ID、ユーザ端末20の性能を示すユーザ端末性能情報などを含む。ユーザ端末IDは、ユーザ端末20を識別するユーザ端末識別情報の一例である。
〈端末状態情報〉
端末状態情報D22は、ユーザ端末20の状態を示す情報である。端末状態情報D22は、ユーザ端末20の位置を示すユーザ端末位置情報、ユーザ端末20の通信状態を示すユーザ端末通信状態情報などを含む。
〈スケジュール情報〉
スケジュール情報D23は、ユーザ端末20を所有するユーザの行動履歴および行動予定を示す。例えば、スケジュール情報D23は、ユーザの位置と滞在期間(または滞在予定期間)とを関連付けて示す。なお、スケジュール情報D23は、ユーザ端末20に搭載されたスケジュール機能により取得可能である。具体的には、ユーザがスケジュール機能を利用して自身の行動履歴および行動予定をユーザ端末20に入力することで、そのユーザの行動履歴および行動予定を示すスケジュール情報D23が得られる。スケジュール情報D23には、車両10を走行させるスケジュールが含まれている。
(クライアントサーバの構成)
クライアントサーバ30は、クライアントにより所有される。クライアントは、ジョブデータの計算を依頼する。このようなクライアントの例としては、企業、研究機関、教育機関などが挙げられる。
図5に示すように、クライアントサーバ30は、入力部301と、出力部302と、通信部303と、記憶部304と、制御部305とを備える。
入力部301は、情報やデータを入力する。入力部301の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部301に入力された情報やデータは、制御部305に送られる。
出力部302は、情報やデータを出力する。出力部302の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
通信部303は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部305に送られる。
記憶部304は、情報やデータを記憶する。
制御部305は、クライアントサーバ30の各部を制御する。制御部305は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
この例では、記憶部304は、クライアント情報D31と、ジョブデータD1とを記憶する。
〈クライアント情報〉
クライアント情報D31は、クライアントに関する情報である。クライアント情報D31は、クライアントに設定されたクライアントID、クライアントにより所有されるクライアントサーバ30に設定されたクライアントサーバID、担当者名、住所、電話番号などを含む。クライアントIDは、クライアントを識別するクライアント識別情報の一例である。クライアントサーバIDは、クライアントサーバ30を識別するクライアントサーバ識別情報の一例である。
〈ジョブデータ〉
ジョブデータD1は、ジョブに対応するデータであり、ジョブの実施のために処理されるデータである。
なお、ジョブデータD1は、計算タイプにより分類可能である。計算タイプの例としては、CPU系の計算タイプ、GPU系の計算タイプなどが挙げられる。CPU系の計算タイプのジョブデータD1では、シミュレーション計算など、条件分岐の多い複雑な計算が要求される傾向にある。GPU系の計算タイプのジョブデータD1では、画像処理や機械学習など、膨大な量の単純計算が要求される傾向にある。
また、ジョブデータD1は、ジョブの処理条件により分類可能である。処理条件の例としては、常時通信が要求される処理条件、常時通信が要求されない処理条件などが挙げられる。常時通信が要求される処理条件のジョブデータD1では、グリッドコンピューティング処理において演算資源(つまり演算装置105)が常に通信可能であることが要求される。常時通信が要求されない処理条件のジョブデータD1では、グリッドコンピューティング処理において演算資源が常に通信可能であることが要求されない。
なお、記憶部304には、ジョブに関するジョブ情報が記憶されてもよい。ジョブ情報は、ジョブの名称を示すジョブ名称情報、ジョブの内容を説明するジョブ内容情報、ジョブに対応するジョブデータに関するジョブデータ情報、ジョブの納期を示すジョブ納期情報などを含む。ジョブデータ情報は、ジョブデータの計算タイプ、処理条件、必要計算能力などを示す。
(施設サーバの構成)
施設サーバ40は、施設により所有される。施設の例としては、ユーザの職場、競技場、劇場、映画館、スーパーマーケット、レストラン、宿泊施設、チケット販売施設などが挙げられる。ユーザは、来訪予約が必要な施設については、ユーザ端末20を介して施設への来訪予約を行うことができる。
図6に示すように、施設サーバ40は、入力部401と、出力部402と、通信部403と、記憶部404と、制御部405とを備える。施設サーバ40の入力部401、出力部402、通信部403、記憶部404、制御部405の構成は、クライアントサーバ30の入力部301、出力部302、通信部303、記憶部304、制御部305の構成と同様である。
この例では、記憶部404は、施設情報D41と、施設利用情報D42とを記憶する。
〈施設情報〉
施設情報D41は、施設に関する情報である。施設情報D41は、施設に設定された施設ID、施設により所有される施設サーバ40に設定された施設サーバID、施設の位置(緯度および経度)を示す施設位置情報、担当者名、住所、電話番号などを含む。施設IDは、施設を識別する施設識別情報の一例である。施設サーバIDは、施設サーバ40を識別する施設サーバ識別情報の一例である。
〈施設利用情報〉
施設利用情報D42は、施設の利用状況(利用履歴および利用予定)を示す。具体的には、施設利用情報D42は、施設を利用するユーザと滞在期間(または滞在予定期間)とを関連付けて示す。
(管理サーバの構成)
管理サーバ50は、グリッドコンピューティングが構成されるシステム1の運営を管理する。管理サーバ50は、システム1を運営する事業者により所有される。
図7に示すように、管理サーバ50は、入力部501と、出力部502と、通信部503と、記憶部504と、制御部505とを備える。管理サーバ50の入力部501、出力部502、通信部503、記憶部504、制御部505の構成は、クライアントサーバ30の入力部301、出力部302、通信部303、記憶部304、制御部305の構成と同様である。
この例では、記憶部504は、ユーザテーブルD51と、演算装置テーブルD52と、クライアントテーブルD53と、ジョブテーブルD54と、リソーステーブルD55と、マッチングテーブルD56と、ジョブデータD1と、計算結果データD2とを記憶する。
〈ユーザテーブル〉
ユーザテーブルD51は、ユーザを管理するためのテーブルである。ユーザテーブルD51には、ユーザ毎に、そのユーザに設定されたユーザID、そのユーザにより所有される車両10に設定された車両ID、そのユーザにより所有される演算装置105に設定された演算装置ID、そのユーザにより所有されるユーザ端末20に設定されたユーザ端末IDなどが登録される。
〈演算装置テーブル〉
演算装置テーブルD52は、演算装置105を管理するためのテーブルである。演算装置テーブルD52には、演算装置105毎に、その演算装置105に設定された演算装置ID、その演算装置105を所有するユーザに設定されたユーザID、その演算装置105が搭載される車両10に設定された車両IDなどが登録される。
また、演算装置テーブルD52には、演算装置105毎に、その演算装置105の性能(計算能力やCPUとGPUの比率など)、その演算装置105の稼働状況(稼働履歴および稼働予定)などが登録される。言い換えると、演算装置テーブルD52は、複数の演算装置105の各々の稼働状況を示す稼働状況情報D5と、複数の演算装置105の各々の性能を示す性能情報D6とを含む。性能情報D6は、複数の演算装置105の各々の計算能力を示す計算能力情報D7を含む。
〈クライアントテーブル〉
クライアントテーブルD53は、クライアントを管理するためのテーブルである。クライアントテーブルD53には、クライアント毎に、そのクライアントに設定されたクライアントID、クライアントにより所有されるクライアントサーバ30に設定されたクライアントサーバID、そのクライアントの担当者名、住所、電話番号などが登録される。クライアントテーブルD53には、クライアント毎に、グリッドコンピューティングの利用履歴が記録されている。
〈ジョブテーブル〉
ジョブテーブルD54は、クライアントから依頼されたジョブを管理するためのテーブルである。ジョブテーブルD54には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブを依頼したクライアントに設定されたクライアントID、そのジョブの名称および内容などが登録される。また、ジョブテーブルD54には、ジョブ毎に、そのジョブに対応するジョブデータの計算タイプおよび処理条件、そのジョブデータの計算に必要となる計算能力である必要計算能力、そのジョブに設定された納期などが登録される。
〈リソーステーブル〉
リソーステーブルD55は、グリッドコンピューティング処理における計算能力を管理するためのテーブルである。具体的には、リソーステーブルD55は、演算資源の推定計算能力に関する計算能力情報を管理するためのテーブルである。リソーステーブルD55には、演算装置105毎に、その演算装置105に設定された演算装置IDが登録されている。
〈マッチングテーブル〉
マッチングテーブルD56は、ジョブとグリッドコンピューティングとをマッチングするマッチング処理の結果を管理するためのテーブルである。マッチングテーブルD56には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブに対応するジョブデータ、マッチング処理によりそのジョブデータに対して割り当てられた演算資源を構成する各演算装置105にそれぞれ設定された演算装置IDなどが登録される。
〈ジョブデータ〉
記憶部504に記憶されるジョブデータD1は、受け付けられたジョブデータD1である。
〈計算結果データ〉
記憶部504に記憶される計算結果データD2は、グリッドコンピューティング処理により計算された計算結果情報であり、その計算の結果を示す。
(グリッドコンピューティング処理)
次に、図8を参照して、グリッドコンピューティング処理について説明する。グリッドコンピューティング処理では、複数の演算装置105のうち利用可能な演算装置105にジョブデータD1を処理させる。制御部505は、マッチング処理の完了後に、以下の処理を行う。
まず、ステップS11において、制御部505は、マッチングテーブルD56を参照し、グリッドコンピューティング処理の対象となるジョブデータD1を、マッチング処理においてそのジョブデータD1に割り当てられた演算装置105に分配する。具体的には、制御部505は、ジョブデータD1に割り当てられた演算装置105の各々に、そのジョブデータD1の一部を送信する。これにより、ジョブデータD1は、そのジョブデータD1に割り当てられた演算装置105により並列処理される。
次に、ステップS12において、各演算装置105は、その演算装置105に送信されたデータ(ジョブデータD1の一部)の計算が完了すると、その計算により得られた部分計算結果データを管理サーバ50に送信する。管理サーバ50の制御部505は、演算装置105から送信された部分計算結果データを受信し、その部分計算結果データを記憶部504に記憶する。
次いで、ステップS13において、制御部505は、ステップS11においてジョブデータD1が分配された演算装置105の全てが計算を完了したか否かを判定する。制御部505は、演算装置105の全てが計算を完了しているときには、ステップS14に進み、少なくとも一部の演算装置105の計算が完了していないときには、ステップS12の処理が行われる。
前記ステップS14では、制御部505は、記憶部504に記憶された部分計算結果データを結合することで、グリッドコンピューティング処理の対象となるジョブデータD1に対応する計算結果データD2(ジョブデータD1の計算の結果を示す計算結果データD2)を生成する。そして、制御部505は、グリッドコンピューティング処理の対象となるジョブデータD1に対応する計算結果データD2を、そのジョブデータD1の計算を依頼したクライアントのクライアントサーバ30に送信する。
そして、ステップS15において、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して、システム1を運営する事業者から報酬が付与される。ユーザに付与される報酬の例としては、システム1において利用可能なポイント、仮想通貨、商品の割引特典などが挙げられる。例えば、管理サーバ50の制御部505は、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して報酬を付与するための処理を行う。報酬を付与するための処理の例としては、ユーザに設定された「ユーザID」とシステム1において利用可能な「ポイント」(または仮想通貨)とを関連付けてユーザテーブルD51に登録する処理、ユーザにより所有されるユーザ端末20に商品の割引特典を示す情報を送信する処理などが挙げられる。
また、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して、クライアントから報酬が付与されてもよい。例えば、クライアントサーバ30の制御部305は、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して報酬を付与するための処理を実行してもよい。
(グリッドコンピューティングでの車両の処理)
前述のようなグリッドコンピューティング処理を正常に完了させるためには、車両10の演算装置105が演算資源として安定して供給されていること、すなわち、各車両10が安定してジョブの演算処理を実行可能であることが必要である。演算装置105は、記憶部104に記憶された走行スケジュール情報D15や、ユーザ端末20から取得したスケジュール情報D23に基づいて、車両10が停車される時間帯を推定することができる。つまり、演算装置105は、自身をグリッドコンピューティングの演算資源として供給可能な時間帯(グリッドコンピューティングに参加可能な時間帯)を予めスケジューリングすることができる。
しかしながら、演算装置105がグリッドコンピューティングに参加可能な時間帯と推定している時間帯であっても、ユーザが買い物に出かけたり、職場に移動したりと、突発的に車両10を走行させることがある。このため、演算装置105は、グリッドコンピューティングにおいて与えられたジョブの演算処理を実行している途中で、自身を走行制御に利用しなければならなくなる。このときには、演算装置105は、ジョブを中止せざるを得ないため、グリッドコンピューティング処理が正常に完了しないおそれがある。
そこで、本実施形態では、演算装置105の制御部106は、自車両がジョブの演算処理を安定して実行可能な安定モードであるか、またはジョブの演算処理を中止する可能性のある不安定モードであるかを推定する推定処理を行う。そして、制御部106は、自車両が不安定モードであると推定したときに、演算処理中のジョブに関するジョブデータをパッケージングして、自車両の周囲に停車かつグリッドコンピューティング処理に参加中の他車両に転送する転送処理を実行する。尚、ここで言う、「ジョブデータ」は、管理サーバ50により、自車両に分配されたジョブデータD1の一部のことをいう。以下の説明では、各車両10に分配されたジョブデータD1の一部を「部分ジョブデータD1a」という。
図9は、各車両10において、自車両が推定処理を実行するための機能を構成する機能ブロックを示す。この機能は各車両10にそれぞれ搭載されている。
車両10は、自車両のユーザが該自車両の停車位置に到達するまでの時間であるユーザ到達時間tを推定するユーザ到達時間推定モジュール161を有する。ユーザ到達時間推定モジュール161には、車外カメラ121、キー検知センサ122、および位置検出モジュール162からの情報が入力される。ユーザ到達時間推定モジュール161には、記憶部14から走行履歴情報D13が入力される。ユーザ到達時間推定モジュール161には、通信部103を介して地図情報D16が入力される。
車外カメラ121は、車両10の周囲360度を撮影可能なように、車両10に複数配置されている。
キー検知センサ122は、自車両のユーザが所有するキーレスキーやスマートキー(登録商標)と通信して、キーレスキー等の位置を検知する。
位置検出モジュール162は、自車両のユーザが所有するユーザ端末20と通信して、ユーザ端末20の位置を検出するモジュールである。位置検出モジュール162は、例えば、ユーザ端末20に搭載されたGPSセンサを利用して、ユーザ端末20の位置を検出する。
ユーザ到達時間推定モジュール161は、車外カメラ121、キー検知センサ122、および位置検出モジュール162からの検出結果に基づいて、自車両とユーザとの間の距離を推定する。ユーザ到達時間推定モジュール161は、推定距離から該推定距離の時間変化(つまりユーザの移動速度)を推定する。そして、推定距離およびユーザの移動速度から、ユーザ到達時間tを推定する。尚、車外カメラ121、キー検知センサ122、および位置検出モジュール162から情報を取得するのが困難であるときには、ユーザ到達時間推定モジュール161は、地図情報D16および走行履歴情報D13からユーザ到達時間tを推定する。
ユーザ到達時間推定モジュール161が推定したユーザ到達時間tは、安定度推定モジュール163に入力される。また、安定度推定モジュール163には、ユーザ到達時間推定モジュール161が推定した推定距離に関する情報も入力される。
安定度推定モジュール163は、自車両が部分ジョブデータD1aの演算処理をどの程度安定して行えるかを推定する。安定度推定モジュール163は、自車両が、安定モードであるか、不安定モードであるか、または、ユーザが自車両を走行させる走行モードであるかを推定する。
安定度推定モジュール163には、ユーザ到達時間推定モジュール161の他、通信状態管理モジュール164、充電状態監視モジュール165、およびIGセンサ123からの情報が入力される。安定度推定モジュール163には、部分ジョブデータD1aの情報、および計算リソース管理モジュール166からの情報が入力される。また、安定度推定モジュール163には、処理実行管理モジュール167からの情報が入力される。
通信状態管理モジュール164は、自車両の通信帯域を管理するモジュールである。通信状態管理モジュール164からは、自車両の通信帯域に関する情報が安定度推定モジュール163に入力される。
充電状態監視モジュール165は、自車両の充電状態を監視するモジュールである。充電状態監視モジュール165からは、自車両が充電状態であるか否かがオンオフ信号の形式で安定度推定モジュール163に入力される。
IGセンサ123は、自車両がイグニッションオンであるか、イグニッションオフであるかを検出する。IGセンサ123は、自車両がエンジンキー方式であれば、エンジンキーがスタートの位置まで回されたときにイグニッションオンを検出し、自車両がプッシュスタート方式であれば、所定の条件を満たした状態でスイッチが押されたときにイグニッションオンを検出する。
計算リソース管理モジュール166は、自車両の演算器における現在の計算リソース、言い換えると、現在の計算能力を管理するモジュールである。計算リソース管理モジュール166からは、演算器の現在の計算能力に関する情報が安定度推定モジュール163に入力される。
処理実行管理モジュール167は、演算装置105における種々の処理を管理するモジュールである。処理実行管理モジュール167は、例えば、記憶部14に記憶された走行スケジュール情報D15に基づいてジョブの演算処理を実行可能な期間について管理する。また、処理実行管理モジュール167は、例えば、部分ジョブデータD1aを他車両に転送する際の転送にかかる時間を管理する。
安定度推定モジュール163は、計算リソース管理モジュール166からの情報および部分ジョブデータD1aから、自車両(厳密には自車両の演算器)がジョブの演算を完了するまでの時間であるジョブ完了時間tを推定する。安定度推定モジュール163は、計算リソース管理モジュール166から取得した現在の演算器の計算能力により部分ジョブデータDa1の演算処理を行った場合のジョブ完了時間tを推定する。尚、ジョブ完了時間tについては、自車両ではなく管理サーバ50により推定されてもよい。
安定度推定モジュール163は、ユーザ到達時間推定モジュール161から取得したユーザ到達時間tとジョブ完了時間tとを比較して、ジョブ完了時間tがユーザ到達時間t以下であるときには、自車両が安定モードであると推定し、ジョブ完了時間tがユーザ到達時間tよりも長いときには、自車両が不安定モードであると推定する。また、安定度推定モジュール163は、IGセンサ123によりイグニッションオンが検出されたときには、自車両が、ユーザが自車両を走行させる走行モードであると推定する。
また、安定度推定モジュール163は、自車両の安定度を、例えば、ポイント方式で算出する。自車両の安定度については、例えば、以下のような基準で算出される。
・推定距離が長い方が、推定距離が短い場合と比較して安定度が高い。
・通信帯域が広い方が、通信帯域が狭い場合と比較して安定度が高い。
・充電がオンの場合の方が、充電がオフの場合と比較して安定度が高い。
・計算リソースが多い方が、計算リソースが少ない場合と比較して安定度が高い。
・ジョブの演算処理を実行可能な期間が長い方が、該期間が短い場合と比較して安定度が高い。
・周囲に同じグリッドコンピューティングに参加している他車両が多い方が、該他車両が少ない場合と比較して安定度が高い。
安定度の算出においては、前述の各項目で優先度が異なっていてもよい。例えば、推定距離に関する判断が最も優先されてもよい。
詳しくは、後述するが、ここで算出された安定度は、部分ジョブデータD1aを転送する転送先を選出する際に利用される。
安定度推定モジュール163により推定されたモードに関する情報は、処理実行管理モジュール167に送信される。
処理実行管理モジュール167は、自車両が安定モードであると推定されるという情報を取得したときには、スケジュールに従ってジョブの演算処理を継続させる。処理実行管理モジュール167は、自車両が不安定モードであると推定されるという情報を取得したときには、ジョブの演算処理を停止させて、周囲の他車両に部分ジョブデータD1aを転送させる準備を行う。処理実行管理モジュール167は、自車両が不安定モードから走行モードに移行したという情報を取得したときには、後述する所定の処理を行う。
処理実行管理モジュール167からは、演算器150および通信制御モジュール168にそれぞれ制御信号が送信される。
演算器150は、部分ジョブデータD1aに基づいてジョブの演算処理を行う。演算器150は、処理実行管理モジュール167からの制御信号に基づいて、ジョブの演算処理を実行したり、停止させたり、部分ジョブデータD1aをパッケージングしたりする。
通信制御モジュール168は、通信部103の作動を制御する。詳しくは後述するが、通信制御モジュール168は、通信部103を制御して、他車両に部分ジョブデータD1aを転送する。
尚、演算器150、ユーザ到達時間推定モジュール161、位置検出モジュール162、安定度推定モジュール163、通信状態管理モジュール164、充電状態監視モジュール165、計算リソース管理モジュール166、処理実行管理モジュール167、および通信制御モジュール168は、制御部106を構成するモジュールの一例である。また、ユーザ端末20、およびキーレスキーやスマートキー(登録商標)は、ユーザが所有する携帯機器の一例である。
〈推定処理のフローチャート〉
図10は、制御部106により実行される推定処理を例示するフローチャートである。尚、ここでは、キー検知センサ122等によりユーザ位置が特定できる場合について説明する。
まず、ステップS21において、制御部106は、センサ12からの情報を含む各種情報を取得する。
次に、ステップS22において、制御部106は、ユーザの現在地を検知する。ここでは、ユーザの2次元上の位置だけでなく、高さ方向の位置、すなわち3次元上の位置が検知される。
次いで、ステップS23において、制御部106は、ユーザと自車両との間の距離を推定する。ここでは、ユーザと自車両との間の直線距離が推定される。
続いて、ステップS24において、制御部106は、ユーザの移動速度を推定する。制御部106は、ユーザと自車両との間の距離の時間変化からユーザの移動速度を推定する。
次に、ステップS25において、制御部106は、前記ステップS23で推定した推定距離と前記ステップS24で推定したユーザの移動速度とを用いて、ユーザ到達時間tを推定する。
次いで、ステップS26において、制御部106は、部分ジョブデータD1aと演算器150の現在の計算能力とを用いて、ジョブ完了時間tを推定する。
続いて、ステップS27において、制御部106は、ユーザ到達時間tがジョブ完了時間t以上であるか否かを判定する。制御部106は、ユーザ到達時間tがジョブ完了時間t以上であるYESのときには、ステップS28に進む。一方で、制御部106は、ユーザ到達時間tがジョブ完了時間t未満であるYESのときには、ステップS29に進む。
前記ステップS28では、制御部106は、自車両が安定モードであると推定する。一方で、前記ステップS29では、制御部106は、自車両が不安定モードであると推定する。制御部106は、前記ステップS28またはS29の後はリターンする。
このように、推定距離と推定距離の時間変化とからユーザ到達時間tを推定することで、ユーザ到達時間tを精度良く推定することができる。すなわち、ユーザが近くに位置しているときでも、ユーザの移動速度が遅ければ、ユーザ到達時間tが長くなる。このようにして、ユーザ到達時間tを精度良く推定することで、自車両が不安定モードであるか否かを精度良く推定することができる。
〈転送処理を示すフローチャート〉
制御部106により実行される、自車両MVから他車両OVに部分ジョブデータを転送する転送処理について、図11及び図12を参照しながら説明する。ここでは、図12に示すように、自車両MVの周囲に、同じグリッドコンピューティングに参加する第1他車両OV1及び第2他車両OV2が存在する場合について説明する。第1他車両OV1及び第2他車両OV2を区別しないときには、単に他車両OVという。
まず、ステップS301において、制御部106は、自車両MVのモードを推定する。制御部106は、特に、図10のフローチャートに基づいて、自車両MVが安定モードであるか、不安定モードであるかについて推定する。
次に、ステップS302において、制御部106は、自車両MVが不安定モードであるか否かを判定する。制御部106は、自車両MVが不安定モードであると推定されたYESのときには、ステップS303に進む。制御部106は、自車両MVが安定モードのままであると推定されたNOときには、転送処理を終了する。
前記ステップS303では、制御部106は、周囲に存在しかつ同じグリッドコンピューティングに参加中の他車両OVの安定度情報を取得する。この安定度情報は、他車両OVの演算装置105の制御部106により算出された安定度を示す情報である。この安定度情報には、図12に示すように、他車両OVと該他車両OVのユーザとの間の距離や他車両OVの通信状態などが含まれる。また、他車両OVが安定モード、不安定モード、および走行モードのいずれであるかという情報も含まれる。自車両MVの制御部106は、図12に示すように、第1他車両OV1及び第2他車両OV2のそれぞれから通信部103を介して安定度情報を取得する。
次に、ステップS304において、制御部106は、周囲に存在する他車両OVのうち最も安定度の高い他車両OVへの、自車両MVが演算処理を行っていた部分ジョブデータD1aの転送を開始する。ここでは、図12に示すように、第1他車両OV1が選択されて、部分ジョブデータD1aが転送されるとする。制御部106は、部分ジョブデータD1aの演算処理を停止させ、部分ジョブデータD1aを退避させる。そして、制御部106は、部分ジョブデータD1aをパッケージングする。このとき、部分計算結果データが存在していれば、部分計算結果データも一緒にパッケージングする。制御部106は、部分ジョブデータD1aのパッケージングが完了した後は、第1他車両OV1への部分ジョブデータD1aの転送を開始する。制御部106は、通信部103を介して車車間通信により部分ジョブデータD1aを転送する。
続いて、ステップS305において、制御部106は、転送先の第1他車両OV1が不安定モードであるか否かについて判定する。制御部106は、第1他車両OV1から取得する安定度情報に基づいて、第1他車両OV1が不安定モードであるか否かを判定する。制御部106は、転送先の第1他車両OV1が不安定モードであると推定されたYESのときには、ステップS306に進む。一方で、制御部106は、転送先の第1他車両OV1が安定モードのままであると推定されたNOのときには、ステップS310に進む。
前記ステップS306では、制御部106は、第1他車両OV1への部分ジョブデータD1aの転送を継続させつつ、他の転送先を検索する。図12に例示するような場合には、第2他車両OV2が選択されるようになる。
次に、ステップS307において、制御部106は、転送先の第1他車両OV1が走行モードに移行したか否かについて判定する。制御部106は、第1他車両OV1から取得する安定度情報に基づいて、第1他車両OV1が走行モードに移行したか否かを判定する。制御部106は、転送先の第1他車両OV1が走行モードに移行したYESのときには、ステップS308に進む。一方で、制御部106は、転送先の第1他車両OV1が走行モードに移行していないNOのときには、ステップS310に進む。
前記ステップS308では、制御部106は、第1他車両OV1への部分ジョブデータD1aの転送を中止して、他の転送先を検索する。図12に例示するような場合には、第2他車両OV2が選択されるようになる。
次に、ステップS309において、制御部106は、前記ステップS308で検索した他の転送先(図12では第2他車両OV2)への部分ジョブデータD1aの転送を開始する。
前記ステップS305の判定がNOであるとき、前記ステップS307の判定がNOであるとき、または前記ステップS309の後に進むステップS310では、制御部106は、転送が完了したか否かについて判定する。制御部106は、転送先(ここでは、第1他車両OV1または第2他車両OV2)から、転送完了通知を受信したときに、転送が完了したと判定する。制御部106は、転送が完了したYESのときには、ステップS311に進む。一方で、制御部106は、転送が完了していないNOのときには、ステップS305に戻る。
そして、前記ステップS311では、制御部106は、自車両MVに保存されていた部分ジョブデータD1aを削除する。ステップS311の後は、制御部106は転送処理を終了する。
以上のようにして、自車両MVの制御部106は転送処理を行う。尚、自車両MVが部分ジョブデータD1aを転送可能な他車両OVが周囲に存在しないときには、制御部106は、管理サーバ50に部分ジョブデータD1aを戻す場合の送信時間を算出する。そして、制御部106は、該送信時間がユーザ到達時間tよりも短いときには、管理サーバ50に部分ジョブデータD1aを戻す。一方で、制御部106は、該送信時間がユーザ到達時間tよりも長いときには、部分ジョブデータD1aを保持し、そのことを管理サーバ50に通知する。
次に、自車両MVが走行モードに移行する際の転送処理について、図13を参照しながら説明する。尚、以下で説明するステップS401~S404は、前述したステップS301~S304と同じであるため、詳細な説明を省略する。
まず、ステップS401において、制御部106は、自車両MVのモードを推定する。
次に、ステップS402において、制御部106は、自車両MVが不安定モードであるか否かを判定する。制御部106は、自車両MVが不安定モードであると推定されたYESのときには、ステップS403に進む。制御部106は、自車両MVが安定モードのままであると推定されたNOときには、転送処理を終了する。
前記ステップS403では、制御部106は、周囲に存在しかつ同じグリッドコンピューティングに参加中の他車両OVの安定度情報を取得する。
次に、ステップS404において、制御部106は、周囲に存在する他車両OVのうち最も安定度の高い他車両OVへの、自車両MVが演算処理を行っていた部分ジョブデータD1aの転送を開始する。
次いで、ステップS405において、制御部106は、自車両MVが走行モードに移行したか否かを判定する。制御部106は、IGセンサ123の検出結果に基づいて自車両が走行モードに移行したか否かを判定する。制御部106は、自車両MVが走行モードに移行したYESのときには、ステップS406に進む。一方で、制御部106は、自車両MVが走行モードに移行していないNOのときには、ステップS409に進む。
前記ステップS406では、制御部106は、他車両OVへの転送を継続しつつ、自車両MVのユーザに、走行モードにおける機能の一部が制限されることを通知する。ここで制限される機能とは、ナビゲーションシステムの表示部でのTVの観賞、地図情報の更新など、自車両MVの走行動作とは直接関わらない機能である。このとき、部分ジョブデータD1aの転送にかかる時間をユーザに通知してもよい。
次に、ステップS407において、制御部106は、ユーザから機能を制限する許可があったか否かについて判定する。制御部106は、ユーザからの許可があったYESのときには、ステップS409に進む。一方で、制御部106は、ユーザからの許可がなかったNOのときには、ステップS408に進む。
前記ステップS408では、制御部106は、部分ジョブデータD1aを保持し、そのことを管理サーバ50に通知する。ステップS408の後は、転送処理を終了する。
前記ステップS405の判定がNOであるとき、前記ステップS407の判定がYESであるときに進むステップS409では、制御部106は、転送が完了したか否かについて判定する。制御部106は、転送先の他車両OVから、転送完了通知を受信したときに、転送が完了したと判定する。制御部106は、転送が完了したYESのときには、ステップS410に進む。一方で、制御部106は、転送が完了していないNOのときには、ステップS405に戻る。
そして、前記ステップS410では、制御部106は、自車両MVに保存されていた部分ジョブデータD1aを削除する。ステップS410の後は、制御部106は転送処理を終了する。
以上のようにして、自車両MVの制御部106は、自車両MVが走行モードに移行した場合にも対処するようにしている。尚、自車両MVの制御部106は、自車両MVが不安定モードから安定モードに戻ることが推定されたときには、部分ジョブデータD1aの転送を開始した後であれば、部分ジョブデータD1aの他車両OVへの送信を継続させる。これにより、自車両MVが再度不安定モードになるような場合であっても、転送処理を最初から実行する必要がなくなるため、効率化を図ることができる。一方で、部分ジョブデータD1aの転送を開始する前の状態、例えば、ジョブの演算処理を中止した段階であれば、他車両OVへの転送処理を開始することなく、自車両MVでのジョブの演算処理を再開する。
また、自車両MVの制御部106は、他車両OVへの部分ジョブデータD1aの転送を開始する前に、自車両MVが走行モードに移行したことが推定されたときには、部分ジョブデータD1aを管理サーバ50に戻す。このときにも、制御部106は、自車両MVのユーザに、走行モードにおける機能の一部が制限されることを通知する。そして、ユーザの許可があったときには、制御部106は、部分ジョブデータD1aを管理サーバ50に戻す。一方で、ユーザの許可が無かったときには、制御部106は、部分ジョブデータD1aを保持し、そのことを管理サーバ50に通知する。
したがって、本実施形態では、車両10の演算装置105は、ジョブの演算処理を行う制御部を備える。制御部106は、自車両が、ジョブの演算処理を安定して実行可能な安定モードであるか、またはジョブの演算処理を中止する可能性のある不安定モードであるかを推定する推定処理と、自車両が不安定モードであると推定したときに、演算処理中のジョブに関するジョブデータをパッケージングして、自車両の周囲に停車かつグリッドコンピューティングに参加中の他車両に、自車両の通信部103を介して転送する転送処理と、を実行する。制御部106は、推定処理において、自車両のユーザが該自車両の停車位置に到達するまでの時間であるユーザ到達時間tを推定して、自車両が前記ジョブの演算を完了するまでの時間であるジョブ完了時間tを推定して、ユーザ到達時間tとジョブ完了時間tとを比較して、ジョブ完了時間tがユーザ到達時間t以下であるときには、自車両が安定モードであると推定し、ジョブ完了時間tがユーザ到達時間tよりも長いときには、自車両が不安定モードであると推定する。これにより、ユーザが突発的に車両を使用するような場合に、ユーザが自車両の使用を開始する前にジョブの演算処理を完了し難いときには、不安定モードであるとして、部分ジョブデータD1aを同じグリッドコンピューティングに参加している他車両に転送する。これにより、ジョブの演算は当該他車両により継続して行われる。このため、ジョブの完了に膨大な演算を要する場合であっても、ジョブの演算を完了させることができる。したがって、ジョブの演算処理を安定させることができる。
特に、本実施形態では、通信部103は、ユーザが所有する携帯機器と通信し、制御部106は、携帯機器の位置から自車両とユーザとの間の距離を推定し、該推定距離と該推定距離の時間変化とに基づいてユーザ到達時間tを推定する。これにより、ユーザ到達時間tを精度良く推定することで、自車両が不安定モードであるか否かを精度良く推定することができる。この結果、ジョブの演算処理をより安定させることができる。
また、本実施形態では、通信部103は、他車両がジョブの演算処理を行った場合の該演算処理の安定度を示す安定度情報を取得し、制御部106は、他車両が複数あるときには、安定度情報に基づいて安定度が最も高い他車両に部分ジョブデータD1aを転送する。これにより、自車両が不安定モードであるときに、出来る限り安定した他車両にジョブを転送することができるようになる。これにより、ジョブの演算処理をより安定させることができる。
特に、本実施形態において、安定度情報は、他車両が安定モードであるか、または不安定モードであるかに関する情報を含み、制御部106は、部分ジョブデータD1aの転送先の他車両が、該部分ジョブデータD1aの転送中に不安定モードに移行したときには、部分ジョブデータD1aの転送を継続するとともに、当該他車両を除く新たな転送先となる他車両を探索する。これにより、部分ジョブデータD1aを転送予定であった他車両が、転送完了前に移動体として使用されたとしても、迅速に別の他車両に部分ジョブデータD1aを転送することができる。これにより、ジョブの演算処理をより安定させることができる。
また、本実施形態では、制御部106は、部分ジョブデータD1aを他車両に送信中に、自車両が不安定モードから安定モードに移行することが推定されたときには、部分ジョブデータD1aの他車両への転送を継続させる。これにより、自車両が再度不安定モードになるような場合であっても、転送処理を最初から実行する必要がなくなるため、効率化を図ることができる。また、部分ジョブデータD1aを転送中であれば、部分ジョブデータD1aを他車両に転送させて、該他車両でジョブの演算処理を行った方が、自車両でジョブの演算処理を再開するよりも、演算処理の安定性が高くなりやすい。結果として、ジョブの演算処理をより安定させることができる。
また、本実施形態では、制御部106は、部分ジョブデータD1aを他車両に転送中に、自車両が走行モードに移行することが推定されたときには、自車両のユーザに、部分ジョブデータD1aの転送中は走行モードにおける該制御部106の演算処理を制限することを通知する。これにより、ユーザに走行モードにおける制御部106の演算処理を制限することを通知した上で、部分ジョブデータD1aの転送を継続させることができる。このため、ユーザに煩わしさを出来る限り与えることなく、部分ジョブデータD1aの転送を完了させることができる。この結果、部分ジョブデータD1aの転送を完了させることができるため、ジョブの演算処理をより安定させることができる。
(その他の実施形態)
ここに開示された技術は、前述の実施形態に限られるものではなく、請求の範囲の主旨を逸脱しない範囲で代用が可能である。
例えば、前述の実施形態では、車両10の制御部106が、ジョブ完了時間t及びユーザ到達時間tの算出をしていた。これに限らず、管理サーバ50がジョブ完了時間t及びユーザ到達時間tの算出をしてもよい。さらに、各車両10の安定度及びモードを管理サーバ50が推定して、該管理サーバ50からの制御信号により、不安定モードの車両10から他の車両に部分ジョブデータD1aが転送されてもよい。
前述の実施形態は単なる例示に過ぎず、本開示の範囲を限定的に解釈してはならない。本開示の範囲は請求の範囲によって定義され、請求の範囲の均等範囲に属する変形や変更は、全て本開示の範囲内のものである。
ここに開示された技術は、複数の車両の停車時に、複数の車両のそれぞれを計算ノードとするグリッドコンピューティングによりジョブの演算処理を行う際に有用である。
10 車両
103 通信部
106 制御部
D1a 部分ジョブデータ
MV 自車両
OV 他車両

Claims (7)

  1. 複数の車両の停車時に、該複数の車両のそれぞれを計算ノードとしてジョブの演算処理を行うグリッドコンピューティングの演算資源となる、車両の演算装置であって、
    前記ジョブの演算処理を行う制御部を備え、
    前記制御部は、
    自車両が、前記ジョブの演算処理を安定して実行可能な安定モードであるか、または前記ジョブの演算処理を中止する可能性のある不安定モードであるかを推定する推定処理と、
    前記自車両が前記不安定モードであると推定したときに、演算処理中の前記ジョブに関するジョブデータを、前記自車両の周囲に停車かつ前記グリッドコンピューティングに参加中の他車両に、前記自車両の通信部を介して転送する転送処理と、
    を実行し、
    さらに前記制御部は、前記推定処理において、前記自車両のユーザが該自車両の停車位置に到達するまでの時間であるユーザ到達時間と、前記自車両が前記ジョブの演算を完了するまでの時間であるジョブ完了時間とを比較して、前記ジョブ完了時間が前記ユーザ到達時間以下であるときには、前記自車両が前記安定モードであると推定し、前記ジョブ完了時間が前記ユーザ到達時間よりも長いときには、前記自車両が前記不安定モードであると推定することを特徴とする車両の演算装置。
  2. 請求項1に記載の車両の演算装置において、
    前記通信部は、前記ユーザが所有する携帯機器と通信し、
    前記制御部は、前記携帯機器の位置から前記自車両と前記ユーザとの間の距離を推定し、該推定距離と該推定距離の時間変化とに基づいて前記ユーザ到達時間を推定することを特徴とする車両の演算装置。
  3. 請求項1または2に記載の車両の演算装置において、
    前記通信部は、前記他車両が前記ジョブの演算処理を行った場合の該演算処理の安定度を示す安定度情報を取得し、
    前記制御部は、前記他車両が1つであるときには、当該他車両に前記ジョブデータを転送する一方、前記他車両が複数あるときには、前記安定度情報に基づいて安定度が最も高い他車両に前記ジョブデータを転送することを特徴とする車両の演算装置。
  4. 請求項3に記載の車両の演算装置において、
    前記安定度情報は、前記他車両が前記安定モードであるか、または前記不安定モードであるかに関する情報を含み、
    前記制御部は、前記ジョブデータの転送中に、前記ジョブデータの転送先の他車両が前記不安定モードであると推定されたときには、前記ジョブデータの転送を継続するとともに、当該他車両を除く新たな転送先となる他車両を探索することを特徴とする車両の演算装置。
  5. 請求項1~4のいずれか1つに記載の車両の演算装置において、
    前記制御部は、前記ジョブデータを前記他車両に転送中に、前記自車両が前記不安定モードから前記安定モードに移行することが推定されたときには、前記ジョブデータの前記他車両への転送を継続させることを特徴とする車両の演算装置。
  6. 請求項1~5のいずれか1つに記載の車両の演算装置において、
    前記制御部は、前記ジョブデータを前記他車両に転送中に、前記自車両が、前記ユーザが前記自車両を走行させる走行モードに移行したことが推定されたときには、前記自車両のユーザに、前記ジョブデータの転送中は前記走行モードにおける該制御部の演算処理を制限することを通知することを特徴とする車両の演算装置。
  7. 複数の車両の停車時に、該複数の車両のそれぞれを計算ノードとするグリッドコンピューティングによりジョブの演算処理を行う際の情報処理方法であって、
    前記複数の車両のうちの特定車両が前記ジョブの演算を完了するまでの時間であるジョブ完了時間を推定する工程と、
    前記特定車両のユーザが該特定車両の停車位置に到達するまでの時間であるユーザ到達時間を推定する工程と、
    前記ジョブ完了時間と前記ユーザ到達時間とを比較して、前記特定車両が、前記ジョブの演算処理を安定して実行可能な安定モードであるか、または前記ジョブの演算処理を中止する可能性のある不安定モードであるかを推定するモード推定工程と、
    前記特定車両が前記不安定モードであると推定したときに、演算処理中の前記ジョブに関するジョブデータを、前記特定車両の周囲に停車しかつ前記グリッドコンピューティングに参加中の他車両に転送するジョブ転送工程と、を含み、
    前記モード推定工程は、前記ジョブ完了時間が前記ユーザ到達時間以下であるときには、前記特定車両が前記安定モードであると推定し、前記ジョブ完了時間が前記ユーザ到達時間よりも長いときには、前記特定車両が前記不安定モードであると推定する工程であることを特徴とする情報処理方法。
JP2021129025A 2021-08-05 2021-08-05 車両の演算装置および情報処理方法 Pending JP2023023462A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021129025A JP2023023462A (ja) 2021-08-05 2021-08-05 車両の演算装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021129025A JP2023023462A (ja) 2021-08-05 2021-08-05 車両の演算装置および情報処理方法

Publications (1)

Publication Number Publication Date
JP2023023462A true JP2023023462A (ja) 2023-02-16

Family

ID=85203040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021129025A Pending JP2023023462A (ja) 2021-08-05 2021-08-05 車両の演算装置および情報処理方法

Country Status (1)

Country Link
JP (1) JP2023023462A (ja)

Similar Documents

Publication Publication Date Title
JP6953415B2 (ja) 自動車及びクラウドのハイブリッド環境のためのダイナミックなアプリケーションの実行
WO2022230644A1 (ja) 管理システム及び管理方法
JP2023023462A (ja) 車両の演算装置および情報処理方法
JP2023023467A (ja) 管理システムおよび管理方法、並びに、車両の演算装置
JP2023023468A (ja) 管理システムおよび管理方法、並びに、車両の演算装置
JP2023023464A (ja) 車両の演算装置、並びに、車両の参加推定方法および推定システム
CN114358348A (zh) 信息处理装置、信息处理系统以及信息处理方法
WO2022230632A1 (ja) 管理システムおよび管理方法
JP2023065975A (ja) 管理装置、管理方法、及び管理プログラム
WO2022230624A1 (ja) グリッドコンピューティング管理システム及びその管理方法
JP2023023466A (ja) 車両の演算装置、並びに、車両の参加推定方法および推定システム
WO2022230633A1 (ja) 管理システムおよび管理方法
JP2023065974A (ja) 管理装置、管理方法、管理プログラム、及び車両の演算装置
US20240193003A1 (en) Management system, and management method
US11897357B1 (en) Scheduling system and method for distributed and unreliable electric vehicle nodes for compute workloads
JP2023034411A (ja) 管理装置及び管理方法
JP2023068312A (ja) 管理装置、及び管理方法
JP2023034413A (ja) 管理装置及び管理方法
JP2023057230A (ja) 管理システム及び管理方法
JP2023034412A (ja) 管理装置及び管理方法
JP2023034410A (ja) 管理装置及び管理方法
JP2023048846A (ja) 管理装置および処理方法
JP2023057229A (ja) 管理システム及び管理方法
JP2023048845A (ja) 管理装置および処理方法
JP2023092242A (ja) 管理装置および処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240618