(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022171310
(43)【公開日】2022-11-11
(54)【発明の名称】管理システムおよび管理方法
(51)【国際特許分類】
G06Q 10/04 20120101AFI20221104BHJP
G06Q 50/10 20120101ALI20221104BHJP
【FI】
G06Q10/04
G06Q50/10
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021077891
(22)【出願日】2021-04-30
(71)【出願人】
【識別番号】000003137
【氏名又は名称】マツダ株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】岡村 雅
(72)【発明者】
【氏名】伊藤 誠一
(72)【発明者】
【氏名】前田 貴史
(72)【発明者】
【氏名】足立 智彦
(72)【発明者】
【氏名】吉岡 正博
(72)【発明者】
【氏名】石橋 真人
(72)【発明者】
【氏名】濱野 大輔
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
5L049CC12
(57)【要約】
【課題】移動体の演算装置を用いたグリッドコンピューティングにおいて、移動体の流動性を利用して、移動体の演算装置を演算資源として有効活用することができる。
【解決手段】システム1の管理サーバ50は、通信部503と、制御部505とを備える。通信部503は、現実空間で開催されるイベントの情報、およびグリッドコンピューティングを利用するジョブのジョブデータD1を取得し、制御部505は、各車両10の所有者のうち、イベントに参加するイベント参加者を推定し、推定されたイベント参加者がそれぞれ所有する各車両10の各演算装置105の計算能力に基づいて、イベントの開催時における、各演算装置105で構成される演算資源の計算能力を推定し、推定された推定計算能力と通信部503が取得したジョブとのマッチングを行う。
【選択図】
図11
【特許請求の範囲】
【請求項1】
複数の移動体にそれぞれ搭載された演算装置を用いたグリッドコンピューティングを管理する管理システムであって、
通信部と、
制御部と、を備え、
前記通信部は、現実空間で開催されるイベントの情報、および前記グリッドコンピューティングを利用するジョブのジョブデータを取得し、
前記制御部は、
前記各移動体の所有者のうち、前記イベントに参加するイベント参加者を推定し、
推定された前記イベント参加者がそれぞれ所有する前記各移動体の前記各演算装置の計算能力に基づいて、前記イベントの開催時における、前記各演算装置で構成される演算資源の計算能力を推定し、
推定された推定計算能力と前記通信部が取得したジョブとのマッチングを行うことを特徴とする管理システム。
【請求項2】
請求項1に記載の管理システムにおいて、
前記制御部は、前記イベントに関する施設からの参加者情報に基づいて前記イベント参加者を推定することを特徴とする管理システム。
【請求項3】
請求項1に記載の管理システムにおいて、
前記移動体は、車両であり、
前記イベントの情報は、前記イベントの開催日の情報を含み、
前記制御部は、前記移動体に搭載されたナビゲーションシステムに登録される、前記イベントの開催日における目的地情報に基づいて前記イベント参加者を推定することを特徴とする管理システム。
【請求項4】
請求項1~3のいずれか1つに記載の管理システムにおいて、
前記制御部は、前記通信部を介して、前記推定計算能力に関する情報を、前記グリッドコンピューティングのクライアントに送信することを特徴とする管理システム。
【請求項5】
請求項4に記載の管理システムにおいて、
前記推定計算能力に関する情報は、前記推定計算能力と、前記推定計算能力を提供可能な時間と、前記推定計算能力を提供する場所と、を含むことを特徴とする管理システム。
【請求項6】
請求項1~5のいずれか1つに記載の管理システムにおいて、
前記制御部は、前記推定計算能力と前記ジョブとのマッチングを行ったときに、前記推定計算能力がジョブの演算に必要な処理能力に対して不足しているときには、前記イベント参加者であると推定されていない前記所有者に対して、前記イベントの情報を通知するための信号を生成することを特徴とする管理システム。
【請求項7】
複数の移動体にそれぞれ搭載された演算装置を用いたグリッドコンピューティングを管理する管理方法であって、
現実空間で行われるイベントの情報を取得するイベント情報取得工程と、
前記各移動体の所有者のうち、前記イベントに参加するイベント参加者を推定する参加者推定工程と、
前記参加者推定工程で推定された前記イベント参加者がそれぞれ所有する前記各移動体の前記各演算装置の計算能力に基づいて、前記イベントの開催時における、前記各演算装置で構成される演算資源の計算能力を推定する計算能力推定工程と、
前記グリッドコンピューティングを利用するジョブを受け付けるジョブ受付工程と、
前記計算能力推定工程で推定された推定計算能力と前記ジョブ受付工程で受け付けられたジョブとのマッチングを行うマッチング工程と、を含むことを特徴とする管理方法。
【請求項8】
請求項7に記載の管理方法において、
前記推定計算能力に関する情報を、前記グリッドコンピューティングのクライアントに送信する送信工程を更に含むことを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、管理システムおよび管理方法に関する技術分野に属する。
【背景技術】
【0002】
近年、車両や携帯情報端末などの電子制御される移動体は、それらの制御を行うための比較的高い計算能力を有する演算装置を備えている。このような演算装置は、移動体が利用されていないときには有効活用されていない状態であった。このような状況に対して、複数の移動体にそれぞれ搭載された演算装置を用いてグリッドコンピューティングを行うことで、移動体に搭載された演算装置を有効活用することが検討されている。
【0003】
例えば、特許文献1には、移動体としての車両に搭載された通信装置を用いたグリッドコンピューティングの管理サーバが開示されている。この管理サーバは、通信装置からグリッドコンピューティングに参加可能であることを示す信号を受信する信号受信部と、処理装置の処理能力の不足状態を判定する状態判定部と、処理装置の処理能力が不足している場合に、通信装置にグリッドコンピューティングへの参加指示を送信する応答送信部とを備える。
【0004】
また、特許文献1には、通信装置は、所有者が自宅の駐車場に車両を駐車して、エンジンオフまたは電源オフ操作をしたタイミングで、参加信号を送信することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、車両や携帯情報端末のような移動体は、据え置き型の計算機とは異なり流動的であるため、移動体に搭載された演算装置を用いたグリッドコンピューティングの処理能力は時々刻々と変化する。特許文献1では、所有者が自宅の駐車場に車両を駐車して、エンジンオフまたは電源オフ操作をしたタイミングで、参加信号を送信することで、比較的安定した計算能力を提供するようにしている。
【0007】
しかしながら、特許文献1に記載のようなグリッドコンピューティングでは、計算能力の向上は望めず、グリッドコンピューティングを利用可能なジョブが限定されてしまう。このため、移動体の流動性を利用して、移動体の演算装置を用いたグリッドコンピューティングを有効活用するという観点からは改良の余地がある。
【0008】
ここに開示された技術は斯かる点に鑑みてなされたものであり、その目的とするところは、移動体の演算装置を用いたグリッドコンピューティングにおいて、移動体の流動性を利用して、移動体の演算装置を演算資源として有効活用することにある。
【課題を解決するための手段】
【0009】
前記課題を解決するために、ここに開示された技術では、複数の移動体にそれぞれ搭載された演算装置を用いたグリッドコンピューティングを管理する管理システムを対象として、通信部と、制御部と、を備え、前記通信部は、現実空間で開催されるイベントの情報、および前記グリッドコンピューティングを利用するジョブのジョブデータを取得し、前記制御部は、前記各移動体の所有者のうち、前記イベントに参加するイベント参加者を推定し、推定された前記イベント参加者がそれぞれ所有する前記各移動体の前記各演算装置の計算能力に基づいて、前記イベントの開催時における、前記各演算装置で構成される演算資源の計算能力を推定し、推定された推定計算能力と前記通信部が取得したジョブとのマッチングを行う、という構成にした。
【0010】
すなわち、イベントが開催される場所、およびその周辺には、多数の移動体が待機することが推定される。このため、イベントの開催時間中は、イベントの非開催時では利用できない移動体の演算装置を含めた、比較的大きな計算能力を有するグリッドを構築することができる。そして、イベント参加者の情報に基づいて、イベント開催時に提供可能な計算能力を予め推定することにより、受け付けたジョブに必要な計算能力と推定された計算能力とを比較して、推定計算能力とジョブとのマッチングを行うことで、ジョブを適切にグリッドコンピューティングに配分することができる。したがって、移動体の流動性を利用して、移動体の演算装置を演算資源として有効活用することができる。
【0011】
前記管理システムの一実施形態では、前記制御部は、前記イベントに関する施設からの参加者情報に基づいて前記イベント参加者を推定する。
【0012】
この構成によると、イベント参加者を精度良く推定することができるため、イベント開催時におけるグリッドコンピューティングの計算能力を精度良く推定することができる。これにより、ジョブを適切にグリッドコンピューティングに配分することができるため、移動体の演算装置を演算資源としてより適切に有効活用することができる。
【0013】
前記管理システムの他の実施形態では、前記移動体は、車両であり、前記イベントの情報は、前記イベントの開催日の情報を含み、前記制御部は、前記移動体に搭載されたナビゲーションシステムに登録される、前記イベントの開催日における目的地情報に基づいて前記イベント参加者を推定する。
【0014】
すなわち、イベントの情報が公開された後に、ナビゲーションシステムに登録された目的地が、イベントの開催場所周辺である場合には、イベント参加者である可能性が高い。イベントには、参加費用が無料でありチケットなどが不要なものもある。前記の構成によると、このようなチケット情報が得られないような場合であっても、イベント参加者を精度良く推定することができる。これにより、ジョブを適切にグリッドコンピューティングに配分することができるため、移動体の演算装置を演算資源としてより適切に有効活用することができる。
【0015】
前記管理システムにおいて、前記制御部は、前記通信部を介して、前記推定計算能力に関する情報を、前記グリッドコンピューティングのクライアントに送信する、という構成でもよい。
【0016】
特に、前記推定計算能力に関する情報は、前記推定計算能力と、前記推定計算能力を提供可能な時間と、前記推定計算能力を提供する場所と、を含む、という構成でもよい。
【0017】
この構成によると、推定計算能力を見たクライアントは、該推定計算能力に適したジョブを依頼することができる。また、クライアントにグリッドコンピューティングの利用を積極的に促すころができる。これにより、移動体の演算装置を演算資源としてより適切に有効活用することができる。
【0018】
前記管理システムにおいて、前記制御部は、前記推定計算能力と前記ジョブとのマッチングを行ったときに、前記推定計算能力がジョブの演算に必要な処理能力に対して不足しているときには、前記イベント参加者であると推定されていない前記所有者に対して、前記イベントの情報を通知するための信号を生成する、という構成でもよい。
【0019】
この構成によると、移動体の所有者にイベントへの参加を促すことができ、結果として、該所有者の移動体の演算装置を演算資源として追加することが期待できる。したがって、移動体の流動性をより効果的に利用して、移動体の演算装置を演算資源としてより適切に有効活用することができる。
【0020】
ここに開示された技術は、複数の移動体にそれぞれ搭載された演算装置を用いたグリッドコンピューティングを管理する管理方法をも対象とする。具体的には、管理方法は、現実空間で行われるイベントの情報を取得するイベント情報取得工程と、前記各移動体の所有者のうち、前記イベントに参加するイベント参加者を推定する参加者推定工程と、前記参加者推定工程で推定された前記イベント参加者がそれぞれ所有する前記各移動体の前記各演算装置の計算能力に基づいて、前記イベントの開催時における、前記各演算装置で構成される演算資源の計算能力を推定する計算能力推定工程と、前記グリッドコンピューティングを利用するジョブを受け付けるジョブ受付工程と、前記計算能力推定工程で推定された推定計算能力と前記ジョブ受付工程で受け付けられたジョブとのマッチングを行うマッチング工程と、を含む。
【0021】
この構成においても、イベント参加者の情報に基づいて、イベント開催時に提供可能な計算能力を予め推定することにより、受け付けたジョブに必要な計算能力と推定された計算能力とを比較して、推定計算能力とジョブとのマッチングを行うことで、ジョブを適切にグリッドコンピューティングに配分することができる。これにより、移動体の流動性を利用して、移動体の演算装置を演算資源として有効活用することができる。
【0022】
前記管理方法において、前記推定計算能力に関する情報を、前記グリッドコンピューティングのクライアントに送信する送信工程を更に含む、という構成でもよい。
【0023】
この構成によると、推定計算能力を見たクライアントは、該推定計算能力に適したジョブを依頼することができる。これにより、移動体の演算装置を演算資源としてより適切に有効活用することができる。
【発明の効果】
【0024】
以上説明したように、ここに開示された技術によると、移動体の演算装置を用いたグリッドコンピューティングにおいて、移動体の流動性を利用して、移動体の演算装置を演算資源として有効活用することができる。
【図面の簡単な説明】
【0025】
【
図1】
図1は、例示的な実施形態のシステムの構成を例示する概略図である。
【
図2】
図2は、グリッドコンピューティングについて説明するための概念図である。
【
図3】
図3は、車両の構成を例示するブロック図である。
【
図4】
図4は、ユーザ端末の構成を例示するブロック図である。
【
図5】
図5は、クライアントサーバの構成を示すブロック図である。
【
図6】
図6は、施設サーバの構成を例示するブロック図である。
【
図7】
図7は、管理サーバの構成を示すブロック図である。
【
図8】
図8は、ユーザ、車両、クライアント、チケット販売施設、およびシステム運営の間で伝達される情報を示す概略図である。
【
図9】
図9は、クライアントが有する表示装置の画面に表示される推定計算能力の情報を例示する概略図である。
【
図10】
図10は、クライアントが管理サーバにジョブを依頼するための登録フォームを例示する概略図である。
【
図11】
図11は、管理システムの処理動作を示すフローチャートである。
【
図12】
図12は、計算能力を推定する際の管理システムの処理動作を示すフローチャートである。
【
図13】
図13は、ジョブを受け付ける際の管理システムの処理動作を示すフローチャートである。
【
図14】
図14は、推定された計算能力とジョブとのマッチングを行う際の管理システムの処理動作を示すフローチャートである。
【
図15】
図15は、ジョブを実行する際の管理システムの処理動作を示すフローチャートである。
【
図16】
図16は、実施形態2に係る管理システムにおいて、計算能力を推定する際の処理動作を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、例示的な実施形態について、図面を参照しながら詳細に説明する。
【0027】
〈実施形態1〉
(システムの構成)
図1は、実施形態のシステム1の構成を例示する。このシステム1は、複数の車両10と、複数のユーザ端末20と、クライアントサーバ30と、施設サーバ40と、管理サーバ50とを備える。これらの構成要素は、通信網5を経由して互いに通信可能である。複数の車両10の各々には、演算装置105が搭載される。本実施形態では、移動体として自動四輪車の車両10を例にして説明する。また、本実施形態において、ユーザは、車両10の所有者に相当し、後述するイベントに参加する所有者は、イベント参加者に相当する。
【0028】
(グリッドコンピューティング)
図2に示すように、実施形態のシステム1では、複数の演算装置105によりグリッドコンピューティングが構成され、複数の演算装置105のうち利用可能な演算装置105にジョブデータを処理させるグリッドコンピューティング処理が行われる。以下の説明において、複数の車両10の各演算装置105により構成されたグリッドコンピューティングの演算要素を演算資源ということがある。
【0029】
なお、車両10において演算装置105の計算能力が必要となると、演算装置105が稼働状態となり、演算装置105の計算能力が利用される。例えば、車両10が走行している場合、車両10の走行制御のために演算装置105の計算能力が必要となり、演算装置105が稼働状態となる。
【0030】
一方、車両10において演算装置105の計算能力が不要となると、演算装置105が停止状態となり、演算装置105の計算能力が利用されなくなる。例えば、車両10が停車して、イグニッションオフまたは電源オフの状態になると、演算装置105の計算能力が不要となり、演算装置105が停止状態となる。
【0031】
ここで、車両10において演算装置105の計算能力が不要である場合に、演算装置105の計算能力をグリッドコンピューティング処理に提供することで、演算装置105の計算能力を有効に利用することが可能となる。
【0032】
(車両の構成)
車両10は、ユーザが所有する車両である。ユーザは、車両10を運転する。この例では、車両10は、自動四輪車である。また、車両10には、電池(図示省略)が搭載される。電池の電力は、演算装置105などの車載機器に供給される。このような車両10の例としては、電気自動車、プラグインハイブリッド自動車などが挙げられる。
【0033】
図3に示すように、車両10は、アクチュエータ11と、センサ12と、入力部101と、出力部102と、通信部103と、記憶部104と、演算装置105とを備える。
【0034】
アクチュエータ11は、駆動系のアクチュエータ、操舵系のアクチュエータ、制動系のアクチュエータなどを含む。駆動系のアクチュエータの例としては、エンジン、トランスミッション、モータが挙げられる。制動系のアクチュエータの例としては、ブレーキが挙げられる。操舵系のアクチュエータの例としては、ステアリングが挙げられる。
【0035】
センサ12は、車両10の制御に用いられる各種の情報を取得する。センサ12の例としては、車外を撮像する車外カメラ、車内を撮像する車内カメラ、車外の物体を検出するレーダ、車速センサ、加速度センサ、ヨーレートセンサ、アクセル開度センサ、ステアリングセンサ、ブレーキ油圧センサなどが挙げられる。
【0036】
入力部101は、情報やデータを入力する。入力部101の例としては、操作されることで操作に応じた情報を入力するナビゲーションシステム、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部101に入力された情報やデータは、演算装置105に送られる。
【0037】
出力部102は、情報やデータを出力する。出力部102の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0038】
通信部103は、情報やデータを送受信する。通信部103により受信された情報やデータは、演算装置105に送られる。
【0039】
記憶部104は、情報やデータを記憶する。
【0040】
演算装置105は、車両10の各部を制御する。この例では、演算装置105は、センサ12により得られた各種の情報に応じてアクチュエータ11を制御する。
【0041】
演算装置105は、プロセッサ、メモリなどを有する。プロセッサの例としては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などが挙げられる。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0042】
なお、演算装置105に搭載されるプロセッサの数は、1つであってもよいし、複数のであってもよい。また、演算装置105に搭載されるプロセッサは、CPUおよびGPUのいずれか一方のみであってもよいし、CPUおよびGPUの両方であってもよい。この例では、演算装置105は、CPUおよびGPUの両方を有する。例えば、演算装置105は、1つまたは複数のECU(Electronic Control Unit)により構成される。
【0043】
この例では、記憶部104は、車両情報D11と、車両状態情報D12と、走行履歴情報D13と、演算装置情報D14と、稼働履歴情報D15とを記憶する。
【0044】
〈車両情報〉
車両情報D11は、車両10に関する情報である。例えば、車両情報D11は、車両10に設定された車両ID、車両10を所有するユーザに設定されたユーザID,車両の性能を示す車両性能情報などを含む。車両IDは、車両10を識別する車両識別情報の一例である。ユーザIDは、ユーザを識別するユーザ識別情報の一例である。
【0045】
〈車両状態情報〉
車両状態情報D12は、車両10の状態を示す。例えば、車両状態情報D12は、車両位置情報、車両通信情報、車両電源情報、車両電池残量情報、車両充電情報、車両走行予約情報などを含む。車両位置情報は、車両10の位置(緯度および経度)を示す。車両位置情報は、例えば、GPS(Global Positioning System)により取得可能である。車両通信情報は、車両10の通信状態を示す。車両電源情報は、車両10の電源の状態を示す。例えば、車両電源情報は、イグニッション電源のオンオフ、アクセサリ電源のオンオフなどを示す。車両電池残量情報は、車両10に搭載された電池(図示省略)の残量を示す。車両充電情報は、充電設備(図示省略)において車両10が充電中であるか否かを示す。車両走行予約情報は、ナビゲーションシステムにより予約された目的地、目的地への案内を行う日などを示す。
【0046】
〈走行履歴情報〉
走行履歴情報D13は、車両10の走行履歴を示す情報である。例えば、走行履歴情報D13は、車両10の位置と時刻とを関連付けて示す。
【0047】
〈演算装置情報〉
演算装置情報D14は、演算装置105に関する情報である。例えば、演算装置情報D14は、演算装置105に設定された演算装置ID、演算装置105を搭載する車両10に設定された車両ID、演算装置105の性能を示す演算装置性能情報などを含む。演算装置IDは、演算装置105を識別する演算装置識別情報の一例である。演算装置性能情報に示される演算装置105の性能には、演算装置105の計算能力(具体的には最大計算能力)を示す計算能力、演算装置105におけるCPUとGPUとの比率などが含まれる。なお、演算装置105の計算能力は、演算装置105が単位時間当たりに計算することができるデータ量である。
【0048】
〈稼働履歴情報〉
稼働履歴情報D15は、演算装置105の稼働履歴を示す情報である。例えば、稼働履歴情報D15は、演算装置105の計算能力の利用率と時刻とを関連付けて示す。
【0049】
(ユーザ端末の構成)
ユーザ端末20は、ユーザに所有される端末機器である。ユーザは、ユーザ端末20を操作して各種の機能を利用する。また、ユーザは、ユーザ端末20を持ち運ぶことができる。このようなユーザ端末20の例としては、スマートフォン、タブレット、ノート型パーソナルコンピュータなどが挙げられる。
【0050】
図4に示すように、ユーザ端末20は、入力部201と、出力部202と、通信部203と、記憶部204と、制御部205とを備える。
【0051】
入力部201は、情報やデータを入力する。入力部201の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。例えば、ユーザは、操作部を操作して、車両10のナビゲーションシステムにアクセスすることで、目的地の予約登録が可能である。入力部101に入力された情報は、演算装置105に送られる。
【0052】
出力部202は、情報やデータを出力する。出力部202の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0053】
通信部203は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部205に送られる。
【0054】
記憶部204は、情報やデータを記憶する。
【0055】
制御部205は、ユーザ端末20の各部を制御する。制御部205は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0056】
この例では、記憶部204は、端末情報D21と、端末状態情報D22と、スケジュール情報D23とを記憶する。
【0057】
〈端末情報〉
端末情報D21は、ユーザ端末20に関する情報である。例えば、端末情報D21は、ユーザ端末20に設定されたユーザ端末ID、ユーザ端末20の性能を示すユーザ端末性能情報などを含む。ユーザ端末IDは、ユーザ端末20を識別するユーザ端末識別情報の一例である。
【0058】
〈端末状態情報〉
端末状態情報D22は、ユーザ端末20の状態を示す情報である。端末状態情報D22は、ユーザ端末20の位置を示すユーザ端末位置情報、ユーザ端末20の通信状態を示すユーザ端末通信状態情報などを含む。
【0059】
〈スケジュール情報〉
スケジュール情報D23は、ユーザ端末20を所有するユーザの行動履歴および行動予定を示す。例えば、スケジュール情報D23は、ユーザの位置と滞在期間(または滞在予定期間)とを関連付けて示す。なお、スケジュール情報D23は、ユーザ端末20に搭載されたスケジュール機能により取得可能である。具体的には、ユーザがスケジュール機能を利用して自身の行動履歴および行動予定をユーザ端末20に入力することで、そのユーザの行動履歴および行動予定を示すスケジュール情報D23が得られる。
【0060】
(クライアントサーバの構成)
クライアントサーバ30は、クライアントにより所有される。クライアントは、ジョブデータの計算を依頼する。このようなクライアントの例としては、企業、研究機関、教育機関などが挙げられる。
【0061】
図5に示すように、クライアントサーバ30は、入力部301と、出力部302と、通信部303と、記憶部304と、制御部305とを備える。
【0062】
入力部301は、情報やデータを入力する。入力部301の例としては、操作されることで操作に応じた情報を入力する操作部、情報を示す画像を入力するカメラ、情報を示す音声を入力するマイクロフォンなどが挙げられる。入力部301に入力された情報やデータは、制御部305に送られる。
【0063】
出力部302は、情報やデータを出力する。出力部302の例としては、情報を示す画像を出力する表示部、情報を示す音声を出力するスピーカなどが挙げられる。
【0064】
通信部303は、情報やデータを送受信する。通信部303により受信された情報やデータは、制御部305に送られる。
【0065】
記憶部304は、情報やデータを記憶する。
【0066】
制御部305は、クライアントサーバ30の各部を制御する。制御部305は、プロセッサ、メモリなどを有する。メモリは、プロセッサを動作させるためのプログラム、プロセッサの処理結果を示す情報やデータなどを記憶する。
【0067】
この例では、記憶部304は、クライアント情報D31と、ジョブデータD1とを記憶する。
【0068】
〈クライアント情報〉
クライアント情報D31は、クライアントに関する情報である。クライアント情報D31は、クライアントに設定されたクライアントID、クライアントにより所有されるクライアントサーバ30に設定されたクライアントサーバID、担当者名、住所、電話番号などを含む。クライアントIDは、クライアントを識別するクライアント識別情報の一例である。クライアントサーバIDは、クライアントサーバ30を識別するクライアントサーバ識別情報の一例である。
【0069】
〈ジョブデータ〉
ジョブデータD1は、ジョブに対応するデータであり、ジョブの実施のために処理されるデータである。
【0070】
なお、ジョブデータD1は、計算タイプにより分類可能である。計算タイプの例としては、CPU系の計算タイプ、GPU系の計算タイプなどが挙げられる。CPU系の計算タイプのジョブデータD1では、シミュレーション計算など、条件分岐の多い複雑な計算が要求される傾向にある。GPU系の計算タイプのジョブデータD1では、画像処理や機械学習など、膨大な量の単純計算が要求される傾向にある。
【0071】
また、ジョブデータD1は、ジョブの処理条件により分類可能である。処理条件の例としては、常時通信が要求される処理条件、常時通信が要求されない処理条件などが挙げられる。常時通信が要求される処理条件のジョブデータD1では、グリッドコンピューティング処理において演算資源(つまり演算装置105)が常に通信可能であることが要求される。常時通信が要求されない処理条件のジョブデータD1では、グリッドコンピューティング処理において演算資源が常に通信可能であることが要求されない。
【0072】
なお、記憶部304には、ジョブに関するジョブ情報が記憶されてもよい。ジョブ情報は、ジョブの名称を示すジョブ名称情報、ジョブの内容を説明するジョブ内容情報、ジョブに対応するジョブデータに関するジョブデータ情報、ジョブの納期を示すジョブ納期情報などを含む。ジョブデータ情報は、ジョブデータの計算タイプ、処理条件、必要計算能力などを示す。
【0073】
(施設サーバの構成)
施設サーバ40は、施設により所有される。ユーザは、例えば、ユーザ端末20を介して施設への来訪予約を行うことができる。このような施設の例としては、競技場、劇場、映画館、スーパーマーケット、レストラン、宿泊施設、チケット販売施設などが挙げられる。
【0074】
図6に示すように、施設サーバ40は、入力部401と、出力部402と、通信部403と、記憶部404と、制御部405とを備える。施設サーバ40の入力部401、出力部402、通信部403、記憶部404、制御部405の構成は、クライアントサーバ30の入力部301、出力部302、通信部303、記憶部304、制御部305の構成と同様である。
【0075】
この例では、記憶部404は、施設情報D41と、施設利用情報D42とを記憶する。
【0076】
〈施設情報〉
施設情報D41は、施設に関する情報である。施設情報D41は、施設に設定された施設ID、施設により所有される施設サーバ40に設定された施設サーバID、施設の業務内容、施設の位置(緯度および経度)を示す施設位置情報、担当者名、住所、電話番号などを含む。施設IDは、施設を識別する施設識別情報の一例である。施設サーバIDは、施設サーバ40を識別する施設サーバ識別情報の一例である。
【0077】
〈施設利用情報〉
施設利用情報D42は、施設の利用状況(利用履歴および利用予定)を示す。具体的には、施設利用情報D42は、施設を利用するユーザと滞在期間(または滞在予定期間)とを関連付けて示す。施設利用情報D42は、ユーザと該ユーザが施設を利用した目的とを関連づけて示す。例えば、施設がチケット販売施設であるときには、施設利用情報D42は、ユーザの利用目的が、チケットの予約であるか、チケットの予約キャンセルであるか、イベント情報の閲覧であるか、などを示す。施設利用情報D42は、ユーザ毎に、チケットの購入履歴、チケットのキャンセル履歴、イベント情報の閲覧履歴などを示す。
【0078】
(管理サーバの構成)
管理サーバ50は、グリッドコンピューティングが構成されるシステム1の運営を管理する。管理サーバ50は、システム1を運営する事業者により所有される。
【0079】
図7に示すように、管理サーバ50は、入力部501と、出力部502と、通信部503と、記憶部504と、制御部505とを備える。管理サーバ50の入力部501、出力部502、通信部503、記憶部504、制御部505の構成は、クライアントサーバ30の入力部301、出力部302、通信部303、記憶部304、制御部305の構成と同様である。
【0080】
この例では、記憶部504は、ユーザテーブルD51と、演算装置テーブルD52と、クライアントテーブルD53と、ジョブテーブルD54と、リソーステーブルD55と、マッチングテーブルD56と、ジョブデータD1と、計算結果データD2とを記憶する。
【0081】
〈ユーザテーブル〉
ユーザテーブルD51は、ユーザを管理するためのテーブルである。ユーザテーブルD51には、ユーザ毎に、そのユーザに設定されたユーザID、そのユーザにより所有される車両10に設定された車両ID、そのユーザにより所有される演算装置105に設定された演算装置ID、そのユーザにより所有されるユーザ端末20に設定されたユーザ端末IDなどが登録される。
【0082】
〈演算装置テーブル〉
演算装置テーブルD52は、演算装置105を管理するためのテーブルである。演算装置テーブルD52には、演算装置105毎に、その演算装置105に設定された演算装置ID、その演算装置105を所有するユーザに設定されたユーザID、その演算装置105が搭載される車両10に設定された車両IDなどが登録される。
【0083】
また、演算装置テーブルD52には,演算装置105毎に、その演算装置105の性能(計算能力やCPUとGPUの比率など)、その演算装置105の稼働状況(稼働履歴および稼働予定)などが登録される。言い換えると、演算装置テーブルD52は、複数の演算装置105の各々の稼働状況を示す稼働状況情報D5と、複数の演算装置105の各々の性能を示す性能情報D6とを含む。性能情報D6は、複数の演算装置105の各々の計算能力を示す計算能力情報D7を含む。
【0084】
〈クライアントテーブル〉
クライアントテーブルD53は、クライアントを管理するためのテーブルである。クライアントテーブルD53には、クライアント毎に、そのクライアントに設定されたクライアントID、クライアントにより所有されるクライアントサーバ30に設定されたクライアントサーバID、そのクライアントの担当者名、住所、電話番号などが登録される。クライアントテーブルD53には、クライアント毎に、グリッドコンピューティングの利用履歴が記録されている。
【0085】
〈ジョブテーブル〉
ジョブテーブルD54は、クライアントから依頼されたジョブを管理するためのテーブルである。ジョブテーブルD54には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブを依頼したクライアントに設定されたクライアントID、そのジョブの名称および内容などが登録される。また、ジョブテーブルD54には、ジョブ毎に、そのジョブに対応するジョブデータの計算タイプおよび処理条件、そのジョブデータの計算に必要となる計算能力である必要計算能力、そのジョブに設定された納期などが登録される。
【0086】
〈リソーステーブル〉
リソーステーブルD55は、グリッドコンピューティング処理における計算能力を管理するためのテーブルである。具体的には、リソーステーブルD55は、後述する演算資源の推定計算能力に関する計算能力情報を管理するためのテーブルである。リソーステーブルD55には、演算装置105毎に、その演算装置105に設定された演算装置IDが登録されている。詳しくは後述するが、リソーステーブルD55には、現実空間で行われるイベント毎に、そのイベントにおいて構成されるグリッドコンピューティングの演算資源の計算能力が登録される。また、リソーステーブルD55には、過去に開催されたイベント毎に、各イベントにおいて実際に提供可能された演算資源の計算能力が示されている。
【0087】
〈マッチングテーブル〉
マッチングテーブルD56は、後述するマッチング処理の結果を管理するためのテーブルである。マッチングテーブルD56には、ジョブ毎に、そのジョブに設定された受付番号、そのジョブに対応するジョブデータ、マッチング処理によりそのジョブデータに対して割り当てられた演算資源を構成する各演算装置105にそれぞれ設定された演算装置IDなどが登録される。また、マッチングテーブルD56には、ジョブと、演算装置IDと、イベントとが関連づけられて登録されている。
【0088】
〈ジョブデータ〉
記憶部504に記憶されるジョブデータD1は、後述するジョブ受付処理により受け付けられたジョブデータD1である。
【0089】
〈計算結果データ〉
記憶部504に記憶される計算結果データD2は、後述するグリッドコンピューティング処理により計算された計算結果情報であり、その計算の結果を示す。
【0090】
(システムの処理動作)
ここで、車両10は流動性があるため、各車両10にそれぞれ搭載された演算装置105により構成されるグリッドコンピューティングの演算資源の処理能力は時々刻々と変化する。従来は、ユーザが自宅の駐車場に車両10を駐車させて、エンジンオフまたは電源オフ操作をしたタイミングで、当該車両10をグリッドコンピューティングに参加可能にすることで、比較的安定した計算能力を提供するようにしている。しかしながら、これでは、計算能力の向上は望めず、グリッドコンピューティングを利用可能なジョブが限定されてしまう。
【0091】
そこで、本実施形態1に係るシステム1は、逆に車両10の流動性を利用してグリッドコンピューティングの計算能力の向上を図ることにした。具体的には、システム1は、現実空間で行われるイベントにおいて集まる車両10を利用してグリッドコンピューティングを行うようにした。また、システム1は、イベント開催時におけるグリッドコンピューティングの計算能力を予め推定して、該推定計算能力に関する情報(以下、計算能力情報という)をグリッドコンピューティングのクライアントに開示することで、クライアントに対して、グリッドコンピューティングの利用を積極的に促すようにした。尚、グリッドコンピューティングの計算能力の推定方法についての詳細は後述する。ここでいうイベントは、現実空間で行われる種々のイベントを含み、例えば、スポーツの試合、スポーツの大会、講演会、展示会、映画の上映、コンサート、ライブイベント、即売会、バーゲンセールなどを含む。以下の説明では、イベントが、スポーツの試合など、事前にチケットの購入などの参加予約が必要なイベントである場合について説明する。
【0092】
本実施形態1では、ユーザ端末20、車両10の演算装置105、クライアントサーバ30、施設サーバ40、および管理サーバ50の間で情報のやりとりが行われる。
図8は、ユーザ端末20、車両10の演算装置105、クライアントサーバ30、施設サーバ40、および管理サーバ50の関係について概略的に示す。施設サーバ40は、チケット販売のみを行うチケット販売施設のサーバでもよいし、競技場や劇場がチケットの販売を行っている場合には、競技場や劇場のサーバも含まれる。
【0093】
管理サーバ50とユーザ(ユーザ端末20)の間では、管理サーバ50からユーザに、車両10のグリッドコンピューティングへの参加要請が行われる。また、車両10をグリッドコンピューティングに参加させたユーザに対して、管理サーバ50から報酬に関する情報が送信される。報酬に関する情報は、電子ポイントなどの報酬そのものであってもよいし、報酬が製品などのハードウェアであれば、該ハードウェアに関する情報であってもよい。
【0094】
管理サーバ50と車両10(車両10の演算装置105)との間では、管理サーバ50から車両10に対して、グリッドコンピューティングで実行すべきジョブに関する情報、およびジョブの実行要請が送信される。一方で、車両10から管理サーバ50に対しては、グリッドコンピューティングにより行った演算の計算結果が送信される。
【0095】
管理サーバ50とクライアントサーバ30との間では、管理サーバ50からクライアントサーバ30に対して、計算能力情報が送信される。また、管理サーバ50からは、グリッドコンピューティングによりジョブを実行した結果得られる計算結果が送信される。一方で、クライアントサーバ30から管理サーバ50に対しては、ジョブの依頼が送信される。計算能力情報については、イベント開催までの期間で変化するため、管理サーバ50は計算能力情報を更新しつつ、定期的にクライアントサーバ30に計算能力情報を送信する。管理サーバ50が計算能力情報をクライアントサーバ30に送信するタイミングは、1日毎など期間ベースであってもよいし、計算能力が一定の値を超えたときなど計算能力ベースであってもよい。
【0096】
図9には、クライアントが有する計算機の表示部に表示される計算能力情報510の一例である。つまり、クライアントサーバ30には、
図9で示すような情報が送信される。クライアントが有する表示部には、
図9に示すように、各イベントにおける推定計算能力が、イベント毎に分けて表示される。計算能力情報510としては、イベントの名称511、提供可能な演算タイプ512、提供可能な計算能力513、提供可能な時間帯514、および提供場所515の情報が含まれる。演算タイプ512は、例えば、CPUを用いたロジック計算がメインとなるときにはCPU系と表示され、GPUを用いた画像処理がメインとなるときにはGPU系と表示される。計算能力513としては、各参加者がそれぞれ所有する車両10でグリッドを形成したときの計算能力が、例えば、FLOPS(FLoating point number Operations Per Second)の単位で表示される。時間帯514としては、グリッドコンピューティングが可能な年月日と演算を行うことができる時間帯とが表示される。提供場所515としては、イベントが開催される場所やイベントが開催される場所の周辺に位置する駐車場などが表示される。提供場所515の情報は、通信安定性の観点で重要になるため、クライアントが依頼するジョブを選択するのに、有用な情報となる。
【0097】
クライアントサーバ30に送信する計算能力情報は、必ずしも実際に推定した計算能力と同じでなくてもよい。例えば、管理サーバ50は、過去のイベントにおけるグリッドコンピューティングを基に、クライアントに開示する「提供可能な計算能力」を調整してもよい。具体的には、管理サーバ50は、過去の類似のイベントにおいて、推定した計算能力と該イベントの開催時に実際に提供可能となった計算能力とを比較して、比較結果を基にマージンを算出する。そして、管理サーバ50は、今回のイベントの計算能力情報における「提供可能な計算能力」を、該マージンを考慮して、実際に推定した計算能力よりも低くした上でクライアントに開示する。これにより、提供可能な計算能力を出来る限り高い確度でもってクライアントに開示することができる。また、計算能力情報における「提供可能時間帯」は、実際のイベントの開催時間と同じではなく、計算能力が安定して提供可能な時間帯、例えば、イベントが開催される時間のうち中間の時間帯のみを表示してもよい。
【0098】
クライアントは、前述のような情報を参照して、該イベントで実行可能なグリッドコンピューティングを利用するか否か、利用する場合にはどのようなジョブを実行させるかを検討することができる。
【0099】
図10は、クライアントが管理サーバ50にジョブを依頼するための登録フォーム310の一例である。この登録フォームR10は、例えば、クライアントが所有する計算機の表示部に入力可能な形式で表示される。登録フォームR10の入力情報は、管理サーバ50が推定計算能力とジョブとを比較する際に、必要な情報が含まれる。登録フォームR10には、例えば、企業概要として、企業名称の入力欄R101、担当者名の入力欄R102、企業の住所の入力欄R103、および電話番号の入力欄R104がある。登録フォームR10には、例えば、ジョブ概要として、ジョブの名称の入力欄R111、ジョブの内容の入力欄R112、ジョブの演算タイプの入力欄R113、ジョブの処理条件の入力欄R115、ジョブの必要計算能力の入力欄R115、および計算結果の納期R116などが含まれる。ジョブの内容としては、例えば、ジョブの目的やクライアントにおける当該ジョブの重要度などが入力される。ジョブの演算タイプとしては、例えば、前述の計算能力情報における「演算タイプ」と同様に、CPU系やGPU系などの情報が入力される。ジョブの処理条件としては、例えば、クライアントサーバ30との常時通信の有無や推奨される通信能力などが入力される。ジョブの必要計算能力としては、例えば、前述の計算能力情報における「計算能力」と同様に、ジョブの実行に必要な計算能力がFLOPSの単位で入力される。計算結果の納期としては、年月日および時間が入力される。尚、登録フォームR10には、これら以外の情報が入力されてもよい。例えば、登録フォームR10には、クライアントが希望する計算結果のデータ形式を入力する項目があってもよい。また、登録フォームR10にジョブの実行に必要なプログラムを添付する項目が設けられていてもよい。
【0100】
クライアントが所有する表示部には、登録フォーム310の下側に登録ボタンB100が表示される。クライアントが登録ボタンB100を押したときには、登録フォームR10に入力した内容がジョブの依頼として、管理サーバ50に送信される。
【0101】
管理サーバ50と施設サーバ40との間では、管理サーバ50から施設サーバ40に対して、参加者情報の要請やイベント情報の通知要請が送信される。このイベント情報の通知要請は、車両10のユーザにイベント情報を通知させるための通知要請である。一方で、施設サーバ40から管理サーバ50に対しては、イベント情報や参加者情報が送信される。参加者情報については、イベント開催までの期間において随時更新されるため、施設サーバ40は、管理サーバ50に参加者情報を随時送信する。施設サーバ40が参加者情報を管理サーバ50に送信するタイミングは、1日毎など期間ベースであってもよいし、新たな参加者が追加されたときなど参加者ベースであってもよい。また、参加者情報には、参加者が参加予約をキャンセルしたときのキャンセル情報も含まれる。
【0102】
施設サーバ40とユーザ(ユーザ端末20)との間では、施設サーバ40からユーザに対して、イベント情報が送信される。施設サーバ40は、ユーザの過去のチケット購入履歴やイベント情報の閲覧履歴に基づいて、イベント情報を送信するユーザを選択してもよい。一方で、ユーザから販売設側サーバに対しては、イベント情報を閲覧したユーザからの当該イベントへの参加申請が行われる。
【0103】
ユーザ(ユーザ端末20)と車両10(車両10の演算装置105)との間では、管理サーバ50からグリッドコンピューティングへの参加要請を受けたユーザから車両10に対して、グリッドコンピューティングへの参加指示が送られる。この参加指示は、必ずしも送られるものではなく、ユーザが管理サーバ50からの参加要請に従わないときには、参加指示が車両10に送られることはない。
【0104】
次に、本実施形態1に係るシステム1の処理動作について、
図11~
図15のフローチャートを参照しながら説明する。
【0105】
図11に示すように、先ず、ステップS1において、管理サーバ50は、施設サーバ40からイベント情報を取得する。施設サーバ40は、同時にユーザ端末20に対してもイベント情報を通知する。イベント情報は、同じイベントに関する情報であれば、その内容は、ユーザ端末20に通知する情報と管理サーバ50に通知する情報は異なっていてもよい。
【0106】
次に、ステップS2において、管理サーバ50は、今回のイベントにおける計算能力を推定する。
【0107】
次いで、ステップS3において、管理サーバ50は、ジョブの受付を行う。
【0108】
続いて、ステップS4において、管理サーバ50は、推定計算能力とジョブとのマッチングを行う。
【0109】
次に、ステップS5において、管理サーバ50は、イベント開催の日時になったか否かを判定する。管理サーバ50は、イベント開催の日時になったYESのときには、ステップS6に進む。一方で、管理サーバ50は、未だにイベント開催の日時になっていないNOのときには、ステップS2に戻る。
【0110】
前記ステップS6では、管理サーバ50は、実際のイベントにおいて、グリッドコンピューティングによりジョブを実行する。
【0111】
次のステップS7では、管理サーバ50は、グリッドコンピューティングに参加した車両10のユーザに報酬を付与する。ステップS7の後は処理を終了する。
【0112】
図12は、今回のイベントにおける計算能力を推定する際のシステム1の処理動作(
図11のステップS2における処理動作)を示す。尚、このフローチャートは、ユーザが施設サーバ40に対してイベントへの参加申請をしており、施設サーバ40がユーザについての参加者情報を作成していることを前提としている。
【0113】
まず、ステップS21において、管理サーバ50は、施設サーバ40に参加者情報の送信を要請する。管理サーバ50から参加者情報の送信要請を受けた施設サーバ40は、参加者情報を管理サーバ50に送信する。
【0114】
次に、ステップS22において、管理サーバ50は、施設サーバ40から参加者情報を取得する。取得する参加者情報は、参加者1人分でもよいし、参加者複数人分をまとめて取得してもよい。
【0115】
次いで、ステップS23において、管理サーバ50は、取得した参加者情報に基づいて、ユーザのうちイベントに参加する参加者を推定する。管理サーバ50は、参加者情報に含まれるユーザは全て参加者であると推定してもよい。一方で、管理サーバ50は、例えば、参加者情報における類似のイベントへの実際の参加率を参照して、参加者情報に含まれるユーザであっても、該参加率が低いユーザに対しては、今回のイベントの参加者であるとは推定しないようにしてもよい。
【0116】
次に、ステップS24において、管理サーバ50は、前記ステップS23で推定した参加者がそれぞれ所有する各車両10の各演算装置105に関する情報を、演算装置テーブルD52から読み込む。
【0117】
そして、ステップS25において、管理サーバ50は、前記ステップS24で読み込んだ各演算装置105の情報に基づいて、イベントの開催時における演算資源(演算装置105で構成されるグリッド)の計算能力を推定する。ステップS25の後は、システム1はリターンする。
【0118】
管理サーバ50は、計算能力を推定した後に、計算能力情報をリソーステーブルに記憶させる。施設サーバ40は、参加者情報の送信を要請した管理サーバ50に対して、参加者の変更(追加やキャンセル)があった場合に、参加者情報を随時送信する。管理サーバ50は、イベント開催の日時まで、送られてくる参加者情報に基づいて計算能力の推定を随時行って、リソーステーブルに記憶された今回のイベントにおける計算能力情報を随時更新する。
【0119】
図13は、今回のイベントに関連してジョブを受け付ける際のシステム1の処理動作(
図11のステップS3における処理動作)を示す。この
図13では、管理サーバ50から計算能力情報を受け取った後で、クライアントサーバ30からジョブの依頼が送信される場合を示す。尚、管理サーバ50は、基本的には常時ジョブの受付が可能な状態であるため、クライアントサーバ30からのジョブの依頼は、必ずしもクライアントサーバ30に対して計算能力情報が送信された後でなくてもよい。
【0120】
まず、ステップS31において、管理サーバ50が計算能力情報をクライアントサーバ30に送信する。管理サーバ50は、クライアントテーブルD53およびジョブテーブルD54を参照して、推定された計算能力や提供場所に応じて、計算能力情報を送信するクライアントサーバ30を選択してもよい。クライアントは、クライアントサーバ30が受信した計算能力情報に基づいてジョブを登録する。
【0121】
次に、ステップS32において、管理サーバ50は、クライアントサーバ30から送られたジョブデータD1の情報を受信する。
【0122】
次いで、ステップS33において、管理サーバ50は、受信したジョブデータD1を分析する。管理サーバ50は、受信したジョブデータD1からジョブの演算タイプ、必要な計算能力、処理条件などを把握する。
【0123】
次に、ステップS34において、管理サーバ50は、分析が完了したジョブデータD1をジョブテーブルD54に登録して、ジョブテーブルD54を更新する。ジョブテーブルD54の更新が完了したらジョブの受付が完了する。管理サーバ50は、ジョブの受付が完了したときには、ジョブを受け付けた旨の通知をクライアントサーバ30に送信してもよい。ステップS34の後は、システム1はリターンする。
【0124】
図14は、今回のイベントに関連して推定された計算能力とジョブとのマッチングを行う際のシステム1の処理動作(
図11のステップS4における処理動作)を示す。
【0125】
まず、ステップS41において、管理サーバ50は、推定計算能力と受け付けたジョブに必要な計算能力とを比較する。管理サーバ50は、単純な処理能力の比較だけでなく、提供可能な時間帯とジョブの納期との比較や、提供可能な場所の通信状態とジョブにおける常時通信の要否との比較を行う。
【0126】
次のステップS42において、管理サーバ50は、現在登録されているジョブに推定計算能力で実行可能なジョブがあるか否かについて判定する。このステップS42において、実行可能なジョブが存在するYESのときには、システム1はステップS43に進む。一方で、このステップS42において、推定計算能力で実行可能なジョブがないときには、システム1はステップS44に進む。
【0127】
前記ステップS43では、管理サーバ50は、イベント開催時に実行するジョブの候補を選出する。管理サーバ50は、推定計算能力で実行可能なジョブを候補として選出する。候補に選出されるジョブの数は、1つであってもよく複数であってもよい。
【0128】
前記ステップS44では、管理サーバ50は、施設サーバ40にイベント情報の通知要請を行う。特に、管理サーバ50は、イベントの参加者であると推定されていないユーザに対してイベント情報を通知させるための信号を生成して、該信号を施設サーバ40に送信する。管理サーバ50からの申請を受けた施設サーバ40は、現時点において参加者ではないユーザにイベント情報を通知する。このとき、イベント情報の送付対象は、参加者を除くユーザを含んでいればよく、ユーザ以外にもイベント情報が通知されることを排除しない。システム1は、ステップS44の後はリターンする。
【0129】
図15は、今回のイベント開催時にジョブを実行する際のシステム1の処理動作(
図11のステップS6における処理動作)を示す。この
図15では、ユーザが、自身が所有する車両10をグリッドコンピューティングに参加させる場合を示す。
【0130】
まず、ステップS61において、管理サーバ50は、ユーザに、該ユーザの車両10をグリッドコンピューティングに参加させるための参加要請をする。参加要請を受けたユーザは、自身の所有する車両10をグリッドコンピューティングに参加させるときには、参加を受諾する旨を管理サーバ50に送信するとともに、車両10をグリッドコンピューティングに参加可能な状態(イグニッションオフや電源オフ)にする。
【0131】
次に、ステップS62において、管理サーバ50は、今回のイベントにおけるグリッドコンピューティングで実行するジョブを設定する。管理サーバ50は、ジョブテーブルD54に登録されているジョブから、実際に演算を実行するジョブを設定する。
【0132】
次に、ステップS63において、管理サーバ50は、演算資源に対してジョブを配分する。管理サーバ50は、ジョブを配分すると同時に演算資源を構成する各車両10の各演算装置105に、ジョブの実行要請をする。各車両10の各演算装置105は、配分されたジョブを実行する。
【0133】
次いで、ステップS64において、管理サーバ50は、車両10の演算装置105から計算結果データを受信する。この計算結果データは、ジョブのうち一部が完了した部分的な計算結果データを含む。
【0134】
次に、ステップS65において、管理サーバ50は、全ての計算が完了したか否かを判定する。管理サーバ50は、全ての計算結果データを受信したか否かにより、全ての計算が完了したか否かを判定する。管理サーバ50は、全ての計算が完了したYESのときにはステップS66に進む。一方で、管理サーバ50は、未だ計算中であるNOのときには、ステップS64に戻る。
【0135】
前記ステップS66では、管理サーバ50は、受信した計算結果データをクライアントサーバ30に送信する。ステップS66の後は処理を終了する。
【0136】
したがって、本実施形態1では、システム1の管理サーバ50は、通信部503と制御部505とを備え、通信部503は、現実空間で開催されるイベントの情報、およびグリッドコンピューティングを利用するジョブのジョブデータを取得し、制御部505は、各車両10のユーザのうち、イベントに参加するイベント参加者を推定し、推定されたイベント参加者がそれぞれ所有する各車両10の各演算装置105の計算能力に基づいて、イベントの開催時における、各演算装置105で構成される演算資源の計算能力を推定し、推定された推定計算能力と通信部503が取得したジョブとのマッチングを行う。これにより、イベントに関する参加者情報に基づいて、イベント開催時に提供可能な計算能力を予め推定することにより、受け付けたジョブに必要な計算能力と推定された計算能力とを比較して、推定計算能力とジョブとのマッチングを行うことで、ジョブを適切にグリッドコンピューティングに配分することができる。したがって、車両10の流動性を利用して、車両10の演算装置105を演算資源として有効活用することができる。
【0137】
また、本実施形態1において、管理サーバ50の制御部505は、イベントに関するチケット販売施設からの情報に基づいて前記イベント参加者を推定する。これにより、イベント参加者を精度良く推定することができるため、イベント開催時におけるグリッドコンピューティングの計算能力を精度良く推定することができる。これにより、ジョブを適切にグリッドコンピューティングに配分することができるため、車両10の演算装置105を演算資源としてより適切に有効活用することができる。
【0138】
また、本実施形態1において、管理サーバ50の通信部503が送信する計算能力情報は、推定計算能力と、推定計算能力を提供可能な時間と、推定計算能力を提供する場所と、を含む。
【0139】
この構成によると、推定計算能力を見たクライアントは、該推定計算能力に適したジョブを依頼することができる。また、クライアントにグリッドコンピューティングの利用を積極的に促すことができる。これにより、車両10の演算装置105を演算資源としてより適切に有効活用することができる。
【0140】
また、本実施形態1において、管理サーバ50の制御部505は、推定計算能力とジョブとのマッチングを行ったときに、推定計算能力がジョブの演算に必要な処理能力に対して不足しているときには、通信部503を介して、イベント参加者であると推定されていないユーザに対して、イベント情報を通知するための信号を生成する。これにより、車両10のユーザにイベントへの参加を促すことができ、結果として、該ユーザの車両10の演算装置105を演算資源として追加することが期待できる。したがって、車両10の流動性をより効果的に利用して、車両10の演算装置105を演算資源としてより適切に有効活用することができる。
【0141】
(実施形態2)
以下、実施形態2について、図面を参照しながら詳細に説明する。尚、以下の説明において前記実施形態1と共通の部分については、同じ符号を付して、その詳細な説明を省略する。
【0142】
本実施形態2では、車両10のユーザからイベント参加者を推定するプロセスが前述の実施形態1とは異なる。具体的には、本実施形態2において、管理サーバ50の制御部505は、車両10に搭載されたナビゲーションシステムに登録される、イベントの開催日における目的地情報に基づいてイベント参加者を推定する。
【0143】
図16は、本実施形態2において、計算能力を推定する際のシステム1の処理動作を示す。尚、この
図16に示すフローチャートでは、管理サーバ50は、イベントの主催者などからイベントの日時を含むイベント情報を予め取得していることが前提である。
【0144】
まず、ステップS221において、管理サーバ50は、車両10の演算装置105から、車両10のナビゲーションシステムに予約登録された目的地の情報を取得する。車両10の演算装置105は、車両状態情報D12を読み込んで予約登録された目的地の情報を取得して、管理サーバ50に送信する。
【0145】
次いで、ステップS222において、管理サーバ50は、登録された目的地および予約された日時から、前記ユーザがイベント参加者であるか否かを推定する。管理サーバ50は、例えば、目的地がイベント開催地の周辺でありかつ予約された日時がイベント開催日であるときには、前記ユーザをイベント参加者であると推定する。
【0146】
次に、ステップS223において、管理サーバ50は、前記ステップS222で推定した参加者の所有する車両の演算装置に関する情報を、演算装置テーブルD52から読み込む。
【0147】
次いで、ステップS224において、管理サーバ50は、前記ステップS225で読み込んだ車両情報に基づいて、イベントの開催時におけるグリッドコンピューティングの計算能力を推定する。ステップS224の後は、システム1はリターンする。
【0148】
このようにしてイベント参加者を推定すると、バーゲンセールやフリーマーケットなど、参加予約が不要なイベントであっても、イベント参加者を精度良く推定することができる。これにより、ジョブを適切にグリッドコンピューティングに配分することができるため、車両10の演算装置105を演算資源として適切に有効活用することができる。
【0149】
(その他の実施形態)
ここに開示された技術は、前述の実施形態に限られるものではなく、請求の範囲の主旨を逸脱しない範囲で代用が可能である。
【0150】
例えば、前述の実施形態1および2では、推定計算能力がジョブの演算に必要な処理能力に対して不足しているときには、管理サーバ50からの要請を受けた施設サーバ40が、ユーザに対して、イベント情報を通知していた。これに限らず、管理サーバ50がイベント参加者とは推定されていないユーザに対してイベント情報を通知してもよい。
【0151】
また、前述の実施形態1および2では、推定計算能力がジョブの演算に必要な処理能力に対して不足しているときには、前記ユーザに対してイベント情報を通知するようにしていた。これに限らず、例えば、管理サーバ50に予めイベント開催地周辺の駐車場情報を記憶させておき、イベント参加者が所有する車両10の合計数と駐車場に駐車可能な車両10の台数とを比較して、駐車場に余裕があるとき(駐車可能な車両10の台数の方が多いとき)にのみ、前記ユーザに対してイベント情報を通知してもよい。また、推定計算能力の不足に関わらず、駐車場に余裕があるときには、前記ユーザに対してイベント情報を通知してもよい。
【0152】
また、前述の実施形態1では、施設サーバ40からの参加者情報に基づいて、前述の実施形態2では、ナビゲーションシステムに予約登録された目的地に基づいて、イベント参加者を推定していた。これに限らず、これらを組み合わせてもよい。また、これらに代えてまたはこれらに加えて、イベントの開催地周辺の宿泊施設からの宿泊者情報に基づいてイベント参加者を推定してもよい。
【0153】
また、前述の実施形態1及び2では、管理システムの記憶部504と制御部505とが単一の管理サーバ50に集約される場合を例に挙げた。これに限らず、例えば、記憶部504と制御部505は、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0154】
また、前述の実施形態1及び2において、管理システムの記憶部504は、単一の記憶装置により構成されてもよいし、複数の記憶装置により構成されてもよい。複数の記憶装置は、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0155】
また、前述の実施形態1及び2において、管理システムの制御部505は、単一の制御ユニットにより構成されてもよいし、複数の制御ユニットにより構成されてもよい。複数の制御ユニットは、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50に分散されてもよい。
【0156】
また、前述の実施形態1及び2において、演算装置105は、単一の演算ユニットにより構成されてもよいし、複数の演算ユニットにより構成されてもよい。複数の演算ユニットは、単一の管理サーバ50に集約されてもよいし、通信網5を経由して互いに通信する複数の管理サーバ50(図示省略)に分散されてもよい。
【0157】
また、前述の実施形態1及び2において、演算装置105が車両10(具体的には自動四輪車)に搭載される場合を例に挙げたが、これに限定されない。例えば、演算装置105は、車両10ではない他の移動体に搭載されてもよい。このような移動体の例としては、輸送用機械、携帯情報端末などが挙げられる。輸送用機械の例としては、自動二輪車、鉄道車両、船舶、航空機、ドローンなどが挙げられる。携帯情報端末の例としては、ノート型パーソナルコンピュータ、タブレット、スマートフォンなどが挙げられる。
【0158】
前述の実施形態は単なる例示に過ぎず、本開示の範囲を限定的に解釈してはならない。本開示の範囲は請求の範囲によって定義され、請求の範囲の均等範囲に属する変形や変更は、全て本開示の範囲内のものである。
【産業上の利用可能性】
【0159】
ここに開示された技術は、複数の移動体にそれぞれ搭載された演算装置を用いたグリッドコンピューティングを管理する際に有用である。
【符号の説明】
【0160】
1 システム
10 車両(移動体)
20 ユーザ端末
30 クライアントサーバ
40 施設サーバ
50 管理サーバ
105 演算装置
503 通信部
505 制御部