(57)【要約】携帯電話(1640)を自動車ヘッドユニット(1620)と共に使用するシステム、ソフトウェア、及び方法を開示する。携帯電話上で実行されるユーザ・アプリケーション・プログラム(1644)のユーザ・インタフェースを、ヘッドユニットの一般的な表示スクリーン(2104)を利用するように拡張して、ヘッドユニットのソフトウェアのカスタム開発、あるいはアプリケーション毎の開発を回避することができる。ハンドセット・アプリケーション・プロキシ(HAP)ソフトウェア・アプリケーション(1642)を携帯電話内にインストールして実行し；ヘッドユニット・プロキシ(HUP)ソフトウェア・コンポーネント(1630)をヘッドユニット上で実行可能にすることが好ましい。ＨＡＰ及びＨＵＰは、ヘッドユニットと携帯電話との間でメッセージ(1814,1824)を伝達する。ＨＡＰ(1700)が、ユーザ・アプリケーション（ノーマディック  アプリ）に関連し、かつテンプレート・メッセージ・トランスレータ・コンポーネント(1712)を有するスクリプト言語コンポーネント(1710)を含むことが好ましい。
2014531806.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１種類の一般的なアプリケーション表示スクリーンを実現する自動車ヘッドユニットと；
モバイル・ネットワークを通した携帯電話との通信用に構成されたサーバー・コンピュータとを具え、
前記サーバー・コンピュータがさらに、前記携帯電話上で実行可能な特定のユーザ・アプリケーション・プログラムに関連する電話アプリケーション情報を配信するように構成され、前記サーバー・コンピュータが、前記電話アプリケーション情報を、前記モバイル・ネットワーク経由で前記携帯電話に配信し、
前記携帯電話アプリケーション情報は、前記特定のユーザ・アプリケーション・プログラムのユーザ・インタフェースを、前記自動車ヘッドユニットの前記一般的なアプリケーション表示スクリーンを利用するように拡張することを可能にすることを特徴とするシステム。
【請求項２】
前記携帯電話において実行可能なハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションと；
前記自動車ヘッドユニット上で実行可能なヘッドユニット・プロキシ（ＨＵＰ）ソフトウェア・アプリケーションとを含み、
前記ＨＡＰソフトウェア・アプリケーション及び前記ＨＵＰソフトウェア・アプリケーションが、互いの間でメッセージまたはイベントを伝達するように構成され、かつ、前記電話アプリケーション情報のアスペクトを利用して、前記携帯電話上の前記特定のユーザ・アプリケーション・プログラムが前記自動車ヘッドユニットの前記一般的なアプリケーション表示スクリーンと相互作用することを可能にするように構成されていることを特徴とする請求項１に記載のシステム。
【請求項３】
前記自動車ヘッドユニットが、前記特定のユーザ・アプリケーション・プログラムと相互作用するように特別に開発された人間−機械インタフェース（ＨＭＩ）表示アプリケーション・ロジックを、前記携帯電話上にインストールまたは前記携帯電話上で実行しないことを特徴とする請求項２に記載のシステム。
【請求項４】
前記ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションが、コンテンツ、テキスト、及び画像のうち１つ以上を前記ヘッドユニット・プロキシに送信して、前記一般的なアプリケーション表示スクリーンの所定のテンプレート・レイアウトに応じて前記一般的なアプリケーション表示スクリーン上にレンダリングさせることを特徴とする請求項２に記載のシステム。
【請求項５】
前記ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーション及び前記ヘッドユニット・プロキシ（ＨＵＰ）ソフトウェア・アプリケーションの各々が、スクリプト言語で実現されることを特徴とする請求項２に記載のシステム。
【請求項６】
前記電話アプリケーション情報が、前記特定のユーザ・アプリケーション・プログラムの実行に関連する安全方策を実現するためのデータを含むことを特徴とする請求項５に記載のシステム。
【請求項７】
前記ＨＡＰソフトウェア・アプリケーションが、メッセージ・ハンドリング・コンポーネント、及びこのメッセージ・ハンドリング・コンポーネントに結合された、前記自動車ヘッドユニットとの通信用の少なくとも１つのプロトコル・スタックを含み；
前記メッセージ・ハンドリング・コンポーネントが、特定のユーザ・アプリケーション・プログラムに関連する少なくとも１つのスクリプト言語コンポーネントを含み；
前記スクリプト言語コンポーネントが、対応するメッセージ・トランスレータ・コンポーネントを含み、このメッセージ・トランスレータ・コンポーネントが、対応する前記ユーザ・アプリケーション・プログラムが生成した要求及び応答メッセージを、前記自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換するように構成されていることを特徴とする請求項５に記載のシステム。
【請求項８】
前記スクリプト言語コンポーネントが、前記自動車ヘッドユニット内の特定のユーザ・アプリケーション・ロジックをなくすための、対応するユーザ・アプリケーション・ロジックを含むことを特徴とする請求項７に記載のシステム。
【請求項９】
前記スクリプト言語コンポーネントが、前記対応するユーザ・アプリケーション・ロジックのアプリケーション状態を維持して、前記自動車ヘッドユニット内に状態を維持することをなくすことを特徴とする請求項８に記載のシステム。
【請求項１０】
携帯電話において用いられる、コンピュータによる実現方法であって、
携帯電話上にインストールされたユーザ・アプリケーション・プログラムを識別するステップと；
リモート・サーバーからの、前記識別したユーザ・アプリケーション・プログラムに特有の情報を要求するステップと；
前記情報の要求に応答して、前記リモート・サーバーからダウンロードした電話アプリケーション情報を受信するステップとを含み、
前記電話アプリケーション情報は、前記識別したユーザ・アプリケーション・プログラムのユーザ・インタフェースを、自動車ヘッドユニットの一般的なアプリケーション表示スクリーンを利用するように拡張することを可能にすることを特徴とするコンピュータによる実現方法。
【請求項１１】
ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションを、前記携帯電話上にインストールするステップと；
前記自動車ヘッドユニット上で実行可能なヘッドユニット・プロキシ（ＨＵＰ）ソフトウェア・アプリケーションをインストールするステップとを含み、
前記ＨＡＰソフトウェア・アプリケーション及び前記ＨＵＰソフトウェア・アプリケーションが、互いの間でメッセージまたはイベントを伝達するように構成され、かつ、前記電話アプリケーション情報のアスペクトを利用して、前記携帯電話上の前記識別したユーザ・アプリケーション・プログラムが前記自動車ヘッドユニットの前記一般的なアプリケーション表示スクリーンと相互作用することを可能にするように構成されていることを特徴とする請求項１０に記載のコンピュータによる実現方法。
【請求項１２】
前記ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションにおいて、対応する前記ユーザ・アプリケーション・プログラムが生成した要求及び応答メッセージを、前記自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換するステップを含むことを特徴とする請求項１０に記載のコンピュータによる実現方法。
【請求項１３】
前記ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションにおいて、前記自動車ヘッドユニットから受信したメッセージまたはイベントを、対応する前記ユーザ・アプリケーション・プログラムと互換性のあるフォーマットに変換するステップを含むことを特徴とする請求項１０に記載のコンピュータによる実現方法。
【請求項１４】
前記ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションにおいて、対応する前記ユーザ・アプリケーション・プログラムが生成した要求メッセージを、前記自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換して、コンテンツ、テキスト、及び画像のうち１つ以上を、前記自動車ヘッドユニットの前記一般的なアプリケーション表示スクリーン上にレンダリングするステップを含むことを特徴とする請求項１０に記載のコンピュータによる実現方法。
【請求項１５】
前記自動車ヘッドユニットからメッセージを受信するステップと；
前記受信したメッセージに応答して、前記ユーザ・アプリケーション・プログラムと相互作用するステップと；
前記ユーザ・アプリケーション・プログラムが提供する結果を、前記自動車ヘッドユニットに戻すステップと
を含むことを特徴とする請求項１０に記載のコンピュータによる実現方法。
【請求項１６】
前記結果を、前記自動車ヘッドユニットの、テンプレートベースのアプリケーション表示スクリーンと互換性のあるフォーマットに変換するステップを含むことを特徴とする請求項１５に記載のコンピュータによる実現方法。
【請求項１７】
前記自動車ヘッドユニットからの、ボタン押下げイベント・メッセージを、前記ユーザ・アプリケーション・プログラムの現在の状態、及び以前に前記自動車ヘッドユニットに表示用に送信されたボタン識別子に基づいて変換するステップを含むことを特徴とする請求項１５に記載のコンピュータによる実現方法。
【請求項１８】
スマートホンのユーザ・アプリケーション・プログラムのユーザ・インタフェースを、自動車ヘッドユニットのＨＭＩに拡張する方法であって、
前記ユーザ・アプリケーション・プログラムを前記スマートホンにインストールするステップと；
前記スマートホンを、前記自動車ヘッドユニットに通信結合するステップと；
ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・コンポーネントを、前記スマートホンにおいて実行するステップとを含み、
前記ＨＡＰソフトウェア・アプリケーションが、前記ユーザ・アプリケーション・プログラムとインタフェースするためのアプリケーション・プログラム・インタフェース（ＡＰＩ）、及び前記自動車ヘッドユニットと通信するためのインタフェースを含み、
前記方法がさらに、
前記ＨＡＰソフトウェア・アプリケーションにおいて、前記自動車ヘッドユニット（ＨＵ）の人間−機械インタフェース（ＨＭＩ）からボタン押下げ通知を受信するステップと；
前記ＨＡＰソフトウェア・アプリケーションにおいて、前記ボタン押下げ通知を、実行中の前記ユーザ・アプリケーション・プログラムに特有のユーザ・インタフェース（ＵＩ）制御にマッピングするステップと；
前記ＨＡＰソフトウェア・アプリケーションにおいて、前記ＵＩ制御を前記実行中のユーザ・アプリケーション・プログラムに伝達するステップと
を含むことを特徴とする方法。
【請求項１９】
前記マッピングが、選択されたボタンを前記自動車ヘッドユニットの一般的なタッチ・スクリーン・ディスプレイ上で視覚的に識別するために、前記ＨＡＰソフトウェア・アプリケーションから前記自動車ヘッドユニットに以前に表示用に送信された可視のボタン識別子に基づくことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記ユーザ・アプリケーション・プログラムの状態を、前記ＨＡＰソフトウェア・アプリケーション内に維持して、前記ユーザ・アプリケーション・プログラムの状態を前記自動車ヘッドユニット内に維持することをなくすことを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権
本願は、米国特許仮出願第６１／５３３６９４号（特許文献１）、２０１１年９月１２日出願、発明の名称”MOBILE INTEGRATION PLATFORM (MIP) INTEGRATED HANDSET APPLICATION PROXY (HAP)”に基づいて優先権を主張し、米国特許仮出願第６１／５３８０６３号（特許文献２）、２０１１年９月２２日出願、発明の名称”EXTENSIBLE SCHEME FOR OPERATING VEHICLE HEAD UNIT AS EXTENDED INTERFACE FOR MOBILE DEVICE”に基づいて優先権を主張し、米国特許出願第１２／７７７９８９号（特許文献３）、２０１０年５月１１日出願、発明の名称”CENTRALIZED MANAGEMENT OF MOTOR VEHILCLE SOFTWARE APPLICATION AND SERVICES”に基づいて優先権を主張し、特許文献３は、米国特許出願第１２／７２９２０７号（特許文献４）、２０１０年３月２２日出願、発明の名称”CENTRALIZED MANAGEMENT OF MOTOR VEHILCLE SOFTWARE APPLICATION AND SERVICES”の一部継続出願であり、特許文献４は、米国特許仮出願第６１／２５２０６６号（特許文献５）、２００９年１０月１５日出願、発明の名称”CENTRALIZED MANAGEMENT OF MOTOR VEHILCLE SOFTWARE APPLICATION AND SERVICES”、及び米国特許仮出願第６１／２６０７８１号（特許文献６）、２００９年１１月１２日出願、発明の名称”CENTRALIZED MANAGEMENT OF MOTOR VEHILCLE SOFTWARE APPLICATION AND SERVICES”の正規（非仮）出願であり、これらの特許出願の各々は、その全文を参照する形で本明細書に含める。
【０００２】
著作権情報
(c) 2011-2012 Airbiquity, Inc.（米エアビクイティ社）。本特許明細書の開示の一部は、著作権保護を受ける題材を含む。著作権所有者は、米国特許商標庁の特許包袋または特許記録に表示される本特許明細書または特許開示の何人による複写にも異議を唱えないが、さもなければ、すべての著作権を留保する。米国特許規則37CFR§1.71(d)。
【背景技術】
【０００３】
発明の背景
自動車は、ユーザ・インタフェースを有する「ヘッドユニット」を装備することができる。このユーザ・インタフェースは、スクリーン、スピーカ、マイクロホン、タッチ・スクリーン、及び／またはキーパッド等のような種々のリソース・コンポーネント（資源構成要素）を含むことができる。
【０００４】
スマートホンまたは他の携帯電話（ハンドセットとも称する）は、その電話機上で動作する種々のアプリケーション・プログラム（「アプリケーション」）をダウンロードすることができる。ユーザは、電話機のユーザ・インタフェースを利用して、このアプリケーションを制御すること、及び／または、このアプリケーションを何らかの方法で利用する（例えば、視覚表示を見るか、音声出力を聴く）ことができる。アプリケーションを携帯電話からヘッドユニットへ拡張することが、種々のサービス・プロバイダ（サービス提供者）及び自動車製造業者によって提供される一般的な特徴となってきた。その結果、ユーザは、ヘッドユニットによって提供されるより良いユーザ・インタフェース・コンポーネント（例えば、より大型のスクリーン及びより高品質の音声出力）を活用することができる。携帯電話アプリケーションの自動車ヘッドユニットへの拡張を制御し、管理し、そして可能にするメカニズムを提供することが望まれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許仮出願第６１／５３３６９４号明細書
【特許文献２】米国特許仮出願第６１／５３８０６３号明細書
【特許文献３】米国特許出願第１２／７７７９８９号明細書
【特許文献４】米国特許出願第１２／７２９２０７号明細書
【特許文献５】米国特許仮出願第６１／２５２０６６号明細書
【特許文献６】米国特許仮出願第６１／２６０７８１号明細書
【特許文献７】米国特許第６１４４３３６号明細書
【特許文献８】米国特許第６６９０６８１号明細書
【特許文献９】米国特許第６４９３３３８号明細書
【発明の概要】
【課題を解決するための手段】
【０００６】
以下は、本発明のいくつかの態様の基本的理解をもたらすための、本発明の概要である。この概要は、本発明の主要／重要な要素を識別すること、あるいは本発明の範囲を限定することを意図したものではない。その唯一の目的は、本発明のいくつかの概念を、後に提示するより詳細な説明の前置きとして、簡略化した形式で提示することにある。
【０００７】
一例では、携帯電話（１６４０）を自動車のヘッドユニット（１６２０）と共に使用するシステム、ソフトウェア、及び方法を開示する。携帯電話上で実行されるユーザ・アプリケーション・プログラム（１６４４）のユーザ・インタフェースを、ヘッドユニットの一般的な表示スクリーン（２１０４）を利用するように拡張して、ヘッドユニットのソフトウェアのカスタム開発、あるいはアプリケーション毎の開発を回避することができる。ハンドセット・アプリケーション・プロキシ（ＨＡＰ：Handset Application Proxy）ソフトウェア・アプリケーション（１６４２）を携帯電話内にインストールして実行し；ヘッドユニット・プロキシ（ＨＵＰ：Head Unit Proxy）ソフトウェア・コンポーネント（１６３０）をヘッドユニット上で実行可能にすることが好ましい。ＨＡＰ及びＨＵＰは、ヘッドユニットと携帯電話との間でメッセージ（１８１４、１８２４）を伝達する。
【０００８】
スクリプト言語コンポーネントが、対応するテンプレート・メッセージ・トランスレータ（変換器）コンポーネントを含み、このメッセージ・トランスレータ・コンポーネントは、対応するユーザ・アプリケーション・プログラムが生成した要求及び応答メッセージを、自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換するように構成されていることが好ましい。
【０００９】
好適例では、携帯電話において用いられる方法が、携帯電話上にインストールされたユーザ・アプリケーション・プログラムを識別するステップと；リモート・サーバーからの、識別したユーザ・アプリケーションに特有の情報を要求するステップと；上記情報の要求に応答してリモート・サーバーからダウンロードした電話アプリケーション情報を受信するステップとを含む。ダウンロードした電話アプリケーション情報は、識別したユーザ・アプリケーション・プログラムのユーザ・インタフェースを、自動車ヘッドユニットの一般的なアプリケーション表示スクリーンを利用するように拡張することを可能にし、ユーザ・アプリケーション・プログラムによるヘッドユニットとの相互作用に関連する安全方策を施行するための規則またはロジックを含むことができる。
【００１０】
本発明の追加的な態様及び利点は、以下の好適な実施形態の説明より明らかになり、この説明は次の図面を参照しながら進める。
【図面の簡単な説明】
【００１１】
【図１】ヘッドユニットの、電話アプリケーション用の拡張インタフェースとしての、安全かつインテリジェントな方法での使用を制御するシステムを例示する図である。
【図２Ａ】図１のソフトウェア３２の動作を示すフローチャートである。
【図２Ｂ】図１のソフトウェア３２が使用することのできるコンテンション方式を示すフローチャートである。
【図３】図１のソフトウェア３０Ａ〜Ｂの動作を示すフローチャートである。
【図４】安全かつインテリジェントな方法でアプリケーションを選択して車両に配信するシステムを例示する図である。
【図５】図４のソフトウェアの動作を示すフローチャートである。
【図６】図４〜５に示すシステムを、より詳細に例示する図である。
【図７】安全かつインテリジェントな方法でアプリケーションを選択して車両に配信するシステムを例示する図である。
【図８】図７のソフトウェアの動作を示すフローチャートである。
【図９】図７〜８に示すシステムを、より詳細に例示する図である。
【図１０】ヘッドユニットの構成に応じてヘッドユニットのグラフィカル・インタフェースを選択するシステムを例示する図である。
【図１１】リモート計算の許可を生成してヘッドユニットに送信するシステムを例示する図である。
【図１２】新たなアプリケーションの要求を生成するモバイル機器、または新たなアプリケーションを選択するユーザ・ウェブポータルに応答して、グラフィカル・ユーザ・インタフェースのアップデートをヘッドユニットに転送するシステムを例示する図である。
【図１３Ａ】ペアレンタル・コントロール方式の事前動作を示すフローチャートである。
【図１３Ｂ】ペアレンタル・コントロール方式の動作を示すフローチャートである。
【図１４】自動車ヘッドユニットをモバイル機器用の拡張インタフェースとして動作させるシステムを例示する図である。
【図１５】図１４のサーバー、自動車ヘッドユニット、及びモバイル機器が実行することのできる動作の一例を示すシグナリング図である
【図１６】本発明の一実施形態による、自動車ヘッドユニットのＨＭＩを利用するように携帯電話のユーザ・アプリケーションを拡張するシステムを例示する図である。
【図１７】ハンドセット・アプリケーション・プロキシ（ＨＡＰ）アプリケーションに含まれるソフトウェア・コンポーネントの例を示す機能ブロック図である。
【図１８】ハンドセット・アプリケーション・プロキシ（ＨＡＰ）アプリケーションを通した、ユーザ・アプリケーション・プログラムと自動車ヘッドユニットとの間のデータフローを例示する略図である。
【図１９】ユーザ・アプリケーションの携帯電話上での実行に関連してヘッドユニットＨＭＩから受信したイベントを処理するための、ソフトウェア・コンポーネント間のメッセージングを示すメッセージングまたはシグナリング図である。
【図２０】携帯電話上で実行されるユーザ・アプリケーションから受信したメッセージを処理するための、ソフトウェア・コンポーネント間のメッセージングの例を示すメッセージングまたはシグナリング図である。
【図２１】一般的な表示スクリーンを含む、ＨＭＩを有する自動車ヘッドユニットの一例を示す図である。
【発明を実施するための形態】
【００１２】
好適な実施形態の詳細な説明
一例では、ユーザが、自動車ヘッドユニットを電話機用の拡張インタフェースとして使用する目的で、電話機を、有線または無線接続を用いて自動車ヘッドユニットに結合する。次の段落で説明するように、ユーザは、リモート・サーバーによる判定に従って、ヘッドユニットのインタフェースを用いて電話機上のアプリケーションを制御することを許可されることができる。同様に、次の段落で説明するように、ユーザは、リモート・サーバーによる判定に従って、ヘッドユニットのインタフェースを通してアプリケーションの出力を視聴または聴取することができる。
【００１３】
電話機上及びヘッドユニット上の新規なクライアント制御ソフトウェアは、リモート・サーバー上の新規なサーバー制御ソフトウェアと、電話機から延びる無線接続を通してインタフェース（相互作用）することができる。クライアント制御ソフトウェアは電話機アプリケーションを識別して、ヘッドユニットを拡張インタフェースとして利用する。
【００１４】
サーバー制御ソフトウェアは、識別された電話機アプリケーションを、リモート・サーバーがアクセス可能な１つ以上のデータベースと比較する。この比較に基づいて、サーバー制御ソフトウェアは、識別されたアプリケーションがヘッドユニットを拡張インタフェースとして利用することを許可するか否か、及び許可する場合は、ヘッドユニット・インタフェースのどのコンポーネントに、アプリケーションが使用することを許可するかを判定する。サーバー制御ソフトウェアは、この判定により、クライアント制御ソフトウェアに、電話機及びヘッドユニットを制御するように信号通知する。従って、拡張インタフェースとしてのヘッドユニットのあらゆる利用を、安全かつインテリジェントな方法で制御することができる。
【００１５】
図１に、ヘッドユニットの、電話機アプリケーション用の拡張インタフェースとしての、安全かつインテリジェントな方法での使用を制御するシステムを例示する。
【００１６】
システム１００はソフトウェア３０Ａ及び３０Ｂを含み、これらはそれぞれ、携帯電話２０（または他のモバイル機器）及びヘッドユニット２１（または車両によって給電される他のインタフェース、例えばハンドルに統合されたユーザ・インタフェース、またはシートバック（座席の背）に統合されたユーザ・インタフェース）上に設定されている。ソフトウェア３０Ａ及び３０Ｂは、リモート・サーバー２２上に設定されたソフトウェア３２とインタフェース（相互作用）して、電話機２０上で動作するアプリケーション４０がヘッドユニット２１のＩ／Ｏ（入出力）リソース１〜４にアクセスする時期及び方法を調整し制御する。
【００１７】
図２Ａに、図１のソフトウェア３２の動作を示すフローチャートを例示する。
【００１８】
ブロック２０１では、ソフトウェア３２が、電話機２０上の特定アプリケーション４０がヘッドユニット２１のインタフェース（入力２４のリソース１〜２及び出力２５のリソース３〜４を含む）を利用することの要求を受信する。この要求は、車両及び／またはヘッドユニット２１のユーザに対応するユーザ識別子、特定アプリケーション４０に対応するアプリケーション識別子、及び車両状態情報を含む。ユーザ識別子は、制御ソフトウェア３０Ａが携帯電話１００内で最初に起動された際に提供される識別子、ユーザの電話番号、等とすることができる。
【００１９】
ブロック２０２では、ソフトウェア３２がユーザを認証する。このことは、ユーザ識別子によって識別されるユーザが、ヘッドユニット２１を用いて電話機２０のインタフェースを拡張するサービスの加入者のデータベース１１に一致するか否かを判定することを含むことができる。ユーザが菱形（判定）２０３で認証されない場合、ブロック２０４Ａで、ソフトウェア３２がソフトウェア３０Ａ／Ｂに、アプリケーション４０によるヘッドユニット２１へのアクセスを阻止（ブロック）するように信号通知する。ブロック２０２がオプション（随意的）であるようにシステム１００を構成することができることは明らかである。
【００２０】
さもなければ、即ちユーザが認証された場合、ブロック２０４Ｂで、ソフトウェア３２が、アプリケーション識別子をアプリケーションのリスト１２（ホワイトリストとも称する）と比較することによってアプリケーション４０を認証する。このリスト１２をバージョン番号によって比較して、アプリケーション４０の１つの特定バージョンをリスト上で識別すると共に、異なるバージョンは除外することができる。菱形２０５において、特定のアプリケーション４０（または特定バージョン）がリスト１２上にない場合、ブロック２０４Ａで、ソフトウェア３２がソフトウェア３０Ａ〜Ｂに、アプリケーション４０によるヘッドユニット２１へのアクセスを阻止するように信号通知する。
【００２１】
さもなければ、即ちアプリケーション４０が認証された場合、ブロック２０６で、ソフトウェア３２がアプリケーション識別子及び現在の車両状態情報を、アプリケーション動作モードのマッピング１５と比較する。図に示すように、マッピング１５は、リスト１２のアプリケーション４０毎のエントリ１７を有することができる。各エントリ１７は、対応するアプリケーション４０に特化したマッピングを含む。例えば、アプリケーションＡ用のエントリ１７は、車両状態「車両が≦Ｘで移動中」を、リソース１、２、及び４にマッピングする（即ち、アプリケーションＡが、この状態下で、スクリーン１、スピーカ２、及びマイクロホン４のみにアクセスすることを許可される）のに対し、アプリケーションＣ用のエントリ１７は、車両状態「車両が≦Ｘで移動中」を、リソース２及び４のみにマッピングする（即ち、アプリケーションＣはスピーカ２及びマイクロホン４にアクセスすることを許可される）。１つの現実世界の例は、ナビゲーション・アプリケーションＡ及びビデオゲーム・アプリケーションＣとすることができ、同乗者が存在する際でも、システム１００は、ビデオゲーム・アプリケーションＣはあまりにも運転者の気を散らせ過ぎると考えられるので、これをヘッドユニット２１のスクリーン１上に表示できなくするのに対し、ナビゲーション・アプリケーションＡは、ヘッドユニット２１のスクリーン１上に表示することができる。他の現実世界のアプリケーションは、複数のインタフェース、例えばヘッドユニット及び座席の背に取り付けたディスプレイを有する自動車とすることができる。あるアプリケーションは、同じアプリケーションがヘッドユニットへのアクセスを許可されない状態下で、後部座席ディスプレイへのアクセスを許可されることができる。
【００２２】
他の例では、マッピング１５を携帯電話２０上に記憶することができる。この場合、前段落で説明した比較は、制御ソフトウェア３０Ａによって実行することができる。こうした場合、制御ソフトウェア３０Ａが、ヘッドユニット２１と通信することによって現在の車両状態をチェックする。
【００２３】
ブロック２０７では、ソフトウェア３２が、上記比較に応じて、ヘッドユニット２１のＩ／Ｏリソースの一部または全部の集合を識別する。ブロック２０８では、ソフトウェア３２がリモート・ソフトウェアに、特定アプリケーション４０が、Ｉ／Ｏリソース１〜４のうち識別された集合のもののみにアクセスするように信号通知する。一例では、こうした信号通知が、携帯電話２０から送信されたすべてのアクセス要求が、識別されたＩ／Ｏリソースの集合に適合するように、携帯電話２０上のソフトウェア３０Ａを制御することを含むことができる。他の例では、こうした信号通知が、単にヘッドユニット２１上のＩ／Ｏリソースを無効（ディスエーブル）にすることによるような何らかの方法で、携帯電話２０から送信されたアクセス要求を阻止するように、ヘッドユニット２１上のソフトウェア３０Ｂを制御することを含むことができる。さらに他の例では、こうした信号通知が、ソフトウェア３０Ａ及びソフトウェア３０Ｂを共に制御することを含むことができる。
【００２４】
図２Ｂに、図１のソフトウェア３０Ｂが使用することのできるコンテンション方式を示すフローチャートを例示する。図２Ａに示す方式に加えて、コンテンション方式を利用することができる。
【００２５】
ブロック２０９では、ソフトウェア３０Ｂが、識別された集合のいずれかのＩ／Ｏリソースが現在使用中であるか否かを判定する。菱形２１０において、いずれも使用中でない場合、ブロック２１１Ａで、ソフトウェア３０Ｂが、特定アプリケーションを、識別された集合のＩ／Ｏリソースのみにアクセスさせる。
【００２６】
さもなければ、即ち、この集合の少なくとも１つのリソースが使用中である場合、ブロック２１１Ｂで、ソフトウェア３０Ｂが、識別された集合の使用中のリソース毎に、リソースによるアプリケーションのランキング（順位付け）１３を識別する。このことを図１に示し、ここではリソース１〜４毎にランキング１３が存在する。ブロック２１２では、ソフトウェア３０Ｂが、アプリケーション識別子をリソースによるランキング１３と比較して、アプリケーション４０が、識別された使用中のリソースの部分集合のいずれかに対するプライオリティ（優先権）を有するか否かを判定する（このことは信号通知によって実行することができる、というのは、ランキング１３はリモート・サーバー１３上にあるように示されているからであり、あるいは、ランキングは以前のプロセスで車両インタフェースに送信されていることがあるからである）。この比較は、特定の使用中のリソースを現在使用しているアプリケーションが、この使用中のリソースを要求しているアプリケーションよりも高いプライオリティを有すると考えられるか、低いプライオリティを有すると考えられるかを示す。ブロック２１３では、ソフトウェア３０Ｂが、この特定のアプリケーション４０を、Ｉ／Ｏリソース１〜４の識別された集合のうち、現在使用中でないか、より低いプライオリティのアプリケーションが使用中であるのもののみにアクセスさせる
【００２７】
図３に、図１のソフトウェア３０Ａ〜Ｂの動作を示すフローチャートを例示する。
【００２８】
ブロック３０１では、ソフトウェア３０Ａ〜Ｂが、携帯電話２０上の特定アプリケーション４０が、ヘッドユニット２１のインタフェースを利用することの要求を送信する。ブロック３０２では、ソフトウェア３０Ａ〜Ｂが、アプリケーション４０がこの時点でヘッドユニット２１にアクセスすることを許可されているか否かを示す返送信号を受信し、許可されている場合、利用することのできるリソース１〜４の識別子を受信する。菱形３０３において、アプリケーション４０が許可されていない場合、ブロック３０４で、ソフトウェア３０Ａ〜Ｂが、アプリケーション４０がヘッドユニットにアクセスすることを許可されていないことの通知を出力する。この通知は、携帯電話２０またはヘッドユニット２１によって、あるいはその両方によって出力することができる。
【００２９】
さもなければ、即ち、菱形３０３において、アプリケーション４０が許可されていない場合、ブロック３０４Ｂで、ソフトウェア３０Ａ〜３０Ｂが携帯電話２０及びヘッドユニット２１を制御して、アプリケーション４０を、識別されたリソースへ拡張させる。衝突により、（それぞれのマッピング１７より）アプリケーション４０にとって可能なリソースの部分集合しか利用されない場合、ソフトウェア３０Ａ〜Ｂは通知を生成して、より高いプライオリティのアプリケーションを起動する前に、より低いプライオリティのアプリケーションが一時停止されていることについて運転者に警告する。他の例では、リソースが現在、より低いプライオリティのアプリケーションによって使用されている場合、ソフトウェア３０Ａ〜Ｂは、より低いプライオリティのアプリケーションを自動的に一時停止／終了させて、より高いプライオリティのアプリケーションが、要求するリソースを用いて起動されることを可能にする。
【００３０】
アプリケーション４０をヘッドユニット２１へ拡張できるものと判定されている場合、サーバー２２は、アプリケーション４０を制御するための対応する「コントロールパネル」ソフトウェアをヘッドユニットにダウンロードする。要求されているアプリケーションに基づいて、このソフトウェアをダウンロードしてもらうことによって、サービス・プロバイダは、新たなアプリケーションまたは既存のアプリケーションに対するアップデート（更新）が利用可能である際に、これに応じて「コントロールパネル」をカスタマイズ及び更新することができる。ヘッドユニットは、「コントロールパネル」ソフトウェアを表示するためのウェブコード・レンダラを有することができる。
【００３１】
図１を参照すれば、ソフトウェア３０Ａ〜Ｂは、電話機２０から延びる無線接続を通してソフトウェア３２とインタフェース（相互作用）する。この無線接続は、パケットデータ接続（ＧＰＲＳ（General Packet Radio Service）、ＥＤＧＥ（Enhanced Data GSM Environment）、ＥＶＤＯ（Evolution Data Only）、ＵＴＭＳ（Universal Mobile Telecommunication System）、ＷｉＭＡＸ（登録商標）（Worldwide Interoperability for Microwave Access）、ＷｉＦｉ（登録商標）（Wireless Fidelity）等を含むが、これらに限定されない）、ショートメッセージ・サービス（ＳＭＳ）、または米国特許第６１４４３３６号明細書（特許文献７）、米国特許第６６９０６８１号明細書（特許文献８）、及び米国特許第６４９３３３８号明細書（特許文献９）に記載されている、携帯電話２０及びサーバー２２上の帯域内信号化（In-Band Signaling）モデムを利用することができる。
【００３２】
なお、図１をさらに参照すれば、携帯電話２０は、ＵＳＢ、ブルートゥース（登録商標）、またはＷｉＦｉ（登録商標）接続を用いることによってヘッドユニット２１に結合されることができる。しかし、これらは例に過ぎず、他の場合には、異なる接続及び／またはプロトコルが、電話機２０のアプリケーション４０がヘッドユニット２１のインタフェースを利用するのに適している。
【００３３】
マッピング１５は任意の車両状態を有することができ、例示する４つの例はいくつかの例に過ぎないことは明らかである。例えば、他の車両状態は、車両が速度’Ｘ’を超えて移動し、かつ同乗者が存在するか否かとすることができる。
【００３４】
ヘッドユニットは、図に示すリソースの全例より少数を含むことができ、あるいは図示しない他のリソースを含むことができることは明らかである。例えば、他の可能なＩ／Ｏリソース・コンポーネントは、文字−音声コンポーネントである。
【００３５】
図示する例では、第１アプリケーションが、システム１００のインテリジェントな判定に基づき、ヘッドユニット２１上に実際に存在するあらゆるリソースの第１部分集合にアクセスすることを許可することができるのに対し、第２の異なるアプリケーションは、リソースの第２部分集合、さらには全リソースにアクセスすることを許可することができる。
【００３６】
アプリケーション４０は、例示するように「リソースによって」ランク（順位）付けすることができ、あるいは、すべてのアプリケーション４０を含む単一のランキングが存在することができる。システム１００は、図に示す「リソースによる」ランキングで実現することができるが、本明細書に記載する概念は、アプリケーションをリソースと独立してランク付けする他のシステムで実現することができることは明らかである。
【００３７】
図４に、安全かつインテリジェントな方法でアプリケーションを選択して車両に配信するシステムを例示する。
【００３８】
前に説明した図１のシステムと図４のシステムとの１つの相違は、アプリケーションのインストール場所にある。図１のシステム１００内のアプリケーションＡ〜Ｃは、携帯電話２０上にインストールされて（ヘッドユニット２１または車両によって給電される他のインタフェースを拡張インタフェースとして用いて）動作するのに対し、図４のシステム２００内のアプリケーションＪ〜Ｌは、ヘッドユニット２２１または車両によって給電される他の構成要素上にインストールされている。図４のシステム２００では、ソフトウェア２３０〜２３２が、ヘッドユニット２２１上にインストールすることのできるアプリケーションをプロバイダが選択し、選択したアプリケーションの車両への配信をプロバイダが制御することを可能にする。
【００３９】
以下の段落でシステム２００の詳細を説明する前に、図１〜３で説明したシステム１００の構造及び機能をシステム２００（図４〜６）の構造及び機能と組み合わせて単一のシステムにすることができることは明らかである。例えば、単一のシステムが、携帯電話上にインストールされて車両のインタフェースを拡張インタフェースとして使用するいくつかのアプリケーション、及び車両の構成要素上にインストールされたいくつかのアプリケーションを含むことができる。
【００４０】
図５に、図４のソフトウェアの動作を示すフローチャートを例示する。
【００４１】
ブロック５０１では、車両が始動していることに応答して、制御ソフトウェア２３０が、車両の始動を示す信号２４４をサーバー２２２に送信する。信号２４４は、ＵＳＢまたはブルートゥース（登録商標）接続のようなローカル接続上に送信され、モバイル機器２２０によって無線通信ネットワーク上へ中継される。
【００４２】
ブロック５０２では、ソフトウェア２３２が、車両に関連するダウンロード・ディレクトリ２３９（時として「サンドボックス（砂箱）」と称される）をチェックして、車両へダウンロードすべきアプリケーションが存在するか否かを判定する。ダウンロード・ディレクトリ２３９内に存在するアプリケーションをインテリジェントに選択するための方式は、後に図６を参照して詳細に説明する。
【００４３】
ソフトウェア２３２によるチェックが、ダウンロード・ディレクトリ２３９が少なくとも１つのアプリケーションを含むことを示す場合、処理を継続する。ここで、例示目的で、ダウンロード・ディレクトリ２３９がアプリケーション２４０（Ｊ〜Ｌ）を含むものと仮定する。従って、ブロック５０３では、ソフトウェア２３２が信号通知２４５を生成し送信して、モバイル機器２２０上のＩＰゲートウェイ・ソフトウェア２３１をＩＰゲートウェイとして動作させて、アプリケーションをヘッドユニット２２１に転送する。一例では、信号通知２４５が、ブロック５０２における判定に応答して、ソフトウェア２３１を携帯電話２２０に動的にロードして、車両へのダウンロードのためにソフトウェア２３１を携帯電話２２０上で動作させることの通信を含む。携帯電話２２０が既にソフトウェア２３１をダウンロードされており、いつでもＩＰゲートウェイ動作が可能である場合、信号通知２４５を行わないことができる。他の例では、車両の始動を検出したことに応答して、信号通知２４５をヘッドユニット２２１上の制御ソフトウェア２３０から出すことができる。
【００４４】
ブロック５０４では、ソフトウェア２３２が、アプリケーション２４０を車両上にダウンロードするためのＩＰパケット２５０を生成して送信する。ＩＰパケット２５０は携帯電話２２０によって受信されて、ソフトウェア２３１の動作によってヘッドユニット２２１へ転送される。ブロック５０５では、ソフトウェア２３０がＩＰパケット２３０を受信して、アプリケーション２４０（Ｊ〜Ｌ）を車両上にインストールする（インストールは、ヘッドユニット２２１の構成要素上、あるいは他の車両構成要素上に行うことができる）。
【００４５】
その後に、車両のユーザは、ヘッドユニット２２１をインタフェースとして用いて、アプリケーションＪ〜Ｌを動作させることができる。ソフトウェア２３０及び２３２は、図１〜３で説明したいずれの原理に従って動作することもできることは明らかである。例えば、ソフトウェア２３０及び２３２は、現在の車両状態に応じて動作中のアプリケーションによる、ヘッドユニット２２１のＩ／Ｏリソースの利用を調整することができる。他の例として、アプリケーションが車両及びモバイル機器に共にインストールされているシステムでは、ソフトウェア２３０及び２３２が、車両インタフェースを利用するすべてのアプリケーションを、テーブル（表）１３（図１）と同様のランキング／プライオリティ・テーブル中に含むことができる。
【００４６】
一例では、ヘッドユニット２２１が、ソフトウェア２３０によって制御されるウェブコード・レンダラ２９９、例えばＨＴＭＬレンダラを含む。ウェブコード・レンダラ２９９は、ＨＴＭＬコードを表示するように構成されているが、ブラウザとは異なり、ユーザが自由にウェブ・ロケーション（ウェブ上の場所）へナビゲートする（進む）ことはできない。具体的には、ウェブコード・レンダラ２９９は、プロバイダが許可した、例えばサーバー２２２が指定したアプリケーションのみを表示する。
【００４７】
上述したフローチャートは、車両上にインストールされたアプリケーションを更新することに応じることは明らかである。車両に特定アプリケーションを事前にロードして、車両上にインストールされたアプリケーションの一部は上記フローチャートに従ってダウンロードすると共に、他のものは製造中に車両上にインストールすることもできる。
【００４８】
従って、上述した原理に基づいて、車両上にアプリケーションをインストールせずに車両を製造することができるが、その代わりに、運転者が車両内に存在する際に、アプリケーションを車両にダウンロードすることができる。車両にダウンロードされるアプリケーションの種類は、運転者によって提供されてネットワーク・サーバー内に規定される嗜好によって支配される。
【００４９】
図６に、図４〜５に示すシステムを、より詳細に例示する。
【００５０】
サーバー２２２が、車両単位でダウンロードされるのを待つアプリケーションのダウンロード・ディレクトリ２３９を含むことは、前に説明した。図６に、ダウンロード・ディレクトリ２３９内のアプリケーションの選択に関与することのできるユーザ・ウェブポータル６０１、６０４、及び６０５を例示し、これらのウェブポータル６０１、６０４、及び６０５の使用例を説明する。
【００５１】
車両のＯＥＭ（Original Equipment Manufacturer）のようなプロバイダが、ウェブポータル６０１を運用する。コンピュータ端末６２５のようなインタフェースを用いて、プロバイダは、通信６５０を有するウェブポータル６０１のアプリケーション選択部６０８を制御して、アプリケーションのリスト６１０を、車両上にインストールすることのできる全アプリケーションのリスト６０９から組み立てる。一般に、リスト６０９からリスト６１０を構築することは、プロバイダの技術的観点及び／または事業上の観点からのアプリケーションの検証を含む。
【００５２】
プロバイダは、特定車両上にインストールすべきアプリケーションを、被制御リスト６１０から選択することの通信６５１も送信する。これらの選択は、例えば、車両モードをアプリケーションにマッピングすることに基づくことができる。これらの選択６５２は、ダウンロード・ディレクトリ２３９に供給される。
【００５３】
すべての利用可能なアプリケーションのリスト６０９に関しては、このリストは、プロバイダ及び／またはサードパーティが開発したアプリケーションによって組み立てることができることは明らかである。アプリケーションを提供するサードパーティの場合、このサードパーティは、（一例では、プロバイダによって運用されるウェブサーバーをホストとする）ウェブポータル６０４のアプリケーション提出部６１８を用いて、リスト６０９中に含むべきアプリケーション６４９を提出する。
【００５４】
車両のユーザも、ダウンロード・ディレクトリ２３９内に含めるべきアプリケーションを、例えば、モバイル機器またはデスクトップ・コンピュータのようなインターネットにアクセス可能なあらゆるコンピュータ装置を用いて選択することができる。コンピュータ端末６２６が、（一例では、プロバイダによって運用されるウェブサーバーをホストとする）ユーザ・ウェブポータル６０５のアプリケーション選択部６２８にアクセスして、アプリケーションの被制御リスト６１０を見ることができる。そしてユーザは、ユーザが自分の車両上にインストールしたいアプリケーションを、被制御リスト６１０から選択することの通信６６１を送信することができる。これらの選択６６２は、ダウンロード・ディレクトリ２３９に供給される。
【００５５】
ユーザ・ウェブポータル６０５は、ユーザが特定アプリケーションをダウンロード・ディレクトリ２３９から除去できるように構成することもでき、例えば、ユーザは、ダウンロード・ディレクトリ２３９に追加されたプロバイダ選択のアプリケーション６５２の１つを除去したいことがある。除去は、既にディレクトリ２３９へ送信されたアプリケーションの削除によるか、特定アプリケーションが常にダウンロード・ディレクトリ２３９に追加される前に、こうしたアプリケーションを望まないことを指示することによることができる。
【００５６】
以上によれば、アプリケーションを、車両毎のダウンロード・ディレクトリ内に蓄積することができる。車両の始動時に、こうしたアプリケーションを車両上にダウンロードしてインストールすることができる。次に、ダウンロード・ディレクトリ２３９は、次の車両の始動までに、新たなアプリケーションを蓄積することができる。
【００５７】
ウェブポータル６０５のインタフェースと同様のインタフェースを、車両のヘッドユニット上に表示することができる。次にユーザは、こうしたインタフェースから選択を行って、被制御リスト６１０からアプリケーションを選択することができる。このインタフェースから上記選択を行うと、選択したアプリケーションは、ダウンロード・ディレクトリ内に入れられる代わりに、直ちに車両にダウンロードすることができる。
【００５８】
図７に、安全かつインテリジェントな方法でアプリケーションを選択して車両に配信するシステムを例示する。
【００５９】
前に説明した図１のシステムと図７のシステムとの１つの相違は、アプリケーションのインストール場所である。図１のシステム１００内のアプリケーションＡ〜Ｃは（ヘッドユニット２１、または車両によって給電される他のインタフェースを拡張インタフェースとして用いて）携帯電話２０上にインストールされて動作するのに対し、図７のシステム３００内のアプリケーションＭ〜Ｐ／Ｑ〜Ｓは、ヘッドユニット３２１、または車両によって給電される他の構成要素上にインストールされる。図７のシステム３００では、ソフトウェア３３０〜３３２は、プロバイダが、ヘッドユニット３２１上にインストールすることのできるアプリケーションを選択し、選択したアプリケーションの車両へのダウンロードを制御することを可能にする。
【００６０】
システム３００の細部を以下の段落で詳細に説明する前に、図１〜６で説明したシステム１００及び２００の構造及び機能を、システム３００（図７〜８）の構造及び機能と組み合わせて単一のシステムにすることができることは明らかである。例えば、単一のシステムは、単一のシステムが、携帯電話上にインストールされて車両のインタフェースを拡張インタフェースとして使用するいくつかのアプリケーション、及び車両の構成要素上にインストールされたいくつかのアプリケーションを含むことができる。
【００６１】
図８に、図７のソフトウェアの動作を示すフローチャートを例示する。
【００６２】
ブロック８０１では、ヘッドユニット３２１が、携帯電話３２０のようなモバイル機器に通信結合される。一例では、通信５４０が、ヘッドユニット３２１と携帯電話３２０とのブルートゥース（登録商標）ペアリングによって確立される。ブルートゥース（登録商標）ペアリングは、車両が始動したこと（ヘッドユニットが起動されてブルートゥース（登録商標）装置を探索する）に応答して行うことができるが、ブルートゥース（登録商標）ペアリングは、携帯電話３２０の起動、携帯電話３２０がヘッドユニット３２１の範囲内に持ち込まれたこと、他のブルートゥース（登録商標）装置がヘッドユニット３２１から切り離された後の再ペアリングのような、他の状況で生じることができることは明らかである。他の例では、上記通信接続を、ユーザがＵＳＢ接続を用いて携帯電話３２０をヘッドユニット３２１に接続することによって確立することができる。
【００６３】
ブロック８０２では、制御ソフトウェア３３０が携帯電話３２０の電話番号にアクセスする。携帯電話が、呼出しプランへの加入に連動した特定電話番号で起動され、この電話番号は、制御ソフトウェア３３０が携帯電話３２０から読み出す電話番号であることは明らかである。一例では、電話番号を取得するための信号通知５４２を、ブルートゥース（登録商標）シグナリング（信号通知）を用いて実行する。
【００６４】
ブロック８０３では、制御ソフトウェア３３０が信号通知５４３をサーバー３２２に送信する。信号通知５４３は、ＵＳＢ、ブルートゥース（登録商標）、またはＷｉＦｉ（登録商標）のようなローカル接続上に送信され、携帯電話３２０によって無線通信ネットワーク上へ中継される。信号通知５４３の内容は、前に図４に関してより詳細に説明した信号２４４と同様であるが、それに加えて、取得した電話番号を提供することができる。
【００６５】
ブロック８０４では、制御ソフトウェア３３２が、信号通知５４３に含まれる電話番号をマッピング３５０と比較する。このマッピングは、特定のヘッドユニット３２１を介してアクセス可能な複数のダウンロード・ディレクトリＡ〜Ｂの各々を、特定の電話番号に関連付ける。例えば、このマッピングでは、第１電話番号をダウンロード・ディレクトリＡに関連付け、第２電話番号をダウンロード・ディレクトリＢに関連付ける。制御ソフトウェア３３２は、受信した電話番号とマッピング３５０との比較に基づいて、ダウンロード・ディレクトリＡ〜Ｂのうち１つを選択する。
【００６６】
次に、ソフトウェア３３２は、ダウンロード・ディレクトリＡ〜Ｂのうち選択したものをチェックして、選択したディレクトリ内に現在、アプリケーションが記憶されているか否かを判定する。ダウンロード・ディレクトリＡ〜Ｂ内に存在するアプリケーションをインテリジェントに選択する方式は、後に図９を参照して詳細に説明する。ここで、例示目的で、ダウンロード・ディレクトリ３３９Ａ及び３３９Ｂが現在、それぞれ、ヘッドユニットのフロントエンド設定３６９Ａ及び３６９Ｂに加えて、アプリケーション３４０Ａ（Ｍ〜Ｐ）及び３４０Ｂ（Ｑ〜Ｓ）を含むものと仮定する。
【００６７】
前段落に注記したように、ダウンロード・ディレクトリＡ〜Ｂは、それぞれのアプリケーション３４０Ａ及び３４０Ｂに加えて、ヘッドユニットのフロントエンド設定を含む。設定Ａ〜Ｂは、ＨＴＭＬ（hyper Text Markup Language）コード、またはウェブコード・レンダラ３９９と互換性のある他のウェブコードとして記憶することができる。ヘッドユニット・フロントエンド設定Ａ〜Ｂのどちらがヘッドユニット３２１にダウンロードされているかに応じて、ヘッドユニット３２１のディスプレイ３８０が異なるグラフィカル・ユーザ・インタフェースを表示する。ディスプレイ３８０及びレンダラ３９９を用いて表示する際に、異なるウェブコード３６９Ａ及び３６９Ｂの各々が、異なるグラフィカル・ユーザ・インタフェースを表示する。例えば、各グラフィカル・ユーザ・インタフェースは、ユーザが選択した特定の壁紙（ウォールペーパー）のような、ユーザがカスタマイズしたそれぞれの設定を有することができる。異なるヘッドユニット・フロントエンド設定Ａ〜Ｂを生成する方式は、後に図９を参照して詳細に説明する。
【００６８】
ブロック８０５では、図４で説明した方式と同様に、ソフトウェア３２２が信号通知を生成し送信して、携帯電話３２０上のソフトウェア３３１を、アプリケーションをヘッドユニット３２１に転送するためのＩＰゲートウェイとして動作させる。一例では、図４と同様に、こうした信号通知が、ソフトウェア３３１を携帯電話３２０に動的にロードして、車両へのダウンロードのためにソフトウェア３３１を携帯電話３２０上で動作させることの通信を含む。携帯電話２２０が既にソフトウェア２３１をダウンロードされており、いつでもＩＰゲートウェイ動作が可能である場合、この信号通知を行わないことができる。他の例では、接続５４０が確立された後に、信号通知３４５をヘッドユニット３２１上の制御ソフトウェア３３０から出すことができる。
【００６９】
ブロック８０６では、ソフトウェア３３２が、ＩＰパケット５４５を生成し送信して、ディレクトリのうち選択したものからのデータ、例えばアプリケーションＭ〜Ｐ及び設定Ａ、またはアプリケーションＱ〜Ｓ及び設定Ｂのいずれかを、車両上にダウンロードする。ＩＰパケット５４５は、携帯電話３２０によって受信されて、ソフトウェア３３１の動作によってヘッドユニット３２１に転送される。この特定の例示では、ＩＰパケット５４５がアプリケーション及びグラフィカル・ユーザ・インタフェース用の設定を共に含むが、他のシナリオでは、ＩＰパケット５４５が、アプリケーションまたは設定のいずれかを含むことができることは明らかである。また、選択したダウンロード・ディレクトリ内に現在アプリケーションが存在せず、ダウンロード・ディレクトリ内に記憶された設定に前回のダウンロード以来変更がなされていない場合、ＩＰパケット５４５を送信しなくてもよいことも明らかである。
【００７０】
ブロック８０７では、ソフトウェア３３０が、ＩＰパケット５４５を受信して、これらのパケット内に含まれるアプリケーションを車両上にインストールする（インストールは、ヘッドユニット３２１の構成要素上、あるいは他の車両構成要素上にすることができる）。ソフトウェア３３０は、ウェブコード・レンダラ３９９を用いて、ＩＰパケット５４５からの設定を処理して、検出した電話番号に基づく特定のグラフィカル・ユーザ・インタフェースを生成することもできる。
【００７１】
その後は、ディスプレイ３８０を通したグラフィカル・ユーザ・インタフェース出力が、選択したダウンロード・ディレクトリ内に記憶された設定Ａ〜Ｂの一方に対応する。車両のユーザは、インストールされたアプリケーションＭ〜ＰまたはＱ〜Ｓを、ヘッドユニット３２１をインタフェースとして用いて動作させることができる。
【００７２】
ソフトウェア３３０及び３３２は、図１〜３で説明した原理のいずれかに従って動作することができる。例えば、ソフトウェア３３０及び３３２は、現在の車両状態に応じて動作中のアプリケーションによる、ヘッドユニット３２１のＩ／Ｏリソースの利用を調整することができる。他の例として、アプリケーションが車両及びモバイル機器上に共にインストールされているシステムでは、ソフトウェア３３０及び３３２が、車両インタフェースを利用するすべてのアプリケーションを、テーブル１３（図１）と同様のアプリケーション・ランキング／プライオリティ・テーブル中に含むことができる。
【００７３】
上述した例では、制御ソフトウェア３３０が、携帯電話３２０の電話番号にアクセスして、携帯電話３２０を他の携帯電話から一意的に識別する。他の例では、ヘッドユニット３２１上の制御ソフトウェアが、通信結合された携帯電話上の異なる値にアクセスして、この携帯電話を他の携帯電話から一意的に識別する。値の他の例は、携帯電話の物理アドレスを含むことができるが、これに限定されない。こうした他の例では、こうした値がマッピングにおいて用いられることは明らかであり、例えば、他の値が物理アドレスである場合、マッピングが、ダウンロード・ディレクトリに関連する物理アドレスを含む。
【００７４】
上述した例では、制御ソフトウェア３３０が、アクセスした一意的識別子（この例では電話番号）をサーバー３２２に送信する。他の例では、マッピング３５０を車両上に記憶することができる。こうした場合、ソフトウェア３３０が、上記比較に応じて、マッピング中に挙げられた特定のダウンロード・ディレクトリを識別し、特定のダウンロードを指定する識別子をサーバー３２２に送信する。そしてサーバー３２２は、識別したダウンロード・ディレクトリからデータを送信するＩＰパケット５４５で応答する。
【００７５】
図９に、図７〜８に示すシステムを、より詳細に例示する。
【００７６】
サーバー３２２が、ダウンロードを待つ複数のダウンロード・ディレクトリ３３９Ａ〜Ｂを含むことは、前に説明した。図９は、ダウンロード・ディレクトリ３３９Ａ〜Ｂの作成、及びディレクトリ毎のアプリケーションの選択に関与することのできるユーザ・ウェブポータル９０５を例示し、このウェブポータル９０５の使用例を説明する。
【００７７】
車両のユーザは、ユーザ・ウェブポータル９０５のプロファイル作成部９３０を用いて、車両に対応する複数のプロファイルを作成する。プロファイルは、車両を使用し得る人物毎に作成することができる。フィールド９２７は、それぞれが各人物に対応する携帯電話の電話番号または他の一意的識別子を要求する。この電話番号と共に、各人物の名前、または人物毎の他の情報を収集することができる。プロファイル作成後または作成中に、サーバー３２２はプロファイル毎のダウンロード・ディレクトリを作成して、番号／ディレクトリの組合せ毎にマッピング３５０を更新する。一部の例では、ユーザが、作成されたプロファイルをランク付けして、ヘッドユニットをモバイル機器のうち２つ以上に同時に結合することができる場合（このことが可能であるか否かは、接続プロトコルに依存し得る）、対応するプロファイルのうちより高くランク付けされたものを使用することができるように、作成部９３０を構成することができる。
【００７８】
プロファイル作成中及び作成後に、ウェブポータル９０５は、例えば、モバイル機器またはデスクトップ・コンピュータのようなインターネットにアクセス可能なあらゆるコンピュータ装置を用いて、ダウンロード・ディレクトリ３３９Ａ〜Ｂに含めるべきアプリケーションを選択するように動作することができる。コンピュータ端末９２６は、（一例では、プロバイダによって運用されるウェブサーバーをホストとする）ユーザ・ウェブポータル９０５のアプリケーション選択部９２８にアクセスして、車両上にインストールすることのできるアプリケーションの被制御リストを見る。そしてユーザは、ユーザが自分の車両上にインストールしたいアプリケーションを、被制御リストから選択することの通信９６１を、ディレクトリ毎に送信することができる。これらの選択９６２はそれぞれ、ダウンロード・ディレクトリ３３９Ａ〜Ｂに、ディレクトリ毎に供給される。
【００７９】
ユーザ・ウェブポータル９０５は、ユーザが特定のアプリケーションをダウンロード・ディレクトリ３３９Ａ〜Ｂから除去できるように構成することもでき、例えば、ユーザは、プロバイダによってダウンロード・ディレクトリ３３９Ａまたは３３９Ｂに追加された、プロバイダ選択のアプリケーションを、ディレクトリベースで除去したいことがある。除去は、既にディレクトリ３３９Ａまたは３３９Ｂへ送信されたアプリケーションの削除によるか、特定アプリケーションが常にダウンロード・ディレクトリ３３９Ａまたは３３９Ｂに追加される前に、こうしたアプリケーションを望まないことを指示することによることができる。
【００８０】
ユーザ・ウェブポータル９０５は、ヘッドユニット・フロントエンド設定カスタマイズ部９２８を含むこともできる。このカスタマイズ部９２８は、新たな設定３６９Ａ〜Ｂがダウンロード・ディレクトリ３３９Ａ〜Ｂに追加されることを可能にし、各人物の設定を、それぞれの要求に応じてカスタマイズする。例えば、第１の壁紙背景をダウンロード・ディレクトリ３３９Ａに追加することができ、第２の異なる壁紙背景を、ダウンロード・ディレクトリ３３９Ｂに追加することができる。他のカスタマイズは、カスタマイズされたグラフィカル・インタフェース・ボタン、カスタマイズされたグラフィカル・ユーザ・インタフェース・レイアウト、カスタム（特注）画像、等を含むことができる。
【００８１】
以上によれば、アプリケーションを、車両毎のダウンロード・ディレクトリ３３９Ａ〜Ｂ内に、ディレクトリ毎に蓄積することができる。モバイル機器のうち特定のものに結合されているヘッドユニット上に、ダウンロード・ディレクトリ３３９Ａ〜Ｂのうち対応するものからのデータをダウンロードし、車両上にインストールして、カスタマイズされたアプリケーション・セット及びカスタマイズされたユーザ・インタフェースを提供することができる。
【００８２】
ウェブポータル９０５のインタフェースと同様のインタフェースを、車両のヘッドユニット上に表示することができることは明らかである。そしてユーザは、こうしたインタフェースから選択を行って、上記被制御リストからアプリケーションを選択することができる。選択したアプリケーションは、ダウンロード・ディレクトリ内に入れられる代わりに、直ちに車両にダウンロードすることができる。
【００８３】
図１０に、ヘッドユニットの構成に応じて、ヘッドユニットのグラフィカル・インタフェースを選択するシステムを例示する。
【００８４】
システム１０００は、サーバー１０２２及びヘッドユニット１０２１を含み、これらは前に説明したサーバー及びヘッドユニットのいずれかと同様の構成要素を含むことができる。サーバー１０２２とヘッドユニット１０２１は、ヘッドユニット１０２１に結合されたモバイル機器（図示せず）を用いて通信することができる。ヘッドユニット１０２１は制御ソフトウェア１０３０を含み、サーバー１０２２は制御ソフトウェア１０３２を含む。
【００８５】
ソフトウェア１０３２は、例えばヘッドユニット１０２１を探査して（１０８１）情報を収集することによって、ヘッドユニット１０２１の構成を識別する。ソフトウェア１０３１は、ヘッドユニット１０２１の構成を識別する情報で応答する（１０８２）。応答１０８２は、次の少なくとも１つを含むことができる：車両の型式／モデル／年式、所定のコード、またはヘッドユニット１０２１の構成のアドホック（特定目的）リスト（例えば、カラー／モノクローム・ディスプレイ、ネイティブ（実効）解像度、等）。
【００８６】
次に、ソフトウェア１０３２が、複数のグラフィカル・ユーザ・インタフェースから、ヘッドユニット情報１０８２に基づいて選択する。例えば、ヘッドユニット情報１０８２が所定のコードを含む場合、ソフトウェア１０３２は、このコードを、記憶されているコード対グラフィカル・ユーザ・インタフェースＹ〜Ｚのマッピング１０８５と比較する。選択されるグラフィカル・ユーザ・インタフェースは、情報１０８２によって報告されるヘッドユニット１０２１の特定の構成に対応する。例えば、ヘッドユニット１０２１がモノクローム・ディスプレイを有する場合、選択されるグラフィカル・ユーザ・インタフェース（ＧＵＩ：Graphical User Interface）はインタフェースＹとすることができるのに対し、ヘッドユニット１０２１がカラー・ディスプレイを有する場合、選択されるＧＵＩはインタフェースＺとすることができる。あるいは、恐らくは、ヘッドユニット１０２１が第１値のネイティブ解像度を有する場合、選択されるＧＵＩはインタフェースＹとすることができるのに対し、ヘッドユニット１０２１が第２値のネイティブ解像度を有する場合、選択されるＧＵＩはインタフェースＺとすることができる。自動車の型式／モデル／年式が第１デザインのインテリア（内装）、例えば豪華なモチーフを示す場合、選択されるＧＵＩはインタフェースＹとすることができるのに対し、自動車の型式／モデル／年式が第２デザインのインテリア、例えばスポーツカーのモチーフを示す場合、選択されるＧＵＩはインタフェースＺとすることができる。
【００８７】
一旦、グラフィカル・ユーザ・インタフェースを選択すると、ソフトウェア１０３２は、グラフィカル・ユーザ・インタフェースＹ〜Ｚのうち選択したもののＩＰパケット転送１０４５を行う。ＩＰパケット転送１０４５は、前述した携帯電話（図示せず）のＩＰゲートウェイ・ソフトウェアを利用することができることは明らかである。ソフトウェア１０３０は、受信したグラフィカル・ユーザ・インタフェースを自動的にインストールする。選択したグラフィカル・ユーザ・インタフェースは、デフォルトのグラフィカル・ユーザ・インタフェース１０９０、あるいは以前にダウンロードして転送１０４５の前にヘッドユニット１０２１上に存在するグラフィカル・ユーザ・インタフェースを置き換えることができる。
【００８８】
前述したフロントエンド設定は、選択してインストールしたＧＵＩに適用することができることは明らかである。例えば、選択したＧＵＩをヘッドユニット１０２１上にインストールし、さらに、現在ヘッドユニット１０２１に結合されているモバイル機器の電話番号に応じてカスタマイズしたフロントエンドの選択に基づいて、外見を修正することができる。
【００８９】
図１１に、リモート計算の許可を生成してヘッドユニットに送信するシステムを例示する。
【００９０】
システム１１００は、サーバー１１２２及びヘッドユニット１１２１を含み、これらは、前述したサーバー及びヘッドユニットのいずれかと同様の構成要素を含むことができる。サーバー１１２２とヘッドユニット１１２１とは、モバイル機器１１３１を用いて通信することは明らかである。ヘッドユニット１１２１は制御ソフトウェア１１３０を含み、サーバー１１２２は制御ソフトウェア１１３２を含む。
【００９１】
ヘッドユニット１１２１は、モバイル機器１１３１上で実行されるVirtual Network Computing（ＶＮＣ（登録商標））サーバー１１４９に接続するための、ＶＮＣクライアント１１４８のようなリモート・デスクトップ視聴プログラムを含む。背景として、ＶＮＣクライアントとサーバーとが通信して、サーバーのデスクトップまたは他の現在表示をクライアントのディスプレイ上に表示する。そして、クライアントに直接接続されたヒューマン・インタフェース装置、例えばキーボード、マウス、等を、表示された画像と共に用いて、ＶＮＣサーバーを実行するコンピュータ装置を遠隔操作することができる。
【００９２】
制御ソフトウェア１１３０は、特定アプリケーションＸ（１１４０）を指定する要求１１５５をモバイル機器１１３１から受信する。制御ソフトウェア１１３０は、要求１１５５に対応するアプリケーション識別子を、識別子自体を要求１１５５から抽出するか、この要求から、あるいはモバイル機器１１３１との何らかの通信から収集した情報に基づく検査を用いるかのいずれかによって識別する。制御ソフトウェア１１３０は、アプリケーション識別子を含む通信１１５６を送信する。
【００９３】
制御ソフトウェア１１３２は、アプリケーション識別子を内部テーブルと比較して、アプリケーションＸについてのＶＮＣ許可１１５７を生成する。ＶＮＣ許可１１５７は、このアプリケーションに伴ってＶＮＣが許可される特定条件を指定する。例えば、アプリケーションＸがナビゲーション・アプリケーションである場合、許可１１５７は、車両が停車中であるか移動中である際にＶＮＣが許可されることを指定することができる。これとは対照的に、アプリケーションＸがメディア（媒体）作成アプリケーションである場合、許可１１５７は、車両が停車中である際のみにＶＮＣが許可されることを指定することができる。
【００９４】
ＶＮＣ許可１１５７は、アプリケーションが現在、フルスクリーン（全画面）モードで実行されているかウィンドウ・モードで実行されているかに基づいて、異なる許可を指定することもできる。例えば、ナビゲーション・アプリケーションは、車両が移動中である際に許可することができるが、ナビゲーション・アプリケーションがモバイル機器１１３１上で、フルスクリーン・モードで実行されている間のみに限る。これにより、車両が移動している間にユーザがナビゲーション・アプリケーションをウィンドウ・モードに切り換えた場合、ＶＮＣの機能を直ちに停止する。
【００９５】
ＶＮＣ許可１１５７は、電話番号を指定することもできる。例えば、ＶＮＣは、モバイル機器１１３１がメディアプレーヤ・アプリケーションを実行している際に許可することができるが、モバイル機器が特定電話番号を有する際のみである（このことは、パネル制御の形態として用いることができる）。
【００９６】
制御ソフトウェア１１３０は、受信したＶＮＣ許可１１５７を、ＶＮＣ許可のデータベース１１３５内に記憶する。制御ソフトウェア１１３０は、データベース１１３５内に記憶されているＶＮＣ許可に基づく条件を連続的に監視して、制御信号１１６０を発生する。制御信号１１６０は、モバイル機器１１３１の視覚表示１１６１を、現在、ＶＮＣクライアント１１４８がヘッドユニット１１２１のディスプレイ上に表示することができるか否かを制御する。制御信号１１６０は、ヘッドユニット１１２１の入力インタフェースを用いて行った入力をＶＮＣサーバー１１４９に送信するか否かも制御する。
【００９７】
図１２に、新たなアプリケーションの要求を生成するモバイル機器、または新たなアプリケーションを選択するユーザ・ウェブポータルに応答して、グラフィカル・ユーザ・インタフェースのアップデートをヘッドユニットに転送するシステムを例示する。
【００９８】
システム１２００は、サーバー１２２２及びヘッドユニット１２２１を含み、これらは、前述したサーバー及びヘッドユニットのいずれかと同様の構成要素を含むことができる。サーバー１２２２とヘッドユニット１２２１とがモバイル機器１２３１を用いて通信することは明らかである。
【００９９】
サーバー１２２２は、システム１２００内で少なくとも２つの異なる形態で使用される新たなアプリケーションの指標を受信することができる（新たなアプリケーションとは、ヘッドユニット１２２１にまだダウンロードされたことのないアプリケーション、またはまだヘッドユニット１２２１を拡張インタフェースとして利用したことのないアプリケーションを称する）。１つの形態では、モバイル機器１２３１が、新たなアプリケーションＸ（１２４０）がヘッドユニット１２２１を拡張インタフェースとして利用することの指標を送信する。より具体的には、この指標は、制御ソフトウェア１２３０が、モバイル機器１２３１からの要求１２７０を受信したことに応答して生成した許可要求１２７１である。
【０１００】
サーバー１２２２が新たなアプリケーションの指標を受信することのできる他の方法は、ユーザ・ウェブポータル１２０５を通した制御によるものである。ユーザ・ウェブポータル１２０５は、前述したウェブポータルと同様である。アプリケーション選択ツール１２２８を用いて、ユーザはあらゆるリモート（遠隔）コンピュータを用いて、ヘッドユニット上へのインストール用の対応するダウンロード・ディレクトリ（図示せず）に含めるべきアプリケーションを選択する。従って、新たなアプリケーションを含む受信した選択１２７４は、システム１２００内で使用される新たなアプリケーションの指標の他の形態である。
【０１０１】
こうした指標を検出したことに応答して、制御ソフトウェア１２３２は、新たなアプリケーションＸについてのグラフィカル・ユーザ・インタフェースのアップデートを含むＩＰパケット転送１２４５を送信すべきか否かを判定する。前述したアプリケーションの被制御リスト（図６）に新たなアプリケーションＸが含まれない場合、こうしたＩＰパケット転送を送信しないことは明らかである。一例では、グラフィカル・ユーザ・インタフェースのアップデートが、前に選択してインストールしたグラフィカル・ユーザ・インタフェース（図１０）を、新たなアプリケーションＸにアクセスするためのアイコンを追加するように修正する。他の例では、グラフィカル・ユーザ・インタフェースのアップデートが、新たなアプリケーションＸを動作させるための、前に選択してインストールしたグラフィカル・ユーザ・インタフェースのアップデートの他の形態を含む。制御ソフトウェア１２３０は、要求１２７０及び／または選択１２７４の送信に応答して、アップデートを自動的にインストールする。ダウンロードがダウンロード・ディレクトリ内で車両の始動を待機している場合、転送１２４５をアプリケーション自体のダウンロードと共に含めることができることは明らかである。
【０１０２】
図１３Ａに、ペアレンタル・コントロール方式の事前動作を示すフローチャートを例示する。
【０１０３】
ブロック１３０１では、サーバーが少なくとも１つのプロファイルを、ペアレンタル・コントロール（親権者による規制）を受けるものとして指定する。このプロファイルは、口座保有者が、例えばウェブポータルを用いて選択を行うことによって選択することができる。
【０１０４】
ブロック１３０２では、サーバーが、ペアレンタル・コントロールを受けるプロファイルについてペアレント（親権者、一般に口座保有者）として指定されたユーザによるログインを受信する。ブロック１３０３では、サーバーが、ペアレンタル・コントロールを受けるプロファイルに関連するアプリケーションのリストを、ウェブポータルを用いて表示する。
【０１０５】
ブロック１３０４では、このリストを表示した後に、サーバーが、表示されたリストからの選択を受信する。サーバーは、これらの選択を、ペアレンタル・コントロールを受けるプロファイル中に記憶することができる。これらの選択は、このリストからのアプリケーション、及び／または、条件付き許可の場合はより詳細な情報を含むことができる（追加的許可は、後により詳細に説明する）。
【０１０６】
図１３Ｂに、ペアレンタル・コントロール方式の動作を示すフローチャートを例示する。
【０１０７】
ブロック１３２０では、携帯電話がヘッドユニットに通信結合されたことに応答して、ヘッドユニットが、サーバーと通信するために使用する携帯電話の電話番号を取得する。ブロック１３２１では、ヘッドユニットがこの電話番号をサーバーに送信して解析させる。取得した電話番号が、ペアレンタル・コントロールを受けるものとして指定されたプロファイルに一致しない場合、ペアレンタル・コントロール・プロセスが完了する（ブロック１３２２）。
【０１０８】
さもなければ、即ち、取得した電話番号が、ペアレンタル・コントロールを受けるプロファイルに対応する場合、ブロック１３２３で、サーバーがペアレンタル・コントロールを実行する。一例では、こうした実行がブロック１３２３〜１３２７を含み、次段落で説明するＶＮＣ許可プロセスと同様である。
【０１０９】
ブロック１３２３では、サーバーがペアレンタル・コントロール・メッセージをヘッドユニットに送信する。ブロック１３２４では、ヘッドユニットが、ペアレンタル・コントロール・メッセージに基づく条件を連続的に監視する。ブロック１３２５では、ヘッドユニットが、特定アプリケーションがヘッドユニットを拡張インタフェースとして使用することを阻止し、及び／または、ヘッドユニット上にインストールされた特定アプリケーションが実行されることを阻止する。例えば、ヘッドユニットが、特定の携帯電話が電話呼出しを受信していることの指標を受信することはできるが、そこで、ヘッドユニットをこの電話呼出し用の拡張インタフェースとして使用することは阻止する。あるいは、他の例では、ヘッドユニットが、メディアプレーヤ・アプリケーションをこのヘッドユニット上で実行しようとする試みを阻止することができる。上記連続的な監視は、受信したペアレンタル・コントロール・メッセージを記憶しているヘッドユニット上のデータベースによって促進することができる。
【０１１０】
ブロック１３２６では、ヘッドユニットが、特定アプリケーションがこのヘッドユニットを拡張インタフェースとして使用すること、及び／または、特定アプリケーションがこのヘッドユニット上で直接実行されることを、条件付きで阻止する。例えば、ヘッドユニットは、特定の携帯電話が電話呼出しを受信していることの指標を受信することはできるが、そこで、着信した呼出し上の発呼者ＩＤフィールドの値に基づく条件付きで、このヘッドユニットを拡張インタフェースとして使用することを阻止する。より具体的には、ペアレンタル・コントロール・メッセージが、特定電話番号を例外として指定して、ヘッドユニットが電話機用の拡張インタフェースを提供することを防止することができる。ヘッドユニットは、発呼者ＩＤ値を携帯電話から受信して、この携帯電話がヘッドユニットのインタフェースを利用することを条件付きで阻止する。ヘッドユニットが、車両の状態に基づく条件付きでアプリケーションを阻止することができ、例えば、ヘッドユニットは、車両が現在移動中である場合のみに、携帯電話がこのヘッドユニットのインタフェースを利用することを阻止する。
【０１１１】
ブロック１３２７では、ペアレンタル・コントロール・メッセージにより特定アプリケーションが許可されている場合に、ヘッドユニットはこのアプリケーションを阻止しない。この場合、ヘッドユニットは、アプリケーションが、サーバーによる許可により、例えばアプリケーションが上記被制御リスト（図６）上にあるか否かに応じて動作することを可能にする。
【０１１２】
他の例では、システムが、具体的に上述したプロセスと異なるプロセスを用いるパネル制御方式を実行することができることは明らかである。例えば、他の例では、ブロック１３２３〜１３２７のプロセスを用いない。その代わりに、ヘッドユニットが状態及びアプリケーション要求を連続的にサーバーに報告し、これにより、ペアレンタル・コントロール設定に応じた現在の許可を動的に引き出す。そして、サーバーはヘッドユニットを制御して、現在許可されていないアプリケーションを阻止する。
【０１１３】
自動車ヘッドユニットをモバイル機器用の拡張インタフェースとして動作させるための拡張可能な方式
自動車ヘッドユニットをモバイル機器用の拡張インタフェースとして動作させるための既知の方式が存在する。しかし、既知の方式では、自動車ヘッドユニットの構成は製造時に固定され、その結果、新たに発売・公開されたモバイル・アプリケーションで動作不能になり得る。部分的な解決策では、新たなモバイル機器アプリケーションが自動車ヘッドユニットにダウンロードされるが、このモバイル機器アプリケーションの（自動車ヘッドユニット上への）ダウンロード、インストール、及び（自動車ヘッドユニット上での）動作を可能にするためには、自動車ヘッドユニットが比較的高価な構成要素で製造されていることを必要とする。
【０１１４】
図１４に、自動車ヘッドユニットをモバイル機器用の拡張インタフェースとして動作させるシステムを例示する
【０１１５】
システム１４００は、サーバー１４１１、自動車ヘッドユニット１４１２、及びモバイル機器１４１３（一例では、長距離無線装置、例えばセルラ電話機とすることができる）を含み、これらはそれぞれ、処理装置１４０８、１４０９、及び１４１０を含む。自動車ヘッドユニット１４１２は、ブルートゥース（登録商標）トランシーバまたはＵＳＢポートのような短距離入力／出力インタフェースを含み、これは、自動車ヘッドユニット１４１２を、モバイル機器１４１３のような利用可能なモバイル機器に結合するように構成されている。接続１４１５は、自動車ヘッドユニット１４１２とモバイル機器１４１３との接続を表す。サーバー１４１１は、自動車ヘッドユニット１４１２と通信するように構成されたネットワーク・インタフェースを含む。一例では、サーバー１４１１からの通信１４１６が、接続１４１５を通して（一部の場合には、自動車ヘッドユニットがモバイル機器の長距離無線を利用して、リモート・ネットワークと通信することができる）、あるいは他の経路を通して（一部の場合には、自動車ヘッドユニットが、自動車の長距離無線を利用して、リモート・ネットワークと通信することができる）、自動車ヘッドユニット１４１２に到着することができる。
【０１１６】
サーバー１４１１は、１つ以上のアプリケーション命令１４２５のグループを記憶するメモリを含む（各グループがモバイル機器アプリケーションに対応する）。あるグループのアプリケーション命令は、モバイル機器アプリケーションが発売・公開されて時間が経つと共に更新することができる。自動車ヘッドユニットは、人間−機械インタフェース（ＨＭＩ）アプリケーション１４２１のような組込みソフトウェアを含み、これは、上記とは対照的に、自動車ヘッドユニット１４１２の製造時に固定することができる。テンプレートＨＭＩアプリケーション１４２１は、ダウンロードされたアプリケーション命令を実行するように構成された「シン・クライアント（小型軽量クライアント）」である。ここでも、テンプレートＨＭＩアプリケーション１４２１は「シン・クライアント」と称することができ、インタプリタ、即ちスクリプト言語、例えばＪａｖａ（登録商標）スクリプトを他のプログラミング言語に翻訳するコンポーネントとは独立して動作する。テンプレートＨＭＩアプリケーション１４２１は、複数の一般的な表示スクリーン、例えば複数のＨＭＩスクリーン１４２３を含むことができる。
【０１１７】
ヘッドユニット上の多数のアプリケーション・スクリーンを、複数のスクリーン型の１つとして一般化することができる。ある例では、複数のスクリーン型が、情報型スクリーン、例えば情報のリストを示すスクリーン、対話型スクリーン、例えば、ソーシャル・ネットワーク・ポストまたは電子メール・メッセージのような対話型メッセージを示すスクリーン、コンテンツ表示スクリーン、例えば、音楽アプリケーションまたは書籍アプリケーションからのコンテンツのような現在支払中のコンテンツを表示するスクリーンを含む。従って、ある例では、複数のＨＭＩスクリーン１４２３が、情報スクリーン、コンテンツ表示スクリーン、及び対話型メッセージスクリーンを含む。複数の一般的表示スクリーン、例えば複数のＨＭＩスクリーン１４２３どうしを組み合わせて、所定アプリケーションのスクリーンを形成することができる。個別のテンプレート・フォーマットは、１つの所定アプリケーションから他の所定アプリケーションへ変化しなくてもよく、内容、画像があれば画像、スクリーンを表示する順序、及び電話機上に存在するアプリケーション機能へのボタン・マッピングが、１つの所定アプリケーションから他の所定アプリケーションへ変化する。
【０１１８】
処理装置１４０８は、アプリケーション命令のグループ１４２５のうち少なくとも１つを、自動車ヘッドユニット１４１２のメモリ１４５０にダウンロードする。このダウンロードは随時行うことができるが、一例では、処理装置１４０９または処理装置１４１０から要求を受信したことに応答して行うことができる。
【０１１９】
アプリケーション命令のグループのダウンロードは、現在の車両の状態に基づく、モバイル機器１４１３のアプリケーションが自動車ヘッドユニット１４１２のリソースを利用することを許可されていることの判定に応答することもできる。アプリケーションが許可されているか否かの判定は、本明細書で図１〜１３Ｂを参照して説明した原理の任意の組合せを含むことができることは明らかである。ある例では、アプリケーションが自動車ヘッドユニット１４１２のリソースを利用することを許可されていないものと判定されたことに応答して、ダウンロードを行わないことができる。ある例では、アプリケーションが自動車ヘッドユニット１４１２のリソースを利用することを許可されていないにもかかわらず、サーバー１４１１が現時点でアプリーションに自動車ヘッドユニット１４１２のリソースを利用させないことができるものと判定されたことに応答して、ダウンロードを行うことができる。
【０１２０】
ダウンロードしたアプリケーション命令は、テンプレートＨＭＩアプリケーション１４２１によって実行する際に、テンプレートＨＭＩアプリケーション１４２１に、特定のモバイル機器アプリケーション１４１４を制御する方法について、特定のモバイル機器アプリケーション１４１４が解釈すべきコマンド、及び／またはこれらのコマンドのフォーマットを含めて指示する。より一般的に述べれば、アプリケーション命令のダウンロード及び実行は、テンプレートＨＭＩアプリケーション１４２１（自動車ヘッドユニット上に製造時にインストールされた元のＨＭＩアプリケーションとすることができる）が、新たに発見した特定のモバイル機器アプリケーション１４１４（「新たな」モバイル機器アプリケーション、即ち、自動車ヘッドユニットの製造後に発売・公開され、さらには開発されたモバイル機器アプリケーションとすることができる）を制御することを可能にする。
【０１２１】
ある例では、上記命令が、複数のＨＭＩスクリーンの少なくとも一部を、要求をしたアプリケーション用に表示する特定順序を示す。換言すれば、要求をしたアプリケーション用の特定順序は、他のアプリケーションに対応する特定順序と異なってもよい（モバイル機器の複数のアプリケーション用の各命令は、異なる順序を示し得る）。１つのアプリケーションが、複数のＨＭＩスクリーンの、他のアプリケーションとは異なる部分を使用することができることは明らかである（例えば、１つの所定のアプリケーションがすべてのスクリーンを使用し得るのに対し、他の所定のアプリケーションは、１つのスクリーンしか使用しないことがある）。
【０１２２】
応答を、特定のモバイル機器アプリケーション１４１４からテンプレートＨＭＩアプリケーション１４２１へ送信することができるものと想定され場合、ダウンロードされるアプリケーション命令は、テンプレートＨＭＩアプリケーション１４２１によって実行される際に、テンプレートＨＭＩアプリケーション１４２１に応答のフォーマット／構造を提供するように構成することができ、このフォーマット／構造は、
テンプレートＨＭＩアプリケーション１４２１が、この応答に含まれる情報を表示する方法を記述した情報を含む。応答を、特定のモバイル機器アプリケーション１４１４からテンプレートＨＭＩアプリケーション１４２１へ送信することができるものと想定される場合、ダウンロードされるアプリケーション命令は、テンプレートＨＭＩアプリケーション１４２１によって実行される際に、テンプレートＨＭＩアプリケーション１４２１に、コマンドのリスト、及び関係する使用事例について、テンプレートＨＭＩアプリケーション１４２１とモバイル機器アプリケーション１４１４との間で交換されるメッセージの順序及び列を作成する応答を提供するように構成することができる。
【０１２３】
図１５に、図１４のサーバー、自動車ヘッドユニット、及びモバイル機器が実行することのできる動作の一例を示すシグナリング（信号通知）図を例示する。
【０１２４】
自動車ヘッドユニット１４１２とモバイル機器１４１３とが結合された後に、自動車ヘッドユニット１４１２は、自動車ヘッドユニット・プロファイルをモバイル機器１４１３に提供する（信号１５０２）。自動車ヘッドユニット・プロファイルは、自動車ヘッドユニット１４１２の一意的識別子を含むことができる。自動車ヘッドユニット・プロファイルは、自動車ヘッドユニット１４１２上に現在記憶されているアプリケーション命令の全グループのリストを含むことができる。ある例では、自動車ヘッドユニット・プロファイルが、自動車ヘッドユニット１４１２がサポートする少なくとも１つの言語またはプロトコルも識別する。
【０１２５】
モバイル機器１４１３は、モバイル機器プロファイル及びヘッドユニット・プロファイルをサーバー１４１１に提供する（信号１５０３）。モバイル機器プロファイルは、一意的識別子、例えばモバイル機器の一意的識別子またはユーザ・アカウント識別子を含むことができ、これは、自動車ヘッドユニット１４１２の一意的識別子とは異なる。モバイル機器プロファイルは、モバイル機器１４１３上に現在記憶されている全アプリケーションのリストを含むことができる（しかし、一部の例では、一意的識別子がユーザ・アカウントに対応して、サーバー１４１１が、アカウント識別子を基に、このユーザ・アカウントに現在関連する全アプリケーションを確認することができる）。ある例では、モバイル機器１４１３が、自動車ヘッドユニット１４１２によってサポートされるテンプレートＨＭＩアプリケーション１４２１を識別し、アプリケーション１４１４を識別して、テンプレートＨＭＩアプリケーション１４２１と共に動作する。
【０１２６】
サーバー１４１１は、アプリケーション命令１４２５、例えば一組のアプリケーション命令を、モバイル機器１４１３へダウンロードする（信号１５０７）。ある例では、サーバー１４１１が、識別したアプリケーションに対応するアプリケーション・ロジック、例えば、特定アプリケーションに対する命令／制御を行うように構成されたロジックをダウンロードすることができる。ある例では、ダウンロードされるアプリケーション命令が、コマンドを対応するアプリケーション・ロジックによって実行した結果を含む。自動車ヘッドユニット１４１２向けのダウンロードは、リストからのアプリケーション命令に対するアップデート、または自動車ヘッドユニット１４１２上にまだ記憶されていない新たなアプリケーション命令を含むことができる。同様に、モバイル機器１４１３向けのダウンロードは、モバイル機器１４１３の既存のアプリケーション用のアップデート、あるいは新たなアプリケーションのダウンロードとすることができる。
【０１２７】
モバイル機器１４１３は、受信したあらゆるアプリケーション・ロジックをローカルメモリに記憶して、ダウンロードしたアプリケーション命令１４２５を自動車ヘッドユニットに提供する（信号１５０８）。モバイル機器１４１３のメモリに記憶されているアプリケーション・ロジックは、モバイル機器１４１３が受信したユーザ入力に応答して実行することができる。
【０１２８】
自動車ヘッドユニット１４１２がアプリケーション命令を受信する場合、自動車ヘッドユニット１４１２は、自動車ヘッドユニット１４１２を拡張インタフェースとして利用することのできるモバイル機器アプリケーション用のソフトウェア・ボタンで、グラフィカル・ユーザ・インタフェースを構築する。表示されるＧＵＩは、テンプレートＨＭＩアプリケーション１４２１（図１４）のＨＭＩスクリーン１４２３（図１４）のうち１つを利用することができる。自動車ヘッドユニット１２を拡張インタフェースとして利用するモバイル機器アプリケーションを選択するユーザ入力に応答して、自動車ヘッドユニット１２は、ダウンロードしたアプリケーション命令のうち対応するものを実行する（信号１５１１）。自動車ヘッドユニットは、対応するアプリケーション命令を実行した結果に基づいて、テンプレートＨＭＩアプリケーションを操作する（信号１５１３）。
【０１２９】
１つの使用例では、アプリケーション命令のグループの第１命令を実行することによって、自動車ヘッドユニットが特定メッセージをモバイル機器アプリケーションに送信し、モバイル機器アプリケーションは、コンテンツを自動車ヘッドユニットに返送することによって応答する。この使用例では、グループ内の次の命令によって、自動車ヘッドユニットが、このコンテンツの全体または一部を、この次の命令に含まれるパラメータまたは値と比較する。この比較の結果に応じて、自動車ヘッドユニットは、次の命令に進むか、次の命令の後の他の命令に直接進むか、ユーザが自動車ヘッドユニットのインタフェースを介して選択を入力するのを待つか、終了するか、等を、実行する命令の特異性に応じて行うことができる。
【０１３０】
図１４及び１５を参照して説明した原理に従って動作するある例では、アプリケーションが自動車ヘッドユニットのリソースを利用するためのアプリケーション・ロジックを、モバイル機器と自動車ヘッドユニットとの間で配信する。図１４及び１５を参照して説明した原理に従って動作する他の例では、アプリケーション・ロジックに関連するすべてのコードを、モバイル機器上に記憶する。
【０１３１】
ある例では、命令を記憶しているメモリ装置が提供され、これらの命令は、処理装置による実行に応答して、処理装置に動作を実行させる。ある動作は、モバイル機器と自動車ヘッドユニットとを結合することを含む。ある動作は、モバイル機器のアプリケーションが、自動車ヘッドユニットのリソースを利用することの要求をリモート・ネットワーク装置へ送信することを含み、この要求は、自動車ヘッドユニットの第１プロファイル及びモバイル機器の第２プロファイルを含む。ある動作は、この要求を送信したことに応答して、リモート・ネットワーク装置から命令を受信することを含み、これらの命令は、自動車ヘッドユニットの組込みソフトウェアによって実行されて、要求をしたアプリケーションが自動車ヘッドユニットのリソースを利用することを可能にする。
【０１３２】
ある例では、上記組込みソフトウェアが、テンプレートＨＭＩアプリケーション及び複数のＨＭＩスクリーンを含み、上記命令が、複数のＨＭＩスクリーンの少なくとも一部を、要求をしたアプリケーション用に表示する指定順序を示す。ある例では、人間−機械インタフェース（ＨＭＩ）アプリケーションが、インタプリタ・コンポーネントなしに動作する。
【０１３３】
ある例では、上記第１プロファイルが、自動車ヘッドユニットに対応する第１の一意的識別子を識別し、かつ、上記組込みソフトウェアに関連する言語またはプロトコルを識別する。ある例では、上記第２プロファイルが、第１の一意的識別子とは異なる第２の一意的識別子を識別する。
【０１３４】
ある例では、上記命令が、要求をしたアプリケーションに関連するアプリケーション・ロジックによって実行されるコマンドまたは制御機能の結果を含む。ある例では、上記動作が、上記要求に応答して、モバイル機器上に記憶され、かつアプリケーション・ロジックに対応するコードを更新することを含む。ある例では、アプリケーション・ロジックに対応するコードが、モバイル機器がユーザ入力を受信したことに応答して、自動車ヘッドユニットと相互運用されるように構成され、この相互運用は、自動車ヘッドユニットによって上記命令を実行した結果に応じる。
【０１３５】
ある例では、命令を記憶しているメモリ装置が提供され、これらの命令は、処理装置による実行に応答して、処理装置に動作を実行させる。ある動作は、モバイル機器のアプリケーションが、自動車ヘッドユニットのリソースを利用することの要求を受信することを含み、この要求は、自動車ヘッドユニットの第１プロファイル、及びモバイル機器の第２プロファイルを含む。ある動作は、要求をしたアプリケーションが、自動車ヘッドユニットのリソースを利用することを許可されているか否かを、現在の車両の状態に基づいて判定することを含む。ある動作は、要求をしたアプリケーションが自動車ヘッドユニットのリソースを利用することを許可されているものと判定されたことに応答して、命令を自動車ヘッドユニットにダウンロードすることを含み、この命令は、自動車ヘッドユニットの組込みソフトウェアによって実行されて、要求をしたアプリケーションが自動車ヘッドユニットのリソースを利用することを可能にする。
【０１３６】
ある例では、上記組込みソフトウェアが、テンプレートＨＭＩアプリケーション及び複数のＨＭＩスクリーンを含み、上記命令が、複数のＨＭＩスクリーンの少なくとも一部を、要求をしたアプリケーション用に表示する指定順序を示す。ある例では、テンプレートＨＭＩアプリケーションが、インタプリタ・コンポーネントなしに動作する。
【０１３７】
ある例では、上記第１プロファイルが、自動車ヘッドユニットに対応する第１の一意的識別子を識別し、かつ上記組込みソフトウェアに関連する言語またはプロトコルを識別する。ある例では、上記第２プロファイルが、第１の一意的識別子とは異なる第２の一意的識別子を識別する。
【０１３８】
ある例では、上記命令が、アプリケーション・ロジックによって実行されるコマンドまたは制御機能の結果を含む。ある例では、上記動作が、要求をしたアプリケーションが車両のリソースを利用することを許可されているものと判定されたことに応答して、モバイル機器上に記憶され、かつアプリケーション・ロジックに対応するコードを更新することを含む。ある例では、アプリケーション・ロジックに対応するコードが、モバイル機器がユーザ入力を受信したことに応答して、自動車ヘッドユニットと相互運用されるように構成され、この相互運用は、自動車ヘッドユニットが上記命令を実行した結果に応じる。
【０１３９】
ここで図１６を参照し、図１６に、本発明の他の態様、即ち、自動車ヘッドユニットのＨＭＩを利用するように携帯電話のユーザ・アプリケーションを拡張する他のシステムを例示する。この簡略化した図は、３つの主要な構成要素、即ち携帯電話１６４０、自動車ヘッドユニット１６２０、及びリモート・サーバー１６７０を有する。図１６に示すように、携帯電話１６４０は、例えばモバイル・ネットワーク１６５４上でパケットデータ通信１６５２を行う通信能力を含む。種々の音声及びデータサービスを、サーバーとの通信に用いることができる。モバイル・ネットワークは、ＩＰクラウド１６６６として示すインターネットへのゲートウェイ（図示せず）を有することができる。リモート・サーバー１６７０は、インターネット１６６６経由で通信を行うための通信コンポーネント（図示せず）を有する。
【０１４０】
とりわけ、図１６の構成は、ユーザ・アプリケーション・プログラム、例えば携帯電話１６４０上にインストールされているように示すユーザ・アプリケーション１６４４を、サーバー１６７０からダウンロードすることを可能にする。ユーザ・アプリケーション・プログラムをダウンロードする他の方法は上述している。モバイル・アプリケーション・プログラムをオンラインの「アップストア（登録商標）」から取得することも知られている。これに加えて、図示するシステムを用いて、サーバー１６７０に置かれた電話アプリケーション情報（「電話アプリ情報」）１６８０を携帯電話にダウンロードすることができる。電話アプリケーション情報は、以下でさらに説明するように、ユーザ・アプリケーション毎に提供することができる。電話アプリケーション情報１６８０は、別個のリモート・サーバー（図示せず）から取得し、別個のリモート・サーバー上に維持し、別個のリモート・サーバーから更新することができる。好適な実施形態では、電話アプリケーション情報を、携帯電話上のハンドセット・アプリケーション・プロキシ（ＨＡＰ：Handset Application Proxy）アプリケーション・プログラム１６４２にダウンロードする。
【０１４１】
自動車ヘッドユニット１６２０は、携帯電話との通信１６３５を行うように構成されたヘッドユニット・プロキシ（ＨＵＰ：Head Unit Proxy）ソフトウェア・コンポーネント１６３０を含む。ヘッドユニット・プロキシ１６３０は、ヘッドユニット１６２０のＨＭＩ１６２２に動作的に結合されている。例えば、ＨＵＰは、種々のソフトウェア・コンポーネント及びプロトコルを介してＨＭＩと相互作用することができる。上述したように、ヘッドユニットのＨＭＩ（人間−機械インタフェース）は表示スクリーンを含むことができ、これはタッチ・スクリーン、マイクロホン、スピーカ、及び他のＩ／Ｏ要素とすることができる。この例示では、ＨＭＩが１つ以上の一般的表示スクリーン１６２４を含む。ここでは物理的な表示スクリーンを参照せず、むしろ、１つ以上の一般的スクリーンの外見及び動作を規定するソフトウェア要素を参照する。以下でより詳細に説明するように、これらの一般的表示スクリーンを用いて、携帯電話１６４０上でユーザ実行されるユーザ・アプリケーション・プログラム１６４４のユーザ・インタフェースを拡張することができる。ヘッドユニットと携帯電話とは、短距離無線リンク、例えばブルートゥース（登録商標）リンク、またはＩＲ（Infrared Ray：赤外線）のような他の非接触手段によって、あるいはケーブルによって通信結合することができる。
【０１４２】
ヘッドユニットのＨＭＩディスプレイ及び関連するアプリケーション・ロジックは、ヘッドユニットのプラットフォーム・リソース（基盤的資源）の制限により、容易に更新することができない。その結果、ＨＭＩは、ヘッドユニットが製造またはプログラムされた時点で必ずしも存在していなかった、より新しいユーザ・アプリケーション・プログラム用の拡張インタフェースとして機能すべく十分に適応させることが、必ずしもできない。一部の場合には、ヘッドユニットと相互作用する目的で、ヘッドユニットのファームウェアを、新たなユーザ・アプリケーション及びそれらに対応するコマンド及び制御機能を収容すべく更新することは、自動車製造業者または自動車ＯＥＭにとって経費がかかるか非実用的なことがある。
【０１４３】
種々のヘッドユニット・プラットフォームが、ＯＥＭ及びアフターマーケット（購入後の市場）において知られている。これらは、種々の組込みプロセッサ及びオペレーティング・システム、例えばウィンドウズ（登録商標）オートモーティブ、アンドロイド（登録商標）、ＱＮＸ（登録商標）等である。ヘッドユニットは一般に、コンテンツを受動的方法で表示するために使用することのできる表示スクリーンを含む。即ち、ヘッドユニットは、グラフィックまたは画像のようなコンテンツを、受信して表示すること、あるいはオーディオ・ファイルを再生することを、そのコンテンツ、あるいは表示するデータの意味を知るか理解することなしにできる。これに加えて、一般に、ヘッドユニットは、このヘッドユニットが相互作用することのできる電話機上に存在するアプリケーションの状態に関連する状態または使用事例を管理することができない。従って、ヘッドユニットは、ユーザ・アプリケーション特有のビジネス（業務）ロジックを欠いて、端末にリンクすることがある。
【０１４４】
一般に、ヘッドユニットはＵＩ（User Interface：ユーザ・インタフェース）要素を含む。図２１を参照すれば、図２１は、自動車内に見出すことのできるヘッドユニット２１０２の簡略化した例を示す。この例示におけるヘッドユニットは、物理的表示スクリーン２１０４を示しこれはタッチ・スクリーンとすることができ、このヘッドユニットは、表示スクリーンを囲むベゼル（画面外枠）またはフレーム（枠）内に配置することのできる１つ以上の機械的ボタンまたはスイッチも含む。ボタン２１１０及び２１１２は、入力装置としてユーザの指で押下げすることのできる実際の物理的ハードウェア・スイッチを例示する。本明細書で説明するように、この表示スクリーンを用いて、ヘッドユニットがユーザ・アプリケーションから受信したデータ、メッセージ、画像、または他のコンテンツを表示することができる。このコンテンツは、ヘッドユニットを通して提供されるオーディオまたはビデオデータを含むことができる。
【０１４５】
多数のヘッドユニットが、一般的な表示テンプレートまたはレイアウトを実現する。例えば、単純なテンプレートを提供して、ビデオ及びそのタイトルを表示することができる。こうしたテンプレートは、表示スクリーンの２つの領域しか置かず、例えば、ビデオを領域２１３４に置き、タイトルまたは関連情報は、ビデオの下の文字表示領域またはウィンドウ２１４０に置く。他のテンプレートは６つの入力ボタンを提供する。機械的ボタン、例えば２１１０及び２１１２の場合は、これらはベゼル内の各側に３つずつ設けることができる。テキスト（文字列）または画像をＨＭＩに出力して、対応する画像、バッジ、または他の識別子を、機械的ボタンの各々に隣接して表示することができる。これらの識別子は、例示のため、図面中で２１２０の印を付けた６つの領域内に表示することができる。このように、異なる識別子をハードボタンに隣接して表示することによって、ハードボタンの機能または意味を変化させることができる。表示スクリーンがタッチ感応型（「タッチ・スクリーン」）である場合、十分に識別される同じ領域２１２０を入力ボタン自体として用いることができる。タッチ・スクリーンと共に使用される一般的表示テンプレートは、検出可能なタッチ領域のあらゆる所定サイズ及び配置を提供するように構成することができる。従って、一例では、ＨＭＩは、押下げすべき領域を示すメッセージまたはイベントを単純に出力する。ＨＭＩは、その意味を理解する必要はない。
【０１４６】
一般に、ヘッドユニット２１０２は、図１６のシステムを利用することによって、手近な携帯電話内で実行中のユーザ・アプリケーション・プログラムへの入力用に用いることができる。さらに、ヘッドユニットは、音声コマンドを受けるマイクロホンのような他の入力サービスまたはハードウェア（図示せず）を有することができる。これに加えて、ヘッドユニットは１つ以上の自動車ネットワーク、例えばＣＡＮ（Controller Area Network：コントローラ・エリア・ネットワーク）ネットワークにアクセスして、ユーザ・アプリケーションへの入力として機能することのできる車両から情報を取得することができる。例えば、速度のような車両状態をＨＡＰに伝えて、安全方策を施行することに関連した検討をすることができる。
【０１４７】
ヘッドユニットの一般的ＨＭＩ、より具体的には一般的なスクリーン・ディスプレイを用いて、アプリケーション・プログラムのユーザ・インタフェースを拡張するためには、このユーザ・アプリケーション・プログラムに特有の情報を用いて、ユーザ・アプリケーション１６４４とＨＭＩ１６２２との通信を適切に変換してマッピングしなければならない。図１６で１６８０として識別されるこの種の情報は、リモート・サーバー１６７０上に維持して、要求によりダウンロードすることができる。一旦、この情報をダウンロードして携帯電話内に記憶すると、ＨＡＰアプリケーションにアクセス可能な方法で、携帯電話はこの機能を提供することができる。より具体的には、好適な実施形態では、ダウンロードした電話アプリケーション情報１６８０をＨＡＰが用いて、コマンド及び制御フロー、及び使用事例毎の状態を、携帯電話上にインストールされた主アプリケーション、及びヘッドユニットを通したデータの表示及び他の出力に関連して管理することができる。ＨＡＰは、コンテンツを、種々の一般的なスクリーン表示テンプレートまたは表示レイアウトに適したフォーマットで出力して、ヘッドユニットは、この情報を、使用事例、状況及び状態のような、ユーザ・アプリケーションに特有の知識またはロジックなしに表示することができる。むしろ、１つの好適な実施形態では、ＨＡＰが、ユーザ・アプリケーションの状況及び状態を携帯電話上に維持する。
【０１４８】
図１７は、図１６に１６４２で示すような、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）アプリケーションに含むことのできるソフトウェア・コンポーネントの例を示す機能ブロック図である。図１７では、一実施形態におけるＨＡＰ１７００が、ＨＡＰメッセージ・ハンドリング（処理）コンポーネント１７０４に結合されたＡＰＩ（Application Program Interface：アプリケーション・プログラム・インタフェース）１７０２を具えている。次のコンポーネントは、JavaScript（登録商標）またはあらゆる適切なスクリプト言語を用いて実現することができる。例示のためにJavaScript（登録商標）を参照する。メッセージ・ハンドリング・コンポーネントは、JavaScript（登録商標）インタプリタ１７０６を含むことができる。JavaScript（登録商標）インタプリタは、１つ以上のユーザ・アプリケーション・プログラム用の個別のJavaScript（登録商標）コンポーネント、例えば「ノーマディック アプリn」として示すアプリケーション１〜ｎ用のコンポーネント１７１０に通信結合されている。関係するアプリケーション・プログラム毎に別個のJavaScript（登録商標）コンポーネントを設けることが好ましい。図では、例示のために、３つのこうしたJavaScript（登録商標）を示すが、この数は重要ではない。
【０１４９】
各JavaScript（登録商標）は、対応するテンプレート・メッセージ・トランスレータ（変換器）１７１２を含むか、これにアクセスすべく結合されている。以下でさらに説明するように、このことを用いて、携帯電話とヘッドユニットとの間で通信されるメッセージを変換する。前述したように、所定のユーザ・アプリケーション用のJavaScript（登録商標）コンポーネントは、要求により、サーバー１６７０上の電話アプリケーション・ストア１６８０からダウンロードすることができる。サーバーへの要求は、ユーザのアプリケーション・プログラムの識別子を含むことができる。本発明のこうした態様の好適な実施形態では、電話アプリケーション情報の要求が、ヘッドユニットまたはＨＭＩを具体的に識別する必要はない。この要求は、一般的種類のヘッドユニットまたはディスプレイを識別することができ、あるいは、ヘッドユニットを全く識別しなくてもよい。
【０１５０】
ＨＡＰアプリケーション１７００はさらに、ヘッドユニットとの通信用のプロトコル・スタック１７２０を含むことができる。その代わりに、あるいはこれに加えて、ＨＡＰ１７００は、ＨＴＴＰ（Hyper Text Transfer Protocol）／ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）／ＳＬＩＰ（Serial Line Internet Protocol）のようなより精巧なプロトコルをサポートすることのできないヘッドユニットとの通信用に、より単純なメッセージ・ファーミング（請負）プロトコル・コンポーネント１７２２を含むことができる。プロトコル識別コンポーネント１７３０は、適用可能であり、従って直接通信が可能なプロトコルを特定する働きをする。最後に、プロトコル識別コンポーネントは、適切な通信コンポーネント１７４０に結合される。
【０１５１】
各個別のJavaScript（登録商標）、例えば１７２０は、ユーザ・アプリケーション・ロジック及びメッセージ・フォーマットの理解を実現し、さもなければ、この理解は、関連するヘッドユニットのＨＭＩアプリケーション部が、対応するユーザ・アプリケーションとの相互作用向けに設計されていれば、このＨＭＩアプリケーション部に含まれる。しかし、この場合、ＨＭＩはそのように構成されておらず、従って、一般的ＨＭＩとして扱われる。ヘッドユニット上の標準的な「テンプレート・スクリーン」は、決定を行うこと、及びアプリケーション状態を主張することができない。こうした「テンプレート・スクリーン」は、カテゴリ化されたコンテンツ、例えばリスト、基本メッセージ、結果、及び「現在再生中の」シーンを表示するためにしか用いることができない。例えば、図２１を参照すれば、上述したように、表示領域２１３４を用いて、選択したコンテンツを表示することができる。テンプレート・メッセージ・トランスレータを用いて、ノーマディック・アプリケーションが指定した要求及び応答メッセージを、テンプレートベースのヘッドユニットＨＭＩスクリーンにとって必要なフォーマットに変換することができる。さらに、JavaScript（登録商標）１７１０は、ボタン・マッピング情報を、視覚的なボタン識別データと共に含むことができ、図２１を参照して前述したように、ボタン識別データは、スクリーンに送信して、関連するJavaScript（登録商標）によって表される個別の電話アプリケーションに基づいて、対応するボタンを視覚的に識別することができる。
【０１５２】
ここで図１８を参照し、図１８は、統合型ＨＡＰアプリケーションを利用した、ユーザ・アプリケーション・プログラムと自動車ヘッドユニットとの間のデータフローの例を示す略図である。ユーザ・アプリケーション（「ノーマディック・アプリケーションn」）１８００が、携帯電話上にインストールされた対応するJavaScript（登録商標）プログラム１８１０にメッセージを伝達するように構成されたＨＡＰ  ＡＰＩ１８０２と相互作用する。JavaScript（登録商標）１８１０は、適切なユーザ・アプリケーションＨＭＩロジック及び状態管理コード１８１２を含む。ユーザ・アプリケーションからのメッセージ１８１４は、ユーザ・アプリケーション１８００の通常動作におけるフォーマットのようにフォーマット化される。
【０１５３】
ユーザ・アプリケーション１８００用のJavaScript（登録商標）１８１０はさらに、テンプレート・メッセージ・トランスレータ（「ＴＭＴ」（Template Message Translator））コンポーネント１８２０を含む。動作中には、ＴＭＴがメッセージをロジック１８１２から受信し、このメッセージをテンプレート・フォーマット化したメッセージ、即ちヘッドユニットと互換性のあるメッセージに変換する。そして、テンプレート・フォーマット化したメッセージ１８２４をヘッドユニット（ＨＵ）１８３０に伝達する。逆に、他の方向では、テンプレート・フォーマット化したメッセージ１８３４を、ＨＵからJavaScript（登録商標）１８１０に伝達することができ、JavaScript（登録商標）１８１０では、このメッセージをＴＭＴ１８２０によって受信して、アプリケーション・ロジック及び状態管理１８１２にとって有用な形式に変換する。次に、このロジックが、（ユーザ・アプリケーション・フォーマットの）メッセージ１８４０を、ＨＡＰ  ＡＰＩを通してアプリケーション１８００に送信することを決定することができる。ＨＵから受信した各要求メッセージは、ヘッドユニットに結果を戻す前に、JavaScript（登録商標）コードとユーザ・アプリケーションとの間に１つ以上のトランザクション（相互作用）を生じさせる。
【０１５４】
図１９は、同期メッセージの場合の、ソフトウェア・コンポーネント間の相互作用の一例を示すメッセージング（メッセージ伝達）またはシグナリング（信号通知）図で構成され、ヘッドユニットのＨＭＩによって開始されるものを意味する。まず、イベント１９０２をヘッドユニットＨＭＩから受信する。単純な例として、このイベントは「再生」に対応するボタン押下げとすることができ、ここで、音楽プレーヤ・アプリケーションが携帯電話上で実行されている。このイベントは、図１６に例示するように、ＨＵＰ（Head Unit Proxy：ヘッドユニット・プロキシ）を通して伝達される。図に示すように、ＪＳ（JavaScript（登録商標））インタプリタ１９１０がＨＡＰ内に含まれ、ＪＳインタプリタ１９１０は、ＪＳマネージャ１９１２、アブストラクトＪＳコンポーネント１９２０、アプリケーションＪＳ１９３０、及びステータス（状態）マネージャ・コンポーネント１９３２を含む。アプリケーションＪＳは、「ノーマディック・アプリ」１９４０として示すユーザ・アプリケーションに特有であり、アプリケーション・プロキシ・インタフェース１９４２を含む。この種のＪＳインタプリタは通常、携帯電話ＳＤＫ（Software Development Kit：ソフトウェア開発キット）において利用可能である。
【０１５５】
アブストラクトＪＳは、メッセージをアプリケーションＪＳ用に変換し、アプリケーションＪＳ１９３０は、そのアプリケーション・ビジネス・ロジックをＨＭＩイベントに対して実行する。ユーザ・アプリケーションの呼出しが適切である場合、メッセージまたは呼出しをＨＡＰメッセージ・ハンドラに送信する（１９５０）。ＨＡＰメッセージ・ハンドラは、このメッセージをユーザ・アプリケーションに送信する（「アプリケーション・コールバックを起動」１９５２）。ユーザ・アプリケーションは、応答をメッセージ・ハンドラに送信する（「メッセージを送信」１９５４）。メッセージ・ハンドラは、このメッセージを変換することができ、アブストラクトＪＳは、変換メッセージロジックを使用して、適切なメッセージをアプリケーションＪＳに送信することができる。アプリケーションＪＳは、そのビジネス・ロジックを実行して、状態及びコンテンツ１９３２を記憶または更新して、上記応答を、ＨＭＩに送信するためのテンプレート・フォーマットに変換する（１９６０参照）。
【０１５６】
図２０は、同期メッセージの場合の、ソフトウェア・コンポーネント間の相互作用の一例を示すメッセージングまたはシグナリング図で構成され、携帯電話上で実行されるユーザ・アプリケーションによって開始されるものを意味する。まず、アプリケーションがメッセージを送信し、このメッセージはＨＡＰによって受信される（２０１０参照）。ＨＡＰメッセージ・ハンドラ２０１２は、このメッセージをアプリケーションＪＳに送信し、アプリケーションＪＳは、そのロジックを呼び出し、状態及びコンテンツを記憶またはフェッチし（取り寄せ）、必要であればＨＭＩアップデート２０３０を生成する。
【０１５７】
ある例では、システムが提供される。このシステムは自動車ヘッドユニット及びサーバー・コンピュータを含み、このヘッドユニットは、少なくとも１種類の一般的なアプリケーション表示スクリーンを実現し、このサーバー・コンピュータは、モバイル・ネットワークを通した携帯電話への通信用に構成され、このサーバー・コンピュータはさらに、携帯電話上で実行可能な特定のユーザ・アプリケーション・プログラムに関連する電話アプリケーション情報を配信するように構成され、このサーバーは、電話アプリケーション情報をモバイル・ネットワーク経由で携帯電話に配信するように構成され、この電話アプリケーション情報は、特定のユーザ・アプリケーション・プログラムのユーザ・インタフェースを拡張して、自動車ヘッドユニットの一般的なアプリケーション表示スクリーンを利用することを可能にする。
【０１５８】
ある例では、上記システムが、携帯電話内で実行可能なハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーション、及びヘッドユニット上で実行可能なヘッドユニット・プロキシ（ＨＵＰ）ソフトウェア・アプリケーションを含み、これらのＨＡＰ及びＨＵＰは、互いの間でメッセージまたはイベントを伝達し、電話アプリケーション情報のアスペクト（特徴）を利用して、携帯電話上の特定のユーザ・アプリケーション・プログラムがヘッドユニットの一般的なアプリケーション表示スクリーンと相互作用することを可能にするように構成されている。ある例では、ヘッドユニットが、携帯電話上の特定のユーザ・アプリケーション・プログラムと相互作用するように特別に開発されたＨＭＩ表示アプリケーション・ロジックをインストールまたは実行しない。ある例では、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）が、コンテンツ、テキスト、及び画像のうち１つ以上を、一般的なアプリケーション表示スクリーンの所定のテンプレート・レイアウトに従って一般的なアプリケーション表示スクリーン上にレンダリングするために、ヘッドユニット・プロキシ（ＨＵＰ）に送信するように構成されている。ある例では、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーション及びヘッドユニット・プロキシ（ＨＵＰ）ソフトウェア・アプリケーションの各々が、スクリプト言語で実現される。ある例では、電話アプリケーション情報が、特定のユーザ・アプリケーション・プログラムの実行に関連する安全方策を実現するためのデータを含む。ある例では、ＨＡＰが、メッセージ保持コンポーネント、及びこのメッセージ保持コンポーネントに結合されてヘッドユニットと通信する少なくとも１つのプロトコル・スタックを含み、上記メッセージ・ハンドリング・コンポーネントが、特定のユーザ・アプリケーション・プログラムに関連する少なくとも１つのスクリプト言語コンポーネントを含み、このスクリプト言語コンポーネントは、対応するテンプレート・メッセージ・トランスレータ・コンポーネントを含み、このメッセージ・トランスレータ・コンポーネントは、対応するユーザ・アプリケーション・プログラムが生成した要求及び応答メッセージを、自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換するように構成されている。ある例では、上記スクリプト言語コンポーネントが、ヘッドユニット内の特定のユーザ・アプリケーション・ロジックをなくすための、対応するユーザ・アプリケーション・ロジックを含む。ある例では、上記スクリプト言語コンポーネントが、対応するユーザ・アプリケーション・ロジックのアプリケーション状態を維持して、ヘッドユニット内に状態を維持することをなくす。
【０１５９】
ある例では、携帯電話において用いられる、コンピュータで実現される方法を実行する。このコンピュータで実現される方法は、携帯電話上にインストールされたユーザ・アプリケーション・プログラムを識別するステップと；識別されたユーザ・アプリケーションに特有の情報をリモート・サーバーから要求するステップと；この情報要求に応答したリモート・サーバーからダウンロードした電話アプリケーション情報を受信するステップとを含み、この電話アプリケーション情報は、識別したユーザ・アプリケーション・プログラムのユーザ・インタフェースを拡張して、ヘッドユニットの一般的なアプリケーション表示スクリーンを利用することを可能にする。
【０１６０】
ある例では、上記コンピュータで実現される方法が、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・アプリケーションを携帯電話上にインストールするステップと；自動車ヘッドユニット上で実行可能なヘッドユニット・プロキシ（ＨＵＰ）ソフトウェア・アプリケーションをインストールするステップとを含み、これらのＨＡＰ及びＨＵＰは、互いの間でメッセージまたはイベントを伝達し、電話アプリケーション情報のアスペクトを利用して、携帯電話上の識別したユーザ・アプリケーション・プログラムがヘッドユニットの一般的なアプリケーション表示スクリーンと相互作用することを可能にするように構成されている。
【０１６１】
ある例では、上記コンピュータで実現可能な方法が、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェアにおいて、対応するユーザ・アプリケーション・プログラムが生成した要求及びメッセージを、自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換するステップを含む。
【０１６２】
ある例では、上記コンピュータで実現される方法が、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェアにおいて、自動車ヘッドユニットから受信したメッセージまたはイベントを、対応するユーザ・アプリケーション・プログラムと互換性のあるフォーマットに変換するステップを含む。
【０１６３】
ある例では、上記コンピュータで実現される方法が、ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェアにおいて、対応するユーザ・アプリケーション・プログラムが生成した要求メッセージを、自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換して、コンテンツ、テキスト、及び画像のうち１つ以上を、自動車ヘッドユニットの一般的なアプリケーション表示スクリーン上にレンダリングするステップを含む。
【０１６４】
ある例では、上記コンピュータで実現される方法が、ヘッドユニットからメッセージを受信するステップと；受信したメッセージに応答して、ユーザ・アプリケーション・プログラムと相互作用するステップと；ユーザ・アプリケーション・プログラムが提供する結果をヘッドユニットに戻すステップとを含む。ある例では、上記コンピュータで実現される方法が、上記結果を、自動車ヘッドユニットの、テンプレートベースの一般的なアプリケーション表示スクリーンと互換性のあるフォーマットに変換するステップを含む。ある例では、上記コンピュータで実現される方法が、ヘッドユニットからのボタン押下げイベント・メッセージを、現在のユーザ・アプリケーション・プログラム状態、及び以前に表示用にヘッドユニットに送信されたボタン識別子に基づいて変換するステップを含む。
【０１６５】
ある例では、スマートホンのユーザ・アプリケーションのユーザ・インタフェースを、自動車ヘッドユニットのＨＭＩに変換する方法が提供される。この方法は、ユーザ・アプリケーション・プログラムをスマートホン内にインストールするステップと；このスマートホンを車両のヘッドユニット（ＨＵ）に通信結合するステップと；ハンドセット・アプリケーション・プロキシ（ＨＡＰ）ソフトウェア・コンポーネントをスマートホン内で実行するステップとを含み、ＨＡＰが、ユーザ・アプリケーションと相互作用するためのＡＰＩ、及び自動車ヘッドユニットと通信するためのインタフェースを含み、この方法はさらに、ＨＡＰにおいて、ボタン押下げ通知をＨＵ−ＨＭＩ（ヘッドユニットのＨＭＩ）から受信するステップと；ＨＡＰにおいて、このボタン押下げ通知を、実行中のユーザ・アプリケーションに特有のＵＩ（User Interface：ユーザ・インタフェース）制御にマッピングするステップと；ＨＡＰにおいて、このＵＩ制御を、実行中のユーザ・アプリケーションに伝えるステップとを含む。
【０１６６】
ある例では、上記マッピングが、以前にＨＡＰからヘッドユニットに表示用に送信された、自動車ヘッドユニットの一般的なタッチ・スクリーン・ディスプレイ上で選択されるボタンを視覚的に識別するための、視覚的なボタン識別子に基づく。
【０１６７】
ある例では、上記方法が、ＨＡＰにおいて、ユーザ・アプリケーション・プログラム状態を維持して、ユーザ・アプリケーション・プログラム状態を維持することをなくす。
【０１６８】
本発明の基になる原理から逸脱することなしに、上述した実施形態の細部に多数の変更を加えることができることは、当業者にとって明らかである。従って、本発明の範囲は、以下の特許請求の範囲のみによって定められるべきである。
【０１６９】
上述した装置の大部分は、ハードウェア及び関連するソフトウェアを具えている。例えば、一般的なナビゲーション装置は、１つ以上のプロセッサ、及び上述した動作を行うためにこれらのプロセッサ上で実行可能なソフトウェアを含むことが多い。本明細書では、「ソフトウェア」とは、その一般的に理解されている意味で用い、プログラムまたはルーチン（サブルーチン、オブジェクト、プラグイン、等）、並びに機械（マシン）またはプロセッサによって使用可能なデータを称する。周知のように、コンピュータ・プログラムは一般に、機械可読またはコンピュータ可読の記憶媒体に記憶された命令を含む。本発明の一部の実施形態は、機械可読またはコンピュータ可読の記憶媒体、例えばデジタルメモリに記憶された実行可能なプログラムまたは命令を含むことができる。いずれの特定実施形態においても、従来の意味での「コンピュータ」が要求されることは含意しない。例えば、種々の、組込みまたは他の形のプロセッサを、本明細書に記載したコンピュータのような装置内で使用することができる。
【０１７０】
ソフトウェアを記憶するメモリも周知である。一部の実施形態では、所定のプロセッサに関連するメモリを、プロセッサと同じ物理的デバイス内に格納することができ（「オンボード・メモリ」）、例えば、ＲＡＭ（Random Access Memory：ランダムアクセスメモリ）またはフラッシュメモリが、集積回路マイクロプロセッサ等の内部に配置される。他の例では、メモリが、独立した装置、例えば外付けディスクドライブ（ディスク駆動装置）、ストレージ（記憶装置）アレイ、またはポータブル・フラッシュ・キー・フォブで構成される。こうした場合、メモリとデジタル・プロセッサとが動作的に結合されるか、例えばＩ／Ｏポート、ネットワーク接続、等によって互いに通信すると、メモリがデジタル・プロセッサに「関連する」ようになり、プロセッサはメモリ上に記憶されたファイルを読み出すことができる。関連するメモリは、設計によって（ＲＯＭ：Read Only Memory：読出し専用メモリ）、あるいは許可設定によって「読出し専用」にすることもしないこともできる。他の例は、ＷＯＲＭ（Write Once Optical Disc：追記型光ディスク）、ＥＰＲＯＭ（Erasable ROM：消去可能ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable ROM：電気的消去可能ＲＯＭ）、ＦＬＡＳＨ（フラッシュ）、等を含むが、これらに限定されない。これらの技術は固体半導体デバイスで実現されることが多い。他のメモリは、従来の回転ディスクドライブのように可動部分を具えることができる。こうしたメモリのすべてが「機械可読」または「コンピュータ可読」であり、本明細書に記載した機能を実現するための実行可能な命令を記憶するために用いることができる。
【０１７１】
「ソフトウェア製品」とは、一連の実行可能な命令が機械可読の形式で格納されたメモリ装置を称し、これにより、ソフトウェア製品にアクセスする適切な機械またはプロセッサがこれらの命令を実行して、これらの命令が実現するプロセスを実行することができる。ソフトウェア製品は時として、ソフトウェアを配布するために使用される。それらに限定されないが、以上にまとめたものを含むあらゆる種類の機械可読のメモリを用いて、ソフトウェア製品を作製することができる。その一方で、ソフトウェアは、電子的伝送（「ダウンロード」）を介して配信することができることも知られ、この場合、一般に、対応するソフトウェア製品が、伝送の送信側、または受信側、あるいは両方に存在する。
【０１７２】
本発明の原理を、その好適な実施形態において説明し図示してきたが、本発明は、こうした原理を逸脱することなしに、構成及び細部を変更することができることは明らかである。以下の特許請求の範囲内に入るすべての変更及び変形を権利請求する。
【図１】
2014531806.tif 000003
【図２Ａ】
2014531806.tif 000004
【図２Ｂ】
2014531806.tif 000005
【図３】
2014531806.tif 000006
【図４】
2014531806.tif 000007
【図５】
2014531806.tif 000008
【図６】
2014531806.tif 000009
【図７】
2014531806.tif 000010
【図８】
2014531806.tif 000011
【図９】
2014531806.tif 000012
【図１０】
2014531806.tif 000013
【図１１】
2014531806.tif 000014
【図１２】
2014531806.tif 000015
【図１３Ａ】
2014531806.tif 000016
【図１３Ｂ】
2014531806.tif 000017
【図１４】
2014531806.tif 000018
【図１５】
2014531806.tif 000019
【図１６】
2014531806.tif 000020
【図１７】
2014531806.tif 000021
【図１８】
2014531806.tif 000022
【図１９】
2014531806.tif 000023
【図２０】
2014531806.tif 000024
【図２１】
2014531806.tif 000025
【国際調査報告】
2014531806.tif 000026