(57)【要約】【課題】通信ハードウェアの通信品質に応じて柔軟に通信を切り替える。【解決手段】本発明の車載通信装置１は、外部ネットワーク１７と無線通信する複数の通信ハードウェア１５ａ、１５ｂに対応して通信用ゲストＯＳ１３ａ、１３ｂを設置し、通信ハードウェア１５ａ、１５ｂの通信品質に基づいて通信データを外部ネットワーク１７へ送信する通信ハードウェアを選択し、仮想ネットワークインターフェース２１の通信データの送信先を、選択された通信ハードウェアに対応した通信用ゲストＯＳに切り替える。【選択図】図１
2015076770.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、仮想環境上で動作するアプリケーションが外部ネットワークと無線通信する車載通信装置であって、
前記外部ネットワークと無線通信する複数の通信ハードウェアと、
前記複数の通信ハードウェアに対応して設置され、前記通信ハードウェアの通信品質を含む通信状態を把握する複数の通信用ゲストＯＳと、
前記アプリケーションからの通信データを前記複数の通信用ゲストＯＳに送信する仮想ネットワークインターフェースと、
前記通信用ゲストＯＳで把握されている前記通信ハードウェアの通信品質に基づいて、前記アプリケーションからの通信データを前記外部ネットワークへ送信する通信ハードウェアを選択し、前記仮想ネットワークインターフェースの通信データの送信先を、選択された通信ハードウェアに対応した通信用ゲストＯＳに切り替える通信経路制御部と
を備えたことを特徴とする車載通信装置。
【請求項２】
前記車両の状態に応じて前記通信ハードウェアを選択するための通信条件を記憶する通信条件記憶部と、
前記通信条件記憶部に記憶された通信条件を取得し、前記車両の状態が前記通信条件を満たすか否かを判定して、前記アプリケーションからの通信データを前記外部ネットワークへ送信する通信ハードウェアを選択する通信条件判定部とをさらに備え、
前記通信経路制御部は、前記通信条件判定部による判定結果に応じて前記仮想ネットワークインターフェースの通信データの送信先を切り替えることを特徴とする請求項１に記載の車載通信装置。
【請求項３】
前記仮想ネットワークインターフェースは、１つのネットワークアドレスを保持し、送信先の切り替え機能を有するソフトウェアであることを特徴とする請求項１または２に記載の車載通信装置。
【請求項４】
前記仮想環境は仮想化ソフトウェアによって提供され、前記仮想化ソフトウェアは仮想的なハードウェアをエミュレーションすることによって前記仮想環境を提供することを特徴とする請求項１〜３のいずれか１項に記載の車載通信装置。
【請求項５】
前記通信用ゲストＯＳは、
前記アプリケーションからの通信データを前記通信ハードウェアへ転送するルーティング部と、
前記通信データを暗号化する暗号化モジュールと、
前記通信ハードウェアに対応したドライバと
を有することを特徴とする請求項１〜４のいずれか１項に記載の車載通信装置。
【請求項６】
前記通信ハードウェアが追加して接続されたことを検知するハードウェア管理部をさらに備え、
前記ハードウェア管理部によって前記通信ハードウェアの追加接続が検知されると、追加接続された通信ハードウェアに対応した通信用ゲストＯＳを追加して設定することを特徴とする請求項１〜５のいずれか１項に記載の車載通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されて外部ネットワークと無線通信する車載通信装置に関する。
【背景技術】
【０００２】
従来では、クライアントからの要求を処理する現用系サーバと、現用系サーバの障害発生時に代替処理を行う待機系サーバとを備えたクライアントサーバシステムとして特許文献１が開示されている。この特許文献１に開示されたクライアントサーバシステムでは、仮想ネットワークインターフェースを用いて、現用系サーバに異常が発生したときに待機系サーバが行う現用系サーバの代替処理を、クライアントに意識させずに行っていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２５９０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来のクライアントサーバシステムでは、通信プロトコルが有線環境におけるＬＡＮを前提としているので、移動体の無線環境のように通信プロトコル（３Ｇ、ＬＴＥ、ＷｉＭＡＸ・・・ｅｔｃ）が混在することを考慮していない。
【０００５】
そのため、移動体における無線通信では、異常時における切り替えだけではなく、通信品質（通信速度や電波強度等）の良いほうへ切り替えていく必要もあるが、そのような通信品質に応じて柔軟に通信を切り替えることができないという問題点があった。
【０００６】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、通信品質に応じて柔軟に通信を切り替えることのできる車載通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は、外部ネットワークと無線通信する複数の通信ハードウェアを備え、これら複数の通信ハードウェアに対応して複数の通信用ゲストＯＳを設置し、通信ハードウェアの通信品質を含む通信状態を把握する。そして、通信ハードウェアの通信品質に基づいて通信ハードウェアを選択し、仮想ネットワークインターフェースの通信データの送信先を、選択された通信ハードウェアに対応した通信用ゲストＯＳに切り替える。
【発明の効果】
【０００８】
本発明によれば、複数の通信ハードウェアの中から通信品質に応じて柔軟に通信を切り替えることができるので、常により良い通信ハードウェアを自動的に選択して通信することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の第１実施形態に係る車載通信装置の構成を示すブロック図である。
【図２】図２は、本発明の第１実施形態に係る車載通信装置の通信用ゲストＯＳによる初期化処理の処理手順を示すフローチャートである。
【図３】図３は、本発明の第１実施形態に係る車載通信装置による仮想ネットワークインターフェースの送信先の切り替え処理の処理手順を示すフローチャートである。
【図４】図４は、本発明の第１実施形態に係る車載通信装置のアプリケーションによる通信処理の処理手順を示すフローチャートである。
【図５】図５は、本発明の第２実施形態に係る車載通信装置の構成を示すブロック図である。
【図６】図６は、本発明の第２実施形態に係る車載通信装置の通信条件記憶部に記憶された通信条件の一例を示す図である。
【図７】図７は、本発明の第２実施形態に係る車載通信装置の通信条件判定部による通信ハードウェアの選択処理の処理手順を示すフローチャートである。
【図８】図８は、本発明の第３実施形態に係る車載通信装置の構成を示すブロック図である。
【図９】図９は、本発明の第３実施形態に係る車載通信装置のハードウェア管理部による通信用ゲストＯＳの追加処理の処理手順を示すフローチャートである。
【図１０】図１０は、本発明の第４実施形態に係る車載通信装置の構成を示すブロック図である。
【図１１】図１１は、本発明の第５実施形態に係る車載通信装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した第１〜第５実施形態について図面を参照して説明する。
【００１１】
［第１実施形態］
［車載通信装置の構成］
図１は本実施形態に係る車載通信装置の構成を示すブロック図である。図１に示すように、本実施形態に係る車載通信装置１は、ホストＯＳ３がインストールされ、このホストＯＳ３には、カーネル５と、仮想化ソフトウェア７と、ホストＯＳアプリケーション９が導入されている。そして、仮想化ソフトウェア７によって提供された仮想環境上でゲストＯＳ１１ａ、１１ｂと、第１通信用ゲストＯＳ１３ａと、第２通信用ゲストＯＳ１３ｂが動作している。また、車載通信装置１は、第１通信ハードウェア１５ａと、第２通信ハードウェア１５ｂを備え、外部ネットワーク１７に接続されている。
【００１２】
ここで、車載通信装置１は車両に搭載された移動端末であり、外部ネットワーク１７との間で無線通信を行う。特に、本実施形態では、複数の通信ハードウェア１５ａ、１５ｂの中から通信品質の良いほうを選択して外部ネットワーク１７と通信する。
【００１３】
ホストＯＳ３は、車載通信装置１にインストールされたＯＳ（Operating System）であり、車載通信装置１に接続されている各種のハードウェアへのアクセスを提供する。そして、そのアクセスのためのＡＰＩ(Application Programing Interface)をアプリケーションに対して提供する。
【００１４】
カーネル５は、ホストＯＳ３の核となるソフトウェアであり、ハードウェアやソフトウェア等のホストＯＳ３に関係する各種資源を制御している。そして、仮想ネットワークインターフェース２１と、論理ネットワーク２３と、通信経路制御部２５を備えている。
【００１５】
仮想ネットワークインターフェース２１は、１つのネットワークアドレスを保持して送信先の切り替え機能を有するソフトウェアであり、アプリケーションからの通信データを第１及び第２通信用ゲストＯＳ１３ａ、１３ｂのいずれかに送信する。また、仮想ネットワークインターフェース２１は、論理的に存在するソフトウェアによって提供されるネットワークインターフェースであり、上位層であるアプリケーション等からは物理的なネットワークインターフェースハードウェアとして認識される。しかし、ハードウェアは存在しないので、受け取ったデータをそのまま転送する機能を保有する仮想的なインターフェースである。したがって、通常のネットワークインターフェースハードウェアのようにＩＰアドレス等のネットワークアドレスの情報を保持している。
【００１６】
論理ネットワーク２３は、仮想的なネットワークであり、仮想ネットワークインターフェース２１と同様にソフトウェアによって構築された物理的には存在しない仮のネットワークである。この論理ネットワーク２３を通じて、ホストＯＳ３と各ゲストＯＳ１１ａ、１１ｂ、１３ａ、１３ｂは、物理的なネットワークに通信するのと同様の通信プロトコルでお互いに情報を交換することができる。また、ホストＯＳアプリケーション９等の上位層からのアクセスに対しては、アクセス先のゲストＯＳに関わらず常に同じプロトコルや設定を提供する。
【００１７】
通信経路制御部２５は、第１及び第２通信ハードウェア１５ａ、１５ｂの通信品質に基づいて、アプリケーションからの通信データを外部ネットワーク１７へ送信するための通信ハードウェアを選択する。そして、仮想ネットワークインターフェース２１の通信データの送信先を、選択された通信ハードウェアに対応した通信用ゲストＯＳ１３ａ、１３ｂに切り替える。すなわち、仮想ネットワークインターフェース２１の通信データの送信先アドレスを変更する。
【００１８】
仮想化ソフトウェア７は、仮想環境を提供するための基本ソフトウェアであり、仮想的なハードウェアをエミュレーションすることによって仮想環境を提供し、提供された仮想環境ではゲストＯＳを複数動作させることが可能となる。また、仮想化ソフトウェア７は、ネットワーク制御部３１と、ゲストＯＳ管理部３３を備えている。
【００１９】
ネットワーク制御部３１は、仮想化ソフトウェア７が備えているネットワーク管理機能である。ネットワーク制御部３１が提供する機能としては、ゲストＯＳの通信データをそのまま外部へ送信する機能(Bridge)やゲストＯＳのネットワークアドレスを統合して送信する機能(ＮＡＴ:Network Address Translate)がある。また、ゲストＯＳ間のみで通信する機能(Host Only network)も備えているが、本実施形態では外部への通信を前提としているので、この機能は設定されていない。
【００２０】
ゲストＯＳ管理部３３は、仮想化ソフトウェア７が備えるゲストＯＳの管理機能である。ゲストＯＳの起動や停止の管理からゲストＯＳの状態の管理まで、管理に必要な機能を備えている。また、ゲストＯＳ管理部３３は、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂから第１及び第２通信ハードウェア１５ａ、１５ｂの通信状態を取得し、通信経路制御部２５へ提供する。
【００２１】
ホストＯＳアプリケーション９は、ホストＯＳ３で動作するアプリケーションであり、このアプリケーションが外部のインターネット等と通信する際には、ホストＯＳ３が提供する仮想ネットワークインターフェース２１を使用する。
【００２２】
ゲストＯＳ１１ａは、仮想化ソフトウェア７によって提供された仮想環境上で動作するゲストＯＳである。ゲストＯＳ１１ａ上では、このＯＳ用に最適化されたゲストＯＳアプリケーション４１ａが動作し、その結果、異なる環境であるホストＯＳ３を利用するユーザにもゲストＯＳアプリケーション４１ａの機能が提供される。
【００２３】
ゲストＯＳ１１ｂもゲストＯＳ１１ａと同様に仮想化ソフトウェア７によって提供された仮想環境上で動作するゲストＯＳであり、ホストＯＳ３やゲストＯＳ１１ａでは提供できない異なるＯＳ上に最適化されたゲストＯＳアプリケーション４１ｂが動作している。
【００２４】
第１通信用ゲストＯＳ１３ａは、通信用に最適化されたＯＳが導入されたゲストＯＳであり、第１通信ハードウェア１５ａに対応して設置され、第１通信ハードウェア１５ａの通信品質を含む通信状態を把握している。ここで、第１通信用ゲストＯＳ１３ａは、第１通信ハードウェア１５ａに対応したカーネル５１ａ、ルーティング部５３ａ、暗号化モジュール５５ａ、ドライバ５７ａ等のソフトウェアを備えている。また、第１通信用ゲストＯＳ１３ａには、第１通信ハードウェア１５ａを用いて通信するのに必要な個人情報（ＩＤ、パスワード）が設定されている。そして、仮想ネットワークインターフェース２１から転送された通信データをルーティングする機能を備え、受信した通信データに必要な認証と暗号化を行った上で、認識している第１通信ハードウェア１５ａを経由して外部ネットワーク１７へ通信する。
【００２５】
第２通信用ゲストＯＳ１３ｂは、第１通信用ゲストＯＳ１３ａと同一の機能を備えているが、第２通信ハードウェア１５ｂに対応している点が相違している。尚、本実施形態では通信ハードウェアが２つの場合を一例として説明しているが、通信ハードウェアが３つ以上であってもよい。その場合には、通信用ゲストＯＳも通信ハードウェアに対応して３つ以上設置される。
【００２６】
カーネル５１ａは、第１通信用ゲストＯＳ１３ａにインストールされているＯＳの基本機能部である。ルーティング部５３ａや暗号化モジュール５５ａ、ドライバ５７ａが導入されており、第１通信ハードウェア１５ａへ通信データを送信するにあたり必要な基本機能を提供する。尚、カーネル５１ｂもカーネル５１ａと同一の機能を備えているが、第２通信ハードウェア１５ｂ用に最適化されている点が相違している。
【００２７】
ルーティング部５３ａは、仮想ネットワークインターフェース２１から送られてきた通信データを、第１通信用ゲストＯＳ１３ａ用に接続された第１通信ハードウェア１５ａを転送先として送信する。これにより、仮想ネットワークインターフェース２１を介して通信する各アプリケーションの通信データを、最終的に外部ネットワーク１７へルーティングして通信できるようにしている。尚、ルーティング部５３ｂもルーティング部５３ａと同一の機能を備えているが、第２通信ハードウェア１５ｂを経由する点が相違している。
【００２８】
暗号化モジュール５５ａは、外部ネットワーク１７へアクセスするにあたって必要なデータの暗号化を提供する。この暗号化は、ＳＳＬのようにデータを単純に分かりづらくするためのものや、第１通信ハードウェア１５ａにアクセスするために必須の暗号化等が該当する。尚、暗号化モジュール５５ｂも暗号化モジュール５５ａと同一の機能を備えているが、第２通信ハードウェア１５ｂ用に最適化されている点が相違している。
【００２９】
ドライバ５７ａは、第１通信ハードウェア１５ａにアクセスするために、第１通信用ゲストＯＳ１３ａに導入されたドライバソフトウェアである。このソフトウェアはデータ通信に必要な通信手段を提供すると共に、第１通信ハードウェア１５ａの状態など通信に必要なデータや付加情報を提供する。同様に、ドライバ５７ｂは、第２通信ハードウェア１５ｂにアクセスするために、第２通信用ゲストＯＳ１３ｂに導入されたドライバソフトウェアである。
【００３０】
第１通信ハードウェア１５ａは、３Ｇや無線ＬＡＮ等の通信手段であり、この通信ハードウェア用に用意されたドライバソフトウェアを用いることによって各ＯＳに通信を提供する。
【００３１】
第２通信ハードウェア１５ｂは、第１通信ハードウェア１５ａと同一の機能を備えているが、第１通信ハードウェア１５ａとは異なる通信方式を備えている。
【００３２】
外部ネットワーク１７は、インターネット等のユーザがサービスを受けるために必要なネットワークである。
【００３３】
［通信用ゲストＯＳによる初期化処理の手順］
次に、本実施形態に係る車載通信装置１の第１及び第２通信用ゲストＯＳ１３ａ、１３ｂによる初期化処理の手順を、図２のフローチャートを参照して説明する。
【００３４】
図２に示すように、まずステップＳ１０１において車載通信装置１が起動すると、ステップＳ１０２において仮想化ソフトウェア７が起動し、仮想環境上で動作するゲストＯＳ１１ａ、１１ｂと第１及び第２通信用ゲストＯＳ１３ａ、１３ｂを起動させる。
【００３５】
次に、ステップＳ１０３において、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは、それぞれ第１及び第２通信ハードウェア１５ａ、１５ｂを確認し、自らが対応している通信ハードウェアを認識できたか否かを判定する。そして、認識できない場合には、ステップＳ１０４に進んで、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは接続を監視し、車載通信装置１に新たな通信ハードウェアが追加されたか否かを判定する。これはＵＳＢのような取り外し自在な通信デバイスが追加されたか否かを判定するものである。ここで、新たな通信ハードウェアが追加されていない場合には継続して接続を監視し、新たな通信ハードウェアが追加された場合にはステップＳ１０３に戻る。
【００３６】
一方、ステップＳ１０３において通信ハードウェアを認識できた場合には、ステップＳ１０５に進んで、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは、第１及び第２通信ハードウェア１５ａ、１５ｂを使用するために必要な初期化を行う。具体的には、暗号化モジュール５５ａ、５５ｂとドライバ５７ａ、５７ｂを用いて第１及び第２通信ハードウェア１５ａ、１５ｂを初期化し、通信を開始する。
【００３７】
次に、ステップＳ１０６において、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは、データ転送用のルーティング設定をシステムに対して行う。これにより、ホストＯＳ３が保有する仮想ネットワークインターフェース２１から転送されてくる通信データを、第１及び第２通信ハードウェア１５ａ、１５ｂを経由して外部ネットワーク１７へ送信できるようになる。
【００３８】
次に、ステップＳ１０７において、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは、第１及び第２通信ハードウェア１５ａ、１５ｂの通信状態を把握してゲストＯＳ管理部３３からの状態問い合わせに備える。このとき、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは、第１及び第２通信ハードウェア１５ａ、１５ｂが通信可能であるか否かだけではなく、電波強度や通信速度等の通信品質が良好であるか否かについての情報も取得して把握する。
【００３９】
こうして第１及び第２通信用ゲストＯＳ１３ａ、１３ｂが、第１及び第２通信ハードウェア１５ａ、１５ｂの通信状態を把握すると、本実施形態に係る通信用ゲストＯＳによる初期化処理を終了する。
【００４０】
［仮想ネットワークインターフェースの送信先の切り替え処理の手順］
次に、本実施形態に係る車載通信装置１による仮想ネットワークインターフェース２１の送信先を切り替える処理の手順を、図３のフローチャートを参照して説明する。
【００４１】
この切り替え処理は、車載通信装置１がすでに通信を開始しており、外部ネットワーク１７を経由して必要な通信データの送受信を行っているときに実行される。また、この切り替え処理では、通常は３Ｇ等の広いエリアの低速な通信を行い、特定のエリアのみで無線ＬＡＮによる高速通信を行う場合を想定しており、エリアが変わって通信が変化した場合に対応するための処理である。したがって、第１及び第２通信ハードウェア１５ａ、１５ｂに何らかの通信状態の変化が起きた場合に、この処理が実行される。
【００４２】
図３に示すように、まずステップＳ２０１において、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂのドライバ５７ａ、５７ｂは、それぞれ第１及び第２通信ハードウェア１５ａ、１５ｂを監視して通信状態を把握する。このとき、ドライバ５７ａ、５７ｂは、第１及び第２通信ハードウェア１５ａ、１５ｂが通信可能であるか否かだけではなく、電波強度や通信速度等の通信品質が良好であるか否かについても把握する。
【００４３】
次に、ステップＳ２０２において、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂは、ゲストＯＳ管理部３３からドライバ５７ａ、５７ｂに通信状態の問い合わせが来たか否かを判定する。ここで、通信状態の問い合わせが来ていない場合にはステップＳ２０１に戻って最新の通信状態を保持し続け、問い合わせが来た場合にはステップＳ２０３へ進む。
【００４４】
ステップＳ２０３では、ドライバ５７ａ、５７ｂがゲストＯＳ管理部３３へ通信状態のデータを提供する。
【００４５】
次に、ステップＳ２０４において、ゲストＯＳ管理部３３が、通信経路制御部２５から通信状態の問い合わせが来たか否かを判定する。そして、通信状態の問い合わせが来ていない場合にはステップＳ２０１に戻って最新の通信状態を保持し続け、問い合わせが来た場合にはステップＳ２０５へ進む。尚、本実施形態ではポーリングすることを想定しているが、搭載された車両の状態に合わせて必要な際に通信状態を取得するようにしてもよい。
【００４６】
ステップＳ２０５では、ゲストＯＳ管理部３３が、通信経路制御部２５へ通信状態のデータを提供する。
【００４７】
次に、ステップＳ２０６において、通信経路制御部２５は、第１通信ハードウェア１５ａの通信状態が第２通信ハードウェア１５ｂの通信状態より良いか否かを判定する。そして、第１通信ハードウェア１５ａの通信状態が良い場合にはステップＳ２０７へ進み、第２通信ハードウェア１５ｂの通信状態が良い場合にはステップＳ２０８へ進む。尚、本実施形態では通信ハードウェアが２つの場合を一例として説明しているが、３つ以上の場合には最も通信状態の良い通信ハードウェアを選択すればよい。
【００４８】
ステップＳ２０７では、通信経路制御部２５が、仮想ネットワークインターフェース２１のデフォルトのデータ送信先アドレスを第１通信用ゲストＯＳ１３ａに設定する。
【００４９】
また、ステップＳ２０８では、通信経路制御部２５が、仮想ネットワークインターフェース２１のデフォルトのデータ送信先アドレスを第２通信用ゲストＯＳ１３ｂに設定する。
【００５０】
こうして、通信状態の良いほうの通信ハードウェアを使用できるように仮想ネットワークインターフェース２１の送信先が設定されると、本実施形態に係る仮想ネットワークインターフェース２１の送信先の切り替え処理を終了する。
【００５１】
［アプリケーションによる通信処理の手順］
次に、本実施形態に係る車載通信装置１のアプリケーションによる通信処理の手順を図４のフローチャートを参照して説明する。ただし、図４ではホストＯＳアプリケーション９が外部ネットワーク１７と通信する場合を示しているが、ゲストＯＳアプリケーション４１ａ、４１ｂが外部ネットワーク１７と通信する場合も同様な処理となる。
【００５２】
図４に示すように、まずステップＳ３０１において、ホストＯＳアプリケーション９はユーザにサービスを提供するために通信を開始し、ステップＳ３０２において通信するためにカーネル５が提供するネットワーク機能へアクセスして通信データを送信する。
【００５３】
次に、ステップＳ３０３において、カーネル５は、受け取ったホストＯＳアプリケーション９からの通信データを、自身にインストールされている仮想ネットワークインターフェース２１へ送出する。
【００５４】
ステップＳ３０４において、仮想ネットワークインターフェース２１は、論理ネットワーク２３へ通信データを転送する。このとき、通信データの送信先は、通信経路制御部２５によって指示されたアドレスになっている。すなわち、通信経路制御部２５の指示により第１及び第２通信用ゲストＯＳ１３ａ、１３ｂのいずれかが通信データの送信先となる。
【００５５】
ステップＳ３０５において、第１通信用ゲストＯＳ１３ａが、通信データを受信したか否かを判定する。そして、受信した場合には、ステップＳ３０６に進み、第１通信用ゲストＯＳ１３ａのルーティング部５３ａが通信データを外部へ転送するための処理を行い、ステップＳ３０７において暗号化モジュール５５ａが通信データを暗号化する。この後、ステップＳ３０８において、ドライバ５７ａを用いて第１通信ハードウェア１５ａへ通信データを送信する。
【００５６】
一方、ステップＳ３０５において、第１通信用ゲストＯＳ１３ａが、通信データを受信しなかった場合には、ステップＳ３０９に進み、第２通信用ゲストＯＳ１３ｂが通信データを受信する。
【００５７】
そして、ステップＳ３１０では、第２通信用ゲストＯＳ１３ｂのルーティング部５３ｂが通信データを外部へ転送するための処理を行い、ステップＳ３１１において暗号化モジュール５５ｂが通信データを暗号化する。この後、ステップＳ３１２において、ドライバ５７ｂを用いて第２通信ハードウェア１５ｂへ通信データを送信する。
【００５８】
こうして第１及び第２通信用ゲストＯＳ１３ａ、１３ｂのいずれかで通信データを送信するための処理が行われると、ステップＳ３１３において、第１及び第２通信ハードウェア１５ａ、１５ｂのいずれかにより外部ネットワーク１７へ通信データが送信される。これにより、ホストＯＳアプリケーション９が送信した通信データを、最終的に外部へ送信して本実施形態に係るアプリケーションによる通信処理を終了する。
【００５９】
［第１実施形態の効果］
以上詳細に説明したように、本実施形態に係る車載通信装置１では、第１及び第２通信ハードウェア１５ａ、１５ｂに対応させて第１及び第２通信用ゲストＯＳ１３ａ、１３ｂを設けている。そして、第１及び第２通信ハードウェア１５ａ、１５ｂの通信品質に基づいて通信ハードウェアを選択し、仮想ネットワークインターフェース２１の通信データの送信先となる通信用ゲストＯＳを切り替えている。これにより、複数の通信ハードウェアの中から通信品質に応じて柔軟に通信を切り替えることができるので、常により良い通信ハードウェアを自動的に選択して通信することができる。
【００６０】
また、本実施形態に係る車載通信装置１では、仮想ネットワークインターフェース２１が、１つのネットワークアドレスを保持し、送信先の切り替え機能を有するソフトウェアで構成されている。これにより、アプリケーションを通信仕様に関係なく設計することができる。また、アプリケーションは送信先の通信ハードウェアを意識することなく通信することができる。
【００６１】
さらに、本実施形態に係る車載通信装置１では、仮想環境を仮想化ソフトウェア７によって提供し、仮想化ソフトウェア７は仮想的なハードウェアをエミュレーションすることによって仮想環境を提供している。これにより、複数の通信用ゲストＯＳを動作させることができるので、複数の通信ハードウェアを切り替えて通信することができる。また、ゲストＯＳの追加、削除、更新を容易に行うことができる。
【００６２】
また、本実施形態に係る車載通信装置１では、第１及び第２通信用ゲストＯＳ１３ａ、１３ｂが、それぞれルーティング部５３ａ、５３ｂと、暗号化モジュール５５ａ、５５ｂと、ドライバ５７ａ、５７ｂを有している。これにより、通信用ゲストＯＳ毎に通信ハードウェア固有の暗号化方式や個人情報を扱うことができるので、通信ハードウェアの仕様に合わせて最適な機能を提供することができる。また、他の通信ハードウェアによる制限や影響を最小限に抑えることができるので、安定で高速な通信環境を提供することができる。さらに、通信用ゲストＯＳの間が完全に分離されているので、更新する際には必要な通信用ゲストＯＳのみを更新すればよい。また、新たな通信ハードウェアを追加、更新する場合も通信用ゲストＯＳ同士が互いに影響を受けることなく更新できるので、システム更新による不具合や不安定化を防止することができる。
【００６３】
［第２実施形態］
次に、本発明の第２実施形態に係る車載通信装置について図面を参照して説明する。尚、第１実施形態と同一の構成要素には同一の番号を付して詳細な説明は省略する。
【００６４】
［車載通信装置の構成］
図５は本実施形態に係る車載通信装置の構成を示すブロック図である。図５に示すように、本実施形態に係る車載通信装置６１は、通信条件記憶部６３と、通信条件判定部６５をさらに備え、車両に搭載されたＧＰＳ６７と、ＣＡＮ６９に接続されていることが、第１実施形態と相違している。
【００６５】
本実施形態の車載通信装置６１は、車両の状態に応じて予め通信条件を設定しておき、車両の状態が通信条件を満たすか否かを判定することによって、通信データを送信する通信ハードウェアを選択する。
【００６６】
通信条件記憶部６３は、移動体である車両が通信する際に、車両の状態に応じて第１及び第２通信ハードウェア１５ａ、１５ｂのいずれかを選択するための通信条件を記憶している。ここで、通信条件としては、車両に関する様々なパラメータを用いることが可能であるが、本実施形態では車両の「速度」と「位置(緯度、経度)」をパラメータとして利用する場合を一例として示す。
【００６７】
通信条件判定部６５は、車両に搭載された各種センサーからの情報を取得し、車両の状態が通信条件を満たすか否かを判定して、通信データを外部ネットワーク１７へ送信する通信ハードウェアを選択する。具体的には、ＧＰＳ６７とＣＡＮ６９から車両の速度と位置を取得し、通信条件記憶部６３に記憶された通信条件を取得する。そして、車両の状態が通信条件を満たすか否かを判定して、外部ネットワーク１７へ送信するための通信ハードウェアとして第１及び第２通信ハードウェア１５ａ、１５ｂのいずれかを選択する。この判定結果は通信経路制御部２５に送信されて仮想ネットワークインターフェース２１の制御に使用される。
【００６８】
ＧＰＳ（Global Positioning System）６７は、車両に搭載され、車両の位置情報を取得するためのデバイスである。
【００６９】
ＣＡＮ（Controller Area Network）６９は、車両に搭載された車載ネットワークであり、車両情報を取得するためのデバイスである。本実施形態では、特に車両の状態として車両の速度を取得する。
【００７０】
次に、図６を参照して、通信条件記憶部６３に記憶されている通信条件の一例を示す。図６に示すように、６０１は、車両の速度の判定条件であり、時速６０km/hより高い場合のみが該当する条件分岐である。
【００７１】
６０２は、６０１が適合する場合に使用する通信ハードウェアを指定する条件である。すなわち、車両が６０km/hより高い車速であれば、第１通信ハードウェア１５ａを使用することを定義する。
【００７２】
６０３は、「else if」文であり、６０１が適合せず、尚且つ新たな条件として車両の速度が０km/hの場合を指定する条件分岐である。
【００７３】
６０４は、６０３が適合する場合に使用する通信ハードウェアを指定する条件である。図６では、指定する通信ハードウェアが無いので、速度が０km/h（車両停止）のときには通信を行わないことを定義する。
【００７４】
６０５は、「else」文であり、これ以降の条件は６０１や６０３が成立しない場合に適用される。図６では車両の速度が０km/hより大きく、６０km/h以下の場合に該当する。
【００７５】
６０６は、ＧＰＳ６７から取得した位置情報による条件の判定式である。()内は緯度、経度、半径を示している。ただし、図６では緯度と経度の値は、一例として「０」としている。尚、指定した半径は、対象の緯度、経度を中心として半径内が対称エリアとなり、このエリア内に車両が侵入した場合に有効となる条件を意味している。例えば、自宅ではプライベートな無線ＬＡＮ等の通信手段を用いる場合や特定のエリア内だけで提供される狭域なサービス提供を利用する場合に、６０６の通信条件を指定する。
【００７６】
６０７は、車両が６０６のエリア内に進入したときに利用する通信ハードウェアを指定する条件であり、図６では第１通信ハードウェア１５ａを使用することを定義する。
【００７７】
６０８は、６０７が該当しないエリアに車両が位置する場合に適合する条件分岐である。
【００７８】
６０９は、６０８が適合する場合に使用する通信ハードウェアを指定する条件であり、図６では第２通信ハードウェア１５ｂを使用することを定義する。ただし、第１及び第２通信ハードウェア１５ａ、１５ｂの両方を指定して、通信経路制御部２５が通信状態の良いほうの通信ハードウェアを選択するようにしてもよい。
【００７９】
［通信条件判定部による通信ハードウェアの選択処理の手順］
次に、本実施形態に係る車載通信装置６１の通信条件判定部６５による通信ハードウェアの選択処理の手順を図７のフローチャートを参照して説明する。
【００８０】
図７に示すように、まずステップＳ４０１において、通信条件判定部６５が起動すると、通信条件記憶部６３から図６に示した通信条件を取得して初期化する。
【００８１】
次に、通信条件判定部６５は、ステップＳ４０２においてＧＰＳ６７から位置情報を取得し、ステップＳ４０３においてＣＡＮ６９から車両の状態を示す車両情報を取得する。
【００８２】
ステップＳ４０４において、通信条件判定部６５は、車両の状態を図６に示した通信条件により判定し、第１通信ハードウェア１５ａが選択されたか否かを判定する。
【００８３】
ここで、第１通信ハードウェア１５ａが選択された場合、すなわち図６の通信条件で車速が６０km/hより高い場合と、車速が０km/hより高く６０km/h以下で指定されたエリア内に車両が位置する場合には、ステップＳ４０５に進む。
【００８４】
ステップＳ４０５では、通信条件判定部６５が、第１通信ハードウェア１５ａを使用対象の通信デバイスとして通信経路制御部２５に通知して接続情報を送信し、本実施形態に係る通信ハードウェアの選択処理を終了する。
【００８５】
一方、ステップＳ４０４において、第１通信ハードウェア１５ａが選択されなかった場合、すなわち図６の通信条件で車速が０km/h以上で６０km/h以下で指定されたエリア内に車両が位置しない場合には、ステップＳ４０６に進む。
【００８６】
ステップＳ４０６では、通信条件判定部６５は、車両の状態を図６に示した通信条件により判定し、第２通信ハードウェア１５ｂが選択されたか否かを判定する。
【００８７】
ここで、第２通信ハードウェア１５ｂが選択されなかった場合、すなわち図６の通信条件で車速が０km/hの場合にはステップＳ４０７に進んで、通信条件に合致する通信ハードウェアなしと判定してステップＳ４０２に戻る。一方、第２通信ハードウェア１５ｂが選択された場合、すなわち図６の通信条件で車速が０km/hより高く６０km/h以下で指定されたエリア内に車両が位置しない場合には、ステップＳ４０８に進む。
【００８８】
ステップＳ４０８では、通信条件判定部６５が、第２通信ハードウェア１５ｂを使用対象の通信デバイスとして通信経路制御部２５に通知して接続情報を送信し、本実施形態に係る通信ハードウェアの選択処理を終了する。
【００８９】
［第２実施形態の効果］
以上詳細に説明したように、本実施形態に係る車載通信装置６１では、車両の状態に応じて通信ハードウェアを選択するための通信条件を設定しておき、車両の状態が通信条件を満たすか否かを判定して通信ハードウェアを選択する。これにより、車両の状態に応じて適切な通信ハードウェアを選択して通信することができる。例えば、自宅ではプライベートな無線ＬＡＮを利用し、特定のエリア内ではそのエリア特有の狭域なサービスを利用することができる。
【００９０】
［第３実施形態］
次に、本発明の第３実施形態に係る車載通信装置について図面を参照して説明する。尚、第１及び第２実施形態と同一の構成要素には同一の番号を付して詳細な説明は省略する。
【００９１】
［車載通信装置の構成］
図８は本実施形態に係る車載通信装置の構成を示すブロック図である。図８に示すように、本実施形態に係る車載通信装置８１は、ハードウェア管理部８３をさらに備えたことが第１及び第２実施形態と相違している。また、ホストＯＳアプリケーションの一例としてナビゲーションアプリケーション８５がインストールされており、第２通信ハードウェア１５ｂが追加され、それに伴って第２通信用ゲストＯＳ１３ｂが追加される場合を一例として説明する。
【００９２】
本実施形態の車載通信装置８１では、通信ハードウェアが追加、更新された場合にその通信ハードウェアに対応した通信用ゲストＯＳを追加、更新する。これにより、通信ハードウェアの追加や更新を容易に行うことができるようにする。したがって、ユーザは新たな携帯電話やスマートフォンの買い替え、世代交代があった場合でも、大きなシステム更新を行うことなく対応することが可能になる。
【００９３】
ハードウェア管理部８３は、ＵＳＢのようなプラグインすることで機能する通信デバイスを監視するためのソフトウェアである。ハードウェア管理部８３は、新たな通信ハードウェアが追加して接続されると、その通信ハードウェアの情報を取得して検知し、通信ハードウェアを使用するために必要な初期化を開始するトリガーを提供する。
【００９４】
ナビゲーションアプリケーション８５は、ホストＯＳアプリケーションの中の１つのアプリケーションである。主にＧＵＩ（Graphical User Interface）を提供するとともにユーザへの情報提供、ユーザの判断を受け付けるアプリケーションとして機能する。
【００９５】
第２通信用ゲストＯＳ１３ｂは、本実施形態では外部の更新サーバに配置されている更新ソフトウェアとして提供されるが、機能は第１実施形態と同一である。したがって、更新後は仮想化ソフトウェア７によって、ゲストＯＳ管理部３３や論理ネットワーク２３に接続される。
【００９６】
第２通信ハードウェア１５ｂは、新たに接続された通信ハードウェアであり、ここではユーザの携帯電話やスマートフォン等の更新可能な通信ハードウェアのことを指している。ただし、更新とは通信ハードウェアの買い換えも含んでいる。
【００９７】
尚、本実施形態では、図１に記載されているゲストＯＳ１１ａ、１１ｂは簡略化のため省略している。
【００９８】
［ハードウェア管理部による通信用ゲストＯＳの追加処理の手順］
次に、本実施形態に係る車載通信装置８１による通信用ゲストＯＳの追加処理の手順を図９のフローチャートを参照して説明する。
【００９９】
図９に示すように、まずステップＳ５０１において、ユーザが新たな通信ハードウェアとして第２通信ハードウェア１５ｂを購入して追加しようとする場合、ユーザは第２通信ハードウェア１５ｂを接続する。
【０１００】
ステップＳ５０２において、ハードウェア管理部８３は、システムに接続された第２通信ハードウェア１５ｂを感知する。
【０１０１】
ステップＳ５０３において、ハードウェア管理部８３は、ナビゲーションアプリケーション８５に第２通信ハードウェア１５ｂのハードウェア情報を提供する。
【０１０２】
ステップＳ５０４において、ナビゲーションアプリケーション８５は、新たな通信ハードウェアが接続されたことをユーザに通知し、この通信ハードウェアに対応した通信用ゲストＯＳの存在の有無を更新サーバに確認するか否かをユーザに問い合わせる。ここで、ユーザが確認を希望しなければ、本実施形態に係る通信用ゲストＯＳの追加処理を終了する。
【０１０３】
一方、ユーザが確認を希望した場合には、ステップＳ５０５に進んで、ナビゲーションアプリケーション８５は外部ネットワーク１７を通じて更新用サーバとの通信を開始する。
【０１０４】
ステップＳ５０６において、ナビゲーションアプリケーション８５は、追加された第２通信ハードウェア１５ｂに対応した第２通信用ゲストＯＳ１３ｂが更新サーバ上に存在するか否かを確認する。
【０１０５】
そして、第２通信用ゲストＯＳ１３ｂが更新サーバ上に存在した場合には、ステップＳ５０７へ進む。ステップＳ５０７では、ナビゲーションアプリケーション８５が、第２通信用ゲストＯＳ１３ｂをダウンロードし、仮想化ソフトウェア７上にインストールして必要な初期設定を行って本実施形態に係る通信用ゲストＯＳの追加処理を終了する。
【０１０６】
一方、第２通信用ゲストＯＳ１３ｂが更新サーバ上に存在しなかった場合には、ステップＳ５０８へ進んで、通信用ゲストＯＳが存在しなかったことをユーザへ通知して本実施形態に係る通信用ゲストＯＳの追加処理を終了する。
【０１０７】
尚、本実施形態では、通信ハードウェアを追加する場合について説明したが、通信ハードウェアを更新する場合も同様の処理で対応することができる。
【０１０８】
［第３実施形態の効果］
以上詳細に説明したように、本実施形態に係る車載通信装置８１では、通信ハードウェアの追加接続を検知すると、追加接続された通信ハードウェアに対応した通信用ゲストＯＳを追加して設定する。これにより、通信ハードウェアの追加、更新を容易に行うことができるので、通信方式の変更やアップデートにも柔軟に対応することができる。
【０１０９】
［第４実施形態］
次に、本発明の第４実施形態に係る車載通信装置について図面を参照して説明する。尚、第１〜第３実施形態と同一の構成要素には同一の番号を付して詳細な説明は省略する。
【０１１０】
［車載通信装置の構成］
図１０は本実施形態に係る車載通信装置の構成を示すブロック図である。図１０に示すように、本実施形態に係る車載通信装置１０１では、通信ハードウェア１５が１つのみであることが第１実施形態と相違している。また、第２通信用ゲストＯＳ１３ｂに変換モジュール１０３が導入されていることが相違している。
【０１１１】
第１通信用ゲストＯＳ１３ａは、暗号化モジュール５５ａが導入されており、通信ハードウェア１５を用いて暗号化を行いながら外部ネットワーク１７と通信することが可能である。
【０１１２】
第２通信用ゲストＯＳ１３ｂは、変換モジュール１０３が導入されており、法人向けの特殊接続に対応するために必要な変換処理を行うことができる。ただし、変換モジュール１０３で行われる変換の中には、暗号化等も含まれるため、暗号化を行うことも可能である。
【０１１３】
本実施形態に係る車載通信装置１０１では、仮想環境という閉じた環境を用いて複数の通信用ゲストＯＳ１３ａ、１３ｂで異なる接続情報や個人情報（ユーザＩＤ、パスワード）を管理し、１つの通信ハードウェア１５を用いて外部ネットワーク１７と通信する。これにより、例えば家族それぞれの個人情報を別々の通信用ゲストＯＳで管理して通信回線は共有することができる。
【０１１４】
また、複数の通信用ゲストＯＳ１３ａ、１３ｂで複数の暗号化・プロトコルを管理し、セキュリティレベル毎に別の通信用ゲストＯＳで接続したり、特殊なプロトコルへ対応するための通信用ゲストＯＳを別に設けたりすることが可能となる。
【０１１５】
［第５実施形態］
次に、本発明の第５実施形態に係る車載通信装置について図面を参照して説明する。尚、第１〜第４実施形態と同一の構成要素には同一の番号を付して詳細な説明は省略する。
【０１１６】
［車載通信装置の構成］
図１１は本実施形態に係る車載通信装置の構成を示すブロック図である。図１１に示すように、本実施形態に係る車載通信装置１１１は、ナビゲーションアプリケーション１１３が、通信マップ１１５を保持していることが第３実施形態と相違している。また、第３実施形態ではハードウェア管理部８３を備えていたが、本実施形態では備えていない。
【０１１７】
ナビゲーションアプリケーション１１３は、図８に示したナビゲーションアプリケーション８５と同一の機能を備えているが、本実施形態では位置毎に適切な通信ハードウェアを記録した通信マップ１１５を保持している。
【０１１８】
通信マップ１１５は、マップ上の位置毎に適切な通信ハードウェアを記録しており、適切な通信ハードウェアを選択するための情報や、選択した通信ハードウェアを接続するための接続情報を含んでいる。
【０１１９】
ここで、第２通信ハードウェア１５ｂが特定の通信エリアに限定された無線通信用のハードウェアであり、第２通信用ゲストＯＳ１３ｂが第２通信ハードウェア１５ｂに最適化されたゲストＯＳであるとする。
【０１２０】
この場合に、車両が対象の通信エリアに侵入すると、ナビゲーションアプリケーション１１３が通信マップ１１５を参照して第２通信ハードウェア１５ｂを選択したほうが良いと判断する。そうすると、ナビゲーションアプリケーション１１３は、外部ネットワーク１７を通じて更新サーバから第２通信用ゲストＯＳ１３ｂを取得し、通信用ゲストＯＳの追加指示をゲストＯＳ管理部３３へ通知して使用可能な状態にする。
【０１２１】
このように本実施形態に係る車載通信装置１１１では、通信マップ１１５に基づいて通信用ゲストＯＳが必要となった場面でダウンロードして通信ハードウェアを切り替えるので、通信用ゲストＯＳの追加、更新を自動で行うことができる。
【０１２２】
なお、上述の実施形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施形態以外の形態であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計などに応じて種々の変更が可能であることは勿論である。
【符号の説明】
【０１２３】
１、６１、８１、１０１、１１１  車載通信装置
３  ホストＯＳ
５  カーネル
７  仮想化ソフトウェア
９  ホストＯＳアプリケーション
１１ａ、１１ｂ  ゲストＯＳ
１３ａ  第１通信用ゲストＯＳ
１３ｂ  第２通信用ゲストＯＳ
１５ａ  第１通信ハードウェア
１５ｂ  第２通信ハードウェア
１７  外部ネットワーク
２１  仮想ネットワークインターフェース
２３  論理ネットワーク
２５  通信経路制御部
３１  ネットワーク制御部
３３  ゲストＯＳ管理部
４１ａ、４１ｂ  ゲストＯＳアプリケーション
５１ａ、５１ｂ  カーネル
５３ａ、５３ｂ  ルーティング部
５５ａ、５５ｂ  暗号化モジュール
５７ａ、５７ｂ  ドライバ
６３  通信条件記憶部
６５  通信条件判定部
６７  ＧＰＳ
６９  ＣＡＮ
８３  ハードウェア管理部
８５、１１３  ナビゲーションアプリケーション
１０３  変換モジュール
１１５  通信マップ
【図１】
2015076770.tif 000003
【図２】
2015076770.tif 000004
【図３】
2015076770.tif 000005
【図４】
2015076770.tif 000006
【図５】
2015076770.tif 000007
【図６】
2015076770.tif 000008
【図７】
2015076770.tif 000009
【図８】
2015076770.tif 000010
【図９】
2015076770.tif 000011
【図１０】
2015076770.tif 000012
【図１１】
2015076770.tif 000013