【解決手段】サーバ装置は、車載端末と通信し、車載端末から受信する情報を用いて演算を行う演算部と、演算の結果を音声および映像の少なくとも一方を含む信号である知覚信号として車載端末に送信する送信部と、車載端末との通信が途絶するリスクを推定する途絶推定部と、リスクが第1の閾値を超えると演算と同等の演算が実行可能な情報である実行コードを車載端末に送信する車載実行アプリ提供部と、を備える。
【発明を実施するための形態】
【0008】
―第1の実施の形態―
以下、
図1〜
図4を参照して、通信システムの第1の実施の形態を説明する。
【0009】
(ハードウエア構成)
図1は、第1の実施の形態における通信システムSのハードウエア構成図である。通信システムSは、サーバ装置1と、車両9に搭載される車載端末2とを含む。サーバ装置1と車載端末2は、無線区間を含む通信路、たとえば携帯電話網とインターネットの組み合わせにより接続される。ただし車両9がトンネルの内部や無線通信基地局がないエリアを走行する際や、無線通信基地局の工事の時間帯には両者の通信は不可能である。
【0010】
サーバ装置1は、サーバCPU11と、サーバROM12と、サーバRAM13と、サーバ通信部14と、記憶部15とを備える。サーバCPU11は中央演算装置である。サーバROM12は読み取り専用の記憶領域である。サーバROM12には、サーバ装置1が後述する機能を実現するためのプログラムが格納されている。サーバRAM13は、読み書き可能な記憶領域である。サーバCPU11は、サーバROM12に格納されるプログラムをサーバRAM13に展開して実行することで後述する機能を実現する。
【0011】
サーバ通信部14は、車載端末2と通信をする通信モジュールである。記憶部15は書き換え可能でかつ不揮発性の記憶装置、たとえばハードディスクドライブである。記憶部15には、サーバ用アプリ151と、車載用アプリ152と、アプリ用データ153と、通信リスク地
図154と、基地局工事情報155とが格納される。
【0012】
サーバ用アプリ151とは、サーバ装置1が実行するアプリケーションの総称であり、たとえば経路探索アプリケーション、経路案内アプリケーション、衝突検知アプリケーション、駐車支援アプリケーションなどである。車載用アプリ152とは、車載端末2が実行するアプリケーションであって、サーバ用アプリ151と同様の処理が可能なアプリケーションの総称である。たとえばサーバ用アプリ151に上述した4つのアプリケーションが含まれる場合は、サーバ用アプリ151にも同様の4つのアプリケーションが含まれる。
【0013】
ただしサーバ用アプリ151と車載用アプリ152のそれぞれは、CPUが直接実行可能なアプリケーションのバイナリデータであってもよいし、CPUが実行するインタプリタが解釈可能であり人間が読んでも理解ができるソースコードであってもよい。さらにサーバ用アプリ151と車載用アプリ152のそれぞれは、CPUがコンパイラデコンパイルすることにより実行可能なバイナリデータを生成可能なソースコードであってもよい。また以下では、車載用アプリ152のそれぞれを、CPUが実行できるコードという意味で「実行コード」とも呼ぶ。
【0014】
アプリ用データ153とは、サーバ用アプリ151のそれぞれが使用するデータの総称である。アプリ用データ153はたとえば、経路探索アプリケーションや経路案内アプリケーションが使用する広域のリンクとノードの情報、衝突検知アプリケーションや駐車支援アプリケーションが使用するパラメータの情報である。なお記憶部15に格納されるサーバ用アプリ151、車載用アプリ152、およびアプリ用データ153は常に最新情報に更新されている。この更新はオペレータが手動で行ってもよいし、自動処理により上位のサーバからダウンロードしてもよい。
【0015】
通信リスク地
図154とは、位置と通信が途絶するリスクの大きさとが対応付けられた情報である。位置は、緯度の範囲と経度の範囲の組み合わせであってもよいし、住所表記であってもよいし、特定の地点から半径Xmという記載であってもよい。リスクの大きさは、通信可能な確率であってもよいし、信号の強さを示す数値であってもよいし、時間帯や天気による変動の情報が含まれてもよい。なお通信リスク地
図154は現実の地図形式で記載されていなくてもよく、数値の羅列や数式で記載されていてもよい。
【0016】
基地局工事情報155とは、車載通信部24の通信対象となりえる基地局が基地局の工事等によるサービス中断となる時間帯を示す情報である。具体的には基地局工事情報155は、サービス中断となる基地局の位置を特定する情報と、無線通信サービスが中断される時間帯の組み合わせである。ただし通信リスク地
図154と基地局工事情報155が組み合わされて1まとまりの情報として記憶部15に格納されてもよい。なお基地局工事情報155は、オペレータにより手動で更新されてもよいし、インターネットなどの通信ネットワークを介して他のサーバから情報を受信して更新されてもよい。さらにこの更新は所定の期間ごと、たとえば1日に1回でもよいし、リアルタイムに更新されてもよい。
【0017】
車両9は、車載端末2およびセンサ91を備える。センサ91はたとえば、カメラ、超音波センサ、およびレーザーレンジファインダである。センサ91は車両9の周辺をセンシングして得られた情報を車載端末2に送信する。センサ91が取得する情報はたとえば、車両9の周囲の映像、車両9のそれぞれの方向における最も近い障害物までの距離などである。
【0018】
車載端末2は、車載CPU21と、車載ROM22と、車載RAM23と、車載通信部24と、車載記憶部25と、出力装置26と、入力装置27と、位置取得部28とを備える。車載CPU21は中央演算装置である。車載ROM22は読み取り専用の記憶領域である。車載ROM22には、車載端末2が後述する機能を実現するためのプログラムが格納されている。車載RAM23は、読み書き可能な記憶領域である。車載CPU21は、車載ROM22に格納されるプログラムを車載RAM23に展開して実行することで後述する機能を実現する。
【0019】
車載通信部24は、サーバ装置1と通信をする無線通信モジュールであり、たとえば3Gや4Gの通信規格に対応する。サーバ装置1との通信のためには、車両9の周辺に存在する無線基地局と通信できることが前提となる。言い換えると、車載通信部24の電波が届く範囲に無線基地局がない場合や、無線基地局が工事中などで動作していない場合はサーバ装置1との通信が不可能となる。
【0020】
車載記憶部25は書き換え可能でかつ不揮発性の記憶装置、たとえばフラッシュメモリである。車載記憶部25は通常は使用されず、車載RAM23に実行コードが格納されている状態で、かつ車載端末2の電源がオフにされる際にのみ使用される。すなわち、電源オフによる実行コードの消失を防止するために、車載RAM23に格納されている実行コードが車載記憶部25に一時的に格納される。この場合は、次に車載端末2の電源がオンにされると車載記憶部25から実行コードが車載RAM23に書き戻され、車載記憶部25は何も格納されていない状態に戻る。
【0021】
なお車載記憶部25に実行コードを残しておくことは技術的には可能であるが、本実施の形態では次の理由により実行コードを削除する。すなわち、サーバ用アプリ151は機能追加や安全性の向上のために日々更新が繰り返されているので、同様の機能を有する車載用アプリ152も頻繁に更新される。そのため古い実行コードを実行する危険性を排除することを目的として、実行コードは車載記憶部25には残さずサーバ装置1から毎回ダウンロードする。
【0022】
出力装置26は、ユーザに音声および映像の少なくとも一方を用いて情報を伝達する装置であり、たとえば、スピーカや液晶ディスプレイである。入力装置27は、ユーザが情報を入力するためのボタンやポインティングデバイスである。ユーザは入力装置27を用いて車両9の目的地などを入力する。入力装置27を用いて入力された情報は、通常はサーバ装置1に送信されるが、後述するように車載端末2の内部で処理される場合もある。
【0023】
位置取得部28は車両9の現在位置を算出するための情報を取得する装置である。位置取得部28はたとえばGPS受信機であり、衛星航法システムを構成する複数の衛星から電波を受信する。なお、出力装置26、入力装置27、および位置取得部28は車両9に搭載されていればよく、車載端末2の構成に含まれなくてもよい。
【0024】
(機能構成)
図2は、第1の実施の形態における通信システムSの機能構成図である。
【0025】
サーバ装置1はその機能として、演算部111と、送信部112と、途絶推定部113と、アプリ提供部114と、終了指令送信部115と、車載実行データ受信部116とを備える。
【0026】
演算部111は、車載端末2から受信する情報を用いて演算を行う。演算部111はたとえば車載端末2から、現在地と目的地の情報を受信し、現在地から目的地までの走行経路を演算する。演算部111はさらに、演算した走行経路と車載端末2の位置情報に基づき、経路案内のための演算、たとえば適切な映像信号および音声信号の生成を行ってもよい。
【0027】
送信部112は、演算部111による演算の結果を車載端末2に送信する。たとえば送信部112は、演算部111が演算した結果である、現在地から目的地までの走行経路の情報を車載端末2に送信する。さらに送信部112は、演算部111が生成した経路案内のための情報である映像信号および音声信号を車載端末2に送信してもよい。
【0028】
途絶推定部113は、車載端末2との通信が途絶するリスクを推定する。なお本実施の形態では、「車載端末2との通信が途絶するリスク」を単に「リスク」とも呼ぶ。途絶推定部113は、記憶部15に格納される通信リスク地
図154および基地局工事情報155、ならびに車両9の現在位置を参照してリスクを推定する。ただし途絶推定部113は、車両9の移動経路を算出済みの場合には、算出した移動経路と位置ごとの通信の繋がりにくさを用いてリスクを推定してもよい。
【0029】
アプリ提供部114は、途絶推定部113が推定するリスクが第1の閾値R1を超えると、演算部111がそのとき実行している演算と同等の演算が実行可能な情報である実行コードを車載端末2に送信する。なお同等の演算とは、完全に同一の演算、機能は同一であるが精度が劣る演算も含む。実行コードはたとえば、車載端末2の車載CPU21が直接実行可能なアプリケーションのバイナリデータであってもよいし、車載CPU21が実行するインタプリタが解釈可能であり人間が読んでも理解ができるソースコードであってもよい。
【0030】
終了指令送信部115は、途絶推定部113が推定するリスクが第1の閾値R1を超えた後に第2の閾値R2を下回ると、車載端末2に実行コードの実行を終了させる終了指令を送信する。なお以下では、第1の閾値R1を「閾値R1」と呼ぶこともあり、第2の閾値R2を「閾値R2」と呼ぶこともある。車載実行データ受信部116は、車載端末2から実行コードの実行結果または実行コードの演算経過を、車載実行データとして受信する。車載実行データ受信部116は、受信した車載実行データを演算部111に出力する。演算部111は、車載実行データ受信部116から入力された車載実行データを用いて演算を改めて開始する。
【0031】
車載端末2はその機能として、受信部211と、代替演算部212と、車載実行データ送信部213と、位置送信部214と、入力情報送信部215と、出力制御部216とを備える。
【0032】
受信部211は、演算が実行可能な情報である実行コードをサーバ装置1から受信して車載RAM23に格納する。代替演算部212は、車載RAM23に格納された実行コードを用いて演算を行う。すなわち代替演算部212は、サーバ装置1と同様の処理をサーバ装置1に代わって実行する。なお通常は車載RAM23には実行コードが格納されていない。車載実行データ送信部213は、受信部211がサーバ装置1から実行コードの実行を終了させる終了指令を受信すると、実行コードの実行結果または実行コードの演算経過を車載実行データとしてサーバ装置1に送信する。車載実行データをサーバ装置1に送信することにより、サーバ装置1は車載端末2の演算をスムーズに引き継ぐことができる。
【0033】
位置送信部217は、位置取得部28を用いて車両9の現在位置を算出して常にサーバ装置1に送信する。たとえば位置取得部28が衛星航法システムを構成する複数の衛星から電波を受信すると、位置送信部217はその電波に含まれる信号を解析することで自車両の位置、すなわち緯度と経度を算出する。入力情報送信部215は、ユーザが車両9に搭載される入力装置27を用いて入力した情報である入力情報、およびセンサ91が取得したセンシング情報をサーバ装置1に送信する。出力制御部216は、サーバ装置1が入力情報に基づき演算した結果を受信部211が受信すると、車両9に搭載される出力装置26を用いてユーザにサーバ装置1が入力情報に基づき演算した結果を報知する。
【0034】
(動作の概要)
通信システムSの動作の概要を説明する。通信システムSの動作は、サーバ装置1と車載端末2の通信状況により大きく異なる。ただし実際の通信状況に基づく変化ではなく、サーバ装置1が推定する通信が途絶するリスクの大きさに応じて変化する。すなわち実際にサーバ装置1と車載端末2との通信が途絶するよりも前に、通信が途絶するリスクが大きくなったことを理由として通信システムSの動作が変更される。
【0035】
車載端末2は、通信が途絶するリスクが小さい場合には情報の入出力だけを実行し、積極的な演算は行わない。車載端末2は、車両9の位置、入力装置27に入力された情報、およびセンサ91が取得した情報をサーバ装置1に送信する。サーバ装置1は、車載端末2から受信する情報を用いて演算を行い、その演算結果を音声信号および映像信号として車載端末2に送信する。車載端末2は受信した音声信号および映像信号を出力装置26から出力する。すなわち通信が途絶するリスクが小さい場合には、車載端末2はいわゆるダム端末のように動作する。
【0036】
車載端末2は、通信が途絶するリスクが大きくなると、サーバ装置1から送信される実行コードを用いてサーバ装置1と同等の演算を実行する。この演算は通信が途絶するリスクが小さくなるまで継続される。車載端末2は通信が途絶するリスクを評価できないので、サーバ装置1がこのリスクを継続的に評価する。サーバ装置1は、通信が途絶するリスクが小さくなると車載端末2に終了指令を送信し、現在実行している演算の経過をサーバ装置1に送信させる。
【0037】
サーバ装置1はこの演算経過を用いることで車載端末2が実行していた演算をスムーズに引き継ぐことができる。車載端末2は終了指令を受信すると、サーバ装置1に演算経過を送信するとともに、演算に使用していた実行コードを削除する。
【0038】
(動作例)
図3は、第1の実施の形態における通信システムSの動作を示すグラフである。
図3では図示左から右に向かって時間が経過している。
図3では上から順に、サーバ装置1の途絶推定部113が推定するリスクの大きさ、サーバ装置1の演算部111の動作の有無、車載端末2の代替演算部212の動作の有無の時系列変化を示す。
【0039】
時刻t0では途絶推定部113が推定するリスクは低く、サーバ装置1の演算部111が演算を行う。演算部111の演算結果は、送信部112が車載端末2に送信し、車載端末2の出力制御部216が出力装置26に出力する。その後、途絶推定部113が推定するリスクが増加し、時刻t1には、閾値R1を超えた。そのためこれ以後は演算を行っても演算結果を車載端末2に送信できなくなる可能性が高いことから、演算部111は演算を停止し、送信部112による演算結果の送信も停止される。
【0040】
同じく時刻t1にアプリ提供部114は、演算部111が現在実行している演算と同様の演算を可能とするアプリを記憶部15から読み出し、車載端末2に送信する。なおアプリ提供部114はこのとき、演算部111が演算に用いるデータおよび演算の途中経過のデータも併せて車載端末2に送信する。演算に用いるデータとは、たとえば経路案内の演算に用いるノード、リンク、および交差点の詳細なデータである。演算の途中経過のデータとは、経路案内の演算における走行済みの経路の情報や、現在位置の情報である。なお演算の途中経過は、「演算経過」とも呼ぶ。
【0041】
車載端末2は、時刻t1にサーバ装置1から実行コードを受信すると受信部211が車載RAM23に保存し、代替演算部212が実行コードを用いて演算を開始する。代替演算部212は演算結果を出力制御部216に送信し、出力制御部216は出力装置26にその演算結果を出力する。途絶推定部113は時刻t1以後もリスクの推定を継続し、時刻t2にはリスクが閾値R2にまで低下した。するとサーバ装置1の終了指令送信部115が車載端末2に終了指令を送信する。
【0042】
車載端末2はこの終了指令を受信すると、車載実行データ送信部213が、代替演算部212による演算の途中経過のデータ、および演算結果を車載実行データとしてサーバ装置1に送信する。また終了指令送信部115は、代替演算部212に処理を終了させ、車載RAM23に格納されていた実行コードを削除する。サーバ装置1の演算部111は、車載端末2から車載実行データを受信すると、車載実行データを用いて演算を再開する。
【0043】
(タイムチャート)
図4は、
図3に対応するタイムチャートである。すなわち
図4におけるt0、t1、t2は、
図3におけるt0、t1、t2にそれぞれ対応する。
図4では図示上から下に向かって時間が経過している。ただし
図4では上下方向の位置はt0、t1、t2の区切りを除いて目安を示しているにすぎず、厳密な時間の間隔を示すものではない。また
図4では主にサーバ装置1と車載端末2の間で送受信されるデータを説明する。
【0044】
途絶推定部113が推定するリスクが低い時刻t0から時刻t1までの間は、サーバ装置1の演算部111が演算を行い、その演算結果を車載端末2に送信する。演算結果を受信した出力制御部216は、この演算結果を出力装置26に出力する。車載端末2の位置送信部214は所定時間ごとに車両9の位置情報をサーバ装置1に送信する。車載端末2の入力情報送信部215は、ユーザが入力装置27を用いて何らかの入力を行うと、その入力情報をサーバ装置1に送信する。なお
図4ではサーバ装置1による演算結果の送信と、車載端末2による位置情報の送信が交互に記載されているが、両者の送信周期は同一でなくてもよい。また
図4では位置情報と入力情報とが同時に送信されるように記載されているが、両者は別々に送信されてもよい。
【0045】
途絶推定部113が推定するリスクが閾値R1を超えた時刻t1では、アプリ提供部114が車載端末2に、実行コード、演算に用いるデータ、および演算経過を車載端末2に送信する。このときアプリ提供部114は、必要であれば演算結果も車載端末2に送信してもよい。サーバ装置1から実行コードを受信した車載端末2は、実行コードを車載RAM23に格納して代替演算部212による演算を開始する。
【0046】
代替演算部212は演算結果を出力制御部216に出力し、演算結果を受信した出力制御部216は、この演算結果を出力装置26に出力する。また入力情報送信部215は、ユーザが入力装置27を用いて何らかの入力を行うと、代替演算部212が動作しているのでその入力情報を代替演算部212に送信する。位置送信部214は所定時間ごとに車両9の位置情報をサーバ装置1に送信する。なお
図4では代替演算部212による演算結果の出力と、位置送信部214による位置情報の送信が相互に記載されているが、両者の送信周期は同一でなくてもよい。
【0047】
途絶推定部113が推定するリスクが閾値R2に低下した時刻t2では、サーバ装置1の終了指令送信部115が車載端末2に終了指令を送信する。車載端末2は終了指令を受信すると、車載実行データ送信部213が、代替演算部212による演算の途中経過のデータ、および演算結果を車載実行データとしてサーバ装置1に送信する。サーバ装置1の演算部111は車載端末2から受信した演算の途中経過および演算結果に基づき演算を再開する。そして演算部111は時刻t0のころと同様に演算結果を車載端末2に出力する。位置送信部214は所定時間ごとに車両9の位置情報をサーバ装置1に送信する。以上が
図4の説明である。
【0048】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)サーバ装置1は、車載端末2と通信可能である。サーバ装置1は、車載端末2から受信する情報を用いて演算を行う演算部111と、演算の結果を音声および映像の少なくとも一方を含む信号である知覚信号として車載端末に送信する送信部112と、車載端末2との通信が途絶するリスクを推定する途絶推定部113と、リスクが閾値R1を超えると演算部111の演算と同等の演算が実行可能な実行コードを車載端末2に送信するアプリ提供部114と、を備える。そのため、通信が途絶するリスクが低い場合、すなわち車両9が走行している時間のうち大部分の時間では、車載端末2では負荷の高い演算を行わずサーバ装置1に演算を行わせ、通信が途絶するリスクが高くなると車載端末2で同様の演算を行うことができる。すなわち本実施の形態によれば、通信が途絶する前にサーバ装置1と同様の演算を車両9の内部で継続できる。そのため車両9の内部で演算を完結させることを前提とせず、サーバ装置1に備えられる豊富なリソースを用いて最新の情報を使った演算が可能となる。
【0049】
(2)サーバ装置1は、リスクが閾値R1を超えた後にリスクが閾値R2を下回ると、車載端末2に実行コードの実行を終了させる終了指令を送信する終了指令送信部115と、車載端末2から実行コードの実行結果または実行コードの演算経過を、車載実行データとして受信する車載実行データ受信部116とを備える。演算部111は、車載実行データを用いて演算を行う。そのためサーバ装置1は、車載端末2の演算をスムーズに引き継ぐことができる。
【0050】
(3)アプリ提供部114は、リスクが閾値R1を超えた際に演算部111が実行している演算と同等の演算が実行可能な情報を実行コードとして車載端末に送信する。そのため演算部111が現在実行している演算と同等な演算を車載端末2に実行させることができる。
【0051】
(4)途絶推定部113は、車載端末2の移動経路と位置ごとの通信の繋がりにくさに基づきリスクを推定する。そのため、既知である移動経路の情報を用いることで、リスクを容易に推定できる。
【0052】
(5)途絶推定部113は、さらに、通信に関する無線基地局の工事の情報を用いてリスクを推定する。そのため、動的な情報を加味してリスクを推定できる。
【0053】
(6)車載端末2は、車両9に搭載される。車載端末2は、演算が実行可能な情報である実行コードをサーバ装置1から受信する受信部211と、実行コードを用いて演算を行う代替演算部212と、受信部211がサーバ装置1から実行コードの実行を終了させる終了指令を受信すると、実行コードの実行結果または実行コードの演算経過を車載実行データとしてサーバ装置1に送信する車載実行データ送信部213とを備える。そのため車載端末2は、サーバ装置1から受信した実行コードを用いてサーバ装置1と同様の演算を実行し、終了指定を受信するとサーバ装置1に車載実行データを送信することで、サーバ装置1に演算処理を引き継がせることができる。
【0054】
(7)車載端末2は、サーバ装置1に車両9の位置情報を送信する位置送信部217と、ユーザが車両9に搭載される入力装置27を用いて入力した情報、または車両の周辺をセンサ91でセンシングして得られた情報である入力情報をサーバ装置1に送信する入力情報送信部215と、サーバ装置1が入力情報に基づき演算した結果を受信部211が受信すると、車両9に搭載される出力装置26を用いてユーザにサーバ装置1が入力情報に基づき演算した結果を報知する出力制御部216を備える。そのため、車載端末2はセンサ91を除けば、一体化した装置内で処理を完結させることができる。
【0055】
(8)通信システムSは、車両9に搭載される車載端末2、および車載端末2と通信するサーバ装置1を含む。サーバ装置1は、車載端末2と通信可能である。サーバ装置1は、車載端末2から受信する情報を用いて演算を行う演算部111と、演算の結果を音声および映像の少なくとも一方を含む信号である知覚信号として車載端末に送信する送信部112と、車載端末2との通信が途絶するリスクを推定する途絶推定部113と、リスクが閾値R1を超えると演算部111の演算と同等の演算が実行可能な実行コードを車載端末2に送信するアプリ提供部114と、を備える。車載端末2は、実行コードをサーバ装置から受信する受信部211と、実行コードを用いて演算を行う代替演算部212とを備える。そのため通信システムSは、通信が途絶するリスクが低い場合はサーバ装置1において演算を行い、通信が途絶する前にサーバ装置1と同様の演算を車両9の内部で継続できる。
【0056】
(変形例1)
車載端末2は、車載CPU21、車載ROM22、および車載RAM23の代わりに書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)を備えてもよい。この場合は実行コードは、FPGAの回路情報に相当する。なお回路情報は「プログラムコード」や「再構成データ」とも呼ばれる。
【0057】
また車載端末2は、車載CPU21、車載ROM22、および車載RAM23に加えて、FPGAと、特定用途向け集積回路であるASIC(Application Specific Integrated Circuit)とをさらに備えてもよい。ただしASICは書き換えができないので、この場合は実行コードは、車載CPU21が実行するプログラムなど、またはFPGAの回路情報が相当する。
【0058】
さらに車載端末2は、車載CPU21、車載ROM22、および車載RAM23の代わりにFPGAおよびASICを備えてもよい。この場合は、FPGAが少なくとも代替演算部212を実現し、ASICが残りの機能を実現する。またこの場合は実行コードは、FPGAの回路情報が相当する。
【0059】
この変形例1によれば、車載端末2は演算部111の処理をFPGAを用いて実行するので、効率よく処理できる。
【0060】
(変形例2)
サーバ装置1は、サーバCPU11、サーバROM12、およびサーバRAM13の代わりにFPGAまたはASICの少なくとも一方を備えてもよい。またサーバ装置1は、サーバCPU11、サーバROM12、およびサーバRAM13の組み合わせの代わりに、異なる構成の組み合わせ、たとえばサーバCPU11、サーバROM12、サーバRAM13とFPGAの組み合わせにより実現されてもよい。
【0061】
(変形例3)
第1の実施の形態ではサーバ装置1のアプリ提供部114は、リスクが閾値R1を上回っていた際に演算部111が実行していた演算と同等の演算が実行可能な実行コードを車載端末2に送信した。しかしアプリ提供部114は、それ以外の演算が実行可能な実行コードも併せて車載端末2に送信してもよい。たとえばアプリ提供部114は、車載端末2が将来必要な演算を推定し、その演算が実行可能な実行コードも併せて車載端末2に送信してもよい。
【0062】
車載端末2が将来必要な演算をアプリ提供部114が推定する方法は、たとえば次の手法が考えられる。第1に車載端末2から経路探索のために目的地の情報が送信されている場合であって、その目的地が通信リスク地
図154により通信ができないリスクが高いと判断される場合には、目的地において駐車支援のための演算が将来必要になると推定する。この場合にはアプリ提供部114は、演算部111が実行していた演算と同等の演算が実行可能な実行コードに加えて、駐車支援アプリケーションが実行可能な実行コードを送信する。
【0063】
本変形例によれば上述した第1の実施の形態の作用効果に加えて、次の作用効果が得られる。
(9)アプリ提供部114は、リスクが閾値R1を超えた際に演算部が実行している演算と同等の演算、および車載端末2が将来必要な演算が実行可能な情報を実行コードとして車載端末に送信する。そのため演算部111が現在実行している演算だけでなく、車載端末2が将来必要な演算を車載端末2に実行させることができる。
【0064】
(変形例4)
車載用アプリ152にあらかじめ優先度を設定しておき、優先度が低いアプリは実行しなくてもよい。以下に詳細を説明する。
【0065】
サーバ装置1の演算部111が実行しているアプリケーションは1つに限定されず、複数のアプリケーションを同時に実行している場合もある。そのような場合は、実行している全てのアプリケーションが車載端末2において実行可能なように実行コードが送信される。このとき、車載RAM23の容量の制限、または代替演算部212の機能の制限によりすべてのアプリケーションに対応する演算が不可能な場合がある。
【0066】
この場合に代替演算部212は、アプリケーションに設定された優先度を参照し、優先度が高いものから実行する。その結果として、優先度が低いアプリケーションは実行されなくてもよい。
【0067】
―第2の実施の形態―
図5〜
図6を参照して、通信システムの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、車載端末の構成が削減されている点で、第1の実施の形態と異なる。
【0068】
図5は、第2の実施の形態における通信システムTのハードウエア構成図である。第1の実施の形態における通信システムSのハードウエア構成と比較すると、サーバ装置1の構成は同一であり、車載端末2の構成が削減されている。ただし削減された車載端末2の構成は、車両9の構成となっている。すなわち総合するとハードウエア構成は変わっておらず、いくつかのハードウエアが車載端末2に属するか否かが変更されている。
【0069】
第2の実施の形態における車載端末2aは、車載CPU21と、車載ROM22と、車載RAM23と、車載通信部24と、車載記憶部25とを備える。出力装置26、入力装置27、および位置取得部28は、それぞれ単独で車両9に搭載されてもよいし、複数の構成が1つのハードウエア、たとえば1つのECU(Electronic Control Unit:電子制御装置)に格納されてもよい。
【0070】
図6は、第2の実施の形態における通信システムTの機能構成図である。第2の実施の形態における通信システムSの機能構成と比較すると、サーバ装置1の構成は同一であり、車載端末2の構成が削減されている。ただし削減された車載端末2の構成は、車両9の構成となっている。すなわち総合すると機能構成は変わっておらず、いくつかの機能が車載端末2に属するか否かが変更されている。
【0071】
第2の実施の形態における車載端末2aはその機能として、受信部211と、代替演算部212と、車載実行データ送信部213とを備える。位置送信部214、入力情報送信部215、および出力制御部216は、それぞれ単独で車両9の機能として備えられてもよいし、複数の機能が1つのハードウエア、たとえば1つのECUに格納されてもよい。各機能ブロックの動作は第1の実施の形態と同様なので説明を省略する。
【0072】
上述した第2の実施の形態によれば、車載端末2aは、通信の途絶に特化した動作を行うことができ、通信が途絶するリスクが低い場合には動作を停止できる。
【0073】
―第3の実施の形態―
図7〜
図9を参照して、通信システムの第3の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、実行コードの送付だけでは車載端末2の代替演算部212が演算を開始しない点で、第1の実施の形態と異なる。すなわち第1の実施の形態では、実行コードを受信すると車載端末2は実行コードを用いた演算をすぐに開始したが、本実施の形態では実行コードを受信しても追加の指令を受けるまでは実行コードを用いた演算を行わない。
【0074】
第3の実施の形態におけるハードウエア構成は第1の実施の形態と同様なので説明を省略する。
【0075】
(機能構成)
図7は、第3の実施の形態における通信システムUの機能構成図である。第2の実施の形態における通信システムSの機能構成と比較すると、車載端末2の構成は同一であり、サーバ装置1aに開始指令部117が追加されている。開始指令部117は、途絶推定部113が推定するリスクが閾値R1よりも高い閾値R3を上回ると、実行開始指令および演算経過を車載端末2に出力する。またアプリ提供部114は、リスクが閾値R1を上回った場合に実行コードおよび演算に用いるデータを送信するが、演算経過は送信しなくてもよい。
【0076】
本実施の形態では車載端末2の代替演算部212は、サーバ装置1から実行コードを受信しただけでは演算を開始せず、サーバ装置1から実行開始指令を受信すると実行コードを用いた演算を開始する。
【0077】
(動作例)
図8は、第3の実施の形態における通信システムUの動作を示すグラフである。
図8は第1の実施の形態における
図3に相当する。なお
図3におけるt1およびt2は、
図8ではt10およびt20に相当する。本実施の形態では、リスクが閾値R1を上回っても演算部111の演算は継続し、時刻t15にリスクが閾値R1よりも高い閾値R3を上回ると演算部111の演算が停止する。これと入れ替わるように、時刻t15から代替演算部212が演算を開始する。時刻t20にリスクがR2まで低下すると、終了指令送信部115が終了指令を送信するので代替演算部212は演算を停止し、代わりにサーバ装置1の演算部111が演算を開始する。
【0078】
(タイムチャート)
図9は、
図8に対応するタイムチャートである。
図9は第1の実施の形態における
図4に相当する。以下では主に、第1の実施の形態と異なる点を説明する。時刻t0から時刻t10までは、第1の実施の形態における時刻t0から時刻t1までと同様である。時刻t10に途絶推定部113が推定するリスクが閾値R1に達すると、アプリ提供部114は実行コードおよび演算に用いるデータを車載端末2に送信する。なおこのときアプリ提供部114は演算経過を送信してもよい。また第3の実施の形態ではリスクが閾値R1に達しても演算部111は演算を停止しない。
【0079】
車載端末2は実行コードを受信すると、車載RAM23に格納するが演算部111による演算は開始しない。時刻t10以降も、演算部111の演算結果は送信部112により車載端末2に送信され、車載端末2は受信した演算結果を出力する。
【0080】
時刻t15にリスクが閾値R3を上回ると、開始指令部117が実行開始指令と演算部111の演算経過を車載端末2に出力する。代替演算部212は、実行開始指令を受信すると車載RAM23に格納された実行コードを用いて演算を開始する。これ以後のサーバ装置1および車載端末2の動作は第1の実施の形態と同様なので説明を省略する。
【0081】
上述した第3の実施の形態によれば、次の作用効果が得られる。
(10)サーバ装置1は、途絶推定部113が推定するリスクが閾値R1よりも高い閾値R3を上回ると、実行開始指令を出力する開始指令部117を備える。そのためサーバ装置1における演算をより長い時間実行することができる。
【0082】
(第3の実施の形態の変形例)
アプリ提供部114は、送信する実行コードのデータサイズに応じて閾値R1を小さくしてもよい。すなわち実行コードのデータサイズが大きい場合には送信に長い時間を要するので、データサイズが大きいほど閾値R1を小さく変更する。
【0083】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。