(58)【調査した分野】(Int.Cl.,DB名)
第一の情報処理端末と、第二の情報処理端末と、サーバとを備え、前記第一の情報処理端末と前記第二の情報処理端末が接続され、前記第一の情報処理端末と前記サーバがネットワークにより接続されて、前記第一の情報処理端末で実行され、前記第二の情報処理端末のプログラムと連携動作するプログラムの機能を拡張するプログラム拡張システムであって、
前記第一の情報処理端末は、プログラムと、プログラムの機能拡張の処理をおこなうプログラム管理部とを有し、
前記第二の情報処理端末は、前記第二の情報処理端末に関する認証情報を生成する認証情報生成処理部を有し、
前記サーバは、前記第一の情報処理端末から送信されてくる前記第二の情報処理端末に関する情報に基づいて、前記プログラムの機能拡張条件を取得する機能拡張条件取得部と、前記プログラムの機能を拡張するためのプログラム機能拡張データを配布する機能拡張データ配布部と、前記第二の情報処理端末と前記プログラムの機能拡張条件を対応付けた機能拡張条件テーブルとを有し、
前記第一の情報処理端末のプログラム管理部は、前記第二の情報処理端末と接続されたときに、前記第二の情報処理端末に関する情報と、前記第一の情報処理端末が保有するプログラムのプログラムIDリストとを、前記サーバに送信し、
前記サーバの機能拡張条件取得部は、前記第一の情報処理端末から送信されてくる前記第二の情報処理端末に関する情報と、前記プログラムIDリストに基づいて、前記機能拡張条件テーブルを参照し、前記プログラムIDリストの示すプログラムの機能拡張の可能性、および、プログラムの機能拡張の有償提供/無償提供に関する前記プログラムの機能拡張条件を取得して、取得した前記プログラムの機能拡張条件情報を前記第一の情報処理端末に送信し、
前記第一の情報処理端末のプログラム管理部は、前記第一の情報処理端末の表示装置に、ユーザに対して、前記プログラムの機能拡張条件情報により機能拡張ができるとされたプログラムに関して機能拡張をおこなうか否かを問い合わせるプログラムの機能拡張の問い合わせ画面を表示し、前記プログラムの機能拡張の問い合わせ画面から前記プログラムの機能拡張をおこなうことが入力されたとき、機能拡張のための機能拡張データを購入するためのパスワード入力画面を表示し、前記パスワード入力画面にパスワードが入力されたときに、前記第二の情報処理端末が生成した前記第二の情報処理端末に関する認証情報を取得して、前記第一の情報処理端末は、前記入力されたパスワードと、前記第二の情報処理端末に関する認証情報とをサーバに対して送信し、
前記サーバは、前記入力されたパスワードと、前記第二の情報処理端末に関する認証情報を受信し、認証に成功したときに、前記第一の情報処理端末に対して、前記プログラムの機能拡張条件により機能拡張ができるとされたプログラムの機能拡張に係る機能拡張データを送信し、
前記第一の情報処理端末は、前記プログラムの機能拡張データに基づいて、前記プログラムの機能拡張をおこなうことを特徴とするプログラム拡張システム。
第一の情報処理端末と、第二の情報処理端末と、サーバとを備え、前記第一の情報処理端末と前記第二の情報処理端末が接続され、前記第一の情報処理端末と前記サーバがネットワークにより接続されて、前記第一の情報処理端末で実行され、前記第二の情報処理端末のプログラムと連携動作するプログラムの機能を拡張するプログラム拡張システムであって、
前記第一の情報処理端末は、プログラムと、プログラムの機能拡張の処理をおこなうプログラム管理部とを有し、
前記第二の情報処理端末は、前記第二の情報処理端末に関する認証情報を生成する認証情報生成処理部を有し、
前記サーバは、前記第一の情報処理端末から送信されてくる前記第二の情報処理端末に関する情報に基づいて、前記プログラムの機能拡張条件テーブルを配布する機能拡張条件配布部と、前記プログラムの機能を拡張するためのプログラム機能拡張データを配布する機能拡張データ配布部と、前記プログラムの機能拡張条件を格納する機能拡張条件テーブルとを有し、
前記第一の情報処理端末のプログラム管理部は、前記第二の情報処理端末と接続されたときに、前記第二の情報処理端末に関する情報を、前記サーバに送信し、
前記サーバの機能拡張条件配布部は、前記第一の情報処理端末から送信されてくる第二の情報処理端末に関する情報に基づいて、前記機能拡張条件テーブルを、前記第一の情報処理端末に送信し、
前記第一の情報処理端末のプログラム管理部は、前記第一の情報処理端末の表示装置に、ユーザに対して、前記プログラムの機能拡張条件テーブルにより機能拡張ができるとされたプログラムに関して機能拡張をおこなうか否かを問い合わせるプログラムの機能拡張の問い合わせ画面を表示し、前記プログラムの機能拡張の問い合わせ画面から前記プログラムの機能拡張をおこなうことが入力されたとき、機能拡張のための機能拡張データを購入するためのパスワード入力画面を表示し、前記パスワード入力画面にパスワードが入力されたときに、前記第二の情報処理端末が生成した前記第二の情報処理端末に関する認証情報を取得して、前記第一の情報処理端末は、前記入力されたパスワードと、前記第二の情報処理端末に関する認証情報とをサーバに対して送信し、
前記サーバは、前記入力されたパスワードと、前記第二の情報処理端末に関する認証情報を受信し、認証に成功したときに、前記第一の情報処理端末に対して、プログラムの機能拡張に係る機能拡張データを送信し、
前記第一の情報処理端末は、前記機能拡張データに基づいて、前記プログラムの機能拡張テーブルにより機能拡張ができるとされたプログラムの機能拡張をおこなうことを特徴とするプログラム拡張システム。
【発明を実施するための形態】
【0020】
以下、本発明に係る各の実施形態を、
図1ないし
図14を用いて説明する。
【0021】
〔実施形態1〕
以下、本発明に係る第一の実施形態を、
図1ないし
図9を用いて説明する。
先ず、
図1ないし
図3を用いて本発明の第一の実施形態に係るプログラム拡張システムの構成について説明する。
図1は、本発明の第一の実施形態に係るプログラム拡張システムの機能構成図である。
図2は、スマートフォンのハードウェア構成図である。
図3は、車載機のハードウェア構成図である。
図4は、サーバのハードウェア構成図である。
【0022】
本発明の第一の実施形態に係るプログラム拡張システムは、
図1に示されるように、スマートフォン1、車載機2、サーバ3よりなり、スマートフォン1とサーバ3が通信回線31により接続され、スマートフォン1と車載機2が通信路32により接続された形態である。
【0023】
スマートフォン1とサーバ3を接続する通信回線31は、通常、3G回線などの無線回線である。スマートフォン1と車載機2を接続する通信路32は、USB(Universal Serial Bus)などの有線回線でもよいし、IEEE802.11規格を使用したWi−Fi(Wireless Fidelity)回線などの無線回線でもよい。
【0024】
スマートフォン1は、機能構成として、当該端末上で動作する一つ以上のプログラム6、そのプログラムを管理するプログラム管理部7、車載機2と通信路32を介して連携動作するための車載機連携処理部8を備えている。
【0025】
プログラム管理部7は、プログラムを拡張する処理をおこなうためのプログラム機能拡張処理部71と、プログラムを識別するための固有のプログラムIDを記憶するプログラムIDテーブル72を有する。
【0026】
プログラム機能拡張処理部71は、車載機2、および、サーバ3とデータ通信をおこなうことにより、1)車載機2から機能/特性を取得、2)サーバ3に機能/特性を送信、3)サーバから機能拡張の操作のために必要な情報を取得、4)機能拡張可能であることを画面表示、5)認証情報送信や機能拡張データ(プラグインプログラムなど)の購入をおこなうための情報送信、6)機能拡張データを受信して、プログラムの機能拡張などの処理をおこなう。
【0027】
プログラム6は、プログラムA、プログラムBなどの各々の機能を実現するためのプログラムであり、例えば、スマートフォン1上でロケータの表示機能を実現するためのプログラムである。プログラム6は、機能/特性が異なる複数種類の車載機2上のプログラムと連携動作するプログラム(車載機2−1用、車載機2−2用等)、および、車載機2の種別を区別することなく、かつ、非連携時であっても動作するプログラム(共通)とによって構成される。
【0028】
車載機2は、認証情報生成処理部9、機能/特性記憶部テーブル10、連携プログラム17を備えている。
【0029】
認証情報生成処理部9は、車載機2をサーバ3が認証するための情報を生成する部分である。機能/特性テーブル10は、車載機2が有する機能/特性を記憶するテーブルである。連携プログラム17は、スマートフォン1のプログラム6と連携して動作するプログラムである。
【0030】
サーバ3は、機能拡張条件取得部11、機能拡張データ配布部12、機能拡張条件テーブル13、ユーザ情報記憶テーブル14を備えている。
【0031】
機能拡張条件テーブル13は、車載機2が有する機能/特性に応じての提供可否、および、有償/無償などの条件が記憶されるテーブルである。
【0032】
機能拡張条件取得部11は、機能拡張条件テーブル13に記憶されている条件、すなわち、スマートフォン1から受信する車載機2の機能/特性情報に基づき、1)機能拡張の可能性の有無、2)有償/無償を取得する。
【0033】
機能拡張データ配布部12は、スマートフォン1に対してプラグインプログラムなどの機能拡張/切替のためのデータを配布する部分である。
【0034】
ユーザ情報テーブル14は、車載機2を所有するユーザ5と、ユーザ5を認証するための簡易パスワード、ユーザ5が所有するクレジットカード番号などの決済情報を記憶するテーブルである。
【0035】
スマートフォン1は、
図2に示されるように、ハードウェアとして、CPU(Central Processor Unit)100、無線通信インタフェース101、ベースバンドプロセッサ102、入力装置103、メインメモリ104、測位センサ105、有線通信インタフェース106、フラッシュメモリ107、表示装置108が、バス110で結合されて構成されている。
【0036】
CPU100は、スマートフォン1の各部を制御し、メインメモリ104上にロードされるプログラム拡張のためのプログラムを実行する演算・制御のためのユニットである。CPU100は、フラッシュメモリ107に格納されるプログラムをメインメモリ102に読み込み実行することにより、種々の処理をおこなう。これらのプログラムやデータは、予めフラッシュメモリ107に格納しておいてもよいし、CD−ROM等の記憶媒体から入力してもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。また、そのプログラムにより実現される機能を、専用のハードウェアにより実現してもよい。
【0037】
無線通信インタフェース101は、ベースバンドプロセッサ101の信号を無線帯域の高周波信号に変換したり、逆に、無線帯域の高周波信号を、ベースバンドプロセッサ101の信号に変換するためのインタフェース装置である。スマートフォン1は、無線通信インタフェース101を介して、インターネットなどの通信回線31により、サーバ3と通信し、必要な情報のやりとりや、データのダウンロードをおこなう。
【0038】
ベースバンドプロセッサ102は、スマートフォン1の通信や通話に関するモジュールを制御するプロセッサである。
【0039】
入力装置103は、ユーザ5がスマートフォン1を指で操作するボタン、スイッチ、キーボード、タッチパネル等の装置である。
【0040】
メインメモリ104は、フラッシュメモリ83に記憶されているプログラムをロードして一時的に保管したり、ワークデータを記憶する記憶装置である。
【0041】
測位センサ105は、地球上での緯度および経度で示される自身の位置を測位するためのセンサである。
【0042】
機器間通信インタフェース106は、車載機2と接続して、データをやり取りするためのインタフェース装置である。接続方式は、USB(Universal Serial Bus)やHDMI(High-Definition Multimedia Interface)等の規格に準拠した有線接続でもよいし、Wi−FiのIEEE 802.11a/b/g/nやBluetooth(登録商標)等の規格に準拠した無線接続でもよい。
【0043】
フラッシュメモリ107は、通常メインメモリ104より大容量で、プログラムやデータを格納する不揮発性のメモリである。フラッシュメモリ82は、地
図DB、ポリシー情報280、音声データ、動画データなどの各種データと、音声操作のアプリケーションソフトウェアなどのプログラムを記憶する比較的大容量の記憶装置である。
【0044】
表示装置108は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等のユーザに画像情報を表示する装置であり、3インチ〜5インチ画面の表示サイズのものが一般に使用されている。
【0045】
車載機2は、
図3に示されるように、ハードウェアとして、CPU200、機器間通信インタフェース201、入力装置202、メインメモリ203、測位センサ204、ジャイロセンサ205、加速度線センサ206、車両信号インタフェース207、表示装置209が、バス210で結合されて構成されている。
【0046】
CPU(Central Processing Unit)200は、車載機2の各部を制御し、メインメモリ203上にロードされるカーナビナゲショーンのアプリケーションソフトウェアを実行する演算・制御のためのユニットである。
【0047】
入力装置202は、ユーザが車載機2を指で操作するボタン、スイッチ、キーボード、タッチパネル等の装置である。
【0048】
メインメモリ203は、補助記憶装置28に記憶されているプログラムをロードして一時的に保管したり、ワークデータを記憶する半導体記憶装置である。
【0049】
機器間通信インタフェース部201は、スマートフォン1と接続するためのインタフェースであり、接続方式の規格、有線/無線いずれでもよいことは、スマートフォン1の機器間通信インタフェース部106と同様である。
【0050】
測位センサ204は、地球上での緯度および経度で示される自身の位置を測位するためのセンサである。
【0051】
ジャイロセンサ205は、搭載されている車両の角度や角速度を計測するためのセンサである。
【0052】
加速度センサ206は、搭載されている車両の加速度を計測するためのセンサである。
【0053】
車両信号インタフェース207は、車両信号線を接続するためのインタフェースであり、車両走行状態や内部状態を取り込むことができる。
【0054】
補助記憶装置208は、地図データベースなどの各種データと、カーナビナゲショーンのアプリケーションソフトウェアを記憶する大容量の記憶装置であり、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)である。
【0055】
表示装置209は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等、ユーザ5に画像情報を表示する装置である。
【0056】
サーバ3は、
図4に示されるように、ハードウェアとして、CPU300、入力装置301、表示装置302、メインメモリ303、補助記憶装置304、ネットワークインタフェース305が、バス310により結合されて構成される。
【0057】
CPU300は、サーバ3の各部を制御し、補助記憶装置304に格納されたプログラムとデータをメインメモリ303上にロードして実行する。
【0058】
入力装置301は、キーボードやマウスなどの装置であり、管理者は、これらの入力装置301からコマンドなどを入力する。
【0059】
表示装置302は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等であり、稼動状況のモニタや出力結果が表示される。
【0060】
メインメモリ303は、補助記憶装置304に記憶されているプログラムをロードして一時的に保管したり、ワークデータを記憶する半導体記憶装置である。
【0061】
補助記憶装置304は、データやプログラムを格納するHDDなどの記憶装置である。サーバ3の場合は、HDDは、アレイ上に接続されてディスクアレイを構成する場合もある。
【0062】
ネットワークインタフェース305は、通信回線31と接続するインタフェースであり、これにより外部の装置と通信をおこなう。
【0063】
次に、
図5を用いて本発明の第一の実施形態に係るプログラム拡張システムの一連の利用シーンイメージについて説明する。
図5は、本発明の第一の実施形態に係るプログラム拡張システムの一連の利用シーンイメージを説明する図である。
【0064】
先ず、ユーザ5が電車移動中や歩行中などの車両外でスマートフォン1を単独で使用している状況において、プログラム6(プログラムAの中の無料プログラムとする)を利用する(シーン301)。
【0065】
次に、ユーザ5が、車両内でスマートフォン1と車載機2とを接続し、スマートフォン1の画面を車載機2に出力している状況(このとき、スマートフォン1には、「車載機に画面出力中」であるメッセージが表示される)において、スマートフォン1のプログラム管理部7が車載機2の機能/特性に合わせた機能拡張が可能であること、および、機能拡張が有償であることをサーバから通知を受け、ユーザに機能拡張データを購入するか否かを問い合わせる(シーン302)。
【0066】
次に、ユーザ5がYesを応答したときに、スマートフォン1のプログラム管理部7が、車載機2画面に、ユーザ5に機能拡張データを購入するための簡易パスワードの入力を要求する(シーン303)。
【0067】
そして、プログラム6(有料のプログラムAの拡張機能を提供するプログラムと、
図1の共通プログラムと接続した車載機2用のプログラムを含むもの)が、拡張機能に基づいたサービス提供をおこなう(シーン304)。
【0068】
ここで、上記の利用シーンにおける拡張機能の例について説明する。
【0069】
1)ナビゲーションプログラム(ロケータ情報受信)
スマートフォン1のプログラム6がナビゲーションプログラムである場合である。
スマートフォン1のナビゲーションプログラムは、基本機能として、ナビゲーションプログラムを有しており、単独でも、ロケータ情報の表示が可能であるものとする。本実施形態では、ナビゲーションプログラムを拡張し、車載機2を接続し、ロケータ情報を受信する。これにより、スマートフォン1のナビゲーションプログラムは、車載機2が保有するロケータ情報を活用した高精度な位置情報を参照できるようになり、車載機2用の機能拡張データ高精度な位置情報を活用してより精度の高いナビゲーションをおこなうことができるようになる。
【0070】
なお、
図5においては、ナビゲーションプログラムの表示を車載機2側でおこなっているが、スマートフォン1側でおこなってもよく、両方で表示してもよい。
【0071】
一般に、ユーザ5にとって、スマートフォン1は、車載機2より機種変更する頻度が多くなると考えられるため、性能のよくなったスマートフォン1のパワーを利用して、ナビゲーションプログラムによる位置情報表示がおこなえるというメリットがある。
【0072】
2)地図検索(目標地点の検索)
この例は、スマートフォン1のプログラム6が地図表示ソフトウェアであり、その地図表示ソフトウェアで、目標地点(Point Of Interest)の検索に利用するものである。
【0073】
例えば、利用したいレストランや、観光地などユーザ5の興味ある場所が、ここでいう目標地点にあたる。地図表示ソフトウェアの拡張機能として、ユーザ5は、車載機2に接続したときに、サーバ3においてある地
図DBを利用して、表示装置に地図上の目標地点を表示させる。また、スマートフォン1を車載機2に接続していないときには、スマートフォン1とサーバ3を接続し、サーバ3においてある地
図DBを利用して、表示装置に地図上の目標地点を表示させるようにする。
【0074】
3)車載機2に記憶されたデータ利用
ユーザ5にとって、車載機2に記憶されたデータ利用するようにする例である。車載機2には、地図データ、業務用データを暗号化し、車載機2の補助記憶装置208に格納しておく。そして、サーバ3に認証情報を送信し、認証がOKになったときに、サーバ3から復号鍵を受信し、格納されたデータを復号化し、データをスマートフォン1で、表示装置108に表示するなどして利用する。
【0075】
次に、
図6ないし
図8を用いて本発明のプログラム拡張システムに用いられるデータ構造の詳細について説明する。
図6は、機能拡張条件テーブルの一例を示す図である(その一)。
図7は、車載機IDの構成の例を示す図である。
図8は、ユーザ情報テーブルの一例を示す図である。
【0076】
機能拡張条件テーブル13は、
図6に示されるように、車載機ID701、機能拡張対象プログラム702、有償/無償703の各フィールドから構成される。
【0077】
車載機ID701は、車載機2の機種、仕向け(提供している車種、メーカ、地域)、固有のIDを格納し、車載機2を識別するためのIDを格納するフィールドである。車載機ID701の構成については、次の
図7を用いて詳細に説明する。
【0078】
機能拡張対象プログラム702は、スマートフォン2上の機能拡張の対象となるプログラムの名称や識別子を格納するフィールドである。
【0079】
有償/無償703は、対象となるプログラム6の機能拡張が、有償か無償かを示すフラグを格納するフィールドである。
【0080】
サーバ3は、スマートフォン1から受信した車載機IDと車載機ID701に記載された値をマッチングさせ、それに対応する機能拡張対象プログラム702のフィールドを参照することにより、機能拡張できる機能拡張対象プログラムを判断する。また、それらの有償提供/無償提供の別を対応する有償/無償703のフィールドにより判断する。
【0081】
例えば、
図6によれば、レコード710に示される機種・仕向けの車載機2と接続されるスマートフォン1に対しては、プログラムA、B、Cの三つのプログラムの機能拡張を許容し、プログラムA、B、Cの機能拡張は、無償であることを示している。また、レコード711に示される機種・仕向けの車載機2に接続されるスマートフォン1に対しては、プログラムA、Bの二つのプログラムのみの機能拡張を許容しており、プログラムAの機能拡張は、有償であり、プログラムBの機能拡張は、無償であることを示している。
【0082】
車載機IDのフォーマットは、
図7に示されるように、1〜8桁目が、スマートフォン1の機種に関する情報、9桁目〜16桁目が、仕向けに関する情報、17桁目〜32桁目が、車載機の固有ID(シリアル番号)からなる。
【0083】
ここで、仕向けとは、車載機2を搭載する車両の機種、車両のメーカー(仕向け先企業)、使用のターゲットとなる地域(仕向け地、日本、米国、欧州などの別)など車載機2の使用と販売に関する情報である。
【0084】
ここで、
図6において、例えば、レコード711に示される機種・仕向けの車載機2に接続されるスマートフォン1と、レコード712に示される機種・仕向けの車載機2に接続されるスマートフォン1に対しては、1〜8桁目までが同様であり同機種であるため、共にプログラムA、Bの二つのプログラムの機能拡張を許容している。しかしながら、両者の9桁目〜16桁目が異なるため、すなわち、仕向け先企業や地域が異なるため、一方の企業から提供されている車載機2にはプログラムBを無償で機能拡張を許容するが、他方の企業から提供されている車載機2にはプログラムBを有償でのみ機能拡張を許容するといった制御が可能となる。
【0085】
ユーザ情報テーブル14は、
図8に示されるように、ユーザID901、車載機ID902、簡易パスワード903、クレジットカード番号904によって構成される。
【0086】
ユーザID901は、ユーザ5を識別するための識別子を格納するフィールドである。車載機ID902は、ユーザ5が保有する車載機2の車載機IDを格納するフィールドであり、車載機IDのフォーマットの詳細は、上で説明した通りである。簡易パスワード903は、プログラムの機能拡張が有償のときに、認証するためのパスワードである。クレジットカード番号904は、プログラムの機能拡張が有償ときに、ユーザ5が購入したときの引き落としに使われるクレジットカード番号の番号を格納するフィールドである。
【0087】
なお、ここで、「簡易パスワード」といっているのは、サーバ3に車載機IDが送信されるので、その車載機2の操作しているユーザ5を真正のクレジットカードの所有者と推定して、クレジットカード番号904を入力せずとも、簡易なパスワードで、そのクレジットカードの口座引き落としをおこなうという意図である。
【0088】
ユーザ情報テーブル14の各情報は、予め登録し、サーバに格納しておく必要がある。
【0089】
次に、
図9ないし
図11を用いて本発明の第一の実施形態に係るプログラム拡張システムの処理について説明する。
図9は、本発明の第一の実施形態に係るプログラム拡張システムの処理のシーケンス図である。
図10は、スマートフォン1のプログラム管理部7の処理を示すフローチャートである。
図11は、プログラム拡張中のスマートフォン1と車載機2に出力される画面イメージを示した図である。
【0090】
先ず、ユーザ5はスマートフォン1を操作することにより、サーバ3からプログラム6をダウンロードして、スマートフォン1に格納する(シーケンス501)。
【0091】
次に、ユーザ5は、プログラム6を使用する(シーケンス502)。ここで、プログラム6は、試用版で機能拡張がないものとする。そして、
図1に示す共通プログラムを含むものである。
【0092】
次に、ユーザ5は、スマートフォン1と車載機2とを、USBなどの有線、あるすは、Bluetooth(登録商標)やWi−Fiなどの無線の通信路32を介して接続する(シーケンス503)。この際、これら通信路を介して、スマートフォン1の画面は車載機2に出力され、また、車載機2におけるユーザ5の操作情報は、スマートフォン1に対して送信される。スマートフォン1は、操作情報によってプログラム6やプログラム管理部7を制御する。なお、ユーザ5は、この
図11の例では、車載機2の入力装置202によって操作するが、実際に動作するのは、スマートフォン1のプログラムなので、この
図11の例でもそのように表現している。
【0093】
プログラム管理部7は、接続を検知した際に、車載機2から車載機2の車載機IDを取得する。
【0094】
次に、プログラム管理部7は、車載機IDとプログラム管理部が管理するプログラム6などの複数のプログラムのそれぞれを固有に識別するためのプログラムIDのリストをサーバ3に対して送信する。
【0095】
サーバ3は、機能拡張条件取得部11において、車載機2の機能/特性/仕向け先の企業や地域に関する情報をスマートフォン1から取得し、機能拡張条件テーブル13を参照することにより、1)プログラム機能拡張の可能性の有無、2)有償提供/無償提供の別を取得する。
【0096】
サーバ3は、1)、2)の取得した情報を、スマートフォン1のプログラム管理部7に対して通知する。
【0097】
スマートフォン1のプログラム管理部7は、この通知を受け、機能拡張できることをユーザ5に対して画面/音声を介して通知する(シーケンス504)。この通知は、画面上にポップアップメニューを表示するものでもよい。
【0098】
スマートフォン1のプログラム管理部7は、プログラムの機能拡張が有償である場合には、ユーザ5に対して簡易パスワードの入力画面を提示する(シーケンス505)。簡易パスワードは、
図5のシーン303に示されるような、4桁の英数文字からなるパスワードである。
ユーザ5は、それに従って、簡易パスワードを入力する。
【0099】
スマートフォン1のプログラム管理部7は、車載機2よりサーバが車載機2を認証するための車載機認証情報を取得する。
【0100】
ここで、車載機認証情報は、車載機2固有の識別子や固有の秘匿情報、または、それらを乱数等によって一時的に変換した情報であってよい。例えば、そのときの時刻と、車載機IDと、車載パスワードを入力して生成した情報をハッシュ関数により変換した情報を、車載機認証情報とする。
【0101】
次に、スマートフォン1のプログラム管理部7は、サーバ3に対して車載機認証情報と簡易パスワードをサーバ3に対して送信する。
【0102】
サーバ3は、受信情報によって認証および決済処理をおこなう。すなわち、サーバ3は、ユーザ情報記憶テーブル14に記憶されている車載機認証情報と簡易パスワードとによってユーザ5を認証し、クレジットカード番号などの決済情報を使って決済処理をおこなう。認証と決済処理が正常におこなわれた場合には、機能拡張データをプログラム管理部7に送信する。機能拡張データは、例えば、機能拡張のためのプログインプログラムである。機能拡張データは、スマートフォン1側で拡張するプログラムを特定するために、これが活用されるプログラムのプログラムIDを内包する。
【0103】
次に、プログラム管理部7は、機能拡張データを使用するプログラム6をプログラムIDによって特定し、スマートフォン1に対して当該のプログラム6に使用されるための機能拡張データを送信する(シーケンス506)。
【0104】
スマートフォン1は、機能拡張データを受信し、プログラム6に対する機能拡張処理をおこなう。
【0105】
プログラム6の機能拡張処理においては、新たに機能拡張データを受信することなく、プログラム6が既に保持する抑止中のそれぞれの車載機2用の機能データを活性化してもよい。
【0106】
プログラム6の機能拡張処理の際には、
図11(a)(b)に示すようなプログラムの機能拡張の進捗を示す画面をユーザ5に提示しても良い。
【0107】
また、過去に、その時点で接続されている車載機2とは異なる種類の車載機2′が接続され、プログラム6が車載機2′用の機能拡張データ/プラグインを既にインストール済である場合は、前記の機能拡張処理時に、
図11(c)に示すような画面をユーザ5に提示して、おこなうようにしてもよい。
【0108】
次に、スマートフォン1のプログラム管理部7の処理を示すと、
図10に示されようになる。
【0109】
先ず、プログラム管理部7は、スマートフォン1と車載機2とが接続されたことを検知する(S601)。
【0110】
次に、プログラム管理部7は、車載機2から車載機IDを取得する(S602)。車載機IDのデータフォーマットは、既に、
図7で示した如くである。
【0111】
次に、プログラム管理部7は、スマートフォン1のプログラムIDテーブル72から、プログラムのインストール/アンインストール時に追記/削除をおこなうスマートフォン1が搭載する複数のプログラムのリスト(プログラムIDリスト)を取得する(S603)。
【0112】
次に、プログラム管理部7は、サーバ3に車載機IDとプログラムIDリストを送信する(S604)。
【0113】
サーバ3は、
図6の機能拡張条件テーブル13の中から受信した車載機IDに対応する機能拡張対象プログラム702および有償/無償703に記載された条件を参照する。
【0114】
ここで、サーバ3は、受信したプログラムIDリストと機能拡張条件テーブル13の機能拡張対象プログラム702の記載を比較することにより、そのプログラムに関する機能拡張の可能性、さらに、プログラムが機能拡張可能である場合は、有償/無償703に記載された条件を参照することにより、有償提供か無償提供かの情報を取得する。
【0115】
サーバ3は、取得した情報(プログラムIDリストに記載されたプログラムが、1)機能拡張可能であるか、2)有償/無償の別)をスマートフォン1に対して送信する。
【0116】
プログラム管理部7は、判断結果を受信する(S605)。
プログラム管理部7は、判断結果に機能拡張可能なプログラムがあると記載されていない場合は、処理を終了する(S605)。
それ以外の場合は、次のS607に進む。
【0117】
プログラム管理部7は、判断結果に有償のプログラムが含まれることを検出した場合は、次のステップ608へ、含まれないことを検出した場合は、ステップ611へ進む(S607)。
【0118】
プログラム管理部7は、ユーザ5に簡易パスワードの入力画面を提示して、ユーザ5による入力を受け付ける(S608)。
【0119】
次に、プログラム管理部7は、車載機2から車載機認証情報を取得する(S609)。
ここで車載機認証情報は、乱数などの変動値や車載機2固有の秘匿データなどから生成された車載機2を認証するための情報である。
【0120】
次に、プログラム管理部7は、サーバ3に車載機認証情報と簡易パスワードを送信する(S610)。ここで、簡易パスワードは、車載機2の認証情報生成処理部9において、前記の車載機認証情報や、当該情報を生成するための、前記の変動値、秘匿データなどと共に、暗号化関数、あるいは、ハッシュ関数などにより変換されてからサーバ3に送信されても良い。
【0121】
次に、プログラム管理部7は、サーバ3からプログラムIDリストに含まれるプログラムのうち機能拡張すると判断されたプログラムの機能拡張データを受信する(S611)。
【0122】
プログラム管理部7は、複数または単数のプログラムに対して機能拡張データを、機能拡張指示コマンドと共にプログラムに対して送信する(S612)。
【0123】
なお、上記の処理は、プログラム管理部7がおこなうものとしたが、これらの処理は、それぞれのプログラム6の内部で実行するように制御してもよい。
【0124】
〔実施形態2〕
以下、本発明に係る第二の実施形態を、
図12ないし
図14を用いて説明する。
【0125】
第一の実施形態に係るプログラム拡張システムでは、プログラムに対する機能の拡張性と有償/無償の別をサーバ3上で判断し、プログラムの機能が拡張可能な場合は、サーバ3からスマートフォン1に送信していた。
【0126】
本実施形態では、これに対して車載機2に対する機能に関する情報を一括して、サーバ3から送信し、スマートフォン1上で該当する機能の拡張性を問い合わせるものである。
【0127】
図12は、本発明の第二の実施形態に係るプログラム拡張システムの機能構成図である。
図13は、本発明の第二の実施形態に係るプログラム拡張システムの処理のシーケンス図である。
図14は、機能拡張条件テーブルの一例を示す図である(その二)。
【0128】
本発明のシステム構成としては、
図12に示されるように、
図1の機能拡張条件取得部11が、機能拡張条件配布部16に置き換わっている。
【0129】
機能拡張条件配布部16は、
図14に示す機能拡張条件テーブル13aを、スマートフォン1に配布する部分である。
【0130】
また、
図6に示す機能拡張条件テーブル13が、
図14に示す機能拡張条件テーブル13aに置き換わっている。
【0131】
機能拡張条件テーブル13aも、車載機2が有する機能/特性に応じての提供可否、および、有償/無償などの条件が記憶されるテーブルであることは、第一の実施形態の機能拡張条件テーブル13と同様である。
【0132】
機能拡張条件テーブル13aは、
図14に示されるように、機能名称710、機能拡張性711、有償/無償712の各フィールドから構成される。
【0133】
機能名称710は、車載機2で提供されている機能の名称を格納するフィールドである。
【0134】
機能拡張性711は、機能名称710に記載された機能が拡張可能であるか否かを示すフラグを格納するフィールドである。
【0135】
有償/無償703は、機能拡張性を有するとして機能名称に記載された機能を拡張する場合に、有償か無償かを示すフラグを格納するフィールドである。なお、機能拡張性を有さないとしたときは、このフィールドは、意味を持たない。
【0136】
次に、
図13を用いて本発明の第二の実施形態に係るプログラム拡張システムの処理について説明する。
【0137】
図13に示された処理は、
図9のシーケンス503と比較して、シーケンス503aの部分が異なっている。
【0138】
シーケンス503aでは、ユーザ5は、スマートフォン1と車載機2とを接続後に、プログラム管理部7は、接続を検知した際に、車載機2から車載機2の車載機IDを取得することは同様である。
【0139】
次に、プログラム管理部7は、車載機IDのみをサーバ3に対して送信する。
サーバ3は、車載機IDに対して対応する機能拡張条件テーブル13aを取り出し、スマートフォン1のプログラム管理部7に送信する。
【0140】
スマートフォン1のプログラム管理部7は、車載機2の拡張可能な機能を検索し、機能拡張の通知をユーザ5におこなって、
図5のシーン302の拡張するか否かの問い合わせ画面、機能拡張が有償の場合には、シーン303の簡易パスワードを入力する画面の表示をおこなう。それ以下のシーケンス505、506の処理は、第一の実施形態の
図9に示したものと同様である。
【0141】
本実施形態では、例えば、拡張できる機能が二つ以上あるとき(例えば、
図14の例では、機能A、機能B、機能C)でも、ユーザ5は、一回のやり取りで一括して拡張することができる。