(57)【要約】【課題】  本発明の目的は、運用管理負荷を抑えながら情報端末の資源効率をより高める情報端末および情報提供システムを提供することにある。【解決手段】  本発明に係る情報端末は、所定のサーバーと通信回線を介して通信する情報端末であって、情報端末で用いることができる資源の限度量を特定する情報を記憶する記憶部と、サーバーから提供されるサービスに関する情報を取得するブラウザ制御部と、前記ブラウザ制御部により前記サービスに関する情報が取得されると、サービスに関する情報の中から資源を用いる量を特定する情報を取得して、限度量および情報端末で用いている資源の量と比較して資源の競合を判定するウェブアプリ実行管理部と、を備える。【選択図】図１
2018124690.tif 000002
【特許請求の範囲】
【請求項１】
所定のサーバーと通信回線を介して通信する情報端末であって、
前記情報端末で用いることができる資源の限度量を特定する情報を記憶する記憶部と、
前記サーバーから提供されるサービスに関する情報を取得するブラウザ制御部と、
前記ブラウザ制御部により前記サービスに関する情報が取得されると、前記サービスに関する情報の中から前記資源を用いる量を特定する情報を取得して、前記限度量および前記情報端末で用いている資源の量と比較して資源の競合を判定するウェブアプリ実行管理部と、
を備える情報端末。
【請求項２】
請求項１に記載の情報端末であって、
前記資源は、ナビゲーション装置機能を利用するインターフェース資源を含む、
ことを特徴とする情報端末。
【請求項３】
請求項１または２に記載の情報端末であって、
前記資源は、少なくともハードウェア資源とソフトウェア資源とを含む、
ことを特徴とする情報端末。
【請求項４】
請求項１〜３のいずれか一項に記載の情報端末であって、
前記資源は、少なくともハードウェア資源としてディスプレイを含み、ソフトウェア資源として画像バッファを含む、
ことを特徴とする情報端末。
【請求項５】
請求項１〜４のいずれか一項に記載の情報端末であって、
前記資源は、少なくともハードウェア資源としてスピーカーを含み、ソフトウェア資源として音声出力ストリームを含む、
ことを特徴とする情報端末。
【請求項６】
請求項１に記載の情報端末であって、
前記資源は、少なくともナビゲーション機能の目的地の設定に係るソフトウェア資源を含む、
ことを特徴とする情報端末。
【請求項７】
請求項１に記載の情報端末であって、
前記資源は、少なくともカメラ制御に係るソフトウェア資源を含む、
ことを特徴とする情報端末。
【請求項８】
請求項１〜７のいずれか一項に記載の情報端末であって、
前記ウェブアプリ実行管理部は、
前記資源の競合の判定の結果、競合する資源を使用するタブが存在する場合には、
当該タブを用いて前記サービスを起動させる、
ことを特徴とする情報端末。
【請求項９】
情報端末と、サーバーと、が通信回線を介して通信可能に接続される情報提供システムであって、
前記情報端末は、
前記情報端末で用いることができる資源の限度量を特定する情報を記憶する記憶部と、
前記サーバーから提供されるサービスに関する情報を、前記通信回線を介して取得するブラウザ制御部と、
前記サービスの起動を行うウェブアプリ実行管理部と、
を備え、
前記サーバーは、前記サービスを提供するウェブアプリケーションと、当該サービスが使用する前記情報端末の資源を特定する情報を対応づけて格納する記憶部と、
前記通信回線を介して前記情報端末へ前記サービスが使用する前記情報端末の資源を特定する情報を送信するウェブアプリケーション実行部と、
を備え、
前記ウェブアプリ実行管理部は、
前記ブラウザ制御部により前記サービスに関する情報が取得されると、前記サービスに関する情報の中から前記資源を用いる量を特定する情報を取得して、前記限度量および前記情報端末で用いている資源の量と比較して資源の競合を判定する、
ことを特徴とする情報提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報端末および情報提供システムの技術に関するものである。
【背景技術】
【０００２】
車載機に搭載したＷｅｂブラウザを用いてＷｅｂアプリケーションを含むコンテンツを開く際に、Ｗｅｂブラウザで使用するタブを予め決定したコンテンツの種類に応じて制限する技術が、特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１８５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような技術では、メモリ使用量の増大防止、タブ操作をユーザーに意識させないことによる車載機としての操作感の確保の効果を奏するが、提供するコンテンツごとに予めコンテンツの種類を決定・設定する運用管理を行う必要があり、運用負荷が高い。
【０００５】
本発明の目的は、運用管理負荷を抑えながら情報端末の資源効率をより高める情報端末および情報提供システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記課題を解決すべく、本発明に係る情報端末は、所定のサーバーと通信回線を介して通信する情報端末であって、上記情報端末で用いることができる資源の限度量を特定する情報を記憶する記憶部と、上記サーバーから提供されるサービスに関する情報を取得するブラウザ制御部と、上記ブラウザ制御部により上記サービスに関する情報が取得されると、上記サービスに関する情報の中から上記資源を用いる量を特定する情報を取得して、上記限度量および上記情報端末で用いている資源の量と比較して資源の競合を判定するウェブアプリ実行管理部と、を備える。
【発明の効果】
【０００７】
本願発明によれば、運用管理負荷を抑えながら情報端末の資源効率をより高める情報端末および情報提供システムを提供することが可能となる。上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る実施形態を適用した情報提供システムの構造を示す図である。
【図２】モジュール記憶部のデータ構造を示す図である。
【図３】必要リソース記憶部のデータ構造を示す図である。
【図４】記憶部のフォルダ構成を示す図である。
【図５】機能資源表記憶部のデータ構造を示す図である。
【図６】コンテンツサーバーのハードウェア構造を示す図である。
【図７】車載装置のハードウェア構成を示す図である。
【図８】Ｗｅｂアプリケーション登録処理の流れを示す図である。
【図９】Ｗｅｂアプリケーション起動処理の流れを示す図である。
【図１０】Ｗｅｂアプリケーションランチャー画面の例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明に係る実施形態を適用した情報提供システムについて、図面を参照して説明する。なお、図１〜図１０は、情報提供システム１の全ての構成を示すものではなく、理解容易のため、適宜、構成の一部を省略して描いている。
【００１０】
図１に、本発明に係る実施形態を適用した情報提供システム１の構造を示す。本発明に係る実施形態を適用した情報提供システム１においては、コンテンツサーバー１００と、車載装置２００と、がそれぞれ通信ネットワーク１０を介して通信可能に接続されている。
【００１１】
なお、コンテンツサーバー１００と、車載装置２００とは、通信ネットワーク１０を介して無線で接続されるものであってもよく、通信ネットワーク１０は、例えばインターネット網や携帯電話網等の公衆無線通信網であってもよいし、所定の管理地域ごとに設けられた閉鎖的な通信網であってもよい。より具体的には、そのような通信ネットワーク１０は、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線通信装置３０のアンテナ３５と車載装置２００のアンテナ２５０とを介したＷｉＦｉ（登録商標）等の無線ネットワーク、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ：登録商標）等の近距離無線等の、各種通信方法が複合した通信網であってもよい。
【００１２】
コンテンツサーバー１００は、通信ネットワーク１０を介して、Ｗｅｂアプリケーション登録装置２０と通信可能に接続される。Ｗｅｂアプリケーション登録装置２０は、作成されたＷｅｂアプリケーションをコンテンツサーバー１００に搭載させる。Ｗｅｂアプリケーション登録装置２０は、Ｗｅｂアプリケーションの車載装置２００からの利用を可能にする指示を操作者から受け付けると、当該Ｗｅｂアプリケーションをコンテンツサーバー１００へ搭載させる一般的なコンピューター装置である。一般的には、Ｗｅｂアプリケーション登録装置２０は、Ｗｅｂアプリケーションの作成者・提供者が用いる。
【００１３】
コンテンツサーバー１００は、各種のソフトウェアを実行可能な情報処理装置である。コンテンツサーバー１００は、本実施形態においては、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を備え、複数のソフトウェアをインストール可能であり、並列してソフトウェアを実行することも可能である。なお、コンテンツサーバー１００は、サーバー装置に限られず、パーソナルコンピューター等の各種の独立動作可能な装置であればよい。
【００１４】
コンテンツサーバー１００は、制御部１２０と、記憶部１３０と、通信部１４０と、を含んで構成される。制御部１２０には、車載装置通信制御部１２１と、Ｗｅｂアプリケーション登録部１２２と、必要リソース情報管理部１２３と、Ｗｅｂアプリケーション実行部１２４と、が含まれる。記憶部１３０には、モジュール記憶部１３１と、必要リソース記憶部１３２と、が含まれる。
【００１５】
図２は、モジュール記憶部１３１のデータ構造を示す図である。モジュール記憶部１３１には、ソフトウェア識別子ごとに、表示情報と、処理情報と、が対応付けられて記憶される。具体的には、モジュール記憶部１３１には、ソフトウェア識別子１３１Ａと、表示内容ファイル１３１Ｂと、表示スタイルファイル１３１Ｃと、スクリプトファイル１３１Ｄと、が含まれる。
【００１６】
ソフトウェア識別子１３１Ａには、ソフトウェアを識別する所定の情報である。表示内容ファイル１３１Ｂは、ソフトウェアの表示対象となる情報、すなわちテキスト、テキストの構造、レイアウト等に関する情報が格納される。より具体的には、表示内容ファイル１３１Ｂには、いわゆるＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等により記述される表示情報のデータセットが格納される。
【００１７】
表示スタイルファイル１３１Ｃには、ソフトウェアの表示の修飾情報、すなわちフォント情報や色の指定に関する情報が格納される。より具体的には、表示スタイルファイル１３１Ｃには、いわゆるＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）等のデータセットが格納される。
【００１８】
スクリプトファイル１３１Ｄには、ソフトウェアの処理制御を行う情報、すなわちプログラムに関する情報が格納される。より具体的には、スクリプトファイル１３１Ｄには、いわゆるＪａｖａＳｃｒｉｐｔ（登録商標）等の関数やメソッド、プロシージャ等を特定する情報が格納される。すなわち、スクリプトファイル１３１Ｄには、ソフトウェアの処理を規定する制御情報が格納されるといえる。
【００１９】
図３は、必要リソース記憶部１３２のデータ構造を示す図である。必要リソース記憶部１３２には、ソフトウェア識別子１３２Ａごとに、使用ネイティブ機能識別子１３２Ｂが対応付けられて格納される。ソフトウェア識別子１３２Ａは、ソフトウェアを識別する所定の情報である。使用ネイティブ機能識別子１３２Ｂは、ソフトウェア内で使用する車載装置２００の機能を識別する情報である。例えば、車載装置２００の機能には、車載装置２００で用いることができる資源が含まれ、当該資源には、ナビゲーション装置機能を利用するインターフェース資源が含まれる。
【００２０】
なお、当該資源はこれらに限られず、少なくともハードウェア資源とソフトウェア資源とのいずれかまたは両方が含まれる。例えば、ハードウェア資源としてはディスプレイ、スピーカーあるいはカメラが含まれる。ソフトウェア資源としては画像バッファ、音声ストリーム、ナビゲーション機能の目的地設定に係るＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）やカメラ制御に係るＡＰＩ等が含まれる。
【００２１】
図４は、記憶部１３０のフォルダ構成を示す図である。記憶部１３０には、上述したとおりモジュール記憶部１３１、必要リソース記憶部１３２が存在するが、これらは上述のデータ構造により記憶されることに限られるものではなく、図４の木構造のフォルダ構成に応じてテキストファイル、画像ファイルおよびスクリプトファイル等が配置されるものであってもよい。そのような一般的なフォルダ構成では、Ｒｏｏｔ１３０Ａフォルダの中に、ソフトウェア識別子が「ＷｅｂＡｐｐｌｉｃａｔｉｏｎ１」となるソフトウェアのモジュール群を格納する「ＷｅｂＡｐｐｌｉｃａｔｉｏｎ１」１３０Ｂフォルダおよびソフトウェア識別子が「ＷｅｂＡｐｐｌｉｃａｔｉｏｎ２」となるソフトウェアのモジュール群を格納する「ＷｅｂＡｐｐｌｉｃａｔｉｏｎ２」１３０Ｃフォルダが格納される。また、これに限られず、さらにソフトウェアが配置されている場合には、そのソフトウェア識別子ごとにフォルダが並列的に設けられる。
【００２２】
例えば、「ＷｅｂＡｐｐｌｉｃａｔｉｏｎ１」１３０Ｂフォルダの中には、ＨＴＭＬファイルを格納する「ｈｔｍｌ」１３０Ｄフォルダと、ＣＳＳファイルを格納する「ｃｓｓ」１３０Ｅフォルダと、ＪａｖａＳｃｒｉｐｔファイルを格納する「ＪａｖａＳｃｒｉｐｔ」１３０Ｆフォルダと、ＪａｖａＳｃｒｉｐｔで使用するネイティブ機能（資源）の識別子を列挙したファイルである「ｎａｔｉｖｅｆｕｎｃｔｉｏｎ.ｔｘｔ」１３０Ｇファイルと、が設けられる。
【００２３】
なお、上述のフォルダ構造は、一例であり、関係型データベース等、その他のデータ構造であってもよい。
【００２４】
図１の説明に戻る。車載装置通信制御部１２１は、車載装置２００との通信を制御する。具体的には、車載装置通信制御部１２１は、対向装置となる車載装置２００との無線を用いた通信を制御する。なお、無線を用いた通信には、８０２．１１ｘ等の各種無線通信方式、携帯電話網を介した各種通信方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）を介した無線通信方式等の各種の通信方式を採用することができる。
【００２５】
Ｗｅｂアプリケーション登録部１２２は、車載装置通信制御部１２１を介して利用可能なＷｅｂアプリケーションに関するモジュールや設定ファイル等を、Ｗｅｂアプリケーション登録装置２０から受け付けると、利用可能となるように登録する。具体的には、Ｗｅｂアプリケーション登録部１２２は、ソフトウェア識別子を割り当てて、受け付けたモジュールや設定ファイル等を上述のフォルダ構造に成形して格納する。当該処理において、Ｗｅｂアプリケーション登録部１２２は、必要リソース情報管理部１２３に必要リソースの抽出を依頼し、使用するネイティブ機能について必要リソース記憶部１３２へ格納させる。
【００２６】
必要リソース情報管理部１２３は、Ｗｅｂアプリケーション登録部１２２からの依頼を受け付けると、登録対象のＷｅｂアプリケーションにおいて使用するプラグイン機能について必要リソース記憶部１３２へ格納する。具体的には、必要リソース情報管理部１２３は、登録対象のＷｅｂアプリケーションのモジュールのうち、スクリプト部分を解析して、ネイティブプラグインの呼び出し命令を抽出する。そして、必要リソース情報管理部１２３は、ネイティブ機能（資源）の識別子を必要リソース記憶部１３２の使用ネイティブ機能識別子１３２Ｂに、ソフトウェア識別子１３２Ａに対応付けて格納する。
【００２７】
なお、ネイティブプラグインの呼び出し命令は、例えばＪａｖａＳｃｒｉｐｔのＡＰＩとして“ｓｅｔＤａｔａ（ｉｄ，  Ｓｄａｔａ）”メソッドを介して記載される。ここで、“ｉｄ”は例えば目的地設定機能の識別子、“Ｓｄａｔａ”は例えばＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）の座標値である。この場合には、目的地を座標値で示す位置にセットするようにナビゲーションソフトウェアへ命令を与えることができる。
【００２８】
また例えば、ＷｅｂアプリケーションのロードＡＰＩは“ｓｅｔＤａｔａ（ｉｄ，  Ａｐｌ＿ｕｒｌ，  Ｔａｂｌｅ）”メソッドを介して記載される。ここで、“ｉｄ”は例えば指定ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）へのアクセス機能の識別子、“Ａｐｌ＿ｕｒｌ”はＷｅｂアプリケーションの起動のＵＲＬ、“Ｔａｂｌｅ”は当該Ｗｅｂアプリケーションが用いる資源のリスト情報である。この場合には、ＵＲＬで指定されたＷｅｂアプリケーションを起動させる命令と、当該Ｗｅｂアプリケーションが使用する資源のリストを与えることができる。
【００２９】
Ｗｅｂアプリケーション実行部１２４は、Ｗｅｂアプリケーションとして実行されるソフトウェアの制御処理を行う。具体的には、Ｗｅｂアプリケーション実行部１２４は、Ｗｅｂアプリケーションを起動させる指示を受け付けるメニュー画面を生成し、Ｗｅｂアプリケーションの各種メッセージの通知画面の生成、所定の制御の実行、処理結果表示画面の生成等の各種処理を実行するソフトウェアエンジンとなる。なお、Ｗｅｂアプリケーションは、処理主体がコンテンツサーバー１００となる例を記載しているが、これに限られるものではなく、図示しない別途のＷｅｂアプリケーション実行サーバー等に実行主体を担わせるものであってもよいし、データベースサーバー等の分散サーバー間で連携して処理を行うグリッドコンピューティングにより実現するものであってもよい。
【００３０】
通信部１４０は、コンテンツサーバー１００が、携帯電話キャリア網やインターネット等のオープンネットワークに接続する処理を行う。
【００３１】
車載装置２００は、経路情報や寄り道施設、渋滞情報や事故情報等、各種の情報を地図情報に重畳させて表示させる情報処理装置である。車載装置２００は、コンテンツサーバー１００と接続可能な通信ネットワーク１０に無線通信を介して接続され、インターネット等への接続を実現することができる。
【００３２】
本実施形態においては、車載装置２００は、単体動作可能な情報端末を想定している。しかし、本願発明の対象となる車載装置２００は、図１に示す車載装置２００に限られるものではない。例えば、車両等の移動体に組み込まれた各種制御機器、カーナビゲーション装置等であってもよい。
【００３３】
また、車載装置２００は、移動体あるいは運転者に着脱可能に設けられるものであってもよい。あるいは、車載装置２００は、移動体の運転者あるいは乗員が有する携帯電話機器等の移動端末であってもよく、例えばスマートフォンやフィーチャーフォン、あるいはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、ノートパソコン、サーバー装置、タブレット端末等であってもよい。
【００３４】
車載装置２００は、制御部２２０と、記憶部２３０と、無線通信部２４０と、を含んで構成される。制御部２２０には、サーバー通信制御部２２１と、基本機能制御部２２２と、ブラウザ制御部２２３と、ネイティブプラグイン制御部２２４と、Ｗｅｂアプリ実行管理部２２５と、が含まれる。記憶部２３０には、機能資源表記憶部２３１が格納される。
【００３５】
図５は、機能資源表記憶部２３１のデータ構造を示す図である。機能資源表記憶部２３１には、ネイティブ機能識別子２３１Ａごとに、利用可能資源数２３１Ｂと、コメント（機能説明）２３１Ｃと、が対応付けて格納される。ネイティブ機能識別子２３１Ａは、車載装置２００が有するネイティブ機能（資源）を特定する情報である。利用可能資源数２３１Ｂは、ネイティブ機能識別子２３１Ａにより識別されるネイティブ機能の並列利用に係る上限値を特定する情報である。コメント（機能説明）２３１Ｃは、ネイティブ機能識別子２３１Ａにより識別されるネイティブ機能の説明に関するテキスト情報である。
【００３６】
例えば、ネイティブ機能識別子２３１Ａが「0x1111」である地図上へのＰＯＩ登録に関するネイティブプラグインを介したネイティブ機能に関しては、利用可能資源数２３１Ｂが「２」となっていることから、地図上へのＰＯＩ登録に関して３以上の資源が用いられると、想定外の動作あるいはＰＯＩの上書き等による情報の欠落、表示の欠落等が発生するおそれがあり適切な使用状況から逸脱することとなる。
【００３７】
機能資源表記憶部２３１は、上述したとおり、ネイティブ機能識別子２３１Ａと、利用可能資源数２３１Ｂと、コメント（機能説明）２３１Ｃと、が対応付けられたデータ構造であるが、これは例えば図５に示すように各データをカンマで接続させたＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式のファイルにて管理されるものであってもよい。
【００３８】
図１の説明に戻る。サーバー通信制御部２２１は、コンテンツサーバー１００との通信を制御する。具体的には、サーバー通信制御部２２１は、対向装置となるコンテンツサーバー１００と通信するための無線通信装置３０との無線通信を制御する。
【００３９】
基本機能制御部２２２は、車載装置２００の基本的な機能の処理を制御する。例えば、基本機能制御部２２２は、車載装置２００の起動、終了、モード管理、入出力制御、通信制御、ナビゲーション機能の制御、音声出力制御、車載カメラ制御、車両ネットワーク（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  ＮｅｔｗｏｒｋまたはＬＩＮ：Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ等のクローズドネットワーク）への参加等、車載装置２００の基本動作を実現する制御部である。
【００４０】
ブラウザ制御部２２３は、車載装置２００が備えるＷｅｂブラウザを制御する。Ｗｅｂブラウザは、基本的には一般のウェブサイトを閲覧するためのブラウザであり、ＨＴＭＬの解釈、レンダリング、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信、ＪａｖａＳｃｒｉｐｔの処理実行、ＣＳＳの適用等の各種ウェブサイト閲覧のための一般的な処理を制御する。
【００４１】
ネイティブプラグイン制御部２２４は、車載装置２００が備えるネイティブ機能、具体的には基本機能制御部２２２が行う制御を所定のプラグインＡＰＩを介して利用するインターフェース機能を制御する。
【００４２】
Ｗｅｂアプリ実行管理部２２５は、Ｗｅｂアプリケーションの実行を管理する。具体的には、Ｗｅｂアプリ実行管理部２２５は、ブラウザ制御部２２３上で表示されたＷｅｂアプリケーションのランチャーアイコンのクリック等の入力が基本機能制御部２２２により検出されると、クリックされた画面上の位置を基本機能制御部２２２から受け取り、クリックされたランチャーアイコンを特定する。そして、Ｗｅｂアプリ実行管理部２２５は、当該アイコンに該当するＷｅｂアプリケーションの実行モジュールをコンテンツサーバー１００からダウンロードして、所定のタブを実行環境として割り当てて、起動させる。当該処理においては、Ｗｅｂアプリ実行管理部２２５は、Ｗｅｂアプリケーション（サービス）に関する情報の中から資源を用いる量を特定する情報を取得して、限度量および車載装置２００で用いている資源の量と比較して資源の競合を判定する。
【００４３】
無線通信部２４０は、車載装置２００が、通信ネットワーク１０等のネットワークに接続する処理を行う。
【００４４】
図６は、コンテンツサーバー１００のハードウェア構造を示す図である。コンテンツサーバー１００は、入力受付装置１０１と、演算装置１０２と、通信装置１０３と、主記憶装置１０４と、無線通信装置１０５と、表示装置１０６と、これらをつなぐバス１０８と、を含んで構成される。
【００４５】
入力受付装置１０１は、ハードウェアボタンやキーボード、タッチパネル等の各種入力装置である。演算装置１０２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置である。
【００４６】
通信装置１０３は、携帯電話ネットワーク、インターネット等の通信ネットワーク１０を介して、不特定の装置と通信経路を確立し情報を送受信するネットワークモジュール等の装置である。
【００４７】
主記憶装置１０４は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリ装置である。
【００４８】
無線通信装置１０５は、Ｂｌｕｅｔｏｏｔｈ、ＮＦＣ等の所定のプロトコルを用いて、周囲の装置と無線通信を行う装置である。
【００４９】
表示装置１０６は、例えば液晶ディスプレイや、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示出力を行う装置である。
【００５０】
上記した制御部１２０の各機能部、すなわち車載装置通信制御部１２１、Ｗｅｂアプリケーション登録部１２２、必要リソース情報管理部１２３、Ｗｅｂアプリケーション実行部１２４は、演算装置１０２が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置１０４には、各機能部の処理を実現するためのプログラムが記憶されている。
【００５１】
なお、上記した各構成要素は、コンテンツサーバー１００の構成を、理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。コンテンツサーバー１００の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。
【００５２】
また、制御部１２０の各機能部は、ＣＰＵに限らずハードウェア（ＡＳＩＣ、ＧＰＵなど）により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００５３】
図７は、車載装置２００のハードウェア構造を示す図である。車載装置２００は、入力受付装置２０１と、演算装置２０２と、無線通信装置２０３と、主記憶装置２０４と、外部記憶装置２０５と、車載ネットワーク通信装置２０６と、位置検出装置２０７と、出力表示装置２０８と、これらをつなぐバス２１０と、を含んで構成される。
【００５４】
入力受付装置２０１は、ハードウェアボタンやタッチパネル等の各種入力装置である。演算装置２０２は、例えばＣＰＵなどの演算装置である。
【００５５】
無線通信装置２０３は、無線ネットワーク、あるいはＢｌｕｅｔｏｏｔｈ等を介して、例えばコンテンツサーバー１００等の他の装置と通信経路を確立し情報を送受信するネットワークモジュール等の装置である。
【００５６】
主記憶装置２０４は、例えばＲＡＭなどのメモリ装置である。
【００５７】
外部記憶装置２０５は、例えばハードディスクやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、その他各種の不揮発性記憶媒体に情報を書き込み、あるいは不揮発性記憶媒体から所定の情報を読み出す装置である。
【００５８】
車載ネットワーク通信装置２０６は、ＣＡＮ等の車載ネットワークに接続された他の機器と通信を行う装置である。
【００５９】
位置検出装置２０７は、例えばＧＰＳ等の衛星波を受信して地球上における位置を特定する座標を得る。
【００６０】
出力表示装置２０８は、例えば液晶ディスプレイや、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示出力を行う装置である。
【００６１】
上記した制御部２２０の各機能部、すなわちサーバー通信制御部２２１、基本機能制御部２２２、ブラウザ制御部２２３、ネイティブプラグイン制御部２２４、Ｗｅｂアプリ実行管理部２２５は、演算装置２０２が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置２０４には、各機能部の処理を実現するためのプログラムが記憶されている。
【００６２】
なお、上記した各構成要素は、車載装置２００の構成を、理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。車載装置２００の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。
【００６３】
また、制御部２２０の各機能部は、ＣＰＵに限らずハードウェア（ＡＳＩＣ、ＧＰＵなど）により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００６４】
［動作の説明］次に、Ｗｅｂアプリケーション登録装置２０からＷｅｂアプリケーションをコンテンツサーバー１００に登録する処理の動作について説明する。
【００６５】
図８は、Ｗｅｂアプリケーション登録処理の流れを示す図である。Ｗｅｂアプリケーション登録処理は、コンテンツサーバー１００がＷｅｂアプリケーション登録要求を受け付けると開始される。
【００６６】
まず、Ｗｅｂアプリケーション登録装置２０からコンテンツサーバー１００へ、作成したＷｅｂアプリケーションのモジュールの送信が行われる（ステップＳ１０１）。具体的には、Ｗｅｂアプリケーション登録部１２２は、Ｗｅｂアプリケーション登録装置２０へＷｅｂアプリケーションのモジュールおよび各種設定ファイルを送信するよう依頼し、Ｗｅｂアプリケーション登録装置２０は依頼に応じるようにＨＴＭＬファイルやＣＳＳファイル、ＪａｖａＳｃｒｉｐｔファイルをコンテンツサーバー１００へ送信する。
【００６７】
そして、Ｗｅｂアプリケーション登録部１２２は、Ｗｅｂアプリケーションのモジュールを所定の形式で記憶する（ステップＳ１０２）。具体的には、Ｗｅｂアプリケーション登録部１２２は、ステップＳ１０１で受信したＷｅｂアプリケーションのモジュールを、そのファイルフォーマットに応じてモジュール記憶部１３１へ格納する。
【００６８】
そして、Ｗｅｂアプリケーション登録部１２２は、必要リソース情報管理部１２３に依頼して、記憶したモジュールのうちスクリプト部分を解析しネイティブプラグインの呼び出し命令を抽出して、資源（ネイティブ機能識別子）を必要リソース記憶部１３２にリスト化させる（ステップＳ１０３）。具体的には、必要リソース情報管理部１２３は、ステップＳ１０２において受信したＪａｖａＳｃｒｉｐｔファイルを対象として、所定のネイティブプラグインＡＰＩ（例えば、「ｓｅｔＤａｔａ」関数）の呼び出しを行う記述箇所をすべて正規表現等により検索する。
【００６９】
必要リソース情報管理部１２３は、検索した結果抽出された記述箇所のそれぞれから、その所定の引数として受け渡す使用ネイティブ機能識別子を抽出して、必要リソース記憶部１３２の使用ネイティブ機能識別子１３２Ｂに追加する（ｎａｔｉｖｅｆｕｎｃｔｉｏｎ.ｔｘｔのファイルに追記する）。
【００７０】
なお、この処理は、ネイティブプラグインＡＰＩの呼び出しに関するフォーマットが予め「ｓｅｔＤａｔａ」関数であること、その第一引数として使用ネイティブ機能識別子を受け渡すこと、等の定めを前提とする例である。そのため、それ以外の形式によるＡＰＩを用いている場合には、必要リソース情報管理部１２３は、ＡＰＩの形式に応じて適切に文字列検索によるＡＰＩ呼び出し箇所の特定を行い、使用ネイティブ機能識別子を取得する。
【００７１】
以上が、Ｗｅｂアプリケーション登録処理の流れである。この流れによれば、Ｗｅｂアプリケーションがコンテンツサーバー１００に登録される際に、使用しているネイティブプラグインＡＰＩの呼び出し箇所を抽出して、その使用ネイティブ機能識別子を必要リソース記憶部１３２へ格納することができる。そのため、コンテンツであるＷｅｂアプリケーションが増加した場合でも、自動的に使用する資源をリストすることができるため、運用管理に係る負荷は抑えられる。
【００７２】
図９は、Ｗｅｂアプリケーション起動処理の流れを示す図である。Ｗｅｂアプリケーション起動処理は、車載装置２００のブラウザ制御部２２３が起動すると、開始される。
【００７３】
まず、ブラウザ制御部２２３は、ランチャーコンテンツを第一のタブにロードし、Ｗｅｂアプリ一覧画面を表示する（ステップＳ２０１）。具体的には、ブラウザ制御部２２３は、予め定められたランチャーコンテンツあるいは車載装置２００において予め設定が変更されたランチャー画面を生成して第一のタブにロードする。当該ランチャー画面には、当該車載装置２００において実行可能なＷｅｂアプリケーションの起動指示を受け付けるためのアイコン等が表示される。
【００７４】
図１０は、Ｗｅｂアプリケーションランチャー画面の例を示す図である。Ｗｅｂアプリケーションランチャー画面３００には、登録されており、当該車載装置２００において実行可能なＷｅｂアプリケーションのアイコン画像３０１〜３０３がタイル表示される。アイコン画像３０１〜３０３のそれぞれは、「Ｗｅｂアプリケーション１」〜「Ｗｅｂアプリケーション３」のそれぞれに対応付けられており、アイコンへのタッチ入力が検出されると、ブラウザ制御部２２３は、当該対応するＷｅｂアプリケーションの起動指定として受け付ける。なお、Ｗｅｂアプリケーションランチャー画面３００は、ＨＴＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ等により構成されたＷｅｂページである。
【００７５】
そして、Ｗｅｂアプリ実行管理部２２５は、起動指定を受けたアプリの必要リソースをサーバーから取得する（ステップＳ２０２）。具体的には、Ｗｅｂアプリ実行管理部２２５は、ステップＳ２０１にて表示されたＷｅｂアプリケーションランチャー画面３００において起動指定を受けたアイコンに該当するＷｅｂアプリケーションについて、ソフトウェア識別子を指定してコンテンツサーバー１００へ必要リソース記憶部１３２の情報を要求する。そして、コンテンツサーバー１００の必要リソース情報管理部１２３は、当該ソフトウェア識別子に対応する使用ネイティブ機能識別子１３２Ｂを特定し、Ｗｅｂアプリ実行管理部２２５へ送信する。
【００７６】
そして、Ｗｅｂアプリ実行管理部２２５は、取得した必要リソースを指定してＷｅｂアプリケーション開始を指示する（ステップＳ２０３）。具体的には、Ｗｅｂアプリ実行管理部２２５は、ネイティブプラグイン制御部２２４に対して、Ｗｅｂアプリケーションの開始指示を与えると共に、ステップＳ２０２で送信された使用ネイティブ機能識別子１３２Ｂを受け渡し、資源の競合の判定を行う。
【００７７】
そして、Ｗｅｂアプリ実行管理部２２５は、開始するＷｅｂアプリケーションは機能資源表の資源を使用するか否かを判定する（ステップＳ２０４）。具体的には、Ｗｅｂアプリ実行管理部２２５は、機能資源表記憶部２３１を参照して、ステップＳ２０３で指定された必要リソースのいずれかが機能資源表記憶部２３１に格納された資源を利用するか否かを判定する。一つも使用しない場合（「Ｎｏ」の場合）には、Ｗｅｂアプリ実行管理部２２５は、新しく起動するタブ上でＷｅｂアプリケーションを起動する（ステップＳ２０７）。
【００７８】
開始するＷｅｂアプリケーションは機能資源表の資源を一つでも使用する場合（ステップＳ２０４にて「Ｙｅｓ」の場合）には、Ｗｅｂアプリ実行管理部２２５は、Ｗｅｂアプリケーションに必要な資源が使用中の状態であるか否かを判定する（ステップＳ２０５）。具体的には、Ｗｅｂアプリ実行管理部２２５は、ステップＳ２０３で指定された必要リソースの各々について、既に起動済みのＷｅｂアプリケーションが使用するリソースとの合計が機能資源表記憶部２３１の限度量である利用可能資源数２３１Ｂ以内であるか否かを判定する。限度量未満の場合（ステップＳ２０５で「Ｎｏ」の場合）には、Ｗｅｂアプリ実行管理部２２５は、新しく起動するタブ上でＷｅｂアプリケーションを起動する（ステップＳ２０７）。
【００７９】
Ｗｅｂアプリケーションに必要な資源が使用中の状態である場合（ステップＳ２０５で「Ｙｅｓ」の場合）には、Ｗｅｂアプリ実行管理部２２５は、既に起動済みのタブのうち不足する資源を利用しているタブ上でＷｅｂアプリケーションを起動する（ステップＳ２０６）。
【００８０】
以上が、Ｗｅｂアプリケーション起動処理の流れである。Ｗｅｂアプリケーション起動処理によれば、リソースの不足が予測されるＷｅｂアプリケーションを起動する場合には、既に当該リソースを使用しているタブ上で起動させることで、リソースの競合を回避することができる。より具体的には、従前の技術では、地図上にＰＯＩ（Ｐｏｉｎｔ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）のアイコンを表示するＷｅｂアプリケーションを動作させている状態において別のＷｅｂアプリケーションを立ち上げて追加的にＰＯＩのアイコンを表示させる場合に、アイコンバッファが不足して競合すると予期せぬ表示や上書き表示による画面の乱れ等が発生する可能性があったが、本実施形態を適用することでこれを回避することができる。
【００８１】
以上が、実施形態に係る情報提供システム１である。上記の実施形態によれば、情報提供システム１は、Ｗｅｂアプリケーションの実行に際し、運用管理負荷を抑えながら情報端末の資源効率をより高めることができる。
【００８２】
ただし、本発明は、上記の実施形態に制限されない。上記の実施形態は、本発明の技術的思想の範囲内で様々な変形が可能である。
【００８３】
例えば、上記の実施形態においては、車載装置２００が自らの使用可能な資源を機能資源表記憶部２３１に保持してＷｅｂアプリケーションの起動時に車載装置２００上でリソースの競合の判定を行う例を示したが、これに限られない。例えば、コンテンツサーバー１００において、車載装置２００の機種やグレード等のモデルに応じて使用可能な資源を予め機能資源表として記憶しておき、Ｗｅｂアプリケーションの開始要求を受け付けるとコンテンツサーバー１００においてリソースの競合あるいはアプリケーションの起動可否を判定するようにしてもよい。このようにすることで、車載装置２００のリソース管理に係る演算負荷を減らすことができる。
【００８４】
また例えば、上記の実施形態においては、リソースが競合する場合には、既に起動済みのタブのうち不足する資源を利用しているタブ上でＷｅｂアプリケーションを起動する（ステップＳ２０６）ようにしているが、これに限られない。例えば、先に起動しているＷｅｂアプリケーションを優先するようにしてもよいし、先に起動しているＷｅｂアプリケーションの終了の是非を問い合わせてユーザーから承諾入力を受け付けることを条件に後に起動させたＷｅｂアプリケーションを起動する等、所定のルールに沿って起動させるようにしてもよい。このようにすることで、ユーザーがタブの存在を意識する必要をなくしつつ、運用管理負荷を抑えながらＷｅｂアプリケーション使用時の資源効率をより高めることができる。
【００８５】
以上、本発明について、実施形態を挙げて説明した。しかし、これに限られず、上記実施形態に記載した車載装置の特徴的な処理について、別の機器に適用する（例えば、音楽プレーヤー、モバイルルーター等の携帯型装置等、各種の情報端末に適用する）ことも可能である。
【符号の説明】
【００８６】
１・・・情報提供システム、１０・・・通信ネットワーク、２０・・・Ｗｅｂアプリケーション登録装置、３０・・・無線通信装置、３５・・・アンテナ、１００・・・コンテンツサーバー、１２０・・・制御部、１２１・・・車載装置通信制御部、１２２・・・Ｗｅｂアプリケーション登録部、１２３・・・必要リソース情報管理部、１２４・・・Ｗｅｂアプリケーション実行部、１３０・・・記憶部、１３１・・・モジュール記憶部、１３２・・・必要リソース記憶部、１４０・・・通信部、２００・・・車載装置、２２０・・・制御部、２２１・・・サーバー通信制御部、２２２・・・基本機能制御部、２２３・・・ブラウザ制御部、２２４・・・ネイティブプラグイン制御部、２２５・・・Ｗｅｂアプリ実行管理部、２３０・・・記憶部、２３１・・・機能資源表記憶部、２４０・・・無線通信部、２５０・・・アンテナ
【図１】
2018124690.tif 000003
【図２】
2018124690.tif 000004
【図３】
2018124690.tif 000005
【図４】
2018124690.tif 000006
【図５】
2018124690.tif 000007
【図６】
2018124690.tif 000008
【図７】
2018124690.tif 000009
【図８】
2018124690.tif 000010
【図９】
2018124690.tif 000011
【図１０】
2018124690.tif 000012