(57)【要約】【課題】装置の負荷を、他の装置の電池残量を考慮しつつ他の装置に分散する。【解決手段】実行しようとする処理で、必要とするＣＰＵの処理量及び必要とするメモリの領域の情報を取得し、電池、ＣＰＵ、メモリを有する２以上の他の情報処理装置から、前記他の情報処理装置の電池の残量、ＣＰＵの空き処理量、メモリの空き領域の情報を取得し、前記必要とするＣＰＵの処理量、前記必要とするメモリの領域、前記電池の残量、前記ＣＰＵの空き処理量、前記メモリの空き領域に基づいて、前記処理を実行するための前記他の情報処理装置の前記ＣＰＵ及び前記メモリを決定する制御部を備える、情報処理装置とする。【選択図】図１
2018055615.tif 000002
【特許請求の範囲】
【請求項１】
実行しようとする処理で、必要とするＣＰＵの処理量及び必要とするメモリの領域の情報を取得し、
電池、ＣＰＵ、メモリを有する２以上の他の情報処理装置から、前記他の情報処理装置の電池の残量、ＣＰＵの空き処理量、メモリの空き領域の情報を取得し、
前記必要とするＣＰＵの処理量、前記必要とするメモリの領域、前記電池の残量、前記ＣＰＵの空き処理量、前記メモリの空き領域に基づいて、前記処理を実行するための前記他の情報処理装置の前記ＣＰＵ及び前記メモリを決定する制御部を備える、
情報処理装置。
【請求項２】
前記制御部は、前記他の情報処理装置が有するＣＰＵの最大性能、メモリの領域の情報を取得し、前記ＣＰＵの最大性能、前記メモリの領域に基づいて、前記処理を実行するための前記他の情報処理装置の前記ＣＰＵ及び前記メモリを決定する、
請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記処理で、必要とする通信速度を取得し、前記他の情報処理装置との間の通信速度に基づいて、前記処理を実行するための前記他の情報処理装置の前記ＣＰＵ及び前記メモリを決定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御部は、前記電池の残量が所定値以上であり、かつ、前記ＣＰＵの空き処理量が、前記必要とするＣＰＵの処理量以上であるＣＰＵを、前記処理を実行するための前記ＣＰＵとして決定し、前記残量が所定値以上であり、かつ、前記メモリの空き領域が、前記必要とするメモリの領域以上であるメモリを、前記処理を実行するための前記メモリとして決定する、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
第１情報処理装置と、電池、ＣＰＵ、メモリを有する２以上の第２情報処理装置とを含む情報処理システムであって、
前記第１情報処理装置が、
実行しようとする処理で、必要とするＣＰＵの処理量及び必要とするメモリの領域の情報を取得し、
前記第２情報処理装置から、前記第２情報処理装置の電池の残量、ＣＰＵの空き処理量、メモリの空き領域の情報を取得し、
前記必要とするＣＰＵの処理量、前記必要とするメモリの領域、前記電池の残量、前記ＣＰＵの空き処理量、前記メモリの空き領域に基づいて、前記処理を実行するための前記他の情報処理装置の前記ＣＰＵ及び前記メモリを決定する制御部を備え、
前記第２情報処理装置が、
前記第１情報処理装置に、自装置の、電池の残量、ＣＰＵの空き処理量、メモリの空き領域の情報を提供する制御部を備える、
情報処理システム。
【請求項６】
コンピュータが、
実行しようとする処理で、必要とするＣＰＵの処理量及び必要とするメモリの領域の情報を取得し、
電池、ＣＰＵ、メモリを有する２以上の情報処理装置から、前記情報処理装置の電池の残量、ＣＰＵの空き処理量、メモリの空き領域の情報を取得し、
前記必要とするＣＰＵの処理量、前記必要とするメモリの領域、前記電池の残量、前記ＣＰＵの空き処理量、前記メモリの空き領域に基づいて、前記処理を実行するための前記
情報処理装置の前記ＣＰＵ及び前記メモリを決定する、
ことを実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、及び、情報処理方法に関する。
【背景技術】
【０００２】
車両等には、カーナビゲーション機能等を備えたマルチメディア機器（Multi Media機
器、ＭＭ機器）が搭載されるようになっている。車両等に搭載されるＭＭ機器では、カーナビゲーション機能の他に、例えば、車両状態を表示する機能、車両のエアコンを調整する機能、オーディオ機能、音声通話を行う機能等が実現される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２４６６９２号公報
【特許文献２】特開２００６−６５７２５号公報
【特許文献３】特開平０７−１７５７６８号公報
【特許文献４】特開２０１０−８６１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
グラフィックやアプリケーション、ネットワーク等の進化により、ＭＭ機器に要求される性能が年々高くなっている。特に、ＣＰＵやメモリへの要求が高くなってきているが、コストの制約により、限られたリソースの中で機器を設計することになる。ユースケースによっては、リソースを使いきってしまい、ＭＭ機器のレスポンスが悪化するなどの性能劣化を起こすことがある。また、ＭＭ機器は車両に固定されて搭載されるため、ＭＭ機器のハードウェアを更新することは困難であるが、ＭＭ機器のソフトウェアの更新は容易である。ＭＭ機器のハードウェアを更新せずにＭＭ機器のソフトウェアを更新すると、ＭＭ機器のリソース不足が生じることもある。一方、ＭＭ機器には、携帯端末等の外部機器が通信可能に接続されることがある。外部機器では、状況によっては、リソースに余裕が有ることがある。しかし、携帯端末等の外部機器は、電池駆動していることが多く、使用の際には外部機器の電池残量に注意することが求められる。そこで、ＭＭ機器の負荷を、ＭＭ機器に接続される外部機器等に、外部機器等の電池残量を考慮しつつ、分散することで、ＭＭ機器の負荷を低減することが求められる。
【０００５】
本発明は、装置の負荷を、他の装置の電池残量を考慮しつつ他の装置に分散することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、以下の手段を採用する。
即ち、第１の態様は、
実行しようとする処理で、必要とするＣＰＵの処理量及び必要とするメモリの領域の情報を取得し、
電池、ＣＰＵ、メモリを有する２以上の他の情報処理装置から、前記他の情報処理装置の電池の残量、ＣＰＵの空き処理量、メモリの空き領域の情報を取得し、
前記必要とするＣＰＵの処理量、前記必要とするメモリの領域、前記電池の残量、前記ＣＰＵの空き処理量、前記メモリの空き領域に基づいて、前記処理を実行するための前記他の情報処理装置の前記ＣＰＵ及び前記メモリを決定する制御部を備える、
情報処理装置とする。
開示の態様は、プログラムが情報処理装置によって実行されることによって実現されて
もよい。即ち、開示の構成は、上記した態様における各手段が実行する処理を、情報処理装置に対して実行させるためのプログラム、或いは当該プログラムを記録したコンピュータ読み取り可能な記録媒体として特定することができる。また、開示の構成は、上記した各手段が実行する処理を情報処理装置が実行する方法をもって特定されてもよい。開示の構成は、上記した各手段が実行する処理を行う情報処理装置を含むシステムとして特定されてもよい。
【発明の効果】
【０００７】
本発明によれば、装置の負荷を、他の装置の電池残量を考慮しつつ他の装置に分散することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のシステムの構成例を示す図である。
【図２】図２は、実施形態におけるＭＭ機器の機能ブロックの例を示す図である。
【図３】図３は、実施形態における外部機器の機能ブロックの例を示す図である。
【図４】図４は、コンピュータのハードウェア構成例を示す図である。
【図５】図５は、実施形態のシステムの動作シーケンスの例（１／３）を示す図である。
【図６】図６は、実施形態のシステムの動作シーケンスの例（２／３）を示す図である。
【図７】図７は、実施形態のシステムの動作シーケンスの例（３／３）を示す図である。
【図８】図８は、ＭＭ機器の格納部に格納される外部機器のスペックの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１０】
〈実施形態〉
（構成例）
図１は、本実施形態のシステムの構成例を示す図である。図１のシステム１０は、ＭＭ機器１００、外部機器２００Ａ、外部機器２００Ｂを含む。ＭＭ機器１００は、外部機器２００Ａ及び外部機器２００Ｂに通信可能に接続されている。ＭＭ機器１００は、例えば、車両に搭載される車載装置等である。外部機器２００Ａ及び外部機器２００Ｂは、例えば、携帯端末、ＰＣ、サーバ等である。外部機器２００Ａ及び外部機器２００Ｂを区別しない時は、総称して、外部機器２００と呼ぶ。図１の例では、外部機器２００の数は、２つであるが、システム１０において、外部機器２００の数が１つであっても３つ以上であってもよい。ＭＭ機器１００、外部機器２００は、情報処理装置の例である。
【００１１】
ＭＭ機器１００は、例えば、カーナビゲーション機能、車両状態を表示する機能、車両のエアコンを調整する機能、オーディオ機能、音声通話を行う機能等を備える。ＭＭ機器１００は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮなどにより、通信可能に、外部機器２００に接続される。ＭＭ機器１００は、外部機器２００である携帯電話等を中継装置として利用して、音声通話等の機能を実現してもよい。ＭＭ機器１００のリソース（ＣＰＵやメモリ）が不足している場合、ＭＭ機器１００が一時的に外部機器２００のリソースを借りる（外部機器２００のリソースの提供を受ける、外部機器２００にＭＭ機器１００で実行しようとする処理をさせる）ことにより、ＭＭ機器１００側の負荷を低減させる。
【００１２】
外部機器２００は、携帯端末等の機器である。外部機器２００は、通信可能に、ＭＭ機器１００と接続される。各外部機器２００は、他の外部機器２００と通信可能に接続されてもよい。外部機器２００は、外部機器２００を駆動するための電源としての電池を含む。外部機器２００は、一時的にＡＣ電源等の外部電源に接続されて駆動するための電力供給を受けてもよい。
【００１３】
図２は、本実施形態におけるＭＭ機器の機能ブロックの例を示す図である。図２のＭＭ機器１００は、制御部１０２、通信部１０４、測定部１０６、格納部１０８を含む。
【００１４】
制御部１０２は、ＭＭ機器１００の制御、ＭＭ機器１００や外部機器２００のリソースの確認要求、使用する外部機器２００のＣＰＵ、メモリの選択等を行う。
【００１５】
通信部１０４は、外部機器２００等との間で、双方向に、情報の送受信を行う。
【００１６】
測定部１０６は、ＭＭ機器１００のリソース（ＣＰＵ、メモリ等）の使用状況等の測定を行う。
【００１７】
格納部１０８は、ＭＭ機器１００で使用されるデータや、外部機器２００から受信したデータ等を格納する。
【００１８】
図３は、本実施形態における外部機器の機能ブロックの例を示す図である。図３の外部機器２００は、制御部２０２、通信部２０４、測定部２０６、格納部２０８を含む。
【００１９】
制御部２０２は、外部機器２００の制御、外部機器２００のリソースの測定指示等を行う。
【００２０】
通信部２０４は、ＭＭ機器１００、他の外部機器２００等との間で、双方向に、データ（情報）の送受信を行う。
【００２１】
測定部２０６は、外部機器２００のリソース（ＣＰＵ、メモリ、電池等）の使用状況等の測定を行う。
【００２２】
格納部２０８は、外部機器２００で使用されるデータや、ＭＭ機器１００や他の外部機器２００から受信したデータ等を格納する。格納部２０８は、自装置（外部機器２００）を識別する識別情報を格納する。
【００２３】
ＭＭ機器１００は、スマートフォン、携帯電話、タブレット型端末、カーナビゲーション装置のような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。また、外部機器２００は、それぞれ、ＰＣ（Personal Computer）、ワークステーション（ＷＳ：Work Station）、スマートフォン、携帯電話、
タブレット型端末、カーナビゲーション装置、ＰＤＡ（Personal Digital Assistant）のような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。
【００２４】
図４は、コンピュータのハードウェア構成例を示す図である。図４に示すコンピュータ９０は、一般的なコンピュータの構成を有している。ＭＭ機器１００、外部機器２００は、図４に示すようなコンピュータ９０を用いることによって、実現される。図４のコンピュータ９０は、プロセッサ９１、メモリ９２、記憶部９３、入力部９４、出力部９５、通信制御部９６を有する。これらは、互いにバスによって接続される。メモリ９２及び記憶部９３は、コンピュータ読み取り可能な記録媒体である。コンピュータのハードウェア構
成は、図４に示される例に限らず、適宜構成要素の省略、置換、追加が行われてもよい。
【００２５】
コンピュータ９０は、プロセッサ９１が記録媒体に記憶されたプログラムをメモリ９２の作業領域にロードして実行し、プログラムの実行を通じて各構成部等が制御されることによって、所定の目的に合致した機能を実現することができる。
【００２６】
プロセッサ９１は、例えば、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）である。
【００２７】
メモリ９２は、例えば、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）を含む。メモリ９２は、主記憶装置とも呼ばれる。
【００２８】
記憶部９３は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、ハードディスク
ドライブ（ＨＤＤ、Hard Disk Drive）である。また、記憶部９３は、リムーバブルメデ
ィア、即ち可搬記録媒体を含むことができる。リムーバブルメディアは、例えば、ＵＳＢ（Universal Serial Bus）メモリ、あるいは、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）のようなディスク記録媒体である。記憶部９３は、二次記憶装置とも呼ばれる。
【００２９】
記憶部９３は、各種のプログラム、各種のデータ及び各種のテーブルを読み書き自在に記録媒体に格納する。記憶部９３には、オペレーティングシステム（Operating System :ＯＳ）、各種プログラム、各種テーブル等が格納される。記憶部９３に格納される情報は、メモリ９２に格納されてもよい。また、メモリ９２に格納される情報は、記憶部９３に格納されてもよい。
【００３０】
オペレーティングシステムは、ソフトウェアとハードウェアとの仲介、メモリ空間の管理、ファイル管理、プロセスやタスクの管理等を行うソフトウェアである。オペレーティングシステムは、通信インタフェースを含む。通信インタフェースは、通信制御部９６を介して接続される他の外部装置等とデータのやり取りを行うプログラムである。外部装置等には、例えば、他のコンピュータ、外部記憶装置等が含まれる。
【００３１】
入力部９４は、キーボード、ポインティングデバイス、ワイヤレスリモコン、タッチパネル等を含む。また、入力部９４は、カメラのような映像や画像の入力装置や、マイクロフォンのような音声の入力装置を含むことができる。
【００３２】
出力部９５は、ＬＣＤ（Liquid Crystal Display）、ＥＬ（Electroluminescence）パ
ネル、ＣＲＴ（Cathode Ray Tube）ディスプレイ、ＰＤＰ（Plasma Display Panel）等の表示装置、プリンタ等の出力装置を含む。また、出力部９５は、スピーカのような音声の出力装置を含むことができる。
【００３３】
通信制御部９６は、他の装置と接続し、コンピュータ９０と他の装置との間の通信を制御する。通信制御部９６は、例えば、ＬＡＮ（Local Area Network）インタフェースボード、無線通信のための無線通信回路、有線通信のための通信回路である。ＬＡＮインタフェースボードや無線通信回路は、インターネット等のネットワークに接続される。
【００３４】
ＭＭ機器１００、外部機器２００Ａ、外部機器２００Ｂを実現するコンピュータは、プロセッサが補助記憶装置に記憶されているプログラムを主記憶装置にロードして実行することによって、制御部１０２、通信部１０４、測定部１０６、制御部２０２、通信部２０４、測定部２０６としての機能を実現する。一方、格納部１０８、格納部２０８は、主記憶装置または補助記憶装置の記憶領域に設けられる。
【００３５】
（動作例）
図５、図６、図７は、本実施形態のシステムの動作シーケンスの例を示す図である。図５の「Ａ」「Ｂ」「Ｃ」は、それぞれ、図６の「Ａ」「Ｂ」「Ｃ」と接続する。図６の「Ｄ」「Ｅ」「Ｆ」は、それぞれ、図７の「Ｄ」「Ｅ」「Ｆ」と接続する。
【００３６】
図５等の動作シーケンスは、例えば、ＭＭ機器１００において、何らかの処理を実行しようとする（例えば、何らかのアプリケーションを起動しようとする）際に、開始される。ＭＭ機器１００の利用者からの入力操作によって、図５等の動作シーケンスが、開始されてもよい。ＭＭ機器１００及び各外部機器２００には、それぞれ、あらかじめ、本動作シーケンスを実行するためのプログラム等がインストールされているとする。
【００３７】
ＳＱ１０１では、ＭＭ機器１００の制御部１０２は、ＭＭ機器１００で実行しようとしている処理に必要とされるリソース（必要リソース）の情報を取得する。必要リソースの情報には、当該処理を実行するためのＣＰＵでの処理量（ＭＩＰＳ（Million Instructions Per Second）単位）、当該処理を実行するために使用するメモリ領域（Ｂｙｔｅ単位
）、当該処理を実行するために必要な通信速度（バス幅）（ｂｐｓ単位）が含まれる。必要な通信速度は、必要リソースを、外部機器２００に求める場合に、必要とされる最低の通信速度である。データのやり取りが多い処理の場合、通信速度が遅いと、ＣＰＵ、メモリの条件を満たしても、実行しようとする処理ができなくなる場合がある。必要リソースの情報は、例えば、実行する処理毎に、あらかじめ、格納部１０８に格納されている。また、格納部１０８には、あらかじめ、ＭＭ機器１００のスペックが格納されている。スペックは、ＭＭ機器１００のＣＰＵの最大性能（ＭＩＰＳ単位）、ＭＭ機器１００のメモリの領域（Ｂｙｔｅ単位）等である。制御部１０２は、実行しようとする処理に必要とされるリソースの情報を、格納部１０８から取得する。当該シーケンスでは、実行しようとしている処理を実行するためのリソースを提供する外部機器２００（ＣＰＵ、メモリ）を決定する。
【００３８】
ＳＱ１０２では、制御部１０２は、測定部１０６に、自装置（ＭＭ機器１００）のリソースの利用状況を測定させる。測定部１０６は、自装置のＣＰＵの使用状況（負荷）、メモリの使用領域を測定する。測定部１０６は、測定結果を、格納部１０８に格納する。
【００３９】
ＳＱ１０３では、制御部１０２は、格納部１０８から、ＭＭ機器１００のスペック、ＳＱ１０２での測定結果を取得する。制御部１０２は、ＭＭ機器１００のスペック、及び、ＣＰＵの使用状況、メモリの使用領域から、ＣＰＵの空き処理量、及び、メモリの空き領域を算出する。制御部１０２は、必要リソースと、ＣＰＵの空き処理量と、メモリの空き領域とを比較して、ＭＭ機器１００で実行しようとしている処理が、ＭＭ機器１００で実行可能か否かを判定する。制御部１０２は、ＣＰＵの空き処理量と、メモリの空き領域とが、必要リソースを満たしている場合、ＭＭ機器１００で実行しようとしている処理が、ＭＭ機器１００で実行可能であると判断する。実行可能である場合、制御部１０２は、ＭＭ機器１００のＣＰＵ、メモリを使用して、実行しようとしている処理を実行する。この場合、以後の処理は行われない。ＣＰＵの空き処理量、メモリの空き領域のうち少なくとも１つが必要リソースを満たしていない場合、次の処理に進む。
【００４０】
ＳＱ１０４では、ＭＭ機器１００の制御部１０２は、通信部１０４を介して、各外部機器２００に、スペック確認の要求を送信する。スペックは、それぞれの外部機器２００のＣＰＵの最大性能、メモリの領域（Ｂｙｔｅ単位）である。それぞれの外部機器２００の格納部２０８には、あらかじめ、自装置のスペックが格納されている。各外部機器２００の制御部２０２は、通信部２０４を介して、スペック確認の要求を受信する。各外部機器２００の制御部２０２は、格納部２０８に格納される自装置のスペックを取得する。
【００４１】
ＳＱ１０５では、各外部機器２００の制御部２０２は、通信部２０４を介して、格納部２０８から取得したスペックを、各外部機器２００を識別する識別情報とともに、ＭＭ機器１００に送信する。ＭＭ機器１００の制御部１０２は、通信部１０４を介して、外部機器２００からスペックを受信すると、外部機器２００の識別情報とともに、格納部１０８に格納する。
【００４２】
図８は、ＭＭ機器の格納部に格納される外部機器のスペックの例を示す図である。図８の例では、外部機器２００Ａ（外部機器Ａ）のＣＰＵの最大性能が１００００ＭＩＰＳ、メモリ領域が２ＧＢ、外部機器２００Ｂ（外部機器Ｂ）のＣＰＵの最大性能が２５００ＭＩＰＳ、メモリ領域が５１２ＭＢであることが示される。
【００４３】
制御部１０２は、ＳＱ１０５で受信したスペックが必要スペックを満たさない外部機器２００に対しては、以後の要求を送信しなくてもよい。必要スペックを満たさない外部機器２００では、実行しようとしている処理を実行できないからである。これにより、ＭＭ機器１００と外部機器２００との間の通信量を削減できる。
【００４４】
ＳＱ１０６では、ＭＭ機器１００の制御部１０２は、通信部１０４を介して、各外部機器２００に、電池残量確認の要求を送信する。電池残量は、各外部機器２００を駆動するための電源としての電池の残り容量である。電池残量が小さいことは、リソースの提供が困難であることを示す。外部機器２００が、電池ではなくＡＣ電源等を利用している場合は、電池残量を１００％としてもよい。
【００４５】
各外部機器２００の制御部２０２は、通信部２０４を介して、電池残量確認の要求を受信する。各外部機器２００の制御部２０２は、測定部２０６に、自装置の電池残量を測定させる。電池残量は、満充電に対する残り容量の割合であっても、残り容量の絶対量（Ａｈ単位）であってもよい。測定部２０６は、自装置の電池残量を測定する。測定部２０６は、測定した電池残量を、格納部２０８に格納する。
【００４６】
ＳＱ１０７では、各外部機器２００の制御部２０２は、通信部２０４を介して、測定部２０６で測定した電池残量を、各外部機器２００を識別する識別情報とともに、ＭＭ機器１００に送信する。ＭＭ機器１００の制御部１０２は、通信部１０４を介して、外部機器２００から電池残量を受信すると、外部機器２００の識別情報とともに、格納部１０８に格納する。
【００４７】
制御部１０２は、ＳＱ１０７で受信した電池残量が所定値未満である外部機器２００に対しては、以後の要求を送信しなくてもよい。電池残量が所定値未満の外部機器２００では、実行しようとしている処理の実行中に処理が電力不足で止まるおそれがあるからである。ここでの所定値は、外部機器２００の利用者等によってあらかじめ設定され、当該動作シーケンスの実行時に、外部機器２００からＭＭ機器１００に通知されるようにしてもよい。外部機器２００でリソースの提供を望まない場合には、ここでの所定値を、電池残量の最大値にしておいてもよい。
【００４８】
図６に移って、ＳＱ１０８では、ＭＭ機器１００の制御部１０２は、通信部１０４を介して、各外部機器２００に、リソース空き状況確認の要求を送信する。リソースの空き状況は、各外部機器２００のＣＰＵの空き処理量、及び、メモリの空き領域である。ＣＰＵの空き処理量は、ＣＰＵの最大性能からＣＰＵの使用処理量（ＣＰＵの負荷）を引いたものである。メモリの空き領域は、メモリの領域からメモリの使用領域を引いたものである。
【００４９】
各外部機器２００の制御部２０２は、通信部２０４を介して、リソース空き状況確認の要求を受信する。各外部機器２００の制御部２０２は、測定部２０６に、自装置のリソース空き状況確認を測定させる。測定部２０６は、自装置のリソース空き状況（ＣＰＵの空き処理量、及び、メモリの空き領域）を測定する。測定部２０６は、測定したリソース空き状況を、格納部２０８に格納する。
【００５０】
ＳＱ１０９では、各外部機器２００の制御部２０２は、通信部２０４を介して、測定部２０６で測定したリソースの空き状況を、各外部機器２００を識別する識別情報とともに、ＭＭ機器１００に送信する。ＭＭ機器１００の制御部１０２は、通信部１０４を介して、外部機器２００からリソースの空き状況を受信すると、外部機器２００の識別情報とともに、格納部１０８に格納する。
【００５１】
制御部１０２は、ＳＱ１０９で受信したリソース空き状況（ＣＰＵ、メモリの両方）が必要スペックを満たさない外部機器２００に対しては、以後の要求を送信しなくてもよい。リソース空き状況が必要スペックを満たさない外部機器２００では、実行しようとしている処理を実行できないからである。
【００５２】
ＳＱ１１０では、ＭＭ機器１００の制御部１０２は、通信部１０４を介して、各外部機器２００に、最大負荷率確認の要求を送信する。最大負荷率は、直近の所定期間（例えば、直近１分間）において、リソースが最も多く利用されていた時の負荷率である。例えば、最大性能１００００ＭＩＰＳのＣＰＵにおいて、直近の所定期間で最大４０００ＭＩＰＳが使用されていた場合、直近の所定期間の最大負荷率は４０％である。また、容量２ＧＢのメモリにおいて、直近の所定期間で最大１．２ＧＢが使用されていた場合、直近の所定期間の最大負荷率は６０％である。
【００５３】
各外部機器２００の制御部２０２は、通信部２０４を介して、最大負荷率確認の要求を受信する。各外部機器２００の制御部２０２は、測定部２０６に、自装置の最大負荷率を求めさせる。測定部２０６は、直近の所定期間の自装置の最大負荷率（ＣＰＵ、及び、メモリ）を求める。測定部２０６は、求めた最大負荷率を、格納部２０８に格納する。各外部機器２００の測定部２０６は、当該動作シーケンスが開始された時から、常時、リソースの空き状況を測定し、格納部２０８にしていてもよい。このとき、測定部２０６は、格納部２０８から直近の所定期間のリソース空き状況を抽出し、最小のＣＰＵの空き処理量、及び、最小のメモリの空き領域から、直近の所定期間の自装置の最大負荷率を求めてもよい。
【００５４】
ＳＱ１１１では、各外部機器２００の制御部２０２は、通信部２０４を介して、測定部２０６で測定した最大負荷率を、各外部機器２００を識別する識別情報とともに、ＭＭ機器１００に送信する。ＭＭ機器１００の制御部１０２は、通信部１０４を介して、外部機器２００から最大負荷率を受信すると、外部機器２００の識別情報とともに、格納部１０８に格納する。
【００５５】
制御部１０２は、ＳＱ１１１で受信した直近の所定期間の最大負荷率から求められる直近の所定期間の最小の空きリソースが必要スペックを満たさない外部機器２００に対しては、以後の要求を送信しなくてもよい。最小の空きリソースが必要スペックを満たさない外部機器２００では、リソース不足で実行しようとしている処理を実行できないおそれがあるからである。Ｓ１０９のリソース空き状況では、必要スペックを満たしていても、直近の所定期間で必要スペックを満たさない場合には、外部機器２００における負荷の変動が大きいことが予想され、リソースの提供には適さないと考えられる。ここでは、リソースの提供に適さない外部機器２００は、リソースを提供する外部機器２００の候補から除外されることになる。
【００５６】
ＳＱ１１２では、ＭＭ機器１００の制御部１０２は、通信部１０４を介して、各外部機器２００に、通信速度確認の要求を送信する。通信速度は、外部機器２００とＭＭ機器１００との間の通信速度（バス幅）である。各外部機器２００の制御部２０２は、通信部２０４を介して、通信速度確認の要求を受信する。各外部機器２００の制御部２０２は、ＭＭ機器１００との間の通信速度を調査する。
【００５７】
ＳＱ１１３では、各外部機器２００の制御部２０２は、通信部２０４を介して、調査した通信速度を、各外部機器２００を識別する識別情報とともに、ＭＭ機器１００に送信する。ＭＭ機器１００の制御部１０２は、通信部１０４を介して、外部機器２００から通信速度を受信すると、外部機器２００の識別情報とともに、格納部１０８に格納する。
【００５８】
図７に移って、ＳＱ１１４では、ＭＭ機器１００の制御部１０２は、リソース提供を要求する外部機器２００のＣＰＵ及びメモリを選択する。制御部１０２は、各外部機器２００のスペック、電池残量、リソース空き状況、最大負荷率、通信速度、必要スペックに基づいて、リソース提供を要求する外部機器２００のＣＰＵ及びメモリを選択する。ＣＰＵ、メモリは、別個の外部機器２００から選択されてもよい。制御部１０２は、スペックが必要スペックを満たし、電池残量が所定値以上であり、リソースの空き状況が必要スペックを満たし、直近の所定期間のリソースの空き状況が必要スペックを満たし、通信速度が必要スペックを満たすＣＰＵ、メモリの候補から、リソース提供を要求するＣＰＵ、メモリを選択する。候補が複数存在する場合には、より高いスペックのＣＰＵ、メモリが選択される。より高いスペックのＣＰＵ、メモリが選択されることで、リソースの提供による、選択された外部機器２００における処理に影響を与えにくくなる。また、候補が１つも存在しない場合には、実行しようとする処理が実行できないことになる。
【００５９】
ＳＱ１１５では、ＭＭ機器１００の制御部１０２は、ＳＱ１１４で選択したＣＰＵを有する外部機器２００、メモリを有する外部機器２００に対して、実行しようとする処理を実行するために必要なデータ等を、通信部１０４を介して、送信する。選択された外部機器２００の制御部２０２は、通信部２０４を介して、必要なデータを受信すると、選択されたＣＰＵ、メモリを使用して、実行しようとする処理を実行し、必要に応じて、ＭＭ機器１００にデータを送信する。これにより、ＭＭ機器１００は、実行しようとする処理を実行するためのリソース（必要リソース）を、外部機器２００のＣＰＵ、メモリによって、提供される。
【００６０】
また、所定時間経過後、ＭＭ機器１００の制御部１０２は、ＳＱ１０６以降の動作シーケンスを繰り返す。これにより、電池残量が所定値未満になった外部機器２００を、リソースを提供の候補から除外することができる。さらに、外部機器２００のリソースの空き状況の時間変化にも対応することができる。このとき、外部機器２００の測定部２０６は、ＭＭ機器１００に提供されているリソースを、空きリソースとして測定してもよい。また、所定時間毎に、制御部１０２は、ＳＱ１０６、ＳＱ１０７、ＳＱ１１４、ＳＱ１１５の動作シーケンスを繰り返してもよい。これにより、電池残量のみに注目して、電池残量が所定値未満になった外部機器２００を、リソースを提供の候補から除外して、他の外部機器２００からリソースの提供を受けることができる。
【００６１】
上記の動作シーケンスでは、必要に応じて、適宜、順序を入れ替えることができる。
【００６２】
ＭＭ機器１００及び各外部機器２００には、それぞれ、上記の動作シーケンスを実行するためのプログラムがインストールされる。外部機器２００Ａに、ＭＭ機器１００にインストールされるプログラムがインストールされ、ＭＭ機器１００及び外部機器２００Ｂに、外部機器２００にインストールされるプログラムがインストールされてもよい。このと
き、外部機器２００Ａは、ＭＭ機器１００や外部機器２００Ｂのリソースを借りることができる。また、ＭＭ機器１００にインストールされるプログラムと、外部機器２００にインストールされるプログラムとが一体化した１つのプログラムが、ＭＭ機器１００及び各外部機器２００にインストールされてもよい。このとき、それぞれの機器は、状況に応じて、他の機器からリソースを借りることも、他の機器にリソースを貸すこともできる。
【００６３】
（実施形態の作用、効果）
本実施形態のシステム１０によれば、ＭＭ機器１００は、変動する外部機器２００のＣＰＵやメモリの状況に応じて、提供可能な外部機器２００から、必要なだけリソースの提供を受けることができる。
【００６４】
ＭＭ機器１００は、接続される外部機器２００のリソースであるＣＰＵ及びメモリについて空き状況を調査し、実行しようとする処理のためのリソースの提供を受けるＣＰＵ、メモリを決定する。
【００６５】
グラフィックやアプリケーション、ネットワーク等の進化により、ＭＭ機器に要求される性能が年々高くなっている。特に、ＣＰＵやメモリへの要求が高くなってきているが、コストの制約により、限られたリソースの中で機器を設計することになる。ユースケースによっては、リソースを使いきってしまい、ＭＭ機器のレスポンスが悪化するなどの性能劣化を起こすことがある。また、ＭＭ機器は車両に固定されて搭載されるため、ＭＭ機器のハードウェアを更新することは困難であるが、ＭＭ機器のソフトウェアの更新は容易である。
【００６６】
システム１０によれば、ＭＭ機器１００のハードウェアが更新されずにＭＭ機器１００のソフトウェアが更新された場合に、ＭＭ機器１００のリソース不足が生じても、外部機器２００からリソースの提供を受けることにより、ＭＭ機器１００のリソース不足を補う（ＭＭ機器１００の負荷を低減する）ことができる。また、ＭＭ機器１００は、外部機器２００の電池残量を調査することにより、外部機器２００の電池残量を考慮しつつ、リソースの提供を受けることができる。
【００６７】
以上、本発明の実施形態を説明したが、これらは例示にすぎず、本発明はこれらに限定されるものではなく、特許請求の範囲の趣旨を逸脱しない限りにおいて、当業者の知識に基づく種々の変更が可能である。また、各構成例等は、可能な限りにおいて、組み合わされて実施され得る。
【００６８】
〈コンピュータ読み取り可能な記録媒体〉
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００６９】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体内には、ＣＰＵ、メモリ等のコンピュータを構成する要素を設け、そのＣＰＵにプログラムを実行させてもよい。
【００７０】
また、このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ＤＡＴ、８mmテープ、メモリカード等がある。
【００７１】
また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【符号の説明】
【００７２】
１０          システム
１００          ＭＭ機器
１０１            制御部
１０２            通信部
１０３            測定部
１０４            格納部
２００          外部機器
２０１            制御部
２０２            通信部
２０３            測定部
２０４            格納部
９０          コンピュータ
９１            プロセッサ
９２            メモリ
９３            記憶部
９４            入力部
９５            出力部
９６            通信制御部
【図１】
2018055615.tif 000003
【図２】
2018055615.tif 000004
【図３】
2018055615.tif 000005
【図４】
2018055615.tif 000006
【図５】
2018055615.tif 000007
【図６】
2018055615.tif 000008
【図７】
2018055615.tif 000009
【図８】
2018055615.tif 000010