(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022171283
(43)【公開日】2022-11-11
(54)【発明の名称】管理システム及び管理方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20221104BHJP
G08G 1/09 20060101ALI20221104BHJP
G06F 9/50 20060101ALI20221104BHJP
【FI】
G06Q50/10
G08G1/09 F
G06F9/50 150A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021077851
(22)【出願日】2021-04-30
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】岡村 雅
(72)【発明者】
【氏名】伊藤 誠一
(72)【発明者】
【氏名】前田 貴史
(72)【発明者】
【氏名】足立 智彦
(72)【発明者】
【氏名】吉岡 正博
(72)【発明者】
【氏名】石橋 真人
(72)【発明者】
【氏名】濱野 大輔
【テーマコード(参考)】
5H181
5L049
【Fターム(参考)】
5H181AA01
5H181AA05
5H181AA21
5H181AA25
5H181AA26
5H181BB04
5H181BB05
5H181BB13
5H181CC04
5H181CC12
5H181CC14
5H181FF04
5H181FF10
5H181FF13
5H181LL09
5H181MB01
5H181MC06
5L049CC11
(57)【要約】
【課題】グリッドコンピューティング処理の稼働状況にあわせて、追加の移動体を手配することなく追加の演算資源を確保する。
【解決手段】管理システムは、制御部505と、各移動体に搭載された演算資源に関するリソース情報D14と、各移動体の稼働履歴情報D15とを格納する記憶部504とを備える。制御部505は、リソース情報D14および稼働履歴情報D15を参照して、演算資源を増強する対象移動体を抽出する抽出処理と、対象移動体の所有者に、演算資源の増強の案内を送信する案内処理と、更新情報が取得されたとき、更新情報に基づいてリソース情報D14を更新する更新処理とを行う。
【選択図】
図9
【特許請求の範囲】
【請求項1】
複数の移動体のそれぞれに搭載される演算資源を活用したグリッドコンピューティングを管理する管理システムであって、
制御部と、
前記各移動体に搭載された演算資源に関する情報であるリソース情報と、前記各移動体のグリッドコンピューティングでの計算処理の履歴を示す稼働履歴情報とを格納する記憶部とを備え、
前記制御部は、
前記記憶部に格納された前記リソース情報および前記稼働履歴情報を参照して、前記複数の移動体の中から演算資源を増強する対象となる対象移動体を抽出する抽出処理と、
前記対象移動体の所有者に、演算資源の増強の案内を送信する案内処理と、
前記対象移動体に演算資源の増強が行われたことを示す更新情報が取得されたとき、前記更新情報に基づいて前記リソース情報を更新する更新処理とを行う、
管理システム。
【請求項2】
前記制御部は、
前記リソース情報および前記稼働履歴情報を参照して、前記複数の移動体でグリッドを構成した場合における当該グリッドの計算能力を推定する計算能力推定処理と、
クライアント端末から依頼されるジョブの傾向を推定するジョブ推定処理と、
をさらに行い、
前記抽出処理において、前記ジョブの傾向と前記グリッドの計算能力の推定値とに基づいて、増強対象とする演算資源を特定し、前記増強対象の演算資源が増強可能な移動体を前記対象移動体として抽出する、請求項1に記載の管理システム。
【請求項3】
前記制御部は、
移動体に関する情報である移動体情報、前記リソース情報及び前記稼働履歴情報を参照して、前記複数の移動体の中から割り当てられたグリッドコンピューティングのジョブを管理する主移動体を決定する決定処理を、さらに行い、
前記抽出処理において、前記主移動体を前記対象移動体として抽出する、請求項1に記載の管理システム。
【請求項4】
前記記憶部には、
前記各移動体のメンテナンスの期日情報が格納されており、
前記制御部は、
前記抽出処理において、前記メンテナンスの期日が近い移動体の優先度を高く設定する、請求項1から3のいずれか1項に記載の管理システム。
【請求項5】
前記制御部は、
前記案内処理において、前記演算資源の増強をすることによって、前記移動体の使用に際して利用可能となる追加機能を前記対象移動体の所有者に案内する、請求項1から4のいずれか1項に記載の管理システム。
【請求項6】
複数の移動体のそれぞれに搭載される演算資源を活用したグリッドコンピューティングを管理する管理方法であって、
前記各移動体に搭載された演算資源に関する情報であるリソース情報と、前記各移動体のグリッドコンピューティングでの計算処理の履歴を示す稼働履歴情報とを用い、
前記記憶部に格納された前記リソース情報および前記稼働履歴情報を参照して、前記複数の移動体の中から演算資源を増強する対象となる対象移動体を抽出する抽出処理と、
前記対象移動体の所有者に、演算資源の増強の案内を送信する案内処理と、
前記対象移動体に演算資源の増強が行われたことを示す更新情報が取得されたとき、前記更新情報に基づいて前記リソース情報を更新する更新処理とを行う、
管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、管理システム及び管理方法に関する技術分野に属する。
【背景技術】
【0002】
特許文献1には、複数の通信装置と、グリッドコンピューティングを管理する管理サーバとを備えたシステムが開示されている。管理サーバは、信号受信部と、状態判定部と、応答送信部とを備える。信号受信部は、通信装置からその通信装置がグリッドコンピューティングへの参加が可能であることを示す信号を受信する。状態判定部は、複数の処理装置のそれぞれの計算資源の使用状況に基づいて、複数の処理装置のそれぞれの処理能力の不足状態を判定する。応答送信部は、複数の処理装置の少なくともいずれかの処理能力が不足している場合に、上記の信号に基づいて、上記の通信装置にグリッドコンピューティングへの参加指示を送信する。このような構成により、複数の通信装置の計算資源を有効に活用しようとしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術を個人の所有する移動体(車両等)に適用する場合、それぞれの所有者の行動の予定もあるという問題がある。所有者が移動体を使用している場合、例えば、車両の走行中には、グリッドコンピューティングに参加できない。したがって、これらの移動体について、グリッドコンピューティングの演算資源としての使用許可を受けていたとしても、参加を依頼する際に、参加できるか否かについての不確実性が非常に高いという問題がある。すなわち、複数の処理装置の少なくともいずれかの処理能力が不足している場合に、グリッドコンピューティングへの参加指示を受けたからと言って、指示を受けた移動体がグリッドコンピューティングに参加できるとは限らない。
【0005】
また、個人の所有する移動体の場合、グリッドコンピューティングへの主な参加シーンとして、所有者によって移動体が使用されていないときが想定される。そして、移動体が使用されていないときには、その移動体は、各個人宅に置かれている場合が多い。そうすると、移動体同士の物理的な距離が離れていることが想定される。グリッドコンピューティングの処理安定性や移動体の相互間のデータの送受信等を考えると、ある所定の距離範囲にある移動体同士でグリッドコンピューティングを構築するのが好ましい。しかしながら、その距離範囲に存在する移動体では、演算資源が十分ではない場合に、グリッドコンピューティングを実行する上での計算能力が十分に確保できない場合がある。
【0006】
ここに開示された技術は斯かる点に鑑みてなされたものであり、その目的とするところは、グリッドコンピューティング処理の稼働状況にあわせて、追加の車両を手配することなく追加の演算資源を確保することにある。
【課題を解決するための手段】
【0007】
前記課題を解決するために、ここに開示された技術では、複数の移動体のそれぞれに搭載される演算資源を活用したグリッドコンピューティングを管理する管理システムを対象として、制御部と、前記各移動体に搭載された演算資源に関する情報であるリソース情報と、前記各移動体のグリッドコンピューティングでの計算処理の履歴を示す稼働履歴情報とを格納する記憶部とを備え、前記制御部は、前記記憶部に格納された前記リソース情報および前記稼働履歴情報を参照して、前記複数の移動体の中から演算資源を増強する対象となる対象移動体を抽出する抽出処理と、前記対象移動体の所有者に、演算資源の増強の案内を送信する案内処理と、前記対象移動体に演算資源の増強が行われたことを示す更新情報が取得されたとき、前記更新情報に基づいて前記リソース情報を更新する更新処理とを行う、という構成にした。
【0008】
上記態様によると、リソース情報および稼働履歴情報を参照して、複数の移動体の中から演算資源を増強する対象となる対象移動体を抽出し、演算資源の増強の案内を送信して演算資源を増強を促すようにしている。これにより、複数の移動体の枠組みを変えることなく演算資源を補強することができる。すなわち、特許文献1のように、処理能力が不足している場合に、通信装置にグリッドコンピューティングへの参加指示を送信することなく、グリッドコンピューティング処理を実行する上での演算資源を増やすことができる。
【発明の効果】
【0009】
以上説明したように、ここに開示された技術によると、グリッドコンピューティング処理の稼働状況にあわせて、追加の移動体を手配することなく追加の演算資源を確保することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態のシステムの構成を例示する概略図である。
【
図2】グリッドコンピューティングについて説明するための概念図である。
【
図4】ユーザ端末の構成を例示するブロック図である。
【
図5】クライアントサーバの構成を例示するブロック図である。
【
図6】施設サーバの構成を例示するブロック図である。
【
図7】管理サーバの構成を例示するブロック図である。
【
図8】クライアントが運営側サーバにジョブを依頼するための登録フォームを例示する概略図である。
【
図9】施設端末、車両、クライアント端末、及び管理サーバの間で伝達される情報を示す概略図である。
【
図10】管理システムの動作を例示するフローチャートである。
【
図13】グリッドの編成処理を例示するフローチャートである。
【
図14】ジョブの受付処理を例示するフローチャートである。
【
図15】マッチング処理を例示するフローチャートである。
【
図16】グリッドコンピューティング処理を例示するフローチャートである。
【発明を実施するための形態】
【0011】
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一の符号を付すものとし、繰り返しの説明を省略する場合がある。
【0012】
<第1実施形態>
(グリッドコンピューティングシステム)
図1は、実施形態のグリッドコンピューティングシステム1(以下、単に「システム1」ともいう)の構成を例示する。
【0013】
このシステム1は、複数の車両10と、複数のユーザ端末20と、クライアント端末30と、施設端末40と、管理サーバ50とを備える。これらの構成要素は、通信網5を経由して互いに通信可能である。複数の車両10の各々には、演算装置105が搭載される。
【0014】
〔グリッドコンピューティング〕
図2に示すように、実施形態のシステム1では、複数の演算装置105によりグリッドコンピューティング(以下、単に「グリッドG」ともいう)が構成され、複数の演算装置105のうち利用可能な演算装置105にジョブデータを処理させるグリッドコンピューティング処理が行われる。
【0015】
なお、車両10において演算装置105の計算能力が必要となると、演算装置105が稼働状態となり、演算装置105の計算能力が利用される。例えば、車両10が走行している場合、車両10の走行制御のために演算装置105の計算能力が必要となり、演算装置105が稼働状態となる。
【0016】
一方、車両10において演算装置105の計算能力が不要になると、演算装置105が停止状態となり、演算装置105の計算能力が利用されなくなる。例えば、車両10が停車して車両10の電源がオフ状態になると、演算装置105の計算能力が不要となり、演算装置105が停止状態となる。
【0017】
〔車両〕
車両10は、ユーザに所有される。ユーザは、車両10を運転する。この例では、車両10は、自動四輪車である。また、車両10には、電池(図示省略)が搭載される。電池の電力は、演算装置105などの車載機器に供給される。このような車両10の例としては、電気自動車、プラグインハイブリッド自動車などが挙げられる。
【0018】
図3に示すように、車両10は、アクチュエータ11と、センサ12と、入力部101と、出力部102と、通信部103と、記憶部104と、演算装置(プロセッサ)105とを備える。
【0019】
アクチュエータ11は、駆動系のアクチュエータ、操舵系のアクチュエータ、制動系のアクチュエータなどを含む。駆動系のアクチュエータの例としては、エンジン、トランスミッション、モータが挙げられる。制動系のアクチュエータの例としては、ブレーキが挙げられる。操舵系のアクチュエータの例としては、ステアリングが挙げられる。
【0020】
センサ12は、車両10の制御に用いられる各種の情報を取得する。センサ12の例としては、車外を撮像する車外カメラ、車内を撮像する車内カメラ、車外の物体を検出するレーダ、車速センサ、加速度センサ、ヨーレートセンサ、アクセル開度センサ、ステアリングセンサ、ブレーキ油圧センサなどが挙げられる。
【0021】
入力部101は、情報やデータを入力する。入力部101の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部101に入力された情報やデータは、演算装置105に送られる。
【0022】
出力部102は、情報やデータを出力する。出力部102の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0023】
通信部103は、情報やデータを送受信する。通信部103により受信された情報やデータは、演算装置105に送られる。
【0024】
記憶部104は、情報やデータを記憶する。記憶部104の具体的な構成は、特に限定されない。例えば、チップに内蔵されたメモリで実現されてもよいし、HDD(Hard disk drive)、SSD(Solid State Drive)で実現されてもよいし、DVDやBDのような光ディスクで実現されてもよい。本開示では、車両10に搭載され、データを格納したり、蓄積できる記憶領域を総称して、ストレージ108と称する。換言すると、記憶部104は、ストレージ108の一部の記憶領域で実現される。
【0025】
この例では、記憶部104は、車両情報D10を記憶する。車両情報D10には、車両識別情報D11と、車両状態情報D12と、車両走行情報D13と、リソース情報D14と、稼働履歴情報D15と、稼働予定情報D16が含まれる。
【0026】
〈車両識別情報〉
車両識別情報D11は、それぞれの車両10を識別するための情報である。具体的には、車両識別情報D11は、車両10を識別する車両識別情報、車両10を所有するユーザを識別するユーザ識別情報、車両10の性能を示す車両10のグレード情報(車両の駆動系の性能、オプションの状態を含む)を含む。
【0027】
〈車両状態情報〉
車両状態情報D12は、車両10の状態を示す情報である。例えば、車両状態情報D12は、車両位置情報、車両通信情報、車両電源情報、車両電池残量情報、車両充電情報などを含む。車両位置情報は、車両10の位置(緯度および経度)を示す。例えば、車両位置情報は、GPS(Global Positioning System)により取得可能である。車両通信情報は、車両10の通信状態を示す。車両電源情報は、車両10の電源の状態を示す。例えば、車両電源情報は、イグニッション電源のオンオフ、アクセサリ電源のオンオフなどを示す。車両電池残量情報は、車両10に搭載された電池(図示省略)の残量を示す。車両充電情報は、充電設備(図示省略)において車両10が充電中であるか否かを示す。
【0028】
〈車両走行情報〉
車両走行情報D13は、車両10の走行履歴を示す情報である。例えば、車両走行情報D13は、車両10の位置と時刻とを関連付けて示す。なお、走行履歴情報に加えて、車両10の未来の走行予定を示す走行予定情報が含まれてもよい。
【0029】
〈リソース情報〉
リソース情報D14は、後述する演算資源109(後述するCPU106、GPU107及びストレージ108を含む)に関する情報である。
【0030】
リソース情報D14は、例えば、演算装置105(CPU106、GPU107を含む)に関し、演算装置105に設定された演算装置ID、演算装置105を搭載する車両10に設定された車両ID、演算装置105の性能を示す演算装置性能情報を含む。演算装置IDは、例えば、CPU106、GPU107のそれぞれに設定されてもよい。演算装置性能情報は、例えば、CPU106、GPU107のそれぞれの性能情報を含む。
【0031】
リソース情報D14は、例えば、ストレージ108に関し、グリッドコンピューティング処理に割り当てることができる情報、例えば、記憶容量値、ストレージの種別(HDD,SSD,フラッシュメモリ等)、各ストレージ108への書込速度/読出速度、エラーレートなどの情報を含む。また、ストレージ108に関するリソース情報として、車両全体で搭載されている記憶容量値、現在の空き容量値を含んでもよい。
【0032】
演算装置IDは、演算装置105を識別する演算装置識別情報の一例である。演算装置性能情報に示される演算装置105の性能には、演算装置105の計算能力(具体的には最大計算能力)を示す計算能力、演算装置105におけるCPU106とGPU107との比率などが含まれる。なお、演算装置105の計算能力は、演算装置105が単位時間当たりに計算することができるデータ量である。
【0033】
〈稼働履歴情報〉
稼働履歴情報D15は、演算装置105の稼働履歴を示す情報である。例えば、稼働履歴情報D15は、演算装置105の計算能力の利用率及び/またはジョブの処理量と、時刻とを関連付けて示す。稼働履歴情報D15は、通常稼働履歴と、グリッド稼働履歴とを含む。通常稼働履歴は、例えば、車両の走行やカーナビ、音楽再生等のサービスの提供等のように、ユーザーの利用のために演算装置105を稼働させた履歴を示す情報である。グリッド稼働履歴は、グリッドコンピューティング処理を実行するために演算装置105を稼働させた履歴を示す情報である。
【0034】
〈稼働予定情報〉
稼働予定情報D16は、演算装置105の稼働予定を示す情報である。具体的には、稼働予定情報D16は、演算装置105の過去の利用状況を利用履歴情報、演算装置105の未来の利用状況を示す利用予定情報などを示す。
【0035】
演算装置105は、車両10の各部を制御する。この例では、演算装置105は、センサ12により得られた各種の情報に応じてアクチュエータ11を制御する。
【0036】
演算装置105は、プロセッサ、メモリなどを有する。プロセッサの例としては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などが挙げられる。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0037】
なお、演算装置105に搭載されるプロセッサの数は、1つであってもよいし、複数のであってもよい。また、演算装置105に搭載されるプロセッサは、CPU106およびGPU107のいずれか一方のみであってもよいし、CPU106およびGPU107の両方であってもよい。この例では、演算装置105は、CPU106およびGPU107の両方を有する。例えば、演算装置105は、1つまたは複数のECU(Electronic Control Unit)により構成される。
【0038】
演算装置105には、CPU106とGPU107のうちの少なくとも1つが含まれる。本開示では、グリッドコンピューティングの計算・処理に利用可能な資源を「演算資源109」と称する。演算資源109は、車両10に搭載されたCPU106、GPU107及びストレージ108の一部または全部を含む。例えば、後述する
図12において、マスタ車両CMには、演算資源として、3つのCPU106と1つのGPU107と1つのストレージ108とが搭載されている。同様に、車両C1には、1つのCPU106と2つのGPU107と1つのストレージ108とが搭載され、車両C2には、2つのCPU106と1つのGPU107と1つのストレージ108とが搭載され、車両C3には、1つのCPU106と1つのGPU107と2つのストレージ108とが搭載されている。なお、車両10に搭載されたCPU106、GPU107及びストレージ108のうち、その一部を演算資源109としてもよい。すなわち、例えば、CPU106、GPU107及び記憶部104に演算資源109としての利用ができないものや利用の制限がされているものが含まれていてもよい。
【0039】
また、例えば、演算資源109としての利用を許可される時間帯と、演算資源109としての利用を制限する時間帯とが分けられていてもよい。すなわち、単一のCPU106が、ある時間帯では演算資源109としてカウントされ、他の時間帯では演算資源109としてカウントされないとしてもよい。GPU107及びストレージ108についても同様である。
【0040】
また、CPU106が単一または複数のコアで実現されている場合において、その複数のコアの一部が演算資源109としてカウントされ、それ以外のコアは演算資源109としてカウントされないとしてもよい。GPU107についても同様である。同様に、ストレージ108の記憶領域のうちの一部が演算資源109としてカウントされ、それ以外の記憶領域は演算資源109としてカウントされないとしてもよい。
【0041】
〔ユーザ端末〕
ユーザ端末20は、ユーザに所有される。ユーザは、ユーザ端末20を操作して各種の機能を利用する。また、ユーザは、ユーザ端末20を持ち運ぶことができる。このようなユーザ端末20の例としては、スマートフォン、タブレット、ノート型パーソナルコンピュータなどが挙げられる。
【0042】
図4に示すように、ユーザ端末20は、入力部201と、出力部202と、通信部203と、記憶部204と、制御部205とを備える。
【0043】
入力部201は、情報やデータを入力する。入力部201の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部101に入力された情報は、演算装置105に送られる。
【0044】
出力部202は、情報やデータを出力する。出力部202の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0045】
通信部203は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部205に送られる。
【0046】
制御部205は、ユーザ端末20の各部を制御する。制御部205は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0047】
記憶部204は、情報やデータを記憶する。この例では、記憶部204は、端末情報D21と、端末状態情報D22と、スケジュール情報D23とを記憶する。
【0048】
〈端末情報〉
端末情報D21は、ユーザ端末20に関する情報である。例えば、端末情報D21は、ユーザ端末20に設定されたユーザ端末ID、ユーザ端末20の性能を示すユーザ端末性能情報などを含む。ユーザ端末IDは、ユーザ端末20を識別するユーザ端末識別情報の一例である。
【0049】
〈端末状態情報〉
端末状態情報D22は、ユーザ端末20の状態を示す情報である。端末状態情報D22は、ユーザ端末20の位置を示すユーザ端末位置情報、ユーザ端末20の通信状態を示すユーザ端末通信状態情報などを含む。
【0050】
〈スケジュール情報〉
スケジュール情報D23は、ユーザ端末20を所有するユーザの行動履歴および行動予定を示す。例えば、スケジュール情報D23は、ユーザの位置と滞在期間(または滞在予定期間)とを関連付けて示す。なお、スケジュール情報D23は、ユーザ端末20に搭載されたスケジュール機能により取得可能である。具体的には、ユーザがスケジュール機能を利用して自身の行動履歴および行動予定をユーザ端末20に入力することで、そのユーザの行動履歴および行動予定を示すスケジュール情報D23が得られる。
【0051】
〔クライアントサーバ〕
クライアント端末30は、クライアントにより所有される。クライアントは、ジョブデータの計算を依頼する。このようなクライアントの例としては、企業、研究機関、教育機関などが挙げられる。
【0052】
図5に示すように、クライアント端末30は、入力部301と、出力部302と、通信部303と、記憶部304と、制御部305とを備える。
【0053】
入力部301は、情報やデータを入力する。入力部301の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部301に入力された情報やデータは、制御部305に送られる。
【0054】
出力部302は、情報やデータを出力する。出力部302の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0055】
通信部303は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部305に送られる。
【0056】
制御部305は、クライアント端末30の各部を制御する。制御部305は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0057】
記憶部304は、情報やデータを記憶する。この例では、記憶部304は、クライアント情報D31と、ジョブデータD1とを記憶する。
【0058】
〈クライアント情報〉
クライアント情報D31は、クライアントに関する情報である。クライアント情報D31は、クライアントに設定されたクライアントID、クライアントにより所有されるクライアント端末30に設定されたクライアント端末ID、担当者名、住所、電話番号などを含む。クライアントIDは、クライアントを識別するクライアント識別情報の一例である。クライアントサーバIDは、クライアント端末30を識別するクライアント識別情報の一例である。
【0059】
〈ジョブデータ〉
ジョブデータD1は、ジョブに対応するデータであり、ジョブの実施のために処理されるデータである。
【0060】
なお、ジョブデータD1は、計算タイプにより分類可能である。計算タイプの例としては、CPU系の計算タイプ、GPU系の計算タイプなどが挙げられる。CPU系の計算タイプのジョブデータD1では、シミュレーション計算など、条件分岐の多い複雑な計算が要求される傾向にある。GPU系の計算タイプのジョブデータD1では、画像処理や機械学習など、膨大な量の単純計算が要求される傾向にある。
【0061】
また、ジョブデータD1は、処理条件により分類可能である。処理条件の例としては、常時通信が要求される処理条件、常時通信が要求されない処理条件などが挙げられる。常時通信が要求される処理条件のジョブデータD1では、グリッドコンピューティング処理において演算装置105が常に通信可能であることが要求される。常時通信が要求されない処理条件のジョブデータD1では、グリッドコンピューティング処理において演算装置105が常に通信可能であることが要求されない。
【0062】
〈ジョブ情報〉
なお、記憶部304には、ジョブに関するジョブ情報が記憶されてもよい。ジョブ情報は、ジョブの名称を示すジョブ名称情報、ジョブの内容を説明するジョブ内容情報、ジョブに対応するジョブデータに関するジョブデータ情報、ジョブの納期を示すジョブ納期情報などを含む。ジョブデータ情報は、ジョブデータの計算タイプ、処理条件、必要計算能力などを示す。
【0063】
〔施設端末〕
施設端末40は、施設により所有される。施設には、ユーザが訪れる。ユーザは、施設への来訪予約を行うことができる。このような施設の例としては、販売店、競技場、劇場、スーパーマーケット、レストラン、宿泊施設などが挙げられる。
【0064】
この例では、施設は、車両のメンテナンスが可能に構成された販売店や整備工場であり、施設端末40は、その販売店や整備工場に設けられた端末であるものとする。施設端末40に代えて、施設に設けられた施設サーバとしてもよい。その場合においても、ブロック構成等は施設端末40と同様でよい。
【0065】
図6に示すように、施設端末40は、入力部401と、出力部402と、通信部403と、記憶部404と、制御部405とを備える。施設端末40の入力部401、出力部402、通信部403、記憶部404、制御部405の構成は、クライアント端末30の入力部301、出力部302、通信部303、記憶部304、制御部305の構成と同様である。
【0066】
この例では、記憶部404は、施設情報D41と、施設利用情報D42と、演算資源の増設情報D43を記憶する。
【0067】
〈施設情報〉
施設情報D41は、施設に関する情報である。施設情報D41は、施設に設定された施設ID、施設により所有される施設端末40に設定された施設端末ID、施設の位置(緯度および経度)を示す施設位置情報、担当者名、住所、電話番号などを含む。施設端末IDは、施設端末40を識別する施設識別情報の一例である。
【0068】
〈施設利用情報〉
施設利用情報D42は、販売店や整備工場などの施設の利用履歴情報、メンテナンス情報及び施設の利用予約情報を含む。メンテナンス情報は、各車両のメンテナンスのスケジュール情報、メンテナンスの種別、実施予定のメンテナンス内容、メンテナンスについての問い合わせ情報、メンテナンス時の伝達事項などの情報が含まれる。また、施設利用情報D42には、ユーザーの来訪予約日時、演算資源の増設・交換を含む施設への来訪目的が含まれる。また、来訪目的に「演算資源の増設・交換」が含まれる場合には、ユーザー施設利用情報に、後述する演算資源109の増設情報D43が関連付けられている。なお、施設利用情報D42として、施設を訪れるユーザと滞在期間(または滞在予定期間)とを関連付けた情報が含まれてもよい。
【0069】
〈演算資源の増設情報〉
演算資源109の増設情報D43は、増設の対象となる車両の車両識別情報D11と、増設・交換の対象となる演算資源109の情報とが関連付けされた情報である。
【0070】
演算資源109の増設形態は、特に限定されない。例えば、CPU106、GPU107及びストレージ108が実装されたオールインワンのMPU(Micro-processing unit)ボードであってもよいし、増設したい演算資源(CPU106、GPU107またはストレージ108のうちの1または複数)に特化した単体ボードであってもよい。
【0071】
増設・交換の対象となる演算資源109の情報は、例えば、上記のようなボードの名称や識別コードなどであって、施設端末40の利用者や、ボード(演算資源)などの増設を行う作業者がわかりやすい形態で登録される。
【0072】
〔管理サーバ〕
管理サーバ50は、グリッドコンピューティングの運営を管理する。言い換えると、複数の車両10のそれぞれに搭載される演算資源109を活用したグリッドコンピューティングを管理する管理システムは、管理サーバ50を備える。管理サーバ50は、システム1を運営する事業者により所有される。
【0073】
図7に示すように、管理サーバ50は、入力部501と、出力部502と、通信部503と、記憶部504と、制御部505とを備える。管理サーバ50の入力部501、出力部502、通信部503の構成は、クライアント端末30の入力部301、出力部302、通信部303の構成と同様である。記憶部504および制御部505は、グリッドコンピューティングを管理する管理システムの構成要素の一例である。
【0074】
この例では、制御部505は、グリッドコンピューティングの運営や管理に関する一連の制御及び処理を実行する機能を有する。より具体的には、
図9に示す矢印のフローを実現するための制御や処理であったり、
図10以降のフロー図内での制御や処理を実行する。なお、以下の説明では、説明の便宜上、管理サーバ50を主体をとして記載しているが、制御部505がその処理や制御に寄与することで実現される場合がある。例えば、制御部505は、後述する「抽出処理」、「案内処理」、「更新処理」、「計算能力推定処理」、「ジョブ推定処理」、「決定処理」を主体となって実行するように構成される。それぞれの処理については、後ほどフロー図等の図面を参照しつつ具体的に説明する。
【0075】
制御部505は、プロセッサ、メモリなどを有する。プロセッサの例としては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などが挙げられる。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。なお、制御部505を実現するためのプロセッサの数は、1つであってもよいし、複数のであってもよい。
【0076】
記憶部504は、情報やデータを記憶する。記憶部104の具体的な構成は、特に限定されない。例えば、チップに内蔵されたメモリで実現されてもよいし、HDD(Hard disk drive)、SSD(Solid State Drive)で実現されてもよいし、DVDやBDのような光ディスクで実現されてもよい。
【0077】
この例では、記憶部504には、ユーザテーブルD51と、演算資源テーブルD52と、クライアントテーブルD53と、ジョブテーブルD54と、グリッドテーブルD55と、マッチングテーブルD56と、ジョブデータD1と、計算結果データD2、ジョブ傾向情報D9等の各種データが格納される。
【0078】
〈ユーザテーブル〉
ユーザテーブルD51は、ユーザを管理するためのテーブルである。ユーザテーブルD51には、ユーザ毎に、そのユーザに設定されたユーザID、そのユーザにより所有される車両10(以下、所有車両ともいう)に設定された車両ID(例えば、VIN)、そのユーザにより所有される演算資源109に設定された演算資源ID、そのユーザにより所有されるユーザ端末20に設定されたユーザ端末IDなどが登録される。さらに、ユーザテーブルD51には、そのユーザーに関する、販売店や整備工場の利用履歴情報、所有車両の次のメンテナンス期日や定期メンテナンス期日などのメンテナンス期日情報D3を含むメンテナンス情報D4、所有車両のグレード情報、所有車両への演算資源の増設可否の情報などが登録されていてもよい。
【0079】
〈演算資源テーブル〉
演算資源テーブルD52は、演算資源109を管理するためのテーブルである。演算資源テーブルD52には、演算資源109毎に、その演算資源109に設定された演算資源ID、その演算資源109を所有するユーザに設定されたユーザID、その演算資源109が搭載される車両10に設定された車両IDなどが登録される。
【0080】
また、演算資源テーブルD52には,演算資源109毎に、演算資源109の種別、その演算資源109のスペック(計算能力、記憶容量など)、その演算資源109の稼働状況(稼働履歴および稼働予定)などが登録される。言い換えると、演算資源テーブルD52は、複数の演算資源109の各々の稼働状況を示す稼働状況情報D5と、複数の演算資源109の各々の性能を示す演算資源情報D6とを含む。
【0081】
演算資源情報D6には、演算資源109がCPU106やGPU107の場合には、その演算資源109の各々の計算能力を示す計算能力情報D7が含まれる。ここでの計算能力には、計算能力の時間変化を含む。言い換えると、計算能力情報D7には、計算能力の時間変化も考慮して、所定期間において発揮することができる計算能力という意味が含まれる。
【0082】
また、演算資源109がストレージ108の場合には、記憶容量、データの書込/読出速度、エラーレート等のストレージ108の性能を示すストレージ性能情報D8が含まれる。ここでのストレージ性能には、ストレージ性能の時間変化を含む。言い換えると、ストレージ性能情報D8には、性能の時間変化も考慮して、所定期間において発揮することができるストレージ性能という意味が含まれる。
【0083】
〈クライアントテーブル〉
クライアントテーブルD53は、クライアントを管理するためのテーブルである。クライアントテーブルD53には、クライアント毎に、そのクライアントに設定されたクライアントID、クライアントにより所有されるクライアント端末30に設定されたクライアント端末ID、そのクライアントの担当者名、住所、電話番号などが登録される。
【0084】
〈ジョブテーブル〉
ジョブテーブルD54は、クライアントから依頼されたジョブを管理するためのテーブルである。ジョブテーブルD54には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブを依頼したクライアントに設定されたクライアントID、そのジョブの名称および内容などが登録される。また、ジョブテーブルD54には、ジョブ毎に、そのジョブに対応するジョブデータの計算タイプおよび処理条件、そのジョブデータの計算に必要となる計算能力である必要計算能力、そのジョブに設定された納期などが登録される。
【0085】
〈グリッドテーブル〉
グリッドテーブルD55は、グリッドコンピューティング処理におけるグリッドG及びそれぞれのグリッドGの計算能力を管理するためのテーブルである。
【0086】
グリッドテーブルD55には、グリッドG毎に、そのグリッドGを識別するためのグリッドID、グリッドGを構成する車両の車両識別情報D11、そのグリッドGを構成する演算資源109による計算能力などが登録される。ここでの計算能力には、計算の前提となる基本性能(計算スペック)に加えて、計算能力の時間的変化の予測結果が含まれる。
【0087】
言い換えると、グリッドテーブルD55には、グリッドコンピューティング処理において、所定の期間で考えた場合におけるそのグリッドGで処理が可能と予想されるジョブの概算予測値である実行可能ジョブ情報D59が登録されている。
【0088】
なお、グリッドテーブルD55に、車両識別情報D11に関連付して他の車両情報D10(例えば、リソース情報D14)が登録されていてもよい。
【0089】
〈マッチングテーブル〉
マッチングテーブルD56は、後述するマッチング処理の結果を管理するためのテーブルである。マッチングテーブルD56には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブに対応するジョブデータD1に設定されたジョブデータID、マッチング処理によりそのジョブデータに対して割り当てられたグリッドGのグリッドIDなどが登録される。
【0090】
〈ジョブデータ〉
記憶部504に記憶されるジョブデータD1は、後述するジョブ受付処理により受け付けられたジョブデータD1である。
【0091】
〈計算結果データ〉
記憶部504に記憶される計算結果データD2は、後述するグリッドコンピューティング処理により実行されたジョブの計算結果のデータである。
【0092】
〔グリッドコンピューティングシステムの動作〕
図9は、施設端末、車両、クライアント端末、及び管理サーバの間で伝達される情報を示す概略図である。また、
図10は、管理システムの動作の一例について示したフロー図である。
【0093】
〈ステップS1〉
ステップS1において、管理サーバ50は、各車両10の計算能力を推定する。
【0094】
まず、管理サーバ50は、各車両10に最新の車両情報D10の送信を要請する。管理サーバ50から車両情報D10の送信要請を受けた各車両10は、参加者情報を管理サーバ50に送信する。このときに送信される車両情報D10は、車両情報D10の一部が送信されてもよいし、全ての車両情報D10が送信されてもよい。送信される車両情報D10には、車両識別情報D11とリソース情報D14が含まれる。管理サーバ50では、各車両10から受信した車両情報D10を演算資源テーブルD52に登録する。なお、すでに管理サーバ50に車両情報D10が登録されている車両10については、登録されている登録情報との差分情報のうち、必要な情報を車両10から管理サーバ50に送信するようにしてもよい。
【0095】
次に、管理サーバ50では、例えば、演算資源テーブルD52に登録された車両情報D10を参照して、演算資源情報D6を推定する計算能力推定処理を実行する。演算資源情報D6は、各車両の計算能力情報D7とストレージ性能情報D8が含まれる。
【0096】
計算能力推定処理において、管理サーバ50が参照する情報は、例えば、各車両10の車両状態、演算資源109の演算可能量、演算資源109で対応が可能な演算タイプ、または、演算可能時間である。演算可能時間に関しては、例えば、車両10から具体的なスケジュールを受信してもよいし、記憶部504に保存された車両10および車両10の演算装置105の過去の利用傾向を分析して、演算装置105が演算資源として使える時間帯のスケジュールを予測するようにしてもよい。なお、それぞれの車両10から演算資源情報D6に相当する情報が受信された場合、その情報を利用すればよい。
【0097】
管理サーバ50は、取得または予測した演算資源情報D6を演算資源テーブルD52に登録する。
【0098】
管理サーバ50は、推定した演算資源情報D6を、各車両10の車両識別情報D11と紐づけて演算資源テーブルD52に登録する。
【0099】
〈ステップS2〉
ステップS2において、管理サーバ50は、グリッドコンピューティング処理を実行するためのグリッドGを編成するグリッド編成処理を実行する。
【0100】
以下、
図13を参照して、グリッド編成処理について説明する。
【0101】
-ステップS21-
まず、管理サーバ50は、それぞれのグリッドGを構成する。グリッドGは、各車両10に搭載された演算装置105及びストレージ108のうち、グリッドコンピューティング処理に利用可能な演算資源109(単に、「演算資源109」ともいう)に基づいて構成される。
【0102】
グリッドGの構成方法は、特に限定されないが、例えば、特定の時間に、所定のエリアに停車している可能性の高い車両同士でグリッドGを構成してもよい。この場合、例えば、ユーザの自宅の位置に基づいてグリッドGを構成してもよいし、ユーザが車で通勤している場合に、その職場や営業所などでグリッドGを構成してもよい。また、例えば、演算資源109に補完関係のある車両同士でグリッドGを構成してもよい。
【0103】
また、例えば、管理サーバ50は、GPU107の利用に特化したジョブを実行できるようにグリッドGを構成するといったように、依頼されたジョブであったり、依頼される傾向の高いジョブであったり、対応しようとするジョブの難易度などに応じてグリッドGを構成してもよい。
【0104】
また、管理サーバ50は、あらかじめ複数のグリッド候補を作成しておき、ジョブに応じて最終的にグリッドGを確定させるようなグリッドGの構成方法をとってもよい。その場合には、ステップS3からステップS6の間でグリッドGの編成または再編成が行われる。
【0105】
また、管理サーバ50は、後述するグリッドコンピューティング処理の終了後に、グリッドGをいったん解消し、再度新しいグリッドGを組みなおすようにしてもよい。換言すると、後述するステップS3からS8のループ処理の中で、グリッドGの再構築が行われてもよい。なお、以下の説明では、説明の便宜上、ステップS2で編成されたグリッドGが維持され、ステップS3以降の処理が進められるものとする。
【0106】
図11では、複数の車両毎にグルーピングして、グリッドGA,GB,GC,…,GXを構成した例を示している。
【0107】
なお、管理サーバ50は、後述するクライアント端末30からリクエストされたジョブの傾向や種別などに応じてグリッドGを構成するようにしてもよい。また、リクエストされたジョブに応じて、適宜、グリッドGを構成する車両10の台数や組み合わせを変えるようにしてもよい。
【0108】
また、
図12に示すように、管理サーバ50は、グリッドGを構成する車両10の中から、そのグリッドGに対して割り当てられたジョブを管理するマスタ車両CMを決定してもよい。そして、管理サーバ50は、基本的には、そのマスタ車両CMとの間でデータをやり取りするようにしてもよい。この場合、マスタ車両CMは、同じグリッドに所属する他の車両10(例えば、
図12の車両C1~C3)を管理する管理機能と、それらの他の車両(例えば、
図12の車両C1~C3)と管理サーバ50との間の中継装置としての機能とを備える。マスタ車両CMの選定方法は、特に限定されないが、例えば、グリッドコンピューティング処理の参加率や、搭載された演算資源109の性能などに基づいて選定される。
【0109】
-ステップS22-
次に、管理サーバ50は、各グリッドGの計算能力及びストレージ性能の推定処理を実行する。
【0110】
具体的には、管理サーバ50は、グリッドGを構成するそれぞれの車両10の演算資源テーブルD52を参照し、それぞれの車両10の演算資源情報D6に基づいて、グリッドGの計算能力及びストレージ性能を推定する。
【0111】
-ステップS23-
管理サーバ50は、ステップS21においてグリッドGを編成すると、グリッドGを識別するためのグリッドIDと、各車両10の車両情報D10とを関連付けてグリッドテーブルD55に登録する。そのときに、管理サーバ50は、ステップS22において推定したグリッドGの計算能力及びストレージ性能を関連付けて登録する。
【0112】
〈ステップS3〉
ステップS3において、管理サーバ50は、ジョブの受付処理を実行する。以下、
図14を参照して、ジョブ受付処理について説明する。
【0113】
ジョブ受付処理では、管理サーバ50は、クライアント端末30からジョブデータD1(ジョブの依頼)が受信される毎に、以下の処理を行う。
【0114】
-ステップS31-
まず、管理サーバ50は、クライアントからジョブの依頼を受け付ける。具体的には、クライアント端末30は、クライアントの担当者による操作に応答して、ジョブ依頼申請を管理サーバ50に送信する。管理サーバ50は、その申請に応答して以下の処理を行う。
【0115】
管理サーバ50は、ジョブの受付に必要となる情報(具体的にはジョブを依頼するクライアントに関するクライアント情報D31とジョブに関するジョブ情報)の送信をクライアント端末30に要求する。この例では、管理サーバ50は、ジョブ受付画面の画像データをクライアント端末30に送信する。クライアント端末30は、その画像データからジョブ受付画面の画像を再生し、その画像を出力部302(表示部)に出力(表示)させる。
【0116】
図8は、クライアントが管理サーバ50にジョブを依頼するための登録フォームR10の一例である。この登録フォームR10は、例えば、クライアントが所有する計算機の表示部に入力可能な形式で表示される。登録フォームR10の入力情報は、管理サーバ50が複数の車両で構成されたグリッドG(単に「グリッドG」ともいう)とジョブとのマッチングをする際に、必要な情報が含まれる。
【0117】
登録フォームR10には、例えば、企業(クライアントに相当)の概要として、企業名称の入力欄R101、担当者名の入力欄R102、企業の住所の入力欄R103、及び電話番号の入力欄R104がある。登録フォームR10には、例えば、ジョブ概要として、ジョブの名称の入力欄R111、ジョブの内容の入力欄R112、ジョブの演算タイプの入力欄R113、ジョブの実行条件の入力欄R114、ジョブの必要計算能力の入力欄R115、及び計算結果の納期R116などが含まれる。ジョブの内容としては、例えば、ジョブの目的やクライアントにおける当該ジョブの重要度等が入力される。ジョブの演算タイプとしては、例えば、前述の計算能力情報における「計算タイプ」と同様に、CPU系やGPU系等の情報が入力される。ジョブの実行条件としては、例えば、クライアント端末30との常時通信の有無や推奨される通信能力などが入力される。ジョブの必要計算能力としては、例えば、前述の計算能力情報における「計算能力」と同様に、ジョブの実行に必要な計算能力がFLOPSの単位で入力される。計算結果の納期としては、年月日及び時間が入力される。尚、登録フォームR10には、これら以外の情報が入力されてもよい。例えば、登録フォームR10には、クライアントが希望する計算結果のデータ形式を入力する項目があってもよい。また、登録フォームR10にジョブの実行に必要なプログラムを添付する項目が設けられていてもよい。
【0118】
クライアントの担当者は、クライアント端末30の入力部301(操作部)を操作して、ジョブ受付画面に必要な情報を入力する。これにより、ジョブを依頼するクライアントに関するクライアント情報と、ジョブに関するジョブ情報とが入力される。そして、これらの情報の入力が完了すると、クライアントの担当者は、クライアント端末30の入力部301(操作部)を操作して、ジョブ受付画面の登録ボタンB100を押下する。登録ボタンB100が押下されると、クライアント端末30は、ジョブ受付画面に入力された情報(クライアント情報およびジョブ情報)を管理サーバ50に送信する。管理サーバ50は、クライアント情報とジョブ情報とを受信する。
【0119】
次に、管理サーバ50は、依頼されたジョブに対応するジョブデータD1の送信をクライアント端末30に要求する。クライアント端末30は、その要求に応答して、依頼するジョブに対応するジョブデータD1を管理サーバ50に送信する。管理サーバ50は、ジョブデータD1を受信する。
【0120】
-ステップS32-
次に、管理サーバ50は、ステップS31において受信されたジョブデータD1を分析する。具体的には、管理サーバ50において、ジョブデータD1の計算タイプ、処理条件、必要計算能力などを分析する。管理サーバ50は、このジョブデータD1の計算タイプ、処理条件、必要計算能力などの分析結果に基づいて、クライアント端末から依頼されるジョブの傾向を推定する。推定されたジョブの傾向は、ジョブ傾向情報D9として記憶部504に記憶される。
【0121】
なお、管理サーバ50は、必要に応じて、ジョブデータD1の分析の結果に基づいて、ステップS31において受信されたジョブ情報を修正してもよい。
【0122】
-ステップS33-
次に、管理サーバ50では、ステップS31において受信されたクライアント情報と、ジョブ情報とを関連付けて、ジョブテーブルD54に登録して、ジョブテーブルD54を更新する。さらに、管理サーバ50では、ステップS31において受信されたジョブデータD1が、対応するクライアント情報やジョブ情報に基づいて参照できるような形態で記憶部504に記憶される。ジョブテーブルD54の更新とジョブデータD1の記憶が完了したらジョブの受付処理が完了する。
【0123】
なお、ジョブデータD1は、グリッドコンピューティング処理の前までに入手できればよいので、例えば、後述するマッチング処理の終了後に、ジョブデータD1の受信をするようにしてもよい。そうすることで、マッチングが不調な場合に、不必要なデータの送受信が行われることを回避できる。
【0124】
〈ステップS4〉
ステップS4において、管理サーバ50は、マッチング処理を実行する。以下、
図15を参照して、マッチング処理について説明する。
【0125】
-ステップS41-
まず、管理サーバ50は、推定計算能力と受け付けたジョブに必要な計算能力とを比較する。管理サーバ50は、単純な処理能力の比較だけでなく、提供可能な時間帯とジョブの納期との比較や、提供可能な場所の通信状態とジョブにおける常時通信の要否との比較を行う。
【0126】
-ステップS42-
次に、管理サーバ50は、現在登録されているジョブに推定計算能力で実行可能なジョブがあるか否かについて判定する。実行可能なジョブが存在する場合(S42でYES)、フローはステップS43に進む。一方で、推定計算能力で実行可能なジョブがない場合(S42でNO)、フローはステップS44に進む。
【0127】
-ステップS43-
管理サーバ50は、実行可能なジョブの中から、実際にそのグリッドGに計算させるジョブを決定する。ジョブが1つの場合、そのジョブを対象となるグリッドGに割り当てる。一方で、実行可能なジョブが複数存在する場合には、所定の優先順位に基づいて、対象となるグリッドGに割り当てるジョブを決定する。ここでの優先順位の付け方は、任意に設定することができ、特に限定されない。例えば、納期が近いものの優先順位を高くしたりというように、納期や実行スケジュールに基づいて優先順位を設定することができる。また、例えば、他のグリッドGでも実行が可能か否かというように、ジョブの特殊性や、そのジョブの難易度に基づいて優先順位を設定することができる。
【0128】
-ステップS44-
管理サーバ50は、ステップS42において、対象グリッドGの推定計算能力で実行可能なジョブがない原因を分析する。具体的には、管理サーバ50は、記憶部504のジョブ傾向情報D9を参照して、クライアント端末30から依頼されるジョブの傾向から対象グリッドGの演算資源109のうちで不足している演算資源を抽出する。
【0129】
言い換えると、管理サーバ50は、クライアントから依頼されるジョブ(需要)と、対象グリッドGの計算能力(供給)との需給バランスを監視する。そして、その監視結果に基づいて、将来の需要動向を予測し、その予測結果に基づいて、対象グリッドGに不足している演算資源109であったり、ステップS2でグリッドGを編成するのにあたって不足しているもしくは不足しがちな演算資源109を抽出する。演算資源109の抽出後、フローは、ステップS45に進む。
【0130】
なお、後述するステップS45の対象車両の抽出処理において、不足しているもしくは不足しがちな演算資源109の情報を使用しない場合、ステップS44を省略してもよい。その場合、ステップS42でのNO判定の後、ステップS45に進む。
【0131】
-ステップS45-
管理サーバ50は、記憶部504に格納されたリソース情報D14および稼働履歴情報D15を参照して、対象グリッドGを構成する車両10の中から演算資源109を増強する対象となる対象車両10(以下、単に対象車両10ともいう)を抽出する抽出処理を実行する。
【0132】
対象車両10の抽出方法は、特に限定されないが、例えば、ジョブ傾向情報D9に登録されているジョブの傾向と、対象グリッドGの計算能力の推定値とに基づいて、増強対象とする演算資源を特定し、その演算資源が増強可能な車両を対象車両10として抽出する。これにより、依頼を受けているジョブの傾向に即して演算資源109の増強をすることができるので、ジョブのマッチング率をより高めることができるという効果が得られる。
【0133】
また、例えば、ステップS44において不足していると判断された演算資源109の増強が可能な車両10を対象車両10としてもよい。これにより、実際に不足している演算資源109を増強対象とする、すなわち、直近の実需に即した演算資源109の増強ができる。
【0134】
また、例えば、管理サーバ50は、ユーザテーブルD51のメンテナンス期日情報D3を参照して、前述の抽出処理において、対象グリッドGの中で、メンテナンスの期日が近い車両10の優先度を高く設定してもよい。メンテナンスの期日にあわせて増設が設定できるようにすることで、ユーザは、予定されていたメンテナンスにあわせて増設をすることができる。これにより、ユーザの増設を促進することができる。
【0135】
また、例えば、マスタ車両CMを指定している場合に、そのマスタ車両CMまたはマスタ車両にすることを予定している車両10を対象車両10としてもよい。前述のとおり、マスタ車両CMは、自車両でもグリッドコンピューティング処理を実行するとともに、同じ対象グリッドGに所属する他の車両10の管理や、他の車両10と管理サーバ50との間の中継装置としての機能を発揮する。したがって、マスタ車両CMの演算資源109を増強することで、単に、グリッドコンピューティング処理を行う端末としての能力を向上させることにとどまらず、グリッドGとして性能向上や安定性の向上に寄与することができる。
【0136】
ステップS45での抽出処理の後、フローはステップS46に進む。
【0137】
-ステップS46-
管理サーバ50は、対象車両10の所有者に、演算資源109の増強の案内を送信する案内処理を実行する。
【0138】
具体的には、管理サーバ50は、ユーザ端末20に、演算資源109の増設案内と、演算資源109の増設による報酬を提示する。
【0139】
演算資源109の増設案内は、例えば、販売店や整備工場の予約案内情報(予約フォームの送信など)、入庫案内情報(入庫日時、施設名、施設住所など)等を含む。
【0140】
管理サーバ50は、演算資源109の増設案内にあわせて、演算資源109の増強をすることによって、車両10の使用に際して利用可能となる追加機能や追加サービスを対象車両10の所有者に案内してもよい。
【0141】
例えば、演算装置105(CPU106、GPU107及び/またはストレージ108)を増強することは、グリッドコンピューティング処理を実行していない場合、すなわち、日常での走行シーンにおける車両の性能向上にも直結する。そこで、演算資源の増強をすることによる追加機能や追加サービスを対象車両の所有者に案内できるようにすることで、ユーザーの増設意欲を高めることができる。
【0142】
-ステップS47-
ステップS47では、施設端末40から管理サーバ50に増設情報が受信されたか否かが判定される。以下では、施設端末40から管理サーバ50に増設情報が受信されるまでの流れについて説明する。
【0143】
ステップS46の案内処理の後、ユーザ端末20から管理サーバ50に対して、ユーザに増設意思があることが送信される。そうすると、管理サーバ50は、施設端末40に対して、対象車両10の入庫予約情報と、対象車両10に増設される演算資源109(例えば、MPUボード)の情報である増設情報D43を送信する。
【0144】
施設端末40では、増設情報D43を受信すると、記憶部404に登録する。そして、施設に実際にユーザが来訪すると、施設のスタッフが、入庫予約情報及び増設情報D43に基づいて、増設作業を実施する。例えば、
図9に示すように、施設では、旧型のMPU-A1から新型のMPU-A2に交換が実施されたり、空いているスロット等に新しいMPU-A3が追加されたりする。
【0145】
演算資源109の増設作業が完了すると、その情報は、施設端末40に登録され、管理サーバ50に送信される。
【0146】
管理サーバ50において、増設情報が受信されると、ステップS47でYES判定となり、フローは、次のステップS48に進む。
【0147】
一方で、ユーザが入庫する前の状態であったり、増設を断られた場合には、ステップS47でNO判定となる。そうすると、例えば、ステップS41に戻って、グリッドGに対して新しいジョブとのマッチングを図ったり、ステップS2に戻って、グリッドGの組み直しがされる。
【0148】
〔グリッドコンピューティング処理〕
次に、
図16を参照して、ステップS5のグリッドコンピューティング処理について説明する。グリッドコンピューティング処理では、複数の演算装置105のうち利用可能な演算装置105にジョブデータD1を処理させる。管理サーバ50は、ステップS4のマッチング処理の完了後に、以下の処理を行う。
【0149】
〈ステップS51〉
まず、管理サーバ50は、マッチングテーブルD56を参照し、グリッドコンピューティング処理の対象となるジョブデータD1を、マッチング処理においてそのジョブデータD1に割り当てられた演算資源109に分配する。具体的には、管理サーバ50は、ジョブデータD1に割り当てられた演算資源109の各々に、そのジョブデータD1の一部を送信する。これにより、ジョブデータD1は、そのジョブデータD1に割り当てられた演算資源109(CPU106、GPU107)により並列処理される。
【0150】
〈ステップS52〉
次に、演算資源109(CPU106、GPU107)の各々は、その演算資源109に送信されたデータ(ジョブデータD1の一部)の計算が完了すると、その計算により得られた部分計算結果データを管理サーバ50に送信する。管理サーバ50は、演算資源109から送信された部分計算結果データを受信し、その部分計算結果データを記憶部504に記憶する。
【0151】
〈ステップS53〉
管理サーバ50は、ステップS51においてジョブデータD1が分配された演算装置105の全てが計算を完了したか否かを判定する。演算装置105の全てが計算を完了している場合には、ステップS54の処理が行われ、そうでない場合には、ステップS52の処理が行われる。
【0152】
〈ステップS54〉
演算装置105の全てが計算を完了すると、管理サーバ50では、記憶部504に記憶された部分計算結果データを結合することで、グリッドコンピューティング処理の対象となるジョブデータD1に対応する計算結果データD2(ジョブデータD1の計算の結果を示す計算結果データD2)を生成する。そして、管理サーバ50は、グリッドコンピューティング処理の対象となるジョブデータD1に対応する計算結果データD2を、そのジョブデータD1の計算を依頼したクライアントのクライアント端末30に送信する。
【0153】
〈ステップS55〉
次に、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して、システム1を運営する事業者から報酬が付与される。ユーザに付与される報酬の例としては、システム1において利用可能なポイント、仮想通貨、商品の割引特典などが挙げられる。例えば、管理サーバ50は、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して報酬を付与するための処理を行う。報酬を付与するための処理の例としては、ユーザに設定された「ユーザID」とシステム1において利用可能な「ポイント」(または仮想通貨)とを関連付けてユーザテーブルD51に登録する処理、ユーザにより所有されるユーザ端末20に商品の割引特典を示す情報を送信する処理などが挙げられる。
【0154】
また、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して、クライアントから報酬が付与されてもよい。例えば、クライアント端末30は、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して報酬を付与するための処理を実行してもよい。
【0155】
〔実施形態の効果〕
以上のように、本実施形態によると、リソース情報D14および稼働履歴情報D15を参照して、複数の車両10の中から演算資源109を増強する対象車両10を抽出し、演算資源109の増強の案内を送信して演算資源109を増強を促すようにしている。これにより、グリッドGの枠組みを変えることなく、そのグリッドGの演算資源109を補強することができる。すなわち、特許文献1のように、グリッドGに相当する複数の通信装置における処理能力が不足している場合に、他の通信装置(本実施形態では車両)にグリッドコンピューティングへの参加指示を送信することなく、そのグリッドGの演算資源109を増やすことができる。
【0156】
(その他の実施形態)
以上の説明では、管理システムの記憶部504と制御部505とが単一の管理サーバ50に集約される場合を例に挙げたが、これに限定されない。例えば、記憶部504と制御部505は、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0157】
また、以上の説明において、管理システムの記憶部504は、単一の記憶装置により構成されてもよいし、複数の記憶装置により構成されてもよい。複数の記憶装置は、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0158】
また、以上の説明において、管理システムの制御部505は、単一の制御ユニットにより構成されてもよいし、複数の制御ユニットにより構成されてもよい。複数の制御ユニットは、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0159】
また、以上の説明において、演算装置105は、単一の演算ユニットにより構成されてもよいし、複数の演算ユニットにより構成されてもよい。複数の演算ユニットは、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0160】
また、以上の説明では、演算装置105が車両10(具体的には自動四輪車)に搭載される場合を例に挙げたが、これに限定されない。例えば、演算装置105は、車両10ではない他の移動体に搭載されてもよい。このような移動体の例としては、輸送用機械、携帯情報端末などが挙げられる。輸送用機械の例としては、自動二輪車、鉄道車両、船舶、航空機、ドローンなどが挙げられる。車両は、輸送用機械の一例である。携帯情報端末の例としては、ノート型パーソナルコンピュータ、タブレット、スマートフォンなどが挙げられる。
【0161】
また、以上の実施形態を適宜組み合わせて実施してもよい。以上の実施形態は、本質的に好ましい例示であって、ここに開示する技術、その適用物、あるいはその用途の範囲を制限することを意図するものではない。すなわち、前述の実施形態は単なる例示に過ぎず、本開示の範囲を限定的に解釈してはならない。本開示の範囲は請求の範囲によって定義され、請求の範囲の均等範囲に属する変形や変更は、全て本開示の範囲内のものである。
【産業上の利用可能性】
【0162】
以上説明したように、ここに開示する技術は、グリッドコンピューティングを管理する技術として有用である。
【符号の説明】
【0163】
10 車両(移動体)
504 記憶部
505 制御部
D3 メンテナンス期日情報
D14 リソース情報
D15 稼働履歴情報