(58)【調査した分野】(Int.Cl.,DB名)
前記プローブは少なくとも車両インタフェースのディスプレイの固有の解像度を含む前記車両インタフェースのパラメータを指定する応答を引き出し、前記命令は、実行されると、前記指定された固有の解像度に基づいて特定のグラフィックユーザインタフェースを選択するステップを生じる、請求項1記載のメモリ。
前記プローブは少なくとも車両インタフェースの設定に対応する特定の規定のコード値を指定する応答を引き出し、前記命令は、実行されると、前記指定された既定のコード値に基づいて特定のグラフィックユーザインタフェースを選択するステップを生じる、請求項1記載のメモリ。
前記命令は、実行されると、前記識別子の特定の一つを異なるユーザのプロフィールをペアレンタルコントロールするものとして設定するステップを生じる、請求項12記載のメモリ。
【発明を実施するための形態】
【0008】
好適実施形態の詳細な説明
一つの例では、自動車両のヘッドユニットを携帯電話の拡張インタフェースとして利用するためにユーザは有線又は無線接続を用いて携帯電話を車両のヘッドユニットに接続する。ユーザは、次の段落に記載されるリモートサーバ経由の決定に応じて携帯電話上のアプリケーションをヘッドユニットのインタフェースを用いて制御することができる。同様に、ユーザは、次の段落に記載されるリモートサーバ経由の決定に応じてアプリケーションの出力をヘッドユニットのインタフェースで視聴することができる。
【0009】
携帯電話及びヘッドユニット上の新規なクライアント制御ソフトウェアは携帯電話からの無線接続を介してリモートサーバ上のサーバ制御ソフトウェアとインタフェースする。クライアント制御ソフトウェアはヘッドユニットを拡張インタフェースとして利用するために携帯電話アプリケーションを識別する。サーバ制御ソフトウェアは識別された携帯電話アプリケーションをリモートサーバによりアクセス可能な一以上のデータベース情報と比較する。この比較に基づいて、サーバ制御ソフトウェアは識別されたアプリケーションがヘッドユニットを拡張インタフェースとして利用可能かを決定し、利用可能である場合、ヘッドユニットインタフェースのどのコンポーネントをアプリケーションが使用可能かを決定する。サーバ制御ソフトウェアは携帯電話とヘッドユニットを決定に従って制御するようにクライアント制御ソフトウェアに信号通知する。従って、ヘッドユニットの拡張インタフェースとしての任意の利用を安全にインテリジェントに制御することができる。
【0010】
図1は、携帯電話アプリケーションに対するヘッドユニットの拡張インタフェースとしての利用を安全にインテリジェントに制御するシステムを示す。
【0011】
システム100は、携帯電話20(又は他の携帯機器)及びヘッドユニット21(又はスティアリングホイールと一体化されたユーザインタフェース又はシート背面と一体化されたユーザインタフェースなどの車両で付勢されるインタフェース)上にそれぞれ構成されたソフトウェア30A及び30Bを含む。ソフトウェア30A及び30Bは、携帯電話で動作するアプリケーション40がいつどのようにヘッドユニット21のI/Oリソース1−4にアクセスするかを調整及び制御するために、リモートサーバ22上に構成されたソフトウェア32とインタフェースする。
【0012】
図2Aは
図1のソフトウェア32の動作を示すフローチャートを示す。
【0013】
ブロック201において、ソフトウェア32は携帯電話20上の特定のアプリケーションに対するヘッドユニット21のインタフェース(入力リソース24−1、24−2及び出力リソース25−3、25−4を含む)へのアクセス要求を受信する。この要求は、自動車両及び/又はヘッドユニットのユーザに対応するユーザ識別子、特定のアプリケーション40に対応するアプリケーション識別子及び車両状態情報を含む。ユーザ識別子は、制御ソフトウェア30Aが携帯電話100において最初に活性化されるときユーザにより供給される識別子、ユーザの携帯電話番号などとすることができる。
【0014】
ブロック202において、ソフトウェア32はユーザを認証する。これはユーザ識別子で識別されるユーザが携帯電話20のインタフェースをヘッドユニット21を用いて拡張するサービスに関する加入者のデータベース11と一致するかを決定するステップを含むことができる。ユーザが判断ブロック203で認証されない場合には、ブロック204Aにおいてソフトウェア32はソフトウェア30A/Bに、アプリケーション40によるヘッドユニット21へのアクセスを阻止するように信号通知する。システム100は、ブロック202が任意選択ステップとなるように構成することができることを理解されたい。
【0015】
他方、ユーザが認証された場合には、ブロック204Bにおいて、ソフトウェア32はアプリケーション識別子をアプリケーションのリスト12(ホワイトリストともいう)と比較することによってアプリケーション40を認証する。このリスト12は、アプリケーション40の一つの特定のバージョンをリスト上で識別できるようにバージョン番号で比較されるようにすることができ、異なるバージョンは除外することができる。判断ブロック205において特定のアプリケーション40(又は特定のバージョン)がリスト12にない場合には、ブロック204Aにおいてソフトウェア32はソフトウェア30A−Bに、アプリケーション40によるヘッドユニット21へのアクセスを阻止するように信号通知する。
【0016】
他方、アプリケーション40が認証された場合には、ブロック206においてソフトウェア32はアプリケーション識別子及び現在の車両状態情報をアプリケーション動作モードのマッピング15と比較する。図に示すように、マッピング15はリスト12の各アプリケーション40に対してエントリ17を有することができる。各エントリ17は対応するアプリケーション40に個別化されたマッピングである。例えば、アプリケーションAに対するエントリ17は車両状態「車両速度≦X」をリソース1、2及び4に対応付ける(即ち、アプリケーションAはこの車両状態の下ではスクリーン1、スピーカ2及びマイクロフォン4にアクセスすることが許可される)が、アプリケーションCに対するエントリ17は車両状態「車両速度≦X」をリソース2及び4のみに対応付ける(即ち、アプリケーションCはスピーカ2及びマイクロフォン4にアクセスすることが許可される)。一つの現実世界の例はナビゲーションアプリケーションA及びビデオゲームアプリケーションCであり、乗客がいるときでも、ビデオゲームの表示は運転者の気を非常に散らすと考えられるので、システム100はビデオゲームアプリケーションCをヘッドユニット21のスクリーン1に表示することを許可さないが、ナビゲーションアプリケーションAはヘッドユニット21のスクリーン1に表示することができる。別の現実世界のアプリケーションはヘッドユニット及びシートの背面に取り付けられたディスプレイなどの複数のインタフェースを有する車両である。あるアプリケーションはシート背面ディスプレイへのアクセスは許可されるが、ヘッドユニットへのアクセスは許可されない。
【0017】
他の例では、マッピング15は携帯電話20に記憶できることを理解されたい。この場合には、前段落で記載した比較は制御ソフトウェア30Aにより実行することができる。このような場合には、制御ソフトウェア30Aは現在の車両状態をヘッドユニット21と通信してチェックする。
【0018】
ブロック207において、ソフトウェア32は比較結果に従ってヘッドユニット21のI/Oリソースの一部又は全部のセットを識別する。ブロック208において、ソフトウェア32はリモートソフトウェアに、I/Oリソース1−4のうちの識別されたセットのリソースのみへのアクセスを与えるように信号通知する。一例では、このような信号通知は、携帯電話20から送信されたすべてのアクセス要求が識別されたセットのI/Oリソースに適合するように携帯電話20上のソフトウェア30Aを制御するステップを含むことができる。別の例では、このような信号通知は、携帯電話20から送信されたアクセス要求をヘッドユニット21上のI/Oリソースを単にディセーブルするなどの任意の方法で阻止するように、ヘッドユニット21上のソフトウェア30Bを制御するステップを含むことができる。更に他の例では、このような信号通知は、ソフトウェア30A及びソフトウェア30Bの両方を制御するステップを含むことができる。
【0019】
図2Bは
図1のソフトウェア30Bにより使用し得る競合スキームを示すフローチャートを示す。競合スキームは
図2Aに示すスキームに加えて利用することができる。
【0020】
ブロック209において、ソフトウェア30Bは識別されたセットのI/Oリソースのどれかが現在使用中かを決定する。判断ブロック210においてどれも使用中でない場合には、ブロック211Aにおいてソフトウェア30Bは特定のアプリケーションに、識別されたセットのI/Oリソースのみへのアクセスを付与する。
【0021】
他方、セットの少なくとも一つのリソースが使用中の場合には、ブロック211Bにおいてソフトウェア30Bは識別されたセットの使用中のリソースの各々に対してアプリケーションのリソース別ランキング13を識別する。これは
図1に示され、そこには各リソース1−4に対するランキング13が示されている。ブロック212において、ソフトウェア30Bはアプリケーション識別子をリソース別ランキング13と比較して、アプリケーション40が識別されたサブセットの使用中のリソースのどれかに対して優先権を有するかを決定する(ランキング13はリソースサーバにあるため、これは信号通知により実行することができ、またランキングは先行プロセスで車両インタフェースに送付しておくことができる)。この比較は、特定の使用中のリソースを現在使用しているアプリケーションがこの使用中のリソースに対して要求アプリケーションより高い優先順位を有するのか低い優先順位を有するのかを指示する。ブロック213において、ソフトウェア30Bは特定のアプリケーションに、識別されたセットのI/Oリソース1−4の中で現在使用されていないリソース又は低い優先順位のアプリケーションで使用されているリソースのみへのアクセスを付与する。
【0022】
図3は
図1のソフトウェア30A−Bの動作を示すフローチャートを示す。
【0023】
ブロック301において、ソフトウェア30A−Bは携帯電話20上の特定のアプリケーション40に対するヘッドユニット21のインタフェースの利用要求を送信する。ブロック302において、ソフトウェア30A−Bは、アプリケーション40は現時点でヘッドユニット21にアクセスすることが許可されるか否かを示す戻り信号を受信し、許可される場合には利用し得るリソース1−4を識別する。アプリケーション40が判断ブロック303において許可されない場合には、ブロック304Aにおいてソフトウェア30A−Bは、アプリケーション40はヘッドユニットへのアクセスを許可されないという通知を出力する。この通知は携帯電話20又はヘッドユニット21又はその両方で出力することができる。
【0024】
他方、アクセス40が判断ブロック303において許可された場合、ブロック304Bにおいてソフトウェア30A−Bはアプリケーション40が識別されたリソースに拡張されるように携帯電話20及びヘッドユニット21を制御する。競合のためにアプリケーション40に対する(それぞれのマッピング17からの)可能なリソースの一部分しか使用できない場合には、ソフトウェア30A−Bは高い優先順位のアプリケーションの活性化前に低い優先順位のアプリケーションを一時停止することを運転者に警告する通知を発生することができる。別の例では、リソースが現在低い優先順位のアプリケーションにより使用されている場合には、ソフトウェア30A−Bは低い優先順位のアプリケーションを自動的に一時停止/終了させ、高い順位のアプリケーションを要求されたリソースを用いて活性化できるようにすることができる。
【0025】
アプリケーション40をヘッドユニット21にまで拡張できることが決定された場合には、サーバ22はアプリケーション40を制御するために対応する「制御パネル」ソフトウェアをヘッドユニットにダウンロードする。このソフトウェアを要求されたアプリケーションに基づいてヘッドユニット21にダウンロードすることによって、サービスプロバイダは、新しいアプリケーション又は既存のアプリケーションに対する更新を利用するとき、それに応じて「制御パネル」をカスタマイズ又は更新することができる。ヘッドユニットは「制御パネル」を表示するためにウェブコードレンダラを有することができる。
【0026】
再び
図1を参照すると、ソフトウェア30A−Bはソフトウェア32と携帯電話20からの無線接続を介してインタフェースする。この無線接続はパケットデータ接続(GPRS,EDGE,EVDO,UTMS,WiMAX,WiFiなどを含むがこれらに限定されない)、ショートメッセージサービス(SMS)又は米国特許第6,122,336号及び同第6,493,338号に記載されているような携帯電話20及びリモートサーバ22上のインバンドシグナリングモデムを利用することができる。
【0027】
更に
図1を参照すると、携帯電話20はUSB、Bluetooth(登録商標)又はWiFi接続などの接続を用いてヘッドユニット21に接続することができる。しかし、これらは一例にすぎず、他の場合には携帯電話20のアプリケーションに対するヘッドユニット21のインタフェースの利用のために異なる接続及び/又はプロトコルを使用することができる。
【0028】
マッピング15は任意の車両状態を含むことができ、図示の4つの車両状態の例は単なる例示であることを理解されたい。例えば、別の車両状態は車両が「速度X超で走行中及び乗客有り」であるかどうか、とすることができる。
【0029】
ヘッドユニット21は図に例示するすべてのリソースより少数のリソースを含むことができ、また図に示されない他のリソースを含むこともできることを理解されたい。例えば、他の可能なI/Oリソースはテキスト・ツー・スピーチ要素である。
【0030】
図示の例では、第1のアプリケーションは、システム100によるインテリジェントな決定に基づいて、ヘッドユニット21上に実際に存在するリソースの第1のサブセットにアクセスすることを許可し得るが、第2の異なるアプリケーションは第2のサブセットのリソース又はリソースのすべてにさえアクセスすることを許可し得る。
【0031】
アプリケーション40は図に示すように「リソース別」にランク付けを行うことができ、またすべてのアプリケーション40を含む単一のランク付けとすることができる。システム100は図に示すように「リソース別」のランク付けで実施されるが、ここに記載するコンセプトはアプリケーションをリソースと無関係にランク付けする別のシステムに実施することができる。
【0032】
図4はアプリケーションを安全にインテリジェントに選択し車両に分配するシステムを示す。
【0033】
図1の上述のシステムと
図4のシステムとの間の一つの差異はアプリケーションのインストール位置にある。
図1のシステム100のアプリケーションA−Cは携帯電話20にインストールされ、携帯電話上で(ヘッドユニット21又は車両で付勢される他のインタフェースを拡張インタフェースとして用いて)動作するが、
図4のシステム200内のアプリケーションJ−Lはヘッドユニット21又は車両で付勢される他のコンポーネントにインストールされる。
図4のシステム200では、ソフトウェア230−232は、プロバイダがどのアプリケーションをヘッドユニット221にインストールするか選択し、選択したアプリケーションの車両への分配を制御することができるようにする。
【0034】
システム200の詳細を以下の段落で説明する前に、
図1−3に記載のシステム100の構造及び機能はシステム200(
図4−6)の構造及び機能と単一システムに組み合わせることができることは明らかであろう。例えば、単一システムは車両のインタフェースを拡張インタフェースとして用いる携帯電話にインストールされたいくつかのアプリケーション及び車両のコンポーネントにインストールされたいくつかのアプリケーションを含むことができる。
【0035】
図5は
図4のソフトウェアの動作を示すフローチャートを示す。
【0036】
ブロック501において、車両のパワーオンに応答して、制御ソフトウェア230は車両のパワーオンを示す信号244をサーバ222に送信する。信号244はUSB又はBluetoothなどのローカル接続で携帯機器220に送り、携帯機器220で中継して無線通信ネットワークで送ることができる。
【0037】
ブロック502において、ソフトウェア232は車両へダウンロードすべきアプリケーションがあるかを決定するためにダウンロードディレクトリ239(「サンドボックス」と呼ばれることもある)をチェックする。ダウンロードディレクトリ239内に存在するアプリケーションをインテリジェントに選択するスキームは
図6を参照して後に詳細に説明する。
【0038】
ソフトウェア232によるチェックが、ダウンロードディレクトリ239は少なくとも一つのアプリケーションを含むことを示す場合には、プロセスは継続する。ここで、説明の便宜上、ダウンロードディレクトリ239はアプリケーション240(J−L)を含むと仮定する。従って、ブロック503において、ソフトウェア232は携帯電話220上のIPゲートウェイソフトウェア231をヘッドユニット221へアプリケーションを送るためのIPゲートウェイとして動作させるために信号245を発生し送信する。一例では、信号245はブロック502における決定に応答して携帯電話220にソフトウェア231を動的にロードする通信を含み、ソフトウェア231を車両へのダウンロードために携帯電話上で動作させる。信号245は、携帯電話220にソフトウェア231が予めロードされ、IPゲートウェイ動作の準備が整っている場合には信号245は生じない。他の例では、信号245は車両のパワーオンの検出に応答してヘッドユニット221上のソフトウェア230から発生させることができる。
【0039】
ブロック504において、ソフトウェア232はアプリケーション240を車両にダウンロードするためにIPパケット250を発生し、送信する。IPパケット250は携帯電話220で受信され、ソフトウェア231の動作によりヘッドユニット221に転送される。ブロック505において、ソフトウェア230がIPパケット250を受信し、アプリケーション240(J−L)を車両にインストールする(インストールはヘッドユニットのコンポーネント又は他の車両コンポーネントに行うことができる)。
【0040】
その後、車両のユーザはヘッドユニット221を拡張インタフェースとして用いてアプリケーションJ−Lを実行させることができる。ソフトウェア230及び232は
図1−3に記載された任意の原理に従って動作し得ることを理解されたい。例えば、ソフトウェア230及び232はアクティブアプリケーションによるヘッドユニット221のI/Oリソースの利用を現在の車両状態に従って調整することができる。別の例として、アプリケーションが車両と携帯電話の両方にインストールされるシステムにおいては、ソフトウェア230及び232は車両インタフェースを利用するすべてのアプリケーションを表13(
図1)と同様のアプリケーションランキング/優先順位表に含めることができる。
【0041】
一例では、ヘッドユニット221はソフトウェア230で制御されるウェブコードレンダラ299、例えばHTMLレンダラを含む。ウェブコードレンダラ299はHTMLコードを表示するように構成されるが、ブラウザと異なり、ユーザはウエブ位置を自由にナビゲートすることはできない。具体的には、ウェブコードレンダラ299はプロバイダにより許可され、例えばサーバ222により指定されるアプリケーションのみを表示する。
【0042】
上述したフローチャートは車両にインストールされたアプリケーションの更新にも対応することを理解されたい。車両に所定のアプリケーションをプリロードすることもできるため、車両にインストールされるアプリケーションの一部分はフローチャートに従ってダウンロードされ、他の部分は製造中にインストールされたものとすることができる。
【0043】
従って、上記の原理に基づいて、車両を何のアプリケーションも車両にインストールしないで製造し、代わりにアプリケーションは車両内に運転者がいるときダウンロードすることができるようにし得る。車両にダウンロードするアプリケーションの種類はネットワークサーバに規定される運転者の好みによって決められる。
【0044】
図6は
図4−5に示すシステムのより詳細な図を示す。
【0045】
先に説明したように、サーバ222は車両単位でダウンロードされるのを待つアプリケーションのダウンロードディレクトリを含むことは先に説明した。
図6は、ダウンロードディレクトリ239内のアプリケーションの選択に関与するユーザウェブポータル601、604及び605を示し、これらのウェブポータル601、604及び605の一使用例を説明する。
【0046】
車両のOEMなどのプロバイダはウェブポータル601を操作する。コンピュータ端末625などのインタフェースを用いて、プロバイダは、車両にインストールできる全アプリケーションのリスト609から管理されたアプリケーションリスト610を構築するために、ウェブポータル601のアプリケーション選択部608を通信650によって制御する。典型的には、リスト609からリスト610を構築するには技術的な観点及びプロバイダのビジネス観点からアプリケーションの検証を必要とする。
【0047】
プロバイダは管理リスト610から特定の車両にインストールすべきアプリケーションを選択するために通信651も送る。これらの選択は、例えば車両モデルとアプリケーションとのマッピング(対応付け)に基づくものとし得る。これらの選択652はダウンロードディレクトリ239に供給される。
【0048】
全利用可能アプリケーションのリスト609に関して、このリストはプロバイダ及び/又はサードパーティにより開発されたアプリケーションで構築することができることを理解されたい。サードパーティ提供のアプリケーションの場合には、サードパーティはリスト609に含めるべきアプリケーション649を提示するために(一例ではプロバイダにより操作されるウェブサーバによってホストされる)ウェブポータル604のアプリケーション提示部618を用いる。
【0049】
車両ユーザは、コンピュータ端末626、例えば携帯機器又はデスクトップコンピュータなどの任意のインターネットアクセス可能なコンピュータ装置を用いてダウンロードディレクトリ239に含めるべきアプリケーションを選択することもできる。コンピュータ端末626は、自分の車両にインストールできるアプリケーションの管理リスト610を見るために(一例ではプロバイダにより操作されるウェブサーバによってホストされる)ユーザウェブポータル605のアプリケーション選択部628にアクセスする。ユーザは次に、ユーザが自分の車両にインストールしたいアプリケーションを管理リスト610から選択するために通信661を送ることができる。これらの選択662はダウンロードディレクトリ239に供給される。
【0050】
ユーザウェブポータル605は、ユーザがダウンロードディレクトリ239から特定のアプリケーションを除去することができるように構成することもできる。例えば、ユーザはプロバイダによりダウンロードディレクトリ239に追加されるプロバイダ選択アプリケーション652の一つを除去することを希望することができる。この除去は、ディレクトリ239に既に送付されたアプリケーションの削除によって或いは特定のアプリケーションはそのようなアプリケーションがダウンロードディレクトリ339A又は339Bに追加される前に希望しないことを指示することによって行うことができる。
【0051】
以上によれば、アプリケーションは車両単位のダウンロードディレクトリ239に蓄積することができる。車両のパワーオン時に、このようなアプリケーションを車両にダウンロードしインストールすることができる。ダウンロードディレクトリ239は次の車両パワーオン時まで新しいアプリケーションを蓄積できる。
【0052】
ウェブポータル605のインタフェースと同様のインタフェースを車両のヘッドユニット上に表示することができることを理解されたい。ユーザは管理リスト610からのアプリケーションの選択をこのようなインタフェースからの選択で行うことができる。選択がインタフェースから行われるとき、選択されたアプリケーションはダウンロードディレクトリに入力する代わりに車両に直ちにダウンロードすることができる。
【0053】
図7はアプリケーションをユーザの好みに従って安全にインテリジェントに選択し車両に分配するシステムを示す。
【0054】
前述した
図1のシステムと
図7のシステムとの一つの差はアプリケーションのインストール位置にある。
図1のシステム100では、アプリケーションA−Cは携帯電話20にインストールされ、携帯電話20上で(車両により付勢されるヘッドユニット又は他のインタフェースを拡張インタフェース用いて)動作するが、
図7のシステム300ではアプリケーションM−P/Q−Sは車両により付勢されるヘッドユニット又は他のコンポーネントにインストールされる。
図7のシステム300では、ソフトウェア330−332はプロバイダがヘッドユニット321にインストールできるアプリケーションを選択し、選択したアプリケーションの車両への分配を制御することができるようにする。
【0055】
システム300の詳細を以下の段落で詳しく説明する前に、
図1−6に記載されるシステム100及び200の構造及び機能はシステム300(
図7−8)の構造及び機能と単一システムに組み合わせることができることは明らかであろう。例えば、単一システムは、車両のインタフェースを拡張インタフェースとして使用する携帯電話上にインストールされるいくつかのアプリケーション及び車両のコンポーネントにインストールされたいくつかのアプリケーションを含むことができる。
【0056】
図8は
図7のソフトウェアの動作を示すフローチャートを示す。
【0057】
ブロック801において、ヘッドユニット321を携帯電話320のような携帯機器に通信可能に接続する。一例では、ヘッドユニット321と携帯電話320との間の接続540はBluetoothペアリングにより確立する。Bluetoothペアリングは車両のパワーオン(ヘッドユニットのパワーオン及びBluetooth装置のサーチを生じる)に応答し得るが、Bluetoothペアリングは携帯電話320のパワーオン、ヘッドユニット321の範囲内への携帯電話320の持ち込み、別のBluetooth装置のヘッドユニット321からの切り離し後の再ペアリングなどの他の状況の結果とすることができる。他の例では、通信可能接続はユーザがUSB接続を用いて携帯電話320をヘッドユニット321に接続することによって確立することができる。
【0058】
ブロック802において、制御ソフトウェア330は携帯電話320の電話番号にアクセスする。携帯電話はコールプランの同意と関連して特定の電話番号(制御ソフトウェア330が携帯電話320から読み取る電話番号)で活性化されることを理解されたい。一例では、電話番号を取得するためのシグナリング542はBluetoothシグナリングを用いて実行される。
【0059】
ブロック803において、制御ソフトウェア330はサーバ322に信号通知543を送る。信号通知543はUSB、Bluetooth又はWiFi接続などのローカル接続で携帯機器320に送り、携帯機器320で中継して無線通信ネットワークで送ることができる。信号通知543の内容は
図4につき詳細に述べた信号通知244と同様にすることができるが、加えて、取得した電話番号を含めることができる。
【0060】
ブロック804において、制御ソフトウェア332は信号通知543に含まれる電話番号をマッピング350と比較する。マッピングはこの特定のヘッドユニット321を介してアクセスし得る複数のダウンロードディレクトリの各々を特定の電話番号に相互に関連付ける。例えば、このマッピングにおいては、第1の電話番号はダウンロードディレクトリAと関連付けられ、第2の電話番号はダウンロードディレクトリBと関連付けられる。制御ソフトウェア332は受信電話番号とマッピング350との比較に基づいてダウンロードディレクトリA−Bの一つを選択する。
【0061】
ソフトウェア332は次にダウンロードディレクトリA−Bの選択した一つのディレクトリに現在格納されているアプリケーションがあるかどうかチェックする。ダウンロードディレクトリA−B内に存在するアプリケーションをインテリジェントに選択するスキームは
図9を参照して後に詳細に説明される。今のところ、説明の便宜上、ダウンロードディレクトリ339A及び339Bは、ヘッドユニットのフロントエンド設定369A及び369Bに加えて、現在のアプリケーション340A(M−P)及び340B(Q−S)をそれぞれ含むものと仮定する。
【0062】
前段落で簡単に述べたように、ダウンロードディレクトリA−Bは、アプリケーション340A及び340Bに加えて、ヘッドユニットのフロントエンド設定A−Bをそれぞれ含む。設定A−Bはウェブコードレンダラ399とコンパチブルなHTMLコード又は他のウェブコードとして格納することができる。ヘッドユニットのフロントエンド設定A−Bのどちらがヘッドユニット321にダウンロードされるかに応じて、ヘッドユニット321のディスプレイ380は異なるグラフィックユーザインタフェースを表示する。異なるウェブコードファイル369A及び369Bの各々は、ディスプレイ380及びレンダラ399で表示されるとき、異なるグラフィックユーザインタフェースを表示する。例えば、各グラフィックユーザインタフェースはユーザにより選択された特定の壁紙などのユーザ自身がカスタマイズした設定を有することができる。異なるヘッドユニットのフロントエンド設定A−Bを生成するスキームは
図9を参照して後に詳細に説明される。
【0063】
ブロック805において、ソフトウェア332は、
図4に示すスキームと同様に、携帯電話320上のIPゲートウェイソフトウェア331をヘッドユニット321へアプリケーションを送るためのIPゲートウェイとして動作させるために信号通知を発生し送信する。一例では、
図4と同様に、このような信号通知は、車両へのダウンロードのためにソフトウェア331を携帯電話上で動作させるために、携帯電話320にソフトウェア331を動的にロードするための通信を含む。この信号通知は、携帯電話320にソフトウェア331が予めロードされ、IPゲートウェイ動作の準備が整っている場合には生じない。他の例では、この信号通知345は接続540の確立後にヘッドユニット321上のソフトウェア330から発生させることができる。
【0064】
ブロック806において、ソフトウェア332は選択された一つのディレクトリからのデータ、例えばアプリケーションM−P及び設定A又はアプリケーションQ−S及び設定B、をダウンロードするためにIPパケット545を生成し、送信する。IPパケット545は携帯電話320で受信され、ソフトウェア331の動作によりヘッドユニット321に転送される。この特定の説明においては、IPパケット545はアプリケーションとグラフィックユーザインタフェースの設定の両方を含むが、他のシナリオではIPパケット545はアプリケーション又は設定のいずれかを含むものとし得る。また、選択されたダウンロードディレクトリに現在アプリケーションがない場合及び選択されたダウンロードディレクトリに格納された設定に変化がなかった場合には、IPパケット545は送信されない。
【0065】
ブロック807において、ソフトウェア330はIPパケット545を受信し、それに含まれるアプリケーションを車両にインストールする(インストールはヘッドユニットのコンポーネント上又は他の車両コンポーネント上で行うことができる)。ソフトウェア330は検出した電話番号に基づく特定のグラフィックユーザインタフェースを生成するために、ウェブコードレンダラ399を用いてIPパケット545からの設定も処理する。
【0066】
その後、選択されたダウンロードディレクトリに格納された設定A−Bの一つに対応するグラフィックユーザインタフェースがディスプレイ380により表示される。車両のユーザはヘッドユニット321をインタフェースとして用いて、インストールされたアプリケーションM−P又はQ−Sを操作することができる。
【0067】
ソフトウェア330及び332は
図1−3に記載された任意の原理に従って動作し得ることを理解すべきである。例えば、ソフトウェア330及び332はアクティブアプリケーションによるヘッドユニット321のI/Oリソースの利用を現在の車両状態に従って制御することができる。別の例として、アプリケーションを車両と携帯機器の両方にインストールするシステムにおいて、ソフトウェア330及び332は、車両インタフェースを利用するすべてのアプリケーションを表13(
図1)に類似のアプリケーションランキング/優先順位表に含めることができる。
【0068】
上述した例では、制御ソフトウェア330は携帯電話320を他の携帯電話から一意に識別するために携帯電話320の電話番号にアクセスする。他の例では、ヘッドユニット321上の制御ソフトウェアは携帯電話を他の携帯電話から一意に識別するために通信可能に接続された携帯電話上の異なる値にアクセスすることができる。このような値の他の例としては、限定されないが、携帯電話の物理アドレスを含むことができる。このような他の例では、このような値がマッピングに使用され、例えば他の値が物理アドレスである場合、マッピングはダウンロードディレクトリに関連付けられた物理アドレスを含むこと明らかである。
【0069】
上述した例では、制御ソフトウェア330はアクセスした一意の識別子(本例では電話番号)をサーバ322に送る。他の例では、マッピング350は車両に格納することができる。このような場合には、制御ソフトウェア330はマッピングに記載された特定のダウンロードディレクトリを比較によって識別し、特定のダウンロードを指定する識別子をサーバ322に送る。このときサーバ322はIPパケット545で応答し、識別されたダウンロードディレクトリからのデータを送信することができる。
【0070】
図9は
図7−8に示すシステムをより詳細に示す。
【0071】
サーバ322はダウンロードを待つアプリケーションの複数のダウンロードディレクトリ339A−Bを含むことを先に説明した。
図9はダウンロードディレクトリ339A−Bの生成及びアプリケーションのディレクトリ単位の選択に使用できるユーザウェブポータル905を示し、このウェブポータル905の一使用例を説明する。
【0072】
車両ユーザは、ユーザウェブポータル905のプロフィール生成部930を用いて車両に対応する複数のプロフィールを生成することができる。プロフィールは車両を使用する各人ごとに生成することができる。欄927は各人にそれぞれ対応する携帯電話の一意の電話番号又は他の一意の識別子を要求する。各人の名前又は他の情報を電話番号と一緒に収集することができる。プロフィールの生成後又は生成中に、サーバ322は各人のプロフィールごとにダウンロードディレクトリを生成し、各番号/ディレクトリの組み合わせごとにマッピング350を更新する。いくつかの例では、プロフィール生成部930は、ヘッドユニットを2以上の携帯機器に同時に接続できる場合(これが可能かどうかは接続プロトコルにより決まる)には、対応するプロフィールのうちの高いランクのプロフィールが使用されるように、ユーザが生成されるプロフィールにランクを付けることができるように構成することができる。
【0073】
プロフィールの生成中又は生成後に、ウェブポータル905は、コンピュータ端末926、例えば携帯機器又はデスクトップコンピュータなどの任意のインターネットアクセス可能なコンピュータ装置を用いて、ダウンロードディレクトリ339A−Bに含めるアプリケーションを選択するように動作することができる。コンピュータ端末926は、車両にインストールし得るアプリケーションの管理リストを見るために、ユーザウェブポータル905のアプリケーション選択部928(一例ではプロバイダにより操作されるウェブサーバによりホストされる)にアクセスする。ユーザは次に、ユーザが自分の車両にディレクトリ単位でインストールしたいアプリケーションを管理リストから選択するための通信961を送る。これらの選択962はダウンロードディレクトリ339A−Bにそれぞれディレクトリ単位で供給される。
【0074】
ユーザウェブポータル905は、ユーザがダウンロードディレクトリ339A−Bから特定のアプリケーションを除去することができるように構成することもできる。例えば、ユーザはプロバイダによりダウンロードディレクトリ339A−Bにディレクトリ単位で追加されるプロバイダ選択アプリケーション952の一つを除去することを希望することができる。この除去は、ディレクトリ339に既に送付された特定のアプリケーションの削除によって或いは特定のアプリケーションがダウンロードディレクトリ339A又は339Bに追加される前にこのアプリケーションの追加を希望しないことを指示することによって行うことができる。
【0075】
ユーザウェブポータル905はヘッドユニットのフロントエンド設定カスタマイズ部929も含むことができる。この部分929は新しい設定369A−Bをダウンロードディレクトリ339A−Bに追加することを可能にし、各人の設定を各人の要求に従ってカスタマイズすることができる。例えば、第1の壁紙背景をダウンロードディレクトリ339Aに追加し、第2の異なる壁紙背景をダウンロードディレクトリ339Bに追加することができる。他のカスタマイズはカスタマイズされたグラフィックインタフェースボタン、カスタマイズされたグラフィックユーザインタフェースレイアウト、カスタム画像などを含む。
【0076】
以上によれば、アプリケーションは車両ごとのダウンロードディレクトリ339A−Bにディレクトリ単位で蓄積することができる。ヘッドユニットを特定の一つの携帯機器に接続すると、対応する一つのダウンロードディレクトリ339A−Bからのデータを車両にダウンロードしインストールして、カスタマイズされたアプリケーションセット及びカスタマイズされたユーザインタフェースを提供することができる。
【0077】
ウェブポータル905のインタフェースと同様のインタフェースを車両のヘッドユニット上に表示できることを理解されたい。ユーザは管理リスト610からのアプリケーションの選択をこのようなインタフェースからの選択で行うことができる。選択がインタフェースから行われるとき、選択されたアプリケーションはダウンロードディレクトリに入力する代わりに車両に直ちにダウンロードすることができる。
【0078】
図10はヘッドユニットの設定に従ってヘッドユニットのグラフィックインタフェースを選択するシステムを示す。
【0079】
システム1000はサーバ1022及びヘッドユニット1021を含み、これらは前述のサーバ及びヘッドユニットと同様のコンポーネントを含むことができる。サーバ1022及びヘッドユニット1021はヘッドユニット1021に接続される携帯機器(図示せず)を用いて通信することに留意されたい。ヘッドユニット1021は制御ソフトウェア1030を含み、サーバ1022は制御ソフトウェア1032を含む。
【0080】
ソフトウェア1032は、例えばヘッドユニット1021をプローブ(1081)して情報を収集することによってヘッドユニット1021の設定を識別する。ソフトウェア1030はヘッドユニット1021の設定を識別する情報で応答1082する。応答1082は、車両のメーカ/モデル/年式、規定のコード、ヘッドユニット1021の設定のアドホックリストのうちの少なくとも一つを含むことができる。
【0081】
ソフトウェア1032は次にヘッドユニット情報1082に基づいて複数のグラフィックユーザインタフェースから一つを選択する。例えば、ヘッドユニット情報1082が規定のコードを含む場合には、ソフトウェア1032はそのコードをコード対グラフィックユーザインタフェースY−Zの格納マッピングと比較することができる。選択されるグラフィックユーザインタフェースは情報1082により報告されたヘッドユニット1021の特定の設定に対応する。例えば、ヘッドユニット1021がモノクロディスプレイを有する場合には、選択されるグラフィックユーザインタフェース(GUI)はインタフェースYとすることができるのに対し、ヘッドユニット1021がカラーディスプレイを有する場合には、選択されるGUIはインタフェースZとすることができる。また、ことによると、ヘッドユニット1021が第1の値の実効解像度を有する場合には、選択されるGUIはインタフェースYとすることができるのに対し、ヘッドユニット1021が第2の値の実効解像度を有する場合には、選択されるGUIはインタフェースZとすることができる。車両のメーカ/モデル/年式が第1の設計のインテリア、例えばラグジュアリモチーフの設計を示す場合には、選択されるGUIはインタフェースYとすることができるのに対し、車両のメーカ/モデル/年式が第2の設計のインテリア、例えばスポーティーモチーフの設計を示す場合には、選択されるGUIはインタフェースZとすることができる。
【0082】
グラフィックユーザインタフェースが選択されると、ソフトウェア1032はグラフィックユーザインタフェースY−Zの選択された一つのIPパケットの転送を実行する。IPパケットの転送1045は携帯電話(図示せず)の上述したIPゲートウェイソフトウェアを利用することができることを理解されたい。ソフトウェア1030は受信したグラフィックユーザインタフェースを自動的にインストールする。選択されたグラフィックユーザインタフェースはデフォルトグラフィックユーザインタフェース1090又は転送1045前にヘッドユニット1021に存在する先にダウンロードされたグラフィックユーザインタフェースに取って代ることができる。
【0083】
前述したフロントエンド設定を選択されインストールされるGUIに適用することができる。例えば、選択されるGUIはヘッドユニット1021にインストールすることができ、ヘッドユニット1021に現在接続されている携帯機器の電話番号で選択されたカスタマイズされたフロントエンドに基づいて外観をさらに変更することができる。
【0084】
図11はリモートコンピューティングの許可を生成し、ヘッドユニットに送るシステムを示す。
【0085】
システム1100は、サーバ1122及びヘッドユニット1121を含み、これらは前述のサーバ及びヘッドユニットと同様のコンポーネントを含むことができる。サーバ1122及びヘッドユニット1121は携帯機器1131を用いて通信することに留意されたい。ヘッドユニット1121は制御ソフトウェア1130を含み、サーバ1122は制御ソフトウェア1132を含む。
【0086】
ヘッドユニット1121は、携帯機器1131上でランするバーチャルネットワークコンピューティング(VNC)(登録商標)サーバ1149に接続するために、VNCクライアント1148などのリモートデスクトップビュープログラムを含む。背景として、VNCクライアントとVNCサーバは互いに通信してサーバのデスクトップ又は他の現在のビューをクライアントディスプレイ上に表示する。クライアントに直接接続されたヒューマンインタフェース装置、例えばキーボード、マウスなどを表示される画像と関連して用いてVNCサーバをランするコンピュータ装置を遠隔制御することができる。あるアプリケーションがVNCサーバを有するコンピュータ装置上でフルスクリーンモードで実行されている場合、VNCサーバを有するコンピュータ装置はこのアプリケーション(デスクトップ全体ではない)を制御する。
【0087】
制御ソフトウェア1130は携帯機器1131から特定のアプリケーションX(1140)を指定する要求1155を受信する。制御ソフトウェア1130は、要求1155からその識別子自体を抽出することによって、又は要求から収集される情報又は携帯機器1131との通信から収集される情報に基づくルックアップテーブルを用いることによって、要求1155に対応するアプリケーション識別子を識別する。制御ソフトウェア1130はアプリケーション識別子を含む通信1156を送出する。
【0088】
制御ソフトウェア1132はアプリケーション識別子を内部テーブルと比較し、アプリケーションXに対するVNC許可1157を発生する。VNC許可1157は、VNCがこのアプリケーションXに対して許可される特定の状態を指定する。例えば、アプリケーションXがナビゲーションアプリケーションである場合には、許可1157は、車両が停止又は走行しているときにVNCは許可されることを指定する。対照的に、アプリケーションXがメディア生成アプリケーションである場合には、許可1157は、車両が停止しているときにのみVCNは許可されることを指定することができる。
【0089】
VNC許可1157は、アプリケーションが現在フルスクリーンモードで実行されているのかウィンドウモードで実行されているのかに基づいて異なる許可を指定することもできる。例えば、ナビゲーションアプリケーションは、車両が走行しているときに許可され得るが、この許可はナビゲーションアプリケーションが携帯電話1131上でフルスクリーンモードで実行されている間のみとすることができる。これにより、ユーザが車両の走行中にナビゲーションアプリケーションをウィンドウモードに切り替えると、VNC機能は直ちに阻止される。
【0090】
VNC許可1157は電話番号も指定することができる。例えば、VNCは、携帯機器1131がメディアプレーヤアプリケーションを実行しているとき許可することができるが、この許可は携帯機器が特定の電話番号を有する場合のみとすることができる(これはペアレンタルコントロールの形で使用できる)。
【0091】
制御ソフトウェア1130は受信したVNC許可1157をVNC許可のデータベース1135内に格納する。制御ソフトウェア1130は、制御信号1160を発生するためにデータベース1135に格納されているVNC許可に基づいて状態を連続的に監視する。制御信号1160は、VNCクライアント1148により携帯機器1131のビュー1161をヘッドユニット1121のディスプレイで現在表示できるかどうかを制御する。制御信号1160は、ヘッドユニット1121の入力インタフェースを用いて行われた入力をVNCサーバ1149に送信できるかどうかも制御する(1162)。
【0092】
図12は、携帯機器による新しいアプリケーション要求の発生又はユーザウェブポータルによる新しいアプリケーションの選択に応答してグラフィックユーザインタフェースの更新をヘッドユニットに強制するシステムを示す。
【0093】
システム1200は、サーバ1222及びヘッドユニット1221を含み、これらは前述のサーバ及びヘッドユニットと同様のコンポーネントを含むことができる。サーバ1222及びヘッドユニット1221は携帯機器1231を用いて通信することに留意されたい。
【0094】
サーバ1222はシステム1200で使用する新しいアプリケーションの指示を少なくとも2つの異なる形態で受信することができる(新しいアプリケーションとはヘッドユニット1221に以前ダウンロードされたことがないアプリケーション及び/又はヘッドユニットを拡張インタフェースとして利用したことがないアプリケーションをいう)。一つの形態では、携帯機器1231がヘッドユニット1221を拡張インタフェースとして利用するために新しいアプリケーションX(1240)の指示を送る。具体的には、この指示は、携帯機器1231からの要求1270に似応答して制御ソフトウェア1230により発生され送信される許可要求1271である。
【0095】
別の方法では、サーバ1222はユーザウェブポータル1205から新しいアプリケーションの指示を受信することができる。ユーザウェブポータル1205は前述のウェブポータルと同様である。アプリケーション選択ツール1228を用いて、ユーザはヘッドユニットへのインストールのために対応するダウンロードディレクトリ(図示せず)に含めるべきアプリケーションを任意のリモートコンピュータで選択することができる。従って、新しいアプリケーションを含む受信される選択1274はシステム1200で使用する新しいアプリケーションの指示の別の形態である。
【0096】
このような指示に応答して、制御ソフトウェア1232は、新しいアプリケーションXに対するグラフィックユーザインタフェースの更新を含むIPパケット転送1245を送信するかどうかを決定する。新しいアプリケーションXが前述のアプリケーションの管理リスト(
図6)に含まれない場合にはこのようなIPパケットは送信されない。一例では、グラフィックユーザインタフェースの更新は、新しいアプリケーションXにアクセスするためのアイコンを追加するように、先に選択されインストールされたグラフィックユーザインタフェース(
図10)を変更する。別の例では、グラフィックユーザインタフェースの更新は、新しいアプリケーションXを動作させるために、先に選択されインストールされたグラフィックユーザインタフェースに対する他の任意の形態の更新を含む。制御ソフトウェア1230は要求1270及び/又は選択1274の送信に応答して更新を自動的にインストールする。アプリケーションのダウンロードがダウンロードディレクトリ内で車両のパワーオンを待っている場合には、更新の転送1245はアプリケーションのダウンロード自体と一緒にすることができる。
【0097】
図13Aはペアレンタルコントロールスキームの前操作を示すフローチャートを示す。
【0098】
ブロック1301において、サーバはペアレンタルコントロールの対象として少なくとも一つのプロフィールを指定する。このプロフィールはアカウント登録により選択することができ、例えばウェブポータルを用いて選択することができる。
【0099】
ブロック1302において、サーバはペアレンタルコントロール対象のプロフィールに対してペアレント(典型的にはアカウント名義人)として指定されたユーザに対するログインを受信する。ブロック1303において、サーバはペアレンタルコントロールの対象のプロフィールと関連するアプリケーションのリストをウェブポータルを用いて表示させる。
【0100】
ブロック1304において、リストの表示後に、サーバは表示されたリストから選択を受信する。サーバはこれらの選択をペアレンタルコントロールの対象であるプロフィールに格納する。これらの選択はリストからのアプリケーション及び/又は条件付許可の場合の詳細情報(条件付許可は後に詳述する)を含むことができる。
【0101】
図13Bはペアレンタルコントロールスキームの操作を示すフローチャートを示す。
【0102】
ブロック1320において、ヘッドユニットと携帯電話との通信可能な接続に応答して、ヘッドユニットはサーバとの通信に使用する携帯電話の電話番号を取得する。ブロック1321において、ヘッドユニットは電話番号を分析のためにサーバに送る。得られた電話番号がペアレンタルコントロールの対象として指定されたプロフィールに一致しない場合には、ペアレンタルコントロールプロセスはブロック1322で終了する。
【0103】
他方、得られた電話番号がペアレンタルコントロールの対象のプロフィールと一致する場合には、ブロック1323においてサーバはペアレントコントロールを実行する。一例では、この実行は、次の段落で説明されるブロック1323−1327を含み、VNC許可プロセスに類似する。
【0104】
ブロック1323において、サーバはペアレンタルコントロールメッセージをヘッドユニットに送信する。ブロック1324において、ヘッドユニットはペアレンタルコントロールメッセージに基づいて状態を連続的に監視する。ブロック1325において、ヘッドユニットは特定のアプリケーションがヘッドユニットを拡張インタフェースとして使用すること及び/又はヘッドユニットにインストールされた特定のアプリケーションを実行することを阻止する。例えば、ヘッドユニットは、特定の携帯電話が電話呼を受信したという指示を受けることができるが、その電話呼に対してヘッドユニットの拡張インタフェースとしての使用を阻止することができる。また、別の例では、ヘッドユニットはメディアプレーヤアプリケーションをヘッドユニットで実行しようとする試みを阻止することができる。連続監視は受信したペアレンタルコントロールメッセージを格納するヘッドユニット上のデータベースによって容易に行うことができる。
【0105】
ブロック1326において、ヘッドユニットは、特定のアプリケーションがヘッドユニットを拡張インタフェースとして使用すること及び/又はヘッドユニットで直接実行されることを条件付で阻止する。例えば、ヘッドユニットは、特定の携帯電話が電話呼を受信したという指示を受信することができるが、その電話呼に対するヘッドユニットの拡張インタフェースとしての使用は着呼の発呼者ID欄の値に基づいて条件付で阻止することができる。さらに具体的に言うと、ペアレンタルコントロールメッセージは、電話の拡張インタフェースとしてのヘッドユニットの使用の阻止に対する例外として所定の電話番号を指定することができる。ヘッドユニットは携帯電話から発呼者ID値を取得し、携帯電話がヘッドユニットのインタフェースを利用することを条件付で阻止することができる。別の例では、ヘッドユニットはアプリケーションを車両の状態に基づいて条件付で阻止することができ、例えばヘッドユニットは車両が現在走行している場合にのみ携帯電話がヘッドユニットのインタフェースを利用することを阻止することができる。
【0106】
ブロック1327において、ヘッドユニットは、特定のアプリケーションがペアレンタルコントロールメッセージに従って許可される場合には、特定のアプリケーションを阻止しない。この場合には、ヘッドユニットは、サーバによる許可に従って、例えばアプリケーションが管理リスト(
図6)にあるかどうかに従って、アプリケーションを動作させることができる。
【0107】
他の例では、システムは具体的に上述したプロセスとは異なるプロセスを用いてペアレンタルコントロールスキームを実行することができる。例えば、別の例では、ブロック1323−1327のプロセスは使用しない。代わりに、ヘッドユニットは状態及びアプリケーション要求をサーバに連続的に報告し、サーバはペアレンタルコントロール設定に基づいて現在の許可を動的に取り消す。サーバは次に現在の不許可アプリケーションを阻止するようにヘッドユニットを制御する。
【0108】
当業者であれば、本発明の基本原理から逸脱することなく上述した実施形態の細部に多くの変更を加えることができること明らかである。従って、本発明の範囲は後記の特許請求の範囲によってのみ決定されるべきである。
【0109】
上述した機器の大部分はハードウェア及び関連ソフトウェアを備える。例えば、典型的なナビゲーション装置は一以上のプロセッサ及び上述した操作を実行するためにそれらのプロセッサで実行可能なソフトウェアを含む可能性が高い。本明細書においてソフトウェアという語は一般に理解されている意味で使用され、プロセッサやルーチン(サブルーチン、オブジェクト、プラグインなど)並びにマシン又はプロセッサで使用可能なデータを意味する。周知のように、コンピュータプログラムは一般にマシン読取り可能な又はコンピュータ読取り可能な記憶媒体に記憶された命令を一般に含む。いくつかの実施形態はマシン読取り可能な又はコンピュータ読取り可能な記憶媒体に記憶された実行可能なプロセッサを含むことができる。任意の特定の実施形態においては通常の意味の「コンピュータ」が必要とされることを意味しない。例えば、埋め込み型又は他の型の様々なプロセッサをここに記載するコンポーネントなどの機器に使用することができる。
【0110】
ソフトウェアを記憶するメモリも周知である。いくつかの実施形態では、所定のプロセッサと関連するメモリはプロセッサと同じ物理的装置(「オンボード」メモリ)、例えば集積回路マイクロプロセッサなどに組み込まれたRAM、アプリケーション例えば半導体フラッシュメモリとすることができる。他の例では、メモリは独立装置、例えば外部ディスクドライブ、記憶アレイ又は携帯フラッシュキーフォブとすることができる。このような場合には、プロセッサがメモリに記憶されたファイルを読み出すことができるように両者が動作可能に接続されたとき又は例えばI/Oポート、通信接続などにより互いに通信可能にされたときに、メモリはディジタルプロセッサと「関連」することになる。関連するメモリは、設計による又は許可設定による「リードオンリ」メモリ(ROM)とすることができる。他の例としてWORM、EPROM、EEPROM、FRASHなどを含むことができるが、これらに限定されない。これらの技術は多くの場合ソリッドステート半導体装置で実現される。他のメモリとして、通常の回転ディスクドライブなどの可動部を含むことができる。これらのメモリはすべて「マシン読取り可能な」又は「コンポーネント読取り可能な」メモリであり、ここに記載する機能を実行する実行可能な命令を記憶するのに使用することができる。
【0111】
「ソフトウェア製品」は、一連の実行可能な命令がマシン読取り可能な形で記憶されたメモリ装置であって、適切なマシン又はプロセッサはこのようなソフトウェア製品に適切にアクセスして一連の命令を実行すると、命令により実現されるプロセスを実施することができるものを言う。ソフトウェア製品はソフトウェアを配布するために使用されることもある。如何なるタイプのマシン読取り可能なメモリも、上に挙げたものに限定されることなく、ソフトウェア製品の作製に使用することができる。とは言うものの、ソフトウェアは電子的伝送(ダウンロード)により配布できることも知られており、この場合には一般に、対応するソフトウェア製品が伝送の送信側に又は受信側に又はその両側に存在する。
【0112】
本発明の原理を本発明の好適な実施形態について記載し説明したが、本発明はこのような原理から逸脱することなく構成及び細部に種々の変更を加えることができること明らかである。これらのすべての変更及び変形は後記の特許請求の範囲の精神及び範囲に含まれることを主張する。