(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008306
(43)【公開日】2024-01-19
(54)【発明の名称】通信装置、アプリケーションプログラム提供装置、情報処理システムおよびインストール方法
(51)【国際特許分類】
G06F 8/61 20180101AFI20240112BHJP
【FI】
G06F8/61
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022110066
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大築 ともえ
(72)【発明者】
【氏名】奥原 誠
(72)【発明者】
【氏名】坂口 友理
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AD22
(57)【要約】
【課題】アプリケーションプログラムを適切にインストールすること。
【解決手段】実施形態に係る通信装置は、複数のノードを接続可能な通信装置であって、接続されたノードから得られるデータを利用して接続されたノードの制御を行うアプリケーションプログラムを記憶する記憶部と、記憶部に記憶されたアプリケーションプログラムを実行するコントローラと、を有する通信装置において、コントローラは、アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況に基づいて、記憶部に記憶するアプリケーションプログラムを決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のノードを接続可能な通信装置であって、
接続されたノードから得られるデータを利用して接続されたノードの制御を行うアプリケーションプログラムを記憶する記憶部と、
前記記憶部に記憶されたアプリケーションプログラムを実行するコントローラと、を有する通信装置において、
前記コントローラは、
アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況に基づいて、前記記憶部に記憶するアプリケーションプログラムを決定する、
通信装置。
【請求項2】
前記アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況は、
前記ノードが有するセンサの測定値が前記適用範囲を逸脱する値である状態である、
請求項1に記載の通信装置。
【請求項3】
前記アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況は、
前記ノードが有するセンサの測定範囲特性が前記適用範囲を逸脱する特性である状態である、
請求項1に記載の通信装置。
【請求項4】
前記アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況は、
前記アプリケーションプログラムによる制御が適切な制御となるアプリケーションプログラムの使用推奨条件をアプリケーションプログラム実行に関わる周囲環境が逸脱する状態である、
請求項1に記載の通信装置。
【請求項5】
前記コントローラは、
接続された複数のノードから得られるデータを、接続された複数のノードが使用できるデータに変換し、または前記記憶部に記憶されたアプリケーションプログラムが使用できるデータに変換し、
変換したデータを、前記記憶部に記憶する、
請求項1に記載の通信装置。
【請求項6】
前記コントローラは、
前記記憶部にインストールされているアプリケーションプログラムに設定された適用範囲を逸脱する状態が発生した場合に、逸脱状態にある適用範囲のアプリケーションプログラムを前記記憶部から削除する、
請求項1~4のいずれか一つに記載の通信装置。
【請求項7】
前記コントローラは、
前記記憶部にインストールされているアプリケーションプログラムに設定された適用範囲を逸脱する状態が発生した場合に、当該アプリケーションプログラムを代替する適用範囲を逸脱しないアプリケーションプログラムを前記記憶部に記憶する、
請求項6に記載の通信装置。
【請求項8】
前記コントローラは、
接続されたノードに関するノード情報を外部のアプリケーションプログラム提供装置に送信し、
送信されたノード情報送信に対して前記アプリケーションプログラム提供装置から送信されるアプリケーションプログラムを受信し、前記記憶部に受信したアプリケーションプログラムを登録する、
請求項1~4のいずれか一つに記載の通信装置。
【請求項9】
前記コントローラは、
前記ノードから得られるデータに基づく前記記憶部に記憶されたデータが予め定める所定期間更新されなかった場合に、当該データを利用するアプリケーションプログラムを前記記憶部から削除する、
請求項1~4のいずれか一つに記載の通信装置。
【請求項10】
前記コントローラは、
記憶部に記憶されているプリケーションプログラムの実行に基づき前記記憶部に記憶されたデータが予め定める所定期間使用されなかった場合に、当該アプリケーションプログラムを前記記憶部から削除する、
請求項1~4のいずれか一つに記載の通信装置。
【請求項11】
複数のノードが接続された通信装置にアプリケーションプログラムを提供するアプリケーションプログラム提供装置であって、
ノードの組み合わせ状態と提供に適したアプリを関連付けたデータベースと、アプリケーションプログラムの提供処理を実行する提供装置コントローラと、を有し、
前記提供装置コントローラは、通信装置から送信された当該通信装置に接続されたノードに関する情報に基づき前記データベースの照合処理を行なって通信装置に提供するアプリケーションを決定し、
提供を決定したアプリケーションを該当の通信装置に送信する、
アプリケーションプログラム提供装置。
【請求項12】
複数のノードを接続可能な通信装置と、前記通信装置にアプリケーションプログラムを提供するアプリケーションプログラム提供装置とを含む情報処理システムであって、
前記通信装置は、
接続されたノードから得られるデータを利用して接続されたノードの制御を行うアプリケーションプログラムを記憶する記憶部と、
前記記憶部に記憶されたデータを用いて前記記憶部に記憶されたアプリケーションプログラムを実行するコントローラと、を有し、
前記コントローラは、
アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況に基づいて前記記憶部に記憶するアプリケーションプログラムを決定し、
前記アプリケーションプログラム提供装置は、
ノードの組み合わせ状態と提供に適したアプリを関連付けたデータベースと、アプリケーションプログラムの提供処理を実行する提供装置コントローラと、を有し、
前記提供装置コントローラは、
通信装置から送信された当該通信装置に接続されたノードに関する情報に基づき前記データベースの照合処理を行なって通信装置に提供するアプリケーションを決定し、
提供を決定したアプリケーションを該当の通信装置に送信する、
情報処理システム。
【請求項13】
複数のノードを接続可能な通信装置において、接続されたノードから得られるデータを利用して接続されたノードの制御を行うアプリケーションプログラムのインストールを行うインストール方法であって、
通信装置に接続されたノード種別の組み合わせ状況と、
アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況に基づいて、
インストールするアプリケーションプログラムを決定する、
インストール方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、アプリケーションプログラム提供装置、情報処理システムおよびインストール方法に関する。
【背景技術】
【0002】
従来、スマートフォン等のデバイスにおいて、接続される機器に応じてアプリケーションを選択して、インストールを行う技術が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、適切なアプリケーションプログラムをインストールするうえで、改善の余地があった。例えば、従来技術では、接続される機器に対応するアプリケーションプログラムが多い場合には、インストールするアプリケーションプログラムの選択が困難になる、あるいは、不適切なアプリケーションプログラムがインストールされる恐れがある。
【0005】
本発明は、上記に鑑みてなされたものであって、アプリケーションプログラムを適切にインストールすることができる通信装置、アプリケーションプログラム提供装置、情報処理システムおよびインストール方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明に係る通信装置は、複数のノードを接続可能な通信装置であって、接続されたノードから得られるデータを利用して接続されたノードの制御を行うアプリケーションプログラムを記憶する記憶部と、前記記憶部に記憶されたアプリケーションプログラムを実行するコントローラと、を有する通信装置において、前記コントローラは、アプリケーションプログラムに設定された適用範囲を逸脱する状態の発生状況に基づいて、前記記憶部に記憶するアプリケーションプログラムを決定する。
【発明の効果】
【0007】
本発明によれば、アプリケーションプログラムを適切にインストールすることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、情報処理システムの概要を示す図である。
【
図2】
図2は、情報処理システムのブロック図である。
【
図3】
図3は、外部装置が有するアプリデータベースの一例を示す図である。
【
図4】
図4は、外部装置が有するアプリデータベースに記憶されたデータの一例を示す図である。
【
図5】
図5は、通信装置が有する使用状況テーブルの一例を示す図である。
【
図6】
図6は、決定部による処理の一例を示す図である。
【
図7】
図7は、出力TOPICに関するデータ生成を説明する図である。
【
図8】
図8は、実施形態に係るインストール処理を説明するフローチャートである。
【
図9】
図9は、実施形態に係るアプリ入れ替え処理を説明するフローチャートである。
【
図10】
図10は、外部装置の行う選択処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本願の開示する通信装置、アプリケーションプログラム提供装置、情報処理システムおよびインストール方法の実施形態を詳細に説明する。なお、以下に示す実施形態により本発明が限定されるものではない。
【0010】
まず、
図1を用いて、実施形態に係る提供装置、提供システムおよび提供方法の概要について説明する。
図1は、情報処理システムおよびインストール方法の概要について説明する。
図1は、情報処理システムの概要を示す図である。
【0011】
図1に示すように、実施形態に係る情報処理システム100は、通信装置1と、外部装置20とを有する。外部装置20は、例えば、サーバ装置で構成され、アプリケーションプログラム(以下、アプリと記載)を通信装置1に対して提供するアプリケーションプログラム提供装置としても動作する。
【0012】
通信装置1は、例えば、車両に搭載される。なお、通信装置1は、車両に搭載される装置に限定されることはなく、事務所や家庭、あるいは航空機、船舶等の各種移動体への設置も有効である。通信装置1は、例えば、Publish/Subscribe方式によって、データをノード10に配信する。通信装置1は、例えば、MQTT(Message Queuing Telemetry Transport)を用いて、データをノード10に配信する。通信装置1は、Brokerとして機能する。
【0013】
実施形態に係るノード10は、車両に搭載されて通信装置1に有線あるいは無線接続される各種装置を含む。ノード10は、搭乗者により車両に持ち込まれて、あるいは近接状態にされて通信装置1に有線あるいは無線接続される各種装置を含む。また、ノード10は、車両製造時に組み込まれる各種装置を含む。ノード10は、車両製造後、および販売後にユーザ等により新たに追加設置される装置を含む。車両の構造により各ノード10の規模は異なるが、例えば車両製造時に組み込まれる各種装置(ノード10)としては、エンジン制御装置、操舵装置、制動装置、およびエアコン装置等がある。また、ユーザ等により新たに追加設置される装置(ノード10)としては、例えばナビゲーション装置、ドライブレコーダ装置、およびオーディオ・ビジュアル装置等がある。また、搭乗者により車両に持ち込まれる(あるいは近接状態にされる)装置(ノード10)としては、スマートフォン、携帯電話、スマートウォッチ、ゲーム機(通信機能付き)、デスクトップ型PC、ノート型PC、およびタブレット型PC等がある。なお、車両製造時に組み込まれる各種装置例、追加設置される装置例、車両に持ち込まれる装置例に分類したが、例示した装置は当該分類に限られるものではなく、他の分類に属するものである場合もある。例えば、ナビゲーション装置は車両製造時に組み込まれる場合もある。
【0014】
さらに、他の車両の各種装置、および信号機などのインフラ機器等も、通信装置1との通信が可能な範囲においては、ノード10となり得る。
【0015】
このため、各ノード10におけるデータのフォーマットなどが異なっていることがあり、フォーマットなどが異なる状態では、データの有効活用が図れないこととなる。
【0016】
ノード10は、当該ノード10の基本機能を実現するために必要な各種センサを含む。例えば、ノード10は、車速センサ、バイタルセンサ、車室の温度を検出する温度センサ、および車室のCO2濃度を検出するCO2センサなどである。バイタルセンサは生体情報を取得するセンサで、例えば、脳波を検出する脳波センサ、および脈拍を検出する脈拍センサ等である。
【0017】
なお、センサが通信機能を持つ場合(センサ素子と通信素子とからなるセンサ装置等)は、当該センサ(装置)もノード10として適用可能である。
【0018】
ノード10は、ECU(Electronic Control Unit)を含む。ECUは、当該ECUが搭載されたノード10(装置)の動作を制御する。ECUは、例えば、パワートレインECU、運転支援系ECU、マルチメディア系ECU、エアコンECUである。
【0019】
実施形態に係る通信装置1は、記憶部3と、制御部4とを有する。記憶部3は、
図1に示すように、掲示板3Aと、コンテナ部3Bとを有する。制御部4は、各ノード10からデータを取得すると(ステップS1)、取得元以外のノード10(当該データを必要とするノード)によっても使用できる形態のデータに変換し、記憶部3の掲示板3Aに記憶する。なお、掲示板3Aの具体例については、
図3を用いて後述する。
【0020】
掲示板3Aに記憶されたデータは、ノード10に提供される(ステップS2)。これにより、実施形態に係る通信装置1は、或るノード10のセンサ等によって取得されるデータを他のノード10が活用できるようにすることで、当該ノード10による動作・機能を高度化する。その結果、ユーザの利便性が向上される。例えば、通信装置1は、スマートウォッチ(ノード10の一例)の計測しているユーザの体温データを取得し、車両エアコン装置が利用可能なデータ様式で掲示板3Aに記憶する。そして、車両エアコン装置は掲示板3Aからユーザの体温データを読み込み、車両エアコン装置のセンサが計測した車室温データと、読み込んだユーザの体温データに基づきユーザの状態を考慮した車両エアコン制御を行うと言った、より快適な車内空間を実現する高度な制御が可能となる。
【0021】
また、記憶部3のコンテナ部3Bは、アプリケーションプログラム(以下、単にアプリと記載)をアプリ毎に記憶する複数のコンテナ3Cを有する。つまり、コンテナ3Cそれぞれには、1つのアプリが記憶される。コンテナ3Cに記憶されるアプリは、例えば、各ノード10を制御するためのアプリで、一例として、車室温とユーザ(車両搭乗者)の体温に基づき推定される車室内の最適温度にエアコン(ノード10)を制御するアプリが挙げられる。
【0022】
ところで、このようにアプリをインストールするにあたり、コンテナ3Cの数には限りがある。また、インストールするアプリを選定する方法として、例えば接続されたノード10のセンサの種別に応じてアプリを選定する方法が考えられる。しかしながら、センサの種別によっては、例えば温度センサ等のよく利用されるパラメータを測定するセンサの場合には、当該センサを使用するアプリが大量にヒットしてしまう場合があり、数に限りのあるコンテナ3Cにインストールするアプリの選定が困難になる。また、このような場合においては、実際には利用されないアプリをインストールするおそれもあり、コンテナ3Cの有効活用が図れない場合がある。
【0023】
そこで、実施形態に係る情報処理システム100では、ノード10のセンサの種別に加え、センサの測定信号の特性も各アプリの選定条件とすることとした。例えば、
図1に示すように、インストールするアプリの選定に際し、通信装置1は、各ノード10のセンサから得られるデータの種別に関する情報、各ノード10のセンサから得られるデータの履歴に関する情報を外部装置20へ送信する。
【0024】
外部装置20は、通信装置1から受け取ったこれらの情報に基づき、アプリを選択する。具体的には、
図2に示すように、外部装置20は、各アプリの実行において必要なデータのデータ種別、データの適用範囲等の特性に関するデータを記憶するデータベース21を有している。そして、外部装置20は、通信装置1に接続された各ノード10のセンサから得られるデータにおけるデータ種別とデータの特性、例えばデータの上下限値(適用範囲に相当)との双方が、実行時に使用するデータとして適合するアプリをデータベース21のデータに基づき選択する。
【0025】
例えば、
図1に示す(データベース21のデータ)例において、外部装置20は、通信装置1から受け取った各ノード10のセンサから得られるデータにおけるデータ種別が「体温、心拍、血圧」であり、体温の測定履歴が37℃以上であった場合に、データベース21におけるデータ種別が「体温、心拍、血圧」を含み、データの適用範囲が「37℃以上」である、アプリ名「病気名チェック」のアプリを選択する。
【0026】
外部装置20は、アプリの選択を終えると、選択したアプリに関するアプリ情報(ここではアプリのプログラムを含む)を通信装置1へ送信する(ステップS5)。通信装置1は、外部装置20からアプリ情報を受け取ると、ユーザの許可を経て、コンテナ3Cにアプリ(プログラム)をインストールする(ステップS6)。
【0027】
このように、実施形態に係る情報処理システム100は、接続された各ノード10のセンサ等から得られるデータにおけるデータ種別に加えて、さらに、当該データの変動範囲(センサから得られるデータ特性)に応じて、通信装置1にインストールするアプリを決定する。換言すれば、情報処理システム100では、センサ等から得られるデータにおけるデータ種別のデータを使用するものの、センサ等から得られるデータにおける特性(変動範囲)がその適用範囲から外れてしまうアプリをインストール対象から除外する。
【0028】
したがって、実施形態に係る情報処理システム100によれば、アプリケーションプログラムを適切にインストールすることができる。
【0029】
次に、
図2を用いて、実施形態に係る情報処理システム100の構成例について説明する。
図2は、実施形態に係る情報処理システム100のブロック図である。情報処理システム100は、通信装置1と、外部装置20とを備える。
【0030】
外部装置20は、例えば、サーバ装置で実現される。そして、外部装置20は、アプリケーションプログラムを提供するアプリケーションプログラム提供装置として動作する。外部装置20は、データベース21と、提供制御部22とを備える。データベース21は、ノード10の種別毎に当該ノード10が有する各種センサの保有情報が記憶されたノードデータベース211を含む。このノードデータベース211は、ノード10の種別データに基づき当該ノードが持つセンサ種別を抽出する際に用いられる。
【0031】
また、データベース21は、各種センサ毎に当該センサに関する各種情報(例えば、センサの出力データ種別(TOPIC(データ項目情報))やデータフォーマット、測定単位、測定間隔等)が記憶されたセンサデータベース212を含む。このセンサデータベースは、センサ種別データに基づき当該センサの情報(例えば、センサの出力データ種別やデータフォーマット、測定単位、測定間隔等)を抽出する際に用いられる。
【0032】
また、データベース21は、必要TOPIC、出力TOPIC、出力ノードおよび適用範囲のデータが、アプリ毎に記憶されたアプリデータベース213を含む。必要TOPICは、アプリを実行するために必要なデータに対するTOPICである。出力TOPICは、アプリによって生成されるデータに対するTOPICである。出力ノードは、出力TOPICのデータの出力先となるノード10であって、当該出力ノードは出力TOPICのデータを用いた動作(処理)を行う。1つのノード10に対して、複数のTOPICが設定されてもよい。また、適用範囲は、必要TOPICのデータ(数値)に対してアプリが処理に使用できるデータの範囲を示す情報である。
【0033】
なお、これらのデータは、例えば、外部装置20の管理者等が、各種ノ-ド10や各種センサ、また各種アプリに関する情報を収集し、データベース21に記憶する形式に加工して、データベース21に記憶することになる。
【0034】
図3は、外部装置20が有するアプリデータベース213の一例を示す図である。アプリデータベース213は、各アプリに対応する必要TOPIC、出力TOPIC、出力ノードおよび適用範囲のデータがアプリ毎に記憶されたデータベースである。
図3に示したアプリデータベース213のデータ例では、アプリ「AA」における必要TOPICは、「室温」、「心拍数」、および「脈拍数」である。アプリ「AA」における出力TOPICは、「最適温度」である。また、アプリ「AA」における出力ノードは「エアコンECU」である。つまり、アプリ「AA」は、「室温」、「心拍数」、および「脈拍数」のデータに基づいて、「エアコンECU」用の「最適温度」データを生成するアプリとなる。そして、アプリ「AA」における適用範囲は、「室温20℃以上」である。アプリ「AA」は、必要TOPICである「室温」の値(センサの測定値)が20℃以上である場合に正常に動作することを示す。
【0035】
また、出力ノードは、複数のノード10であってもよい。つまり、アプリが複数種のノード10を制御するものであれば、アプリデータベース213の出力ノードには2種のノードが記憶され、出力TOPICには各出力ノードに対する出力データ種別が記憶される。
【0036】
また、同じ組み合わせの必要TOPICに対して、異なる出力TOPIC、および異なる出力ノードが紐付けられた複数のアプリがアプリデータベース213に記憶されてもよい。
【0037】
提供制御部22は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、ハードディスクドライブ、入出力ポートなどを有するコンピュータや各種の回路を含む。提供制御部22は、複数のコンピュータが並列処理を行なうように構成されていてもよい。
【0038】
コンピュータのCPUは、例えば、ROM等の記憶デバイスに記憶されたプログラムを読み出して実行することによって、提供制御部22として機能する。提供制御部22の一部、または全部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
【0039】
提供制御部22は、通信装置1から提供された通信装置1に接続された複数のノード10に関するノード情報に基づき通信装置1に提供するアプリの候補(以降、提供候補アプリと称する)を選択する。つまり、原理的には、通信装置1に接続された複数のノード10の組み合わせ状態に応じて通信装置1に提供する提供候補アプリを選択する。このアプリ選択処理のために、ノード10の組み合わせ状態と提供に適したアプリを関連付けたデータベースがデータベース21に構築されている(本例では、上述の複数のデータベースで構築)。
【0040】
具体的には、提供制御部22は、通信装置1に接続された複数のノード10のノード種別データを用いてノードデータベース211を検索し、通信装置1が計測データを取得可能なセンサ種別、つまり通信装置1と接続状態にあるセンサ種別を抽出する。
【0041】
次に提供制御部22は、この抽出されたセンサ種別データを用いてセンサデータベース212を検索し、通信装置1に接続状態にある各センサの情報(例えば、センサの出力データ種別やデータフォーマット、測定単位、測定間隔等)を抽出する。
【0042】
そして提供制御部22は、通信装置1に接続された複数のノード10のノード種別データと、通信装置1が取得可能な計測データ(接続状態にあるセンサの出力データ種別)を用いてアプリデータベース213を検索し、提供候補アプリを決定する。具体的には、提供制御部22は、「出力ノード」のデータが「通信装置1に接続された複数のノード10のノード種別」の少なくとも1つを含み(例えば、
図3のエアコンECU)、「必要TOPIC」のデータが接続状態にあるセンサの出力データ種別に対応する(例えば、
図3の室温、心拍数、脈拍数)アプリを抽出し、提供候補アプリ(例えば、
図3のアプリAA)を決定する。
【0043】
そして、提供制御部22は、各アプリに設定された適用範囲に基づいて上述の提供候補アプリから通信装置1に提供するアプリを選択する。この場合、提供制御部22は、通信装置1から通信装置1におけるアプリの適用範囲に対する比較情報を取得し、当該比較情報とアプリに設定された適用範囲(アプリデータベース213の「適用範囲」のデータ)との一致状況判断に基づき、提供候補アプリからアプリを選択する。つまり、提供制御部22は、通信装置1の接続された複数のノード10の持つセンサ種別と、通信装置1におけるアプリの適用範囲に対する比較情報に基づき、通信装置1に提供するアプリを選択する。
【0044】
なお、アプリの適用範囲に対する比較情報としては、通信装置1の接続された複数のノード10の持つセンサにおける計測値範囲が有用な情報である。センサにおける計測値範囲のデータは、センサ種別毎の計測値範囲が記憶されたデータベース(本例ではセンサデータベース212)を利用して取得することが可能である。また、ノード10の持つセンサの計測値のデータ履歴に基づいて計測値の変動範囲を推測して計測値範囲(比較情報)とする方法も適用可能である。
【0045】
また、アプリの適用範囲に関する比較情報としては、アプリが有効に動作することができる状況の情報、所謂使用(動作)推奨条件の情報、例えば、天気、渋滞などに関する周辺環境情報も有用である。このような情報は、例えば通信装置1から取得した位置データに基づき、外部の情報提供サーバ(例えば、天気情報提供システムのサーバ)から取得することが可能で、また通信装置1の接続された複数のノード10の持つセンサの出力等(例えば、ワイパの動作信号)に基づき取得することも可能である。
【0046】
図4は、提供制御部22による外部データに基づくアプリケーションの選択処理を説明する図で、外部装置20が有するアプリデータベース213に記憶されたデータの一例を示す図(アプリデータベース213の一部)である。このデータ例では、アプリ「近道案内」および「近道案内(路面凍結)」の必要TOPICはそれぞれ「位置情報」であり、適用範囲(使用推奨条件)がそれぞれ「晴れ」または「雪」である。また、複数のノード10の持つセンサの出力には「位置情報」が含まれていたとする。
【0047】
この場合、提供制御部22は、必要TOPICとして「位置情報」が含まれるアプリ、本例では「近道案内」、「近道案内(路面凍結)」を提供候補アプリとする。さらに提供制御部22は、アプリの制御対象装置(ノード10の1つ)に関する各種状況が提供候補アプリの適用範囲、所謂アプリの使用推奨条件を満たす状況かを確認するために必要な情報を外部から取得する。本例では通信装置1(搭載車両、あるいはノード10)の位置付近の天気に関するデータを例えば外部の気象情報提供センターより取得する。そして、提供制御部22は、アプリの制御対象装置に関する各種状況がアプリの使用推奨条件を満たす提供候補アプリを提供するアプリとして決定する。本例の場合、提供制御部22は、通信装置1の位置の天気が晴れであれば、「近道案内」のアプリを選択し、天気が雪であれば、「近道案内(路面凍結)」のアプリを選択する。
【0048】
つまり、提供制御部22は、外部データによっても適用範囲を満たすアプリを選択することで、より利便性の高いアプリを選択して、通信装置1へ提供することができる。また、このようなアプリの適用範囲の細分化によって、アプリの処理を当該適用範囲におけるデータに絞った処理にでき、また当該適用範囲における各種状況の特性に適した処理にできるため、各アプリの容量を抑えることが期待でき、またより効果的な制御となることも期待できる。
【0049】
また、提供制御部22は、各アプリの情報に基づき、通信装置1に提供するアプリに関する必要TOPIC、出力TOPIC、およびアプリが制御対象とするノードを示す出力ノードの情報を通信装置1に提供する。また、提供制御部22は、通信装置1に接続されたノード10、および通信装置1に提供するアプリに応じて、通信装置1の掲示板3Aに掲載するTOPICの情報を通信装置1に提供する。
【0050】
図2に戻り、通信装置1は、通信部2と、記憶部3と、制御部4とを備える。通信部2は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、各ノード10と有線通信、または無線通信する。通信部2は、外部装置20と無線通信する。
【0051】
有線通信は、例えば、CAN(Controller Area Network)、イーサネット(登録商標)、LIN(Local Interconnect Network)、USB(Universal Serial Bus)などの有線通信装置によって実行される。無線通信は、例えば、Wi-Fi(登録商標)、LTE(Long Term Evolution)、BLE(Bluetooth(登録商標) Low Energy)、Zigbee(登録商標)、UWB(Ultra Wide Band)などの無線通信装置によって実行される。
【0052】
記憶部3は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子によって実現される。
【0053】
記憶部3は、掲示板3Aと、コンテナ部3Bと、使用状況テーブル3Dを含む。掲示板3Aは、記憶部3に割り当てられた記憶領域で構成される。掲示板3Aは、TOPICを記憶する。掲示板3Aは、ノード10から取得されたデータ、例えばノード10が保有するセンサが計測した計測データを、データに関するTOPICと関連付けて記憶する。掲示板3Aに記憶されるデータは、ノード10から取得されたデータが、後述される制御部4によって対応する変換アプリに基づき適宜変換されたデータである。変換後のデータは、各ノード10で使用できるように加工、例えば規格化されたデータである。つまり、当該変換アプリはノード10から取得されたデータを、このような規格化されたデータに変換するソフトウェアである。なお、掲示板3Aに記憶されるデータは、変換アプリによって生成されたデータ以外のデータ、例えば変換処理を行なうことなく既に規格化フォーマットと同じフォーマットのデータを含んでいてもよい。
【0054】
また、各ノード10を制御する各ノード制御アプリによって作成されたデータは、ノード制御アプリによって生成された制御用データが対応する出力TOPIC(データ項目情報)と関連付けられて記憶部3(掲示板3A)に記憶される。掲示板3Aは、通信装置1に接続される複数のノード10がデータへのアクセス(取り込み、書き込み(更新))ができるように構成される。
【0055】
コンテナ部3Bは、記憶部3に割り当てられた記憶領域で構成され、予め設計で決められた複数のコンテナ3Cが形成されている。そして1つのコンテナ3Cには、1つのアプリが記憶される形式になっている。アプリは外部装置20から取得され、コンテナ3Cに設定(記憶)される。また、不要となったアプリはコンテナ3Cから消去され、当該コンテナ3Cは空コンテナとなる。つまり、複数のコンテナ3Cには、最大でコンテナ数だけアプリが設定され、必要なアプリが無い場合は全部のコンテナ3Cが空コンテナとなる。なお、コンテナ3Cに余裕がある場合、不要となったアプリは、新たなアプリの設定のために空コンテナが必要となった際に、消去すればよい。
【0056】
使用状況テーブル3Dは、記憶部3に割り当てられた記憶領域で構成され、コンテナ部3Bに設定した各アプリの利用状況に関するテーブルである。
図5は、通信装置1が有する使用状況テーブル3Dの一例を示す図である。
【0057】
図5に示すように、使用状況テーブル3Dは、各アプリの「アプリ使用履歴」、「データ使用履歴」に関する情報を記憶するテーブルである。「アプリ使用履歴」は、各アプリの使用履歴であり、「データ使用履歴」は各アプリから出力された制御対象ノード10の制御用データ(出力TOPICのデータ)の使用履歴である。後述するように、使用状況テーブル3Dには、各アプリの使用(動作)状況、および制御対象ノード10の制御用データの使用状況に基づき、制御部4によって随時書き込みが行われる。例えば、使用状況として最新の使用日時を記憶するとした場合、例えば
図5に示すように、アプリAAの最新の使用日時がA1で、アプリAAの実行により生成された制御データの最新の使用日時がA2だとすると、制御部4は使用状況テーブル3DにおけるアプリAAのデータレコードに、アプリ使用履歴として「A1」を記録し、データ使用履歴として「A2」を記録する。換言すれば、使用状況テーブル3Dのデータは、各アプリの現時点における必要性を示すデータであるとも言える。
【0058】
図2の説明に戻る。制御部4は、所謂コントローラで、取得部4Aと、認証部4Bと、変換部4Cと、決定部4Dと、生成部4Eと、通知部4Fと、指示部4Gとを備える。制御部4は、提供制御部22と同様の構成で、例えば、CPU、ROM、RAM、ハードディスクドライブ、入出力ポートなどを有するコンピュータや各種の回路を含む。制御部4は、複数のコンピュータを含んで、各コンピュータが協働して処理を実行する(処理を分担する)ように構成してもよい。
【0059】
コンピュータのCPUは、例えば、ROM等の記憶デバイスに記憶されたプログラムを読み出して実行することによって、制御部4の取得部4A、認証部4B、変換部4C、決定部4D、生成部4E、通知部4F、および指示部4Gとして機能する。制御部4の一部、または全部は、ASICやFPGA等のハードウェアで構成されてもよい。制御部4は、コンテナ部3Bのコンテナ3Cに対するアプリの記憶・消去、およびアプリの実行を行うコンテナエンジンとして機能する。例えば、コンテナエンジンに関する機能のひとつとして、コンテナエンジンは、コンテナ3Cに記憶されたアプリの使用に伴い、使用状況テーブル3Dにおける当該アプリ使用履歴のデータを更新する。
【0060】
取得部4Aは、各ノード10から各種の情報、データを取得する。具体的には、取得部4Aは、各ノード10から、各ノード10を認証するための認証情報、およびデータ配信要求情報を取得する。取得部4Aは、複数のノード10から、認証された各ノード10に関する種別データを取得する。ノード10に関する種別データは、ノード10を識別する情報である。
【0061】
取得部4Aは、外部装置20から提供される各種アプリ(コンテナ3Cに記憶可能なアプリ(コンテナ対応アプリ))に関する情報を取得する。アプリに関する情報は、アプリ(プログラム自体)、アプリに関する必要TOPIC、および出力TOPICの情報を含む。アプリに関する情報は、アプリの更新情報、所謂アプリのアップデート情報を含む。取得部4Aは、ノード10が有する各種センサに関する情報、例えばセンサ出力(検出値)のTOPICの情報を外部装置20から取得する。
【0062】
取得部4Aは、複数のノード10からノード10が収集したデータ、つまりノード10に設置された各種センサが検出した各種データを取得する。
【0063】
また、取得部4Aは、外部装置20からノード10のアップデート情報、例えばノード10における内蔵ソフトウェアのバージョン情報、オプション等での追加センサの情報等を取得する。取得部4Aは、ユーザの端末装置(ノード10の一形態)から、アプリをコンテナ3Cに設定(記憶)する指示信号や、アプリをコンテナ3Cから消去する指示信号、あるいはコンテナ3Cに設定されているアプリをアップデートする指示信号等のアプリに関する指示信号を取得する。このように、通信装置1と通信接続された各種装置から、各種データを取得する。
【0064】
認証部4Bは、通信装置1に通信接続状態(通信電波が届く状態や通信ケーブルが接続された状態)にあるノード10を認証し、通信装置1とノード10とのデータ通信を可能状態、所謂通信確立状態にする。つまり、実際のデータ通信に先立ち、装置の識別情報、使用可能な通信方式、認証用パスワード等の認証情報を適宜送受して、通信の可否、装置の正当性等を確認し、通信が適切な場合には通信のための各種設定(使用する通信方式、通信に用いるIDやパスワードの設定等)を行う。認証部4Bは、新たな通信を行う場合、例えば、通信装置1の電源がONにされた場合や、通信が確立されていない装置が検出された場合(電波の届く範囲に新たな装置が位置した場合、あらたに通信ケーブルが接続された場合等)に、検出された通信可能な装置に対して認証処理を行なう。
【0065】
認証部4Bは、各ノード10に配信する掲示板3Aに掲載(記憶)するデータに関する設定を行う。具体的には、認証部4Bは、認証した各ノード10の種別に応じて、掲示板3Aに掲載するデータの項目、つまりTOPICを設定する。なお、前述のようにTOPICには、必要TOPIC、出力TOPIC、および出力ノードTOPICがあり、認証部4Bは、掲示板3AにこれらTOPICの掲載設定を掲示板3Aに行う。
【0066】
この設定により、掲示板3Aに設定されたTOPICの情報が掲載され、各ノード10は保有するセンサの検出データに基づくTOPICのデータを掲示板3Aに掲載でき、また各ノード10は掲示板3Aに掲載されたTOPICのデータを適宜取得してノード10での各種制御に用いることができるようになる。
【0067】
なお、認証部4Bは、認証された各ノード10から取得した当該ノードに関する情報に基づき、あるいは外部装置20から取得した認証されたノード10に関する情報に基づき、掲示板3Aに対する設定処理を行なう。
【0068】
変換部4Cは、ノード10から取得されたデータを、各ノード10が使用できるデータに変換する。そして、変換部4Cは、変換後のデータを記憶部3の掲示板3Aにおける対応するTOPICに関連付けして記憶させる。具体的には、例えば、掲示板3Aを構成するデータテーブルに各TOPICのデータ欄を設け、変換部4Cは変換後のデータを該当TOPIC欄のデータ記憶部に記憶する。変換部4Cは、ノード10から新たなデータが取得された場合、新たなデータを各ノード10が使用できるデータに変換し、変換後の新たなデータを、対応するTOPICに関連付けて掲示板3Aに記憶させる。すなわち、変換部4Cは、掲示板3AのTOPICに関連付けたデータを更新する。
【0069】
決定部4Dは、コンテナ部3Bに対するアプリの登録(インストール)状態を決定する。つまり、コンテナ部3Bへのアプリの新規登録、アプリの更新登録、またコンテナ部3Bに登録されたアプリの削除等の処理を行なう。また、決定部4Dは、掲示板3Aの構成、つまり掲示板3Aに掲載するTOPIC種別の新規登録、更新登録、削除を決定する。
【0070】
具体的には、通信装置1に対する各ノード10の接続状況が変化した際に、例えば通信装置1の電源がONにされた場合(接続状態のノード10が新たに認証されることになる)、あるいは通信装置1に新たなノード10が接続した場合、また認証済みのノード10が通信装置1から離脱した場合に、決定部4Dは、認証部4Bによって認証された各ノード10の種別に関するノード種別情報を外部装置20へ送信する。
【0071】
そして、外部装置20(提供制御部22)は、通信装置1から提供されたノード種別情報を用いてノードデータベース211、センサデータベース212、およびアプリデータベース213との照合処理を行なって、掲示板3Aに掲載するTOPIC種別、および提供候補アプリを決定し、通信装置1にこの決定結果の情報を送信する。なお、この提供候補アプリを決定に際しては、上述したように、センサの検出信号種別(必要TOPIC)、出力ノードだけでなく、適用範囲の情報も用いられて提供候補アプリが決定されることになる。
【0072】
この決定結果の情報を受けた決定部4D(通信装置1)は、掲示板3Aの構成を決定し、また提供候補アプリ情報からコンテナ部3Bに登録するアプリを決定し、外部装置20にこの登録決定したアプリの配信要求を送信する。そして決定部4Dは、この配信要求に対して外部装置20から配信されたアプリをコンテナ部3Bに登録する。なお、提供候補アプリからのコンテナ部3Bに登録するアプリの決定は、提供候補アプリのリストをユーザに提供してユーザがリストから選択する方法や、提供候補アプリ全体をコンテナ部3Bに登録するアプリとして決定してしまう(ユーザによる選択操作を経ない)等の方法が考えられる。後者の場合、外部装置20(提供制御部22)は上述の提供候補アプリ情報の送信の際に、提供候補アプリのプログラム本体も送信することになり、決定部4D(通信装置1)は提供候補アプリからのコンテナ部3Bに登録するアプリの決定は不要となる。またこの場合、外部装置20(提供制御部22)がアプリのユーザ評価データ、インストール実績等に基づき提供候補アプリを絞り込む方法が有効である。
【0073】
また、通信装置1におけるノード10の接続状態が変化した場合には、上述と同様の処理が決定部4D(通信装置1)と外部装置20(提供制御部22)で行われ、掲示板3Aの構成、およびコンテナ部3Bに登録されたアプリが変化することになる。
【0074】
なお、上述の実施形態では、外部装置20のノードデータベース211、センサデータベース212、およびアプリデータベース213を用いて、外部装置20でコンテナ部3Bの構成を決定する情報とコンテナ部3Bに登録するアプリを決定する情報を生成するようにしたが、決定部4D(通信装置1)が生成することも可能である。その場合、ノードデータベース211、センサデータベース212、およびアプリデータベース213と同等のデータベースを通信装置1に、設計者等が事前に組み込む、あるいは外部装置20等から定期的に取り込む等として、上述の外部装置20と同様の処理を行なえばよい。
【0075】
次に、各ノード10のセンサの検出信号の状況に応じてコンテナ部3Bに登録するアプリを変更する処理について説明する。なお、ここでは、センサの検出信号に対応する出力TOPICが体温であり、アプリはユーザの体温を考慮した出力TOPIC「体温」データを用いてエアコン制御を行うアプリで、「体温」データに対して適用範囲が設定された車両エアコン制御アプリAA(
図3参照)を例にとって説明する。
図6は、決定部4Dによる処理の動作例を示す図で、体温の時系列変化を例示する。
【0076】
図6に示すように、通常(図では当初)、車両エアコン制御アプリはユーザの体温も考慮して(出力TOPIC「体温」データを用いて)、出力TOPIC「最適温度」データで車両エアコンを制御している。その後、ユーザの体温が上昇し、時刻T12においてユーザの体温が車両エアコン制御アプリAAの適用範囲R1を超えた場合、決定部4Dは、時刻T12の任意のタイミングで、コンテナ3Cのアプリを入れ替える。
【0077】
この際、決定部4Dは、適切なタイミングで動作するアプリを切り替えるため、体温の上昇に伴い、体温が適用範囲R1の上限に近づいた時刻T11において、入れ替えるアプリの探索を開始する。具体的には、本例の場合アプリの探索は、入れ替え対象のアプリの情報(アプリの識別情報)と対象の適用範囲におけるパラメータの現在値、つまり現在の体温に関するデータを外部装置20へ送信することで行われる。
【0078】
この際、外部装置20では、決定部4D(通信装置1)から送信された入れ替え対象のアプリの識別情報と対象の適用範囲におけるパラメータの現在値(体温)に基づき、入れ替え対象のアプリと同様の機能で、適用範囲が現時点における通信装置1側の状況(本例では現体温)を満足する(適用範囲に含まれる)アプリを提供(入れ替え)候補アプリとして選定して、当該アプリの情報を通信装置1に送信する。そして、提供(入れ替え)候補アプリをユーザが受け入れた場合(ユ-ザの操作に基づく)、決定部4D(通信装置1)は当該アプリの配信要求を外部装置20に送信し、当該配信要求に応じて外部装置20が配信した当該アプリのプログラムを決定部4D(通信装置1)は受信し、コンテナ3Cに登録する。そして、コンテナ3Cに登録された当該アプリは制御部4により実行される。
【0079】
なお、入れ替え対象のアプリについては、コンテナ3Cに登録の余裕があれば登録状態を維持して後日の動作に備え、コンテナ3Cに登録の余裕がなければ削除すればよい。また、入れ替え対象のアプリとの入れ替えに対して適当なアプリが存在しない場合は、決定部4D(制御部4)はアプリの入れ替えを行わず、入れ替え対象のアプリの動作を停止し、ノード10自体が持つプログラムに基づく制御が行われるようにする。
【0080】
また、決定部4Dは、例えば、使用状況テーブル3Dを参照し、予め定めた所定期間、使用されなかったアプリ、あるいは予め定めた所定期間、出力TOPICのデータが使用されなかった当該データを生成したアプリをコンテナ3Cから削除する。つまり、長期間に渡って実質的に使用されなかったアプリについては、コンテナ3Cから削除し、コンテナ3Cの空き容量を増加させ、あらたなアプリの登録可能数を増加させる。なお、使用状況テーブル3Dを参照し、上述の入れ替え対象のアプリのコンテナ3Cから削除を判定する制御は効果的である。つまり、入れ替え対象のアプリの最近の使用頻度が予め定めた頻度より高ければ、入れ替え対象のアプリのコンテナ3Cから削除は行わず、登録を維持する制御を行う。
【0081】
また、決定部4Dは、ノード10に設置されたセンサが検出したデータが出力されない状態(該当TOPICのデータが更新されない)が予め定めた所定期間続いた場合には(使用状況テーブル3Dに当該情報を記憶しておき判断する)、当該データを利用するアプリをコンテナ3Cから削除する。すなわち、例えばノード10との接続が長期間切れた場合等に、利用できなくなるアプリ、つまり接続が切れた状態等のノード10のセンサデータを使用して動作するアプリをコンテナ3Cから削除し、コンテナ3Cの空き容量を増加させる。
【0082】
図2の説明に戻る。生成部4Eは、コンテナ3Cに登録されたアプリに従って動作し、ノード10から取得されたデータに応じて掲示板3Aに掲載されたデータに基づき出力TOPICに関するデータを生成し、掲示板3Aの該当出力TOPICのデータとして記憶する。具体的には、生成部4Eは、通信装置1に接続されたノード10の種別に応じたアプリをコンテナ部3Bから読み出し、実行する。生成部4Eは、当該アプリの実行により、掲示板3Aに記憶された当該アプリに関係するTOPICのデータを読み出して処理し、対応する出力TOPICのデータを生成する。そして生成部4Eは、生成したデータを対応する掲示板3AのTOPICの記憶部に登録する。すなわち、生成部4Eは、生成するデータに応じてアプリを選択し、当該選択したアプリを実行することで、対応する出力TOPICに関するデータを生成し、当該生成したデータを掲示板3Aの対応する出力TOPICの記憶部に登録する。
【0083】
次に、具体例を用いて生成部4Eの動作を説明する。
図7は、生成部4Eによるデータ生成の動作を説明する図である。本例においては、具体的な状況として掲示板3Aに「車速」、「室温」、「心拍数」、および「脈拍数」のTOPICに関するデータがそれぞれ掲載されている。コンテナ部3Bには、掲示板3Aに掲載されている「車速」、「室温」、「心拍数」、および「脈拍数」のTOPICのうち少なくとも1つのTOPICのデータを使用するアプリ「AA」、「BB」、「CC」が選択され、登録されている。そして、アプリ「AA」は、出力TOPIC「最適室温」のデータを生成するアプリで、TOPIC「室温」、「心拍数」、および「脈拍数」の各データから、出力TOPIC「最適室温」のデータを生成するアプリである、状況とする。生成部4Eは、コンテナ部3Bからアプリ「AA」を読み出して実行することで、掲示板3Aに掲載されているTOPIC「室温」、「心拍数」、および「脈拍数」の各データを読み取り、これら各データを用いた処理により出力TOPIC「最適室温」のデータを算出し、掲示板3Aの出力TOPIC「最適室温」の記憶部に算出したデータを記憶(書き込み)する。これにより、出力TOPIC「最適室温」のデータが対応する出力ノード10、例えばエアコンECUに提供され、エアコンECUは出力TOPIC「最適室温」のデータに基づく車室温となるようにエアコンの制御を行うことになる。
【0084】
なお、生成部4Eは、掲示板3Aに記憶された出力TOPICのデータを、別の出力TOPICのデータを生成するために用いてもよい。例えば、
図7において、生成部4Eは、出力TOPIC「最適室温」のデータを、別の出力TOPIC「最適湿度」のデータを生成し、出力ノード10である加湿器に提供するようにしてもよい。
【0085】
通知部4Fは、通信装置1に接続された各ノード10に関するノード情報を外部装置20に送信する。すなわち、通知部4Fは、認証されたノード10の種別データ(識別情報)を外部装置20に送信する。外部装置20では、このノード10の種別データに基づき、提供候補アプリの選定、掲示板3AのTOPICの選定を行う。
【0086】
また、通知部4Fは、外部装置20から取得されたアプリに関する情報を、ユーザの端末装置に通知する。ユーザの端末装置ではこのアプリに関する情報を、例えばコンテナ3Cに登録するアプリの決定操作のためにユーザに提供する(登録アプリ候補リストの表示等)。
【0087】
通知部4Fは、掲示板3Aに記憶されたTOPICのデータをノード10に配信する。具体的には、通知部4Fは、ノード10の配信要求情報に基づいて、配信要求情報に対するTOPICのデータを、掲示板3Aから読み出す。そして、通知部4Fは、読み出したデータを、配信要求情報を送信したノード10に配信する。なお、ノード10に配信されるデータは、アプリを用いて生成された出力TOPICに関するデータを含む。
【0088】
そして、通知部4Fは、ノード10の配信要求情報に基づいて、掲示板3Aに記憶されたデータをノード10に出力すると、使用状況テーブル3Dにおける当該ノード10および当該ノードに出力したデータのTOPICに対する使用状況データを更新する。
【0089】
指示部4Gは、ユーザの端末装置に対する操作に基づき当該端末装置から送信された指示情報アプリのコンテナ3Cへの登録(インストール)等の処理を行なう。つまり、ユーザの指示に基づき決定部4Dが決定したアプリのコンテナ部3Bに対する登録、更新、削除処理等を実行する。
【0090】
また、指示部4Gは、ユーザの端末装置によってコンテナ3Cに登録されたアプリのアップデートが指示された場合、具体的には、端末装置からアプリをアップデートする指示信号が受信された場合、コンテナ3Cに登録されたアプリをアップデートする。
【0091】
次に、実施形態に係るインストール(コンテナ3Cへの登録)処理について
図8を参照し説明する。
図8は、実施形態に係るインストール処理を説明するフローチャートである。インストール処理は、通信装置1の起動時、通信装置1におけるノード10の接続状態が変化(ノード10の追加・離脱)時、ユーザによる実行指示(操作)があった時に実行される。なお、このインストール処理は、通信装置1の起動時に、接続されたノード10が前回の起動時から変わっていない場合、実行されなくてもよい。
【0092】
制御部4は、接続されたノード10に対して認証を行う(ステップS10)。制御部4は、ノード10から認証情報を取得し、ノード10の認証を行う。
【0093】
制御部4は、認証した各ノード10の種別データ(識別情報)を取得する(ステップS11)。制御部4は、ステップS11で取得した各ノード10の種別データを外部装置20に送信する(ステップS12)。
【0094】
制御部4は、外部装置20から提供候補アプリ等の情報を取得する(ステップS13)。具体的には、制御部4は、外部装置20によって選択された提供候補アプリの情報、掲示板3Aに掲載する各TOPICの情報を取得する。
【0095】
制御部4は、ステップS13で取得した情報に基づき掲示板3Aの設定を行う(ステップS14)。具体的には、例えば、掲示板3AにおけるTOPICとして、「室温」、「心拍数」、「脈拍数」、「最適温度」を掲示板3Aに設定する。
【0096】
制御部4は、ステップS13で取得した提供候補アプリの情報をユーザの端末装置に通知する(ステップS15)。
【0097】
制御部4は、ユーザの端末装置からアプリのインストール(コンテナ3Cへの登録)に関する指示信号が受信された否かを判定する(ステップS16)。制御部4は、アプリケーションをインストールに関する指示信号が受信された場合(ステップS16:Yes)、当該指示信号に応じてインストールの指示があったアプリのインストール処理を行なう(ステップS17)。なお、インストールに関する指示信号がインストールを否定するものであった場合、アプリのインストールは行わない。
【0098】
制御部4は、アプリケーションをインストールする指示信号が受信されない場合(ステップS16:No)、指示信号の受信を待つ(ステップS16を繰り返す)。
【0099】
なお、アプリにより生成されるデータに対する掲示板3AのTOPICの設定は、当該TOPICのデータの使用が確定するアプリがインストールされた後に行ってもよい。
【0100】
次に、実施形態に係るアプリの入れ替えを伴うインストール処理について
図9を参照し説明する。
図9は、実施形態に係るアプリ入れ替え処理を説明するフローチャートである。なお、入れ替え処理は、通信装置1の起動後に適宜繰り返し実行される。
図9に示すように、制御部4は、各アプリに設定された適用範囲を逸脱する状況が発生しているか判定する(ステップS20)。具体的には、制御部4は、各ノード10に含まれるセンサの検出値に基づく各TOPICのデータがアプリに設定された適用範囲から外れるアプリがあるかを判定する。あるいは、制御部4は、車両周囲環境(例えば、天候)がアプリに設定された適用範囲(例えば、晴れ)から外れるアプリがあるかを判定する。
【0101】
制御部4は、アプリに設定された適用範囲を逸脱する状況が発生していると判定した場合(ステップS20:Yes)、外部装置20に対し、適用範囲を逸脱する状況となっているアプリの識別情報と、適用範囲を逸脱する状況関する逸脱情報(例えば、センサの検出値(センサ種別:検出値)や周囲環境情報(天候:晴れ))を送信する(ステップS21)。外部装置20は、この逸脱情報に基づき適当なアプリ、例えば適用範囲を逸脱する状況となっているアプリと同様の機能で、状況がアプリに設定された適用範囲を逸脱しないアプリを選択して、通信装置1に選択したアプリに関する情報やアプリのプログラムを提供する。
【0102】
つづいて、制御部4は、外部装置20から、アプリに関する情報を受信する(ステップS22)。なお、ここで外部装置20にて選択されたアプリのインストール可否をユーザに確認する処理を加えてもよい。そして、制御部4は、適用範囲を逸脱する状況が発生しているアプリをコンテナ3Cから削除したうえで(ステップS23)、新たなアプリケーションをインストールし(ステップS24)、処理を終了する。なお、コンテナ3Cに空がある(コンテナ3Cの容量に余裕がある)場合には、適用範囲を逸脱する状況が発生しているアプリの削除を行わず、コンテナ3Cの空がなくなった際に(コンテナ3Cの容量に余裕がなくなった際に)アプリの削除をおこなってもよい。この場合、起動アプリを選択する際に、各種状況がアプリに設定された適用範囲を逸脱しないアプリを、コンテナ3Cに登録されているアプリから選択するようにすれば良い。なお、この際に適当なアプリがコンテナ3Cに登録されていない場合は、外部装置20から取得すればよい。また、制御部4は、アプリに設定された適用範囲を逸脱する状況が発生していないと判定した場合(ステップS20:No)、処理を終了する。
【0103】
次に、
図10を用いて、実施形態に係る外部装置20の行う選択処理について説明する。
図10は、外部装置20の行う選択処理を示すフローチャートである。この選択処理は、外部装置20の提供制御部22によって、外部装置20の稼働中に適宜繰り返し実行される。
【0104】
図10に示すように、まず、提供制御部22は、通信装置1からアプリ選択・提供に関するアプリ選択提供関連情報、例えば通信装置1に接続されたノード10の種別情報、ノード10が持つセンサの種別情報、掲示板3Aに掲載されたデータのTOPIC情報やTOPICのデータ、コンテナ3Cに登録されたアプリに関する情報(アプリに設定された適用範囲を逸脱する状況が発生しているかどうかを示す情報を含む)を受信したか否かを判定する(ステップS30)。提供制御部22は、通信装置1からアプリ選択提供関連情報を受信した場合(ステップS30:Yes)、アプリ選択提供関連情報に基づき、適当なアプリを提供候補アプリとして選択し、当該提供候補アプリに関する情報を通信装置1に送信する(ステップS31)。そして、通信装置1では、提供候補アプリに関する情報に基づきユーザがコンテナ3Cに登録するアプリを選択し、通信装置1は当該選択結果の情報を外部装置20に送信する。なお、提供候補アプリの選択処理は、通信装置1で取得できるデータ種別(掲示板3Aに掲載されたデータのTOPIC)、各ノード10の機能(使用するデータ種別(出力TOPIC))、通信装置1で取得したデータ履歴(検出値の範囲等)、通信装置1の周囲環境状況等に基づき、これらの条件に適したアプリを選択するものとなる。
【0105】
次に提供制御部22は、通信装置1から送信されたアプリの選択結果情報を受信し(ステップS32)、当該選択結果情報に基づき提供するアプリを選択し、当該選択したアプリに関する情報(アプリのプログラムを含む)を送信し(ステップS33)、処理を終了する。また、ステップS30の判断がNoの場合は、処理を終了する。
【0106】
上述したように、実施形態に係る通信装置1は、複数のノードを接続可能な通信装置1であって、接続されたノード10から得られるデータを記憶する掲示板3Aと、前記掲示板3Aに記憶されたノード10から得られるデータ(必要TOPICのデータ)を利用して接続されたノードの制御を行う(出力TOPICのデータを生成して、出力ノードに当該データを出力する)アプリケーションプログラムを記憶するコンテナ3Cとを有する記憶部3と、前記掲示板3Aに記憶されたデータを用いて前記コンテナ3Cに記憶されたアプリケーションプログラムを実行するコントローラ4と、を有する通信装置1において、前記コントローラ4は、アプリケーションプログラムに設定された適用範囲(
図3「適用範囲」のデータ)を逸脱する状態の発生状況に基づいて、コンテナ3Cに記憶するアプリケーションプログラムを決定する。
【0107】
したがって、実施形態に係る通信装置1によれば、ノード10(ノードのセンサの検出値等)の出力するデータの値範囲や周囲環境等がアプリケーションプログラムに設定された使用推奨条件を満たす状態にあるアプリケーションプログラムがインストール対象として決定されるので、適切なアプリケーションプログラムをインストールすることができる。
【0108】
ところで、上述した実施形態では、主な動作形態として、外部装置20側において提供候補アプリおよびコンテナ3Cに登録するアプリの選択処理を行なっているが、データベース21と同等のデータベースを通信装置1の記憶部3に構成する、そして通信装置1(制御部4)が通信接続によりデータベース21にアクセスできるように構成し、また提供制御部22の行う処理を制御部4で行うこと(対応するプログラムを記憶部3に記憶する)等により、これら処理を通信装置1で行うことも可能である。他、同様の方法で、通信装置1と外部装置20で、適当に処理を分担することが可能である。
【0109】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。従って、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0110】
1 通信装置
2 通信部
3 記憶部
3A 掲示板
3B コンテナ部
3C コンテナ
3D 使用状況テーブル
4 制御部
4A 取得部
4B 認証部
4C 変換部
4D 決定部
4E 生成部
4F 通知部
4G 指示部
10 ノード
20 外部装置
21 データベース
22 提供制御部
100 情報処理システム