(57)【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
カレンダー・アプリケーションを実行する無線デバイスと車両コンピュータシステム（ＶＣＳ）との間の無線通信を確立し、
少なくとも予定の再生を含むカレンダー・イベントに関する入力を促すように前記ＶＣＳに指示する第１命令を前記無線デバイスから受信し、
カレンダー・イベントに関する入力を規定する第２命令を前記無線デバイスから受信し、
前記第１命令に少なくとも部分的に基づいて、入力を促し、
前記カレンダー・イベントに関する入力を受信し、
前記受信された入力を前記規定された入力に基づいて認識し、
少なくとも予定再生・将来再生命令を含み、前記入力が受信された日の全ての予定の再生の実行を指示し、前記認識された入力に少なくとも部分的に基づいてカレンダー・イベントの実行を指示する、認識された命令を、前記無線デバイスに送信し、
少なくとも１つの予定を出力するように前記ＶＣＳに指示する第３命令を前記無線デバイスから受信し、
前記少なくとも１つの予定を前記第３命令に従って出力する、
方法。
【請求項２】
前記予定再生命令は、全ての予定の再生の実行を指示する、全再生命令を含む、
請求項１の方法。
【請求項３】
前記予定再生命令は、前記入力が受信された日の全ての予定の再生の実行を指示する、本日再生命令を含む、
請求項１の方法。
【請求項４】
前記将来再生命令は、将来における期間の指定を更に含み、前記指定された将来の期間の全ての予定の再生を指示する、
請求項１の方法。
【請求項５】
前記カレンダー・イベントは、予定の修正を含み、
前記送信は、予定の修正の実行を指示する予定修正命令を、前記無線デバイスに送信することを更に含む、
請求項１の方法。
【請求項６】
前記カレンダー・イベントは、予定の削除を含み、
前記送信は、予定の削除を指示する予定削除命令を、前記無線デバイスに送信することを更に含み、
前記方法は、更に、
削除の確認を指示する第４命令を前記無線デバイスから受信し、
前記第３命令に従って、削除の確認要求を出力し、
前記出力に応じた削除の確認を受信すると、削除応答の確認を前記無線デバイスに送信する、
請求項１の方法。
【請求項７】
車両コンピュータシステムのプロセッサによって実行されるときに、車両コンピュータシステム（ＶＣＳ）に方法を実行させる命令を格納する、非過渡的なコンピュータ読み取り可能な記憶媒体であって、
前記方法は、
カレンダー・アプリケーションを実行する無線デバイスと前記ＶＣＳとの間の無線通信を確立し、
カレンダー・イベントに関する入力を促すように前記ＶＣＳに指示する第１命令を前記無線デバイスから受信し、
カレンダー・イベントに関する入力を規定する第２命令を前記無線デバイスから受信し、
前記第１命令に少なくとも部分的に基づいて、入力を促し、
前記カレンダー・イベントに関する入力を受信し、
前記規定された入力のうち、前記受信された入力を認識し、
少なくとも予定再生・将来再生命令を含み、前記入力が受信された日の全ての予定の再生の実行を指示し、前記認識された入力に少なくとも部分的に基づいてカレンダー・イベントの実行を指示する、認識された命令を、前記無線デバイスに送信し、
少なくとも１つの予定を出力するように前記ＶＣＳに指示する第３命令を前記無線デバイスから受信し、
前記少なくとも１つの予定を前記第３命令に従って出力する、
非過渡的なコンピュータ読み取り可能な記憶媒体。
【請求項８】
前記予定再生命令は、全ての予定の再生の実行を指示する、全再生命令を含む、
請求項７の非過渡的なコンピュータ読み取り可能な記憶媒体。
【請求項９】
前記予定再生命令は、前記入力が受信された日の全ての未完の予定の再生の実行を指示する、本日再生命令を含む、
請求項８の非過渡的なコンピュータ読み取り可能な記憶媒体。
【請求項１０】
前記将来再生命令は、将来における期間の指定を更に含み、前記指定された将来の期間の全ての未完の予定の再生を指示する、
請求項８の非過渡的なコンピュータ読み取り可能な記憶媒体。
【請求項１１】
前記カレンダー・イベントは、予定の修正を含み、
前記送信は、予定の修正の実行を指示する確認された予定修正命令を、前記無線デバイスに送信することを更に含む、
請求項７の非過渡的なコンピュータ読み取り可能な記憶媒体。
【請求項１２】
前記カレンダー・イベントは、予定の削除を含み、
前記送信は、予定の削除を指示する確認された予定削除命令を、前記無線デバイスに送信することを更に含み、
前記方法は、更に、
削除の確認を指示する第４命令を前記無線デバイスから受信し、
前記第３命令に従って、削除の確認要求を出力し、
前記出力に応じた削除の確認を受信すると、削除応答の確認を前記無線デバイスに送信する、
請求項７の非過渡的なコンピュータ読み取り可能な記憶媒体。
【請求項１３】
コンピュータによって実現される方法であって、
カレンダー・アプリケーションを実行し、
前記カレンダー・アプリケーションへのアクセスを要求する第１命令を、無線デバイスと無線通信をしている車両コンピュータシステム（ＶＣＳ）から受信し、
前記第１命令に応じて、少なくとも１つのカレンダー・イベントに関する入力を促すように前記ＶＣＳに指示する第１応答を前記ＶＣＳに送信し、
前記第１命令に応じて、少なくとも１つのカレンダー・イベントに関する入力を規定する第２応答を前記ＶＣＳに送信し、
少なくとも予定再生・将来再生命令を含み、前記入力が受信された日の全ての予定の再生の実行を指示し、認識された入力に少なくとも部分的に基づいてカレンダー・イベントの実行を指示する、第２命令を、前記ＶＣＳから受信し、
前記指示されたカレンダー・イベントを実行し、
前記第２命令の一部として、再生することを要求された予定に対応する１つ以上のカレンダー予定を抽出し、
前記抽出された１つ以上のカレンダー予定の再生を指示する第３応答を前記ＶＣＳに送信する、
方法。
【請求項１４】
前記第２命令は、予定の修正を含み、
前記方法は、更に、前記第２命令に含まれる修正命令に従って、少なくとも１つの指定された予定を修正する、
請求項１３の方法。
【請求項１５】
前記第２命令は、予定の削除を含み、
前記方法は、更に、
前記第２命令に応じて、前記第２命令の確認を要求する確認応答を前記ＶＣＳに送信し、
前記第２命令の確認を受信し、
前記第２命令に含まれる削除命令に従って、少なくとも１つの指定された予定を削除する、
請求項１３の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
さまざまな実施形態は、電子カレンダー・アプリケーションのハンズフリー操作を行う方法及びシステムを含む。より具体的には、さまざまな実施形態は、車両内における電子カレンダー・アプリケーションのハンズフリー操作の実行を含む。
【背景技術】
【０００２】
一般に、携帯デバイス（例えば携帯電話等）に格納されたアプリケーションには、そのアプリケーションの１つ以上の操作を遂行するために触って入力されるコマンドが必要である。例えば、ユーザがその携帯デバイスでインターネットラジオを操作したい場合に、ユーザは、どの放送局及び／又はジャンルの音楽を聴きたいかを携帯デバイスのキーパッドから物理的に入力する必要がある。この技術分野において知られたインターネットラジオ・アプリケーションの例として、パンドラメディア・インクによって販売されたパンドラ（Pandora）アプリケーションがある。他の例として、ユーザが電子カレンダーをモバイルデバイスから操作したい場合には、ユーザは、テキストベースの入力、出力、及びコマンドによって操作する必要がある。例えば、ユーザがカレンダーに予約を加えたい場合には、ユーザはモバイルデバイスのキーパッドを用いて予約を手で入力するだろう。
【０００３】
更に、携帯デバイスのアプリケーションは、そのアプリケーションを操作するためにはアプリケーションからの出力を視覚的に受け取ることをユーザに要求するであろう。しかし、車両の運転中のような環境においては、上述のようにアプリケーションを操作することは、ドライバーにとって、困難であるばかりではなく危険でもあろう。したがって、ユーザが安全な運転をできるようにするために、携帯デバイスからハンズフリーでアクセスして１以上のアプリケーションをユーザが操作する方策が望まれている。
【０００４】
電子カレンダー・アプリケーションは、ユーザが携帯デバイスからハンズフリーでアクセスして操作することを望み得るアプリケーションの例である。ユーザが電子カレンダー・アプリケーションを操作することを望む環境の一例は、フォードモーターカンパニーによって製造され販売されたＳＹＮＣ通信システムが装備されたユーザの車両内である。
【発明の概要】
【０００５】
１局面は、車両の近傍に位置するノーマディック無線通信デバイス（ＮＤ）に格納されたコンピュータ・アプリケーションを操作する、コンピュータにより実現される方法を含み得る。この方法は、車両コンピュータシステム（ＶＣＳ）と前記ＮＤとの間の無線通信リンクを確立するために、前記ＶＣＳを前記ＮＤとペアリングさせるための入力を前記ＶＣＳで受信することを含み得る。
【０００６】
前記ＮＤからの１以上の第１命令が前記無線通信リンクを介して前記ＶＣＳで受信され得る。前記１以上の第１命令は、前記ＮＤで実行されている電子カレンダー・アプリケーションとの接続を確立するための命令、及びユーザに１以上の電子カレンダー・アプリケーション・イベントの入力を促す命令を含み得る。前記１以上の第１命令は、前記電子カレンダー・アプリケーションと前記ＶＣＳとの間の接続を切断するための命令を更に含み得る。前記方法は、前記ユーザからの前記１以上の電子カレンダー・アプリケーション・イベントへのリクエストを前記ＶＣＳで受信すること、及び前記１以上の電子カレンダー・アプリケーション・イベントを実行することを更に含み得る。
【０００７】
いくつかの実施形態においては、前記１以上の電子カレンダー・アプリケーション・イベントは前記ＮＤによって実行されてもよく、前記１以上の電子カレンダー・アプリケーション・イベントを実行することには、前記ＮＤによって実行される前記１以上の電子カレンダー・アプリケーション・イベントを話すことを含み得る。
【０００８】
いくつかの実施形態においては、前記１以上の電子カレンダー・アプリケーション・イベントを実行することは、前記リクエストに従って前記１以上の電子カレンダー・アプリケーション・イベントを実行するために、１以上のメッセージを前記ＮＤに送信することを含み得る。前記１以上の電子カレンダー・アプリケーション・イベントは、１以上の予定の出力、１以上の予定の削除、１以上の予定の追加、１以上の予定の修正、１以上の予定の間での移動、及び前記電子カレンダー・アプリケーションの操作の終了、のうちの少なくとも１つを含み得る。
【０００９】
前記方法は、前記ＶＣＳと前記電子カレンダー・アプリケーションとの間でデータを送信するために、前記ＶＣＳと前記ＮＤ上で実行されている前記電子カレンダー・アプリケーションとの間の接続を確立するアプリケーション・プログラミング・インタフェース（ＡＰＩ）を利用することを更に含み得る。
【００１０】
いくつかの実施形態においては、前記１以上の電子カレンダー・アプリケーション・イベントを実行することは、前記ＮＤ上で実行されている前記電子カレンダー・アプリケーションから１以上の第２命令を受信することを更に含み得る。前記１以上の第２命令は、前記電子カレンダー・アプリケーションから発行されたテキスト情報を話すための命令を含み得る。前記テキスト情報は、接続確認、１以上の予定に関連付けられた情報、又は予定削除の確認、のうちの少なくとも１つを含み得る。前記テキスト情報は、前記電子カレンダー・アプリケーションを操作するための操作命令を更に含み得る。
【００１１】
いくつかの実施形態においては、前記第１命令又は第２命令は、前記１以上の第１命令又は前記１以上の第２命令によって実行される操作の完了に関連する少なくとも１つの付加的命令を更に含み得る。前記方法は、識別子と、前記少なくとも１つの付加的命令とを、前記ＮＤ上で実行されている前記電子カレンダー・アプリケーションに送信することを更に含み得る。前記識別子は、前記１以上の第１命令又は前記１以上の第２命令によって実行される操作の完了を識別し得る。
【００１２】
いくつかの実施形態においては、前記方法は、前記ＮＤ上で実行されている前記電子カレンダー・アプリケーションを操作することを求める前記ユーザからのリクエストを前記ＶＣＳで受信することを更に含み得る。前記ユーザからの前記リクエストは、前記車両におけるトリガーに応じたものであり得る。前記トリガーは、ボタン押下、音声で起動されるトリガー、又は両者であり得る。
【００１３】
他の局面は、車両の近傍のノーマディック無線通信デバイス（ＮＤ）に格納されたコンピュータ・アプリケーションを操作する、コンピュータにより実現されるシステムを含み得る。前記システムは、車両コンピュータシステム（ＶＣＳ）を含み得る。前記ＶＣＳは、前記ＶＣＳと前記ＮＤとの間の無線通信リンクを確立するために、前記ＮＤとのペアリングを行い得る。前記ＶＣＳは、前記ＮＤとペアリングをするために無線通信用に入力を更に受信し得る。更に前記ＶＣＳは、前記無線通信リンクを介して前記ＮＷＣＤから１以上の第１命令を受信し得る。前記１以上の第１命令は、前記ＮＤで実行されている電子カレンダー・アプリケーションとの無線接続を確立するための命令、及びユーザに１以上の電子カレンダー・アプリケーション・イベントの入力を促す命令を含み得る。
【００１４】
前記ＶＣＳは、前記ユーザからの前記１以上の電子カレンダー・アプリケーション・イベントへのリクエストを更に受信し得る。前記ＶＣＳは更に、前記１以上の電子カレンダー・アプリケーション・イベントを実行し得る。前記ＶＣＳは、前記リクエストに従って前記１以上の電子カレンダー・アプリケーション・イベントを実行するために、１以上のメッセージを前記ＮＤに送信することによって、前記１以上の電子カレンダー・アプリケーション・イベントを実行し得る。
【００１５】
いくつかの実施形態においては、前記ＶＣＳは、更に、前記ＮＤから１以上の第２命令を受信し得る。前記１以上の第２命令は、前記電子カレンダー・アプリケーションから発行されたテキスト情報を話すための命令を含み得る。
【００１６】
いくつかの実施形態においては、前記第１命令又は第２命令は、前記１以上の第１命令又は前記１以上の第２命令によって実行される操作の完了に関連する、少なくとも１つの付加的命令を更に含み得る。前記ＶＣＳは、更に、識別子と、前記少なくとも１つの付加的命令とを、前記電子カレンダー・アプリケーションに送信し得る。前記識別子は、前記１以上の第１命令又は前記１以上の第２命令によって実行される操作の完了を識別し得る。
【００１７】
他の局面は、車両の近傍に位置するＮＤに格納されたコンピュータ・アプリケーションを操作する、コンピュータにより実現されるシステムを含み得る。前記システムは、車両コンピュータシステム（ＶＣＳ）を前記ＮＤとペアリングさせるための入力を前記ＶＣＳで受信する手段を含み得る。前記ペアリングは、前記ＶＣＳと前記ＮＤとの間の無線通信リンクを確立し得る。前記システムは、前記ＮＤで実行されている電子カレンダー・アプリケーションを操作することを求めるユーザからのリクエストを受信する手段を更に含み得る。
【００１８】
前記システムは、前記無線通信リンクを介して前記ＮＷＣＤから１以上の第１命令を前記ＶＣＳで受信する手段を更に含み得る。前記１以上の第１命令は、電子カレンダー・アプリケーションとの接続を確立するための命令、及びユーザに１以上の電子カレンダー・アプリケーション・イベントの入力を促す命令を含み得る。前記システムは、前記ユーザからの前記１以上の電子カレンダー・アプリケーション・イベントへのリクエストを前記ＶＣＳで受信する手段と、前記１以上の電子カレンダー・アプリケーション・イベントを実行する手段とを更に含み得る。一実施形態では、前記実行する手段は、前記リクエストに従って前記１以上の電子カレンダー・アプリケーション・イベントを実行するために前記ＮＤに１以上のメッセージを送信することを含み得る。
【００１９】
本発明のこれらの局面及び他の局面は、添付された図面及び以下の本発明の詳細な説明を参照してよりよく理解されるであろう。
【図面の簡単な説明】
【００２０】
新規であると考えられる本発明の特徴は、添付の特許請求の範囲に詳細に述べられている。本発明は、その構成及び操作方法の両方に関して、その更なる目的及び効果とともに、添付の図面に加えて以下の説明を参照して最もよく理解されるであろう。
【図１】図１は、車両内において電子カレンダー・アプリケーションのハンズフリー操作の実行を可能にする車両コンピュータシステム１の例示的なブロック配置を示す。
【図２】図２は、本発明のさまざまな実施形態の１つによる、車両内において電子カレンダー・アプリケーションのハンズフリー操作を実行する工程を示す。
【図３】図３は、本発明のさまざまな実施形態の他の１つによる、車両内において電子カレンダー・アプリケーションのハンズフリー操作を実行する工程を示す。
【図４】図４は、車両ベースのコンピューティング・システムと通信して１以上のアプリケーションを実行する、説明のための例示的なリモート・デバイスを示す。
【発明を実施するための形態】
【００２１】
本発明の詳細な実施形態がここに開示される。しかし、開示された実施形態は、さまざまな代替の形式に具体化され得る発明の単なる例に過ぎないと理解されるべきである。したがって、ここに開示された特定の機能的な詳細は、限定的に解釈されるべきではなく、特許請求の範囲の代表的な根拠として及び／又は本発明をさまざまに用いるように当業者に教示する代表的な根拠として解釈されるべきである。
【００２２】
今日のモバイルデバイス（mobile device）は、ユーザにとって単なる通信手段以上のものである。モバイルデバイスは、伝統的に他の手段によって行われてきたであろう活動に参加する利益をユーザにもたらす機能を装備し得る。モバイルデバイスが社会に不可欠なものになるのに伴い、ユーザはそのデバイスのサービス及び機能に途切れることなくアクセスしたいと思う。そのようなアクセスが困難になり、問題となるのは、ユーザが車両を運転しているときである。とくにドライバーは、運転への集中から気をそらすことができない。
【００２３】
例えば、ドライバーは、いくつか挙げてみると、オーディオファイル、テキストメッセージ、及び電子カレンダー等のアプリケーションに自分の電話上でアクセスしたいと思うであろう。典型的には、ユーザは、これらのアプリケーションを読み出すためにモバイルデバイスを物理的に操作する必要があるであろう。これは、ドライバー及び／又は乗客に対する危険を生じさせるだけではなく、道路上の他人にも危険を生じさせ得る。
【００２４】
モバイルデバイスの中には、電子カレンダー・アプリケーションを提供するものがある。電子カレンダーは、電子的ではないカレンダーにするのと同じ目的でユーザがカレンダーを操作することが可能であるが、カレンダーは例えばユーザのモバイルデバイスに格納されている。電子カレンダーは、例えばボタンを押すことによってアプリケーションを物理的に操作することをユーザに要求し得る。更に、電子カレンダーは、視覚インタフェースのみを有し得るので、アプリケーションとの視覚による対話を通して、電子カレンダーからの全ての出力を受け取り、全ての入力を行うことをユーザに要求する。
【００２５】
そこで、車両内において電子カレンダー・アプリケーションのハンズフリー操作を実行する方法及びシステムが１つ以上の実施形態において提示される。開示されたさまざまな実施形態は車両内において電子カレンダー・アプリケーションを操作する場面において提示されるが、これは例として提供されているに過ぎない。本発明は、他のモバイルデバイス・アプリケーションのハンズフリーによる利用が望まれている他の種類の環境において用いられてもよい。
【００２６】
図１は、例えば、車両からの電子カレンダー・アプリケーションの操作を可能にする、車両コンピュータシステム（以下ではＶＣＳ１と称する）の例示的なブロック配置を示す。車両ベースのコンピューティング・システムを有する車両は、その車両に備えられる視覚フロントエンドインタフェース４を含み得る。ユーザは、例えばタッチスクリーンが装備されている場合には、このインタフェースと対話し得る。他の実例となる実施形態においては、対話はボタン押下、耳に聞こえる音声、及び音声合成を通して行われる。
【００２７】
図１に示された実例となる実施形態１において、プロセッサ３は、車両ベースのコンピューティング・システム１の動作の少なくとも一部を制御する。車両内に備えられているので、プロセッサ３はコマンド及びルーチンの車内での処理を可能にする。更に、プロセッサ３は、非永続ストレージ５及び永続ストレージ７の両方に接続され得る。この実例となる実施形態において、非永続ストレージはランダムアクセスメモリ（ＲＡＭ）であり、永続ストレージはハードディスクドライブ（ＨＤＤ）又はフラッシュメモリである。
【００２８】
また、プロセッサ３には、ユーザがプロセッサ３と連携することを可能にする多数の異なる入力が与えられている。この実例となる実施形態においては、マイクロフォン２９、補助入力２５（入力３３用）、ＵＳＢ入力２３、ＧＰＳ入力２４、及びブルートゥース入力１５が全て備えられている。ユーザが種々の入力を入れ替えられるように、入力セレクタ５１も備えられている。マイクロフォン及び補助コネクタの双方への入力は、プロセッサ３に渡される前に、コンバータ２７によってアナログからデジタルに変換される。
【００２９】
このシステムへの出力は、ビジュアルディスプレイ４、及びスピーカ１３又はステレオシステム出力を含み得るが、これらには限られない。スピーカは、アンプ１１に接続され、デジタル−アナログ変換器９を介してプロセッサ３から信号を受け取る。出力は、ＰＮＤ５４のようなリモート・ブルートゥースデバイスや、車両ナビゲーションデバイス６０のようなＵＳＢデバイスにも、それぞれ１９及び２１で示されている双方向データストリームに従って行われ得る。
【００３０】
実例となる一実施形態においては、システム１は、ブルートゥース・アンテナ１７を使用しながら、ブルートゥース・トランシーバ１５を用いて、ユーザのノーマディックデバイス（nomadic device）５３（例えば携帯電話、スマートフォン、ＰＤＡ等）（以下ではＮＤ５３と称する）と通信１４を行う。そして、ＮＤ５３は、例えば携帯電話用タワー５７との通信５７を介して、車両３１の外部のネットワーク６１と通信５９を行うために用いられ得る。
【００３１】
ＮＤ５３とブルートゥース・トランシーバ１５とのペアリングは、ボタン５２又は類似の入力を介して、車載ブルートゥース・トランシーバがノーマディックデバイスのブルートゥース・トランシーバとペアになるようにＣＰＵ３に伝えることによって指示され得る。
【００３２】
データは、例えばデータプラン（data-plan）、データオーバーボイス（data over voice）、又はノーマディックデバイス５３に関連付けられたＤＴＭＦトーンを用いて、ＣＰＵ３とネットワーク６１との間で通信される。代替として、ＣＰＵ３とネットワーク６１との間で音声帯域でデータを転送するために、車載モデム６３を含むことが望ましいかもしれない。実例となる一実施形態においては、プロセッサ３には、モデム・アプリケーション・ソフトウェアと通信するためのＡＰＩを含むオペレーティングシステムが与えられている。モデム・アプリケーション・ソフトウェアは、リモート・ブルートゥース・トランシーバ（ノーマディックデバイスに見られるような）との無線通信を遂行するために、ブルートゥース・トランシーバ上の組み込みモジュール又はファームウェアにアクセスし得る。他の実施形態では、ＮＤ５３は、音声帯域又はブロードバンドデータ通信用のモデムを含む。データオーバーボイスの実施形態においては、データの転送中にノーマディックデバイスの所有者がそのデバイスで話すことができる場合には、周波数分割多重として知られる技術が実装されてもよい。所有者がデバイスを使用していないその他のときには、データ転送に全帯域（一例では３００Ｈｚから３．４ｋＨｚ）を使用することができる。
【００３３】
ユーザがノーマディックデバイスに対応したデータプランを有する場合には、データプランが広帯域送信を許可し、システムがより広い帯域を使用する（データ転送を高速化する）ことができるようにすることが可能である。更に他の実施形態では、ノーマディックデバイス５３は車両３１に固定されたセルラー通信デバイス（図示せず）で置き換えられる。
【００３４】
一実施形態では、到来データは、データオーバーボイス又はデータプランによってノーマディックデバイスを通り、車載ブルートゥース・トランシーバを通って車両の内部プロセッサ３に渡され得る。一時的データの場合には、例えば、そのデータがもはや必要ではなくなるときまで、そのデータはＨＤＤ又は他のストレージメディア７に格納され得る。
【００３５】
車両とのインタフェースとなり得る他のものには、例えばＵＳＢ接続５６及び／又はアンテナ５８を有するパーソナルナビゲーションデバイス５４、ＵＳＢ６２又は他の接続を有する車両ナビゲーションデバイス６０、車載ＧＰＳデバイス２４、又はネットワーク６１に接続可能なリモート・ナビゲーションシステム（図示せず）が含まれる。
【００３６】
更に、ＣＰＵ３は、種々の他の補助デバイス６５と通信し得る。これらのデバイスは、無線接続６７又は有線接続６９を介して接続され得る。また、又は代替として、ＣＰＵは、例えばＷｉＦｉ７１トランシーバを用いて、車両に置かれた無線ルータ７３に接続され得る。これにより、ＣＰＵ３がローカルルータ７３のレンジ内のリモート・ネットワークに接続可能になる。
【００３７】
本発明の１以上の実施形態の動作を、図２及び３に関して説明する。ブロック８０のようにＮＤ５３をＣＰＵ３にペアリングすると、ブロック９２のようにユーザは電子カレンダーのコンピュータアプリケーション（以下では“アプリケーション”と称する）の操作を、車両から“アプリケーション”の起動をトリガーすることによってリクエストし得る。例えば、ユーザは車両のステアリングホイールのボタン（例えばプッシュトーク（push-to-talk）ボタン）を押してもよいし、起動コマンドを話してもよい。一実施形態では、“アプリケーション”へのリクエストを受け取る前に、ブロック８２に示されているように、ＣＰＵ３は、アプリケーション・プログラミング・インタフェース（ＡＰＩ）を用いてクライアント側のＡＰＩやＮＤ５３で実行されているアプレットの１つ以上への接続を確立してもよい。ＡＰＩは、図４に関してより詳細に以下で説明される。
【００３８】
ＣＰＵ３は、ユーザからのトリガー（例えばボタン押下、音声コマンド、又はその両方）に基づいて、接続を確立し得る。例えば、ユーザは、車両のステアリングホイールに配置されたプッシュトークボタンを押して「アプリケーション」と言い得る。ＣＰＵ３は、ユーザから発行された命令を解釈及び処理できるように、音声認識ソフトウェアを含み得る。例えば、ＣＰＵ３は、ＡＰＩを用いてＮＤ５３との接続を確立することを示す命令を受信し得る。音声認識ソフトウェアは本出願の全体で説明される他のコマンドを認識し得ること、及び示された例は説明のためのものであることが、理解されるべきである。
【００３９】
ＡＰＩを用いて、ＣＰＵ３は次に、ブロック８４に示されているように、ＣＰＵ３を介した操作用にデバイス上にあるアプリケーションを判定するために、ＮＤ５３に照会する。ユーザは、次に、他のリクエストのためのプロンプトを受け取ってもよいし、受け取らなくてもよい。いずれの場合にも、ユーザは、ＮＤ５３上で利用可能な１以上のアプリケーションのための他のリクエスト（例えばボタン押下及び／又は音声命令によって）を発行してよい。ＣＰＵ３は、ブロック８４のように、ＮＤ５３で利用可能な１以上のアプリケーションをユーザに（例えばディスプレイ４又はスピーカ１３から出力される話し言葉によって）提供し得る。
【００４０】
ブロック８６のように、リクエストされた“アプリケーション”はＮＤ５３で利用可能かもしれないし、利用可能ではないかもしれない。“アプリケーション”が利用可能ではない場合には、ブロック８８に示されているように、ユーザは“アプリケーション”が利用不可能であることを通知される。“アプリケーション”を操作する前に、ユーザは、外部ウェブサイト又はＶＣＳ１のメモリ（例えばＨＤＤ７）から“アプリケーション”をまずダウンロードするように要求され得る。“アプリケーション”がＮＤ５３で利用可能である場合には、ユーザは以下に説明されているように“アプリケーション”を操作し得る。
【００４１】
一実施形態では、ユーザは、ＣＰＵ３を介してアプリケーションを操作できるように、いかなるアプリケーションへのリクエストをも行う前に、ＣＰＵ３を「起動」させ得る（例えばボタン押下又は音声コマンドによって）。
【００４２】
“アプリケーション”がＮＤ５３で利用可能であって、“アプリケーション”の起動リクエストがＣＰＵ３によって受信されたときには、ブロック９０のように、リクエストされた“アプリケーション”がＮＤ５３で起動又は開始するように、ＣＰＵ３はＮＤ５３にメッセージを送信してもよい。メッセージは、ユニコード（例えばＵＴＦ−８又はＵＴＦ−１６）に変換されてＮＤ５３に送信されてもよい。実例となる一実施形態においては、メッセージはアスキーコードに変換されてもよい。
【００４３】
ＣＰＵ３からメッセージを受信すると、ブロック９０のように、ＮＤ５３は“アプリケーション”を開始する。図２及び３に関して以下でより詳細に説明されるように、クライアント側のＡＰＩ又はアプレットを用いて、“アプリケーション”は、“アプリケーション”を操作するためのいくつかの命令をＣＰＵ３に出力し得る。一実施形態では、命令はエクステンシブル・マークアップ・ランゲージ（ＸＭＬ）フォーマットであり得る。代替又は補足として、“アプリケーション”は、本発明のさまざまな実施形態の１以上の操作を遂行するために、命令をＮＤ５３からＣＰＵ３に直接、出力してもよい。
【００４４】
一実施形態では、１以上の操作／命令は、同期していてもよいし、同期していなくてもよい。ここで使用されているように、非同期操作は、命令が完了したことを示す返信メッセージが“アプリケーション”に送り返されるまで実行されるものであり得る。一実施形態では、“アプリケーション”の操作及び管理に関する命令は、“アプリケーション”が完了命令を受信する前に送信され実行され得る。
【００４５】
操作を実行する命令は、「プロシージャ（パラメータ）」の形式であってもよく、「プロシージャ」は実行されるべきタスク又はイベントを定義し得、「パラメータ」はタスク又はイベントを実行するためにプロシージャが受け取り得る１以上の引数を定義し得る。このフォーマットは例示的なものであり、従って限定するものではなく、以下に説明される１以上の操作を成し遂げるために他のフォーマットが使用されてもよい、と理解されるべきである。
【００４６】
更に図３を参照して、ＣＰＵ３から１以上のメッセージを受信すると、ブロック９２（図２）のように、アプリケーションはＣＰＵ３に接続するための命令を送信し得る。例示的な命令として「ClientAppConnect(appName)」があり得る。ブロック９４に示されているように、接続が確立され得る。
【００４７】
「appName」は、操作されるべきアプリケーションを特定し得る。このため、例えばアプリケーションがインターネット・ラジオ・アプリケーション（例えばパンドラメディアインクによって制作され配布された「パンドラ」）である場合には、命令は「ClientAppConnect(Pandora)」と書かれ得る。アプリケーションがアポイントメント・リーダーである場合には、シンタックスは「ClientAppConnect(CalendarReader)」であり得る。一実施形態では、アプリケーションは、ＣＰＵ３との接続の状態（例えば接続完了）を特定する返信命令を受信し得る。返信命令の一例は、「OnConnectionStatusReceived」であり得る。ブロック９６のように、ＣＰＵ３は、接続動作が完了したか否かを判定し得る。接続動作が完了していない場合には、ブロック９８に示されているように、ＣＰＵ３は、OnConnectionStatusReceived命令の送信を遅延させ得る。接続動作が完了している場合には、ブロック１００のように、ＣＰＵ３は、この命令を“アプリケーション”に送信し得る。
【００４８】
またアプリケーションは、ＣＰＵ３との接続ステータスを表すユニークな識別（ＩＤ）番号を受信し得る。ＩＤは、接続中（すなわち、接続が切断されるまで）のみ有効であり得る。
【００４９】
ＣＰＵ３との接続が行われた後、ブロック１０２のように、電子カレンダー・アプリケーションを開始してからＣＰＵ３を通して“アプリケーション”が起動され、操作され得る。接続の確立は、通信ネットワーク（例えばインターネット）を介した“アプリケーション”への接続の確立を含み得る。
【００５０】
ブロック１０４に示されているように、ユーザは、“アプリケーション”の操作をいつでも止める自由を有していてもよい。ユーザが“アプリケーション”の使用を止める選択をする場合には、ユーザは“アプリケーション”を終了するコマンドを話してもよい。電子カレンダー・セッションを切断（disconnect）するために１以上のメッセージがＣＰＵ３からＮＤ５３に送信されてもよい。これに応じて、ブロック１０６のように、切断命令がＣＰＵ３によって受信され得る。ＣＰＵ３を切断するための命令は、“ClientAppDisconnect”によって表され得る。したがって、ＣＰＵ３への接続がいったん終了すると、ブロック１０８のように、“アプリケーション”からＣＰＵ３への同じ接続を用いる更なる通信は、いずれも無視され得る。
【００５１】
ユーザが切断しないことを選択する場合には、ブロック１１０のように、ＣＰＵ３は、“アプリケーション”を操作するために接続の状態を話すように指示する命令をＮＤ５３から受信し得る。アプリケーションの操作は、テキスト−スピーチ（ＴＴＳ）変換及び／又はスピーチ−テキスト（ＳＴＴ）変換を通して成され得る。例えば、ユーザが“アプリケーション”（及びユーザのＮＤ５３上に存在し得る他のアプリケーション）を使いたいときには、ユーザは、マイクロフォン２９によって受け取られ得る音声起動コマンドを発行して“アプリケーション”を起動し得る。ＣＰＵ３内のモジュールは、スピーチをテキストに変換するためのコンピュータ実行可能な命令を含み得る。テキストは、リクエストされた“アプリケーション”を起動するために、クライアント側のＡＰＩ又はＮＤ５３内のアプレットに送信（例えばアスキーコードで）され得る。クライアント側のＡＰＩから命令を受信すると、“アプリケーション”は起動され得る。
【００５２】
ブロック１２０（図３）のように、ＮＤ５３は、リクエストされた“アプリケーション”がそれ自身が識別されたことをユーザに知らせている、ということを話すように指示する返信コマンドをＣＰＵ３に発行し得る。返信コマンドは、テキストとして“アプリケーション”から生成され得る。したがって、ブロック１２０のように、その特定のテキストをユーザに話すための命令が“アプリケーション”によって発行され得る。例えば、ユーザが電子カレンダー・アプリケーションをリクエストする場合には、“アプリケーション”は（ＮＤ５３を介して）、例えば「カレンダーリーダー」と言うように指示する命令をＣＰＵ３に送信し得る。そのようなメッセージは、ＮＤ５３の視覚インタフェース上に表示され得る（“アプリケーション”をＮＤ５３を介して操作している場合には）。しかしながら、本発明の１以上の実施形態を用いて、テキストはスピーチに変換され得る。
【００５３】
返信命令の一構文例は、「SpeakText(text,completionCorrelationID)」（以下では「スピークテキスト命令」と称する）であり得る。この命令は、ブロック１２８のように、イベント（例えばテキストを話すこと）の完了を識別せよという付加的な命令を含み得る。このような命令の一構文例は、「OnSpeakComplete」であり得る。ＣＰＵ３は、スピークテキスト動作が完了したか否かを判定し得る。この動作が完了していないとＣＰＵ３が判定する場合には、ブロック１３０のように、ＣＰＵ３は、OnSpeakComplete命令の送信を遅延させ得る。接続動作が完了している場合には、ブロック１３２のように、ＣＰＵ３は、この命令を“アプリケーション”に送信し得る。
【００５４】
スピークテキスト命令は、指定されたテキストをＶＣＳ１のスピーカ１３を通して話すために使われてもよい。SpeakTextは起こるべきイベントを表し得るし、「text」はＣＰＵ３によってＶＣＳ１を通して話されるべきテキストを表し得るし、「completionCorrelationID」はイベントが完了すると返信されるべき識別子を表し得る。識別子は、OnSpeakCompleteイベントとともに送られ得る。
【００５５】
一実施形態では、ブロック１２２のように、スピークテキスト命令を完了するために、“アプリケーション”は「フォーカス」されていてもよいし、されていなくてもよい。例えば、ユーザがＶＣＳ１から「カレンダーリーダー」というメッセージを受け取るために、“アプリケーション”はそのときにユーザが対話するのに用いられるものであるということを確実にするように、システムはプログラムされ得る。“アプリケーション”が「フォーカス」されている必要がないようにプログラムされ得るシステムの場合には、アプリケーションは同一の又は分離した命令を発行し得る。
【００５６】
分離した命令の一例は、ブロック１２４のように、“アプリケーション”がフォーカスされていることを要求されない場合にＣＰＵ３によって受信され得る「speakAlert(text,completionCorrelationID)」（以下では「スピークアラート命令」と称する）であり得る。“アプリケーション”がフォーカスされていることを要求される場合には、ブロック１２６のように、スピークテキスト命令が受信され得る。スピークアラート命令は、非同期であってもよく、スピークテキスト命令イベントの完了を“アプリケーション”に知らせるための命令「OnSpeakAlertComplete」を含み得る。ブロック１３４のように、ＣＰＵ３は、スピークアラート動作が完了したか否かを判定し得る。この動作が完了していない場合には、ブロック１３６に示されているように、ＣＰＵ３は、OnSpeakAlertComplete命令の送信を遅延させ得る。接続動作が完了している場合には、ブロック１３８のように、ＣＰＵ３は、この命令を“アプリケーション”に送信し得る。
【００５７】
スピークテキスト命令は、“アプリケーション”に接続しようとしているとき、及び“アプリケーション”の操作中に発行され得るということが理解されるべきである。つまり、“アプリケーション”の開始時のみに限定されるわけではない。これは“アプリケーション”の操作を命令するために用いられ得る。
【００５８】
例えば、実行され得る１以上の電子カレンダー・イベントをＶＣＳ１を通してＣＰＵ３からユーザに提供する命令を、ＣＰＵ３は“アプリケーション”から受信し得る。これらの電子カレンダー・イベントは、次に、スピークテキスト命令を用いてユーザに提示される。例えば、“アプリケーション”から発行された命令は、ユーザが例えばカレンダーで提供される次の予定をリクエストすると、最も近い来るべき予定をＣＰＵ３に語らせ得る。ユーザのリクエストはマイクロフォン２９によって受け取られ、ＣＰＵ３に送信され得る。ＣＰＵ３は次に、１以上のメッセージを（例えばアスキーコードで）クライアント側のＡＰＩ又はＮＤ５３上のアプレットに送信して、“アプリケーション”に１以上の予定を開始させ、スピーカ１３を通した再生のためにその予定をユーザに対して出力させ得る。
【００５９】
“アプリケーション”を操作するための他の非限定的な音声コマンドには、全ての予定を再生するコマンド（例えば「play all」）、現在の予定を再生するコマンド（例えば「play today」）、将来の予定を再生するコマンド（例えば「play tomorrow」）、予定を削除するコマンド（例えば「delete appointment」）、アプリケーションの操作を止めるコマンド（例えば「exit」）、予定を追加するコマンド、及び予定を修正するコマンドが含まれ得る。一実施形態では、ユーザが予定を削除することを望む場合には、ユーザが削除を受け入れるか受け入れないかの確認をＶＣＳ１を通して出力するために、命令が“アプリケーション”からＣＰＵ３に送られ得る。
【００６０】
ブロック１４０のように、ＣＰＵ３は、“アプリケーション”を操作するコマンドを入力するようにユーザに促し得る。例えば、ユーザには「コマンドを言って下さい」が聞こえ得る。他の非限定的なプロンプトは、上述のような削除を確認するプロンプトであり得る。１以上のこれらのプロンプトは、複数のパラメータを含んでもよい。一例としての命令は、ユーザに入力を促し、認識された応答を聞き取るためのものであり得る。以下で説明されるように、認識された応答は、モジュールにプログラムされた付加的な命令に基づき得る。プロンプト命令及び応答認識命令は、特定のシンタックスを有し得る。例えば、一例としてのシンタックスは、「PromptAndListen (initialPrompt, helpPrompt, rejectionPrompt, timeoutPrompt, recoPhraseSetHandleList, completionCorrelationID)」（以下では「プロンプト命令」と称する）であり得る。この命令は、このイベントの完了を知らせる付加的な命令に関連付けられ得る。そのような命令のシンタックス例は、「OnPromptAndListenComplete」であり得る。ブロック１４２のように、ＣＰＵ３は、プロンプト及び聞き取り動作が完了したか否かを判定し得る。この動作が完了していない場合には、ブロック１４４のように、ＣＰＵ３は、OnPromptAndListenComplete命令の送信を遅延させ得る。プロンプト及び聞き取り動作が完了している場合には、ブロック１４６のように、ＣＰＵ３は、この命令を“アプリケーション”に送信し得る。
【００６１】
プロンプト命令の「PromptAndListen」は、イベント（すなわち、プロンプト及び聞き取り）が行われていることを表し得る。「initialPrompt」は、聞き取りの開始前にユーザに話しかけられるべきテキストを含み得る。「helpPrompt」は、聞き取りイベント中にユーザが助けを求める場合に、ユーザに話しかけられるべきテキストを含み得る。「rejectionPrompt」は、認識可能なフレーズをユーザが話さない場合に、ユーザに話しかけられるべきテキストを含み得る。「timeoutPrompt」は、認識可能なフレーズをユーザが話さない場合に、ユーザに話しかけられるべきテキストを含み得る。「recoPhraseSetHandleList」は、１以上の予め設定されたフレーズ認識するイベントセッション中に生成されたいくつかのフレーズセットハンドラ（又はフレーズセット識別子）を含み得る。一実施形態では、認識されたいかなるフレーズも、OnPromptAndListenComplete命令を用いてアプリケーションに返信される。返信命令は、また、completionCorrelationID命令イベントに含まれる識別子を含み得る。
【００６２】
ブロック１４７のように、プロンプト出力時にＣＰＵ３によって聞き取られる応答を認識することは、いくつかの更なる命令を通して成し遂げられ得る。これらの命令は、「PromptAndListen」動作の間に聞き取ることができるフレーズのセットを生成し得る。このような命令のシンタックス例は、「CreateRecoPhraseSet(phraseSetList, thresholdIgnore, thresholdReject, completionCorrelationID)」(以下では「認識応答（recognized response）命令」と称する）であり得る。認識応答命令は、認識応答のイベントの完了を知らせる付加的な命令に関連付けられ得る。返信命令の例は、「OnRecoPhraseSetCreationComplete」であり得る。返信命令は、それに続くプロンプト命令とともに用いられるフレーズセット識別子（すなわち、ハンドル）を含み得る。ブロック１４８のように、ＣＰＵ３は、認識応答動作が完了しているか否かを判定し得る。動作が完了していない場合には、ブロック１５０に示されているように、ＣＰＵ３は、OnRecoPhraseSetCreationComplete命令の送信を遅延させ得る。認識応答動作が完了している場合には、ブロック１５２のように、ＣＰＵ３は、この命令を“アプリケーション”に送信し得る。
【００６３】
認識応答命令の「CreateRecoPhraseSet」は、認識に用いられるフレーズセット生成イベントを表し得る。「phraseSetList」は、ＣＰＵ３によって認識されるべきいくつかのフレーズ文字列を含み得る。「thresholdIgnore」は、無視されるべきではないユーザからの応答（すなわち、フレーズ）について達成されるべき認識信頼レベルを示す、所定の範囲内（例えば０と１００との間）の数値を含み得る。「thresholdReject」は、拒絶されるべきではないユーザからの応答（すなわち、フレーズ）について達成されるべき認識信頼レベルを示す、所定の範囲内（例えば０と１００との間）の数値を含み得る。「completionCorrelationID」は、フレーズセット生成動作の完了を知らせ得る「OnRecoPhraseSetCreationComplete」命令内に含まれる識別子であり得る。
【００６４】
電子カレンダー・アプリケーション・イベントに対するリクエストを受信すると、ブロック１５４のように、ＣＰＵ３は、１以上のメッセージを（例えば、アスキーコードで）クライアント側のＡＰＩ又はアプレットに送信して、“アプリケーション”に電子カレンダー・アプリケーション・イベントを実行させ得る。例えばユーザが「予定」をリクエストすると、“アプリケーション”は、電子カレンダー・アプリケーションから電子カレンダーアイテムを開始し得る。ブロック１５８のように、ＣＰＵ３は、通信ネットワーク６１（例えば、インターネット）を介してカレンダーアイテムを受信し得る。アイテムは、“アプリケーション”からメタデータとして受信され得る。ブロック１６０のように、電子カレンダー・アプリケーション・イベントは、ＶＣＳ１で実行及び再生され得る。１以上の電子カレンダー・アプリケーション・イベントは“アプリケーション”の操作を終わらせるものであり得る。ブロック１５６のように“アプリケーション”を終了する命令をＣＰＵ３が受信すると、ブロック１６２のように、ＣＰＵ３は、セッションを終了させ得る。
【００６５】
一実施形態では、テキストは、ディスプレイ４に表示されてもよい。表示されるテキストは、所定の量（例えば、１２文字）に制限され得る。一実施形態では、テキストは、「マーキースタイル（marquee-style）」でユーザに対して表示され得る。“アプリケーション”は、この動作を成し遂げるために更なる命令を発行し得る。一例として命令は、「DisplayText(text)」であってもよく、「text」はＣＰＵ３のラジオヘッド（radio head、図示せず）で表示されるべきテキストを表し得る。一実施形態では、システムは、この命令が実行されるようにするために“アプリケーション”にフォーカスするように設定され得る。
【００６６】
いくつかの実施形態では、“アプリケーション”は、ＮＤ５３内のモジュールに格納されたいくつかの実行可能なプログラム（すなわち、ダイナミック・リンク・ライブラリ（ＤＬＬ））と通信し得る。ＤＬＬは、ＣＰＵ３と通信するためにアプリケーション・プログラミング・インタフェース（ＡＰＩ）とのインタフェースに使用され得る。加えて、“アプリケーション”は、ワールド・ワイド・ウェブ（ＷＷＷ）動作（例えば、マイクロソフト・コーポレーションによって開発され配布された.NETアーキテクチャ）を実行するために、１以上のＤＬＬと通信し得る。
【００６７】
図４は、車両ベースのコンピューティング・システム２４７と通信して１以上のアプリケーションを実行する、説明のための例示的なリモート・デバイス２０９を示す。この説明のための実施形態では、リモート・デバイス２０９（例えば、制限はなく、携帯電話、ＰＤＡ，ＧＰＳデバイス等）は、１以上のリモート・アプリケーション２０１，２０５を、格納して有している。リモート・アプリケーションは、車両コンピューティング・システム（ＶＣＳ）クライアント側ＡＰＩ２０３，２０７を用いて、車両ベースのコンピューティング・システム２４７と通信する。このＡＰＩは、例えば、開発者に前もって提供され、リモート・デバイス２０９と車両ベースのコンピューティング・システム２４７との間の通信が可能なように、送出パケット及び到来パケットのフォーマットを定義し得る。ディスパッチャー２１１は、同時に１以上のアプリケーションが通信している場合にリモート・デバイス２０９に提供され得る。
【００６８】
データは、リモート・デバイスから車両通信システムへ通信リンク２１３を通って送られる。これは有線リンクでも無線リンクでもよく、半二重でも全二重でもよい。実例としての一実施形態では、通信は全二重通信である。非限定的な一実施形態では、リンクはブルートゥース・リンクである。
【００６９】
車両システム２４７は、さまざまなアプリケーションを格納して有している。アプリケーションには、通信マネージャー２２３、ＡＰＩ抽出アプリケーション２１７、マネージメント及びアービトレーション・アプリケーション２１９、及びアダプテーション・アプリケーション２２１（これらのアプリケーションは、サービス・プロバイダ・アプリケーション２１５のように、アプリケーションの１又は複数のレイヤでもあり得る）を含むが、これらには限られない。
【００７０】
通信マネージャー２２３は、全ての伝送（transport）を扱い得るものであり、到来メッセージを抽出アプリケーション（又はレイヤ）２１７に転送し、送出メッセージが確実に適切なトランスポート・チャネルを経由して送られるようにする。
【００７１】
抽出アプリケーション２１７は、到来メッセージをサービスによって実行されるアクションに変換し、送出メッセージをローカルモジュールからの情報及びイベントから生成し得る。
【００７２】
マネージメント及びアービトレーション・アプリケーション２１９は、ＨＭＩエレメントの使用を管理し、リソース消費を制御することによって、ローカルな車両ベースのコンピューティング・システムを各アプリケーションのために仮想化し得る。
【００７３】
アダプテーション・アプリケーション２２１は、ローカルＡＰＩをカプセル化し、コア・ローカル・アプリケーションと共存し得る。このアプリケーションは、通信接続が車両ベースのコンピューティング・システム・ソフトウェアの種々のバージョンに適合するように、修正又は置き換えされ得る。
【００７４】
少なくとも１つの例示的実施形態において、メッセージプロトコルは、テキストを表示又は話し、聞き取り、ボタン押下を伝える等の目的でヒューマン・マシン・インタフェース（ＨＭＩ）に命令及び制御を行うためにモバイル・クライアントと車両ベースのコンピューティング・システムとの間で交換されるメッセージを符号化するために、使用され得る。これらのメッセージは、少量のデータ（例えば、テキストフレーズ、ボタン識別子、ステータス、サムドライブ・ファイル・データ（thumb-drive file data）、コンフィギュレーションデータ等）を含み得る。このプロトコルは、メッセージ仕様書によって提供される相補的サポートを用いて、複数のクライアント・アプリケーション・セッションが単一のトランスポート・チャネルを同時に使用することを可能にするであろう。
【００７５】
適切であり利用可能であれば、モバイルデバイスから車両のオーディオシステムへのストリーミング・オーディオ用に、A2DP BLUETOOTHプロファイルのような他のオープン・スタンダード・プロトコルを使用してもよい（全てのモバイルデバイスがA2DPをサポートしているわけではない）。しかしながら、オープン・スタンダード・プロトコルの中には全てのモバイルデバイスで常に利用可能であるとは言えず、常に一律に実装されているとは言えないものがある。更に、これらのプロトコルの使用のためのＡＰＩサポートは、全てのモバイルプラットフォームに一律に実装されてはいないかもしれない。したがって、技術的に十分に簡単であり、プラットフォーム全体で一様性を大いに増加させられる場合には、いくつかのオープン・スタンダード・プロトコル（例えば、ＯＢＥＸ）は、メッセージプロトコルの一部として提供され得る。
【００７６】
伝送は、クライアント・アプリケーションと車両ベースのコンピューティング・システムとの間でイベントを迅速に伝えるために、全二重通信をサポートし得る。また伝送は、１以上のデバイスからの同時接続を可能にするために、マルチプル・コンカレント・チャネルをサポートし得る。
【００７７】
１以上の例示的な伝送には、シリアル（ＲＳ２３２）及びＴＣＰ／ＩＰがある。例えば、ブルートゥース・シリアル・プロファイルを通してモバイルデバイスとのシリアル伝送通信が提供され得る。大部分のモバイルデバイスはこのプロファイルをサポートし、大部分はその使用のための共通のプログラミング・モデルを提供する。このシリアル・プログラミング・モデルは広く使われ、非常に統一されている。車両ベースのコンピューティング・システムがシリアル・オーバー・ＵＳＢをサポートする場合には、車両ベースのコンピューティング・システムにＵＳＢ接続されたいずれのモバイルデバイスとの間でも、シリアル伝送を使用することができる（モバイルデバイスがそのＵＳＢ接続を介したシリアル伝送をサポートしていれば）。
【００７８】
更に、ＴＣＰ／ＩＰ伝送により、車両ベースのコンピューティング・システムで実行されているアプリケーションがローカルなＨＭＩを使用することが可能になる。将来においてモジュールが外部ＴＣＰ／ＩＰ接続性を提供する場合には、この伝送により外部のクライアントがこのＴＣＰ／ＩＰ接続性を介して接続されるようになる。ＴＣＰ／ＩＰ用のソケット・プログラミング・モデル（ＡＰＩを含む）は、概して移植性が高い。クライアント側ＡＰＩ２２７を用いてローカル・ソケット２２５を介して通信するために、ローカルにロードされたアプリケーション２２９が、そのような例であろう。
【００７９】
少なくとも１つの実施形態においては、分断されているというシステムの性質のため、車両ベースのコンピューティングシステムは接続するまではクライアント・アプリケーションを知ることができないのであるが、それによってシステムとモバイルデバイスとが互いの存在と能力を知る開示システムが必要である。
【００８０】
二重開示システムがあり得る。これによって、モバイルデバイス・クライアントは環境、場面、ローカル・プラットフォームのＨＭＩ能力を知ることができ、システムはリモート・デバイスで利用可能なアプリケーションを知り、これらのアプリケーションを開始する能力を有することができるであろう。
【００８１】
この説明としての実施形態において、ネイティブＡＰＩ２３１は関連するさまざまなサービスを有し、それらはファンクション・コールを通してリモート・デバイスによってアクセス可能である。例えば、ディスプレイ機能２３３が提供され得る。
【００８２】
システムは、クライアント・アプリケーションが車両のディスプレイに書き込みをし、それらの特性を照会することを可能にするＡＰＩを提供し得る。各ディスプレイの特性は、クライアント・アプリケーションが個々のディスプレイタイプ（Type 1 FDM, Type 3 GAP, Type 6 ナビゲーション等）用のハードコーディングを要しないように、総称的に記述され得る。具体的には、システムは、各ディスプレイを列挙し、各ディスプレイの意図された用途（一次又は二次ディスプレイ）を示し得る。更に、システムは、各ディスプレイの書き込み可能なテキストフィールドを列挙し、各書き込み可能なテキストフィールドの大きさを提供し、各フィールドの意図された一般的な使用法を示す。現在のユーザ・インタフェースとの一貫性を高めるために、ドライバーの注意散漫についての規則によって許されるのであれば、長いテキストのスクロールのサポートも含まれ得る。
【００８３】
システムは、テキスト・音声変換機能２４１も含み得る。システムは、車両ベースのコンピューティングのテキスト・音声変換機能をクライアント・アプリケーションが強化することを可能にするＡＰＩを提供し得る。クライアント・アプリケーションは、オーディオアイコンの再生を話されたテキストでインターリーブすることも可能である。クライアント・アプリケーションは、以前から存在するオーディオアイコンを利用し、又は自身の短いオーディオファイルを提供することも可能である。アプリケーション提供のオーディオファイルのフォーマットは、ネイティブにサポートされているものに限られる。
【００８４】
説明としての実施形態の更なる機能には、１以上のボタン入力２４３が含まれ得る。これの一例は、車両に設置されたボタン（ステアリングホイール・ボタンのような）を用いてリモート・デバイス上のアプリケーションを制御することであろう。
【００８５】
他の例示的機能は、音声認識機能２４５であり得る。システムは、車両ベースのコンピューティングシステムの音声認識機能をクライアント・アプリケーションが高めることを可能にするＡＰＩを提供し得る。また、システムは、クライアント・アプリケーション・デベロッパーにより簡単な開発モデルを提供するために、車両ベースのコンピューティングシステムのネイティブ音声認識ＡＰＩを簡略化し得る。音声文法ＡＰＩも、ネイティブＡＰＩの柔軟性を保持しつつ、簡略化され得る。例えば、システムは（クライアント・アプリケーションを代表して）、「ブルートゥース・オーディオ」や「ＵＳＢ」のようなグローバル音声コマンドを認識し、適切なアプリケーションに制御を渡す。
【００８６】
オーディオＩ／Ｏ２３７も、例示的実装において提供され得る。システムは、コアアプリケーションに記述されたインタフェース規則を実施しながら、ＨＭＩへの統制されたアクセスを提供し得る。単一の「フォーカスされた」クライアント・アプリケーションが、ディスプレイ、ボタン、オーディオキャプチャ、又は音声エンジンへの首位のアクセスを許可され得る。フォーカスされていないクライアント・アプリケーション（例えば、テキストメッセージング、ターンバイターン（Turn By Turn）ナビゲーション等）は、短い告知（例えば、「新メッセージ到着」又は「左に曲がれ」）を許される。ステレオ音声は、モバイルデバイス音声アプリケーションの後に再生を続け得る。
【００８７】
システムは、マイクロフォンを用いて録音された音声をクライアント・アプリケーションがキャプチャすることを可能にするＡＰＩを提供し得る。キャプチャはいつでも中断され得るが、クライアント・アプリケーションは、キャプチャの期間を指定し得る。キャプチャされた音声は、クライアント・アプリケーションに返信されてもよいし、ローカル又はポータブルドライブに格納されてもよい。
【００８８】
更に、ファイルＩ／Ｏ２３５には、本システムが提供され得る。例えば、システムは、リモートドライブからの読み出し、リモートドライブへの書き込み、リモートドライブ上のファイルの生成及び／又は削除を、クライアント・アプリケーションが行うことを可能にするＡＰＩを提供し得る。クライアント・アプリケーションが、そのクライアント・アプリケーション専用のディレクトリ内のデータを読み出し／編集することのみ可能であるように、リモートドライブ・ファイルシステムへのアクセスは制限され得る。
【００８９】
本発明を実施するための最良の態様について詳細に説明したが、本発明が関連する技術を熟知する者は、以下の特許請求の範囲によって規定される本発明の実践のためのさまざまな代替の設計及び実施形態に気づくであろう。
【図１】
0005433782.tif 000002
【図２】
0005433782.tif 000003
【図３】
0005433782.tif 000004
【図４】
0005433782.tif 000005