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

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

▶ マツダ株式会社の特許一覧

<>
  • 特開-管理システム及び管理方法 図1
  • 特開-管理システム及び管理方法 図2
  • 特開-管理システム及び管理方法 図3
  • 特開-管理システム及び管理方法 図4
  • 特開-管理システム及び管理方法 図5
  • 特開-管理システム及び管理方法 図6
  • 特開-管理システム及び管理方法 図7
  • 特開-管理システム及び管理方法 図8
  • 特開-管理システム及び管理方法 図9
  • 特開-管理システム及び管理方法 図10
  • 特開-管理システム及び管理方法 図11
  • 特開-管理システム及び管理方法 図12
  • 特開-管理システム及び管理方法 図13
  • 特開-管理システム及び管理方法 図14
  • 特開-管理システム及び管理方法 図15
  • 特開-管理システム及び管理方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022171294
(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
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021077867
(22)【出願日】2021-04-30
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】岡村 雅
(72)【発明者】
【氏名】伊藤 誠一
(72)【発明者】
【氏名】前田 貴史
(72)【発明者】
【氏名】足立 智彦
(72)【発明者】
【氏名】吉岡 正博
(72)【発明者】
【氏名】石橋 真人
(72)【発明者】
【氏名】濱野 大輔
【テーマコード(参考)】
5H181
5L049
【Fターム(参考)】
5H181AA01
5H181AA21
5H181BB04
5H181BB05
5H181CC04
5H181CC12
5H181CC14
5H181FF10
5H181FF13
5H181LL09
5L049CC11
(57)【要約】
【課題】移動体に搭載された演算資源を用いたグリッドコンピューティングの計算能力をクライアントに速やかに提供する。
【解決手段】管理サーバ50は、記憶部504に格納されたリソース情報および移動体情報を参照して、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補を、グリッド候補として構成する(S63)。構成したグリッド候補について、リソース情報および移動体情報を参照して、計算能力の時間変化を含む演算資源情報を推定し、推定した演算資源情報を、当該グリッド候補を構成する移動体を特定するデータとともに、記憶部504に格納する(S64)。
【選択図】図14
【特許請求の範囲】
【請求項1】
移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する管理システムであって、
制御部と、
各移動体に搭載された演算資源に関する情報であるリソース情報と、各移動体に関する情報である移動体情報とを格納する記憶部とを備え、
前記制御部は、
前記記憶部に格納された前記リソース情報および前記移動体情報を参照して、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補を、グリッド候補として構成する処理と、
構成したグリッド候補について、前記記憶部に格納された前記リソース情報および前記移動体情報を参照して、計算能力の時間変化を含む演算資源情報を推定し、推定した演算資源情報を、当該グリッド候補を構成する移動体を特定するデータとともに、前記記憶部に格納する処理とを行う
管理システム。
【請求項2】
請求項1記載の管理システムにおいて、
前記制御部は、
クライアント端末からリクエストされたジョブに対して、前記記憶部に格納された各グリッド候補の演算資源情報を参照して、グリッド候補の中から当該ジョブを実行するグリッドを引き当てる処理を行う
管理システム。
【請求項3】
請求項2記載の管理システムにおいて、
前記制御部は、
前記引き当てが成功しなかったとき、前記記憶部に格納された前記リソース情報および前記移動体情報を参照して、当該ジョブを実行するグリッドを新たに構成する
管理システム。
【請求項4】
請求項1~3のうちいずれか1項記載の管理システムにおいて、
前記リソース情報は、少なくとも、当該演算資源のタイプおよび計算能力を含み、前記移動体情報は、少なくとも、当該移動体の位置データを含み、
前記制御部は、各移動体の演算資源のタイプ、各移動体の演算資源の計算能力、または、各移動体の位置データのうち少なくともいずれか1つを用いて、グリッド候補を構成する処理を行う
管理システム。
【請求項5】
コンピュータによって、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する方法であって、
記憶部に格納された、各移動体に搭載された演算資源に関する情報であるリソース情報と、各移動体に関する情報である移動体情報とを用い、
前記コンピュータが、
前記リソース情報および前記移動体情報を参照して、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補を、グリッド候補として構成する処理と、
構成したグリッド候補について、前記リソース情報および前記移動体情報を参照して、計算能力の時間変化を含む演算資源情報を推定し、推定した演算資源情報を、当該グリッド候補を構成する移動体を特定するデータとともに、前記記憶部に格納する処理とを行う
管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、グリッドコンピューティングの管理に関する。
【背景技術】
【0002】
特許文献1には、複数の通信装置と、グリッドコンピューティングを管理する管理サーバとを備えたシステムが開示されている。管理サーバは、信号受信部と、状態判定部と、応答送信部とを備える。信号受信部は、通信装置からその通信装置がグリッドコンピューティングへの参加が可能であることを示す信号を受信する。状態判定部は、複数の処理装置のそれぞれの計算資源の使用状況に基づいて、複数の処理装置のそれぞれの処理能力の不足状態を判定する。応答送信部は、複数の処理装置の少なくともいずれかの処理能力が不足している場合に、上記の信号に基づいて、上記の通信装置にグリッドコンピューティングへの参加指示を送信する。このような構成により、複数の通信装置の計算資源を有効に活用している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-160661号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、グリッドコンピューティングの計算能力をどのようにしてクライアントに提供するのかについては、何ら開示されていない。
【0005】
ここに開示する技術は、かかる点に鑑みてなされたものであり、その目的とするところは、グリッドコンピューティングの計算能力をクライアントに速やかに提供できるようにすることにある。
【課題を解決するための手段】
【0006】
前記課題を解決するために、ここに開示された技術では、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する管理システムであって、制御部と、各移動体に搭載された演算資源に関する情報であるリソース情報と、各移動体に関する情報である移動体情報とを格納する記憶部とを備え、前記制御部は、前記記憶部に格納された前記リソース情報および前記移動体情報を参照して、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補を、グリッド候補として構成する処理と、構成したグリッド候補について、前記記憶部に格納された前記リソース情報および前記移動体情報を参照して、計算能力の時間変化を含む演算資源情報を推定し、推定した演算資源情報を、当該グリッド候補を構成する移動体を特定するデータとともに、前記記憶部に格納する処理とを行う。
【0007】
この構成によると、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する管理システムにおいて、制御部によって、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補が、グリッド候補として構成される。そして、構成したグリッド候補について、計算能力の時間変化を含む演算資源情報が、当該グリッド候補を構成する移動体を特定するデータとともに、記憶部に格納される。これにより、クライアント端末からジョブをリクエストされたとき、記憶部に格納されたグリッド候補の中から、ジョブを実行するグリッドを引き当てるだけで済むため、ジョブを実行するグリッドを新たに構成する必要がない。したがって、リクエストされたジョブを速やかに実行することができる。
【0008】
そして、前記制御部は、クライアント端末からリクエストされたジョブに対して、前記記憶部に格納された各グリッド候補の演算資源情報を参照して、グリッド候補の中から当該ジョブを実行するグリッドを引き当てる処理を行う、としてもよい。
【0009】
これにより、リクエストされたジョブを速やかに実行することができる。
【0010】
さらに、前記制御部は、前記引き当てが成功しなかったとき、前記記憶部に格納された前記リソース情報および前記移動体情報を参照して、当該ジョブを実行するグリッドを新たに構成する、としてもよい。
【0011】
これにより、グリッド候補の中からジョブを実行するグリッドを引き当てることができないとき、ジョブを実行するグリッドが新たに構成される。
【0012】
また、前記リソース情報は、少なくとも、当該演算資源のタイプおよび計算能力を含み、前記移動体情報は、少なくとも、当該移動体の位置データを含み、前記制御部は、各移動体の演算資源のタイプ、各移動体の演算資源の計算能力、または、各移動体の位置データのうち少なくともいずれか1つを用いて、グリッド候補を構成する処理を行う、としてもよい。
【0013】
また、ここに開示された技術では、コンピュータによって、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する方法であって、記憶部に格納された、各移動体に搭載された演算資源に関する情報であるリソース情報と、各移動体に関する情報である移動体情報とを用い、前記コンピュータが、前記リソース情報および前記移動体情報を参照して、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補を、グリッド候補として構成する処理と、構成したグリッド候補について、前記リソース情報および前記移動体情報を参照して、計算能力の時間変化を含む演算資源情報を推定し、推定した演算資源情報を、当該グリッド候補を構成する移動体を特定するデータとともに、前記記憶部に格納する処理とを行う。
【0014】
この構成によると、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する方法において、グリッドコンピューティングを実行するためにグリッドを組む移動体群の候補が、グリッド候補として構成される。そして、構成したグリッド候補について、計算能力の時間変化を含む演算資源情報が、当該グリッド候補を構成する移動体を特定するデータとともに、記憶部に格納される。これにより、クライアント端末からジョブをリクエストされたとき、記憶部に格納されたグリッド候補の中から、ジョブを実行するグリッドを引き当てるだけで済むため、ジョブを実行するグリッドを新たに構成する必要がない。したがって、リクエストされたジョブを速やかに実行することができる。
【発明の効果】
【0015】
以上説明したように、ここに開示された技術によると、移動体に搭載された演算資源を用いたグリッドコンピューティングを管理する管理システムにおいて、リクエストされたジョブを速やかに実行することができる。
【図面の簡単な説明】
【0016】
図1】実施形態のシステムの構成を例示する概略図
図2】グリッドコンピューティングについて説明するための概念図
図3】車両の構成を例示するブロック図
図4】ユーザ端末の構成を例示するブロック図
図5】クライアントサーバの構成を例示するブロック図
図6】施設サーバの構成を例示するブロック図
図7】管理サーバの構成を例示するブロック図
図8】ジョブ受付処理を例示するフローチャート
図9】ジョブ受付画面の画像を例示する概略図
図10】予測処理を例示するフローチャート
図11】マッチング処理を例示するフローチャート
図12】グリッドコンピューティング処理を例示するフローチャート
図13】確認画面の画像を例示する概略図
図14】管理サーバがグリッド候補を構成する場合の処理フローの一例
図15】グリッド候補テーブルのイメージ図
図16】管理サーバがグリッド候補を構成する場合の処理フローの他の例
【発明を実施するための形態】
【0017】
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。
【0018】
(システム)
図1は、実施形態のシステム1の構成を例示する。このシステム1は、複数の車両10と、複数のユーザ端末20と、クライアントサーバ30と、施設サーバ40と、管理サーバ50とを備える。これらの構成要素は、通信網5を経由して互いに通信可能である。複数の車両10の各々には、演算装置105が搭載される。
【0019】
〔グリッドコンピューティング〕
図2に示すように、実施形態のシステム1では、複数の演算装置105によりグリッドコンピューティングが構成され、複数の演算装置105のうち利用可能な演算装置105にジョブデータを処理させるグリッドコンピューティング処理が行われる。
【0020】
なお、車両10において演算装置105の計算能力が必要となると、演算装置105が稼働状態となり、演算装置105の計算能力が利用される。例えば、車両10が走行している場合、車両10の走行制御のために演算装置105の計算能力が必要となり、演算装置105が稼働状態となる。
【0021】
一方、車両10において演算装置105の計算能力が不要となると、演算装置105が停止状態となり、演算装置105の計算能力が利用されなくなる。例えば、車両10が停車して車両10の電源がオフ状態になると、演算装置105の起算能力が不要となり、演算装置105が停止状態となる。
【0022】
ここで、車両10において演算装置105の計算能力が不要である場合に、演算装置105の計算能力をグリッドコンピューティング処理に提供することで、演算装置105の計算能力を有効に利用することが可能となる。
【0023】
〔車両〕
車両10は、ユーザに所有される。ユーザは、車両10を運転する。この例では、車両10は、自動四輪車である。また、車両10には、電池(図示省略)が搭載される。電池の電力は、演算装置105などの車載機器に供給される。このような車両10の例としては、電気自動車、プラグインハイブリッド自動車などが挙げられる。
【0024】
図3に示すように、車両10は、アクチュエータ11と、センサ12と、入力部101と、出力部102と、通信部103と、記憶部104と、演算装置105とを備える。
【0025】
アクチュエータ11は、駆動系のアクチュエータ、操舵系のアクチュエータ、制動系のアクチュエータなどを含む。駆動系のアクチュエータの例としては、エンジン、トランスミッション、モータが挙げられる。制動系のアクチュエータの例としては、ブレーキが挙げられる。操舵系のアクチュエータの例としては、ステアリングが挙げられる。
【0026】
センサ12は、車両10の制御に用いられる各種の情報を取得する。センサ12の例としては、車外を撮像する車外カメラ、車内を撮像する車内カメラ、車外の物体を検出するレーダ、車速センサ、加速度センサ、ヨーレートセンサ、アクセル開度センサ、ステアリングセンサ、ブレーキ油圧センサなどが挙げられる。
【0027】
入力部101は、情報やデータを入力する。入力部101の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部101に入力された情報やデータは、演算装置105に送られる。
【0028】
出力部102は、情報やデータを出力する。出力部102の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0029】
通信部103は、情報やデータを送受信する。通信部103により受信された情報やデータは、演算装置105に送られる。
【0030】
記憶部104は、情報やデータを記憶する。
【0031】
演算装置105は、車両10の各部を制御する。この例では、演算装置105は、センサ12により得られた各種の情報に応じてアクチュエータ11を制御する。
【0032】
演算装置105は、プロセッサ、メモリなどを有する。プロセッサの例としては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などが挙げられる。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0033】
なお、演算装置105に搭載されるプロセッサの数は、1つであってもよいし、複数のであってもよい。また、演算装置105に搭載されるプロセッサは、CPUおよびGPUのいずれか一方のみであってもよいし、CPUおよびGPUの両方であってもよい。この例では、演算装置105は、CPUおよびGPUの両方を有する。例えば、演算装置105は、1つまたは複数のECU(Electronic Control Unit)により構成される。
【0034】
この例では、記憶部104は、車両情報D11と、車両状態情報D12と、走行履歴情報D13と、演算装置情報D14と、稼働履歴情報D15とを記憶する。
【0035】
〈車両情報〉
車両情報D11は、車両10に関する情報である。例えば、車両情報D11は、車両10に設定された車両ID、車両の性能を示す車両性能情報などを含む。車両IDは、車両10を識別する車両識別情報の一例である。ユーザIDは、ユーザを識別するユーザ識別情報の一例である。
【0036】
〈車両状態情報〉
車両状態情報D12は、車両10の状態を示す。例えば、車両状態情報D12は、車両位置情報、車両通信情報、車両電源情報、車両電池残量情報、車両充電情報などを含む。車両位置情報は、車両10の位置(緯度および経度)を示す。例えば、車両位置情報は、GPS(Global Positioning System)により取得可能である。車両通信情報は、車両10の通信状態を示す。車両電源情報は、車両10の電源の状態を示す。例えば、車両電源情報は、イグニッション電源のオンオフ、アクセサリ電源のオンオフなどを示す。車両電池残量情報は、車両10に搭載された電池(図示省略)の残量を示す。車両充電情報は、充電設備(図示省略)において車両10が充電中であるか否かを示す。
【0037】
〈走行履歴情報〉
走行履歴情報D13は、車両10の走行履歴を示す情報である。例えば、走行履歴情報D13は、車両10の位置と時刻とを関連付けて示す。
【0038】
〈演算装置情報〉
演算装置情報D14は、演算装置105に関する情報である。例えば、演算装置情報D14は、演算装置105に設定された演算装置ID、演算装置105を搭載する車両10に設定された車両ID、演算装置105の性能を示す演算装置性能情報などを含む。演算装置IDは、演算装置105を識別する演算装置識別情報の一例である。演算装置性能情報に示される演算装置105の性能には、演算装置105の計算能力(具体的には最大計算能力)を示す計算能力、演算装置105におけるCPUとGPUとの比率などが含まれる。なお、演算装置105の計算能力は、演算装置105が単位時間当たりに計算することができるデータ量である。
【0039】
〈稼働履歴情報〉
稼働履歴情報D15は、演算装置105の稼働履歴を示す情報である。例えば、稼働履歴情報D15は、演算装置105の計算能力の利用率と時刻とを関連付けて示す。
【0040】
〔ユーザ端末〕
ユーザ端末20は、ユーザに所有される。ユーザは、ユーザ端末20を操作して各種の機能を利用する。また、ユーザは、ユーザ端末20を持ち運ぶことができる。このようなユーザ端末20の例としては、スマートフォン、タブレット、ノート型パーソナルコンピュータなどが挙げられる。
【0041】
図4に示すように、ユーザ端末20は、入力部201と、出力部202と、通信部203と、記憶部204と、制御部205とを備える。
【0042】
入力部201は、情報やデータを入力する。入力部201の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部101に入力された情報は、演算装置105に送られる。
【0043】
出力部202は、情報やデータを出力する。出力部202の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0044】
通信部203は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部205に送られる。
【0045】
記憶部204は、情報やデータを記憶する。
【0046】
制御部205は、ユーザ端末20の各部を制御する。制御部205は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0047】
この例では、記憶部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】
記憶部304は、情報やデータを記憶する。
【0057】
制御部305は、クライアントサーバ30の各部を制御する。制御部305は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0058】
この例では、記憶部304は、クライアント情報D31と、ジョブデータD1とを記憶する。
【0059】
〈クライアント情報〉
クライアント情報D31は、クライアントに関する情報である。クライアント情報D31は、クライアントに設定されたクライアントID、クライアントにより所有されるクライアントサーバ30に設定されたクライアントサーバID、担当者名、住所、電話番号などを含む。クライアントIDは、クライアントを識別するクライアント識別情報の一例である。クライアントサーバIDは、クライアントサーバ30を識別するクライアントサーバ識別情報の一例である。
【0060】
〈ジョブデータ〉
ジョブデータD1は、ジョブに対応するデータであり、ジョブの実施のために処理されるデータである。
【0061】
なお、ジョブデータD1は、計算タイプにより分類可能である。計算タイプの例としては、CPU系の計算タイプ、GPU系の計算タイプなどが挙げられる。CPU系の計算タイプのジョブデータD1では、シミュレーション計算など、条件分岐の多い複雑な計算が要求される傾向にある。GPU系の計算タイプのジョブデータD1では、画像処理や機械学習など、膨大な量の単純計算が要求される傾向にある。
【0062】
また、ジョブデータD1は、処理条件により分類可能である。処理条件の例としては、常時通信が要求される処理条件、常時通信が要求されない処理条件などが挙げられる。常時通信が要求される処理条件のジョブデータD1では、グリッドコンピューティング処理において演算装置105が常に通信可能であることが要求される。常時通信が要求されない処理条件のジョブデータD1では、グリッドコンピューティング処理において演算装置105が常に通信可能であることが要求されない。
【0063】
〈ジョブ情報〉
なお、記憶部304には、ジョブに関するジョブ情報が記憶されてもよい。ジョブ情報は、ジョブの名称を示すジョブ名称情報、ジョブの内容を説明するジョブ内容情報、ジョブに対応するジョブデータに関するジョブデータ情報、ジョブの納期を示すジョブ納期情報などを含む。ジョブデータ情報は、ジョブデータの計算タイプ、処理条件、必要計算能力などを示す。
【0064】
〔施設サーバ〕
施設サーバ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とを記憶する。
【0067】
〈施設情報〉
施設情報D41は、施設に関する情報である。施設情報D41は、施設に設定された施設ID、施設により所有される施設サーバ40に設定された施設サーバID、施設の位置(緯度および経度)を示す施設位置情報、担当者名、住所、電話番号などを含む。施設IDは、施設を識別する施設識別情報の一例である。施設サーバIDは、施設サーバ40を識別する施設サーバ識別情報の一例である。
【0068】
〈施設利用情報〉
施設利用情報D42は、施設の利用状況(利用履歴および利用予定)を示す。具体的には、施設利用情報D42は、施設を訪れるユーザと滞在期間(または滞在予定期間)とを関連付けて示す。
【0069】
〔管理サーバ〕
管理サーバ50は、グリッドコンピューティングが構成されるシステム1の運営を管理する。管理サーバ50は、システム1を運営する事業者により所有される。
【0070】
図7に示すように、管理サーバ50は、入力部501と、出力部502と、通信部503と、記憶部504と、制御部505とを備える。管理サーバ50の入力部501、出力部502、通信部503、記憶部504、制御部505の構成は、クライアントサーバ30の入力部301、出力部302、通信部303、記憶部304、制御部305の構成と同様である。記憶部504および制御部505は、グリッドコンピューティング処理を管理する管理システムの構成要素の一例である。
【0071】
この例では、記憶部504は、ユーザテーブルD51と、演算装置テーブルD52と、クライアントテーブルD53と、ジョブテーブルD54と、リソーステーブルD55と、マッチングテーブルD56と、ジョブデータD1と、計算結果データD2とを記憶する。
【0072】
〈ユーザテーブル〉
ユーザテーブルD51は、ユーザを管理するためのテーブルである。ユーザテーブルD51には、ユーザ毎に、そのユーザに設定されたユーザID、そのユーザにより所有される車両10に設定された車両ID、そのユーザにより所有される演算装置105に設定された演算装置ID、そのユーザにより所有されるユーザ端末20に設定されたユーザ端末IDなどが登録される。
【0073】
〈演算装置テーブル〉
演算装置テーブルD52は、演算装置105を管理するためのテーブルである。演算装置テーブルD52には、演算装置105毎に、その演算装置105に設定された演算装置ID、その演算装置105を所有するユーザに設定されたユーザID、その演算装置105が搭載される車両10に設定された車両IDなどが登録される。
【0074】
また、演算装置テーブルD52には,演算装置105毎に、その演算装置105の性能(計算能力やCPUとGPUの比率など)、その演算装置105の稼働状況(稼働履歴および稼働予定)などが登録される。言い換えると、演算装置テーブルD52は、複数の演算装置105の各々の稼働状況を示す稼働状況情報D5と、複数の演算装置105の各々の性能を示す性能情報D6とを含む。性能情報D6は、複数の演算装置105の各々の計算能力を示す計算能力情報D7を含む。
【0075】
〈クライアントテーブル〉
クライアントテーブルD53は、クライアントを管理するためのテーブルである。クライアントテーブルD53には、クライアント毎に、そのクライアントに設定されたクライアントID、クライアントにより所有されるクライアントサーバ30に設定されたクライアントサーバID、そのクライアントの担当者名、住所、電話番号などが登録される。
【0076】
〈ジョブテーブル〉
ジョブテーブルD54は、クライアントから依頼されたジョブを管理するためのテーブルである。ジョブテーブルD54には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブを依頼したクライアントに設定されたクライアントID、そのジョブの名称および内容などが登録される。また、ジョブテーブルD54には、ジョブ毎に、そのジョブに対応するジョブデータの計算タイプおよび処理条件、そのジョブデータの計算に必要となる計算能力である必要計算能力、そのジョブに設定された納期などが登録される。
【0077】
〈リソーステーブル〉
リソーステーブルD55は、グリッドコンピューティング処理における計算能力を管理するためのテーブルである。具体的には、リソーステーブルD55は、後述する予測処理の結果を管理するためのテーブルである。リソーステーブルD55には、演算装置105毎に、その演算装置105に設定された演算装置ID、その演算装置105のグリッドコンピューティング処理において利用可能な計算能力の時間的変化の予測結果などが登録される。
【0078】
〈マッチングテーブル〉
マッチングテーブルD56は、後述するマッチング処理の結果を管理するためのテーブルである。マッチングテーブルD56には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブに対応するジョブデータ、マッチング処理によりそのジョブデータに対して割り当てられた演算装置105に設定された演算装置IDなどが登録される。
【0079】
〈ジョブデータ〉
記憶部504に記憶されるジョブデータD1は、後述するジョブ受付処理により受け付けられたジョブデータD1である。
【0080】
〈計算結果データ〉
記憶部504に記憶される計算結果データD2は、後述するグリッドコンピューティング処理により計算されたジョブデータであり、その計算の結果を示す。
【0081】
〔ユーザテーブルの更新〕
次に、ユーザテーブルD51の更新について説明する。ユーザテーブルD51は、管理サーバ50の制御部505により更新される。
【0082】
例えば、新規のユーザがシステム1に加入すると、制御部505は、その新規のユーザに関連する情報をユーザテーブルD51に登録することで、ユーザテーブルD51を更新する。
【0083】
具体的には、制御部505は、新規のユーザに対してユーザIDを新たに設定し、新規のユーザに設定された「ユーザID」と、そのユーザにより所有される車両10に設定された「車両ID」と、その車両10に搭載された演算装置105に設定された「演算装置ID」と、新規のユーザにより所有されるユーザ端末20に設定された「ユーザ端末ID」とを関連付けて、ユーザテーブルD51に登録する。
【0084】
なお、新規のユーザにより所有される車両10と管理サーバ50との通信により、新規のユーザに関連する「車両ID」と「演算装置ID」とを得ることが可能である。また、新規のユーザにより所有されるユーザ端末20と管理サーバ50との通信により、新規のユーザに関連する「ユーザ端末ID」を得ることが可能である。
【0085】
〔演算装置テーブルの更新〕
次に、演算装置テーブルD52の更新について説明する。演算装置テーブルD52は、管理サーバ50の制御部505により更新される。
【0086】
例えば、新規の演算装置105がシステム1に加入すると、制御部505は、その新規の演算装置105に関連する情報を演算装置テーブルD52に登録することで、演算装置テーブルD52を更新する。
【0087】
具体的には、制御部505は、新規の演算装置105に設定された「演算装置ID」と、その演算装置105を所有するユーザに設定された「ユーザID」と、その演算装置105を搭載する車両10に設定された「車両ID」と、その演算装置105の「性能」および「稼働状況」とを関連付けて、演算装置テーブルD52に登録する。
【0088】
なお、新規の演算装置105を搭載する車両10と管理サーバ50との通信により、新規の演算装置105に関連する「演算装置ID」と「車両ID」と「性能」と「稼働状況」とを得ることが可能である。また、ユーザテーブルD51を参照することにより、新規の演算装置105に関連する「ユーザID」を得ることが可能である。
【0089】
〔演算装置テーブルの定期更新〕
また、演算装置テーブルD52に登録された演算装置105の「稼働状況」が定期的に更新される。言い換えると、演算装置テーブルD52に含まれる稼働状況情報D5が定期的に更新される。この定期更新は、管理サーバ50の制御部505により行われる。
【0090】
〈第1更新処理〉
例えば、車両10の「稼働履歴情報D15」に基づいて、演算装置テーブルD52の演算装置105の「稼働状況」(言い換えると稼働状況情報D5)が定期的に更新されてもよい。具体的には、制御部505は、演算装置テーブルD52に登録された演算装置105毎に、以下の第1更新処理を実行してもよい。
【0091】
第1更新処理では、制御部505は、演算装置105を搭載する車両10に対して「稼働履歴情報D15」へのアクセスを要求する。車両10の演算装置105は、その要求に応答して「稼働履歴情報D15」へのアクセスを許可する。制御部505は、その稼働履歴情報D15に示された演算装置105の稼働履歴に基づいて、演算装置テーブルD52に登録された演算装置105の「稼働状況」のうち過去の稼働状況である「稼働履歴」を更新する。
【0092】
〈第2更新処理〉
また、車両10の「走行履歴情報D13」に基づいて、演算装置テーブルD52の演算装置105の「稼働状況」(言い換えると稼働状況情報D5)が定期的に更新されてもよい。具体的には、制御部505は、演算装置テーブルD52に登録された演算装置105毎に、以下の第2更新処理を実行してもよい。
【0093】
第2更新処理では、制御部505は、演算装置105を搭載する車両10に対して「走行履歴情報D13」へのアクセスを要求する。車両10の演算装置105は、その要求に応答して「走行履歴情報D13」へのアクセスを許可する。制御部505は、その走行履歴情報D13に示された車両10の走行履歴に基づいて、演算装置105の稼働履歴を推定する。次に、制御部505は、その推定された演算装置105の稼働履歴に基づいて、演算装置テーブルD52に登録された演算装置105の「稼働状況」のうち過去の稼働状況である「稼働履歴」を更新する。
【0094】
〈第3更新処理〉
また、ユーザ端末20の「スケジュール情報D23」に基づいて、演算装置テーブルD52の演算装置105の「稼働状況」(言い換えると稼働状況情報D5)が定期的に更新されてもよい。具体的には、制御部505は、演算装置テーブルD52に登録された演算装置105毎に、以下の第3更新処理を実行してもよい。
【0095】
第3更新処理では、制御部505は、演算装置105を所有するユーザに所有されるユーザ端末20に対して「スケジュール情報D23」へのアクセスを要求する。ユーザ端末20の制御部205は、その要求に応答して「スケジュール情報D23」へのアクセスを許可する。制御部505は、そのスケジュール情報D23に示されたユーザの行動状況(行動履歴および行動予定)の中から、演算装置105を搭載する車両10に関連する行動状況を検出する。
【0096】
例えば、ユーザの行動状況のうち過去の行動状況である行動履歴の中から、そのユーザが車両10に搭乗していた行動履歴が検出され、ユーザの行動状況のうち未来の行動状況である行動予定の中から、そのユーザが車両10に搭乗する予定がある行動予定が検出される。
【0097】
次に、制御部505は、その検出されたユーザの行動状況に基づいて、車両10の走行状況(走行履歴および走行予定)を推定する。次に、制御部505は、その推定された車両10の走行状況に基づいて、演算装置105の稼働状況(稼働履歴および稼働予定)を推定する。そして、制御部505は、その推定された演算装置105の稼働状況に基づいて、演算装置テーブルD52に登録された演算装置105の「稼働状況」を更新する。
【0098】
〈第4更新処理〉
また、施設サーバ40の「施設利用情報D42」に基づいて、演算装置テーブルD52の演算装置105の「稼働状況」(言い換えると稼働状況情報D5)が定期的に更新されてもよい。具体的には、制御部505は、演算装置テーブルD52に登録された演算装置105毎に、以下の第4更新処理を実行してもよい。
【0099】
第4更新処理では、制御部505は、施設サーバ40に対して「施設利用情報D42」へのアクセスを要求する。施設サーバ40は、その要求に応答して「施設利用情報D42」へのアクセスを許可する。制御部505は、その施設利用情報D42に示された施設の利用状況(利用履歴および利用予定)の中から、演算装置105を搭載する車両10に関連する利用状況を検出する。
【0100】
例えば、施設の利用状況のうち過去の利用状況である利用履歴の中から、ユーザが車両10に搭乗していた利用履歴が検出され、施設の利用状況のうち未来の利用状況である利用予定の中から、ユーザが車両10に搭乗する予定がある利用予定が検出される。
【0101】
次に、制御部505は、その検出された施設の利用状況に基づいて、車両10の走行状況(走行履歴および走行予定)を推定する。次に、制御部505は、その推定された車両10の走行状況に基づいて、演算装置105の稼働状況(稼働履歴および稼働予定)を推定する。次に、制御部505は、その推定された演算装置105の稼働状況に基づいて、演算装置テーブルD52に登録された演算装置105の「稼働状況」を更新する。
【0102】
〔クライアントテーブルの更新〕
次に、クライアントテーブルD53の更新について説明得る。クライアントテーブルD53は、管理サーバ50の制御部505により更新される。
【0103】
例えば、新規のクライアントがシステム1に加入すると、制御部505は、その新規のクライアントに関連する情報をクライアントテーブルD53に登録することで、クライアントテーブルD53を更新する。
【0104】
具体的には、制御部505は、新規のクライアントに対してクライアントIDを新たに設定し、新規のクライアントに設定された「クライアントID」と、新規のクライアントに所有されるクライアントサーバ30に設定された「クライアントサーバID」と、新規のクライアントの「担当者」と「住所」と「電話番号」とを関連付けて、クライアントテーブルD53に登録する。
【0105】
なお、クライアントサーバ30と管理サーバ50との通信により、新規のクライアントに関する「クライアントサーバID」と「担当者」と「住所」と「電話番号」とを得ることが可能である。
【0106】
〔制御部による処理(管理方法)〕
制御部505は、ジョブ受付処理と、予測処理と、マッチング処理と、グリッドコンピューティング処理とを行う。
【0107】
〔ジョブ受付処理(ジョブ受付ステップ)〕
次に、図8を参照して、ジョブ受付処理について説明する。ジョブ受付処理では、クライアントにより計算を依頼されたジョブデータD1を受け付ける。制御部505は、クライアントからジョブデータD1の計算が依頼される毎に、以下の処理を行う。
【0108】
〈ステップS11〉
まず、管理サーバ50は、クライアントからジョブの依頼を受け付ける。具体的には、クライアントサーバ30は、クライアントの担当者による操作に応答して、ジョブ依頼申請を管理サーバ50に送信する。管理サーバ50の制御部505は、その申請に応答して以下の処理を行う。
【0109】
制御部505は、ジョブの受付に必要となる情報(具体的にはジョブを依頼するクライアントに関するクライアント情報とジョブに関するジョブ情報)の送信をクライアントサーバ30に要求する。この例では、制御部505は、ジョブ受付画面の画像データをクライアントサーバ30に送信する。クライアントサーバ30の制御部305は、その画像データからジョブ受付画面の画像を再生し、その画像を出力部302(表示部)に出力(表示)させる。
【0110】
図9に示すように、ジョブ受付画面は、ジョブの受付に必要となる情報を入力させる画面である。ジョブ受付画面には、クライアント名を入力するクライアント名入力欄R101、クライアントの担当者名を入力する担当者名入力欄R102、クライアントの住所を入力する住所入力欄R104、ジョブの名称を入力するジョブ名称入力欄R111、ジョブの内容に関する説明を入力するジョブ内容入力欄R112、ジョブに対応するジョブデータの計算タイプを入力する計算タイプ入力欄R113、ジョブデータの処理条件を入力する処理条件入力欄R114、ジョブデータの必要計算能力を入力する必要計算能力入力欄R115、ジョブの納期を入力する納期入力欄R116と、登録ボタンB100とが設けられる。
【0111】
クライアントの担当者は、クライアントサーバ30の入力部301(操作部)を操作して、ジョブ受付画面に必要な情報を入力する。これにより、ジョブを依頼するクライアントに関するクライアント情報と、ジョブに関するジョブ情報とが入力される。そして、これらの情報の入力が完了すると、クライアントの担当者は、クライアントサーバ30の入力部301(操作部)を操作して、ジョブ受付画面の登録ボタンB100を押下する。登録ボタンB100が押下されると、クライアントサーバ30の制御部305は、ジョブ受付画面に入力された情報(クライアント情報およびジョブ情報)を管理サーバ50に送信する。管理サーバ50の制御部505は、クライアント情報とジョブ情報とを受信する。
【0112】
次に、制御部505は、ジョブに対応するジョブデータD1の送信をクライアントサーバ30に要求する。クライアントサーバ30の制御部305は、その要求に応答して、ジョブに対応するジョブデータD1を管理サーバ50に送信する。管理サーバ50の制御部505は、ジョブデータD1を受信する。
【0113】
〈ステップS12〉
次に、管理サーバ50の制御部505は、ステップS11において受信されたジョブデータD1を分析する。具体的には、制御部505は、ジョブデータD1の計算タイプ、処理条件、必要計算能力などを分析する。そして、制御部505は、ジョブデータD1の分析の結果に基づいて、ステップS11において受信されたジョブ情報を修正する。
【0114】
なお、ステップS11において受信されたジョブ情報が十分に信頼できる場合は、ステップS12の処理を省略してもよい。
【0115】
〈ステップS13〉
次に、管理サーバ50の制御部505は、ステップS11において受信されたクライアント情報と、ステップS12において必要に応じて修正されたジョブ情報(またはステップS11において受信されたジョブ情報)とを関連付けて、ジョブテーブルD54に登録する。また、制御部505は、ステップS11において受信されたジョブデータD1を記憶部504に記憶する。
【0116】
〔予測処理(予測ステップ)〕
次に、図10を参照して、予測処理について説明する。予測処理では、記憶部504に記憶された演算装置テーブルD52(具体的には計算能力情報D7および稼働状況情報D5)に基づいて、複数の演算装置105のうちグリッドコンピューティング処理において利用可能な演算装置105の計算能力を予測する。制御部505は、記憶部504に記憶された演算装置テーブルD52(具体的には計算能力情報D7および稼働状況情報D5の少なくとも1つ)が更新されると、以下の処理を行う。
【0117】
〈ステップS21〉
まず、制御部505は、演算装置テーブルD52に登録された演算装置105の「計算能力」と「稼働状況」とを取得する。言い換えると、制御部505は、演算装置テーブルD52に含まれる計算能力情報D7と稼働状況情報D5とを取得する。
【0118】
〈ステップS22〉
次に、制御部505は、演算装置105毎に、計算能力情報D7に示された演算装置105の計算能力と、稼働状況情報D5に示された演算装置105の稼働状況に基づいて、演算装置105のグリッドコンピューティング処理において利用可能な計算能力の時間的変化を予測する。
【0119】
具体的には、制御部505は、稼働状況情報D5に示された演算装置105の稼働状況から、演算装置105の計算能力の利用率の変化の傾向(パターン)を予測する。この演算装置105の計算能力の利用率の変化の傾向の予測は、機械学習により実現されてもよい。そして、制御部505は、演算装置105の計算能力の利用率の変化の傾向に基づいて、その演算装置105の計算能力に余裕がある期間(計算能力の利用率が100%ではない期間)を予測し、その期間を「その演算装置105の計算能力をグリッドコンピューティング処理に利用することが可能な期間」とする。例えば、制御部505は、演算装置105の計算能力の利用率が「30%」である期間を、演算装置105の計算能力の「70%」をグリッドコンピューティング処理において利用することが可能な期間とする。
【0120】
〈ステップS23〉
次に、制御部505は、演算装置105毎に、ステップS22において予測された演算装置105のグリッドコンピューティング処理において利用可能な計算能力の時間的変化を、リソーステーブルD55に登録する。これにより、リソーステーブルD55が更新される。
【0121】
〔マッチング処理(マッチングステップ)〕
次に、図11を参照して、マッチング処理について説明する。マッチング処理は、予測処理の予測結果に基づいて、受付処理において受け付けられたジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能な演算装置105を割り当てる処理である。制御部505は、ジョブ受付処理の完了後に、以下の処理を行う。
【0122】
〈ステップS31〉
まず、制御部505は、ジョブテーブルD54に登録されたジョブの中からマッチング処理の対象となるジョブを選択する。そして、制御部505は、記憶部504に記憶されたジョブデータD1の中からマッチング処理の対象となるジョブに対応するジョブデータD1を選択する。
【0123】
〈ステップS32〉
次に、制御部505は、リソーステーブルD55に登録された複数の演算装置105の各々のグリッドコンピューティング処理において利用可能な計算能力の時間的変化の予測結果に基づいて、複数の演算装置105の中から、ステップS31において選択されたジョブデータD1に対するグリッドコンピューティング処理において利用可能な演算装置105を選択する。
【0124】
具体的には、制御部505は、ジョブデータD1に対するグリッドコンピューティング処理が実行される計算予定期間を決定し、複数の演算装置105の中から計算予定期間において計算能力を提供することが可能な演算装置105を検出する。そして、制御部505は、「グリッドコンピューティング処理に提供される計算能力の合計」が「グリッドコンピューティング処理においてジョブデータD1の計算に必要とされる計算能力」以上となるように、計算予定期間において計算能力を提供することが可能な演算装置105の中から、ジョブデータD1に割り当てられる演算装置105を選択する。
【0125】
〈ステップS33〉
次に、制御部505は、ステップS31において選択されたジョブデータD1に対し、ステップS32において選択された演算装置105を割り当てる。そして、制御部505は、どのジョブデータD1にどの演算装置105が割り当てられたのかを示すマッチング結果情報をマッチングテーブルD56に登録する。
【0126】
〔グリッドコンピューティング処理〕
次に、図12を参照して、グリッドコンピューティング処理について説明する。グリッドコンピューティング処理では、複数の演算装置105のうち利用可能な演算装置105にジョブデータD1を処理させる。制御部505は、マッチング処理の完了後に、以下の処理を行う。
【0127】
〈ステップS41〉
まず、制御部505は、マッチングテーブルD56を参照し、グリッドコンピューティング処理の対象となるジョブデータD1を、マッチング処理においてそのジョブデータD1に割り当てられた演算装置105に分配する。具体的には、制御部505は、ジョブデータD1に割り当てられた演算装置105の各々に、そのジョブデータD1の一部を送信する。これにより、ジョブデータD1は、そのジョブデータD1に割り当てられた演算装置105により並列処理される。
【0128】
〈ステップS42〉
次に、演算装置105の各々は、その演算装置105に送信されたデータ(ジョブデータD1の一部)の計算が完了すると、その計算により得られた部分計算結果データを管理サーバ50に送信する。管理サーバ50の制御部505は、演算装置105から送信された部分計算結果データを受信し、その部分計算結果データを記憶部504に記憶する。
【0129】
〈ステップS43〉
制御部505は、ステップS41においてジョブデータD1が分配された演算装置105の全てが計算を完了したか否かを判定する。演算装置105の全てが計算を完了している場合には、ステップS44の処理が行われ、そうでない場合には、ステップS42の処理が行われる。
【0130】
〈ステップS44〉
演算装置105の全てが計算を完了すると、制御部505は、記憶部504に記憶された部分計算結果データを結合することで、グリッドコンピューティング処理の対象となるジョブデータD1に対応する計算結果データD2(ジョブデータD1の計算の結果を示す計算結果データD2)を生成する。そして、制御部505は、グリッドコンピューティング処理の対象となるジョブデータD1に対応する計算結果データD2を、そのジョブデータD1の計算を依頼したクライアントのクライアントサーバ30に送信する。
【0131】
〈ステップS45〉
次に、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して、システム1を運営する事業者から報酬が付与される。ユーザに付与される報酬の例としては、システム1において利用可能なポイント、仮想通貨、商品の割引特典などが挙げられる。例えば、管理サーバ50の制御部505は、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して報酬を付与するための処理を行う。報酬を付与するための処理の例としては、ユーザに設定された「ユーザID」とシステム1において利用可能な「ポイント」(または仮想通貨)とを関連付けてユーザテーブルD51に登録する処理、ユーザにより所有されるユーザ端末20に商品の割引特典を示す情報を送信する処理などが挙げられる。
【0132】
また、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して、クライアントから報酬が付与されてもよい。例えば、クライアントサーバ30の制御部305は、グリッドコンピューティング処理に演算装置105の計算能力を提供したユーザに対して報酬を付与するための処理を実行してもよい。
【0133】
〔ジョブ経過確認〕
なお、この例では、管理サーバ50の制御部505は、ジョブを依頼したクライアントのクライアントサーバ30からジョブの処理経過の確認が要求されると、その要求に応答して、そのジョブの処理経過を確認するための確認画面の画像データをクライアントサーバ30に送信する。クライアントサーバ30は、その画像データから確認画面の画像を再生し、その画像を出力部302(表示部)に出力(表示)させる。
【0134】
図13に示すように、確認画面には、ジョブの名称を表示するジョブ名称表示欄R201と、ジョブの処理経過を表示する処理経過表示欄R202と、ジョブの処理が開始される日時を示す計算開始日時表示欄R203と、ジョブの処理が終了する日時を示す計算終了日時表示欄R204と、ジョブに対するグリッドコンピューティング処理に演算装置105の計算能力を提供するユーザを示す参加ユーザ表示欄R205とが設けられる。
【0135】
〔実施形態の効果〕
以上のように、実施形態のシステム1では、グリッドコンピューティングの計算能力をクライアントに提供することができる。
【0136】
また、グリッドコンピューティングに演算装置105の計算能力を提供したユーザに対して報酬を付与することにより、グリッドコンピューティングへの演算装置105の計算能力の提供を促進させることができる。これにより、グリッドコンピューティングの計算能力の確保を容易にすることができる。
【0137】
(実施形態の変形例1)
なお、ジョブデータD1の計算タイプを考慮してマッチング処理が行われてもよい。
【0138】
実施形態の変形例1では、制御部505は、マッチング処理において、ジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能であり且つジョブデータD1の計算タイプに対応する性能を有する演算装置105を割り当てる。
【0139】
以上のような構成により、ジョブデータD1の計算タイプに応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。例えば、CPU系の計算タイプのジョブデータD1に対し、CPUの比率がGPUの比率よりも高い演算装置105を割り当てることができる。また、GPU系の計算タイプのジョブデータD1に対し、GPUの比率がCPUの比率よりも高い演算装置105を割り当てることができる。
【0140】
(実施形態の変形例2)
また、ジョブデータD1の実行条件を考慮してマッチング処理が行われてもよい。
【0141】
実施形態の変形例2では、制御部505は、マッチング処理において、ジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能であり且つジョブデータD1の実行条件に対応する性能を有する演算装置105を割り当てる。
【0142】
以上のような構成により、ジョブデータD1の実行条件に応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。例えば、常時通信が要求される処理条件のジョブデータD1に対し、常時通信が可能な演算装置105を割り当てることができる。また、常時通信が要求されない処理条件のジョブデータD1に対し、常時通信が可能ではない演算装置105を割り当てることができる。
【0143】
(実施形態の変形例3)
また、ジョブデータD1の納期を考慮してマッチング処理が行われてもよい。
【0144】
実施形態の変形例3では、制御部505は、マッチング処理において、ジョブデータD1に設定された納期までジョブデータD1に対するグリッドコンピューティング処理が完了するように、ジョブデータD1に対し、複数の演算装置の105うちグリッドコンピューティング処理において利用可能な演算装置105を割り当てる。
【0145】
以上のような構成により、ジョブデータD1の納期に応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。
【0146】
(実施形態の変形例4)
また、演算装置105の通信状態を考慮してマッチング処理が行われてもよい。
【0147】
実施形態の変形例4では、制御部505は、演算装置105毎に、演算装置105の通信状態の品質を監視し、演算装置105の通信状態の履歴から演算装置105の通信状態の品質の時間的変化を予測(学習)する。そして、制御部505は、マッチング処理において、ジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能であり且つ通信状態の品質が所定品質を上回る演算装置105を割り当てる。
【0148】
以上のような構成により、演算装置105の通信状態の品質に応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。
【0149】
(実施形態の変形例5)
また、演算装置105が搭載された車両10の電池の残量を考慮してマッチング処理が行われてもよい。
【0150】
実施形態の変形例5では、制御部505は、車両10毎に、車両10の電池の残量を監視し、車両10の電池の残量の履歴から車両10の電池の残量の時間的変化を予測(学習)する。そして、制御部505は、マッチング処理において、ジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能であり且つ車両10の電池の残量が所定量を上回る車両10に搭載された演算装置105を割り当てる。
【0151】
以上のような構成により、演算装置105が搭載された車両10の電池の残量に応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。
【0152】
(実施形態の変形例6)
また、演算装置105が搭載された車両10が駐車中であるか否かを考慮してマッチング処理が行われてもよい。
【0153】
実施形態の変形例6では、制御部505は、車両10毎に、車両10の位置を監視し、車両10の位置の履歴から車両10の駐車期間を予測(学習)する。そして、制御部505は、マッチング処理において、ジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能であり且つ駐車中の車両10に搭載された演算装置105を割り当てる。
【0154】
以上のような講師絵により、演算装置105が搭載された車両10が駐車中であるか否かに応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。
【0155】
(実施形態の変形例7)
また、演算装置105が搭載された車両10が充電設備において充電中であるか否かを考慮してマッチング処理が行われてもよい。
【0156】
実施形態の変形例7では、制御部505は、車両10毎に、車両10の充電(充電設備における充電)の有無を監視し、車両10の充電の有無の履歴から車両10の充電期間を予測(学習)する。そして、制御部505は、マッチング処理において、ジョブデータD1に対し、複数の演算装置105のうちグリッドコンピューティング処理において利用可能であり且つ充電設備において充電中の車両10に搭載された演算装置105を割り当てる。
【0157】
以上のような構成により、演算装置105が搭載された車両10が充電設備において充電中であるか否か応じてジョブデータD1に対する演算装置105の割り当てを適切に行うことができる。
【0158】
(車両「群」としての演算可能スケジュールの予測)
本開示では、管理サーバ50は、各車両10の演算資源に関する情報を基にして、グリッドを構成する複数の車両からなる車両「群」について、計算能力を推定するようにしてもよい。ここで構成する車両群は、実際にグリッドコンピューティングを行うグリッドの候補(グリッド候補)となる。
【0159】
図14は処理フローの一例である。管理サーバ50は、各車両10について、送信されたデータ等に基づいて、演算資源の情報を取得する(S61)。取得する情報は、例えば、車両10に搭載された演算装置105の演算量、演算タイプ、または、演算可能スケジュールである。演算量および演算タイプは、車両10から送信されたデータによって把握することができる。演算可能スケジュールに関しては、例えば、記憶部504に保存された、車両10および車両10の演算装置105の過去の利用傾向を分析して、演算装置105が演算資源として使える時間帯のスケジュールを予測するようにすればよい。管理サーバ50は、取得または予測した結果を、記憶部504の例えば演算装置テーブルD52に登録する(S62)。なお、各車両10の演算資源の情報が、記憶部504にすでに登録されている場合は、以降の処理では、その情報を利用すればよい。
【0160】
管理サーバ50は、記憶部504に格納された各車両10の演算資源の情報を参照して、グリッドを組む車両群(グリッド候補)を構成する(S63)。管理サーバ50は、各車両10の演算資源の情報に加えて、例えば、記憶部504に格納された、車両10に関する情報例えば車両10の位置データや、ユーザの予定情報等を利用して、グリッド候補を構成する。そして、管理サーバ50は、構成したグリッド候補について、記憶部504に格納された演算装置テーブルD52等を参照して、計算能力の時間変化を含む演算資源情報を推定し、記憶部504内のグリッド候補テーブルD61に登録する(S64)。
【0161】
図15はグリッド候補テーブルD61のデータイメージ図である。図15では、グリッド候補テーブルD61は、複数のグリッド候補No.001~No.XXXの情報を格納している。各グリッド候補の情報には、当該グリッド候補を構成する車両の一覧、および、当該グリッド候補の演算資源情報が含まれる。車両の一覧では、当該グリッド候補を構成する車両を特定するデータ、例えば車両ナンバー等が含まれる。演算資源情報は、当該グリッド候補が有する計算能力の時間変化や、当該グリッド候補が実行可能な演算タイプ等が含まれる。なお、1台の車両10が複数のグリッド候補に属することは許容される。グリッド候補テーブルD61の情報は、車両10の移動状況や、車両10の演算装置105の稼働状況等に応じて、随時更新されていく。
【0162】
グリッド候補の構成は、具体的には例えば次のようにして行う。例えば、演算タイプが同じ演算装置105が搭載された複数の車両10を、グリッド候補として構成する。あるいは、演算タイプが異なる複数の演算装置105が搭載された複数の車両10を、グリッド候補として構成する。あるいは、演算可能スケジュールが同一の複数の車両10を、グリッド候補として構成する。あるいは、停車する位置が近い複数の車両10を、グリッド候補として構成する。
【0163】
なお、複数の条件を組み合わせて、グリッド候補を構成してもかまわない。例えば、停車位置が所定範囲内(例えば半径1kmの円内)にあり、かつ、平日の19時-24時に演算可能であり、GPU系の演算装置105を搭載した車両を、グリッド候補として構成する、というようにしてもよい。
【0164】
そして、クライアント端末30から、ジョブの実行のリクエストがあると(S71)、管理サーバ50は、受信したリクエストをジョブテーブルD54に登録する(S65)。そして、グリッド候補テーブルD61の各グリッド候補の演算資源情報を参照して、リクエストされたジョブとグリッド候補とのマッチングを行い、グリッド候補の中からジョブを実行するグリッドを引き当てる(S66)。そして、引き当てたグリッドを構成する各車両10に、ジョブを分割した処理を配分する(S67)。
【0165】
図16は処理フローの他の例である。図16では、リクエストされたジョブとグリッド候補とのマッチングを行い、グリッド候補の中からジョブを実行するグリッドを引き当てる(S66)。そして、引き当てが成功したときは(S81でYES)、引き当てたグリッドを構成する各車両10に、ジョブを分割した処理を配分する(S67)。
【0166】
一方、引き当てが成功しなかったときは(S81でNO)、管理サーバ50は、記憶部504に格納された演算装置テーブルD52等を参照して、リクエストされたジョブを実行するグリッドを新たに構成する(S82)。そして、新たなグリッドの構成が成功したときは(S83でYES)、当該グリッドを構成する車両10に、ジョブを分割した処理を配分する(S67)。一方、新たなグリッドの構成が成功しなかったときは(S83でNO)、例えば、演算資源を増強するために、各車両10のオーナーにインセンティブを送信する等の対応を行う。
【0167】
このように、管理サーバ50において、グリッドコンピューティングを実行するためにグリッドを組む車両10群の候補が、グリッド候補として構成される。そして、構成したグリッド候補について、計算能力の時間変化を含む演算資源情報が、当該グリッド候補を構成する車両10を特定するデータとともに、記憶部504に格納される。これにより、クライアント端末30からジョブをリクエストされたとき、記憶部504に格納されたグリッド候補の中から、ジョブを実行するグリッドを引き当てるだけで済むため、ジョブを実行するグリッドを新たに構成する必要がない。したがって、リクエストされたジョブを速やかに実行することができる。
【0168】
(その他の実施形態)
以上の説明では、管理システムの記憶部504と制御部505とが単一の管理サーバ50に集約される場合を例に挙げたが、これに限定されない。例えば、記憶部504と制御部505は、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0169】
また、以上の説明において、管理システムの記憶部504は、単一の記憶装置により構成されてもよいし、複数の記憶装置により構成されてもよい。複数の記憶装置は、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0170】
また、以上の説明において、管理システムの制御部505は、単一の制御ユニットにより構成されてもよいし、複数の制御ユニットにより構成されてもよい。複数の制御ユニットは、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0171】
また、以上の説明において、演算装置105は、単一の演算ユニットにより構成されてもよいし、複数の演算ユニットにより構成されてもよい。複数の演算ユニットは、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0172】
また、以上の説明では、演算装置105が車両10(具体的には自動四輪車)に搭載される場合を例に挙げたが、これに限定されない。例えば、演算装置105は、車両10ではない他の移動体に搭載されてもよい。このような移動体の例としては、輸送用機械、携帯情報端末などが挙げられる。輸送用機械の例としては、自動二輪車、鉄道車両、船舶、航空機、ドローンなどが挙げられる。車両は、輸送用機械の一例である。携帯情報端末の例としては、ノート型パーソナルコンピュータ、タブレット、スマートフォンなどが挙げられる。
【0173】
また、以上の実施形態を適宜組み合わせて実施してもよい。以上の実施形態は、本質的に好ましい例示であって、ここに開示する技術、その適用物、あるいはその用途の範囲を制限することを意図するものではない。
【産業上の利用可能性】
【0174】
ここに開示された技術は、グリッドコンピューティングを管理する技術として有用である。
【符号の説明】
【0175】
1 システム
10 車両
105 演算装置
20 ユーザ端末
30 クライアントサーバ
50 管理サーバ
504 記憶部
505 制御部
D61 グリッド候補テーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16