(57)【要約】      （修正有）【課題】自動車ヘッドユニットへ複数のサービスを電子的に提供する。【解決手段】車両内の自動車ヘッドユニットおよびモバイルデバイス１０４は、近距離無線接続を介して通信可能にリンクされる。また、これらデバイスはセルラーネットワークなどのネットワーク上で、エンターテイメントおよび情報サービスを、モバイルデバイスおよび車両のヘッドユニットへ提供するサービスプロバイダへの通信を行う。ユーザのプロフィールおよび嗜好がユーザのモバイルデバイスによりアクセス可能なサーバに接続し、様々なロケーションおよび車両においてユーザをフォローする。ヘッドユニットが近距離無線接続上で幅広いネットワーク接続性を有さない場合、モバイルデバイスは、主要なサービスプロバイダのサーバおよびアグリゲーションオプションを介して複数のサービスをヘッドユニットに提供する。【選択図】図１
2018074579.tif 000002
【特許請求の範囲】
【請求項１】
自動車ヘッドユニットへ複数のサービスを電子的に提供する方法であり、
サーバのコンピュータプロセッサにより、認証されたユーザの遠隔デバイスから要求を受信する段階であって、前記遠隔デバイスは、前記認証されたユーザに関連付けられ、前記サーバとは離れて別個のものである、段階と、
前記サーバの前記コンピュータプロセッサにより、前記要求に関連付けられた遠隔の自動車ヘッドユニットを特定する段階であって、前記遠隔の自動車ヘッドユニットは、前記サーバとは離れて別個のものであり、前記認証されたユーザの前記遠隔デバイスとは離れて別個のものであり、前記遠隔の自動車ヘッドユニットの前記特定は、前記要求と、前記認証されたユーザおよび前記遠隔デバイスのうちの１または複数とに少なくとも部分的に基づく、段階と、
前記要求に応じ、かつ、前記遠隔の自動車ヘッドユニットの前記特定に少なくとも部分的に基づき、前記サーバの前記コンピュータプロセッサにより、前記要求、前記認証されたユーザ、他の認証されたユーザ、および前記遠隔デバイスのうち１または複数に基づき、特定された前記遠隔の自動車ヘッドユニットへ複数のサービスまたは情報を電子的に提供して、前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザの特定された複数のユーザ嗜好のうち、または前記他の認証されたユーザの特定された複数のユーザ嗜好のうち対応する複数の嗜好に従って動作させる段階と
を備える方法。
【請求項２】
前記遠隔の自動車ヘッドユニットは、前記他の認証されたユーザに関連付けられている、請求項１に記載の方法。
【請求項３】
前記遠隔デバイスは、モバイルデバイス、およびコンピュータのうち１つである、請求項１に記載の方法。
【請求項４】
前記サーバはモバイルデバイス上で動作しており、前記特定されたユーザの前記対応する複数の嗜好は前記モバイルデバイスに関連付けられている、請求項１に記載の方法。
【請求項５】
前記サーバの前記コンピュータプロセッサにより、前記認証されたユーザの特定された前記複数のユーザ嗜好を前記モバイルデバイスに格納して、前記モバイルデバイスが、１または複数の他の特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザの前記特定された複数のユーザ嗜好に従って動作させることを可能とする段階をさらに備える、請求項４に記載の方法。
【請求項６】
前記サーバの前記コンピュータプロセッサにより、前記複数のサービスまたは情報を他の特定された遠隔の自動車ヘッドユニットへ電子的に提供して、前記他の特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザの前記特定された複数のユーザ嗜好に従って動作させる段階をさらに備える、請求項５に記載の方法。
【請求項７】
提供される前記情報は、前記特定された複数のユーザ嗜好を含む、請求項１に記載の方法。
【請求項８】
前記遠隔デバイスは、前記特定された遠隔の自動車ヘッドユニットから地理的に遠隔で位置付けられたモバイルデバイスである、請求項１に記載の方法。
【請求項９】
前記遠隔デバイスはモバイルデバイスであり、前記遠隔デバイスから前記要求を受信する前記段階は、前記特定された遠隔の自動車ヘッドユニットからの前記要求を受信した前記モバイルデバイスから前記要求を受信する段階を有する請求項１に記載の方法。
【請求項１０】
前記サーバを介して前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を電子的に提供する前記段階は、前記ユーザのモバイルデバイスにデータを電子的に提供して、前記モバイルデバイスが、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を提供することを可能とする段階を有する、請求項１に記載の方法。
【請求項１１】
前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を電子的に提供する前記段階は、前記特定された遠隔の自動車ヘッドユニットの無線遠距離通信受信機を介して、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を電子的に提供する段階を有する、請求項１に記載の方法。
【請求項１２】
前記特定された遠隔の自動車ヘッドユニットへ前記特定された遠隔の自動車ヘッドユニットの前記無線遠距離通信受信機を介して前記複数のサービスまたは情報を電子的に提供する段階は、セルラーサービスを用いて前記サーバにより、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を提供して、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を提供するようデータの通信を行う段階を含む、請求項１１に記載の方法。
【請求項１３】
前記特定された遠隔の自動車ヘッドユニットへ前記サーバを介して前記複数のサービスまたは情報を電子的に提供する前記段階は、
前記認証されたユーザまたは他の認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従う複数のサービスまたは情報と、
前記認証されたユーザが車両を遠隔で制御または構成するための複数のサービスまたは情報と、
前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って前記車両の複数の設定を遠隔で、かつ自動的に構成するための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットを介して、前記認証されたユーザの複数のサードパーティサブスクリプションサービスに遠隔で、かつ自動的にアクセスし、およびそれらを提供するための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、音楽関連情報、特定された複数の音楽の嗜好、または特定の音楽の複数の選択を自動的に再生または表示させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、スポーツ関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、天気関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、ニュース関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、インターネット検索エンジン関連情報を自動的に再生または表示させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザへウェブブラウザ機能性を提供させるための複数のサービスまたは情報と、
前記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従って、前記特定された遠隔の自動車ヘッドユニットの複数のユーザインタフェース設定または特定された複数の嗜好を遠隔で構成するための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従ってカスタマイズされたユーザインタフェースを自動的に表示させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従って、複数のナビゲーションシステム設定を自動的に構成させるための複数のサービスまたは情報と、
前記自動車ヘッドユニットがナビゲーションシステムに関連して、興味の対象である複数の地理的ロケーションまたは地点を用いることを可能とする、前記認証されたユーザの前記興味の対象である複数の地理的ロケーションまたは地点に関連する複数のサービスまたは情報と、
前記要求に関連付けられた前記遠隔の自動車ヘッドユニットの前記特定に基づく、前記特定された遠隔の自動車ヘッドユニットと前記認証されたユーザの前記遠隔デバイスとの間のペアリングを可能とする複数のサービスまたは情報と、
前記遠隔デバイスと前記特定された遠隔の自動車ヘッドユニットとの間の情報の伝達を促す複数のサービスまたは情報と
のうち１または複数を提供する段階を有する、請求項１に記載の方法。
【請求項１４】
サーバのコンピュータプロセッサに、
認証されたユーザの遠隔デバイスから要求を受信する手順であって、前記遠隔デバイスは、前記認証されたユーザに関連付けられ、前記サーバとは離れて別個のものである、手順と、
前記要求に関連付けられた遠隔の自動車ヘッドユニットを特定する手順であって、前記遠隔の自動車ヘッドユニットは、前記サーバとは離れて別個のものであり、前記認証されたユーザの前記遠隔デバイスとは離れて別個のものであり、前記遠隔の自動車ヘッドユニットの前記特定は、前記要求と、前記認証されたユーザおよび前記遠隔デバイスのうちの１または複数とに少なくとも部分的に基づく、手順と、
前記要求に応じ、かつ、前記遠隔の自動車ヘッドユニットの前記特定に少なくとも部分的に基づき、特定された前記遠隔の自動車ヘッドユニットに、少なくとも、ユーザの複数のユーザ嗜好を前記遠隔デバイスに対して特定することにより前記ユーザの前記複数のユーザ嗜好に従って動作させる手順と
を実行させるプログラム。
【請求項１５】
前記特定された遠隔の自動車ヘッドユニットに複数のユーザ嗜好に従って動作させる前に、前記コンピュータプロセッサにさらに、前記ユーザを認証する手順を実行させる、請求項１４に記載のプログラム。
【請求項１６】
前記遠隔デバイスは、モバイルデバイス、およびコンピュータのうち１つである、請求項１４に記載のプログラム。
【請求項１７】
前記ユーザの前記複数のユーザ嗜好は、モバイルデバイスに関連付けられており、前記ユーザの前記複数のユーザ嗜好を前記遠隔デバイスに対して特定することは、前記モバイルデバイスから前記遠隔デバイスに、前記ユーザの前記複数のユーザ嗜好の通信を行うことを含む、請求項１５に記載のプログラム。
【請求項１８】
前記コンピュータプロセッサにさらに、認証された前記ユーザの前記複数のユーザ嗜好を前記モバイルデバイスに格納して、前記モバイルデバイスが、１または複数の他の特定された遠隔の自動車ヘッドユニットに、前記ユーザの前記複数のユーザ嗜好に従って動作させることを可能とする手順を実行させる、請求項１７に記載のプログラム。
【請求項１９】
前記遠隔デバイスは前記特定された自動車ヘッドユニットであり、前記ユーザの前記複数のユーザ嗜好を前記遠隔デバイスに対して特定することは、モバイルデバイスから前記特定された自動車ヘッドユニットへ、前記複数のユーザ嗜好の通信を行うことを含む、請求項１４に記載のプログラム。
【請求項２０】
前記遠隔デバイスは前記特定された自動車ヘッドユニットであり、前記特定された遠隔の自動車ヘッドユニットに複数のユーザ嗜好に従って動作させる前記手順は、サーバまたはモバイルデバイスから前記特定された自動車ヘッドユニットへ、バックグラウンド画像の通信を行う手順をさらに有する、請求項１４に記載のプログラム。
【請求項２１】
前記遠隔デバイスは、前記特定された遠隔の自動車ヘッドユニットから地理的に遠隔で位置付けられたモバイルデバイスである、請求項２０に記載のプログラム。
【請求項２２】
前記ユーザの前記複数のユーザ嗜好を前記遠隔デバイスに対して特定することは、承認されたモバイルデバイスから、またはサーバから前記特定された自動車ヘッドユニットへ、前記複数のユーザ嗜好の通信を行うことを含む、請求項１４に記載のプログラム。
【請求項２３】
サーバのコンピュータプロセッサと、
前記コンピュータプロセッサに結合された少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体と
を備え、
前記少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに前記コンピュータプロセッサに、
認証されたユーザのモバイルデバイスから要求を受信する手順であって、前記モバイルデバイスは、前記認証されたユーザに関連付けられ、前記サーバとは離れて別個のものである、手順と、
前記要求に関連付けられた遠隔の自動車ヘッドユニットを特定する手順であって、前記遠隔の自動車ヘッドユニットは、前記サーバとは離れて別個のものであり、前記認証されたユーザの前記モバイルデバイスとは離れて別個のものであり、前記遠隔の自動車ヘッドユニットの前記特定は、前記要求と、前記認証されたユーザおよび前記モバイルデバイスのうちの１または複数とに少なくとも部分的に基づく、手順と、
前記要求の認証に応じ、前記モバイルデバイスからの複数のサービスまたは情報を受け付ける手順と、
前記要求に応じ、かつ、前記遠隔の自動車ヘッドユニットの前記特定に少なくとも部分的に基づき、前記モバイルデバイスからの前記受け付けられた複数のサービスまたは情報と、前記要求に関連付けられた前記ユーザに関連付けられた複数のサービスまたは情報とのうち１または複数に基づき、前記要求に関連付けられた前記ユーザの特定された複数のユーザ嗜好に従って前記遠隔の自動車ヘッドユニットを自動的に構成する手順と、
を実行させる複数のプロセッサ実行可能命令を格納しており、
前記要求に関連付けられた前記ユーザに関連付けられた前記複数のサービスまたは情報は、前記サーバからのものである、前記自動車ヘッドユニットのシステム。
【請求項２４】
前記モバイルデバイスからの受け付けられた前記情報は、前記特定された複数のユーザ嗜好を含む、請求項２３に記載の自動車ヘッドユニットのシステム。
【請求項２５】
前記要求に関連付けられた前記ユーザに関連付けられた前記受け付けられた情報は、前記特定された複数のユーザ嗜好を含む、請求項２３に記載の自動車ヘッドユニットのシステム。
【請求項２６】
前記モバイルデバイスは、前記自動車ヘッドユニットのシステムから地理的に遠隔で位置付けられている、請求項２３に記載の自動車ヘッドユニットのシステム。
【請求項２７】
前記モバイルデバイスは、前記自動車ヘッドユニットのシステムと前記モバイルデバイスとの間の近距離無線通信の範囲内に位置付けられている、請求項２３に記載の自動車ヘッドユニットのシステム。
【請求項２８】
コンピュータプロセッサに、
ユーザと遠隔の自動車ヘッドユニットとに関連付けられた要求を、前記ユーザのモバイルデバイスを介して遠隔のサーバへ送信する手順と、
前記サーバによる前記要求に関連付けられた前記遠隔の自動車ヘッドユニットの特定に応じて、前記ユーザの複数のユーザ嗜好の複数のインディケーションを受信する手順であって、前記遠隔の自動車ヘッドユニットは、前記サーバとは離れて別個のものであり、前記モバイルデバイスとは離れて別個のものであり、前記遠隔の自動車ヘッドユニットの前記特定は、前記要求と、前記ユーザおよび前記モバイルデバイスのうちの１または複数とに少なくとも部分的に基づく、手順と、
前記遠隔の自動車ヘッドユニットに、前記要求と、前記遠隔の自動車ヘッドユニットの前記特定と、前記ユーザの複数のユーザ嗜好の受信した前記複数のインディケーションとに基づき、前記ユーザの前記複数のユーザ嗜好に従って動作させる手順と
を実行させる、プログラム。
【請求項２９】
前記ユーザと前記遠隔の自動車ヘッドユニットとに関連付けられた前記要求を送信する手順の前に、前記コンピュータプロセッサにさらに、前記ユーザを認証する手順を実行させる、請求項２８に記載のプログラム。
【請求項３０】
前記ユーザと前記遠隔の自動車ヘッドユニットとに関連付けられた前記要求を送信する前記手順は、近距離無線信号を介して無線で前記モバイルデバイスへ前記要求を送信する手順を有する、請求項２８に記載のプログラム。
【請求項３１】
自動車のヘッドユニットとハンドヘルドフォームファクタを有する通信デバイスとの間で通信を提供するコンピュータ実施方法であり、
前記通信デバイスのプロセッサにより、前記ヘッドユニットと、前記自動車の車両識別子と、前記通信デバイスと、ユーザアカウントと、複数のユーザクレデンシャルとのうち１または複数を伴った承認の認証または検証に基づき、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する通信リンクの確立を促す段階と、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットからの情報を受信する段階と、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納されたユーザ特有の嗜好またはユーザ識別情報とに基づき、サービスを電子的に提供する段階と
を備え、
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する前記通信リンクが依然として確立されている間に、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを示すアクセス制御情報であり、前記ヘッドユニットから受信した前記情報と、前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づく値を有する前記アクセス制御情報を、異なる通信リンクを介して遠隔のサーバから受信する段階と、
前記通信デバイスの前記プロセッサにより、前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを決定する段階と、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されると決定された場合に、前記通信デバイスの前記プロセッサにより、前記通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有する、コンピュータ実施方法。
【請求項３２】
前記ヘッドユニットから受信する前記情報は、前記サービスの要求を含み、前記アクセス制御情報に基づき、特定の前記サービスが前記ヘッドユニットにより用いられることが承認されるかを決定する前記段階は、前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから前記サービスの前記要求を受信することに応じて、前記サービスが、前記ヘッドユニットにより用いられることが承認されるかを決定する段階を含む、請求項３１に記載のコンピュータ実施方法。
【請求項３３】
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから複数の要求を受信する段階と、
前記通信デバイスの前記プロセッサにより、前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記ヘッドユニットが受信することが承認されていないサービスの少なくとも１つ要求を、前記複数の要求からフィルタ処理により取り除く段階と、
前記通信デバイスの前記プロセッサにより、前記フィルタ処理により取り除かれた前記少なくとも１つの要求に関して前記ヘッドユニットを拒否する段階と
をさらに備える、請求項３１に記載のコンピュータ実施方法。
【請求項３４】
前記通信デバイスの前記プロセッサにより、前記フィルタ処理により取り除かれた前記少なくとも１つの要求に対する応答メッセージであり、前記ヘッドユニットからの出力としてユーザにより見られる、または聞かれる、前記ヘッドユニットが何故、前記フィルタ処理により取り除かれた前記少なくとも１つの要求により要求されるサービスを受信することが承認されないのかの理由を示す前記応答メッセージを送信する段階をさらに備える、請求項３３に記載のコンピュータ実施方法。
【請求項３５】
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットが何故、前記フィルタ処理により取り除かれた前記少なくとも１つの要求により要求される前記サービスを受信することが承認されないかの前記理由を、前記フィルタ処理により取り除かれた前記少なくとも１つの要求により要求される前記サービスが、前記通信デバイスに格納された前記ユーザ識別情報に関連付けられたアカウントのサービスレベルに含まれないからであると決定する段階をさらに備える、請求項３４に記載のコンピュータ実施方法。
【請求項３６】
前記通信デバイスは無線モバイルデバイスであり、前記通信リンクは無線リンクであり、前記ヘッドユニットから前記情報を受信する前記段階は、前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから前記情報を無線受信する段階を有する、請求項３１に記載のコンピュータ実施方法。
【請求項３７】
前記ヘッドユニットから受信する前記情報は、特定のユニフォームリソースロケータ（ＵＲＬ）により示されるインターネット上で利用可能な情報の要求を含み、前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ＵＲＬへのアクセスが前記ヘッドユニットにより承認されるかを決定する段階と、
前記ヘッドユニットに関して、前記ＵＲＬへの前記アクセスが承認されると決定された場合に、前記通信デバイスの前記プロセッサにより、前記通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有し、
前記サービスは、前記インターネット上で利用可能な情報のために、前記ユニフォームリソースロケータ（ＵＲＬ）の前記ヘッドユニットへのアクセスを提供することを含む、請求項３１に記載のコンピュータ実施方法。
【請求項３８】
前記ヘッドユニットから受信する前記情報は、特定のデータタイプの要求を含み、
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記特定のデータタイプへのアクセスが前記ヘッドユニットにより承認されるかを決定する段階と、
前記ヘッドユニットに関して、前記特定のデータタイプへの前記アクセスが承認されると決定された場合に、前記通信デバイスの前記プロセッサにより、前記通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有し、
前記サービスは、前記特定のデータタイプへのアクセスを提供することを含む、請求項３１に記載のコンピュータ実施方法。
【請求項３９】
前記特定のデータタイプへのアクセスが前記ヘッドユニットにより承認されるかを決定する前記段階は、
前記通信デバイスの前記プロセッサにより、遠隔のサーバから情報を受信する段階を含み、
少なくとも部分的に前記遠隔のサーバからの前記情報に基づき、前記特定のデータタイプへのアクセスが承認されるかが決定され、
前記遠隔のサーバからの前記情報は、前記ユーザアカウントまたは前記ユーザ識別情報に関連付けられたアカウントのサブスクリプションレベルと、前記ヘッドユニットの複数の特性と、前記通信デバイスの複数の特性とのうち１または複数に基づき変化する、請求項３８に記載のコンピュータ実施方法。
【請求項４０】
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する前記通信リンクが依然として確立されている間に、前記ヘッドユニットから受信した前記情報に含まれる複数のサービスの特定の複数の要求が、提供されることが出来ない複数のサービスのためのものであることに応じて、前記ヘッドユニットへ複数のカスタマイズされたエラーメッセージを提供する段階を有し、
前記複数のカスタマイズされたエラーメッセージは、
前記ヘッドユニットの能力、機能性、または互換性の欠如と、前記複数のユーザクレデンシャルにより特定される前記ユーザアカウントの不十分なステータスまたはサブスクリプションレベルと、前記通信デバイスの能力、機能性、または互換性の欠如と、前記ユーザ特有の嗜好情報に含まれる複数の設定と、メディアデバイスが前記ヘッドユニットにより用いられていることとのうち１または複数を含む前記複数のカスタマイズされたエラーメッセージの１または複数の理由を示す、請求項３１に記載のコンピュータ実施方法。
【請求項４１】
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから受信する前記情報に含まれる前記サービスの少なくとも１つ要求に応じて、前記サービスを提供することにおいて、圧縮フォーマットのデータを前記遠隔のサーバへ送信し、または前記遠隔のサーバから受信する段階を有する、請求項３１に記載のコンピュータ実施方法。
【請求項４２】
前記通信デバイスの前記プロセッサにより、１または複数の追加的なヘッドユニットから情報を受信する段階をさらに備え、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納されたユーザ特有の嗜好またはユーザ識別情報とに基づき前記サービスを電子的に提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットのロケーションと、前記１または複数の追加的なヘッドユニットの１または複数のロケーションとのうち１または複数について、前記ヘッドユニットから受信した前記情報と、前記１または複数の追加的なヘッドユニットから受信した前記情報とに基づきサービスを電子的に提供し、情報を選択的に前記ヘッドユニットへ送信し、情報を選択的に前記１または複数の追加的なヘッドユニットへ送信する段階とを有し、
前記通信デバイスと前記１または複数の追加的なヘッドユニットとの間の複数の通信リンク、および、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する前記通信リンクは、セキュアな複数の通信チャネルである、請求項３１に記載のコンピュータ実施方法。
【請求項４３】
自動車のヘッドユニットに、複数の遠隔デバイスからの複数のサービスおよび情報へのアクセスを提供するコンピュータ実施方法であり、
無線モバイルデバイスのプロセッサにより、前記ヘッドユニットから複数のサービス要求を受信する段階を備え、
前記無線モバイルデバイスと前記ヘッドユニットとは近距離無線通信リンクで通信を行っており、
前記方法はさらに、
前記無線モバイルデバイスの前記プロセッサにより、受信した前記複数のサービス要求のうちそれぞれの受信したサービス要求を評価して、前記受信した複数のサービス要求のうちそれぞれの受信したサービス要求に関して、前記受信したサービス要求により要求されている特定のサービスに従って、前記サービス要求に関連付けられたユーザアカウントと、前記ヘッドユニットと、前記自動車の車両識別子と、前記無線モバイルデバイスと、ユーザアカウントと、複数のユーザクレデンシャルと、ユーザ特有の嗜好またはユーザ識別情報とのうち１または複数に基づき、前記受信したサービス要求をどのように処理するかを決定する段階と、
前記無線モバイルデバイスの前記プロセッサにより、前記受信した複数のサービス要求を前記評価に従って処理する段階と
を備え、
前記受信した複数のサービス要求を前記評価に従って処理する前記段階は、
前記無線モバイルデバイスの前記プロセッサにより、前記ヘッドユニットと前記無線モバイルデバイスとを通信可能に結合する前記近距離無線通信リンクが依然として確立されている間に、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを示すアクセス制御情報であり、前記ヘッドユニットから受信した前記複数のサービス要求と、前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づく値を有する前記アクセス制御情報を、異なる通信リンクを介して遠隔のサーバから受信する段階と、
前記無線モバイルデバイスの前記プロセッサにより、前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを決定する段階と、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されると決定された場合に、前記無線モバイルデバイスの前記プロセッサにより、前記無線モバイルデバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有する、方法。
【請求項４４】
前記受信した複数のサービス要求を前記評価に従って処理する前記段階は、
前記モバイルデバイスの前記プロセッサにより、前記受信した複数のサービス要求の要求、および、前記ユーザ特有の嗜好または前記ユーザ識別情報のうちいくつかを遠隔のサーバへ送信する段階と、
前記モバイルデバイスの前記プロセッサにより、前記ユーザ特有の嗜好または前記ユーザ識別情報に従ってカスタマイズされた応答を前記遠隔のサーバから受信する段階と、
前記応答を前記ヘッドユニットへ送信する段階と
を有する、請求項４３に記載のコンピュータ実施方法。
【請求項４５】
前記受信した複数のサービス要求を前記評価に従って処理する前記段階は、
前記モバイルデバイスの前記プロセッサにより、前記ヘッドユニットに前記複数のユーザクレデンシャルを保存することを避けるべく、前記ヘッドユニットから受信した前記複数のサービス要求のうち少なくとも１つへ前記複数のユーザクレデンシャルを挿入する段階と、
前記モバイルデバイスの前記プロセッサにより、前記複数のユーザクレデンシャルが挿入された前記要求を、特定の情報のために前記複数のユーザクレデンシャルを要求する遠隔のサーバへ送信する段階と、
前記特定の情報を含む応答を前記遠隔のサーバから受信する段階と、
前記特定の情報を含む前記応答を前記ヘッドユニットへ送信する段階と
を有する、請求項４３に記載のコンピュータ実施方法。
【請求項４６】
前記モバイルデバイスの前記プロセッサにより、前記ヘッドユニットからいくつのサービス要求が受信されたかについて統計情報を格納する段階をさらに備える、請求項４３に記載のコンピュータ実施方法。
【請求項４７】
前記モバイルデバイスの前記プロセッサにより、顧客行動についてのデータと、複数のサービスアタックの拒否についてのデータと、サービスの誤用および顧客サービスの改善についてのデータとのうち１または複数を提供すべく、前記統計情報を格納する段階をさらに備える、請求項４６に記載のコンピュータ実施方法。
【請求項４８】
前記ヘッドユニットから前記複数のサービス要求を受信する前記段階は、遠隔のサーバへの複数の同時接続の複数のサービス要求を受信する段階を有し、前記受信した複数のサービス要求を処理する前記段階は、前記遠隔のサーバへの前記複数の同時接続を確立する段階を有する、請求項４３に記載のコンピュータ実施方法。
【請求項４９】
無線モバイル通信デバイスであり、
コンピュータプロセッサと、
前記コンピュータプロセッサに結合された少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体と
を備え、
前記少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに前記コンピュータプロセッサに、
前記無線モバイル通信デバイスの複数のファイルにアクセスするよう、複数のネットワークファイルシステムプロトコルを用いて自動車のヘッドユニットからサービス要求を受信させ、
前記自動車の前記ヘッドユニットからの前記サービス要求を評価して、受信した前記サービス要求により要求されている特定のサービスに従って、前記サービス要求に関連付けられたユーザアカウント、前記ヘッドユニット、前記自動車の車両識別子、ユーザアカウント、複数のユーザクレデンシャル、およびユーザ特有の嗜好またはユーザ識別情報のうち１または複数に基づき、前記受信したサービス要求をどのように処理するかを決定させ、
前記評価に従って前記サービス要求に応答を送信させ、前記ファイルシステムへの要求された前記アクセスを提供させ、
前記ヘッドユニットと前記無線モバイル通信デバイスとを通信可能に結合する通信リンクが依然として確立されている間に、前記受信したサービス要求のサービスが前記ヘッドユニットにより用いられることが承認されるかを示すアクセス制御情報であり、前記受信したサービス要求と、前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づく値を有する前記アクセス制御情報を、異なる通信リンクを介して遠隔のサーバから受信させ、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを決定させ、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されると決定された場合に、前記無線モバイル通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供させる
複数のプロセッサ実行可能命令を格納している、無線モバイル通信デバイス。
【請求項５０】
格納された前記複数のプロセッサ実行可能命令は実行されたときに、前記コンピュータプロセッサに、
前記ヘッドユニットから複数のサービス要求を受信させ、
前記受信した複数のサービス要求のうち多くをリダイレクトさせる、請求項４９に記載の無線モバイル通信デバイス。
【請求項５１】
格納された前記複数のプロセッサ実行可能命令は実行されたときに、前記コンピュータプロセッサに、
様々な他の自動車ヘッドユニットからの複数の通信要求を受信させ、
前記無線モバイル通信デバイスを介して、前記様々な他の自動車ヘッドユニットのうちそれぞれに、複数の遠隔デバイスへの通信チャネルを提供させる、請求項４９に記載の無線モバイル通信デバイス。
【請求項５２】
複数のユーザおよび前記複数のユーザの複数の自動車の複数のヘッドユニットに関するデータをキャッシュし格納する、前記プロセッサに結合された非一時的記憶デバイスをさらに備える、請求項４９に記載の無線モバイル通信デバイス。
【請求項５３】
無線モバイルデバイスのコンピュータプロセッサに、
前記無線モバイルデバイスと近距離無線通信リンクで通信を行っている自動車のヘッドユニットから、ストリーミングメディアの複数のサービス要求を受信する手順と、
受信した前記複数のサービス要求のうちそれぞれの受信したサービス要求を評価して、前記受信した複数のサービス要求のうちそれぞれの受信したサービス要求に関して、前記ヘッドユニットの前記ストリーミングメディアをデコードし再生する能力および機能性に基づき、前記受信したサービス要求をどのように処理するかを決定する手順と、
前記評価に基づき、前記ヘッドユニットの前記ストリーミングメディアを再生する能力および機能性が特定のレベル未満である場合に、前記コンピュータプロセッサを用いて、要求された前記ストリーミングメディアをストリーミングしデコードするオプションを選択し、前記ヘッドユニットの前記ストリーミングメディアを再生する前記能力および前記機能性が前記特定のレベル以上である場合に、前記ヘッドユニットがデコードおよび再生を行うよう前記要求されたストリーミングメディアをストリーミングするオプションを選択する手順と、
前記評価に基づき、前記ヘッドユニットの前記ストリーミングメディアを再生する前記能力および前記機能性が決定されたレベル未満である場合に、前記要求されたストリーミングメディアをストリーミングすることにより前記要求されたストリーミングメディアをストリーミングおよびデコードするオプションを選択する手順と、
前記ヘッドユニットと前記無線モバイルデバイスとを通信可能に結合する前記近距離無線通信リンクが依然として確立されている間に、前記要求されたストリーミングメディアが前記ヘッドユニットにより用いられることが承認されるかを示すアクセス制御情報であり、前記ヘッドユニットから受信した前記複数のサービス要求と、ユーザ特有の嗜好またはユーザ識別情報とに基づく値を有する前記アクセス制御情報を、異なる通信リンクを介して遠隔のサーバから受信する手順と、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記ストリーミングメディアが前記ヘッドユニットにより用いられることが承認されるかを決定する手順と、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記ストリーミングメディアが前記ヘッドユニットにより用いられることが承認されると決定された場合に、前記無線モバイルデバイスを介して前記ヘッドユニットへ前記ストリーミングメディアを提供する手順と
を実行させるプログラム。
【請求項５４】
前記コンピュータプロセッサにさらに、
ソケットネットワークトラヒックをルーティングすべくトランスミッションコントロールプロトコル（ＴＣＰ）上で前記ヘッドユニットから要求を受信する手順と、
前記受信したサービス要求により要求されている前記特定のサービスに応じて、および、前記サービス要求に関連付けられたユーザアカウントと、前記ヘッドユニットと、前記自動車の車両識別子と、前記無線モバイルデバイスと、ユーザアカウントと、複数のユーザクレデンシャルと、ユーザ特有の嗜好またはユーザ識別情報とのうち１または複数に基づき前記ソケットネットワークトラヒックを認証およびルーティングする手順と、
前記無線モバイルデバイスの前記プロセッサにより、前記受信した複数のサービス要求を前記評価に従って処理する手順と
を実行させる、請求項５３に記載のプログラム。
【請求項５５】
前記コンピュータプロセッサにさらに、
前記無線モバイルデバイスと前記ヘッドユニットとが前記近距離無線通信リンク上で通信を行っていることが検出されたことに応じ、運転の間に用いることが安全でないと以前に選択されたことがある前記無線モバイルデバイスの選択された特定の複数のアプリケーションの使用を無効化する手順を実行させる、請求項５３に記載のプログラム。
【請求項５６】
前記コンピュータプロセッサにさらに、前記無線モバイルデバイスと前記ヘッドユニットとが互換性を有していることが検出されたことに応じて、前記無線モバイルデバイスの更新を強いる手順を実行させる、請求項５３に記載のプログラム。
【請求項５７】
前記コンピュータプロセッサにさらに、前記無線モバイルデバイス上で共に動作を行い前記ヘッドユニットへ複数のサービスを提供することにおいて、前記無線モバイルデバイス上の１つの中心的なアプリケーションに他の複数のアプリケーションへの通信を行わせる手順を実行させる、請求項５３に記載のプログラム。
【請求項５８】
前記コンピュータプロセッサにさらに、前記無線モバイルデバイスのユーザに関して帯域幅の使用の監視を促す手順を実行させる、請求項５３に記載のプログラム。
【請求項５９】
前記コンピュータプロセッサにさらに、前記無線モバイルデバイスの特定のタイプと、前記無線モバイルデバイスのテストおよび自動化に関する特定のテスト実行とに基づき、特定のテストサーバに向けられるよう前記無線モバイルデバイス上のソフトウェアの構成を自動的に変更する手順を実行させる、請求項５３に記載のプログラム。
【請求項６０】
テストのために前記無線モバイルデバイス上の前記ソフトウェアの前記構成を自動的に変更する前記手順は、前記ソフトウェアのコードベースを再構築する必要なく起こる、請求項５９に記載のプログラム。
【請求項６１】
複数の自動車の１または複数の遠隔のヘッドユニットと、前記１または複数の遠隔のヘッドユニットおよびユーザに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとにサーバにより複数のサービスを提供するコンピュータ実施方法であり、
前記サーバの少なくとも１つのプロセッサにより、自動車のヘッドユニットについての情報を受信する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、前記自動車の前記ヘッドユニットに関連付けられた通信デバイスについての情報を受信する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、受信した前記情報と、前記ヘッドユニットおよび前記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、前記ヘッドユニットを特定する段階であって、前記ヘッドユニットの前記特定は、認証されたユーザおよび前記通信デバイスのうちの１または複数に少なくとも部分的に基づく、段階と、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットの前記特定に基づき、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数へ１または複数のサービスを提供する段階と
を備え、
前記通信デバイスは、前記サーバとは離れて別個のものであり、
前記ヘッドユニットは、前記サーバとは離れて別個のものであり、前記通信デバイスとは離れて別個のものである
コンピュータ実施方法。
【請求項６２】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数を介して、前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと、複数のマルチメディアサービスをサポートする能力を有する他の複数の自動車へユーザと共に移動することが出来る前記通信デバイスとのうち前記１または複数に関連付けられた前記ユーザを認証することにより、前記ユーザのための前記複数のマルチメディアサービスを提供する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項６３】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数へのユーザ入力を抽象化する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項６４】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に関連付けられた複数のエラークラスをトラッキングまたは監視する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項６５】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数に関連付けられた車両識別番号（ＶＩＮ）に基づき、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項６６】
前記車両識別番号（ＶＩＮ）に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、前記ＶＩＮがいずれかのユーザに関連付けられることを要求しない、請求項６５に記載のコンピュータ実施方法。
【請求項６７】
前記方法はさらに、前記サーバの前記少なくとも１つのプロセッサにより、前記１または複数のサービスへのアクセスを規制する段階を備える、請求項６１に記載のコンピュータ実施方法。
【請求項６８】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットへ複数のソフトウェア更新を提供する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項６９】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数とコンテンツとの互換性を維持すべく、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に提供される前記コンテンツを操作する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項７０】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数の１または複数のサポートされたフォーマットに基づき、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数に提供されるコンテンツを１または複数のフォーマットに変換する段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項７１】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数のロケーション、方向、および速度のうち１または複数に基づき、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数を検索する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、前記検索に基づきロケーション情報を提供する段階と
を有する、請求項６１に記載のコンピュータ実施方法。
【請求項７２】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数に関連付けられたユーザアイデンティティへ複数のサードパーティクレデンシャルをリンクする段階を有する、請求項６１に記載のコンピュータ実施方法。
【請求項７３】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
サードパーティサービスプロバイダにより提供されるサービスの要求を前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数から受信する段階と、
前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数、または、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に関連付けられたユーザへ前記サードパーティサービスプロバイダの複数のクレデンシャルを供給することなく、前記サードパーティサービスプロバイダから前記サービスを取得し、要求された前記サービスの提供を促し、前記要求に応答する段階と
を有する、請求項６１に記載のコンピュータ実施方法。
【請求項７４】
複数の自動車の１または複数の遠隔のヘッドユニットと、前記１または複数のヘッドユニットおよびユーザに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとに複数のサービスを提供するサーバであり、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合された非一時的コンピュータ可読媒体と
を備え、
前記非一時的コンピュータ可読媒体は、実行されたときに前記少なくとも１つのプロセッサに、
自動車のヘッドユニットについての情報を受信させ、
前記自動車の前記ヘッドユニットに関連付けられた通信デバイスについての情報を受信させ、
受信した前記情報と、前記ヘッドユニットおよび前記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、前記ヘッドユニットを特定させ、
前記ヘッドユニットに関連付けられた前記自動車の所有権情報を管理すべくサービスを提供させる、複数のコンピュータ実行可能命令を格納し、
前記ヘッドユニットの前記特定は、認証されたユーザおよび前記通信デバイスのうちの１または複数に少なくとも部分的に基づき、
前記通信デバイスは、前記サーバとは離れて別個のものであり、
前記ヘッドユニットは、前記サーバとは離れて別個のものであり、前記通信デバイスとは離れて別個のものである
サーバ。
【請求項７５】
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数の現在のロケーションについての複数のロケーションサービスを提供させる、請求項７４に記載のサーバ。
【請求項７６】
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
認証のためにバーコードデータを用いることについて複数のサービスを提供させる、請求項７４に記載のサーバ。
【請求項７７】
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数に関連付けられた複数のゲストユーザの管理および認証についての複数のサービスを提供させる、請求項７４に記載のサーバ。
【請求項７８】
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
前記複数の自動車の前記１または複数の遠隔のヘッドユニットに関連付けられた複数のユーザに提供される複数のサービスの使用をトラッキングさせる、請求項７４に記載のサーバ。
【請求項７９】
サーバの少なくとも１つのプロセッサに、
自動車のヘッドユニットについての情報を受信する手順と、
前記自動車の前記ヘッドユニットおよびユーザに関連付けられた通信デバイスについての情報を受信する手順であって、前記通信デバイスは、前記サーバとは離れて別個のものである、手順と、
受信した前記情報と、前記ヘッドユニットおよび前記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、前記ヘッドユニットを特定する手順であって、前記ヘッドユニットは、前記サーバとは離れて別個のものであり、前記通信デバイスとは離れて別個のものであり、前記ヘッドユニットの前記特定は、前記情報と、前記ユーザおよび前記通信デバイスのうちの１または複数とに少なくとも部分的に基づく、手順と、
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ複数のサービスを提供する手順と
を実行させるプログラム。
【請求項８０】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数へ前記１または複数のサービスを提供する前記手順は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数を介して、前記ヘッドユニットと、複数のマルチメディアサービスをサポートする能力を有する他の複数の自動車へユーザと共に移動することが出来る前記通信デバイスとのうち前記１または複数に関連付けられた前記ユーザを認証することにより、前記ユーザのための前記複数のマルチメディアサービスを提供する手順を含む、請求項７９に記載のプログラム。
【請求項８１】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、
前記ヘッドユニットと前記通信デバイスとのうち前記１または複数へのユーザ入力を抽象化する手順を含む、請求項７９に記載のプログラム。
【請求項８２】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に関連付けられた複数のエラークラスをトラッキングまたは監視する手順を含む、請求項７９に記載のプログラム。
【請求項８３】
前記ヘッドユニットの前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数に関連付けられた車両識別番号（ＶＩＮ）に基づき、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する手順を含む、請求項７９に記載のプログラム。
【請求項８４】
前記車両識別番号（ＶＩＮ）に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、前記ＶＩＮがいずれかのユーザに関連付けられることを要求しない、請求項８３に記載のプログラム。
【請求項８５】
前記プログラムはさらに、前記サーバの前記少なくとも１つのプロセッサに、前記１または複数のサービスへのアクセスを規制する手順を実行させる、請求項７９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、米国特許法第１１９条（ｅ）の定めにより、２０１１年９月２６日に提出された米国仮特許出願第６１／５３９，４１８号の便益を主張する。同米国仮特許出願は、その全体が参照により本明細書に組み込まれる。発明の名称が「ＳＹＳＴＭＥＳ，ＭＥＴＨＯＤＳ  ＡＮＤ  ＡＲＴＩＣＬＥＳ  ＦＯＲ  ＰＲＯＶＩＤＩＮＧ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＡＮＤ  ＳＥＲＶＩＣＥＳ  ＩＮＶＯＬＶＩＮＧ  ＡＵＴＯＭＯＢＩＬＥ  ＨＥＡＤ  ＵＮＩＴＳ」であり、２０１２年８月３１日に提出された米国仮特許出願第６１／６９６，１２８号。同仮特許出願は、その全体が参照によりここにおいて組み込まれる。
【０００２】
本開示は、通信およびサービスをデバイス（例えば、車両ヘッドユニット）に提供することに関する。
【背景技術】
【０００３】
情報サービスが益々ウェブベースとなるにつれ、通信およびデータ処理デバイスのためのインターネットへの連続的な、または連続的に近いアクセスは、複数のエンドユーザおよびビジネスが、タイムリーかつ有用なやり方でこれらサービスにアクセスすることを可能するためにより重要となる。
【０００４】
このことは特に、任意の車の運転中にシームレスなエンターテイメント経験を体験すること、および、関連性のある現在の情報がどこでもいつでも容易に自身にとって利用可能である状態にあることを運転者が希望する自動車産業において、広く認められている。
【０００５】
したがって、それがなければインターネットなどのより一般的なサーバベースのネットワークへの接続性を有さないかもしれない複数の自動車で用いられる複数のデバイスに接続性およびカスタマイズされた複数のサービスを提供する改善されたアプローチが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００６】
自動車ヘッドユニットへ複数のサービスを電子的に提供する方法は、サーバのコンピュータプロセッサにより、認証されたユーザの遠隔デバイスから要求を受信する段階と、上記サーバの上記コンピュータプロセッサにより、上記要求に関連付けられた遠隔の自動車ヘッドユニットを特定する段階と、上記要求に応じ、上記サーバの上記コンピュータプロセッサにより、上記要求、上記認証されたユーザ、他の認証されたユーザ、および上記遠隔デバイスのうち１または複数に基づき、特定された上記遠隔の自動車ヘッドユニットへ複数のサービスまたは情報を電子的に提供して、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザの特定された複数のユーザ嗜好のうち、または上記他の認証されたユーザの特定された複数のユーザ嗜好のうち対応する複数の嗜好に従って動作させる段階とを備えるものとまとめられ得る。
【０００７】
上記認証されたユーザは、上記遠隔デバイスに関連付けられていてもよく、上記遠隔の自動車ヘッドユニットは、上記他の認証されたユーザに関連付けられていてもよい。上記遠隔デバイスは、上記自動車ヘッドユニット、モバイルデバイス、およびコンピュータのうち１つであり得る。上記遠隔デバイスは自動車ヘッドユニットであり得、上記サーバはモバイルデバイス上で動作していてもよく、上記特定されたユーザの上記対応する複数の嗜好は上記モバイルデバイスに関連付けられていてもよい。
【０００８】
自動車ヘッドユニットへ複数のサービスを電子的に提供する上記方法は、上記サーバの上記コンピュータプロセッサにより、上記認証されたユーザの特定された上記複数のユーザ嗜好を上記モバイルデバイスに格納して、上記モバイルデバイスが、１または複数の他の特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザの上記特定された複数のユーザ嗜好に従って動作させることを可能とする段階をさらに備え得る。
【０００９】
自動車ヘッドユニットへ複数のサービスを電子的に提供する上記方法は、上記サーバの上記コンピュータプロセッサにより、上記複数のサービスまたは情報を他の特定された遠隔の自動車ヘッドユニットへ電子的に提供して、上記他の特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザの上記特定された複数のユーザ嗜好に従って動作させる段階をさらに備え得る。
【００１０】
提供される上記情報は、上記特定された複数のユーザ嗜好を含み得る。上記遠隔デバイスは、上記特定された遠隔の自動車ヘッドユニットから地理的に遠隔で位置付けられたモバイルデバイスであり得る。上記遠隔デバイスはモバイルデバイスであり得、上記遠隔デバイスから上記要求を受信する上記段階は、上記特定された遠隔の自動車ヘッドユニットからの上記要求を受信した上記モバイルデバイスから上記要求を受信する段階を有し得る。上記サーバを介して上記特定された遠隔の自動車ヘッドユニットへ上記複数のサービスまたは情報を電子的に提供する上記段階は、上記ユーザのモバイルデバイスにデータを電子的に提供して、上記モバイルデバイスが、上記特定された遠隔の自動車ヘッドユニットへ上記複数のサービスまたは情報を提供することを可能とする段階を有し得る。上記特定された遠隔の自動車ヘッドユニットへ上記複数のサービスまたは情報を電子的に提供する上記段階は、上記特定された遠隔の自動車ヘッドユニットの無線遠距離通信受信機を介して、上記特定された遠隔の自動車ヘッドユニットへ上記複数のサービスまたは情報を電子的に提供する段階を有し得る。上記特定された遠隔の自動車ヘッドユニットへ上記特定された遠隔の自動車ヘッドユニットの上記無線遠距離通信受信機を介して上記複数のサービスまたは情報を電子的に提供する段階は、セルラーサービスを用いて上記サーバにより、上記特定された遠隔の自動車ヘッドユニットへ上記複数のサービスまたは情報を提供して、上記特定された遠隔の自動車ヘッドユニットへ上記複数のサービスまたは情報を提供するようデータの通信を行う段階を含み得る。上記特定された遠隔の自動車ヘッドユニットへ上記サーバを介して上記複数のサービスまたは情報を電子的に提供する上記段階は、上記認証されたユーザまたは他の認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従う複数のサービスまたは情報と、上記認証されたユーザが上記車両を遠隔で制御または構成するための複数のサービスまたは情報と、上記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って上記車両の複数の設定を遠隔で、かつ自動的に構成するための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットを介して、上記認証されたユーザの複数のサードパーティサブスクリプションサービスに遠隔で、かつ自動的にアクセスし、およびそれらを提供するための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、音楽関連情報、特定された複数の音楽の嗜好、または特定の音楽の複数の選択を自動的に再生または表示させるための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、スポーツ関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、天気関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、ニュース関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、インターネット検索エンジン関連情報を自動的に再生または表示させるための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザへウェブブラウザ機能性を提供させるための複数のサービスまたは情報と、上記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従って、上記特定された遠隔の自動車ヘッドユニットの複数のユーザインタフェース設定または特定された複数の嗜好を遠隔で構成するための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従ってカスタマイズされたユーザインタフェースを自動的に表示させるための複数のサービスまたは情報と、上記特定された遠隔の自動車ヘッドユニットに、上記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従って、複数のナビゲーションシステム設定を自動的に構成させるための複数のサービスまたは情報と、上記自動車ヘッドユニットがナビゲーションシステムに関連して、興味の対象である複数の地理的ロケーションまたは地点を用いることを可能とする、上記認証されたユーザの上記興味の対象である複数の地理的ロケーションまたは地点に関連する複数のサービスまたは情報と、上記要求に関連付けられた上記遠隔の自動車ヘッドユニットの上記特定に基づく、上記特定された遠隔の自動車ヘッドユニットと上記認証されたユーザの上記遠隔デバイスとの間のペアリングを可能とする複数のサービスまたは情報と、上記遠隔デバイスと上記特定された遠隔の自動車ヘッドユニットとの間の情報の伝達を促す複数のサービスまたは情報とのうち１または複数を提供する段階を有し得る。
【００１１】
製造物品は、非一時的コンピュータプロセッサ可読記憶媒体を備え、上記非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときにコンピュータプロセッサに、遠隔デバイスから要求を受信させ、上記要求に関連付けられた遠隔の自動車ヘッドユニットを特定させ、上記要求に応じ、特定された上記遠隔の自動車ヘッドユニットに、少なくとも、ユーザの複数のユーザ嗜好を上記遠隔デバイスに対して特定することにより上記ユーザの上記複数のユーザ嗜好に従って動作させる複数のコンピュータプロセッサ実行可能命令を格納しているものとまとめられ得る。
【００１２】
上記複数のコンピュータプロセッサ実行可能命令は実行されたときにさらに、上記特定された遠隔の自動車ヘッドユニットに複数のユーザ嗜好に従って動作させる前に、上記コンピュータプロセッサに上記ユーザを認証させ得る。上記遠隔デバイスは、上記自動車ヘッドユニット、モバイルデバイス、およびコンピュータのうち１つであり得る。上記遠隔デバイスは自動車ヘッドユニットであり得、上記ユーザの上記複数のユーザ嗜好は、モバイルデバイスに関連付けられていてもよく、上記ユーザの上記複数のユーザ嗜好を上記遠隔デバイスに対して特定することは、上記モバイルデバイスから上記遠隔デバイスに、上記ユーザの上記複数のユーザ嗜好の通信を行うことを含み得る。上記複数のコンピュータプロセッサ実行可能命令は実行されたときにさらに、上記コンピュータプロセッサに、上記認証されたユーザの上記特定された複数のユーザ嗜好を上記モバイルデバイスに格納することにより、上記モバイルデバイスが、１または複数の他の特定された遠隔の自動車ヘッドユニットに、上記ユーザの上記特定された複数のユーザ嗜好に従って動作させることを可能とさせ得る。上記遠隔デバイスは上記特定された自動車ヘッドユニットであり得、上記ユーザの上記複数のユーザ嗜好を上記遠隔デバイスに対して特定することは、モバイルデバイスから上記特定された自動車ヘッドユニットへ、上記複数のユーザ嗜好の通信を行うことを含み得る。上記遠隔デバイスは上記特定された自動車ヘッドユニットであり得、上記特定された遠隔の自動車ヘッドユニットに複数のユーザ嗜好に従って動作させることは、サーバまたはモバイルデバイスから上記特定された自動車ヘッドユニットへ、バックグラウンド画像の通信を行うことをさらに含み得る。上記遠隔デバイスは、上記特定された遠隔の自動車ヘッドユニットから地理的に遠隔で位置付けられたモバイルデバイスであり得る。上記遠隔デバイスは上記特定された自動車ヘッドユニットであり得、上記ユーザの上記複数のユーザ嗜好を上記遠隔デバイスに対して特定することは、承認されたモバイルデバイスから、またはサーバから上記特定された自動車ヘッドユニットへ、上記複数のユーザ嗜好の通信を行うことを含み得る。
【００１３】
自動車ヘッドユニットのシステムは、コンピュータプロセッサと、上記コンピュータプロセッサに結合された少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体とを備え、上記少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに上記コンピュータプロセッサに、モバイルデバイスから要求を受信させ、上記要求を認証させ、上記要求の認証に応じ、上記モバイルデバイスからの複数のサービスまたは情報を受け付けさせ、受け付けられた上記複数のサービスまたは情報に応じ、上記モバイルデバイスからの上記受け付けられた複数のサービスまたは情報と、上記要求に関連付けられたユーザに関連付けられた複数のサービスまたは情報とのうち１または複数に基づき、上記要求に関連付けられた上記ユーザの特定された複数のユーザ嗜好に従って上記自動車ヘッドユニットを自動的に構成させる複数のプロセッサ実行可能命令を格納しており、上記要求に関連付けられた上記ユーザに関連付けられた上記複数のサービスまたは情報は、遠隔のサーバからのものであるとまとめられ得る。
【００１４】
上記モバイルデバイスからの受け付けられた上記情報は、上記特定された複数のユーザ嗜好を含み得る。上記要求に関連付けられた上記ユーザに関連付けられた上記受け付けられた情報は、上記特定された複数のユーザ嗜好を含み得る。上記モバイルデバイスは、上記自動車ヘッドユニットのシステムから地理的に遠隔で位置付けられていてもよい。上記モバイルデバイスは、上記自動車ヘッドユニットのシステムと上記モバイルデバイスとの間の近距離無線通信の範囲内に位置付けられていてもよい。
【００１５】
製造物品は、非一時的コンピュータプロセッサ可読記憶媒体を備え、上記非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときにコンピュータプロセッサに、ユーザと遠隔の自動車ヘッドユニットとに関連付けられた要求を送信させと、送信された上記要求に応じて、上記ユーザの複数のユーザ嗜好の複数のインディケーションを受信させ、上記遠隔の自動車ヘッドユニットに、ユーザの複数のユーザ嗜好の受信した上記複数のインディケーションに基づき、上記ユーザの上記複数のユーザ嗜好に従って動作させる複数のプロセッサ実行可能命令を格納しているものとまとめられ得る。
【００１６】
上記複数のプロセッサ実行可能命令は実行されたときにさらに、上記ユーザと上記遠隔の自動車ヘッドユニットとに関連付けられた上記要求を送信することの前に、上記コンピュータプロセッサに上記ユーザを認証させ得る。上記ユーザと上記遠隔の自動車ヘッドユニットとに関連付けられた上記要求を送信することは、遠隔のサーバへ、または近距離無線信号を介して無線でモバイルデバイスへ上記要求を送信することを有し得る。
【００１７】
自動車のヘッドユニットとハンドヘルドフォームファクタを有し得る通信デバイスとの間で通信を提供するコンピュータ実施方法は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットと、上記自動車の車両識別子と、上記通信デバイスと、ユーザアカウントと、複数のユーザクレデンシャルとのうち１または複数を伴った承認の認証または検証に基づき、上記ヘッドユニットと上記通信デバイスとを通信可能に結合する通信リンクの確立を促す段階と、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットからの情報を受信する段階と、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納されたユーザ特有の嗜好またはユーザ識別情報とに基づき、サービスを電子的に提供する段階とを備えるものとまとめられ得る。
【００１８】
上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納された上記ユーザ特有の嗜好または上記ユーザ識別情報とに基づき上記サービスを提供する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットと上記通信デバイスとを通信可能に結合する上記通信リンクが依然として確立されている間に、上記サービスが上記ヘッドユニットにより用いられることが承認されるかを示すアクセス制御情報であり、上記ヘッドユニットから受信した上記情報と、上記ユーザ特有の嗜好または上記ユーザ識別情報とに基づく値を有する上記アクセス制御情報を、異なる通信リンクを介して遠隔のサーバから受信する段階と、上記通信デバイスの上記プロセッサにより、上記遠隔のサーバから受信した上記アクセス制御情報に基づき、上記サービスが上記ヘッドユニットにより用いられることが承認されるかを決定する段階と、上記遠隔のサーバから受信した上記アクセス制御情報に基づき、上記サービスが上記ヘッドユニットにより用いられることが承認されると決定された場合に、上記通信デバイスの上記プロセッサにより、上記通信デバイスを介して上記ヘッドユニットへ上記サービスを電子的に提供する段階とを有し得る。上記ヘッドユニットから受信する上記情報は、上記サービスの要求を含み得、上記アクセス制御情報に基づき、特定の上記サービスが上記ヘッドユニットにより用いられることが承認されるかを決定する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットから上記サービスの上記要求を受信することに応じて、上記サービスが、上記ヘッドユニットにより用いられることが承認されるかを決定する段階を含み得る。
【００１９】
自動車のヘッドユニットとハンドヘルドフォームファクタを有し得る通信デバイスとの間で通信を提供する上記コンピュータ実施方法は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットから複数の要求を受信する段階と、上記通信デバイスの上記プロセッサにより、上記遠隔のサーバから受信した上記アクセス制御情報に基づき、上記ヘッドユニットが受信することが承認されていないサービスの少なくとも１つ要求を、上記複数の要求からフィルタ処理により取り除く段階と、上記通信デバイスの上記プロセッサにより、上記フィルタ処理により取り除かれた上記少なくとも１つの要求に関して上記ヘッドユニットに対して拒否する段階とをさらに備え得る。
【００２０】
自動車のヘッドユニットとハンドヘルドフォームファクタを有し得る通信デバイスとの間で通信を提供する上記コンピュータ実施方法は、上記通信デバイスの上記プロセッサにより、上記フィルタ処理により取り除かれた上記少なくとも１つの要求に対する応答メッセージであり、上記ヘッドユニットからの出力としてユーザにより見られる、または聞かれる、上記ヘッドユニットが何故、上記フィルタ処理により取り除かれた上記少なくとも１つの要求により要求されるサービスを受信することが承認されないのかの理由を示すよう構成された上記応答メッセージを送信する段階をさらに備え得る。
【００２１】
自動車のヘッドユニットとハンドヘルドフォームファクタを有し得る通信デバイスとの間で通信を提供する上記コンピュータ実施方法は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットが何故、上記フィルタ処理により取り除かれた上記少なくとも１つの要求により要求される上記サービスを受信することが承認されないかの上記理由を、上記フィルタ処理により取り除かれた上記少なくとも１つの要求により要求される上記サービスが、上記通信デバイスに格納された上記ユーザ識別情報に関連付けられたアカウントのサービスレベルに含まれないからであると決定する段階をさらに備え得る。
【００２２】
上記通信デバイスは無線モバイルデバイスであり得、上記通信リンクは無線リンクであり得、上記ヘッドユニットから上記情報を受信する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットから上記情報を無線受信する段階を有し得る。上記ヘッドユニットから受信する上記情報は、特定のユニフォームリソースロケータ（ＵＲＬ）により示されるインターネット上で利用可能な情報の要求を含み得、上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納された上記ユーザ特有の嗜好または上記ユーザ識別情報とに基づき上記サービスを提供する上記段階は、上記通信デバイスの上記プロセッサにより、上記ＵＲＬへのアクセスが上記ヘッドユニットにより承認されるかを決定する段階と、上記ヘッドユニットに関して、上記ＵＲＬへの上記アクセスが承認されると決定された場合に、上記通信デバイスの上記プロセッサにより、上記通信デバイスを介して上記ヘッドユニットへ上記サービスを電子的に提供する段階とを有し得、上記サービスは、上記インターネット上で利用可能な情報のために、上記ユニフォームリソースロケータ（ＵＲＬ）の上記ヘッドユニットへのアクセスを提供することを含み得る。上記ヘッドユニットから受信する上記情報は、特定のデータタイプの要求を含み得、上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納された上記ユーザ特有の嗜好または上記ユーザ識別情報とに基づき上記サービスを提供する上記段階は、上記通信デバイスの上記プロセッサにより、上記特定のデータタイプへのアクセスが上記ヘッドユニットにより承認されるかを決定する段階と、上記ヘッドユニットに関して、上記特定のデータタイプへの上記アクセスが承認されると決定された場合に、上記通信デバイスの上記プロセッサにより、上記通信デバイスを介して上記ヘッドユニットへ上記サービスを電子的に提供する段階とを有し得、上記サービスは、上記特定のデータタイプへのアクセスを提供することを含み得る。上記特定のデータタイプへのアクセスが上記ヘッドユニットにより承認されるかを決定する上記段階は、上記通信デバイスの上記プロセッサにより、遠隔のサーバから情報を受信する段階を含み得、少なくとも部分的に上記遠隔のサーバからの上記情報に基づき、上記特定のデータタイプへのアクセスが承認されるかが決定され得、上記遠隔のサーバからの上記情報は、上記ユーザアカウントまたは上記ユーザ識別情報に関連付けられたアカウントのサブスクリプションレベルと、上記ヘッドユニットの複数の特性と、上記通信デバイスの複数の特性とのうち１または複数に基づき変化する。上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納された上記ユーザ特有の嗜好または上記ユーザ識別情報とに基づき上記サービスを提供する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットと上記通信デバイスとを通信可能に結合する上記通信リンクが依然として確立されている間に、上記ヘッドユニットから受信した上記情報に含まれる複数のサービスの特定の複数の要求が、提供されることが出来ない複数のサービスのためのものであることに応じて、上記ヘッドユニットへ複数のカスタマイズされたエラーメッセージを提供する段階を有し得、上記複数のカスタマイズされたエラーメッセージは、上記ヘッドユニットの能力、機能性、または互換性の欠如と、上記複数のユーザクレデンシャルにより特定される上記ユーザアカウントの不十分なステータスまたはサブスクリプションレベルと、上記通信デバイスの能力、機能性、または互換性の欠如と、上記ユーザ特有の嗜好情報に含まれる複数の設定と、メディアデバイスが上記ヘッドユニットにより用いられていることとのうち１または複数を含み得る上記複数のカスタマイズされたエラーメッセージの１または複数の理由を示し得る。上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納された上記ユーザ特有の嗜好または上記ユーザ識別情報とに基づき上記サービスを提供する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットから受信する上記情報に含まれる上記サービスの少なくとも１つ要求に応じて、上記サービスを提供することにおいて、圧縮フォーマットのデータを上記遠隔のサーバへ送信し、または上記遠隔のサーバから受信する段階を有し得る。
【００２３】
自動車のヘッドユニットとハンドヘルドフォームファクタを有し得る通信デバイスとの間で通信を提供する上記コンピュータ実施方法は、上記通信デバイスの上記プロセッサにより、１または複数の追加的なヘッドユニットから情報を受信する段階をさらに備え得、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットから受信した上記情報と、上記通信デバイスに格納されたユーザ特有の嗜好またはユーザ識別情報とに基づき上記サービスを電子的に提供する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットのロケーションと、上記１または複数の追加的なヘッドユニットの１または複数のロケーションとのうち１または複数について、上記ヘッドユニットから受信した上記情報と、上記１または複数の追加的なヘッドユニットから受信した上記情報とに基づきサービスを電子的に提供し、情報を選択的に上記ヘッドユニットへ送信し、情報を選択的に上記１または複数の追加的なヘッドユニットへ送信する段階を有し得、上記通信デバイスと上記１または複数の追加的なヘッドユニットとの間の複数の通信リンク、および、上記ヘッドユニットと上記通信デバイスとを通信可能に結合する上記通信リンクは、セキュアな複数の通信チャネルであり得る。
【００２４】
自動車のヘッドユニットに、複数の遠隔デバイスからの複数のサービスおよび情報へのアクセスを提供するコンピュータ実施方法は、無線モバイルデバイスのプロセッサにより、上記ヘッドユニットから複数のサービス要求を受信する段階を備え、上記無線モバイルデバイスと上記ヘッドユニットとは近距離無線通信リンクで通信を行っており、上記方法はさらに、上記無線モバイルデバイスの上記プロセッサにより、受信した上記複数のサービス要求のうちそれぞれの受信したサービス要求を評価して、上記受信した複数のサービス要求のうちそれぞれの受信したサービス要求に関して、上記受信したサービス要求により要求されている特定のサービスに従って、上記サービス要求に関連付けられたユーザアカウントと、上記ヘッドユニットと、上記自動車の車両識別子と、上記無線モバイルデバイスと、ユーザアカウントと、複数のユーザクレデンシャルと、ユーザ特有の嗜好またはユーザ識別情報とのうち１または複数に基づき、上記受信したサービス要求をどのように処理するかを決定する段階と、上記無線モバイルデバイスの上記プロセッサにより、上記受信した複数のサービス要求を上記評価に従って処理する段階とを備えるものとまとめられ得る。
【００２５】
上記受信した複数のサービス要求を上記評価に従って処理する上記段階は、上記モバイルデバイスの上記プロセッサにより、上記受信した複数のサービス要求の要求、および、上記ユーザ特有の嗜好または上記ユーザ識別情報のうちいくつかを遠隔のサーバへ送信する段階と、上記モバイルデバイスの上記プロセッサにより、上記ユーザ特有の嗜好または上記ユーザ識別情報に従ってカスタマイズされた応答を上記遠隔のサーバから受信する段階と、上記応答を上記ヘッドユニットへ送信する段階とを有し得る。上記受信した複数のサービス要求を上記評価に従って処理する上記段階は、上記通信デバイスの上記プロセッサにより、上記ヘッドユニットに上記複数のクレデンシャルを保存することを避けるべく、上記ヘッドユニットから受信した上記複数のサービス要求のうち少なくとも１つへ上記複数のユーザクレデンシャルを挿入する段階と、上記モバイルデバイスの上記プロセッサにより、上記複数のユーザクレデンシャルが挿入された上記要求を、特定の情報のために上記複数のユーザクレデンシャルを要求する遠隔のサーバへ送信する段階と、上記特定の情報を含む応答を上記遠隔のサーバから受信する段階と、上記特定の情報を含む上記応答を上記ヘッドユニットへ送信する段階とを有し得る。
【００２６】
自動車のヘッドユニットに、複数の遠隔デバイスからの複数のサービスおよび情報へのアクセスを提供する上記コンピュータ実施方法は、上記モバイルデバイスの上記プロセッサにより、上記ヘッドユニットからいくつのサービス要求が受信されたかについて統計情報を格納する段階をさらに備え得る。
【００２７】
自動車のヘッドユニットに、複数の遠隔デバイスからの複数のサービスおよび情報へのアクセスを提供するコンピュータ実施方法は、上記モバイルデバイスの上記プロセッサにより、顧客行動についてのデータと、複数のサービスアタックの拒否についてのデータと、サービスの誤用および顧客サービスの改善についてのデータとのうち１または複数を提供すべく、上記統計情報を格納する段階をさらに備え得る。
【００２８】
上記ヘッドユニットから上記複数のサービス要求を受信する上記段階は、遠隔のサーバへの複数の同時接続の複数のサービス要求を受信する段階を有し得、上記受信した複数のサービス要求を処理する上記段階は、上記遠隔のサーバへの上記複数の同時接続を確立する段階を有し得る。
【００２９】
無線モバイル通信デバイスは、コンピュータプロセッサと、上記コンピュータプロセッサに結合された少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体とを備え、上記少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに上記コンピュータプロセッサに、上記無線モバイル通信デバイスの複数のファイルにアクセスするよう、複数のネットワークファイルシステムプロトコルを用いて自動車のヘッドユニットから要求を受信させ、上記自動車の上記ヘッドユニットからの上記要求を評価して、受信した上記要求により要求されている特定のサービスに従って、上記要求に関連付けられたユーザアカウント、上記ヘッドユニット、上記自動車の車両識別子、ユーザアカウント、複数のユーザクレデンシャル、およびユーザ特有の嗜好またはユーザ識別情報のうち１または複数に基づき、上記受信したサービス要求をどのように処理するかを決定させ、上記評価に従って上記要求に応答を送信させ、上記ファイルシステムへの要求された上記アクセスを提供させる複数のプロセッサ実行可能命令を格納しているものとまとめられ得る。
【００３０】
格納された上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサに、上記ヘッドユニットから複数のサービス要求を受信させ、上記受信した複数のサービス要求のうち多くをリダイレクトさせ得る。格納された上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサに、様々な他の自動車ヘッドユニットからの複数の通信要求を受信させ、上記無線モバイル通信デバイスを介して、上記様々な他の自動車ヘッドユニットのうちそれぞれに、複数の遠隔デバイスへの通信チャネルを提供させ得る。
【００３１】
上記無線モバイル通信デバイスは、複数のユーザおよび上記複数のユーザの複数の自動車の複数のヘッドユニットに関するデータをキャッシュし格納するよう構成され、上記プロセッサに結合された非一時的記憶デバイスをさらに備え得る。
【００３２】
製造物品は、非一時的コンピュータプロセッサ可読記憶媒体を備え、上記非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに無線モバイルデバイスのコンピュータプロセッサに、上記無線モバイルデバイスと近距離無線通信リンクで通信を行っている自動車のヘッドユニットから、ストリーミングメディアの複数のサービス要求を受信させ、受信した上記複数のサービス要求のうちそれぞれの受信したサービス要求を評価して、上記受信した複数のサービス要求のうちそれぞれの受信したサービス要求に関して、上記ヘッドユニットの上記ストリーミングメディアをデコードし再生する能力および機能性に基づき、上記受信したサービス要求をどのように処理するかを決定させ、上記評価に基づき、上記ヘッドユニットの上記ストリーミングメディアを再生する能力および機能性が特定のレベル未満である場合に、上記プロセッサを用いて、要求された上記ストリーミングメディアをストリーミングしデコードするオプションを選択させ、上記ヘッドユニットの上記ストリーミングメディアを再生する上記能力および上記機能性が上記特定のレベル以上である場合に、上記ヘッドユニットがデコードおよび再生を行うよう上記要求されたストリーミングメディアをストリーミングするオプションを選択させ、上記評価に基づき、上記ヘッドユニットの上記ストリーミングメディアを再生する上記能力および上記機能性が決定されたレベル未満である場合に、上記要求されたストリーミングメディアをストリーミングすることにより上記要求されたストリーミングメディアをストリーミングおよびデコードするオプションを選択させる複数のコンピュータプロセッサ実行可能命令を格納しているものとまとめられ得る。
【００３３】
上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、ソケットネットワークトラヒックをルーティングすべくトランスミッションコントロールプロトコル（ＴＣＰ）上で上記ヘッドユニットから要求を受信させ、上記受信したサービス要求により要求されている上記特定のサービスに応じて、および、上記サービス要求に関連付けられたユーザアカウントと、上記ヘッドユニットと、上記自動車の車両識別子と、上記無線モバイルデバイスと、ユーザアカウントと、複数のユーザクレデンシャルと、ユーザ特有の嗜好またはユーザ識別情報とのうち１または複数に基づき上記ソケットネットワークトラヒックを認証およびルーティングさせ、上記無線モバイルデバイスの上記プロセッサにより、上記受信した複数のサービス要求を上記評価に従って処理させ得る。
【００３４】
上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、上記無線モバイルデバイスと上記ヘッドユニットとが上記近距離無線通信リンク上で通信を行っていることが検出されたことに応じ、運転の間に用いることが安全でないと以前に選択されたことがある上記モバイル無線デバイスの選択された特定の複数のアプリケーションの使用を無効化させ得る。上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、上記無線モバイルデバイスと上記ヘッドユニットとが互換性を有していることが検出されたことに応じて、上記モバイル無線デバイスの更新を強いさせ得る。上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、上記無線モバイルデバイス上で共に動作を行い上記ヘッドユニットへ複数のサービスを提供することにおいて、上記無線モバイルデバイス上の１つの中心的なアプリケーションに他の複数のアプリケーションへの通信を行わせ得る。上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、上記無線モバイルデバイスのユーザに関して帯域幅の使用の監視を促させ得る。上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、上記無線モバイルデバイス上で実行されているアプリケーションの正確性の複数の要求と、上記モバイル無線デバイスのロケーション取得の間の上記無線モバイルデバイスの環境とに基づき、上記無線モバイルデバイスによりどのロケーションモードが用いられるべきかを決定させ得る。上記複数のプロセッサ実行可能命令は実行されたときに、上記コンピュータプロセッサにさらに、上記無線モバイルデバイスの特定のタイプと、上記無線モバイルデバイスのテストおよび自動化に関する特定のテスト実行とに基づき、特定のテストサーバに向けられるよう上記モバイル無線デバイス上のソフトウェアの構成を自動的に変更させ得る。テストのために上記モバイル無線デバイス上の上記ソフトウェア構成を自動的に変更することは、上記ソフトウェアのコードベースを再構築する必要なく起こり得る。
【００３５】
複数の自動車の１または複数の遠隔のヘッドユニットと、上記１または複数のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとにサーバにより複数のサービスを提供するコンピュータ実施方法は、上記サーバの少なくとも１つのプロセッサにより、自動車のヘッドユニットについての情報を受信する段階と、上記サーバの上記少なくとも１つのプロセッサにより、上記自動車の上記ヘッドユニットに関連付けられた通信デバイスについての情報を受信する段階と、上記サーバの上記少なくとも１つのプロセッサにより、受信した上記情報と、上記ヘッドユニットおよび上記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、上記ヘッドユニットと上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数を特定する段階と、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記ヘッドユニットに関連付けられた上記通信デバイスとのうち上記１または複数の上記特定に基づき、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち１または複数へ１または複数のサービスを提供する段階とを備えるものとまとめられ得る。
【００３６】
上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち上記１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数を介して、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと、複数のマルチメディアサービスをサポートする能力を有する他の複数の自動車へユーザと共に移動することが出来る上記通信デバイスとのうち上記１または複数に関連付けられた上記ユーザを認証することにより、上記ユーザのための上記複数のマルチメディアサービスを提供する段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数へのユーザ入力を抽象化する段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数に関連付けられた複数のエラークラスをトラッキングまたは監視する段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち１または複数に関連付けられた車両識別番号（ＶＩＮ）に基づき、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する段階を有し得る。上記車両識別番号（ＶＩＮ）に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記ＶＩＮがいずれかのユーザに関連付けられることを要求しないかもしれない。
【００３７】
複数の自動車の１または複数の遠隔のヘッドユニットと、上記１または複数のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとにサーバにより複数のサービスを提供する方法はさらに、上記サーバの上記少なくとも１つのプロセッサにより、上記サーバの乱用を検出および緩和すべく複数のサービスを提供する段階を備え得る。
【００３８】
複数の自動車の１または複数の遠隔のヘッドユニットと、上記１または複数のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとにサーバにより複数のサービスを提供する方法はさらに、上記サーバの上記少なくとも１つのプロセッサにより、相互操作可能である複数のデバイスについての情報のレポジトリを提供する段階を備え得る。
【００３９】
複数の自動車の１または複数の遠隔のヘッドユニットと、上記１または複数のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとにサーバにより複数のサービスを提供する方法はさらに、上記サーバの上記少なくとも１つのプロセッサにより、デバイス互換性マトリックスの構築を促す複数の動的特徴を有し得るバーチャルデバイスを提供する段階を備え得る。
【００４０】
上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットへ複数のソフトウェア更新を提供する段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数とコンテンツとの互換性を維持すべく、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数に提供される上記コンテンツを操作する段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数の１または複数のサポートされたフォーマットに基づき、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数に提供されるコンテンツを１または複数のフォーマットに変換する段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数のロケーション、方向、および速度のうち１または複数に基づき、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数を検索する段階と、上記サーバの上記少なくとも１つのプロセッサにより、上記検索に基づきロケーション情報を提供する段階とを有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数に関連付けられたユーザアイデンティティへ複数のサードパーティクレデンシャルをリンクする段階を有し得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供する上記段階は、サードパーティサービスプロバイダにより提供されるサービスの要求を上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数から受信する段階と、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数、または、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数に関連付けられたユーザへ上記サードパーティサービスプロバイダの複数のクレデンシャルを供給することなく、上記サードパーティから上記サービスを取得し、要求された上記サービスの提供を促し、上記要求に応答する段階とを有し得る。
【００４１】
複数の自動車の１または複数の遠隔のヘッドユニットと、上記１または複数のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとに複数のサービスを提供するサーバは、少なくとも１つのプロセッサと、上記少なくとも１つのプロセッサに結合された非一時的コンピュータ可読媒体とを備え、上記非一時的コンピュータ可読媒体は、実行されたときに上記少なくとも１つのプロセッサに、自動車のヘッドユニットについての情報を受信させ、上記自動車の上記ヘッドユニットに関連付けられた通信デバイスについての情報を受信させ、受信した上記情報と、上記ヘッドユニットおよび上記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、上記ヘッドユニットと上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数を特定させ、上記複数のヘッドユニットに関連付けられた上記複数の自動車の所有権情報を管理すべく複数のサービスを提供させる複数のコンピュータ実行可能命令を格納しているものとまとめられ得る。
【００４２】
上記複数のコンピュータ実行可能命令は実行されたときに、上記少なくとも１つのプロセッサにさらに、上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち上記１または複数の現在のロケーションについての複数のロケーションサービスを提供させ得る。上記複数のコンピュータ実行可能命令は実行されたときに、上記少なくとも１つのプロセッサにさらに、認証のためにバーコードデータを用いることについて複数のサービスを提供させ得る。上記複数のコンピュータ実行可能命令は実行されたときに、上記少なくとも１つのプロセッサにさらに、上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち上記１または複数に関連付けられた複数のゲストユーザの管理および認証についての複数のサービスを提供させ得る。上記複数のコンピュータ実行可能命令は実行されたときに、上記少なくとも１つのプロセッサにさらに、上記複数の自動車の上記１または複数の遠隔のヘッドユニットに関連付けられた複数のユーザに提供される複数のサービスの使用をトラッキングさせ得る。
【００４３】
自動車ヘッドユニットは、非一時的コンピュータ可読媒体と、上記非一時的コンピュータ可読媒体に結合されたプロセッサとを備え、上記プロセッサは複数のコンピュータ実行可能命令を有し、上記複数のコンピュータ実行可能命令は実行されたときに、上記プロセッサに、上記ヘッドユニット上に存在する上記ヘッドユニットのためのテスト自動化フレームワークを提供させるものとまとめられ得る。
【００４４】
上記複数のコンピュータ実行可能命令は実行されたときに、上記プロセッサにさらに、上記ヘッドユニットのユーザインタフェースを制御するための複数の命令を遠隔のシステムから受信させ、上記ヘッドユニットの上記ユーザインタフェースを制御するための上記複数の命令を実行させ得る。上記複数のコンピュータ実行可能命令は実行されたときに、上記プロセッサにさらに、上記ヘッドユニットの上記ユーザインタフェースを制御するための上記複数の命令の上記実行の複数の結果についての情報を上記遠隔のシステムへ送信させ得る。
【００４５】
非一時的コンピュータ可読記憶媒体は、コンピュータ実行可能命令を有しており、上記コンピュータ実行可能命令は実行されたときに、サーバの少なくとも１つのプロセッサに、自動車のヘッドユニットについての情報を受信させ、上記自動車の上記ヘッドユニットに関連付けられた通信デバイスについての情報を受信させ、受信した上記情報と、上記ヘッドユニットおよび上記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、上記ヘッドユニットと上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数を特定させ、上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち上記１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ複数のサービスを提供させるものとまとめられ得る。
【００４６】
上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供することは、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数を介して、上記ヘッドユニットと、複数のマルチメディアサービスをサポートする能力を有する他の複数の自動車へユーザと共に移動することが出来る上記通信デバイスとのうち上記１または複数に関連付けられた上記ユーザを認証することにより、上記ユーザのための上記複数のマルチメディアサービスを提供することを含み得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供することは、上記ヘッドユニットと上記通信デバイスとのうち上記１または複数へのユーザ入力を抽象化することを含み得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供することは、上記サーバの上記少なくとも１つのプロセッサにより、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数に関連付けられた複数のエラークラスをトラッキングまたは監視することを含み得る。上記ヘッドユニットと、上記ヘッドユニットに関連付けられた上記通信デバイスとのうち１または複数の上記特定に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供することは、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち１または複数に関連付けられた車両識別番号（ＶＩＮ）に基づき、上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供することを含み得る。上記車両識別番号（ＶＩＮ）に基づき上記ヘッドユニットと上記関連付けられた通信デバイスとのうち上記１または複数へ上記１または複数のサービスを提供することは、上記ＶＩＮがいずれかのユーザに関連付けられることを要求しない。上記方法はさらに、上記サーバの上記少なくとも１つのプロセッサにより、上記サーバの乱用を検出および緩和すべく複数のサービスを提供する段階を備え得る。
【００４７】
図面において、同一の参照番号は、同様の要素または動作を特定する。図面中の要素のサイズおよび相対的な位置は、必ずしも縮尺通りに描かれていない。例えば、様々な要素の形状および角度は縮尺通りに描かれておらず、これらの要素のうちいくつかは、図面の読み取りやすさを高めるために任意で拡大され、位置付けされている。さらに描かれている要素の特定の形状は、特定の要素の実際の形状について何らかの情報を伝達することが意図されておらず、単に、図面の理解の容易さのために選択されている。
【図面の簡単な説明】
【００４８】
【図１】例示的な一実施形態に係るネットワーク環境のシステム図であり、ネットワーク環境は、自動車ヘッドユニットと、ハンドヘルド通信デバイスと、セルラータワーおよび局と、コンピュータネットワークとを含んでおり、自動車ヘッドユニットとハンドヘルド通信デバイスとは、近距離無線信号により通信可能にリンクされており、ハンドヘルド通信デバイスとセルラータワーおよび局とはセルラー信号により通信可能にリンクされており、ハンドヘルド通信デバイスとコンピュータネットワークとはオプションで１または複数の通信ネットワークにより（例えば、Ｗｉ−Ｆｉ（登録商標）信号を用いて）リンクされており、セルラータワーおよび局とコンピュータネットワークとは、１または複数の通信ネットワークにより（例えば、セルラーまたは他の信号を用いて）通信可能にリンクされている。
【００４９】
【図２Ａ】例示的な一実施形態に係るハンドヘルド通信デバイスをより詳細に示す概略図であり、ハンドヘルド通信デバイスは、筐体と、ディスプレイと、グラフィクスエンジンと、中央処理装置（ＣＰＵ）と、ユーザ入力デバイスと、ＣＰＵによって実行可能な様々なソフトウェアモジュールを有する１または複数の記憶媒体と、入出力（Ｉ／Ｏ）ポートと、ネットワークインタフェースと、無線受信機および送信機と、電源とを有している。
【００５０】
【図２Ｂ】例示的な一実施形態に係る、自動車ヘッドユニットをより詳細に示す概略図である。
【００５１】
【図３Ａ】ハンドヘルド通信デバイスの複数のソフトウェアモジュールをより詳細に示す、例示的な一実施形態に係る概略図であり、ハンドヘルド通信デバイスは、アプリケーションと、ピア通信フレームワークコンポーネントと、複数の自動車ヘッドユニットのネットワークスタックとインターコネクトされたハンドヘルド通信デバイスのネットワークスタックと、他のコンピュータネットワークとインターコネクトされたハンドヘルド通信デバイスの他のネットワークスタックとを含んでいる。
【００５２】
【図３Ｂ】例示的な一実施形態に係る、ヘッドユニットの複数のソフトウェアモジュールを示す、例示的な一実施形態に係る概略図である。
【００５３】
【図４Ａ】ピア通信フレームワークコンポーネント、およびハンドヘルド通信デバイスの複数のネットワークスタックを例示的な一実施形態に従ってより詳細に示す概略図であり、お互いへの、およびハンドヘルド通信デバイスのファイルシステムへのそれらの論理接続と、複数のヘッドユニットへの接続とを含んでいる。
【００５４】
【図４Ｂ】ハンドヘルド通信デバイスの複数のソフトウェアモジュールを示す、他の例示的な実施形態に係る概略図である。
【００５５】
【図５】例示的な一実施形態に係る、それらを介してインターネットアクセスが提供される、自動車ヘッドユニットと、ハンドヘルド通信デバイスと、サーバベースコンピュータネットワークとの間の通信を提供する方法を示すフロー図である。
【００５６】
【図６】例示的な一実施形態に係る、複数のフィルタ処理サービス要求を含む、自動車ヘッドユニットと、ハンドヘルドフォームファクタを有する通信デバイスと、サーバベースコンピュータネットワークとの間の通信を提供する方法を示すフロー図である。
【００５７】
【図７】例示的な一実施形態に係る、インテリジェントキャッシュを含む自動車ヘッドユニットと、ハンドヘルドフォームファクタを有する通信デバイスと、サーバベースコンピュータネットワークとの間の通信を提供する方法を示すフロー図である。
【００５８】
【図８】例示的な一実施形態に係る、第１ネットワークピアにより、複数の通信のうち１または複数に含まれるサービス要求に応答することを含む、ダイレクトシリアルデータトランスポートリンク上で第１ネットワークピアと第２ネットワークピアとの間の通信ネットワーク環境において通信を行うための方法を示すフロー図である。
【００５９】
【図９】例示的な一実施形態に係る、特定の複数のネットワークサービスの複数の要求を有する、受信された通信を扱うことを含む、ダイレクトシリアルデータトランスポート上の第１ネットワークピアと第２ネットワークピアとの間の通信ネットワーク環境において通信を行うための方法を示すフロー図である。
【００６０】
【図１０】複数の自動車ヘッドユニットを伴った複数のサービスおよび複数の通信を提供するためのシステムの様々なロジックコンポーネントの、例示的な一実施形態に係るシステムアーキテクチャ図である。
【００６１】
【図１１】例示的な一実施形態に係る、サーバを介して、特定された遠隔の車両ヘッドユニットへ複数のサービスおよび／または情報を提供する方法を示すシステムフロー図である。
【００６２】
【図１２】例示的な一実施形態に係る、受信した情報に基づき車両ヘッドユニットを自動的に構成する方法を示すシステムフロー図である。
【００６３】
【図１３】例示的な一実施形態に係る、特定された複数のユーザ嗜好に従って車両ヘッドユニットを自動的に構成すること基づき車両ヘッドユニットを自動的に構成する方法を示すシステムフロー図である。
【００６４】
【図１４】例示的な一実施形態に係る、車両ヘッドユニットにユーザの複数のユーザ嗜好に従って自動的に動作させる方法を示すシステムフロー図である。
【発明を実施するための形態】
【００６５】
以下の説明において、様々な開示される実施形態の理解が深められるよう、特定の具体的な複数の詳細が明記される。しかし、当業者は、複数の実施形態がこれら具体的な詳細のうち１または複数を用いずとも、または他の複数の方法、複数の構成要素、複数の材料、その他を用いて実施され得ることを認識されよう。他の複数の例において、複数の実施形態の説明を不必要に曖昧にすることを避けるべく、コンピュータシステム、データベース、通信デバイス、および通信ネットワークに関する周知の複数の構造が詳細には示されず、説明されていない。
【００６６】
文脈上、逆のことが求められない限り、以下に続く明細書および請求項を通じて、「備える」、および「備え」、「備えている」などその活用形は、制限のない、包括的な意味で、つまり、「これらに限定されないが、これらを含む」と解釈されるべきである。
【００６７】
本明細書を通じて「一実施形態」または「実施形態」について言及した場合、このことが意味するのは、その実施形態との関連で説明された特定の特徴、構造、または特性が少なくとも１つ実施形態に含まれるということである。したがって、本明細書の様々な箇所において「一実施形態において」または「実施形態において」といったフレーズが現れた場合、それら全てが必ずしも同じ実施形態を指しているとは限らない。さらに、特定の特徴、構造、または特性は、１または複数の実施形態において何らかの適したやり方で組み合わせられ得る。
【００６８】
本明細書および添付の請求項において用いられるように、内容が明らかに逆のことを示していない限り単数形は複数のものについて言及していることを含む。また、内容が明らかに逆のことを示していない限り、「または」という用語は一般的に広い意味で用いられており、「および／または」を意味する。
【００６９】
本明細書において提供される複数の項目および要約書は、単に便宜上のためであり、複数の実施形態の範囲または意味を解釈するものではない。
【００７０】
図１は、例示的な一実施形態に係るネットワーク環境１００を示す。ネットワーク環境は、自動車ヘッドユニット１０２と、ハンドヘルドフォームファクタを有する通信デバイス（すなわち、ハンドヘルド通信デバイス）１０４と、セルラータワーおよび局１０６と、コンピュータネットワーク１０８とを含み得る。自動車ヘッドユニット１０２は、情報を処理するよう、若しくは運転者、搭乗者、またはその自動車の他の構成要素への通信を行うよう、若しくは、情報を処理する、またはその運転者、搭乗者、または自動車の他の構成要素への通信を行う他の複数の構成要素を制御するよう構成された、自動車または車両の何らかの構成要素であり得る。例えば、自動車ヘッドユニット１０２は、自動車ヘッドユニット１０２の１または複数の内蔵型処理、メモリ、および通信ユニットまたはモジュールの組み合わせにより実装されるコンピュータ処理、通信、およびデータ記憶能力を有し得る多くの自動車ヘッドユニットは、典型的には自動車のダッシュボード内のステレオ、ナビゲーション、および／または他のエンターテイメントまたは運転者情報システムの一部であるか、またはそれらを制御する。
【００７１】
ハンドヘルド通信デバイス１０４は、ハンドヘルドフォームファクタを有する多様なモバイル通信および／または処理デバイスのうちいずれかの形態であり得る。そのようなものの複数の例には、セルラーフォン、パーソナルデジタルアシスタントまたはＰＤＡ（例えば、Ｂｌａｃｋｂｅｒｒｙ（登録商標）デバイス、ｉＰｈｏｎｅ（登録商標）デバイス、Ｐａｌｍ  Ｐｒｅ（登録商標）デバイス、Ａｎｄｒｏｉｄ（登録商標）デバイス）、移動体通信が有効化されたラップトップコンピュータ、ネットブックコンピュータ、およびタブレットデバイス（例えば、ＩＰＡＤ（登録商標）デバイス）が含まれ得る。
【００７２】
自動車ヘッドユニット１０２および自動車ヘッドユニット１２０は、それぞれ近距離無線信号１００および１１８により、ハンドヘルド通信デバイス１０４へ通信可能にリンクされ得る。なお、自動車ヘッドユニット１０２および自動車ヘッドユニット１２０は、異なるロケーションおよび異なる車両にあり得、必ずしも、同時にハンドヘルドデバイス１０４へリンクされていない。この近距離無線信号は、無線Ｂｌｕｅｔｏｏｔｈ（登録商標）リンクのものであり得る。しかし、シリアルまたはパラレルデータトランスポートをサポートする他の無線または有線接続も用いられ得る。自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間のリンクは、ハンドヘルド通信デバイス１０４が自動車ヘッドユニット１０２の近傍に来たときに、近距離無線リンクの適用可能なタイプの様々なプロトコルおよび／または規格に従って自動的に確立され得る。近距離無線信号１１０による接続性は、特定の近距離無線能力を提供する適用可能なハードウェアおよびソフトウェアを有する自動車ヘッドユニット１０２および／またはハンドヘルド通信デバイス１０４により可能とされ得る。例えば、自動車ヘッドユニット１０２およびハンドヘルド通信デバイス１０４は両方とも、無線送信機および受信機を有し得、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線リンクを用いる場合、近距離無線信号１１０による自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間の無線リンクを開始させる、制御する、維持する、および管理する、対応する実行可能なＢｌｕｅｔｏｏｔｈ（登録商標）互換性のネットワーク通信ソフトウェアを有し得る。
【００７３】
ハンドヘルド通信デバイス１０４とセルラータワーおよび局１０６とは、モバイル遠距離通信をサポートする無線セルラー信号１１２により通信可能にリンクされ得る。例えば、モバイル遠距離通信は、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎによる複数の仕様を満たすモバイル遠距離通信のための規格ファミリーである第３世代（３Ｇ）としてより知られているＩｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ−２０００（ＩＭＴ−２０００）に従うものを含む、様々なデジタルモバイル遠距離通信であり得る。ハンドヘルド通信デバイス１０４とコンピュータネットワーク１０８とはオプションで、１または複数の通信リンクまたはネットワークによりリンクされ得る。例えば、通信ネットワークは、数百フィートの距離に亘ってデータを送受信するのに複数のワイヤレスフィデリティ（Ｗｉ−Ｆｉ（登録商標））高周波数無線信号１１４を用いるローカルエリアネットワークであり得る。ローカルエリアネットワークは、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ（ＩＥＥＥ）８０２．１１規格に基づく無線ローカルエリアネットワーク（ＷＬＡＮ）であり得る。しかし、他の複数の有線および無線通信ネットワークおよびプロトコルが、ハンドヘルド通信デバイス１０４をコンピュータネットワーク１０８へリンクするのに用いられ得る。したがって、ハンドヘルド通信デバイス１０４は、複数の適用可能な無線送信機および受信機を有し得、Ｗｉ−Ｆｉ（登録商標）無線リンクを用いる場合、Ｗｉ−Ｆｉ（登録商標）信号１１４によるコンピュータネットワーク１０８とハンドヘルド通信デバイス１０４との間の無線リンクを開始させる、制御する、維持する、および管理する、対応する実行可能なＷｉ−Ｆｉ（登録商標）互換性のネットワーク通信ソフトウェアを有し得る。自動車ヘッドユニット１０２および自動車ヘッドユニット１２０とセルラータワーおよび局１０６とはそれぞれ、モバイル遠距離通信をサポートする無線セルラー信号１１６および１２２によっても通信可能にリンクされ得る。しかし、他の複数の実施形態において、本明細書で説明されるように、自動車ヘッドユニット１０２および自動車ヘッドユニット１２０は、そのようなサーバベースのネットワークへのそのような接続を有さなくともよい。
【００７４】
コンピュータネットワーク１０８は、ハンドヘルド通信デバイス１０４（すなわち、サーバベースのネットワーク）へ複数のサービスを提供する他の複数のコンピューティングエンティティを備え得、それ自身が複数のインターコネクトされた複数のネットワークを表し得る。例えば、有線および無線の企業規模のコンピュータネットワーク、イントラネット、エクストラネット、および／またはインターネットが、コンピュータネットワーク１０８に含まれ得、またはコンピュータネットワーク１０８の一部を構成し得る。他の複数の実施形態は、他の遠距離通信ネットワーク、セルラーネットワーク、ページングネットワーク、および他のモバイルネットワークを含む他の複数のタイプの通信ネットワークを含み得る。コンピュータネットワーク１０８内には、および／または、ハンドヘルド通信デバイス１０４、セルラータワーおよび局１０６、およびコンピュータネットワーク１０８の間の複数の通信パスには、何らかの種類のコンピュータ、スイッチングデバイス、ルータ、ブリッジ、ファイヤウォール、エッジデバイス、および他のデバイスがあり得る。本開示の態様によると、ハンドヘルド通信デバイス１０４は、コンピュータネットワーク１０８内の他の複数のエンティティのうち１または複数のサービスを要求するのに、アプリケーションプログラミングインタフェース（ＡＰＩ）、または、他のオブジェクト、ソフトウェア、ファームウェア、および／または、ハードウェアを利用し得る別個の機能的な複数のプログラムモジュールを含み得る。コンピュータネットワーク１０８の物理的環境は、複数のコンピュータなど複数の接続されたデバイスを有し得るが、物理的環境は代替的に、パーソナルデジタルアシスタント（ＰＤＡ）、テレビ、ＭＰ３プレーヤ、その他などの様々なデジタルデバイス、複数のインタフェース、コンポーネントオブジェクトモデル（ＣＯＭ）オブジェクトなどソフトウェアオブジェクト、およびその他を有し得、または、それらを備えるものとして説明され得る。
【００７５】
コンピュータネットワーク１０８内には、分散コンピューティング環境もサポートし得る様々なシステム、構成要素、およびネットワーク構成があり得る。例えば、複数のコンピューティングシステムは、複数のローカルネットワークまたは広く分散させられた複数のネットワークにより複数の有線または無線システムによりコンピュータネットワーク１０８内で互いに接続され得る。現在多くのネットワークは、広く分散させられたコンピューティングのためのインフラストラクチャを提供し、多くの異なるネットワークを網羅するインターネットに結合されている。インターネットに結合されていようといなかろうと、何らかのそのような複数のインフラストラクチャは、コンピュータネットワーク１０８に関連して用いられ得、コンピュータネットワーク１０８に接続され得、またはコンピュータネットワーク１０８の一部を構成し得る。
【００７６】
図１に示されるようなネットワークインフラストラクチャは、クライアント／サーバ、ピアツーピアまたはハイブリッドアーキテクチャなど多数のネットワークトポロジーを可能とし得る。「クライアント」は、自身が関連していない他のクラスまたはグループの複数のサービスを用いるクラスまたはグループのメンバーである。コンピューティングにおいて、クライアントは、他のプログラムにより提供されるサービスを要求するハードウェアにより実行される処理、すなわち、大まかに言えば複数の命令またはタスクのセットである。一般的に、クライアント処理は、他のプログラムまたはサービス自体について動作の複数の詳細を「知る」必要なく、要求されたサービスを利用する。クライアント／サーバアーキテクチャ、特にネットワーク化されたシステムにおいて、クライアントは通常、他のコンピュータ、例えばサーバにより提供される複数の共有されたネットワークリソースにアクセスするコンピュータまたはデバイスである。図２Ａの例において、自動車ヘッドユニット１０２、ハンドヘルド通信デバイス１０４、セルラータワーおよび局１０６を含む何らかのエンティティ、および、コンピュータネットワーク１０８内の複数のエンティティは、状況に応じてクライアント、サーバ、または両方と見なされ得る。
【００７７】
必ずしもそうではないが、サーバは典型的には、インターネットなどの遠隔ネットワーク、またはローカルネットワーク上でアクセス可能な遠隔コンピュータシステムである。クライアント処理は、第１コンピュータシステムまたはデバイスでアクティブであり得、サーバ処理は、第２コンピュータシステムまたはデバイスでアクティブであり得、通信媒体上で互いに通信を行い得、したがって、分散させられた機能性を提供し、単一または複数のクライアントがサーバの情報収集能力を活用することを可能とする。何らかの複数のソフトウェアオブジェクトは、複数のコンピューティングデバイスまたはオブジェクトに亘って分散させられ得る。クライアントおよびサーバは、プロトコル層により提供される機能性を利用して互いに通信する。例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）が、ワールドワイドウェブ（ＷＷＷ）または「ウェブ」に関連して用いられる一般的なプロトコルである。典型的には、ユニバーサルリソースロケータ（ＵＲＬ）の構成要素であり得るインターネットプロトコル（ＩＰ）などのコンピュータネットワークアドレスが、サーバコンピュータまたはクライアントコンピュータを互いに特定するのに用いられ得る。通信は、通信媒体上で提供され得、例えば、クライアントとサーバとは、大容量通信のためのトランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）接続を介して互いに結合され得る。例えば、セルラータワーおよび局１０６とコンピュータネットワーク１０８とは、情報をコンピュータネットワーク１０８へ送信し、またはコンピュータネットワーク１０８から受信し、３Ｇ、ＨＴＴＰ、およびＴＣＰ／ＩＰ、その他など複数の遠距離通信およびネットワーキングプロトコルおよび規格の複数の適用可能な組み合わせおよび層を用いてセルラーネットワーク上で無線信号によりハンドヘルド通信デバイス１０４からそのような情報を受信し、ハンドヘルド通信デバイス１０４へそのような情報を提供するために、１または複数の通信ネットワークまたは通信媒体により（例えば、セルラーまたは他の有線または無線信号１１６を用いて）通信可能にリンクされ得る。
【００７８】
例えば、サービスプロバイダ１  １２４ａおよびサービスプロバイダ２  １２４ｂが示されている。これらサービスプロバイダは、ハンドヘルドデバイス１０４および／または自動車ヘッドユニット１０２および１２０へデータ、媒体、管理、エンターテイメント、および他の複数のサービスを提供するようネットワーク１０８上で通信を行う複数のエンティティまたはデバイスであり得る。いくつかの実施形態において、サービスプロバイダ１  １２４ａは、ネットワーク１０８上でのハンドヘルドデバイス１０４および／または自動車ヘッドユニット１０２および１２０からの複数のサービス要求に応答して、音楽、スポーツ、ニュース、地図、興味の対象であるロケーション、ナビゲーション、その他についての複数のサービス、複数のプログラム、情報、およびデータを、ハンドヘルドデバイス１０４および／または自動車ヘッドユニット１０２および１２０の複数のユーザへ提供する。実際、自動車ヘッドユニット１０２および１２０は、通信リンク１１８および１１０を用いて、ハンドヘルドデバイス１０４を介してそのような複数のサービスを要求し得る。また、ハンドヘルドデバイスおよびサービスプロバイダ１  １２４ａおよび／またはサービスプロバイダ２  １２４ｂは、ハンドヘルドデバイスのユーザがどの自動車を運転していようとも、またはどの自動車に乗っていようともカスタマイズされた個人的な経験を出来るよう、ハンドヘルドデバイス１０４のユーザについて個人的な嗜好および他の複数のタイプの情報を格納し、それらの、自動車ヘッドユニット１０２および１２０への通信を行い得る（２つのみが示されているが、任意の数の自動車ヘッドユニットが用いられ得る）。
【００７９】
ハンドヘルド通信デバイス１０４は、筐体２０２ａと、ディスプレイ２０４ａと、グラフィクスエンジン２０６ａと、中央処理装置（ＣＰＵ）２０８と、１または複数のユーザ入力デバイス２１０ａと、ＣＰＵ２０８により実行可能な複数の命令を備える様々なソフトウェアモジュールが格納された１または複数の記憶媒体２１２ａと、入出力（Ｉ／Ｏ）ポート２１６ａと、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂと、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂと、セルラー受信機／送信機およびネットワークインタフェース２１８ｃと、電源２２２ａとを有し得る。
【００８０】
前述したように、ハンドヘルド通信デバイス１０４は、セルラー電話、ポータブルメディアプレーヤ（ＰＭＰ）、パーソナルデジタルアシスタント（ＰＤＡ）、モバイル通信デバイス、内蔵の、またはアドオンのセルラー通信を有するポータブルコンピュータ、ポータブルゲーム機、グローバルポジショニングシステム（ＧＰＳ）、ハンドヘルドインダストリアル電子デバイス、若しくはその他など多様な通信デバイスのうちいずれか、またはこれらの何らかの組み合わせであり得る。ハンドヘルド通信デバイス１０４は、スカラプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、縮小命令セット（ＲＩＳＣ）プロセッサ、または他の何らかの適したプロセッサであり得る少なくとも１つの中央処理装置（ＣＰＵ）２０６ａを有する。中央処理装置（ＣＰＵ）２０８、ディスプレイ２０４ａ、グラフィクスエンジン２０６ａ、１または複数のユーザ入力デバイス２１０ａ、１または複数の記憶媒体２１２ａ、入出力（Ｉ／Ｏ）ポート２１６ａ、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂ、およびセルラー受信機／送信機およびネットワークインタフェース２１８ｃは全て、システムバス２２４ａを介して互いに通信可能に接続され得る。システムバス２２４ａは、メモリコントローラを有するメモリバス、周辺機器バス、および／またはローカルバスを含む、何らかの適したバス構造またはアーキテクチャを採用し得る。
【００８１】
またハンドヘルド通信デバイス１０４は、１または複数の揮発性および／または不揮発性記憶媒体２１２ａを含む。複数の記憶媒体２１２ａは、様々なタイプのプロセッサ可読記憶媒体のうちいずれかの単一のもの、またはこれらの適した組み合わせからなり得、ＣＰＵ２０８により処理が行われる複数の命令およびデータを格納し得る。例えば、ソフトウェア２１４ａを構成する複数のソフトウェア命令、および／またはファームウェアを構成する複数のファームウェア命令の特定の一群が、ＣＰＵ２０８により実行される。複数のソフトウェアまたはファームウェア命令は一般的に、ハンドヘルド通信デバイス１０４の複数の動作うち多くを制御し、複数のソフトウェアおよび／またはファームウェア命令のサブセットが、ハンドヘルド通信デバイス１０４内のハードウェアおよび他のソフトウェアを動作的に構成して、図２Ａに示されるＷｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂ、セルラー受信機／送信機およびネットワークインタフェース２１８ｃ、並びに／若しくは複数のＩ／Ｏポートを介して、図１に示されるようにハンドヘルド通信デバイス１０４から外部の自動車ヘッドユニット１０２、セルラータワーおよび局１０６、および外部コンピュータネットワーク１０８への適用可能なコンピュータネットワークおよび複数の遠距離通信リンクの開始、制御、および維持を提供するよう複数の機能を実行し得る。
【００８２】
限定ではなく例として、記憶媒体２１２ａは、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュールまたは他のデータなど情報の格納のために何らかの方法または技術で実装され得る、揮発性および不揮発性の、取り外し可能な媒体および取り外し可能な媒体を含む複数のコンピュータ記憶媒体の何らかの組み合わせを備え得るプロセッサ可読記憶媒体であり得る。プロセッサ可読記憶媒体は、これらに限定されるわけではないが、所望される情報を格納するのに用いられ得、ＣＰＵ２０８によりアクセスされ得るランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、ソリッドステートメモリ、または何らかの他の媒体を含む。これらの何らかの複数の組み合わせもプロセッサ可読記憶媒体の範囲内に含められるべきである。
【００８３】
記憶媒体２１２ａは、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）など揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含むシステムメモリを含み得る。起動または電源オンの間などハンドヘルド通信デバイス１０４内の複数の要素間での情報の伝達を促す複数の基本的なルーチンを含む基本入出力システム（ＢＩＯＳ）は典型的には、ＲＯＭに格納される。ＲＡＭは典型的には、ＣＰＵ２０８により直ぐにアクセス可能であり、および／または現在処理が行われている複数のデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図２Ａは、オペレーティングシステム、複数のアプリケーションプログラム、および他の複数のプログラムモジュールを含む、本明細書で説明される複数の処理および複数の方法を実施する複数のソフトウェアモジュール２１４ａを図示する。
【００８４】
またハンドヘルド通信デバイス１０４は、他の取り外し可能／取り外し不可能な、複数の揮発性／不揮発性コンピュータ記憶媒体ドライブを含み得る。単に例として、記憶媒体２１２ａは、取り外し不可能な不揮発性媒体に対する読み書きを行うハードディスクドライブまたはソリッドステート記憶ドライブ、取り外し可能な不揮発性磁気ディスクに対する読み書きを行う磁気ディスクドライブ、およびＣＤ−ＲＯＭまたは他の光媒体など取り外し可能な不揮発性光ディスクに対する読み書きを行う光ディスクドライブを含み得る。ハンドヘルド通信デバイス１０４のオペレーション環境で用いられ得る他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体は、これらに限定されるものではないが、フラッシュメモリカード、デジタル多用途ディスク、マイクロディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、およびその他を含む。記憶媒体は典型的には、取り外し不可能なメモリインタフェースを通じてシステムバス２２４ａへ接続される。上記にて説明され図２Ａに図示されている記憶媒体２１２ａは、ハンドヘルド通信デバイス１０４のための、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュール、および他のデータの格納を提供する。図２Ａにおいて、例えば、記憶媒体はオペレーティングシステム、複数のアプリケーションプログラム、他の複数のプログラムモジュールおよびプログラムデータを含むソフトウェア２１４ａを格納し得る。記憶媒体２１２ａは、そのような情報を格納することが出来るファイルシステム、フラットメモリアーキテクチャ、データベース、若しくは他の何らかの方法、または組み合わせを実装し得る。
【００８５】
ユーザは、タッチスクリーンディスプレイ２０４ａを通じて、若しくは、キーパッド、キーボード、カメラ、運動センサ、位置センサ、光センサ、生体データセンサ、加速度計、またはマウス、トラックボール、またはタッチパッドと一般的に呼ばれるポインティングデバイスなど１または複数の入力デバイス２１０ａを通じて、ハンドヘルド通信デバイス１０４へ複数のコマンドおよび情報を入力し得る。ハンドヘルド通信デバイス１０４の他の複数の入力デバイスは、マイク、ジョイスティック、ゲームパッド、光学式スキャナ、他の複数のセンサ、またはその他を含み得る。複数の入力デバイス、特にマイクの例示的な使用は、外部の複数のサーバへの通信に関連してより詳細に以下に説明される。これらおよび他の複数の入力デバイスはしばしば、システムバス２２４ａに結合されたユーザ入力インタフェースを通じてＣＰＵ２０８へ接続されるが、パラレルポート、シリアルポート、無線ポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など他の複数のインタフェースおよびバス構造により接続され得る。一般的に、ソフトウェア２１４ａに格納された特有のソフトウェアドライバが、ユーザ入力を検知するようにそれぞれの入力メカニズムを構成し、ソフトウェアドライバは、他のソフトウェア２１４ａの指示の下、ＣＰＵ２０８により処理が行われる複数のデータ要素を提供する。ディスプレイも、グラフィクスエンジン２０６ａなどインタフェースを介してシステムバス２２４ａへ接続される。ディスプレイ２０４ａに加えて、ハンドヘルド通信デバイス１０４は、１または複数のアナログまたはデジタルＩ／Ｏポート２１６ａ、若しくは、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂ、またはセルラー受信機／送信機およびネットワークインタフェース２１８ｃの複数のネットワークインタフェースを通じて接続され得る、スピーカ、プリンタ、プロジェクタ、外部モニタ、その他など他の複数の周辺機器出力デバイスも含み得る。
【００８６】
ハンドヘルド通信デバイス１０４は、コンピュータネットワーク１０８内の遠隔のコンピュータまたはデバイス、セルラータワーおよび局１０６、および図１に示され上記で説明された自動車ヘッドユニット１０２など１または複数の遠隔のコンピュータまたはデバイスへの複数の接続を用いてネットワーク環境において動作し得る。コンピュータネットワーク１０８内の遠隔のコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであり得、典型的には、ハンドヘルド通信デバイス１０４に関して上記で説明した複数の要素のうち多く、または全てを含む。コンピュータネットワーク１０８へのそのような複数の接続は、上記で説明したローカルエリアネットワーク（ＬＡＮ）接続、広域ネットワーク（ＷＡＮ）接続、および／または他のネットワークを含み得る。
【００８７】
ＬＡＮまたはＷＡＮネットワーキング環境で用いられたとき、ハンドヘルド通信デバイス１０４は、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースを介して接続され得る。ＷＡＮネットワーキング環境で用いられるとき、ハンドヘルド通信デバイス１０４は、インターネットなどＷＡＮ上で通信を確立するために、ネットワークインタフェースの一部としてのモデムまたは他の手段を含み得る。Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースは、システムバス２２４ａに通信可能に接続され得る。ネットワーク環境において、ハンドヘルド通信デバイス１０４に関して図示された複数のプログラムモジュール、またはその複数の部分は、遠隔のシステムの遠隔のメモリ記憶装置に格納され得る。
【００８８】
ハンドヘルド通信デバイス１０４は、ハンドヘルド通信デバイス１０４へ／からデータを近距離で渡すために、または追加の記憶装置をハンドヘルド通信デバイス１０４へ結合するために、複数のＩ／Ｏポート２１６ａ、並びに／若しくは近距離無線受信機／送信機およびネットワークインタフェース２１８ｂの一群を有する。例えばシリアルポート、ＵＳＢポート、Ｗｉ−Ｆｉ（登録商標）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）ポート、ＩＥＥＥ１３９４（すなわち、ＦｉｒｅＷｉｒｅ（登録商標））、およびその他は、ハンドヘルド通信デバイス１０４を他の複数のコンピューティング装置へ通信可能に結合し得る。コンパクトフラッシュ（登録商標）（ＣＦ）ポート、セキュアデジタル（ＳＤ）ポート、およびその他が、ＣＰＵ２０８による読み書きのためにハンドヘルド通信デバイス１０４へメモリデバイスを結合し得、若しくは、Ｗｉ−Ｆｉ（登録商標）またはＢｌｕｅｔｏｏｔｈ（登録商標）送信機／受信機および／またはネットワークインタフェースなど他の複数の通信インタフェースへハンドヘルド通信デバイス１０４を結合し得る。
【００８９】
またハンドヘルド通信デバイス１０４は、電源２２２ａ（例えば、バッテリ）を有する。電源２２２ａは、従来の有線電源が利用不可能である、さもなくば、接続されていない場合に電力を要求する、ハンドヘルド通信デバイス１０４の全ての構成要素のためにエネルギーを供給し得る。本明細書で説明されたものと同じ、同様の、または同等の機能性を提供する、ハンドヘルド通信デバイス１０４の他の様々な適したシステムアーキテクチャおよび設計が予期され、利用され得る。
【００９０】
本明細書で説明される様々な技術は、ハードウェア、ソフトウェア、および／またはファームウェアとの関連で、または適切な場合にはそれらの組み合わせで実装され得ることが理解されるべきである。したがって、本開示の複数の方法および装置は、またはそれらの複数の特定の態様および部分は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、または何らかの他のマシン可読またはプロセッサ可読記憶媒体など有形媒体で実施されるプログラムコード（すなわち、複数の命令）の形態であり得る。プログラムコードがコンピュータまたはハンドヘルド通信デバイスのプロセッサなどのマシンにロードされ実行されたとき、マシンは、様々な実施形態を実施するための装置となる。複数のプログラマブルコンピュータまたはハンドヘルド通信デバイス上でのプログラムコード実行の場合、それらはプロセッサ、プロセッサにより読み取り可能な記憶媒体（揮発性および不揮発性メモリ、および／または複数の記憶素子を含む）、少なくとも１つ入力デバイス、および少なくとも１つの出力デバイスを一般的に含む。１または複数のプログラムは、例えば、ＡＰＩ、再利用可能な複数のコントロール、またはその他の使用を通じて、本開示との関連で説明される複数の処理を実装または利用し得る。そのような複数のプログラムは好ましくは、ハンドヘルド通信デバイス１０４の図２Ａに図示されるコンピュータシステムを含むコンピュータシステムと通信を行うのに高水準手続型またはオブジェクト指向プログラミング言語で実装され得る。しかし所望される場合、プログラムは、アセンブリ言語またはマシン語で実装され得る。いずれの場合であっても、言語は、コンパイル型またはインタープリタ型言語であり得、複数のハードウェア実装と組み合わせられ得る。
【００９１】
図２Ｂは、例示的な一実施形態に係る、例示的なハンドヘルド通信デバイス１０４をより詳細に示す。ハンドヘルド通信デバイス１０４は、筐体２０２ａと、ディスプレイ２０４ａと、グラフィクスエンジン２０６ａと、中央処理装置（ＣＰＵ）２０８と、１または複数のユーザ入力デバイス２１０ａと、ＣＰＵ２０８により実行可能な複数の命令を備える様々なソフトウェアモジュールが格納された１または複数の記憶媒体２１２ａと、入出力（Ｉ／Ｏ）ポート２１６ａと、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂと、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂと、セルラー受信機／送信機およびネットワークインタフェース２１８ｃと、電源２２２ａとを有し得る。
【００９２】
前述したように、ハンドヘルド通信デバイス１０４は、セルラー電話、ポータブルメディアプレーヤ（ＰＭＰ）、パーソナルデジタルアシスタント（ＰＤＡ）、モバイル通信デバイス、内蔵の、またはアドオンのセルラー通信を有するポータブルコンピュータ、ポータブルゲーム機、グローバルポジショニングシステム（ＧＰＳ）、ハンドヘルドインダストリアル電子デバイス、若しくはその他など多様な通信デバイスのうちいずれか、またはこれらの何らかの組み合わせであり得る。ハンドヘルド通信デバイス１０４は、スカラプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、縮小命令セット（ＲＩＳＣ）プロセッサ、または他の何らかの適したプロセッサであり得る少なくとも１つの中央処理装置（ＣＰＵ）２０６ａを有する。中央処理装置（ＣＰＵ）２０８、ディスプレイ２０４ａ、グラフィクスエンジン２０６ａ、１または複数のユーザ入力デバイス２１０ａ、１または複数の記憶媒体２１２ａ、入出力（Ｉ／Ｏ）ポート２１６ａ、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂ、およびセルラー受信機／送信機およびネットワークインタフェース２１８ｃは全て、システムバス２２４ａを介して互いに通信可能に接続され得る。システムバス２２４ａは、メモリコントローラを有するメモリバス、周辺機器バス、および／またはローカルバスを含む、何らかの適したバス構造またはアーキテクチャを採用し得る。
【００９３】
またハンドヘルド通信デバイス１０４は、１または複数の揮発性および／または不揮発性記憶媒体２１２ａを含む。複数の記憶媒体２１２ａは、様々なタイプのプロセッサ可読記憶媒体のうちいずれかの単一のもの、またはこれらの適した組み合わせからなり得、ＣＰＵ２０８により処理が行われる複数の命令およびデータを格納し得る。例えば、ソフトウェア２１４ａを構成する複数のソフトウェア命令、および／またはファームウェアを構成する複数のファームウェア命令の特定の一群が、ＣＰＵ２０８により実行される。複数のソフトウェアまたはファームウェア命令は一般的に、ハンドヘルド通信デバイス１０４の複数の動作うち多くを制御し、複数のソフトウェアおよび／またはファームウェア命令のサブセットが、ハンドヘルド通信デバイス１０４内のハードウェアおよび他のソフトウェアを動作的に構成して、図２Ａに示されるＷｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂ、セルラー受信機／送信機およびネットワークインタフェース２１８ｃ、並びに／若しくは複数のＩ／Ｏポートを介して、図１に示されるようにハンドヘルド通信デバイス１０４から外部の自動車ヘッドユニット１０２、セルラータワーおよび局１０６、および外部コンピュータネットワーク１０８への適用可能なコンピュータネットワークおよび複数の遠距離通信リンクの開始、制御、および維持を提供するよう複数の機能を実行し得る。
【００９４】
限定ではなく例として、記憶媒体２１２ａは、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュールまたは他のデータなど情報の格納のために何らかの方法または技術で実装され得る、揮発性および不揮発性の、取り外し可能な媒体および取り外し可能な媒体を含む複数のコンピュータ記憶媒体の何らかの組み合わせを備え得るプロセッサ可読記憶媒体であり得る。プロセッサ可読記憶媒体は、これらに限定されるわけではないが、所望される情報を格納するのに用いられ得、ＣＰＵ２０８によりアクセスされ得るランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、ソリッドステートメモリ、または何らかの他の媒体を含む。これらの何らかの複数の組み合わせもプロセッサ可読記憶媒体の範囲内に含められるべきである。
【００９５】
記憶媒体２１２ａは、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）など揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含むシステムメモリを含み得る。起動または電源オンの間などハンドヘルド通信デバイス１０４内の複数の要素間での情報の伝達を促す複数の基本的なルーチンを含む基本入出力システム（ＢＩＯＳ）は典型的には、ＲＯＭに格納される。ＲＡＭは典型的には、ＣＰＵ２０８により直ぐにアクセス可能であり、および／または現在処理が行われている複数のデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図２Ａは、オペレーティングシステム、複数のアプリケーションプログラム、および他の複数のプログラムモジュールを含む、本明細書で説明される複数の処理および複数の方法を実施する複数のソフトウェアモジュール２１４ａを図示する。
【００９６】
またハンドヘルド通信デバイス１０４は、他の取り外し可能／取り外し不可能な、複数の揮発性／不揮発性コンピュータ記憶媒体ドライブを含み得る。単に例として、記憶媒体２１２ａは、取り外し不可能な不揮発性媒体に対する読み書きを行うハードディスクドライブまたはソリッドステート記憶ドライブ、取り外し可能な不揮発性磁気ディスクに対する読み書きを行う磁気ディスクドライブ、およびＣＤ−ＲＯＭまたは他の光媒体など取り外し可能な不揮発性光ディスクに対する読み書きを行う光ディスクドライブを含み得る。ハンドヘルド通信デバイス１０４のオペレーション環境で用いられ得る他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体は、これらに限定されるものではないが、フラッシュメモリカード、デジタル多用途ディスク、マイクロディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、およびその他を含む。記憶媒体は典型的には、取り外し不可能なメモリインタフェースを通じてシステムバス２２４ａへ接続される。上記にて説明され図２Ａに図示されている記憶媒体２１２ａは、ハンドヘルド通信デバイス１０４のための、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュール、および他のデータの格納を提供する。図２Ａにおいて、例えば、記憶媒体はオペレーティングシステム、複数のアプリケーションプログラム、他の複数のプログラムモジュールおよびプログラムデータを含むソフトウェア２１４ａを格納し得る。記憶媒体２１２ａは、そのような情報を格納することが出来るファイルシステム、フラットメモリアーキテクチャ、データベース、若しくは他の何らかの方法、または組み合わせを実装し得る。
【００９７】
ユーザは、タッチスクリーンディスプレイ２０４ａを通じて、若しくは、キーパッド、キーボード、カメラ、運動センサ、位置センサ、光センサ、生体データセンサ、加速度計、またはマウス、トラックボール、またはタッチパッドと一般的に呼ばれるポインティングデバイスなど１または複数の入力デバイス２１０ａを通じて、ハンドヘルド通信デバイス１０４へ複数のコマンドおよび情報を入力し得る。ハンドヘルド通信デバイス１０４の他の複数の入力デバイスは、マイク、ジョイスティック、ゲームパッド、光学式スキャナ、他の複数のセンサ、またはその他を含み得る。複数の入力デバイス、特にマイクの例示的な使用は、外部の複数のサーバへの通信に関連してより詳細に以下に説明される。これらおよび他の複数の入力デバイスはしばしば、システムバス２２４ａに結合されたユーザ入力インタフェースを通じてＣＰＵ２０８へ接続されるが、パラレルポート、シリアルポート、無線ポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など他の複数のインタフェースおよびバス構造により接続され得る。一般的に、ソフトウェア２１４ａに格納された特有のソフトウェアドライバが、ユーザ入力を検知するようにそれぞれの入力メカニズムを構成し、ソフトウェアドライバは、他のソフトウェア２１４ａの指示の下、ＣＰＵ２０８により処理が行われる複数のデータ要素を提供する。ディスプレイも、グラフィクスエンジン２０６ａなどインタフェースを介してシステムバス２２４ａへ接続される。ディスプレイ２０４ａに加えて、ハンドヘルド通信デバイス１０４は、１または複数のアナログまたはデジタルＩ／Ｏポート２１６ａ、若しくは、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、近距離無線受信機／送信機およびネットワークインタフェース２１８ａａｂ、またはセルラー受信機／送信機およびネットワークインタフェース２１８ｃの複数のネットワークインタフェースを通じて接続され得る、スピーカ、プリンタ、プロジェクタ、外部モニタ、その他など他の複数の周辺機器出力デバイスも含み得る。
【００９８】
ハンドヘルド通信デバイス１０４は、コンピュータネットワーク１０８内の遠隔のコンピュータまたはデバイス、セルラータワーおよび局１０６、および図１に示され上記で説明された自動車ヘッドユニット１０２など１または複数の遠隔のコンピュータまたはデバイスへの複数の接続を用いてネットワーク環境において動作し得る。コンピュータネットワーク１０８内の遠隔のコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであり得、典型的には、ハンドヘルド通信デバイス１０４に関して上記で説明した複数の要素のうち多く、または全てを含む。コンピュータネットワーク１０８へのそのような複数の接続は、上記で説明したローカルエリアネットワーク（ＬＡＮ）接続、広域ネットワーク（ＷＡＮ）接続、および／または他のネットワークを含み得る。
【００９９】
ＬＡＮまたはＷＡＮネットワーキング環境で用いられたとき、ハンドヘルド通信デバイス１０４は、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースを介して接続され得る。ＷＡＮネットワーキング環境で用いられるとき、ハンドヘルド通信デバイス１０４は、インターネットなどＷＡＮ上で通信を確立するために、ネットワークインタフェースの一部としてのモデムまたは他の手段を含み得る。Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｂ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースは、システムバス２２４ａに通信可能に接続され得る。ネットワーク環境において、ハンドヘルド通信デバイス１０４に関して図示された複数のプログラムモジュール、またはその複数の部分は、遠隔のシステムの遠隔のメモリ記憶装置に格納され得る。
【０１００】
ハンドヘルド通信デバイス１０４は、ハンドヘルド通信デバイス１０４へ／からデータを近距離で渡すために、または追加の記憶装置をハンドヘルド通信デバイス１０４へ結合するために、複数のＩ／Ｏポート２１６ａ、並びに／若しくは近距離無線受信機／送信機およびネットワークインタフェース２１８ｂの一群を有する。例えばシリアルポート、ＵＳＢポート、Ｗｉ−Ｆｉ（登録商標）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）ポート、ＩＥＥＥ１３９４（すなわち、ＦｉｒｅＷｉｒｅ（登録商標））、およびその他は、ハンドヘルド通信デバイス１０４を他の複数のコンピューティング装置へ通信可能に結合し得る。コンパクトフラッシュ（登録商標）（ＣＦ）ポート、セキュアデジタル（ＳＤ）ポート、およびその他が、ＣＰＵ２０８による読み書きのためにハンドヘルド通信デバイス１０４へメモリデバイスを結合し得、若しくは、Ｗｉ−Ｆｉ（登録商標）またはＢｌｕｅｔｏｏｔｈ（登録商標）送信機／受信機および／またはネットワークインタフェースなど他の複数の通信インタフェースへハンドヘルド通信デバイス１０４を結合し得る。
【０１０１】
またハンドヘルド通信デバイス１０４は、電源２２２ａ（例えば、バッテリ）を有する。電源２２２ａは、従来の有線電源が利用不可能である、さもなくば、接続されていない場合に電力を要求する、ハンドヘルド通信デバイス１０４の全ての構成要素のためにエネルギーを供給し得る。本明細書で説明されたものと同じ、同様の、または同等の機能性を提供する、ハンドヘルド通信デバイス１０４の他の様々な適したシステムアーキテクチャおよび設計が予期され、利用され得る。
【０１０２】
図２Ｂは、例示的な一実施形態に係る、例示的な自動車ヘッドユニット１０２をより詳細に示す。自動車ヘッドユニット１０２は、筐体２０２ｂと、ディスプレイ２０４と、グラフィクスエンジン２０６ｂと、中央処理装置（ＣＰＵ）２０８と、１または複数のユーザ入力デバイス２１０ｂと、ＣＰＵ２０８により実行可能な複数の命令を備える様々なソフトウェアモジュールが格納された１または複数の記憶媒体２１２ｂと、入出力（Ｉ／Ｏ）ポート２１６ｂと、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅと、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅと、セルラー受信機／送信機およびネットワークインタフェース２１８ｆと、電源２２２ｂとを有し得る。
【０１０３】
前述したように、自動車ヘッドユニット１０２は、情報を処理するよう、若しくは運転者、搭乗者、またはその自動車の他の構成要素への通信を行うよう、若しくは、情報を処理する、または運転者、搭乗者、またはその自動車の他の構成要素への通信を行う他の複数の構成要素を制御するよう構成された、自動車または車両の何らかの構成要素であり得る。例えば、自動車ヘッドユニット１０２は、自動車ヘッドユニット１０２の１または複数の内蔵型処理、メモリ、および通信ユニットまたはモジュールの組み合わせにより実装されるコンピュータ処理、通信、およびデータ記憶能力を有し得る多くの自動車ヘッドユニットは、典型的には自動車のダッシュボード内のステレオ、ナビゲーション、および／または他のエンターテイメントまたは運転者情報システムの一部であるか、またはそれらを制御する。
【０１０４】
自動車ヘッドユニット１０２は、スカラプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、縮小命令セット（ＲＩＳＣ）プロセッサ、または他の何らかの適したプロセッサであり得る少なくとも１つの中央処理装置（ＣＰＵ）２０６ｂを有する。中央処理装置（ＣＰＵ）２０８、ディスプレイ２０４ａ、グラフィクスエンジン２０６ｂ、１または複数のユーザ入力デバイス２１０ｂ、１または複数の記憶媒体２１２ｂ、入出力（Ｉ／Ｏ）ポート２１６ｂ、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅ、およびセルラー受信機／送信機およびネットワークインタフェース２１８ｆは全て、システムバス２２４ｂを介して互いに通信可能に接続され得る。システムバス２２４ｂは、メモリコントローラを有するメモリバス、周辺機器バス、および／またはローカルバスを含む、何らかの適したバス構造またはアーキテクチャを採用し得る。
【０１０５】
また自動車ヘッドユニット１０２は、１または複数の揮発性および／または不揮発性記憶媒体２１２ｂを含む。複数の記憶媒体２１２ｂは、様々なタイプのプロセッサ可読記憶媒体のうちいずれかの単一のもの、またはこれらの適した組み合わせからなり得、ＣＰＵ２０８により処理が行われる複数の命令およびデータを格納し得る。例えば、ソフトウェア２１４ｂを構成する複数のソフトウェア命令、および／またはファームウェアを構成する複数のファームウェア命令の特定の一群が、ＣＰＵ２０８により実行される。複数のソフトウェアまたはファームウェア命令は一般的に、自動車ヘッドユニット１０２の複数の動作うち多くを制御し、複数のソフトウェアおよび／またはファームウェア命令のサブセットが、自動車ヘッドユニット１０２内のハードウェアおよび他のソフトウェアを動作的に構成して、図２Ａに示されるＷｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅ、セルラー受信機／送信機およびネットワークインタフェース２１８ｆ、並びに／若しくは複数のＩ／Ｏポートを介して、図１に示されるように自動車ヘッドユニット１０２から外部の自動車ヘッドユニット１０２、セルラータワーおよび局１０６、および外部コンピュータネットワーク１０８への適用可能なコンピュータネットワークおよび複数の遠距離通信リンクの開始、制御、および維持を提供するよう複数の機能を実行し得る。
【０１０６】
限定ではなく例として、記憶媒体２１２ｂは、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュールまたは他のデータなど情報の格納のために何らかの方法または技術で実装され得る、揮発性および不揮発性の、取り外し可能な媒体および取り外し可能な媒体を含む複数のコンピュータ記憶媒体の何らかの組み合わせを備え得るプロセッサ可読記憶媒体であり得る。プロセッサ可読記憶媒体は、これらに限定されるわけではないが、所望される情報を格納するのに用いられ得、ＣＰＵ２０８によりアクセスされ得るランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、ソリッドステートメモリ、または何らかの他の媒体を含む。これらの何らかの複数の組み合わせもプロセッサ可読記憶媒体の範囲内に含められるべきである。
【０１０７】
記憶媒体２１２ｂは、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）など揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含むシステムメモリを含み得る。起動または電源オンの間など自動車ヘッドユニット１０２内の複数の要素間での情報の伝達を促す複数の基本的なルーチンを含む基本入出力システム（ＢＩＯＳ）は典型的には、ＲＯＭに格納される。ＲＡＭは典型的には、ＣＰＵ２０８により直ぐにアクセス可能であり、および／または現在処理が行われている複数のデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図２Ａは、オペレーティングシステム、複数のアプリケーションプログラム、および他の複数のプログラムモジュールを含む、本明細書で説明される複数の処理および複数の方法を実施する複数のソフトウェアモジュール２１４ｂを図示する。
【０１０８】
また自動車ヘッドユニット１０２は、他の取り外し可能／取り外し不可能な、複数の揮発性／不揮発性コンピュータ記憶媒体ドライブを含み得る。単に例として、記憶媒体２１２ｂは、取り外し不可能な不揮発性媒体に対する読み書きを行うハードディスクドライブまたはソリッドステート記憶ドライブ、取り外し可能な不揮発性磁気ディスクに対する読み書きを行う磁気ディスクドライブ、およびＣＤ−ＲＯＭまたは他の光媒体など取り外し可能な不揮発性光ディスクに対する読み書きを行う光ディスクドライブを含み得る。自動車ヘッドユニット１０２のオペレーション環境で用いられ得る他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体は、これらに限定されるものではないが、フラッシュメモリカード、デジタル多用途ディスク、マイクロディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、およびその他を含む。記憶媒体は典型的には、取り外し不可能なメモリインタフェースを通じてシステムバス２２４ｂへ接続される。上記にて説明され図２Ａに図示されている記憶媒体２１２ｂは、自動車ヘッドユニット１０２のための、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュール、および他のデータの格納を提供する。図２Ａにおいて、例えば、記憶媒体はオペレーティングシステム、複数のアプリケーションプログラム、他の複数のプログラムモジュールおよびプログラムデータを含むソフトウェア２１４ｂを格納し得る。記憶媒体２１２ｂは、そのような情報を格納することが出来るファイルシステム、フラットメモリアーキテクチャ、データベース、若しくは他の何らかの方法、または組み合わせを実装し得る。
【０１０９】
ユーザは、タッチスクリーンディスプレイ２０４を通じて、若しくは、キーパッド、キーボード、カメラ、運動センサ、位置センサ、光センサ、生体データセンサ、加速度計、またはマウス、トラックボール、またはタッチパッドと一般的に呼ばれるポインティングデバイスなど１または複数の入力デバイス２１０ｂを通じて、自動車ヘッドユニット１０２へ複数のコマンドおよび情報を入力し得る。自動車ヘッドユニット１０２の他の複数の入力デバイスは、マイク、ジョイスティック、ゲームパッド、光学式スキャナ、他の複数のセンサ、またはその他を含み得る。複数の入力デバイスの例示的な複数の利用は、複数の外部サーバへの通信に関連し得る。これらおよび他の複数の入力デバイスはしばしば、システムバス２２４ｂに結合されたユーザ入力インタフェースを通じてＣＰＵ２０８へ接続されるが、パラレルポート、シリアルポート、無線ポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など他の複数のインタフェースおよびバス構造により接続され得る。一般的に、ソフトウェア２１４ｂに格納された特有のソフトウェアドライバが、ユーザ入力を検知するようにそれぞれの入力メカニズムを構成し、ソフトウェアドライバは、他のソフトウェア２１４ｂの指示の下、ＣＰＵ２０８により処理が行われる複数のデータ要素を提供する。ディスプレイも、グラフィクスエンジン２０６ｂなどインタフェースを介してシステムバス２２４ｂへ接続される。ディスプレイ２０４に加えて、自動車ヘッドユニット１０２は、１または複数のアナログまたはデジタルＩ／Ｏポート２１６ｂ、若しくは、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅ、またはセルラー受信機／送信機およびネットワークインタフェース２１８ｆの複数のネットワークインタフェースを通じて接続され得る、スピーカ、プリンタ、プロジェクタ、外部モニタ、その他など他の複数の周辺機器出力デバイスも含み得る。
【０１１０】
自動車ヘッドユニット１０２は、コンピュータネットワーク１０８内の遠隔のコンピュータまたはデバイス、セルラータワーおよび局１０６、および図１に示され上記で説明された自動車ヘッドユニット１０２など１または複数の遠隔のコンピュータまたはデバイスへの複数の接続を用いてネットワーク環境において動作し得る。コンピュータネットワーク１０８内の遠隔のコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであり得、典型的には、自動車ヘッドユニット１０２に関して上記で説明した複数の要素のうち多く、または全てを含む。コンピュータネットワーク１０８へのそのような複数の接続は、上記で説明したローカルエリアネットワーク（ＬＡＮ）接続、広域ネットワーク（ＷＡＮ）接続、および／または他のネットワークを含み得る。
【０１１１】
ＬＡＮまたはＷＡＮネットワーキング環境で用いられたとき、自動車ヘッドユニット１０２は、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースを介して接続され得る。ＷＡＮネットワーキング環境で用いられるとき、自動車ヘッドユニット１０２は、インターネットなどＷＡＮ上で通信を確立するために、ネットワークインタフェースの一部としてのモデムまたは他の手段を含み得る。Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースは、システムバス２２４ｂに通信可能に接続され得る。ネットワーク環境において、自動車ヘッドユニット１０２に関して図示された複数のプログラムモジュール、またはその複数の部分は、遠隔のシステムの遠隔のメモリ記憶装置に格納され得る。
【０１１２】
自動車ヘッドユニット１０２は、自動車ヘッドユニット１０２へ／からデータを近距離で渡すために、または追加の記憶装置を自動車ヘッドユニット１０２へ結合するために、複数のＩ／Ｏポート２１６ｂ、並びに／若しくは近距離無線受信機／送信機およびネットワークインタフェース２１８ｅの一群を有する。例えばシリアルポート、ＵＳＢポート、Ｗｉ−Ｆｉ（登録商標）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）ポート、ＩＥＥＥ１３９４（すなわち、ＦｉｒｅＷｉｒｅ（登録商標））、およびその他は、自動車ヘッドユニット１０２を他の複数のコンピューティング装置へ通信可能に結合し得る。コンパクトフラッシュ（登録商標）（ＣＦ）ポート、セキュアデジタル（ＳＤ）ポート、およびその他が、ＣＰＵ２０８による読み書きのために自動車ヘッドユニット１０２へメモリデバイスを結合し得、若しくは、Ｗｉ−Ｆｉ（登録商標）またはＢｌｕｅｔｏｏｔｈ（登録商標）送信機／受信機および／またはネットワークインタフェースなど他の複数の通信インタフェースへ自動車ヘッドユニット１０２を結合し得る。
【０１１３】
また自動車ヘッドユニット１０２は、電源２２２ｂ（例えば、バッテリ）を有する。電源２２２ｂは、従来の有線電源が利用不可能である、さもなくば、接続されていない場合に電力を要求する、自動車ヘッドユニット１０２の全ての構成要素のためにエネルギーを供給し得る。本明細書で説明されたものと同じ、同様の、または同等の機能性を提供する、自動車ヘッドユニット１０２の他の様々な適したシステムアーキテクチャおよび設計が予期され、利用され得る。
【０１１４】
本明細書で説明される様々な技術は、ハードウェア、ソフトウェア、および／またはファームウェアとの関連で、または適切な場合にはそれらの組み合わせで実装され得ることが理解されるべきである。したがって、本開示の複数の方法および装置は、またはそれらの複数の特定の態様および部分は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、または何らかの他のマシン可読またはプロセッサ可読記憶媒体など有形媒体で実施されるプログラムコード（すなわち、複数の命令）の形態であり得る。プログラムコードがコンピュータまたはハンドヘルド通信デバイスのプロセッサなどのマシンにロードされ実行されたとき、マシンは、様々な実施形態を実施するための装置となる。複数のプログラマブルコンピュータまたはハンドヘルド通信デバイス上でのプログラムコード実行の場合、それらはプロセッサ、プロセッサにより読み取り可能な記憶媒体（揮発性および不揮発性メモリ、および／または複数の記憶素子を含む）、少なくとも１つ入力デバイス、および少なくとも１つの出力デバイスを一般的に含む。１または複数のプログラムは、例えば、ＡＰＩ、再利用可能な複数のコントロール、またはその他の使用を通じて、本開示との関連で説明される複数の処理を実装または利用し得る。そのような複数のプログラムは好ましくは、自動車ヘッドユニット１０２の図２Ａに図示されるコンピュータシステムを含むコンピュータシステムと通信を行うのに高水準手続型またはオブジェクト指向プログラミング言語で実装され得る。しかし所望される場合、プログラムは、アセンブリ言語またはマシン語で実装され得る。いずれの場合であっても、言語は、コンパイル型またはインタープリタ型言語であり得、複数のハードウェア実装と組み合わせられ得る。
【０１１５】
図２Ｂは、例示的な一実施形態に係る、例示的な自動車ヘッドユニット１０２をより詳細に示す。自動車ヘッドユニット１０２は、筐体２０２ｂと、ディスプレイ２０４と、グラフィクスエンジン２０６ｂと、中央処理装置（ＣＰＵ）２０８と、１または複数のユーザ入力デバイス２１０ｂと、ＣＰＵ２０８により実行可能な複数の命令を備える様々なソフトウェアモジュールが格納された１または複数の記憶媒体２１２ｂと、入出力（Ｉ／Ｏ）ポート２１６ｂと、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅと、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅと、セルラー受信機／送信機およびネットワークインタフェース２１８ｆと、電源２２２ｂとを有し得る。
【０１１６】
前述したように、自動車ヘッドユニット１０２は、セルラー電話、ポータブルメディアプレーヤ（ＰＭＰ）、パーソナルデジタルアシスタント（ＰＤＡ）、モバイル通信デバイス、内蔵の、またはアドオンのセルラー通信を有するポータブルコンピュータ、ポータブルゲーム機、グローバルポジショニングシステム（ＧＰＳ）、ハンドヘルドインダストリアル電子デバイス、若しくはその他など多様な通信デバイスのうちいずれか、またはこれらの何らかの組み合わせであり得る。自動車ヘッドユニット１０２は、スカラプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、縮小命令セット（ＲＩＳＣ）プロセッサ、または他の何らかの適したプロセッサであり得る少なくとも１つの中央処理装置（ＣＰＵ）２０６ｂを有する。中央処理装置（ＣＰＵ）２０８、ディスプレイ２０４、グラフィクスエンジン２０６ｂ、１または複数のユーザ入力デバイス２１０ｂ、１または複数の記憶媒体２１２ｂ、入出力（Ｉ／Ｏ）ポート２１６ｂ、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅ、およびセルラー受信機／送信機およびネットワークインタフェース２１８ｆは全て、システムバス２２４ｂを介して互いに通信可能に接続され得る。システムバス２２４ｂは、メモリコントローラを有するメモリバス、周辺機器バス、および／またはローカルバスを含む、何らかの適したバス構造またはアーキテクチャを採用し得る。
【０１１７】
また自動車ヘッドユニット１０２は、１または複数の揮発性および／または不揮発性記憶媒体２１２ｂを含む。複数の記憶媒体２１２ｂは、様々なタイプのプロセッサ可読記憶媒体のうちいずれかの単一のもの、またはこれらの適した組み合わせからなり得、ＣＰＵ２０８により処理が行われる複数の命令およびデータを格納し得る。例えば、ソフトウェア２１４ｂを構成する複数のソフトウェア命令、および／またはファームウェアを構成する複数のファームウェア命令の特定の一群が、ＣＰＵ２０８により実行される。複数のソフトウェアまたはファームウェア命令は一般的に、自動車ヘッドユニット１０２の複数の動作うち多くを制御し、複数のソフトウェアおよび／またはファームウェア命令のサブセットが、自動車ヘッドユニット１０２内のハードウェアおよび他のソフトウェアを動作的に構成して、図２Ａに示されるＷｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅ、セルラー受信機／送信機およびネットワークインタフェース２１８ｆ、並びに／若しくは複数のＩ／Ｏポートを介して、図１に示されるように自動車ヘッドユニット１０２から外部の自動車ヘッドユニット１０２、セルラータワーおよび局１０６、および外部コンピュータネットワーク１０８への適用可能なコンピュータネットワークおよび複数の遠距離通信リンクの開始、制御、および維持を提供するよう複数の機能を実行し得る。
【０１１８】
限定ではなく例として、記憶媒体２１２ｂは、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュールまたは他のデータなど情報の格納のために何らかの方法または技術で実装され得る、揮発性および不揮発性の、取り外し可能な媒体および取り外し可能な媒体を含む複数のコンピュータ記憶媒体の何らかの組み合わせを備え得るプロセッサ可読記憶媒体であり得る。プロセッサ可読記憶媒体は、これらに限定されるわけではないが、所望される情報を格納するのに用いられ得、ＣＰＵ２０８によりアクセスされ得るランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、ソリッドステートメモリ、または何らかの他の媒体を含む。これらの何らかの複数の組み合わせもプロセッサ可読記憶媒体の範囲内に含められるべきである。
【０１１９】
記憶媒体２１２ｂは、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）など揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含むシステムメモリを含み得る。起動または電源オンの間など自動車ヘッドユニット１０２内の複数の要素間での情報の伝達を促す複数の基本的なルーチンを含む基本入出力システム（ＢＩＯＳ）は典型的には、ＲＯＭに格納される。ＲＡＭは典型的には、ＣＰＵ２０８により直ぐにアクセス可能であり、および／または現在処理が行われている複数のデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図２Ａは、オペレーティングシステム、複数のアプリケーションプログラム、および他の複数のプログラムモジュールを含む、本明細書で説明される複数の処理および複数の方法を実施する複数のソフトウェアモジュール２１４ｂを図示する。
【０１２０】
また自動車ヘッドユニット１０２は、他の取り外し可能／取り外し不可能な、複数の揮発性／不揮発性コンピュータ記憶媒体ドライブを含み得る。単に例として、記憶媒体２１２ｂは、取り外し不可能な不揮発性媒体に対する読み書きを行うハードディスクドライブまたはソリッドステート記憶ドライブ、取り外し可能な不揮発性磁気ディスクに対する読み書きを行う磁気ディスクドライブ、およびＣＤ−ＲＯＭまたは他の光媒体など取り外し可能な不揮発性光ディスクに対する読み書きを行う光ディスクドライブを含み得る。自動車ヘッドユニット１０２のオペレーション環境で用いられ得る他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体は、これらに限定されるものではないが、フラッシュメモリカード、デジタル多用途ディスク、マイクロディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、およびその他を含む。記憶媒体は典型的には、取り外し不可能なメモリインタフェースを通じてシステムバス２２４ｂへ接続される。上記にて説明され図２Ａに図示されている記憶媒体２１２ｂは、自動車ヘッドユニット１０２のための、複数のコンピュータ可読命令、複数のデータ構造、複数のプログラムモジュール、および他のデータの格納を提供する。図２Ａにおいて、例えば、記憶媒体はオペレーティングシステム、複数のアプリケーションプログラム、他の複数のプログラムモジュールおよびプログラムデータを含むソフトウェア２１４ｂを格納し得る。記憶媒体２１２ｂは、そのような情報を格納することが出来るファイルシステム、フラットメモリアーキテクチャ、データベース、若しくは他の何らかの方法、または組み合わせを実装し得る。
【０１２１】
ユーザは、タッチスクリーンディスプレイ２０４を通じて、若しくは、キーパッド、キーボード、カメラ、運動センサ、位置センサ、光センサ、生体データセンサ、加速度計、またはマウス、トラックボール、またはタッチパッドと一般的に呼ばれるポインティングデバイスなど１または複数の入力デバイス２１０ｂを通じて、自動車ヘッドユニット１０２へ複数のコマンドおよび情報を入力し得る。自動車ヘッドユニット１０２の他の複数の入力デバイスは、マイク、ジョイスティック、ゲームパッド、光学式スキャナ、他の複数のセンサ、またはその他を含み得る。複数の入力デバイス、特にマイクの例示的な使用は、外部の複数のサーバへの通信に関連してより詳細に以下に説明される。これらおよび他の複数の入力デバイスはしばしば、システムバス２２４ｂに結合されたユーザ入力インタフェースを通じてＣＰＵ２０８へ接続されるが、パラレルポート、シリアルポート、無線ポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など他の複数のインタフェースおよびバス構造により接続され得る。一般的に、ソフトウェア２１４ｂに格納された特有のソフトウェアドライバが、ユーザ入力を検知するようにそれぞれの入力メカニズムを構成し、ソフトウェアドライバは、他のソフトウェア２１４ｂの指示の下、ＣＰＵ２０８により処理が行われる複数のデータ要素を提供する。ディスプレイも、グラフィクスエンジン２０６ｂなどインタフェースを介してシステムバス２２４ｂへ接続される。ディスプレイ２０４に加えて、自動車ヘッドユニット１０２は、１または複数のアナログまたはデジタルＩ／Ｏポート２１６ｂ、若しくは、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、近距離無線受信機／送信機およびネットワークインタフェース２１８ｅ、またはセルラー受信機／送信機およびネットワークインタフェース２１８ｆの複数のネットワークインタフェースを通じて接続され得る、スピーカ、プリンタ、プロジェクタ、外部モニタ、その他など他の複数の周辺機器出力デバイスも含み得る。
【０１２２】
自動車ヘッドユニット１０２は、コンピュータネットワーク１０８内の遠隔のコンピュータまたはデバイス、サービスプロバイダ１、サービスプロバイダ２、セルラータワーおよび局１０６、および図１に示され上記で説明されたハンドヘルド通信デバイス１０４など１または複数の遠隔のコンピュータまたはデバイスへの複数の接続を用いてネットワーク環境において動作し得る。コンピュータネットワーク１０８内の遠隔のコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであり得、典型的には、自動車ヘッドユニット１０２に関して上記で説明した複数の要素のうち多く、または全てを含む。コンピュータネットワーク１０８へのそのような複数の接続は、上記で説明したローカルエリアネットワーク（ＬＡＮ）接続、広域ネットワーク（ＷＡＮ）接続、および／または他のネットワークを含み得る。
【０１２３】
ＬＡＮまたはＷＡＮネットワーキング環境で用いられたとき、自動車ヘッドユニット１０２は、Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェース２１８ｆを介して接続され得る。ＷＡＮネットワーキング環境で用いられるとき、自動車ヘッドユニット１０２は、インターネットなどＷＡＮ上で通信を確立するために、ネットワークインタフェースの一部としてのモデムまたは他の手段を含み得る。Ｗｉ−Ｆｉ（登録商標）受信機／送信機およびネットワークインタフェース２１８ｅ、並びに／若しくはセルラー受信機／送信機およびネットワークインタフェースは、システムバス２２４ｂに通信可能に接続され得る。ネットワーク環境において、自動車ヘッドユニット１０２に関して図示された複数のプログラムモジュール、またはその複数の部分は、遠隔のシステムの遠隔のメモリ記憶装置に格納され得る。
【０１２４】
自動車ヘッドユニット１０２は、ハンドヘルドデバイス１０４へ／からデータを近距離で渡すために、または追加の記憶装置を自動車ヘッドユニット１０２へ結合するために、または、他の複数の外部デバイスと通信を行うために、複数のＩ／Ｏポート２１６ｂ、並びに／若しくは近距離無線受信機／送信機およびネットワークインタフェース２１８ｅの一群を有する。例えばシリアルポート、ＵＳＢポート、Ｗｉ−Ｆｉ（登録商標）ポート、Ｂｌｕｅｔｏｏｔｈ（登録商標）ポート、ＩＥＥＥ１３９４（すなわち、ＦｉｒｅＷｉｒｅ（登録商標））、およびその他は、自動車ヘッドユニット１０２を他の複数のコンピューティング装置へ通信可能に結合し得る。コンパクトフラッシュ（登録商標）（ＣＦ）ポート、セキュアデジタル（ＳＤ）ポート、およびその他が、ＣＰＵ２０８による読み書きのために自動車ヘッドユニット１０２へメモリデバイスを結合し得、若しくは、Ｗｉ−Ｆｉ（登録商標）またはＢｌｕｅｔｏｏｔｈ（登録商標）送信機／受信機および／またはネットワークインタフェースなど他の複数の通信インタフェースへ自動車ヘッドユニット１０２を結合し得る。
【０１２５】
また自動車ヘッドユニット１０２は、電源２２２ｂ（例えば、バッテリ）を有する。電源２２２ｂは、自動車電源が利用不可能である、さもなくば、接続されていない場合に電力を要求する、自動車ヘッドユニット１０２の全ての構成要素のためにエネルギーを供給し得る。本明細書で説明されたものと同じ、同様の、または同等の機能性を提供する、自動車ヘッドユニット１０２の他の様々な適したシステムアーキテクチャおよび設計が予期され、利用され得る。
【０１２６】
本明細書で説明される様々な技術は、ハードウェア、ソフトウェア、および／またはファームウェアとの関連で、または適切な場合にはそれらの組み合わせで実装され得ることが理解されるべきである。したがって、本開示の複数の方法および装置は、またはそれらの複数の特定の態様および部分は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、または何らかの他のマシン可読またはプロセッサ可読記憶媒体など有形媒体で実施されるプログラムコード（すなわち、複数の命令）の形態であり得る。プログラムコードがコンピュータまたはハンドヘルド通信デバイスのプロセッサなどのマシンにロードされ実行されたとき、マシンは、様々な実施形態を実施するための装置となる。複数のプログラマブルコンピュータまたはハンドヘルド通信デバイス上でのプログラムコード実行の場合、それらはプロセッサ、プロセッサにより読み取り可能な記憶媒体（揮発性および不揮発性メモリ、および／または複数の記憶素子を含む）、少なくとも１つ入力デバイス、および少なくとも１つの出力デバイスを一般的に含む。１または複数のプログラムは、例えば、ＡＰＩ、再利用可能な複数のコントロール、またはその他の使用を通じて、本開示との関連で説明される複数の処理を実装または利用し得る。そのような複数のプログラムは好ましくは、自動車ヘッドユニット１０２の図２Ａに図示されるコンピュータシステムを含むコンピュータシステムと通信を行うのに高水準手続型またはオブジェクト指向プログラミング言語で実装され得る。しかし所望される場合、プログラムは、アセンブリ言語またはマシン語で実装され得る。いずれの場合であっても、言語は、コンパイル型またはインタープリタ型言語であり得、複数のハードウェア実装と組み合わせられ得る。
【０１２７】
図３Ａは、例示的な一実施形態に係る、より詳細に示されたハンドヘルド通信デバイス１０４の例示的な複数のソフトウェアモジュールの示す。複数のソフトウェアモジュールは、アプリケーション３０２と、ピア通信フレームワークコンポーネント３０４と、好ましくは自動車ヘッドユニット１０２のネットワークインタフェース３１０を介して自動車ヘッドユニット１０２のネットワークスタック３０８と無線でインターコネクトされたピアツーピア（すなわち、ピア）ネットワークスタック３０６などのハンドヘルド通信デバイス１０４のネットワークスタックと、コンピュータネットワーク１０８にインターコネクトされたハンドヘルド通信デバイス１０４のデバイスジェネラルネットワークスタック３１２など他のネットワークスタックとを含む。
【０１２８】
ネットワークスタック（すなわち、プロトコルスタック、または通信スタック）は、レイヤー化された複数のコンピュータネットワーキングプロトコルのグループの特定のソフトウェア実装である。本明細書において提供されるレイヤー化された通信およびコンピュータネットワークプロトコル設計、および特定の複数のＴＣＰ／ＩＰネットワークプロトコルの例示的な説明は、Ｗｉｋｉｐｅｄｉａ．ｃｏｍの以下の記事において利用可能である。「ＯＳＩ  Ｍｏｄｅｌ」（ｈｔｔｐ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／ＯＳＩ＿Ｒｅｆｅｒｅｎｃｅ＿Ｍｏｄｅｌ）、「ＴＣＰ／ＩＰ  Ｍｏｄｅｌ」（ｈｔｔｐ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／ＴＣＰ／ＩＰ＿ｍｏｄｅｌ）。これらは両方とも全体が参照によりここにおいて組み込まれる。Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）により発行されたＲｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ（ＲＦＣ）１１２２およびＲＦＣ  １１２３（それぞれ、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ１１２２およびｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ１１２３において利用可能である）。これらは両方とも全体が参照によりここにおいて組み込まれる。ネットワークスタックは、レイヤー化された複数のプロトコルのグループのソフトウェア実装である。各プロトコルモジュールは通常、他の２つと通信を行うので、それらはしばしばプロトコルのスタックにおける層と呼ばれる。最も下位のプロトコルは、ハードウェアの「下位レベルの」物理的なインタラクションを扱う。上位の層になる毎に、より多くの特徴が加えられる。ユーザおよび他の特定の複数のアプリケーションは通常、最も上位の複数の層と通信を行う。複数のネットワークスタックはしばしば、メディア、トランスポート、およびアプリケーションの３つの主要なセクションに分けられる。特定のオペレーティングシステムまたはプラットフォームはしばしば、メディア層とトランスポート層との間のものと、トランスポート層と複数のアプリケーションとの間のものとの２つの明確に規定されたソフトウェアインタフェースを有するであろう。メディア−トランスポートインタフェースは、トランスポートプロトコルソフトウェアが特定のメディアおよびハードウェアタイプをどのように利用するかを規定する。例えば、メディア−トランスポートインタフェースレベルは、ＴＣＰ／ＩＰトランスポートソフトウェアがＥｔｈｅｒｎｅｔ（登録商標）ハードウェアとどのように通信を行うかを規定する。アプリケーション−トランスポートインタフェースは、複数のアプリケーションプログラムが複数のトランスポート層をどのように利用するかを規定する。例えば、アプリケーション−トランスポートインタフェースレベルは、ウェブブラウザプログラムがＴＣＰ／ＩＰトランスポートソフトウェアとどのように通信を行うかを規定する。本実施例において、ピア通信フレームワークコンポーネント３０４は、ピアネットワークスタック３０６およびジェネラルネットワークスタック３１２の様々な層において動作する、またはそれらと通信を行う１または複数のサブモジュールまた��ルーチンを有し得る。例示的なピアツーピアネットワークスタックの構造は、図３Ａにおいてさらに詳細に示されている。
【０１２９】
アプリケーション３０２は、アプリケーションプログラミングインタフェース（ＡＰＩ）を通じてピア通信フレームワークコンポーネント３０４とのインタフェースを有し得、コンピュータネットワーク１０８（例えば、インターネット）と、自動車ヘッドユニット１０２など外部デバイスとのうち両方への別個の接続により、ミドルウェアとしても動作し得る。ピアネットワークスタック３０６およびジェネラルスタック３１２は、別個の物理的または論理的近距離無線ネットワークインタフェース３１４（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）インタフェース）とピアネットワークスタック３０６およびジェネラルネットワークスタック３１２の１または複数のより下位の層と通信しているＷｉ−Ｆｉ（登録商標）またはセルラーネットワークインタフェース３１６とをそれぞれ介して、自動車ヘッドユニット１０２とコンピュータネットワーク１０８とに通信可能に接続され得る。ピアネットワークスタック３０６および自動車ヘッドユニット１０２ネットワークスタックは、自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間のピアツーピアネットワーク接続を提供する。ピアツーピア（Ｐ２Ｐ）接続は、２つのデバイス間の、それらの間の別個のサーバコンピュータを通ることなく複数のリソースを共有するための接続である。特に、図３Ａのピアツーピア接続は、ハンドヘルド通信デバイス１０４と自動車ヘッドユニット１０２とから成る２つのデバイス間の接続から成る。ハンドヘルド通信デバイス１０４と自動車ヘッドユニット１０２の間のピアツーピアネットワーク上には、その他の介在するデバイスまたはノードはない。
【０１３０】
ハンドヘルド通信デバイス１０４は、同じハンドヘルド通信デバイス１０４上に共存するジェネラルネットワーク３１２スタックを介してインターネットへと外部に繋がる別個の接続を有し得るが、ピアネットワークスタック３０６およびジェネラルスタック３１２は、本実施例において直接的に接続されていない。例えば、外部デバイス（例えば、自動車ヘッドユニット１０２）からハンドヘルド通信デバイス１０４へのＨＴＴＰ要求は、インターネットへと外部に単に転送されず、むしろ、ピア通信フレームワークコンポーネント３０４により、およびそれを使用するアプリケーション３０２により扱われる。ピア通信フレームワークコンポーネント３０４は、これらに限定されないが、ハンドヘルド通信デバイス１０４上でキャッシュされたファイルを返すこと、要求に基づき実行時に生成されたデータを返すこと、ジェネラルネットワークスタック３１２を介してインターネットへと外部へ送ること、必要に応じて自動車ヘッドユニット１０２へと結果を転送／キャッシュすることを含む多くの異なるやり方で要求にサービスし得る。これら動作は、ピア通信フレームワークコンポーネント３０４と、ピアネットワークスタック３０６およびジェネラルスタック３１２の両方に接続されたその関連するアプリケーション３０２とにより可能とされる。したがって、ハンドヘルド通信デバイス１０４のシステムは、単に一般的なプロキシとして動作するのではなく、複数の機能を備えたサービスプロバイダとして動作する。
【０１３１】
ピアネットワークスタック３０６および自動車ヘッドユニット１０２ネットワークスタックは、自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間のシリアルデータトランスポートリンク上で、ピアツーピアネットワーク接続を提供し得る。図１に示されるように、自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４とは、近距離無線信号１００により通信可能にリンクされ得る。例えば、この近距離無線信号は、無線のＢｌｕｅｔｏｏｔｈ（登録商標）または有線のユニバーサルシリアルバス（ＵＳＢ）リンクによるものであり得る。しかし、シリアルまたはパラレルデータトランスポートをサポートする他の複数の無線または有線接続も用いられ得る。自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間のリンクは、自動車ヘッドユニット１０２の近傍にハンドヘルド通信デバイス１０４が来たときに、適用可能なタイプの近距離無線リンクの様々なプロトコルおよび／または規格に従って自動的に確立され得る。
【０１３２】
ピアツーピアネットワーク接続は比較的セキュアである。それは、ピアネットワークスタック３０６の物理層におけるセキュアなデータトランスポートリンクを用いる、２つのデバイス間のみの接続であると特定され得る。Ｂｌｕｅｔｏｏｔｈ（登録商標）は、データフローの暗号化を自動的に、およびトランスペアレントに行うことをサポートし、この機能性は、ピアネットワークスタック３０６の物理層におけるトランスポートメカニズムとして、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｓｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅ（ＳＰＰ）を用いる特定の複数の実施形態において当てにされ得る。トランスポートメカニズムにおける有線のＵＳＢリンクを用いる特定の複数の実施形態において、接続は、ハードウェアを物理的に変更することなしには傍受は困難である。このセキュリティに加えて、特定の複数のサービスは、ＨＴＴＰダイジェスト認証を要求し得る。
【０１３３】
ハンドヘルド通信デバイス１０４は、ハンドヘルド通信デバイス１０４においてネイティブに利用可能である特定の複数のネットワークサービスと、ハンドヘルド通信デバイス１０４においてネイティブに利用可能ではないその他とを有し得る。ピアツーピア接続を介して自動車ヘッドユニット１０２から受信した通信の扱いにより、１または複数の特定のネットワークサービスがハンドヘルド通信デバイス１０４を介して自動車ヘッドユニット１０２にとって少しでも利用可能であるかに関わりなく同じやり方で、自動車ヘッドユニット１０２がネットワーク通信を扱うことを可能とするように、ピア通信フレームワークコンポーネント３０４は、自動車ヘッドユニット１０２からの通信を扱い得る。例えば、ピアネットワークスタック３０６および自動車ヘッドユニット１０２ネットワークスタック３０８の両方は、最小のＨＴＴＰまたはＨＴＴＰＳサーバを提供し得、両方が、他のデバイスへＨＴＴＰまたはＨＴＴＰ要求を行い得る。ピア通信フレームワークコンポーネント３０４に関連したピアネットワークスタック３０６は、これらに限定されないが、ハンドヘルド通信デバイス１０４においてネイティブに、自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間のピアツーピアネットワーク上で利用可能である様々な複数のサービスを提供するＨＴＴＰまたはＨＴＴＰＳサーバと、他の複数のサービス要求をアプリケーション３０２へ処理のために渡す能力と、複数のＨＴＴＰ要求を自動車ヘッドユニット１０２へ行う能力とを含む最小のサポートの上位セットを提供し得る。しかし、特定の複数のネットワークサービスがピアツーピア接続上でハンドヘルド通信デバイス１０４において、またはそれを介して利用可能ではない場合に、自動車ヘッドユニット１０２は、ハンドヘルド通信デバイス１０４と異なるように通信を行う必要はない。なぜなら、ハンドヘルド通信デバイス１０４からの対応する応答がそのような複数の要求を、接続を妨害することなく自動車ヘッドユニット１０２とハンドヘルド通信デバイス１０４との間の更なる通信を可能とするよう特定のネットワークプロトコル（例えば、ＴＣＰ／ＩＰ）に従って適切なやり方で扱うからである。例えば、ハンドヘルド通信デバイス１０４がダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）、またはアドレス解決プロトコル（ＡＲＰ）などの複数のサービスを提供しない場合、そのような複数のサービスの複数の要求は、無視され、さもなくば、要求者が現在のネットワーク接続またはセッションを妨害することのない通常のやり方で通信を継続することが可能であるようなやり方で応答されるであろう。したがって、自動車ヘッドユニット１０２は、特定の複数のネットワークサービスが、複数のネットワークサービスの最小のセットを超えて、ハンドヘルド通信デバイス１０４によりサポートまたは提供されるかの「知識」を要求しない。
【０１３４】
例示的な一実施形態において、ピアツーピア接続における各デバイス（例えば、自動車ヘッドユニット１０２およびハンドヘルド通信デバイス１０４）は、特定の役割を有する。本実施例において、ハンドヘルド通信デバイス１０４は、Ｂｌｕｅｔｏｏｔｈ（登録商標）サーバ、および、接続の「アンカー」として動作する。それは、特定のＩＰアドレス、例えば、「１６８．１００．１０．１」を用いる。外部デバイス（例えば、自動車ヘッドユニット１０２）、サーバベースコンピュータネットワーク１０８（この場合、インターネット）への接続を有さない外部デバイスとして動作する。それは、異なる特定のＩＰアドレス、例えば、「１６８．１００．１０．２」を用いる。しかし、ピアツーピア接続上に２つのピア（例えば、自動車ヘッドユニット１０２およびハンドヘルド通信デバイス１０４）のみが存在するシナリオにおいて、それら２つのピア間の通信の宛て先ネットワークアドレスは、意図される宛て先が、通信を送信したもの以外のネットワークピアであることが想定され得るので、無視される。ハンドヘルド通信デバイス１０４または「アンカー」デバイスは、キャッシュのために、およびアプリケーション３０２にとって適切な他の複数の目的のために複数のファイルを取得するのに用いる、サーバベースのシステムコンピュータネットワーク１０８（例えば、一般的なインターネット）へと外部への接続を有する。それは、外部デバイス（例えば、自動車ヘッドユニット１０２）とのピア接続プロセスを制御する。外部デバイスはインターネット接続を要求せず、複数のファイルを取得し複数のサービスを実行するのに、自身の「アンカー」ピア（例えば、ハンドヘルド通信デバイス１０４）を用いるであろう。それは、ピア接続プロセスにおけるクライアントとして動作することが予期され得る。
【０１３５】
サービス名がＵＲＬのファイル／パス名部分であるＨＴＴＰ  ＧＥＴおよびＰＯＳＴ要求により、ピアネットワークスタック３０６および自動車ヘッドユニット１０２ネットワークスタック３０８を介して、ハンドヘルド通信デバイス１０４と自動車ヘッドユニット１０２との間で複数のサービスが提供される。これらサービスは、通常のＨＴＴＰセマンティックおよびヘッダを用い、標準的なＭｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ（ＭＩＭＥ）タイプを用いてデータを提供し得る。ハンドヘルド通信デバイス１０４は、ポート８０上でＨＴＴＰサーバを提供し得る。したがって、ハンドヘルド通信デバイス１０４への要求は、「ｈｔｔｐ：／／１６８．１００．１０．１：８０／ｓｅｒｖｉｃｅｎａｍｅ？ｆｏｏ＝ｂａｒ」のようであり得る。外部デバイス（例えば、自動車ヘッドユニット１０２）は、ポート８０８０上でＨＴＴＰサーバを提供する。したがって、外部デバイスに対する要求は、「ｈｔｔｐ：／／１６８．１００．１０．１：８０８０／ｓｅｒｖｉｃｅｎａｍｅ？ｆｏｏ＝ｂａｒ」のようであり得る。要求されるサービスに応じて、返されるデータは、ローカルにキャッシュされたファイルから取得され得、実行時に生成され得、または別個のネットワーク接続上で要求され得、ピアへ転送され得、または次の要求のためにローカルにキャッシュされ得る。例えば、音声は、ハンドヘルド通信デバイス１０４上でローカルに処理され得、または処理のためにサーバへ送信され得る。サーバに送信された場合、音声処理の結果は、パーズ木、１からＮまでの考えられ得る一致のリスト、エラーとしてハンドヘルド通信デバイス１０４により返され得、さらには、次にすべきことをハンドヘルド通信デバイス１０４に教えるコードへの処理のためにさらに他のサーバに設定され得る。例えば、サーバは、他の第２サーバにとって触覚に関する（タッチ／キーボード）入力の結果に見える、第２サーバに対するクエリーを形成し得、第２サーバは、ハンドヘルド通信デバイス１０４上で、元の入力が触覚に関するものであったかのように正確に同じやり方で応答し得る。その後、音声処理サーバは、それらの結果をハンドヘルド通信デバイス１０４へ戻すように転送し得る。
【０１３６】
複数のサービスは、ピア通信フレームワークコンポーネント３０４への複数のＡＰＩコールを用いて関連するアプリケーション３０２により提供され得る。特定の複数のサービスは、ピア通信フレームワークコンポーネントにネイティブであり、アプリケーションの介入なしで動作し得る。そのような複数のサービスは（これらに限定されるものではないが）、サービス発見（利用可能な複数のサービスを列挙する）、ファイル取得（エイリアスによりキャッシュから複数のファイルを提供し、キャッシュ修正をサポートする）、および、制御されたインターネットプロキシ（事前に選択されたインターネットサーバへの複数の要求を、エイリアスにより転送する）を含む。
【０１３７】
利用可能な複数のサービスの発見は、少なくとも１つピア（例えば、ハンドヘルド通信デバイス１０４または自動車ヘッドユニット１０２）により提供される特定のサービスにより提供される。本実施例において、これはハンドヘルド通信デバイス１０４（「アンカー」デバイス）であり得、発見サービスは、ピア通信フレームワークコンポーネント３０４においてネイティブに利用可能である。一実施形態において、このサービスは、利用可能な複数のサービスを記述する特定されたＥｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）ファイルを返し得る。例えば、ファイルのＵＲＬは「ｈｔｔｐ：／／１６８．１００．１０．１：８０／ｓｅｒｖｉｃｅｌｉｓｔ」であり得る。サービスリストは、外部デバイス（例えば、自動車ヘッドユニット１０２）が利用可能な複数のサービスの複数のメニューを作成し、必要に応じてより多くの情報を取得するべく利用可能な複数のサービスへアクセスするための十分な情報を含む。殆どの場合において、各ピア（例えば、自動車ヘッドユニット１０２およびハンドヘルド通信デバイス１０４）は、他のものからサービスリストを要求するであろう。サービスリストの詳細は、初期化の際にピア通信フレームワークコンポーネント３０４に供給される構成データにより特定され得る。この構成は、アプリケーション３０２により提供され得、または、コンピュータネットワーク１０８（例えば、インターネット）上に保持され得る。後者の場合、構成は、ハンドヘルド通信デバイス１０４の起動の際にアプリケーション３０２によりダウンロードされ、ハンドヘルド通信デバイス１０４の利用可能な複数のサービスは、アプリケーション３０２をリフレッシュすることなく経時的に変化することが可能となるであろう。ハンドヘルド通信デバイス１０４は、自動車ヘッドユニット１０２からの要求が、利用可能な複数のサービスを記述するファイルのサービスに対応するかを決定し得る。その後、利用可能な複数のサービスを記述するファイルのサービスに要求が対応すると決定された場合、ハンドヘルド通信デバイス１０４は、サーバベースコンピュータネットワーク１０８へ要求を転送し得る。
【０１３８】
また、ハンドヘルド通信デバイス１０４から自動車ヘッドユニット１０２へのシリアルデータトランスポートリンク上で情報の通信を行うことにより、ハンドヘルド通信デバイス１０４の対応するユーザインタフェースに視覚的に一致するように外部デバイス（例えば、自動車ヘッドユニット１０２）のユーザインタフェースを構成するよう、ハンドヘルド通信デバイス１０４（「アンカー」デバイス）からの情報の通信が行われ得る。また、外部デバイスへの他の情報を構成または提供するよう、ハンドヘルド通信デバイス１０４（「アンカー」デバイス）からの情報の通信が行われ得る。情報は、ハンドヘルド通信デバイス１０４の対応するユーザインタフェースに視覚的に一致するよう自動車ヘッドユニット１０２のユーザインタフェースを構成するよう自動車ヘッドユニット１０２により用いられるよう適合させられたデータを含み得る。情報は、自動車ヘッドユニット１０２の他の複数の構成要素または複数のアプリケーションを構成するよう自動車ヘッドユニット１０２により用いられる適合させられたデータを含み得る。一例において、自動車ヘッドユニット１０２に返されるデータに含まれる情報は、ハンドヘルド通信デバイス１０４の対応するユーザインタフェースに視覚的に一致するよう構成された、自動車ヘッドユニット１０２のユーザインタフェース上での表示のためのものであり得る。また情報は、サーバベースコンピュータネットワーク１０８上の遠隔のサーバから取得され得、そこで構成され得、および、ハンドヘルド通信デバイス１０４、自動車ヘッドユニット１０２、およびサーバベースコンピュータネットワーク１０８上の１または複数の遠隔デバイスのユーザインタフェースが互いに実質的に一致するよう構成され得る。
【０１３９】
いくつかの例においてハンドヘルド通信デバイス１０４はコンピュータネットワーク１０８へ常に接続されておらず、それでいて外部デバイス（例えば、自動車ヘッドユニット１０２）へ複数のサービスを提供することが好ましいので、ピア通信フレームワークコンポーネント３０４は、要求されたときにデータが利用可能である機会が増えるように、インテリジェントなファイルキャッシュおよびプリローディングを提供し得る。ピア通信フレームワークコンポーネント３０４は、自動車ヘッドユニット１０２から受信する複数の要求のタイプおよびパターンを監視し、受信した複数の要求のタイプおよびパターンに基づき、サーバベースコンピュータネットワーク１０８から受信する応答の少なくとも一部を、ハンドヘルド通信デバイス１０４の複数のメモリのうち１つでキャッシュし得る。受信した複数の要求のタイプおよびパターンの監視などファイルキャッシュサービスの特定の複数の部分は、インターネットサーバ上で実施され得、システムの知能がよりパワフルになり、拡張がより容易になる。キャッシュの実際の管理は、クライアント（例えば、ハンドヘルド通信デバイス１０４）上で起こり得る。そのデバイスの能力および機能は知られている。例えば、ピア通信フレームワークコンポーネント３０４は、キャッシュがどのように管理されるかを制御するのにクライアントが用いるメタデータと共に、どのファイルがキャッシュされるかを特定するキャッシュ制御データをサーバベースコンピュータネットワーク１０８上のサーバから要求するクライアントを含み得る。その後、クライアントは、それらファイルの、ネットワーク１０８からのロードを試み、それらをハンドヘルド通信デバイス１０４上でローカルにストアし、それらをピア通信制御構成要素およびローカルアプリケーション３０２にとって利用可能とする。ハンドヘルド通信デバイス１０４上でまだロードされていない、またはキャッシュ制御データにないキャッシュからファイルが要求された場合、そのファイルはネットワーク１０８から直ぐに要求され、要求者（例えば、自動車ヘッドユニット１０２）に提供される前にキャッシュされ得る。
【０１４０】
ピア間でピアツーピア接続されたどちらかのピア（例えば、ハンドヘルド通信デバイス１０４または自動車ヘッドユニット１０２）、または両方のピアは、他方のピアと通信するのに同一または同様のピア通信フレームワークコンポーネントを用いるアプリケーションを実行し得る。このアプリケーションは、「アンカー」ピア上で接続処理を制御するであろう。「外部」ピアも、同一または同様のピア通信フレームワークコンポーネント３０４を実行し得、「非アンカー」ピアとして動作し得る。しかし、ピア通信フレームワークコンポーネント３０４は、ある時間においてデバイス上で１つのアプリケーション３０２、またはいくつかのアプリケーションへリンクするよう設計され得る。ハンドヘルド通信デバイス１０４上のいくつかの協働するアプリケーションがピア通信フレームワークコンポーネント３０４を同時に用いる必要がある場合、デバイスにとって適切なクロスタスク通信を提供する「ラッパー」アプリケーションが用いられ得る。
【０１４１】
ピア通信フレームワークコンポーネント３０４に接続されているが、一般的なフレームワークに接続されていると信じている（ヘッドユニット１０２のような）デバイス上で、ヘッドユニット１０２上のネットワークスタックが、何らかの「ラッパー」を要さず同時にいくつかのアプリケーションにより用いられ得る。
【０１４２】
ピア通信フレームワークコンポーネント３０４は、複数のプラットフォームのためのＣ／Ｃ＋＋およびＪａｖａ（登録商標）バージョンの両方でコードライブラリとして実施および提供され得る。プラットフォームに応じて、ピア通信フレームワークコンポーネント３０４、並びに関連する複数のモジュールおよび複数のルーチンが、ソースコードとして、および／または、特定のアプリケーション３０２のコードへリンクされ得る予めコンパイルされたバイナリファイルとして提供され得る。いくつかの実施形態において、バイナリファイルは、実行時にリンク可能であり得、いくつかのアプリケーションは、同じデバイス上の単一のピア通信フレームワークコンポーネント３０４ライブラリを共有することが可能となる。ピア通信フレームワークコンポーネント３０４が実行時リンク形態で提供され得る複数のバージョンの複数の例は、これらに限定されるものではないが、Ｂｉｎａｒｙ  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ（ＢＲＥＷ）拡張としてのＢＲＥＷ、およびＪａｖａ（登録商標）  Ａｒｃｈｉｖｅ（ＪＡＲ）ファイルとしてのＪａｖａ（登録商標）  Ｍｏｂｉｌｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｄｅｖｉｃｅ  Ｐｒｏｆｉｌｅ（ＭＩＤＰ）を含む。ピア通信フレームワークコンポーネント３０４モジュールのうちいくつかのみを含み得るピア通信フレームワークコンポーネント３０４ライブラリのカスタムバージョンが提供され得る。ハンドヘルド通信デバイス１０４がマルチタスクを行い得る実施形態において、上記で説明された実行時リンクが用いられ得、ピア通信フレームワークコンポーネント３０４は、この特定の実施形態を実施するためにスタンドアロン型のアプリケーションとして実施され得る。ハンドヘルド通信デバイス１０４がマルチタスクを行えない実施形態において、ハンドヘルド通信デバイス１０４上の複数のアプリケーションは、ヘッドユニット１０２に要求されたときに異なるアプリケーションをシャットダウンし開始することにより協力し得る。そのような複数のシナリオは、アプリケーションが変わるときに、ピア通信フレームワークコンポーネント３０４をシャットダウンし、再開することを伴い得る。
【０１４３】
図３Ｂは、例示的な一実施形態に係る複数のヘッドユニット１０４の複数のソフトウェアモジュールを示す、例示的な一実施形態に係る概略図である。適用可能な複数のアプリケーションプログラミングインタフェース（ＡＰＩ）コールを通じて互いに通信を行い得る様々なソフトウェアコンポーネントの比較的階層的なレイヤー化が示されている。アプリケーション層３１８（Ａｐｐ）は最上部にあり、様々な上位レベルアプリケーション（例えば、複数のナビゲーションシステムアプリケーション、その他）を含み得る。次にコアユーザインタフェースフレームワーク層３２０が示されており、後に続くのは、コア共通フレームワーク層３２２、メディアプレーヤ３２４、アクセス制御層３２６、ピア通信フレームワーククライアント３２８（オプションである）、接続層３３０であり、より下位の自動車ヘッドユニット３３２オペレーティングシステム層が最下部に示されている。
【０１４４】
図４Ａは、お互いへの、およびハンドヘルド通信デバイス１０４のファイルシステム４０２への論理接続を含む、例示的な一実施形態に係るハンドヘルド通信デバイス１０４のピア通信フレームワークコンポーネント３０４およびネットワークスタック３０６、３１２の一例をより詳細に示す。図４Ａの複数のモジュールは、「アンカー」ピア（例えば、ハンドヘルド通信デバイス１０４）の複数の構成要素であるものと本実施例においては説明されているが、ピア通信フレームワークコンポーネント３０４のそのような複数のモジュールは、外部デバイス（例えば、自動車ヘッドユニット１０２）がサービスプロバイダおよび要求者としても動作し、ピア通信フレームワークコンポーネント３０４の機能性を提供し得るように外部デバイスにも存在し得る。本明細書で説明されるＰＣＦの例の複数の態様は、米国特許出願公報第２０１１／０２８９１８６号にも説明されている。同米国特許出願公報はその全体が参照により本明細書に組み込まれる。
【０１４５】
ピア通信フレームワークコンポーネント３０４は、ピア通信フレームワークコンポーネント３０４を制御しピアデバイスと通信を行うのにアプリケーション３０２が用いることが出来る自身のＡＰＩをそれぞれが有するいくつかの構成要素から構成される統合されたフレームワークを提供する。またこれら構成要素は、基本的な複数のサービスを提供するのにピア通信フレームワークコントロール４０４内で活用される。ピア通信フレームワークコンポーネント３０４は、これらに限定されないが、制御ルーチン４０４およびハードウェア抽象化層４０６を含む２つの構成要素を有し得る。ピア通信フレームワークコントロール４０４は、ピア通信フレームワークコントロール４０４を初期化し、複数のグローバルユーティリティを供給し、複数のピア接続を開始し終了させるやり方を提供する。ピア通信フレームワークコントロール４０４およびハードウェア抽象化層４０６の複数の構成要素は、それらが、複数のサービスを要求および提供し、ピア通信フレームワークコンポーネント３０４が実行されているデバイスの通信と動作とを制御するために情報を受信、処理、および送信し得るように、ピアネットワークスタック３０６、ジェネラルネットワークスタック３１２、並びにサービス要求者４０８およびサービスプロバイダ４１０の複数のモジュールの様々な層において動作し、それらと通信を行う。特に、ハードウェア抽象化層４０６は、シリアルデータトランスポート（Ｂｌｕｅｔｏｏｔｈ（登録商標）ＳＰＰ、ＵＳＢ、その他）、デバイスジェネラルネットワークスタック３１２機能性（セルラー、Ｗｉ−Ｆｉ（登録商標）、その他）、およびデバイスファイルシステム４０２の抽象化を提供することにより、下位のデバイス（例えば、ハンドヘルド通信デバイス１０４）からピア通信フレームワークコンポーネント３０４コードを分離する。これらの抽象化はその後、各ローカルデバイスに関して実施され、当該デバイスのためのピア通信フレームワークコンポーネント３０４の特有のポートが作成される。ピア通信フレームワークコントロール４０４の代替的な実施形態は、アプリケーション３０２がＨＴＴＰ以外の複数のプロトコルを実施するのに用い得る、ＴＣＰおよびＵＤＰをサポートする複数のピアネットワークポートオブジェクトを含む。
【０１４６】
アプリケーションの起動の際に、アプリケーション３０２はピア通信フレームワークコントロール４０４を初期化および開始し得、適切な構成ファイルのロケーションが渡される。ピア通信フレームワークコントロール４０４構成ファイルは、主要な機能領域のうちそれぞれに関する複数のセクションを備えたＸＭＬレイアウトを有し得る。
【０１４７】
いくつかの実施形態において、ピア通信フレームワークコントロール４０４は、保持している複数のタグ（ｃｏｎｔａｉｎｉｎｇ  ｔａｇｓ）に情報を提供するのに用いられる、サービス名の意味、プロフィール名、または名前／値のペアを規定しない。これは、特定の実装により構成可能である。このため、他の複数の実施との複数の名前衝突を避ける、および／または、サービスがどのように機能するか、またはプロフィールがどのように用いられるかに関して詳細な仕様を含み得るオープンな名前付けの複数の規格を確立するようなやり方で、複数のネットワークピアが、ネットワークピアの特定のサービスおよび情報の複数の名前の名前空間を作成するのが望ましいかもしれない。各ピアは、自身が認識する複数のサービスおよびプロフィールにどのようにアクセスするかを知るよう構成される。
【０１４８】
構成ファイルのネットワークセクションは、ネットワークがどのように初期化されるか、および、ピア接続が確立されるデータトランスポートを規定する。構成ファイルにおいて特定されるデータトランスポート構成は、用いるデータトランスポート、接続においてデバイスが担う役割を特定し、当該データトランスポートにとって意味を有する名前／値のペアのセットを含む。名前が付けられたトランスポートが利用可能ではない場合、構成は中断され、エラーがアプリケーション３０２に返される。構成ファイルにおいて特定されるＩＰ構成は、デバイスが用いるＩＰアドレス、および、どのサービスポートで要求を受信し、要求を行うかを特定する。構成ファイルの複数のサービスセクションは、ピアが実行出来る複数のサービスのリスト、およびオプションで、あるサービスに関する文脈で意味を有する、同サービスに付された任意の複数の名前／値のペアの複数のリストを提供する。例えば、Ｓｅｒｖｉｃｅｓという名前は、プロフィールに関連付けられ得る。Ｓｅｒｖｉｃｅｓは、サービスへの要求をピア通信フレームワークコントロール４０４がどのように扱うかを特定するタイプを有する。本実施例において、以下の複数のタイプがサポートされる。ａｐｐ、ｆｉｌｅ、ｐｒｏｘｙ、およびｃｕｓｔｏｍ。Ｓｅｒｖｉｃｅｓは、意味がアプリケーション依存である、サービスに関連付けられた複数の名前／値のペアのリストを含み得る。例えば、これら名前／値のペアは、どの引数をサービスがサポートするかを決定するのに要する情報を提供し得る。構成ファイルのキャッシュセクションは、起動の際にどのようにキャッシュをクリアするかを示し、キャッシュする複数のファイルのリストを提供する。複数のキャッシュファイルは、プロフィールに関連付けられ得る。構成ファイルのプロキシ制御セクションは、遠隔のプロキシおよびファイルキャッシュ要求に関してどのＵＲＬが有効であるのかを規定する「許可」および「拒否」パターンのセットをサポートする。例えば、有効なＵＲＬは、「許可」パターンのうち少なくとも１つと一致しなければならず、「拒否」パターンのいずれとも一致し得ない。構成ファイルのプロフィールセクションは、複数のプロフィールに関連付けられた複数のアイテム（例えば、複数のサービスおよび複数のファイル）の複数のグループについてのアプリケーション依存のメタデータを提供する。Ｐｒｏｆｉｌｅｓは、意味がアプリケーション依存である複数のサービスに関連付けられた複数の名前／値のペアのリストを保持し得る。例えば、これら名前／値のペアは、「ｗｅａｔｈｅｒＡｐｐ」と名前が付けられら例示的なプロフィールに関する利用可能な複数のサービスのメニューを作成するのに必要とされる情報を提供する。
【０１４９】
適切な構成ファイルのロケーションが渡された後に、ピア通信フレームワークコントロール４０４は、構成ファイルのフレッシュなコピーを（例えば、インターネット上のサーバから、またはローカルファイルシステムから）取得するであろう。構成ファイルは解析され得、適切な構成データがその後、様々な構成要素に供給される。アプリケーション３０２が要求したとき、ピア通信フレームワークコントロール４０４は、データトランスポート、およびその構成において規定されるデバイスの役割を用いて他のピアを探し始めるであろう。接続が確立されたとき、ピア通信フレームワークコントロール４０４はアプリケーション３０２に通知するであろう。接続が確立されていない場合、ピア通信フレームワークコントロール４０４は停止するよう指示されるまでピアを検索し続けるであろう。接続が確立された後の任意の時点において、アプリケーション３０２は接続の終了を要求し得る。何らかの理由により接続が失敗した場合（例えば、通常の終了、タイムアウト、その他）、アプリケーション３０２は知らされるであろう。
【０１５０】
ファイルキャッシュマネージャコンポーネント４２４は、コンピュータネットワーク１０８などの外部ネットワーク（例えば、インターネット）からの複数のファイルのダウンロードおよびキャッシュを扱い、それらをピアデバイス（例えば、自動車ヘッドユニット１０２）からの要求に応じてアプリケーション３０２およびサービスプロバイダ４１０へ供給する。例えば、ピア通信フレームワークコントロール４０４により管理される構成ファイル（例えば、ＸＭＬファイル）は、各ファイルがどのように扱われるかを決定するメタデータと共に、どのファイルをダウンロードおよびキャッシュするかを特定するキャッシュ制御セクションを含む。構成からの適用可能なキャッシュ制御ＸＭＬをガイドとして用い、その後、ファイルキャッシュマネージャコンポーネント４２４は、ローカルキャッシュのクリーンアップと、新たな複数のファイルのロードとをバックグラウンド処理として、アプリケーション３０２が実行される限り開始する。キャッシュ自体は、デバイスファイルシステム４０２上の標準的なディレクトリであり得、複数のファイルは、ネットワーク１０８から取得されたのと同じフォーマットでそこに保存され得る。キャッシュの合計サイズと、キャッシュ制御のクリーンアップセクションと、個別ファイルキャッシュ制御メタデータとに関するデバイス特有の複数のルールの組み合わせは、ロードが開始する前、またはそれが進行する際にキャッシュからより古いどのファイルが取り除かれるかを決定するであろう。キャッシュマネージャコンポーネント４２４は、合計のキャッシュサイズがデバイス特有の値を超えるのを防ぐであろう。複数のファイル自体は、個別ファイルキャッシュ制御メタデータに供給されるＵＲＬを用いてネットワークから取得される。ファイルキャッシュマネージャコンポーネント４２４は、キャッシュリストへ複数のファイルを追加する、および／または、キャッシュ制御においてファイルのキャッシュメタデータをオーバーライドする、接続されたピア（例えば自動車ヘッドユニット１０２）およびアプリケーション３０２の能力も提供する。一旦リストへ加えられると、ローカルに要求されるファイルは、上記で説明した複数のキャッシュルールを用いて扱われる。
【０１５１】
ファイルキャッシュマネージャコンポーネント４２４は、例えば、バイナリストリームとして、およびＵＲＬの形態でファイルロケーションとして、ファイルデータを取得する２つの方法を提供し得る。特定のファイルが、任意の時点においてファイルキャッシュマネージャコンポーネント４２４から名前によりバイナリストリームとして要求され得る。要求はオプションで、キャッシュ制御において供給されるメタデータをオーバーライドするキャッシュメタデータを含む。要求されたファイル名がキャッシュ制御にない場合、それは以前に渡されたメタデータまたは、オプションであるメタデータに関する複数のデフォルト値のどちらかを用いてキャッシュに加えられる。ファイルが要求された場合、ファイルキャッシュマネージャコンポーネント４２４はまず、それが現在キャッシュにあるかどうか確認するであろう。キャッシュにない場合、ファイルキャッシュマネージャコンポーネント４２４はその後、標準的な複数のファイルキャッシュルールを用いてファイルを要求するが、その瞬間までのロードオーダーにおいてそれを上げる。既にキャッシュにある複数のファイルに関して、ファイルは開かれ、データがバイナリストリームとして供給される。まだキャッシュにない複数のファイルに関して、ファイルはまずネットワークから取得され、ファイルキャッシュに書き込まれ、その後、前述したように開かれる。
【０１５２】
ファイルキャッシュマネージャコンポーネント４２４は、間接的であり、上記で説明した自動的なキャッシュメカニズムを迂回するファイルアクセスの第２の方法を提供し得る。そのような場合、ファイルのロケーションは名前により要求され、ファイルが既にキャッシュにある場合にはファイルキャッシュマネージャがローカルファイルシステムＵＲＬ（例えば、ｆｉｌｅ：／／ｓｏｍｅ／ｐａｔｈ／ｆｏｏ．ｂａｒ）を返すか、または、ファイルがキャッシュにない場合にはファイルキャッシュマネージャコンポーネント４２４がネットワークＵＲＬ（例えば、ｈｔｔｐ：／／ｓｏｍｅ．ｄｏｍａｉｎ／ｆｏｏ．ｂａｒ）を返す。ローカルシステムＵＲＬのフォーマットは、デバイス依存であるであろう。
【０１５３】
上記で説明されたように、キャッシュメタデータはオプションで提供され得、要求されたファイル名は、キャッシュ制御に既になくともよい。しかしこの場合、要求されたファイルは自動的に取得されず、通常のキャッシュロード手順がそれに適用される。結果としてこの方法は、ファイルが複数の要求の間にキャッシュへロードされてしまうので、１つの要求においてネットワークＵＲＬを返し得、後の要求においてファイルＵＲＬを返し得る。
【０１５４】
複数のキャッシュファイルは、ピア通信フレームワークコントロール４０４に関連付けられたアプリケーション３０２により用いられ得る。アプリケーションは、バイナリストリームとしてファイルキャッシュマネージャコンポーネント４２４からファイルデータを要求し得、または、ファイルキャッシュマネージャコンポーネント４２４からファイルロケーションを要求し得、通常通りにそれを開く。また複数のキャッシュファイルは、サービスプロバイダコンポーネント４１０にとって利用可能であり、サービスプロバイダコンポーネント４１０はその後、自動車ヘッドユニット１０２など外部デバイスへそれらを提供し得る。本実施例において、バイナリストリーム方法が用いられる。
【０１５５】
複数のファイル、およびキャッシュを維持するのに用いられるメタデータを特定するキャッシュ制御データは、実行時に、クライアント（例えば、ハンドヘルド通信デバイス１０４）上で、または、サーバベースコンピュータネットワーク１０８内のサーバ上で生成され得る。どのようにこのデータが生成されるかは、必要に応じて単純または複雑であり得、アプリケーション３０２の必要、または、複数のファイルの複数のタイプ、およびアプリケーション３０２の実際の複数の利用パターンのトラッキングおよび監視から得られる経験に基づき経時的に変化し得る。サーバまたはデバイス（例えば、ハンドヘルド通信デバイス１０４）上で適用されるキャッシュの複数のルールは、これらに限定されるものではないが、以下のうち１または複数に基づき得る。使用の可能性により、または最小の時間遅延でデバイスで利用可能でなければならないという理由によりアプリケーションデザイナーにより選ばれる複数のファイル、現在のユーザの複数のジェスチャ（複数の使用パターン）に基づき選択される複数のファイル、集合的なユーザの複数のジェスチャに基づき選択される複数のファイル、複数のユーザ嗜好に基づき選択される複数のファイル、ユーザの車両に基づき選択される複数のファイル、ユーザ現在のロケーションに基づき選択される複数のファイル、一日を通してのユーザの一般的なロケーションに基づき選択される複数のファイル、パートナまたは顧客の複数の要求に基づき選択される複数のファイル、接続されたデバイス（例えば、自動車ヘッドユニット１０２）に基づき選択される複数のファイル、および将来、ファイルを要求するサービスをコールすること（例えば、ハンドヘルド通信デバイス１０４のサービスが、必要に応じてサーバデータベースを更新し得る）。
【０１５６】
ファイル選択処理の最初の実装は単純であり得、必要性が生じた場合に後に複雑さが加えられる。ハンドヘルド通信デバイスクライアントアプリケーション（例えば、サービス要求者のコンポーネント４０８）および接続されたデバイス（例えば、自動車ヘッドユニット１０２）は、キャッシュ制御データにおいて特定されていない複数のファイルをキャッシュから要求し得、それらのファイルは、要求され後に通常通りキャッシュされるであろう。
【０１５７】
サービス要求者のコンポーネント４０８およびサービスプロバイダコンポーネント４１０はそれぞれ、アプリケーション３０２からきて、ピア通信フレームワークコンポーネント３０４により管理されるそのような複数の要求および複数のサービスをサポートするために、ピアネットワークスタック３０６またはジェネラルネットワークスタック３１２を介して複数のサービスを要求および／または提供する、対応するクライアントおよびサーバモジュール（例えば、それぞれ、ＨＴＴＰクライアント４１２およびＨＴＴＰサーバ４１４モジュール）を有し得る。例示的な一実施形態において、ピアネットワークスタックコンポーネント３０６は、適切なシリアルデータトランスポート機能により最小のＴＣＰ／ＩＰスタックを実装する。データトランスポート機能は、デバイスおよびピア通信フレームワークコントロール４０４構成に基づき異なり得る。ピアネットワークスタック３０６は、例えば、トランスポート層においてＴＣＰ機能性４１６、ネットワーク層においてＩＰ機能性４１８、データリンク層においてシリアルラインインターネットプロトコル（スリップ）またはポイントツーポイントプロトコル（ＰＰＰ）機能性４２０、および物理層において、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＳＰＰまたはＵＳＢなどシリアルデータトランスポート機能４２２を含み得る。Ｂｌｕｅｔｏｏｔｈ（登録商標）ＳＰＰに関して、接続サービス名は、例えば「ｐｅｅｒ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｆｒａｍｅｗｏｒｋ  ｖ１．０」など特定の値を用いるであろう。外部デバイス（例えば、自動車ヘッドユニット１０２）は、接続するデバイス（例えば、ハンドヘルド通信デバイス１０４）上で複数のＢｌｕｅｔｏｏｔｈ（登録商標）プロフィールを列挙する際にこの値を探し得る。
【０１５８】
サービスプロバイダコンポーネント４１０は、ＧＥＴおよびＰＯＳＴセマンティックをサポートする最小のＨＴＴＰサーバであり得る。入ってくる複数のＨＴＴＰ要求は、ファイルキャッシュ内の複数のファイル、若しくはピア通信フレームワークコントロール３０４のネイティブな複数のサービスにより扱われる、または、サービスのために関連するアプリケーション３０２へ転送される複数のサービス要求となる。複数のファイルは、「ｆｉｌｅ」（例えば、ｈｔｔｐ：／／１６８．１００．１０．１：８０／ｆｉｌｅ／ｆｉｌｅｐａｔｈ／ｆｉｌｅｎａｍｅ．ｅｘｔ）と呼ばれるピア通信フレームワークコントロール４０４にとってネイティブである特化されたサービスを用いて要求され得る。オプションである複数の引数は、ファイルが取得されるインターネットＵＲＬを含むファイルキャッシュメタデータを特定し得る。しかし、インターネットＵＲＬが複数のキャッシュ制御構成オプションと比較されるので、これはオープンなプロキシではない。また複数のファイルは、サービス構成において規定されたエイリアスを用いて要求され得る。本実施例において、ファイルは、サービス名（例えば、ｈｔｔｐ：／／１６８．１００．１０．１：８０／ｆｉｌｅａｌｉａｓ）のみを用いて要求される。複数のサービスは、サービス名（例えば、ｈｔｔｐ：／／１６８．１００．１０．１：８０／ｓｅｒｖｉｃｅｎａｍｅ？ｆｏｏ＝ｂａｒ）により要求され得る。要求はＨＴＴＰ  ＰＯＳＴの形態であり得るので、何らかのデータタイプの複数のコンテンツを含み得る。
【０１５９】
ピア通信フレームワークコントロール４０４にとってネイティブである複数のサービスは、アプリケーション３０２が通知され、要求を中止するというオプションが与えられた後に、内部でピア通信フレームワークコントロール４０４により扱われる。複数のアプリケーションサービスは、アプリケーションが、要求の複数のコンテンツを決定し、要求に応答するのに用いる「要求」オブジェクトと共に、アプリケーション３０２へ転送される。サービスプロバイダコンポーネント４１０のＨＴＴＰサーバ４１４は、サービスプロバイダコンポーネント４１０にとってネイティブであるいくつかのサービスを提供し得る。例えば、これらには、ｓｅｒｖｉｃｅｌｉｓｔ（構成のサービスリストと同じフォーマットを用いて利用可能な複数のサービスのリストを返す）、ｆｉｌｅｌｉｓｔ（サービスリストとしてフォーマット化された利用可能な複数のファイルのリストを返す）、ｆｉｌｅ（既にそこにない場合にまずキャッシュへそれを加えて、キャッシュからファイルを返す）が含まれるが、これらに限定されるものではない。サービス要求者のコンポーネント４０８により、ピア通信フレームワークコントロール４０４に関連付けられたアプリケーションは、ＧＥＴおよびＰＯＳＴセマンティックを用いて外部ピアデバイス（例えば、自動車ヘッドユニット１０２）へＨＴＴＰ要求を行うことが可能となる。複数のサービスは、外部ピアデバイスにより規定されるように要求され、ＨＴＴＰ  ＧＥＴおよびＰＯＳＴ要求として形成され得る。例えば、要求は、「ｈｔｔｐ：／／１６８．１００．１０．１：８０８０／ｓｅｒｖｉｃｅｎａｍｅ？ｆｏｏ＝ｂａｒ」として形成され得る。要求を行うために、アプリケーション３０２はピア通信フレームワークコントロール４０４から新たな要求オブジェクトを得、その複数のプロパティを必要に応じて設定し、「送信」方法をコールする。上記で説明された要求オブジェクトは、成功または失敗のイベントを始動させ、成功である場合、応答のコンテンツは、バイナリストリームの形態でアプリケーション３０２にとって利用可能とされる。
【０１６０】
上記で説明された特定の複数のモジュール、および他のオプションである、ピア通信フレームワークコンポーネント３０４の複数のモジュールは、他の複数の実施形態において存在してもしなくてもよい。しかし、特定のモジュールが排除されることにより、それらが排除されたデバイスは、ピア通信フレームワークコンポーネント３０４の完全な機能性を予期する外部デバイスに特定の複数のサービスを提供可能であるという意味で、「アンカー」デバイスとして動作することが出来なくなることになる。例えば、インターネットへの接続を有さず、よってキャッシュを行う必要がなく、複数のファイルをサーブする必要がない外部デバイス（例えば、自動車ヘッドユニット１０２）の場合、ファイルキャッシュマネージャモジュール４２４およびサービスプロバイダコンポーネント４１０を容易に取り除くことが出来る（特定の外部デバイスが、インターネットからのキャッシュファイル以外に複数のサービスを提供する必要がない限り）。
【０１６１】
上記で説明したように「アンカー」と外部デバイスとの間の接続に参加している２つのピアのうち一方のみが、ピア通信フレームワークコンポーネント３０４の機能性を実装する必要がある。他方のピアは、適切なデータトランスポートにより規格に準拠したネットワークスタックを用いて接続し得る。例えば、ジェネラルネットワークスタック３０８を有し、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＳＰＰ（外部デバイス）でＳＬＩＰをサポートする自動車ヘッドユニット１０２は、ピア通信フレームワークコンポーネント３０４を実行しているハンドヘルド通信デバイス１０４（「アンカー」）に接続し得る。各ピア（例えば、ハンドヘルド通信デバイス１０４、および自動車ヘッドユニット１０２）は、複数のサービス要求を行い扱うのに要求されるプロトコルサポートと共に、適切な複数のネットワークアドレスを介して通信を行うことが出来る適切なデータトランスポートよびネットワークスタックを提供する。複数のピアは、ピア通信フレームワークコンポーネント３０４ライブラリによりこの機能性が提供される。ピア通信フレームワークコンポーネント３０４を有さない複数のピアは、この機能性を別途実装する。例えば、この特定の機能性は、データトランスポート機能（Ｂｌｕｅｔｏｏｔｈ（登録商標）ＳＰＰ／ＳＬＩＰ、またはその他）、ＴＣＰ／ＩＰ機能性、ＨＴＴＰクライアント機能性（「アンカー」ピアから複数のサービスを要求するための）、および他の複数のオプションであるプロトコルを含み得る。例えば、ピア通信フレームワークコンポーネント（例えば、自動車ヘッドユニット１０２）を有さない複数のピアはオプションで、サービスプロバイダとして動作するＨＴＴＰサーバを「アンカー」ピア（例えば、ハンドヘルド通信デバイス１０４）に提供し得る。
【０１６２】
２つのピアが接続する場合、１または複数のピアは、それらがピアツーピアネットワークに参加していることを示す情報を受信し得る。ここで一方のピアはピア通信フレームワークコンポーネント３０４を有しており、したがって、それらはそれら自身を適切に構成し得る。「アンカー」ピアは、ピア通信フレームワークコンポーネント３０４を有するピアであり、既に適切に構成されているであろう。しかし、外部ピアは、同じ物理シリアルトランスポート上での複数の接続の他の複数の種類をサポートし得、上記で説明したように接続サービス名の値を探している外部のピアによりどの種類の接続が開始されたかを知り得る。
【０１６３】
図４Ｂは、ハンドヘルド通信デバイス１０４の複数のソフトウェアモジュールを示す、他の例示的な実施形態に係る概略図である。適用可能な複数のアプリケーションプログラミングインタフェース（ＡＰＩ）コールを通じて互いに通信を行い得る様々なソフトウェアコンポーネントの比較的階層的なレイヤー化が示されている。アプレット層４２６は最上部にあり、ハンドヘルドデバイス１０４へのダウンロードに利用可能である様々な上位レベルアプリケーションを含み得る。コアユーザインタフェースフレームワーク層４２８が示されており、後に続くのは、コア共通フレームワーク層４３０、メディアプレーヤ、その他のための様々なライブラリ４３２、アクセス制御層４３４、ピア通信フレームワークサーバ４３６、物理アクセス層（ＰＡＬ）４４２、Ｂｌｕｅｔｏｏｔｈ（登録商標）、その他接続インタフェース層４３８、および最後に、ハンドヘルドデバイスオペレーティングシステム層４４０が最下部に示されている。
【０１６４】
図５は、例示的な一実施形態に係る、自動車の自動車ヘッドユニットと、通信デバイスと、それを介してインターネットアクセスが提供されるサーバベースコンピュータネットワークとの間の通信を提供する方法５００を示すフロー図である。
【０１６５】
方法は、ピアツーピアネットワークスタックを介して自動車ヘッドユニット１０２から要求がシリアルデータトランスポートリンク上で受信され得る５０２において開始する。５０３において、外部サーバベースネットワークを介してサービスにより要求が扱われるかが決定され得る。例えば、ハンドヘルド通信デバイスにとってネイティブに（すなわち、そこでローカルに）いくつかのサービスが利用可能であり、その他は、ハンドヘルド通信デバイスの外部であるサーバベースのネットワークを介して利用可能であり得る。ハンドヘルド通信デバイス上でローカルに利用可能であり得るそのようなサービスの例は、インターネットラジオアプリケーションで局を変えるものであり得る。しかし、外部サーバベースネットワークを介してサービスにより要求が扱われるかのこの決定は、全てのサービスがハンドヘルド通信デバイス上でネイティブに利用可能である場合、または、どのサービスもハンドヘルド通信デバイス上でネイティブに利用可能でない場合、必要ではなく、そのような決定を排除するそのような様々な処理およびシステムを含む複数の実施形態が予期される。外部サーバベースネットワークを介してサービスにより要求が扱われると決定された場合、５０４において、要求は、デバイスのジェネラルネットワークスタックを介してサーバベースコンピュータネットワークへ転送される。５０６において、ジェネラルネットワークスタックを介してサーバベースコンピュータネットワークから応答が受信され、５０８において、応答は、シリアルデータトランスポートリンク上で自動車ヘッドユニットへ送信される。一実施形態において、ヘッドユニットと通信デバイスとの間のシリアルデータトランスポートリンクは、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｓｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅ（ＳＰＰ）タイプのシリアルデータトランスポートリンク、またはＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）タイプのシリアルデータトランスポートリンクである。
【０１６６】
５０３において、外部サーバベースネットワークを介してサービスにより要求が扱われないと決定された場合、５１０において、サービスは、要求に従ってローカルに実行される。例えば、サービスは、ハンドヘルド通信デバイス上でローカルに実行され得る。５０８において、サービスを実行することの結果として生じる応答はその後、シリアルデータトランスポートリンク上で自動車ヘッドユニットへ送信される。例えば、サービスがインターネットラジオアプリケーションで局を変えるものである場合、ラジオインターネット局は、要求を外部ネットワークへ転送することなくハンドヘルド通信デバイス上でローカルにサービスを用いて変えられるであろう。
【０１６７】
図６は、例示的な一実施形態に係る、複数のサービス要求のフィルタ処理を含む、自動車ヘッドユニットと、通信デバイスと、サーバベースコンピュータネットワークとの間の通信を提供する方法を示すフロー図である。
【０１６８】
方法は、ピアツーピアネットワークスタックを介して自動車ヘッドユニットから要求がシリアルデータトランスポートリンク上で受信される６０２において開始する。６０４において、要求が複数のサービスの特定されたリスト上のサービスに対応するかが決定される。例えば、複数のサービスの特定されたリストは、自動車ヘッドユニット（例えば、ハンドヘルド通信デバイス）以外のピアを介して利用可能である複数のサービスのリストであり得る。要求が複数のサービスの特定されたリスト上のサービスに対応しないと決定された場合、方法はその後、エラーコード６１２を返し得る（例えば、サービスを要求しているクライアントへＨＴＴＰエラーコードを返す）。６０６において、要求が、複数のサービスの特定されたリスト上のサービスに対応すると決定された場合、６０５において、要求は、外部サーバベースネットワークを介してサービスにより扱われるかが決定される。例えば、ハンドヘルド通信デバイスにとっていくつかのサービスがネイティブに（すなわち、そこでローカルに）利用可能であり、その他は、ハンドヘルド通信デバイスの外部であるサーバベースのネットワークを介して利用可能であり得る。ハンドヘルド通信デバイス上でローカルに利用可能であり得るそのようなサービスの例は、インターネットラジオアプリケーションで局を変えるものであり得る。しかし、外部サーバベースネットワークを介してサービスにより要求が扱われるかの決定は、全てのサービスがハンドヘルド通信デバイス上でネイティブに利用可能である場合、または、どのサービスもハンドヘルド通信デバイス上でネイティブに利用可能でない場合、必要ではなく、そのような決定を排除するそのような様々な処理およびシステムを含む複数の実施形態が予期される。外部サーバベースネットワークを介してサービスにより要求が扱われると決定された場合、６０６において、要求は、ジェネラルネットワークスタックを介してサーバベースコンピュータネットワークへ転送され得る。例えば、ジェネラルネットワークスタックは、ピアツーピアネットワークスタックが存在する同じデバイス（例えば、通信デバイス）に存在する。６０８において、応答は、ジェネラルネットワークスタックを介してサーバベースコンピュータネットワークから受信される。６１０において、応答はその後、シリアルデータトランスポートリンク上で自動車ヘッドユニットへ送信され得る。
【０１６９】
６０４において、外部サーバベースネットワークを介してサービスにより要求が扱われないと決定された場合、その後、６１４において、サービスは、要求に従ってローカルに実行される。例えば、サービスは、ハンドヘルド通信デバイス上でローカルに実行され得る。６１４において、サービスの実行の結果として生じる応答はその後、シリアルデータトランスポートリンク上で自動車ヘッドユニットへ送信される。例えば、サービスが、インターネットラジオアプリケーションで局を変えるものである場合、ラジオインターネット局は、外部ネットワークへ要求を転送することなく、ハンドヘルド通信デバイス上でローカルにサービスを用いて変えられるであろう。
【０１７０】
図７は、例示的な一実施形態に係る、インテリジェントキャッシュを含む、自動車ヘッドユニットと、通信デバイスと、サーバベースコンピュータネットワークとの間の通信を提供する方法を示すフロー図である。
【０１７１】
方法は、ピアツーピアネットワークスタックを介して自動車ヘッドユニットから要求がシリアルデータトランスポートリンク上で受信され得る７０２において開始する。例えば、要求は、自動車ヘッドユニットとのピアツーピア接続を有するピアネットワーク上で通信デバイスにおいて受信され得る。７０４において、要求は、ジェネラルネットワークスタックを介してサーバベースコンピュータネットワークへ転送される。例えば、ジェネラルネットワークスタックは、ピアツーピアネットワークスタックが存在する同じデバイス（例えば、通信デバイス）上に存在する。７０６において、受信される複数の要求の複数のタイプおよび複数のパターンが、監視される。例えば、この監視は、サーバベースコンピュータネットワーク上で１または複数のサーバに対して実行されるが、しかしオプションで、加えて、または代わりに、通信デバイス上でローカルに実行され得る。７０８において、応答は、ジェネラルネットワークスタックを介してサーバベースコンピュータネットワークから受信される。７１０において、応答（または、応答の少なくとも一部）は、受信した複数の要求の複数のタイプおよび複数のパターンの監視に基づきキャッシュされ得る。例えば、応答が受信され得、どのファイルまたは応答を通信デバイス上でキャッシュするかを示す、サーバベースコンピュータネットワークから受信する様々なキャッシュデータに従って、通信デバイス上で応答の少なくとも一部がキャッシュされ得る。方法はその後、さらに要求が受信された場合に、７０２から開始して繰り返され得る７１４。
【０１７２】
図８は、例示的な一実施形態に係る、第１ネットワークピアにより、複数の通信のうち１または複数に含まれるサービス要求に応答することを含む、ダイレクトシリアルデータトランスポートリンク上で第１ネットワークピアと第２ネットワークピアとの間の通信ネットワーク環境において通信を行うための方法８００を示すフロー図である。
【０１７３】
方法は、任意の時点において２つのネットワークアドレスのみが用いられるネットワーク上で、ダイレクトシリアルデータトランスポートリンクにより通信が受信される８０２から開始する。ダイレクトシリアルデータトランスポートリンク上の第１ネットワークピアと第２ネットワークピアとの間には確立されたデータトランスポート接続があり得、第１ネットワークピアは、リンクの外部であるネットワークへの別個のネットワークインタフェース上で別個の接続を有し得る。８０４において、通信パケットの宛て先ネットワークアドレスに関わらず、受信した通信からペイロードが抽出される。例えば、宛て先ネットワークアドレスは無視され得、さもなくば、用いられない。また、ダイレクトシリアルデータトランスポートリンク上の第１ネットワークピアと第２ネットワークピアとの間の確立されたデータトランスポート接続は、第１ネットワークピアおよび第２ネットワークピアのネットワークアドレスの第１ネットワークピアおよび第２ネットワークピアのハードウェアアドレスへの解決が、第１ネットワークピアによるサービス要求への応答のために必要ではないものであり得る。８０６において、通信に含まれるサービス要求は、ダイレクトシリアルデータトランスポートリンクの外部のネットワークへ、別個の接続を介して元々は取得されたデータを提供することにより応答される。例えば、ダイレクトシリアルデータトランスポートリンクの外部のネットワークは、インターネットであり得る。方法はその後、さらに通信が受信された場合に、８０２から開始して繰り返され得る８０８。
【０１７４】
図９は、例示的な一実施形態に係る、特定の複数のネットワークサービスの複数の要求を有する、受信された通信を扱うことを含む、ダイレクトシリアルデータトランスポート上の第１ネットワークピアと第２ネットワークピアとの間の通信ネットワーク環境において通信を行うための方法９００を示すフロー図である。
【０１７５】
方法は、ダイレクトシリアルデータトランスポートリンク上で通信が、第２ネットワークピアから第１ネットワークピアにより受信される９０２において開始する。９０４において、受信された通信はその後、第２ネットワークピアが、正常な（ｉｎ  ｏｒｄｅｒ）より一般的なネットワークではなく、ピアツーピアネットワーク上にあると知ることが求められないように扱われる。第２ネットワークピアは、第１ネットワークピアが要求されるネットワークサービスを提供しなくとも、第１ネットワークピアが特定のジェネラルネットワークサービスを提供したかのように同じやり方で、ネットワーク通信を扱うことが可能となる。第１ネットワークピアからの対応する応答は、接続を妨害することなく第１ネットワークピアと第２ネットワークピアとの間の通信をさらに可能とするよう特定のネットワークプロトコル（例えば、ＴＣＰ／ＩＰ）に従って適切なやり方の通信においてサービス要求を扱うであろう。例えば、第１ネットワークピアがダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）またはアドレス解決プロトコル（ＡＲＰ）などの複数のサービスを提供しない場合、そのような複数のサービスの要求は、無視され、さもなくば、要求者が現在のネットワーク接続またはセッションを妨害することのない通常のやり方で通信を継続することを可能とするようなやり方で応答されるであろう。方法はその後、さらに通信が受信された場合に、９０２から開始して繰り返され得る９０６。
【０１７６】
図１０は、複数の自動車ヘッドユニットを伴った複数のサービスおよび複数の通信を提供するためのシステムの様々なロジックコンポーネントの、例示的な一実施形態に係るシステムアーキテクチャ図である。
【０１７７】
様々な通信システムキャリアネットワーク１０７０上の他のサービスプロバイダ１００２、１０１８、１０３０、１０３８、１００４および１０４８と共に、主要なサービスプロバイダ１０８０と通信を行っているハンドヘルドデバイス１０４および複数のヘッドユニット１０４が示されている。主要なサービスプロバイダ１０８０は、ストリーミングミュージック、ニュース、スポーツ、天気、旅行、警告システム情報、地図、ナビゲーション、情報、その他、並びに、他のエンターテイメントおよび情報データサービスなど複数のサービスを、複数のヘッドユニット１０４およびハンドヘルドデバイス１０２へ提供する。ハンドヘルドデバイス１０４および／またはヘッドユニット１０２のユーザは、それらの情報および個人的な複数の嗜好が、彼らのハンドヘルドデバイス１０２および／または彼らのヘッドユニット１０４、若しくは、他の複数のデバイスおよび主要なサービスプロバイダ１０８０と通信を行うよう構成された何らかのヘッドユニット（例えば、複数のヘッドユニット１２０）上で格納され、またはそれらを介してフォローされ、アクセス可能であるように、主要なサービスプロバイダ１０８０によりサービスされ管理されるアカウントに関連付けられ得る。彼らの自動車の車両識別番号（ＶＩＮ）も、ヘッドユニット１０２およびユーザのアカウントに関連付けられ得る。このやり方で、ユーザおよび彼らのデバイスは、ユーザが手動でクレデンシャル情報を毎回提供しなければならないということなく、主要なサービスプロバイダ１０８０へ、または互いに複数のサービス要求を送信する際に自動的に認証され得る。例として、以下の表は、多くの実施形態において本明細書で説明される複数のシステム内で実装される多くの技術的特徴を提示する。またここで用いられる「ＴＧＴ」は、主要なサービスプロバイダを指す。
【０１７８】
【表１】
2018074579.tif 000003
【表２】
2018074579.tif 000004
【表３】
2018074579.tif 000005
【表４】
2018074579.tif 000006
【表５】
2018074579.tif 000007
【表６】
2018074579.tif 000008
【０１７９】
図１１は、例示的な一実施形態に係る、サーバを介して、特定された遠隔の車両ヘッドユニット１０２へ複数のサービスおよび／または情報を提供する方法１１００を示すシステムフロー図である。
【０１８０】
方法は、サーバが、認証されたユーザの遠隔デバイスから要求を受信する１１０２から開始する。
【０１８１】
１１０４において、サーバは、要求に関連付けられた（遠隔デバイスであってもよく、なくてもよい）遠隔の車両ヘッドユニットを特定する。
【０１８２】
１１０６において、要求に応じ、サーバが電子的に、要求、認証されたユーザ、および遠隔デバイスのうち１または複数に基づき、サーバを介して、特定された遠隔の車両ヘッドユニットへ複数のサービスおよび／または情報を提供する。
【０１８３】
図１２は、例示的な一実施形態に係る、受信した情報に基づき車両ヘッドユニットを自動的に構成する方法１２００を示すシステムフロー図である。
【０１８４】
１２０２において、車両ヘッドユニットは、モバイルデバイスから要求を受信し、要求を認証する。
【０１８５】
１２０４において、要求を認証したことに応じ、ヘッドユニットは、モバイルデバイスから複数のサービスおよび／または情報を受け付ける。
【０１８６】
１２０６において、受け付けられた複数のサービスおよび／または情報に応じ、ヘッドユニットは、モバイルデバイスからの、受け付けられた複数のサービスおよび／または情報と、要求に関連付けられたユーザに関連付けられた複数のサービスおよび／または情報とのうち１または複数に基づき車両ヘッドユニットを自動的に構成する。ここで、要求に関連付けられたユーザに関連付けられた複数のサービスまたは情報は、遠隔のサーバからのものである。
【０１８７】
図１３は、例示的な一実施形態に係る、特定された複数のユーザ嗜好に従って車両ヘッドユニットを自動的に構成すること基づき車両ヘッドユニットを自動的に構成する方法１３００を示すシステムフロー図である。
【０１８８】
１３０２において、ヘッドユニットは、モバイルデバイスから要求を受信する。
【０１８９】
１３０４において、ヘッドユニットは要求を認証する。
【０１９０】
１３０６において、要求を認証したことに応じ、ヘッドユニットは、モバイルデバイスから複数のサービスまたは情報を受け付ける。
【０１９１】
１３０８において、受け付けられた複数のサービスまたは情報に応じて、ヘッドユニットは、モバイルデバイスからの、受け付けられた複数のサービスまたは情報と、要求に関連付けられたユーザに関連付けられた複数のサービスまたは情報とのうち１または複数に基づき、要求に関連付けられたユーザの特定された複数のユーザ嗜好に従ってヘッドユニットを自動的に構成する。ここで、要求に関連付けられたユーザに関連付けられた複数のサービスまたは情報は、遠隔のサーバからのものである。
【０１９２】
図１４は、例示的な一実施形態に係る、車両ヘッドユニットにユーザの複数のユーザ嗜好に従って自動的に動作させる方法１４００を示すシステムフロー図である。
【０１９３】
１４０２において、ハンドヘルドデバイスは、ユーザおよび遠隔の車両ヘッドユニットに関連付けられた要求を送信する。
【０１９４】
１４０４において、送信された要求に応じて、ハンドヘルドデバイスは、ユーザの複数のユーザ嗜好の複数のインディケーションを受信する。
【０１９５】
１４０６において、ハンドヘルドデバイスは遠隔の車両ヘッドユニットに、ユーザの複数のユーザ嗜好の受信した複数のインディケーションに基づき、ユーザの複数のユーザ嗜好に従って動作させる。また、サービスプロバイダのサーバが段階を実行する同じ、または同様の方法１４００が適用され得る。
【０１９６】
要約に説明されるものも含む示された複数の実施形態の上記の説明は、網羅的であること、開示された正確な複数の形態に複数の実施形態を限定することを意図されていない。例示目的のために特定の複数の実施形態および複数の例が本明細書で説明されているが、当業者には理解いただけるように、本開示の思想および態様から逸脱することなく様々な同等の修正が加えられ得る。本明細書において提供される、様々な実施形態の複数の教示は、必ずしも、上記で一般的に説明された例示的な自動車ヘッドユニット１０２およびハンドヘルド通信デバイス１０４ではなく、他の複数のデバイスに適用され得る。
【０１９７】
例えば、前述の詳細な説明は、複数のブロック図、複数の概略、および複数の例を利用して複数のデバイスおよび／または複数の処理の様々な実施形態を明記した。そのような複数のブロック図、複数の概略、および複数の例が１または複数の機能および／または動作を含む限りにおいて、当業者には、そのような複数のブロック図、複数のフローチャート、および複数の例における各機能および／または動作が、幅広い範囲のハードウェア、ソフトウェア、ファームウェア、または事実上これらの何らかの組み合わせで個別および／または集合的に実装され得ることが理解されよう。１または複数のコンピュータにより実行される１または複数のコンピュータプログラム（例えば、１または複数のコンピュータシステムで実行されている１または複数のプログラム）として、１または複数のコントローラ（例えば、複数のマイクロコントローラ）により実行される１または複数のプログラムとして、１または複数のプロセッサにより実行される１または複数のプログラム（例えば、マイクロプロセッサ）として、ファームウェアとして、または事実上これらの何らかの組み合わせとして、標準的な複数の集積回路において、本明細書に開示される複数の実施形態が、全体的に、または部分的に同等に実装され得ることと、回路を設計すること、並びに、ソフトウェアのために、および／またはファームウェアのためにコードを書くことが本開示の複数の教示を鑑みれば当業者の技術範囲に十分含まれることとを、当業者は理解されよう。
【０１９８】
ロジックがソフトウェアまたはファームウェアとして実装され、メモリに格納された場合、ロジックまたは情報は、何らかのプロセッサ関連のシステムまたは方法により、またはそれらとの関連で用いられる何らかのコンピュータ可読媒体（すなわち、プロセッサ可読記憶媒体）に格納され得る。本開示の文脈において、メモリは、コンピュータおよび／またはプロセッサプログラムを保持または格納する、電子、磁気、光学式、または他の物理的デバイスまたは手段であるコンピュータ可読媒体である。ロジックおよび／または情報は、コンピュータベースのシステム、プロセッサを含んだシステム、または、命令実行システム、装置、またはデバイスから複数の命令をフェッチし得、ロジックおよび／または情報に関連付けられた複数の命令を実行し得る他のシステムなど、命令実行システム、装置、またはデバイスにより、またはそれらとの関連で用いられる何らかのコンピュータ可読媒体で実施され得る。
【０１９９】
本明細書の文脈において、「コンピュータ可読媒体」または「プロセッサ可読記憶媒体」は、命令実行システム、装置、および／またはデバイスにより、またはそれらとの関連で用いられるロジックおよび／または情報に関連付けられたプログラムを格納し得る何らかの物理的な要素であり得る。コンピュータ可読媒体は例えば、このことに限定されるわけではないが、電子、磁気、光学式、電磁気、赤外線、または半導体システム、装置、またはデバイスであり得る。コンピュータ可読媒体のより特定的な複数の例（非網羅的なリスト）は、以下のものを含み得る。ポータブルコンピュータディスク（磁気、コンパクトフラッシュ（登録商標）カード、セキュアデジタル、またはその他）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュメモリ）、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤＲＯＭ）、デジタルテープ。
【０２００】
上記で説明された様々な実施形態は、組み合わせられて更なる実施形態を提供し得る。本明細書の特定の複数の教示および複数の定義と矛盾しない限り、本明細書において参照されている、および／またはアプリケーションデータシートに列挙されている米国特許、米国特許出願公報、米国特許出願、外国の特許、外国の特許出願、非特許文献の全ては、それらの全体が参照により本明細書に組み込まれる。必要であれば、様々な特許、出願、および文献の複数のシステム、複数の回路、および複数の概念を採用すべく、複数の実施形態の複数の態様は修正され得、また更なる複数の実施形態が提供される。
【０２０１】
上記の詳細な説明を鑑みれば、これらおよび他の複数の変更が複数の実施形態に加えられ得る。一般的に、以下の請求項において、用いられる複数の用語は、明細書および請求項に開示される特定の実施形態に請求項を限定するものと解釈されるべきではなく、そのような請求項が権利を与えられる同等物の範囲全体と共に、全ての可能な実施形態を含むものと解釈されるべきである。したがって、請求項は開示により限定されない。
なお、本願明細書に記載の実施形態によれば、以下の構成もまた開示される。
［項目１］
自動車ヘッドユニットへ複数のサービスを電子的に提供する方法であり、
サーバのコンピュータプロセッサにより、認証されたユーザの遠隔デバイスから要求を受信する段階と、
前記サーバの前記コンピュータプロセッサにより、前記要求に関連付けられた遠隔の自動車ヘッドユニットを特定する段階と、
前記要求に応じ、前記サーバの前記コンピュータプロセッサにより、前記要求、前記認証されたユーザ、他の認証されたユーザ、および前記遠隔デバイスのうち１または複数に基づき、特定された前記遠隔の自動車ヘッドユニットへ複数のサービスまたは情報を電子的に提供して、前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザの特定された複数のユーザ嗜好のうち、または前記他の認証されたユーザの特定された複数のユーザ嗜好のうち対応する複数の嗜好に従って動作させる段階と
を備える方法。
［項目２］
前記認証されたユーザは、前記遠隔デバイスに関連付けられており、前記遠隔の自動車ヘッドユニットは、前記他の認証されたユーザに関連付けられている、項目１に記載の方法。
［項目３］
前記遠隔デバイスは、前記自動車ヘッドユニット、モバイルデバイス、およびコンピュータのうち１つである、項目１に記載の方法。
［項目４］
前記遠隔デバイスは自動車ヘッドユニットであり、前記サーバはモバイルデバイス上で動作しており、前記特定されたユーザの前記対応する複数の嗜好は前記モバイルデバイスに関連付けられている、項目１に記載の方法。
［項目５］
前記サーバの前記コンピュータプロセッサにより、前記認証されたユーザの特定された前記複数のユーザ嗜好を前記モバイルデバイスに格納して、前記モバイルデバイスが、１または複数の他の特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザの前記特定された複数のユーザ嗜好に従って動作させることを可能とする段階をさらに備える、項目４に記載の方法。
［項目６］
前記サーバの前記コンピュータプロセッサにより、前記複数のサービスまたは情報を他の特定された遠隔の自動車ヘッドユニットへ電子的に提供して、前記他の特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザの前記特定された複数のユーザ嗜好に従って動作させる段階をさらに備える、項目５に記載の方法。
［項目７］
提供される前記情報は、前記特定された複数のユーザ嗜好を含む、項目１に記載の方法。
［項目８］
前記遠隔デバイスは、前記特定された遠隔の自動車ヘッドユニットから地理的に遠隔で位置付けられたモバイルデバイスである、項目１に記載の方法。
［項目９］
前記遠隔デバイスはモバイルデバイスであり、前記遠隔デバイスから前記要求を受信する前記段階は、前記特定された遠隔の自動車ヘッドユニットからの前記要求を受信した前記モバイルデバイスから前記要求を受信する段階を有する項目１に記載の方法。
［項目１０］
前記サーバを介して前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を電子的に提供する前記段階は、前記ユーザのモバイルデバイスにデータを電子的に提供して、前記モバイルデバイスが、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を提供することを可能とする段階を有する、項目１に記載の方法。
［項目１１］
前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を電子的に提供する前記段階は、前記特定された遠隔の自動車ヘッドユニットの無線遠距離通信受信機を介して、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を電子的に提供する段階を有する、項目１に記載の方法。
［項目１２］
前記特定された遠隔の自動車ヘッドユニットへ前記特定された遠隔の自動車ヘッドユニットの前記無線遠距離通信受信機を介して前記複数のサービスまたは情報を電子的に提供する段階は、セルラーサービスを用いて前記サーバにより、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を提供して、前記特定された遠隔の自動車ヘッドユニットへ前記複数のサービスまたは情報を提供するようデータの通信を行う段階を含む、項目１１に記載の方法。
［項目１３］
前記特定された遠隔の自動車ヘッドユニットへ前記サーバを介して前記複数のサービスまたは情報を電子的に提供する前記段階は、
前記認証されたユーザまたは他の認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従う複数のサービスまたは情報と、
前記認証されたユーザが前記車両を遠隔で制御または構成するための複数のサービスまたは情報と、
前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って前記車両の複数の設定を遠隔で、かつ自動的に構成するための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットを介して、前記認証されたユーザの複数のサードパーティサブスクリプションサービスに遠隔で、かつ自動的にアクセスし、およびそれらを提供するための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、音楽関連情報、特定された複数の音楽の嗜好、または特定の音楽の複数の選択を自動的に再生または表示させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、スポーツ関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、天気関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、ニュース関連情報、特定された複数の嗜好、または複数の以前の選択を表示または自動的に再生させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、特定された複数の嗜好、または複数の以前の選択に従って、インターネット検索エンジン関連情報を自動的に再生または表示させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザへウェブブラウザ機能性を提供させるための複数のサービスまたは情報と、
前記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従って、前記特定された遠隔の自動車ヘッドユニットの複数のユーザインタフェース設定または特定された複数の嗜好を遠隔で構成するための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従ってカスタマイズされたユーザインタフェースを自動的に表示させるための複数のサービスまたは情報と、
前記特定された遠隔の自動車ヘッドユニットに、前記認証されたユーザのプロフィール、複数の以前の選択、または特定された複数の嗜好に従って、複数のナビゲーションシステム設定を自動的に構成させるための複数のサービスまたは情報と、
前記自動車ヘッドユニットがナビゲーションシステムに関連して、興味の対象である複数の地理的ロケーションまたは地点を用いることを可能とする、前記認証されたユーザの前記興味の対象である複数の地理的ロケーションまたは地点に関連する複数のサービスまたは情報と、
前記要求に関連付けられた前記遠隔の自動車ヘッドユニットの前記特定に基づく、前記特定された遠隔の自動車ヘッドユニットと前記認証されたユーザの前記遠隔デバイスとの間のペアリングを可能とする複数のサービスまたは情報と、
前記遠隔デバイスと前記特定された遠隔の自動車ヘッドユニットとの間の情報の伝達を促す複数のサービスまたは情報と
のうち１または複数を提供する段階を有する、項目１に記載の方法。
［項目１４］
コンピュータプロセッサに、
遠隔デバイスから要求を受信する手順と、
前記要求に関連付けられた遠隔の自動車ヘッドユニットを特定する手順と、
前記要求に応じ、特定された前記遠隔の自動車ヘッドユニットに、少なくとも、ユーザの複数のユーザ嗜好を前記遠隔デバイスに対して特定することにより前記ユーザの前記複数のユーザ嗜好に従って動作させる手順と
を実行させるプログラム。
［項目１５］
前記特定された遠隔の自動車ヘッドユニットに複数のユーザ嗜好に従って動作させる前に、前記コンピュータプロセッサにさらに、前記ユーザを認証する手順を実行させる、項目１４に記載のプログラム。
［項目１６］
前記遠隔デバイスは、前記自動車ヘッドユニット、モバイルデバイス、およびコンピュータのうち１つである、項目１４に記載のプログラム。
［項目１７］
前記遠隔デバイスは自動車ヘッドユニットであり、前記ユーザの前記複数のユーザ嗜好は、モバイルデバイスに関連付けられており、前記ユーザの前記複数のユーザ嗜好を前記遠隔デバイスに対して特定することは、前記モバイルデバイスから前記遠隔デバイスに、前記ユーザの前記複数のユーザ嗜好の通信を行うことを含む、項目１４に記載のプログラム。
［項目１８］
前記コンピュータプロセッサにさらに、認証された前記ユーザの前記複数のユーザ嗜好を前記モバイルデバイスに格納して、前記モバイルデバイスが、１または複数の他の特定された遠隔の自動車ヘッドユニットに、前記ユーザの前記複数のユーザ嗜好に従って動作させることを可能とする手順を実行させる、項目１７に記載のプログラム。
［項目１９］
前記遠隔デバイスは前記特定された自動車ヘッドユニットであり、前記ユーザの前記複数のユーザ嗜好を前記遠隔デバイスに対して特定することは、モバイルデバイスから前記特定された自動車ヘッドユニットへ、前記複数のユーザ嗜好の通信を行うことを含む、項目１４に記載のプログラム。
［項目２０］
前記遠隔デバイスは前記特定された自動車ヘッドユニットであり、前記特定された遠隔の自動車ヘッドユニットに複数のユーザ嗜好に従って動作させる前記手順は、サーバまたはモバイルデバイスから前記特定された自動車ヘッドユニットへ、バックグラウンド画像の通信を行う手順をさらに有する、項目１４に記載のプログラム。
［項目２１］
前記遠隔デバイスは、前記特定された遠隔の自動車ヘッドユニットから地理的に遠隔で位置付けられたモバイルデバイスである、項目２０に記載のプログラム。
［項目２２］
前記遠隔デバイスは前記特定された自動車ヘッドユニットであり、前記ユーザの前記複数のユーザ嗜好を前記遠隔デバイスに対して特定することは、承認されたモバイルデバイスから、またはサーバから前記特定された自動車ヘッドユニットへ、前記複数のユーザ嗜好の通信を行うことを含む、項目１４に記載のプログラム。
［項目２３］
コンピュータプロセッサと、
前記コンピュータプロセッサに結合された少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体と
を備え、
前記少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに前記コンピュータプロセッサに、
モバイルデバイスから要求を受信させ、
前記要求を認証させ、
前記要求の認証に応じ、前記モバイルデバイスからの複数のサービスまたは情報を受け付けさせ、
受け付けられた前記複数のサービスまたは情報に応じ、前記モバイルデバイスからの前記受け付けられた複数のサービスまたは情報と、前記要求に関連付けられたユーザに関連付けられた複数のサービスまたは情報とのうち１または複数に基づき、前記要求に関連付けられた前記ユーザの特定された複数のユーザ嗜好に従って自動車ヘッドユニットを自動的に構成させる
複数のプロセッサ実行可能命令を格納しており、
前記要求に関連付けられた前記ユーザに関連付けられた前記複数のサービスまたは情報は、遠隔のサーバからのものである、前記自動車ヘッドユニットのシステム。
［項目２４］
前記モバイルデバイスからの受け付けられた前記情報は、前記特定された複数のユーザ嗜好を含む、項目２３に記載の自動車ヘッドユニットのシステム。
［項目２５］
前記要求に関連付けられた前記ユーザに関連付けられた前記受け付けられた情報は、前記特定された複数のユーザ嗜好を含む、項目２３に記載の自動車ヘッドユニットのシステム。
［項目２６］
前記モバイルデバイスは、前記自動車ヘッドユニットのシステムから地理的に遠隔で位置付けられている、項目２３に記載の自動車ヘッドユニットのシステム。
［項目２７］
前記モバイルデバイスは、前記自動車ヘッドユニットのシステムと前記モバイルデバイスとの間の近距離無線通信の範囲内に位置付けられている、項目２３に記載の自動車ヘッドユニットのシステム。
［項目２８］
コンピュータプロセッサに、
ユーザと遠隔の自動車ヘッドユニットとに関連付けられた要求を送信する手順と、
送信された前記要求に応じて、前記ユーザの複数のユーザ嗜好の複数のインディケーションを受信する手順と、
前記遠隔の自動車ヘッドユニットに、ユーザの複数のユーザ嗜好の受信した前記複数のインディケーションに基づき、前記ユーザの前記複数のユーザ嗜好に従って動作させる手順と
を実行させる、プログラム。
［項目２９］
前記ユーザと前記遠隔の自動車ヘッドユニットとに関連付けられた前記要求を送信する手順の前に、前記コンピュータプロセッサにさらに、前記ユーザを認証する手順を実行させる、項目２８に記載のプログラム。
［項目３０］
前記ユーザと前記遠隔の自動車ヘッドユニットとに関連付けられた前記要求を送信する前記手順は、遠隔のサーバへ、または近距離無線信号を介して無線でモバイルデバイスへ前記要求を送信する手順を有する、項目２８に記載のプログラム。
［項目３１］
自動車のヘッドユニットとハンドヘルドフォームファクタを有する通信デバイスとの間で通信を提供するコンピュータ実施方法であり、
前記通信デバイスのプロセッサにより、前記ヘッドユニットと、前記自動車の車両識別子と、前記通信デバイスと、ユーザアカウントと、複数のユーザクレデンシャルとのうち１または複数を伴った承認の認証または検証に基づき、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する通信リンクの確立を促す段階と、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットからの情報を受信する段階と、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納されたユーザ特有の嗜好またはユーザ識別情報とに基づき、サービスを電子的に提供する段階と
を備える、コンピュータ実施方法。
［項目３２］
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する前記通信リンクが依然として確立されている間に、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを示すアクセス制御情報であり、前記ヘッドユニットから受信した前記情報と、前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づく値を有する前記アクセス制御情報を、異なる通信リンクを介して遠隔のサーバから受信する段階と、
前記通信デバイスの前記プロセッサにより、前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されるかを決定する段階と、
前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記サービスが前記ヘッドユニットにより用いられることが承認されると決定された場合に、前記通信デバイスの前記プロセッサにより、前記通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有する、項目３１に記載のコンピュータ実施方法。
［項目３３］
前記ヘッドユニットから受信する前記情報は、前記サービスの要求を含み、前記アクセス制御情報に基づき、特定の前記サービスが前記ヘッドユニットにより用いられることが承認されるかを決定する前記段階は、前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから前記サービスの前記要求を受信することに応じて、前記サービスが、前記ヘッドユニットにより用いられることが承認されるかを決定する段階を含む、項目３２に記載のコンピュータ実施方法。
［項目３４］
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから複数の要求を受信する段階と、
前記通信デバイスの前記プロセッサにより、前記遠隔のサーバから受信した前記アクセス制御情報に基づき、前記ヘッドユニットが受信することが承認されていないサービスの少なくとも１つ要求を、前記複数の要求からフィルタ処理により取り除く段階と、
前記通信デバイスの前記プロセッサにより、前記フィルタ処理により取り除かれた前記少なくとも１つの要求に関して前記ヘッドユニットを拒否する段階と
をさらに備える、項目３２に記載のコンピュータ実施方法。
［項目３５］
前記通信デバイスの前記プロセッサにより、前記フィルタ処理により取り除かれた前記少なくとも１つの要求に対する応答メッセージであり、前記ヘッドユニットからの出力としてユーザにより見られる、または聞かれる、前記ヘッドユニットが何故、前記フィルタ処理により取り除かれた前記少なくとも１つの要求により要求されるサービスを受信することが承認されないのかの理由を示す前記応答メッセージを送信する段階をさらに備える、項目３２に記載のコンピュータ実施方法。
［項目３６］
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットが何故、前記フィルタ処理により取り除かれた前記少なくとも１つの要求により要求される前記サービスを受信することが承認されないかの前記理由を、前記フィルタ処理により取り除かれた前記少なくとも１つの要求により要求される前記サービスが、前記通信デバイスに格納された前記ユーザ識別情報に関連付けられたアカウントのサービスレベルに含まれないからであると決定する段階をさらに備える、項目３５に記載のコンピュータ実施方法。
［項目３７］
前記通信デバイスは無線モバイルデバイスであり、前記通信リンクは無線リンクであり、前記ヘッドユニットから前記情報を受信する前記段階は、前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから前記情報を無線受信する段階を有する、項目３１に記載のコンピュータ実施方法。
［項目３８］
前記ヘッドユニットから受信する前記情報は、特定のユニフォームリソースロケータ（ＵＲＬ）により示されるインターネット上で利用可能な情報の要求を含み、前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ＵＲＬへのアクセスが前記ヘッドユニットにより承認されるかを決定する段階と、
前記ヘッドユニットに関して、前記ＵＲＬへの前記アクセスが承認されると決定された場合に、前記通信デバイスの前記プロセッサにより、前記通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有し、
前記サービスは、前記インターネット上で利用可能な情報のために、前記ユニフォームリソースロケータ（ＵＲＬ）の前記ヘッドユニットへのアクセスを提供することを含む、項目３１に記載のコンピュータ実施方法。
［項目３９］
前記ヘッドユニットから受信する前記情報は、特定のデータタイプの要求を含み、
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記特定のデータタイプへのアクセスが前記ヘッドユニットにより承認されるかを決定する段階と、
前記ヘッドユニットに関して、前記特定のデータタイプへの前記アクセスが承認されると決定された場合に、前記通信デバイスの前記プロセッサにより、前記通信デバイスを介して前記ヘッドユニットへ前記サービスを電子的に提供する段階と
を有し、
前記サービスは、前記特定のデータタイプへのアクセスを提供することを含む、項目３１に記載のコンピュータ実施方法。
［項目４０］
前記特定のデータタイプへのアクセスが前記ヘッドユニットにより承認されるかを決定する前記段階は、
前記通信デバイスの前記プロセッサにより、遠隔のサーバから情報を受信する段階を含み、
少なくとも部分的に前記遠隔のサーバからの前記情報に基づき、前記特定のデータタイプへのアクセスが承認されるかが決定され、
前記遠隔のサーバからの前記情報は、前記ユーザアカウントまたは前記ユーザ識別情報に関連付けられたアカウントのサブスクリプションレベルと、前記ヘッドユニットの複数の特性と、前記通信デバイスの複数の特性とのうち１または複数に基づき変化する、項目３９に記載のコンピュータ実施方法。
［項目４１］
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する前記通信リンクが依然として確立されている間に、前記ヘッドユニットから受信した前記情報に含まれる複数のサービスの特定の複数の要求が、提供されることが出来ない複数のサービスのためのものであることに応じて、前記ヘッドユニットへ複数のカスタマイズされたエラーメッセージを提供する段階を有し、
前記複数のカスタマイズされたエラーメッセージは、
前記ヘッドユニットの能力、機能性、または互換性の欠如と、前記複数のユーザクレデンシャルにより特定される前記ユーザアカウントの不十分なステータスまたはサブスクリプションレベルと、前記通信デバイスの能力、機能性、または互換性の欠如と、前記ユーザ特有の嗜好情報に含まれる複数の設定と、メディアデバイスが前記ヘッドユニットにより用いられていることとのうち１または複数を含む前記複数のカスタマイズされたエラーメッセージの１または複数の理由を示す、項目３１に記載のコンピュータ実施方法。
［項目４２］
前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納された前記ユーザ特有の嗜好または前記ユーザ識別情報とに基づき前記サービスを提供する前記段階は、前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから受信する前記情報に含まれる前記サービスの少なくとも１つ要求に応じて、前記サービスを提供することにおいて、圧縮フォーマットのデータを前記遠隔のサーバへ送信し、または前記遠隔のサーバから受信する段階を有する、項目３１に記載のコンピュータ実施方法。
［項目４３］
前記通信デバイスの前記プロセッサにより、１または複数の追加的なヘッドユニットから情報を受信する段階をさらに備え、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットから受信した前記情報と、前記通信デバイスに格納されたユーザ特有の嗜好またはユーザ識別情報とに基づき前記サービスを電子的に提供する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットのロケーションと、前記１または複数の追加的なヘッドユニットの１または複数のロケーションとのうち１または複数について、前記ヘッドユニットから受信した前記情報と、前記１または複数の追加的なヘッドユニットから受信した前記情報とに基づきサービスを電子的に提供し、情報を選択的に前記ヘッドユニットへ送信し、情報を選択的に前記１または複数の追加的なヘッドユニットへ送信する段階とを有し、
前記通信デバイスと前記１または複数の追加的なヘッドユニットとの間の複数の通信リンク、および、前記ヘッドユニットと前記通信デバイスとを通信可能に結合する前記通信リンクは、セキュアな複数の通信チャネルである、項目３１に記載のコンピュータ実施方法。
［項目４４］
自動車のヘッドユニットに、複数の遠隔デバイスからの複数のサービスおよび情報へのアクセスを提供するコンピュータ実施方法であり、
無線モバイルデバイスのプロセッサにより、前記ヘッドユニットから複数のサービス要求を受信する段階を備え、
前記無線モバイルデバイスと前記ヘッドユニットとは近距離無線通信リンクで通信を行っており、
前記方法はさらに、
前記無線モバイルデバイスの前記プロセッサにより、受信した前記複数のサービス要求のうちそれぞれの受信したサービス要求を評価して、前記受信した複数のサービス要求のうちそれぞれの受信したサービス要求に関して、前記受信したサービス要求により要求されている特定のサービスに従って、前記サービス要求に関連付けられたユーザアカウントと、前記ヘッドユニットと、前記自動車の車両識別子と、前記無線モバイルデバイスと、ユーザアカウントと、複数のユーザクレデンシャルと、ユーザ特有の嗜好またはユーザ識別情報とのうち１または複数に基づき、前記受信したサービス要求をどのように処理するかを決定する段階と、
前記無線モバイルデバイスの前記プロセッサにより、前記受信した複数のサービス要求を前記評価に従って処理する段階と
を備える、方法。
［項目４５］
前記受信した複数のサービス要求を前記評価に従って処理する前記段階は、
前記モバイルデバイスの前記プロセッサにより、前記受信した複数のサービス要求の要求、および、前記ユーザ特有の嗜好または前記ユーザ識別情報のうちいくつかを遠隔のサーバへ送信する段階と、
前記モバイルデバイスの前記プロセッサにより、前記ユーザ特有の嗜好または前記ユーザ識別情報に従ってカスタマイズされた応答を前記遠隔のサーバから受信する段階と、
前記応答を前記ヘッドユニットへ送信する段階と
を有する、項目４４に記載のコンピュータ実施方法。
［項目４６］
前記受信した複数のサービス要求を前記評価に従って処理する前記段階は、
前記通信デバイスの前記プロセッサにより、前記ヘッドユニットに前記複数のユーザクレデンシャルを保存することを避けるべく、前記ヘッドユニットから受信した前記複数のサービス要求のうち少なくとも１つへ前記複数のユーザクレデンシャルを挿入する段階と、
前記モバイルデバイスの前記プロセッサにより、前記複数のユーザクレデンシャルが挿入された前記要求を、特定の情報のために前記複数のユーザクレデンシャルを要求する遠隔のサーバへ送信する段階と、
前記特定の情報を含む応答を前記遠隔のサーバから受信する段階と、
前記特定の情報を含む前記応答を前記ヘッドユニットへ送信する段階と
を有する、項目４４に記載のコンピュータ実施方法。
［項目４７］
前記モバイルデバイスの前記プロセッサにより、前記ヘッドユニットからいくつのサービス要求が受信されたかについて統計情報を格納する段階をさらに備える、項目４４に記載のコンピュータ実施方法。
［項目４８］
前記モバイルデバイスの前記プロセッサにより、顧客行動についてのデータと、複数のサービスアタックの拒否についてのデータと、サービスの誤用および顧客サービスの改善についてのデータとのうち１または複数を提供すべく、前記統計情報を格納する段階をさらに備える、項目４４に記載のコンピュータ実施方法。
［項目４９］
前記ヘッドユニットから前記複数のサービス要求を受信する前記段階は、遠隔のサーバへの複数の同時接続の複数のサービス要求を受信する段階を有し、前記受信した複数のサービス要求を処理する前記段階は、前記遠隔のサーバへの前記複数の同時接続を確立する段階を有する、項目４４に記載のコンピュータ実施方法。
［項目５０］
無線モバイル通信デバイスであり、
コンピュータプロセッサと、
前記コンピュータプロセッサに結合された少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体と
を備え、
前記少なくとも１つの非一時的コンピュータプロセッサ可読記憶媒体は、実行されたときに前記コンピュータプロセッサに、
前記無線モバイル通信デバイスの複数のファイルにアクセスするよう、複数のネットワークファイルシステムプロトコルを用いて自動車のヘッドユニットから要求を受信させ、
前記自動車の前記ヘッドユニットからの前記要求を評価して、受信した前記要求により要求されている特定のサービスに従って、前記要求に関連付けられたユーザアカウント、前記ヘッドユニット、前記自動車の車両識別子、ユーザアカウント、複数のユーザクレデンシャル、およびユーザ特有の嗜好またはユーザ識別情報のうち１または複数に基づき、前記受信したサービス要求をどのように処理するかを決定させ、
前記評価に従って前記要求に応答を送信させ、前記ファイルシステムへの要求された前記アクセスを提供させる
複数のプロセッサ実行可能命令を格納している、無線モバイル通信デバイス。
［項目５１］
格納された前記複数のプロセッサ実行可能命令は実行されたときに、前記コンピュータプロセッサに、
前記ヘッドユニットから複数のサービス要求を受信させ、
前記受信した複数のサービス要求のうち多くをリダイレクトさせる、項目５０に記載の無線モバイル通信デバイス。
［項目５２］
格納された前記複数のプロセッサ実行可能命令は実行されたときに、前記コンピュータプロセッサに、
様々な他の自動車ヘッドユニットからの複数の通信要求を受信させ、
前記無線モバイル通信デバイスを介して、前記様々な他の自動車ヘッドユニットのうちそれぞれに、複数の遠隔デバイスへの通信チャネルを提供させる、項目５０に記載の無線モバイル通信デバイス。
［項目５３］
複数のユーザおよび前記複数のユーザの複数の自動車の複数のヘッドユニットに関するデータをキャッシュし格納する、前記プロセッサに結合された非一時的記憶デバイスをさらに備える、項目５０に記載の無線モバイル通信デバイス。
［項目５４］
無線モバイルデバイスのコンピュータプロセッサに、
前記無線モバイルデバイスと近距離無線通信リンクで通信を行っている自動車のヘッドユニットから、ストリーミングメディアの複数のサービス要求を受信する手順と、
受信した前記複数のサービス要求のうちそれぞれの受信したサービス要求を評価して、前記受信した複数のサービス要求のうちそれぞれの受信したサービス要求に関して、前記ヘッドユニットの前記ストリーミングメディアをデコードし再生する能力および機能性に基づき、前記受信したサービス要求をどのように処理するかを決定する手順と、
前記評価に基づき、前記ヘッドユニットの前記ストリーミングメディアを再生する能力および機能性が特定のレベル未満である場合に、前記コンピュータプロセッサを用いて、要求された前記ストリーミングメディアをストリーミングしデコードするオプションを選択し、前記ヘッドユニットの前記ストリーミングメディアを再生する前記能力および前記機能性が前記特定のレベル以上である場合に、前記ヘッドユニットがデコードおよび再生を行うよう前記要求されたストリーミングメディアをストリーミングするオプションを選択する手順と、
前記評価に基づき、前記ヘッドユニットの前記ストリーミングメディアを再生する前記能力および前記機能性が決定されたレベル未満である場合に、前記要求されたストリーミングメディアをストリーミングすることにより前記要求されたストリーミングメディアをストリーミングおよびデコードするオプションを選択する手順と
を実行させるプログラム。
［項目５５］
前記コンピュータプロセッサにさらに、
ソケットネットワークトラヒックをルーティングすべくトランスミッションコントロールプロトコル（ＴＣＰ）上で前記ヘッドユニットから要求を受信する手順と、
前記受信したサービス要求により要求されている前記特定のサービスに応じて、および、前記サービス要求に関連付けられたユーザアカウントと、前記ヘッドユニットと、前記自動車の車両識別子と、前記無線モバイルデバイスと、ユーザアカウントと、複数のユーザクレデンシャルと、ユーザ特有の嗜好またはユーザ識別情報とのうち１または複数に基づき前記ソケットネットワークトラヒックを認証およびルーティングする手順と、
前記無線モバイルデバイスの前記プロセッサにより、前記受信した複数のサービス要求を前記評価に従って処理する手順と
を実行させる、項目５４に記載のプログラム。
［項目５６］
前記コンピュータプロセッサにさらに、
前記無線モバイルデバイスと前記ヘッドユニットとが前記近距離無線通信リンク上で通信を行っていることが検出されたことに応じ、運転の間に用いることが安全でないと以前に選択されたことがある前記無線モバイルデバイスの選択された特定の複数のアプリケーションの使用を無効化する手順を実行させる、項目５４に記載のプログラム。
［項目５７］
前記コンピュータプロセッサにさらに、前記無線モバイルデバイスと前記ヘッドユニットとが互換性を有していることが検出されたことに応じて、前記無線モバイルデバイスの更新を強いる手順を実行させる、項目５４に記載のプログラム。
［項目５８］
前記コンピュータプロセッサにさらに、前記無線モバイルデバイス上で共に動作を行い前記ヘッドユニットへ複数のサービスを提供することにおいて、前記無線モバイルデバイス上の１つの中心的なアプリケーションに他の複数のアプリケーションへの通信を行わせる手順を実行させる、項目５４に記載のプログラム。
［項目５９］
前記コンピュータプロセッサにさらに、前記無線モバイルデバイスのユーザに関して帯域幅の使用の監視を促す手順を実行させる、項目５４に記載のプログラム。
［項目６０］
前記コンピュータプロセッサにさらに、前記無線モバイルデバイス上で実行されているアプリケーションの正確性の複数の要求と、前記無線モバイルデバイスのロケーション取得の間の前記無線モバイルデバイスの環境とに基づき、前記無線モバイルデバイスによりどのロケーションモードが用いられるべきかを決定する手順を実行させる、項目５４に記載のプログラム。
［項目６１］
前記コンピュータプロセッサにさらに、前記無線モバイルデバイスの特定のタイプと、前記無線モバイルデバイスのテストおよび自動化に関する特定のテスト実行とに基づき、特定のテストサーバに向けられるよう前記無線モバイルデバイス上のソフトウェアの構成を自動的に変更する手順を実行させる、項目５４に記載のプログラム。
［項目６２］
テストのために前記無線モバイルデバイス上の前記ソフトウェアの前記構成を自動的に変更する前記手順は、前記ソフトウェアのコードベースを再構築する必要なく起こる、項目６１に記載のプログラム。
［項目６３］
複数の自動車の１または複数の遠隔のヘッドユニットと、前記１または複数の遠隔のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとにサーバにより複数のサービスを提供するコンピュータ実施方法であり、
前記サーバの少なくとも１つのプロセッサにより、自動車のヘッドユニットについての情報を受信する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、前記自動車の前記ヘッドユニットに関連付けられた通信デバイスについての情報を受信する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、受信した前記情報と、前記ヘッドユニットおよび前記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、前記ヘッドユニットと前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数を特定する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数の前記特定に基づき、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数へ１または複数のサービスを提供する段階と
を備える、コンピュータ実施方法。
［項目６４］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数を介して、前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと、複数のマルチメディアサービスをサポートする能力を有する他の複数の自動車へユーザと共に移動することが出来る前記通信デバイスとのうち前記１または複数に関連付けられた前記ユーザを認証することにより、前記ユーザのための前記複数のマルチメディアサービスを提供する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目６５］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数へのユーザ入力を抽象化する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目６６］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に関連付けられた複数のエラークラスをトラッキングまたは監視する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目６７］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数に関連付けられた車両識別番号（ＶＩＮ）に基づき、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目６８］
前記車両識別番号（ＶＩＮ）に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、前記ＶＩＮがいずれかのユーザに関連付けられることを要求しない、項目６３に記載のコンピュータ実施方法。
［項目６９］
前記方法はさらに、前記サーバの前記少なくとも１つのプロセッサにより、前記サーバの乱用を検出および緩和すべく複数のサービスを提供する段階を備える、項目６３に記載のコンピュータ実施方法。
［項目７０］
前記方法はさらに、前記サーバの前記少なくとも１つのプロセッサにより、相互操作可能である複数のデバイスについての情報のレポジトリを提供する段階を備える、項目６３に記載のコンピュータ実施方法。
［項目７１］
前記方法はさらに、前記サーバの前記少なくとも１つのプロセッサにより、デバイス互換性マトリックスの構築を促す複数の動的特徴を有するバーチャルデバイスを提供する段階を備える、項目６３に記載のコンピュータ実施方法。
［項目７２］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットへ複数のソフトウェア更新を提供する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目７３］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数とコンテンツとの互換性を維持すべく、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に提供される前記コンテンツを操作する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目７４］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数の１または複数のサポートされたフォーマットに基づき、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数に提供されるコンテンツを１または複数のフォーマットに変換する段階を有する、項目６３に記載のコンピュータ実施方法。
［項目７５］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数のロケーション、方向、および速度のうち１または複数に基づき、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数を検索する段階と、
前記サーバの前記少なくとも１つのプロセッサにより、前記検索に基づきロケーション情報を提供する段階と
を有する、項目６３に記載のコンピュータ実施方法。
［項目７６］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数に関連付けられたユーザアイデンティティへ複数のサードパーティクレデンシャルをリンクする段階を有する、項目６３に記載のコンピュータ実施方法。
［項目７７］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記段階は、
サードパーティサービスプロバイダにより提供されるサービスの要求を前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数から受信する段階と、
前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数、または、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に関連付けられたユーザへ前記サードパーティサービスプロバイダの複数のクレデンシャルを供給することなく、前記サードパーティサービスプロバイダから前記サービスを取得し、要求された前記サービスの提供を促し、前記要求に応答する段階と
を有する、項目６３に記載のコンピュータ実施方法。
［項目７８］
複数の自動車の１または複数の遠隔のヘッドユニットと、前記１または複数のヘッドユニットに関連付けられた、ハンドヘルドフォームファクタを有する１または複数の遠隔の通信デバイスとに複数のサービスを提供するサーバであり、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合された非一時的コンピュータ可読媒体と
を備え、
前記非一時的コンピュータ可読媒体は、実行されたときに前記少なくとも１つのプロセッサに、
自動車のヘッドユニットについての情報を受信させ、
前記自動車の前記ヘッドユニットに関連付けられた通信デバイスについての情報を受信させ、
受信した前記情報と、前記ヘッドユニットおよび前記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、前記ヘッドユニットと前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数を特定させ、
前記複数のヘッドユニットに関連付けられた前記複数の自動車の所有権情報を管理すべく複数のサービスを提供させる、複数のコンピュータ実行可能命令を格納している、サーバ。
［項目７９］
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数の現在のロケーションについての複数のロケーションサービスを提供させる、項目７８に記載のサーバ。
［項目８０］
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
認証のためにバーコードデータを用いることについて複数のサービスを提供させる、項目７８に記載のサーバ。
［項目８１］
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数に関連付けられた複数のゲストユーザの管理および認証についての複数のサービスを提供させる、項目７８に記載のサーバ。
［項目８２］
前記複数のコンピュータ実行可能命令は実行されたときに、前記少なくとも１つのプロセッサにさらに、
前記複数の自動車の前記１または複数の遠隔のヘッドユニットに関連付けられた複数のユーザに提供される複数のサービスの使用をトラッキングさせる、項目７６に記載のサーバ。
［項目８３］
自動車ヘッドユニットであり、
非一時的コンピュータ可読媒体と、
前記非一時的コンピュータ可読媒体に結合されたプロセッサと
を備え、
前記プロセッサは複数のコンピュータ実行可能命令を有しており、
前記複数のコンピュータ実行可能命令は実行されたときに、前記プロセッサに、前記自動車ヘッドユニット上に存在する前記自動車ヘッドユニットのためのテスト自動化フレームワークを提供させる、自動車ヘッドユニット。
［項目８４］
前記複数のコンピュータ実行可能命令は実行されたときに、前記プロセッサにさらに、
前記ヘッドユニットのユーザインタフェースを制御するための複数の命令を遠隔のシステムから受信させ、
前記ヘッドユニットの前記ユーザインタフェースを制御するための前記複数の命令を実行させる、項目６３に記載のヘッドユニット。
［項目８５］
前記複数のコンピュータ実行可能命令は実行されたときに、前記プロセッサにさらに、前記ヘッドユニットの前記ユーザインタフェースを制御するための前記複数の命令の前記実行の複数の結果についての情報を前記遠隔のシステムへ送信させる、項目６４に記載のヘッドユニット。
［項目８６］
サーバの少なくとも１つのプロセッサに、
自動車のヘッドユニットについての情報を受信する手順と、
前記自動車の前記ヘッドユニットに関連付けられた通信デバイスについての情報を受信する手順と、
受信した前記情報と、前記ヘッドユニットおよび前記通信デバイスについての他の以前に格納された情報とに少なくとも部分的に基づき、前記ヘッドユニットと前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数を特定する手順と、
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ複数のサービスを提供する手順と
を実行させるプログラム。
［項目８７］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち前記１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数へ前記１または複数のサービスを提供する前記手順は、
前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記通信デバイスとのうち前記１または複数を介して、前記ヘッドユニットと、複数のマルチメディアサービスをサポートする能力を有する他の複数の自動車へユーザと共に移動することが出来る前記通信デバイスとのうち前記１または複数に関連付けられた前記ユーザを認証することにより、前記ユーザのための前記複数のマルチメディアサービスを提供する手順を含む、項目６６に記載のプログラム。
［項目８８］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、
前記ヘッドユニットと前記通信デバイスとのうち前記１または複数へのユーザ入力を抽象化する手順を含む、項目６６に記載のプログラム。
［項目８９］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、前記サーバの前記少なくとも１つのプロセッサにより、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数に関連付けられた複数のエラークラスをトラッキングまたは監視する手順を含む、項目６６に記載のプログラム。
［項目９０］
前記ヘッドユニットと、前記ヘッドユニットに関連付けられた前記通信デバイスとのうち１または複数の前記特定に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち１または複数に関連付けられた車両識別番号（ＶＩＮ）に基づき、前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する手順を含む、項目６６に記載のプログラム。
［項目９１］
前記車両識別番号（ＶＩＮ）に基づき前記ヘッドユニットと前記関連付けられた通信デバイスとのうち前記１または複数へ前記１または複数のサービスを提供する前記手順は、前記ＶＩＮがいずれかのユーザに関連付けられることを要求しない、項目６６に記載のプログラム。
［項目９２］
前記方法はさらに、前記サーバの前記少なくとも１つのプロセッサにより、前記サーバの乱用を検出および緩和すべく複数のサービスを提供する段階を備える、項目６６に記載のプログラム。
【図１】
2018074579.tif 000009
【図２Ａ】
2018074579.tif 000010
【図２Ｂ】
2018074579.tif 000011
【図３Ａ】
2018074579.tif 000012
【図３Ｂ】
2018074579.tif 000013
【図４Ａ】
2018074579.tif 000014
【図４Ｂ】
2018074579.tif 000015
【図５】
2018074579.tif 000016
【図６】
2018074579.tif 000017
【図７】
2018074579.tif 000018
【図８】
2018074579.tif 000019
【図９】
2018074579.tif 000020
【図１０】
2018074579.tif 000021
【図１１】
2018074579.tif 000022
【図１２】
2018074579.tif 000023
【図１３】
2018074579.tif 000024
【図１４】
2018074579.tif 000025
【手続補正書】
【提出日】平成29年11月21日(2017.11.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動車ヘッドユニットであり、
非一時的コンピュータ可読媒体と、
前記非一時的コンピュータ可読媒体に結合されたプロセッサと
を備え、
前記プロセッサは複数のコンピュータ実行可能命令を有しており、
前記複数のコンピュータ実行可能命令は実行されたときに、前記プロセッサに、前記自動車ヘッドユニット上に存在する前記自動車ヘッドユニットのためのテスト自動化フレームワークを提供させる、自動車ヘッドユニット。
【請求項２】
前記複数のコンピュータ実行可能命令は実行されたときに、前記プロセッサにさらに、
前記自動車ヘッドユニットのユーザインタフェースを制御するための複数の命令を遠隔のシステムから受信させ、
前記自動車ヘッドユニットの前記ユーザインタフェースを制御するための前記複数の命令を実行させる、請求項１に記載の自動車ヘッドユニット。
【請求項３】
前記複数のコンピュータ実行可能命令は実行されたときに、前記プロセッサにさらに、前記自動車ヘッドユニットの前記ユーザインタフェースを制御するための前記複数の命令の前記実行の複数の結果についての情報を前記遠隔のシステムへ送信させる、請求項２に記載の自動車ヘッドユニット。