(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】コンピューティングデバイスと車両ヘッドユニットとの間でのデータのセグメント化および送信のための方法ならびにシステム
(51)【国際特許分類】
H04W 72/044 20230101AFI20240725BHJP
H04L 47/43 20220101ALI20240725BHJP
H04L 67/04 20220101ALI20240725BHJP
H04W 4/48 20180101ALI20240725BHJP
H04W 84/10 20090101ALI20240725BHJP
【FI】
H04W72/044
H04L47/43
H04L67/04
H04W4/48
H04W84/10 110
【外国語出願】
(21)【出願番号】P 2021166214
(22)【出願日】2021-10-08
【審査請求日】2022-01-18
【審判番号】
【審判請求日】2023-12-21
(32)【優先日】2020-12-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ジェニファー・イー・ツァウ
(72)【発明者】
【氏名】ラーマサダゴパン・ペリアティルバディ
(72)【発明者】
【氏名】アンソニー・ジェシー・チェン
(72)【発明者】
【氏名】ダニエル・ハームズ
(72)【発明者】
【氏名】ヤオ・ユーシン
(72)【発明者】
【氏名】ジャイ・ウェンティン
(72)【発明者】
【氏名】イェン・イーラン
(72)【発明者】
【氏名】トーマス・アンソニー・ペライア・ザ・セカンド
【合議体】
【審判長】中木 努
【審判官】廣川 浩
【審判官】本郷 彰
(56)【参考文献】
【文献】特開2013-236346(JP,A)
【文献】特開2014-103580(JP,A)
【文献】特開2002-44005(JP,A)
【文献】特開2005-102122(JP,A)
【文献】特開2016-12918(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B7/24- 7/26
H04W4/00-99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1,4
(57)【特許請求の範囲】
【請求項1】
方法であって、
一次デバイス上で実行される
第1のアプリケーションが、前記一次デバイス上で実行される第2のアプリケーションから、前記一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信することを備え、前記一次デバイスおよび前記車両ヘッドユニットは、無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって通信可能に連結され、前記方法はさらに、
前記第1のアプリケーションが、前記データの前記表示に基づいて、前記一次デバイスから前記車両ヘッドユニットに転送されるデータの量を求めることと、
前記第1のアプリケーションが、前記データの量が前記無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断することと、
前記データの量が前記最大パケットサイズを満たさないという判断に応じて、
前記第1のアプリケーションが、それらの各パケットが前記最大パケットサイズを満たすデータの量を含む複数のパケットに、前記データを分割することと、
前記一次デバイスから前記車両ヘッドユニットに、前記無線ネットワーク接続を用いて前記複数のパケットを送信することと、
前記データの量が前記最大パケットサイズを満たすという判断に応じて、前記一次デバイスから前記車両ヘッドユニットに、前記無線ネットワーク接続を用いて、前記データを含む1つのパケットを送信することとを備える、方法。
【請求項2】
前記無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、請求項1に記載の方法。
【請求項3】
前記車両ヘッドユニットのBLUETOOTHモジュールからBLUETOOTHペアリングリクエストを受信することと、前記一次デバイスのBLUETOOTHモジュールを、前記車両ヘッドユニットの前記BLUETOOTHモジュールとペアリングすることとをさらに備える、請求項1または2に記載の方法。
【請求項4】
前記第1のアプリケーションが前記データを複数のパケットに分割することは、前記複数のパケットの各パケットについて、それぞれのセグメント化情報を追加することを含み、前記それぞれのセグメント化情報は、パケット識別子、パケット総数、およびデータ識別子を含む、請求項1~3のいずれかに記載の方法。
【請求項5】
前記一次デバイス上で実行される前記第1のアプリケーションから前記車両ヘッドユニットに、前記複数のパケットを送信することをさらに備える、請求項4に記載の方法。
【請求項6】
前記一次デバイス上で実行される前記第1のアプリケーションが、前記車両ヘッドユニットから前記無線ネットワーク接続を用いて、第2の複数のパケットを受信することをさらに備え、前記第2の複数のパケットは、前記無線ネットワーキングプロトコルに従って構成され、前記第2の複数のパケットの各々は、前記車両ヘッドユニット上で実行される第2のアプリケーションによって提供される第2のデータの一部を含み、前記第2のデータは、前記車両ヘッドユニット上で実行される第1のアプリケーションによって、前記第2の複数のパケットに分割され、前記第2のデータのサイズは、前記無線ネットワーキングプロトコルの前記最大パケットサイズより大きく、前記方法はさらに、
前記一次デバイス上で実行される前記第1のアプリケーションが、前記第2の複数のパケットの各々に含まれる前記第2のデータの一部を、前記第2のデータに結合することと、
前記一次デバイス上で実行される前記第1のアプリケーションが、前記一次デバイス上で実行される前記第2のアプリケーションに、前記第2のデータを提供することとを備え、前記一次デバイス上で実行される前記第1のおよび第2のアプリケーションは、前記一次デバイス上で実行されるオペレーティングシステムと異なり、前記車両ヘッドユニット上で実行される前記第1のおよび第2のアプリケーションは、前記車両ヘッドユニット上で実行されるオペレーティングシステムと異なる、請求項1~5のいずれかに記載の方法。
【請求項7】
方法であって、
車両ヘッドユニット上で実行される第1のアプリケーションが、一次デバイスから無線ネットワーク接続を用いて、複数のパケットを受信することを備え、前記複数のパケットは、無線ネットワーキングプロトコルに従って構成され、前記複数のパケットの各々は、前記一次デバイス上で実行される第1のアプリケーションによって提供されるデータの一部を含み、前記データは、前記一次デバイス上で実行される第2のアプリケーションによって、前記複数のパケットに分割され、前記データは、前記無線ネットワーキングプロトコルの最大パケットサイズより大きなサイズを有し、前記方法はさらに、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記複数のパケットの各々に含まれる前記データの一部を前記データに結合することと、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記車両ヘッドユニット上で実行される第2のアプリケーションに、前記データを提供することとを備え、前記車両ヘッドユニット上で実行される前記第1のおよび第2のアプリケーションは、前記車両ヘッドユニット上で実行されるオペレーティングシステムと異なり、前記一次デバイス上で実行される前記第1のおよび第2のアプリケーションは、前記一次デバイス上で実行されるオペレーティングシステムと異なる、方法。
【請求項8】
前記無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、請求項7に記載の方法。
【請求項9】
前記一次デバイスのBLUETOOTHモジュールからBLUETOOTHペアリングリクエストを受信することと、前記車両ヘッドユニットのBLUETOOTHモジュールを、前記一次デバイスの前記BLUETOOTHモジュールとペアリングすることとをさらに備える、請求項7または8に記載の方法。
【請求項10】
前記複数のパケットの各々に含まれる前記データの一部を前記データに結合することは、前記複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づく、請求項7~9のいずれかに記載の方法。
【請求項11】
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記車両ヘッドユニット上で実行される前記第2のアプリケーションから、前記車両ヘッドユニットと前記一次デバイスとの間で転送される第2のデータの表示を受信することと、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記第2のデータの前記表示に基づいて、前記車両ヘッドユニットから前記一次デバイスに転送される第2のデータの量を求めることと、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記第2のデータの量が前記無線ネットワーキングプロトコルの前記最大パケットサイズを満たすかどうかを判断することと、
前記第2のデータの量が前記最大パケットサイズを満たさないという判断に応じて、
前記車両ヘッドユニット上で実行される第1のアプリケーションが、各パケットが前記最大パケットサイズを満たす第2のデータの量を含む第2の複数のパケットに、前記第2のデータを分割することと、
前記車両ヘッドユニットから前記一次デバイスに、前記無線ネットワーク接続を用いて前記第2の複数のパケットを送信することと、
前記第2のデータの量が前記最大パケットサイズを満たすという判断に応じて、前記車両ヘッドユニットから前記一次デバイスに、前記無線ネットワーク接続を用いて、前記第2のデータを含む1つのパケットを送信することとを備える、請求項7~10のいずれかに記載の方法。
【請求項12】
一次デバイスであって、
オペレーティングシステム、第1のアプリケーション、および第2のアプリケーションを格納するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
前記一次デバイス上で実行される前記第1のアプリケーションが、前記一次デバイス上で実行される前記第2のアプリケーションから、前記一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信するように構成され、前記一次デバイスおよび前記車両ヘッドユニットは、無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって通信可能に連結され、前記1つまたは複数のプロセッサはさらに、
前記第1のアプリケーションが前記データの前記表示に基づいて、前記一次デバイスから前記車両ヘッドユニットに転送されるデータの量を求め、
前記第1のアプリケーションが、前記データの量が前記無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し、
前記データの量が前記最大パケットサイズを満たさないという判断に応じて、
前記第1のアプリケーションが、それらの各パケットが前記最大パケットサイズを満たすデータの量を含む複数のパケットに、データを分割し、
前記一次デバイスから前記車両ヘッドユニットに、前記無線ネットワーク接続を用いて前記複数のパケットを送信し、
前記データの量が前記最大パケットサイズを満たすという判断に応じて、前記一次デバイスから前記車両ヘッドユニットに、前記無線ネットワーク接続を用いて、前記データを含む1つのパケットを送信するように構成される、一次デバイス。
【請求項13】
前記無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、請求項12に記載のデバイス。
【請求項14】
前記1つまたは複数のプロセッサはさらに、前記車両ヘッドユニットのBLUETOOTHモジュールから、BLUETOOTHペアリングリクエストを受信し、前記一次デバイスのBLUETOOTHモジュールを、前記車両ヘッドユニットの前記BLUETOOTHとペアリングするように構成される、請求項12または13に記載のデバイス。
【請求項15】
前記1つまたは複数のプロセッサはさらに、前記複数のパケットの各パケットについて、それぞれのセグメント化情報を追加するように構成され、前記それぞれのセグメント化情報は、パケット識別子、パケット総数、およびデータ識別子を含む、請求項12~14のいずれかに記載のデバイス。
【請求項16】
前記1つまたは複数のプロセッサはさらに、前記一次デバイス上で実行される前記第1のアプリケーションから前記車両ヘッドユニットに、前記複数のパケットを送信するように構成される、請求項15に記載のデバイス。
【請求項17】
前記1つまたは複数のプロセッサはさらに、
前記一次デバイス上で実行される前記第1のアプリケーションが、前記車両ヘッドユニットから前記無線ネットワーク接続を用いて、第2の複数のパケットを受信するように構成され、前記第2の複数のパケットは、前記無線ネットワーキングプロトコルに従って構成され、前記第2の複数のパケットの各々は、前記車両ヘッドユニット上で実行される第2のアプリケーションによって提供される第2のデータの一部を含み、前記第2のデータは、前記車両ヘッドユニット上で実行される第1のアプリケーションによって、前記第2の複数のパケットに分割され、前記第2のデータのサイズは、前記無線ネットワーキングプロトコルの前記最大パケットサイズより大きく、前記1つまたは複数のプロセッサはさらに、
前記一次デバイス上で実行される前記第1のアプリケーションが、前記第2の複数のパケットの各々に含まれる前記第2のデータの一部を前記第2のデータに結合し、
前記一次デバイス上で実行される前記第1のアプリケーションが、前記一次デバイス上で実行される前記第2のアプリケーションに、前記第2のデータを提供するように構成され、前記一次デバイス上で実行される前記第1のおよび第2のアプリケーションは、前記一次デバイス上で実行されるオペレーティングシステムと異なり、前記車両ヘッドユニット上で実行される前記第1のおよび第2のアプリケーションは、前記車両ヘッドユニット上で実行されるオペレーティングシステムと異なる、請求項12~16のいずれかに記載のデバイス。
【請求項18】
車両ヘッドユニットであって、
オペレーティングシステム、第1のアプリケーション、および第2のアプリケーションを格納するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサは、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、一次デバイスから無線ネットワーク接続によって、複数のパケットを受信するように構成され、前記複数のパケットは、無線ネットワーキングプロトコルに従って構成され、前記複数のパケットの各々は、前記一次デバイス上で実行される第1のアプリケーションによって提供されるデータの一部を含み、前記データは、前記一次デバイス上で実行される第2のアプリケーションによって、前記複数のパケットに分割され、前記データは、前記無線ネットワーキングプロトコルの最大パケットサイズより大きなサイズを有し、前記1つまたは複数のプロセッサはさらに、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記複数のパケットの各々に含まれる前記データの一部を前記データに結合し、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記車両ヘッドユニット上で実行される第2のアプリケーションに、前記データを提供するように構成され、前記車両ヘッドユニット上で実行される前記第1のおよび第2のアプリケーションは、前記車両ヘッドユニット上で実行されるオペレーティングシステムと異なり、前記一次デバイス上で実行される前記第1のおよび第2のアプリケーションは、前記一次デバイス上で実行されるオペレーティングシステムと異なる、車両ヘッドユニット。
【請求項19】
前記無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、請求項18に記載の車両ヘッドユニット。
【請求項20】
前記1つまたは複数のプロセッサはさらに、前記一次デバイスのBLUETOOTHモジュールから、BLUETOOTHペアリングリクエストを受信し、前記車両ヘッドユニットのBLUETOOTHペアリングリクエストを、前記一次デバイスの前記BLUETOOTHモジュールとペアリングするように構成されている、請求項18または19に記載の車両ヘッドユニット。
【請求項21】
前記1つまたは複数のプロセッサはさらに、前記複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づいて、前記複数のパケットの各々に含まれる前記データの一部を、前記データに結合するように構成されている、請求項18~20のいずれかに記載の車両ヘッドユニット。
【請求項22】
前記1つまたは複数のプロセッサはさらに、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記車両ヘッドユニット上で実行される前記第2のアプリケーションから、前記車両ヘッドユニットと前記一次デバイスとの間で転送される第2のデータの表示を受信し、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記第2のデータの前記表示に基づいて、前記車両ヘッドユニットから前記一次デバイスに転送される第2のデータの量を求め、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、前記第2のデータの量が前記無線ネットワーキングプロトコルの前記最大パケットサイズを満たすかどうかを判断し、
前記第2のデータの量が前記最大パケットサイズを満たさないという判断に応じて、
前記車両ヘッドユニット上で実行される前記第1のアプリケーションが、各パケットが前記最大パケットサイズを満たす第2のデータの量を含む第2の複数のパケットに、前記第2のデータを分割し、
前記車両ヘッドユニットから前記一次デバイスに、前記無線ネットワーク接続を用いて前記第2の複数のパケットを送信し、
前記第2のデータの量が前記最大パケットサイズを満たすという判断に応じて、前記車両ヘッドユニットから前記一次デバイスに、前記無線ネットワーク接続を用いて、前記第2のデータを含む1つのパケットを送信するように構成されている、請求項18~21のいずれかに記載の車両ヘッドユニット。
【発明の詳細な説明】
【背景技術】
【0001】
背景
車両は、暖房・換気・空調(HVAC)システム、(車内灯および/または車外灯の制御のための)照明システム、インフォテインメントシステム、(運転席および/または助手席の位置を制御するための)座席システムなどの車両システムを制御するためのインターフェイス(たとえば、グラフィカルユーザインターフェイス-GUI)を提示する、いわゆる「ヘッドユニット」または他の統合ヘッドユニットを備え得る。インターフェイスは、コンソール(たとえば、車載ディスプレイ)を介して提示され得る。自動車、オートバイ、バス、レクリエーショナルビークル(RV)、セミトレーラートラック、トラクターもしくは他の種類の農機具、列車、飛行機、ドローン、ヘリコプター、または個人輸送リンク車両などの車両のユーザは、一次デバイス(たとえば携帯電話)を車両のヘッドユニットに接続して、グラフィカルユーザインターフェイスをヘッドユニットに投影(すなわち、提供)し得る。これによって、ヘッドユニットは、当該ヘッドユニットに連結されたディスプレイを介して、グラフィカルユーザインターフェイスを提示し得る。
【発明の概要】
【発明が解決しようとする課題】
【0002】
一次デバイスは、一次デバイスの1つ以上のアプリケーション用にデータを受信し、このデータを車両ヘッドユニットに送信可能である場合が多い。たとえば、車両オペレータは、車両で移動している間に1つ以上のメッセージを受信することもあり、車両ヘッドユニットのディスプレイにメッセージを表示したいと思うこともある。いくつかの例では、一次デバイスは、プロプタエタリクラウドにデータを送信することがあり、プロプライエタリクラウドは、このデータをヘッドユニットに送信することがある。しかしながら、そのような実現には、データをプロプライエタリフォーマットに変換しなければならず、データがプロプライエタリクラウドから一旦削除されると、使用が困難になる場合がある。
【課題を解決するための手段】
【0003】
要約
一般に、本開示の技術は、ピアツーピア通信チャネルを確立するためのコンパニオンアプリケーションを提供して、一次デバイスとヘッドユニットとの間で任意のデータを送信することに関する。開示される技術によると、コンパニオンアプリケーションは、Bluetooth(登録商標)通信プロトコルまたはBluetooth Low Energy通信プロトコルなどの無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって、データセグメントにおける一次デバイスとヘッドユニットとの間のデータの処理および送信を行い得る。コンパニオンアプリケーションは、一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信し、データの表示に基づいて、転送されるデータの量を求め得る。コンパニオンアプリケーションはさらに、データ量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し得る。データ量が最大パケットサイズを満たさないという判断に応じて、コンパニオンアプリケーションは、データを複数のパケットに分割し、無線ネットワーク接続を用いて複数のパケット内のデータを送信し得る。
【0004】
この点について、技術のさまざまな態様によって、一次デバイスおよびヘッドユニットが互いに直接データを送信できるようにして、セントラルサーバが不要になり得るピアツーピア通信チャネルが提供され得る。ピアツーピア通信チャネルは、単一障害点を最小化する分散環境を提供して、車両ネットワーク通信を促進する可能性がある。さらに、データをデータセグメントに分割し、かつ、複数のパケット内のデータを送信することによって、開示された技術は、データ通信の全体的な信頼性およびフォールトトレランスを向上させる。未配信パケットのみの送信をリスタートすることによって、技術のさまざまな態様において、データ全体の送信のリスタートは付加的なリソース(たとえば、プロセッササイクル、メモリ空間、メモリバス帯域幅、無線帯域幅など)を必要とするため、(たとえば、プロセッササイクルの消費、メモリの消費、メモリバス帯域幅の利用、無線帯域幅の消費などの点で)一次デバイスおよびヘッドユニットは、より効率的に動作可能になる。
【0005】
いくつかの例では、方法は、一次デバイス上で実行される一次アプリケーションが、一次デバイス上で実行される第2のアプリケーションから、一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信することを備える。一次デバイスおよび車両ヘッドユニットは、無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって通信可能に連結される。方法はさらに、第1のアプリケーションが、データの表示に基づいて、一次デバイスから車両ヘッドユニットに転送されるデータの量を求めることと、第1のアプリケーションが、データの量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断することと、データの量が最大パケットサイズを満たさないという判断に応じて、第1のアプリケーションが、それらの各パケットが最大パケットサイズを満たすデータの量を含む複数のパケットに、データを分割することと、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて複数のパケットを送信することと、データの量が最大パケットサイズを満たすという判断に応じて、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて、データを含む1つのパケットを送信することとを備える。
【0006】
いくつかの例では、方法は、車両ヘッドユニット上で実行される第1のアプリケーションが、一次デバイスから無線ネットワーク接続を用いて、複数のパケットを受信することを備える。複数のパケットは、無線ネットワーキングプロトコルに従って構成される。複数のパケットの各々は、一次デバイス上で実行される第1のアプリケーションによって提供されるデータの一部を含む。データは、一次デバイス上で実行される第2のアプリケーションによって、複数のパケットに分割される。データは、無線ネットワーキングプロトコルの最大パケットサイズより大きなサイズを有する。方法はさらに、車両ヘッドユニット上で実行される第1のアプリケーションが、複数のパケットの各々に含まれるデータの一部をデータに結合することと、車両ヘッドユニット上で実行される第1のアプリケーションが、車両ヘッドユニット上で実行される第2のアプリケーションにデータを提供することとを備える。車両ヘッドユニット上で実行される第1のおよび第2のアプリケーションは、車両ヘッドユニット上で実行されるオペレーティングシステムと異なる。一次デバイス上で実行される第1のおよび第2のアプリケーションは、一次デバイス上で実行されるオペレーティングシステムと異なる。
【0007】
いくつかの例では、一次デバイスは、オペレーティングシステム、第1のアプリケーション、および第2のアプリケーションを格納するように構成されたメモリと、1つまたは複数のプロセッサとを備える。1つまたは複数のプロセッサは、一次デバイス上で実行される第1のアプリケーションが、一次デバイス上で実行される第2のアプリケーションから、一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信するように構成される。一次デバイスおよび車両ヘッドユニットは、無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって通信可能に連結される。1つまたは複数のプロセッサはさらに、第1のアプリケーションがデータの表示に基づいて、一次デバイスから車両ヘッドユニットに転送されるデータの量を求め、第1のアプリケーションが、データの量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し、データの量が最大パケットサイズを満たさないという判断に応じて、第1のアプリケーションが、それらの各パケットが最大パケットサイズを満たすデータの量を含む複数のパケットに、データを分割し、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて複数のパケットを送信し、データの量が最大パケットサイズを満たすという判断に応じて、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて、データを含む1つのパケットを送信するように構成される。
【0008】
いくつかの例では、車両ヘッドユニットは、オペレーティングシステム、第1のアプリケーション、および第2のアプリケーションを格納するように構成されたメモリと、1つまたは複数のプロセッサとを備える。1つまたは複数のプロセッサは、車両ヘッドユニット上で実行される第1のアプリケーションが、一次デバイスから無線ネットワーク接続によって、複数のパケットを受信するように構成される。複数のパケットは、無線ネットワーキングプロトコルに従って構成される。複数のパケットの各々は、一次デバイス上で実行される第1のアプリケーションによって提供されるデータの一部を含む。データは、一次デバイス上で実行される第2のアプリケーションによって、複数のパケットに分割される。データは、無線ネットワーキングプロトコルの最大パケットサイズより大きなサイズを有する。1つまたは複数のプロセッサはさらに、車両ヘッドユニット上で実行される第1のアプリケーションによって、複数のパケットの各々に含まれるデータの一部をデータに結合し、車両ヘッドユニット上で実行される第1のアプリケーションが、車両ヘッドユニット上で実行される第2のアプリケーションに、データを提供するように構成され、車両ヘッドユニット上で実行される第1のおよび第2のアプリケーションは、車両ヘッドユニット上で実行されるオペレーティングシステムと異なる。一次デバイス上で実行される第1のおよび第2のアプリケーションは、一次デバイス上で実行されるオペレーティングシステムと異なる。
【0009】
1つ以上の例について、添付の図面を参照して以下の説明で詳細に記載する。本開示の他の特徴、目的、および利点は、説明および図面から、ならびに請求項から明らかとなろう。
【図面の簡単な説明】
【0010】
【
図1】本開示で説明するピアツーピア通信技術のさまざまな態様を行うように構成されたシステムの例を示す概念図である。
【
図2】本開示で説明する技術のさまざまな態様に従う、ピアツーピア通信が発生し得るオペレーティングシステムの階層アーキテクチャの概念図を示すブロック図である。
【
図3】本開示で説明する技術のさまざまな態様に従う、ピアツーピア通信が発生し得るオペレーティングシステムの階層アーキテクチャの概念図を示す他のブロック図である。
【
図4】
図1の一次デバイスをより詳細に示すブロック図である。
【
図5】本開示の技術に従う、ピアツーピア通信チャネルを介して、データの分割およびパケット内のデータの送信を行う際の、
図1の一次デバイスの例示的な動作を示すフローチャートである。
【
図6】本開示の技術に従う、ピアツーピア通信チャネルを介して、パケットの受信およびパケットに含まれるデータセグメントのアセンブリングを行う際の、
図1の一次デバイスの例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
詳細な説明
図1は、本開示で説明する通信トランスポート技術のさまざまな態様を行うように構成されたシステムの例を示す概念図である。
図1の例に示すように、システム10は、本開示の1つ以上の技術に従って複数のトランスポートを管理し得る。システム10は、一次デバイス100と車両ヘッドユニット102とを備え得る。
【0012】
図1の例では、一次デバイス100はスマートフォンである。しかしながら、一次デバイス100の他の例は、携帯電話、スマートフォン、ヘッドユニット拡張またはアップグレードカートリッジモジュール、パーソナルデジタルアシスタント(PDA:personal digital assistant)、ラップトップコンピュータ、タブレットコンピュータ、携帯ゲーム機、携帯メディアプレーヤ、電子書籍リーダー、時計(いわゆるスマートウォッチを含む)、アドオンデバイス(キャストデバイスなど)、スマート眼鏡、ゲームコントローラ、車両、または他の種類の携帯もしくはモバイルデバイスでもよい。
【0013】
車両ヘッドユニット102は、暖房・換気・空調(HVAC)システム、(内部照明および/または外部照明を制御するための)照明システム、インフォテインメントシステム、(運転席および/または助手席の位置を制御するための)座席システムなどの車両システムを制御するためのインターフェイス(たとえば、グラフィカルユーザインターフェイス-GUI)を提示する統合ヘッドユニットを表し得る。インターフェイスは、コンソール(たとえば、
図1の例でディスプレイ116と示される車載ディスプレイ)を介して提示されてもよい。車両ヘッドユニット102は、オートバイ、バス、レクリエーショナルビークル(RV)、セミトレーラートラック、トラクタもしくは他の種類の農機具、列車、飛行機、ドローン、ヘリコプタ、個人輸送車両、または本明細書で説明する技術のうちの1つ以上に従ってトランスポートを管理可能な他の種類の車両に含まれ得る。
【0014】
一次デバイス100は、
図1の例に示すように、アプリケーション104などの1つ以上のアプリケーション用の実行環境を提供するオペレーティングシステム103を含み得る。オペレーティングシステム103は、アプリケーション104がインターフェイス接続して一次デバイス100のハードウェアにアクセス可能になるような、マルチスレッドオペレーティングシステムまたはシングルスレッドオペレーティングシステムを表し得る。オペレーティングシステム103は、一次デバイス100の基礎となるハードウェアへのアクセスを容易にするカーネルを含み得、カーネルは、アプリケーション104が一次デバイス100の基礎となるハードウェアにアクセスするために呼出す複数の異なるインターフェイス(たとえば、アプリケーションプログラマインターフェイス-API)を提示し得る。
【0015】
一次デバイス100の基礎となるハードウェアの例として、オペレーティングシステム(「OS」)103、アプリケーション104、ディスプレイ106、および通信(「COMM」)コンポーネント108A~108N(「COMMコンポーネント108」であり、「通信コンポーネント108」と呼ばれる場合もある)の実行をサポートする1つまたは複数のプロセッサ(図を簡潔にするために示されていない)が挙げられる。一次デバイス100のディスプレイ106は、入力デバイスおよび出力デバイスとして機能する存在感知ディスプレイを表し得る。存在感知ディスプレイ106は、さまざまなディスプレイハードウェアを用いて実現され得る。
【0016】
たとえば、存在感知ディスプレイ106は、抵抗型タッチスクリーン、表面音響波タッチスクリーン、容量型タッチスクリーン、投影型容量タッチスクリーン、感圧スクリーン、音響パルス認識タッチスクリーン、または他の存在感知表示技術などの存在感知入力コンポーネントを用いて、入力デバイスとして機能し得る。存在感知ディスプレイ106は、一次デバイス100のユーザに視覚情報を出力可能な液晶ディスプレイ(LCD)、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、e-インク、または類似のモノクロームもしくはカラーディスプレイといった、1つ以上の表示コンポーネントを用いた出力(たとえば表示)デバイスとして機能し得る。
【0017】
通信コンポーネント108は、セルラー無線、3G無線、4G無線、5G無線、Bluetooth(登録商標)無線(もしくは他のパーソナルエリアネットワーク(PAN)無線)、近距離通信(NFC)無線、またはWi-Fi(登録商標)無線(もしくは他の無線ローカルエリアネットワーク(WLAN)無線)といった、通信信号の送信および/または受信が可能な無線通信デバイスを含み得る。さらにまたは代替的に、通信コンポーネント108は、有線通信媒体(たとえば、ユニバーサルシリアルバス-USB-ケーブル)を用いて、直接リンクを介して通信信号の送信および/または受信が可能な有線通信デバイスを含み得る。
【0018】
オペレーティングシステム103および/またはアプリケーション104は、一次デバイス100のユーザが一次デバイス100とやり取りするためにインターフェイス接続可能なグラフィカルユーザインターフェイス(GUI)を提示し得る。オペレーティングシステム103は、ディスプレイ106を介して、アプリケーション104の1つ以上のアイコンまたは他の視覚表示を含むGUIを提示してもよく、一次デバイス100のユーザは、オペレーティングシステム103またはアプリケーション104を介して、一次デバイス100によって提示されるさまざまなサービスにアクセスするためにアイコンまたは他の視覚表示のうちの1つ以上を選択し得る。
【0019】
たとえば、オペレーティングシステム103は、電話サービス(たとえば、セルラーテレフォニーサービス、ボイス・オーバー・インターネット・プロトコル-Voice over Internet Protocol(VoIP)-サービスなど)、ウェブ会議サービス、ビデオ会議サービス、テキスティングサービス、eメールサービス、(たとえば、統合ウェブブラウザを介した)ウェブブラウジングサービス、ナビゲーションサービス、アシスタントサービス、アプリケーションストアサービス(サードパーティアプリケーションを取得するためのものであり、アプリケーション104は、アプリケーションストアサービスを介して取得される統合ファーストパーティアプリケーションおよび/またはサードパーティアプリケーションのどちらかまたは両方を提示可能である)、および/または統合ファーストパーティアプリケーションによって提供される他のサービスを可能にするさまざまな統合アプリケーションを含み得る。
【0020】
アプリケーション104は、上述したように、オペレーティングシステム103に統合されたアプリケーションとして開発され提供されるファーストパーティアプリケーション、または、一次デバイス100のユーザがオペレーティングシステム103によって提供されるアプリケーションストアサービスを介して取得するサードパーティアプリケーションを表し得る。アプリケーション104は、一次デバイス100のソフトウェア機能を拡張し得、アプリケーション104は、オペレーティングシステム103によって提示される実行環境内で実行され得る。アプリケーション104は、数例として、ゲームサービス(たとえば、ビデオゲーム)、eメールサービス、ウェブブラウジングサービス、テキスティングおよび/またはチャットサービス、ウェブ会議サービス、ビデオ会議サービス、音楽サービス(ストリーミング音楽サービスを含む)、ビデオサービス(ビデオストリーミングサービスを含む)、ナビゲーションサービス、ワードプロセッシングサービス、スプレッドシートサービス、スライドおよび/またはプレゼンテーションサービス、アシスタントサービス、テキスト入力サービス、またはアプリケーションによって一般に提供される他のサービスを提供し得る。
【0021】
図1の例にも示すように、車両ヘッドユニット102は、オペレーティングシステム113を含み得る。オペレーティングシステム113は、1つ以上のアプリケーション(図を簡潔にする目的で、
図1の例では示されていない)が車両ヘッドユニット102の(または言い換えると、それによって提供される)機能を拡張するために実行可能な実行環境を提示可能であるという点において、オペレーティングシステム103と類似、または実質的に類似し得る。オペレーティングシステム113は、オペレーティングシステム103の統合アプリケーションに関して上述されたものと類似のサービスを提供する統合ファーストパーティアプリケーションを含み得る。さらに、オペレーティングシステム113によって提供される実行環境内で実行される1つ以上のサードパーティアプリケーションは、アプリケーション104に関して上述されたものと類似したサービスを提供し得る。
【0022】
いずれにしても、オペレーティングシステム113は、アプリケーションが車両ヘッドユニット102の基礎となるハードウェアとインターフェイス接続可能になるインターフェイスを提示し得る。車両ヘッドユニット102の基礎となるハードウェアは、オペレーティングシステム113および1つ以上のアプリケーション、ディスプレイ116および通信(「COMM」)コンポーネント118A~118N(「commコンポーネント118」であり、「通信コンポーネント118」とも呼ばれることがある)を実行するように構成された1つまたは複数のプロセッサ(これらも、図を簡潔にする目的で、
図1の例で示されていない)を含み得る。
【0023】
ディスプレイ116はディスプレイ106に類似してもよく、ディスプレイ116は、ディスプレイ106と同様に、存在感知ディスプレイ(およびそれゆえ、「存在感知ディスプレイ116」と呼ばれる場合がある)を表し得る。すなわち、一次デバイス100の存在感知ディスプレイ106と同様に、存在感知ディスプレイ116は、(抵抗型タッチスクリーン、表面音響波タッチスクリーン、容量型タッチスクリーン、感圧スクリーン、音響パルス認識タッチスクリーンなどの存在感知入力コンポーネントを用いることによって)入力デバイスとして、および(たとえば、液晶ディスプレイ(LCD)、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、e-インクなどの任意の1つ以上の表示コンポーネントを用いることによって)出力デバイスとして、機能し得る。さらに、一次デバイス100の通信コンポーネント108と同様に、通信コンポーネント118は、セルラー無線、3G無線、4G無線、5G無線、Bluetooth無線(もしくは他のPAN無線)、Wi-Fi無線(もしくは他の種類のWLAN無線)、Ethernet(登録商標)、USBといった、通信信号の送信および/または受信が可能な無線および有線通信デバイスを含み得る。たとえば、通信コンポーネント118は、Bluetooth通信モジュールを含み得、車両ヘッドユニット102は、一次デバイス100のBluetooth通信モジュール(たとえば、一次デバイス100の通信コンポーネント108A)からBluetoothペアリングリクエストを受信し得、車両ヘッドユニット102の通信コンポーネント118のうちの1つを、一次デバイス100のBluetooth通信モジュールとペアリングし得る。
【0024】
車両ヘッドユニット102が設けられた車両の乗員は、一次デバイス100(たとえばスマートフォン)を車両ヘッドユニット102に接続して、データを車両ヘッドユニット102に送信し得る。その後、車両ヘッドユニット102は、ディスプレイ116を介してグラフィカルユーザインターフェイスを提示し得る。
【0025】
データを車両ヘッドユニット102に送信するために、一次デバイス100は、通信コンポーネント108と対応する通信コンポーネント118との間の通信セッションによって提供される有線トランスポートまたは無線トランスポートを介して、車両ヘッドユニット102に接続し得る。有線トランスポートは、一次デバイス100がUSBケーブルを介して車両ヘッドユニット102に連結されるユニバーサルシリアルバス(USB)を含み得る。無線トランスポートは、Bluetooth通信、低エネルギーおよび高(または、言い換えると、通常)エネルギーバージョン、および無線ローカルエリアネットワーク(WLAN)などを含み得るパーソナルエリアネットワーク(PAN)トランスポートを含んでもよい。
【0026】
最初に、乗員は、PAN無線トランスポートをサポートする通信コンポーネント108のうちの1つを介して、一次デバイス100を車両ヘッドユニット102に連結し得る、言い換えると、車両ヘッドユニット102とペアにし得る。このような連結をペアリングと呼ぶ場合がある。たとえば、通信コンポーネント108はBluetooth通信モジュールを含んでもよく、一次デバイス100は、車両ヘッドユニット102のBluetooth通信モジュール(たとえば、車両ヘッドユニット102の通信コンポーネント118A)からBluetoothペアリングリクエストを受信し、一次デバイス100の通信コンポーネント108のうちの1つを車両ヘッドユニット102のBluetooth通信モジュールとペアリングし得る。ペアリングされると、一次デバイス100は、通信コンポーネント108のうちの1つがイネーブルである限り、自動的に車両ヘッドユニット102とペアリングし得る。
【0027】
この点について、オペレーティングシステム113は、一次デバイス100のオペレーティングシステム103および/またはアプリケーション104によって処理されるデータを受信するように動作するシン・クライアントを表し得る。いくつかの例では、オペレーティングシステム113は、一次デバイス100によって提供されるGUIの投射をサポートするためのハードウェア抽象化レイヤ(HAL:hardware abstraction layer)およびシン・カーネル(クライアントとして動作する)を含み得る。HALによって、一次デバイス100は、車両ヘッドユニット102が統合されている車両のさまざまな態様(たとえば、暖房・換気・空調システム-HVACシステム、座席制御システム、照明システム、ナビゲーションハードウェア-全地球測位システムなど、または車両に関して上述した他の態様)とインターフェイス接続するためのコマンドを提供可能になる。
【0028】
「シン」クライアントまたは「シン」カーネルは、投影をサポートするのに十分な機能を提供するが、フル機能のオペレーティングシステム体験を提供しないクライアントまたはカーネルのことを言う。そのようなシン・クライアントまたはカーネルは、言い換えると、オペレーティングシステム113によるアプリケーションのネイティブ実行をサポートせずに、一次デバイス100によって投影されるGUIを取得するために一次デバイス100とインターフェイス接続するための動作環境を提供し得る。また、シン・クライアントまたはカーネルは、乗員の車両ヘッドユニット102とのやり取り(たとえば、ディスプレイ116上の位置の選択)、および/または、車両ヘッドユニット102と関連付けられたボタンまたは他のコントロール、ステアリングホイールもしくは他の制御インターフェイスに統合されたコントロールを含む、車両内のさまざまな物理的なコントロールの状態といった、車両ヘッドユニット102が統合されている車両のさまざまな態様の制御状態の変更に関するデータを、一次デバイス100に提供し得る。シン・クライアントまたはカーネルは、ハードウェアの観点から大きな相違を有し得る多種多様な車両ヘッドユニットにわたって、オペレーティングシステム113のより効率的な実行を可能にし得る。
【0029】
いずれにしても、オペレーティングシステム103は、1つ以上の通信コンポーネント108とインターフェイス接続して、一次デバイス100と車両ヘッドユニット102との間にトランスポート(トランスポート109として示される)を確立し得る。場合によっては、一次デバイス100は、コンパニオンアプリケーション105からのデータが車両ヘッドユニット102に通信される多くの異なるトランスポートのうち、特定のトランスポートを示すコンパニオンアプリケーション105を含み得る。これらの場合、オペレーティングシステム103は、コンパニオンアプリケーション105がオペレーティングシステム103に特定のトランスポートを確立するようにリクエスト可能なインターフェイス(たとえば、アプリケーションプログラミングインターフェイス)を提示し得る。この場合、コンパニオンアプリケーション105は、車両ヘッドユニット102に対するGUIの投影(および承認された付加的なアプリケーション104-たとえば、音楽ストリーミング、ナビゲーション、電話、通知用など-と、これらのアプリケーション104用のGUIの投影との間のブリッジの提供)を容易にするアプリケーションを表し得る。なお、一次デバイス100上で実行されるアプリケーション104およびコンパニオンアプリケーション105は、一次デバイス100上で実行されるオペレーティングシステム103と異なる。
【0030】
一次デバイス100のコンパニオンアプリケーション105は、一次デバイス100の付加的なアプリケーション104から送信されるデータを受信し、このデータを車両ヘッドユニット102のコンパニオンアプリケーション115に、リクエストされたトランスポート109を介して送信し得る。車両ヘッドユニット102のコンパニオンアプリケーション115はその後、受信したデータを、車両ヘッドユニット102のディスプレイ116を介したGUI投影のために、車両ヘッドユニット102の付加的なアプリケーション114に送信し得る。なお、車両ヘッドユニット102上で実行されるアプリケーション114およびコンパニオンアプリケーション115は、車両ヘッドユニット102上で実行されるオペレーティングシステム113と異なる。さらに、GUIの投影について検討する場合、コンパニオンアプリケーション105は、投影されるデータ(たとえば、GUIを表す)をオペレーティングシステム103に渡し、オペレーティングシステム103は、1つ以上の通信コンポーネント108とインターフェイス接続して、投影されるデータをトランスポート109を介して車両ヘッドユニット102に出力する。車両ヘッドユニット102は、トランスポート109と通信コンポーネント118のうちの対応する1つとを介して投影されるデータを受信し、ディスプレイ116とインターフェイス接続して、トランスポート109を介して受信されたデータが表すGUIを提示する。
【0031】
車両ネットワーク通信は、プロプライエタリサーバに基づくことが多い。たとえば、車両において生成されるデータを受信するために、モバイルデバイスのアプリケーションは、プロプライエタリサーバに接続して、車載データにアクセスしなければならない。プロプライエタリサーバを用いて、モバイルデバイスと車両との間でデータを送信するには、車載データのプロプライエタリフォーマットへの変換が必要であり、これによって、プロプライエタリサーバから削除されるとデータを用いることが困難になる場合がある。本開示の技術は、車両ネットワーク通信を改良し得る。一次デバイス100のコンパニオンアプリケーション105および車両ヘッドユニット102のコンパニオンアプリケーション115を用いてデータを送信することによって、一次デバイス100および車両ヘッドユニット102が互いに直接通信可能になるピアツーピア通信チャネルを提供して、セントラルサーバを不要にすることができる。
【0032】
開示された技術によると、一次デバイス100のコンパニオンアプリケーション105および/または車両ヘッドユニット102のコンパニオンアプリケーション115は、トランスポート109を介して1つまたは複数のパケットで、一次デバイス100と車両ヘッドユニット102との間でデータを処理および送信し得る。
【0033】
動作中、一次デバイス100のコンパニオンアプリケーション105は、一次デバイス100上で実行されるアプリケーション104から、一次デバイス100と車両ヘッドユニット102との間で転送されるデータの表示を受信し得る。データを一次デバイス100から車両ヘッドユニット102に直接送信する代わりに、一次デバイス100のコンパニオンアプリケーション105は、データの表示に基づいて、一次デバイス100と車両ヘッドユニット102との間で転送されるデータの量を求め得る。
【0034】
一次デバイス100のコンパニオンアプリケーション105はさらに、データの量がトランスポート109の無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し得る。たとえば、トランスポート109は、Bluetooth通信プロトコルまたはBluetooth Low Energy通信プロトコルといった、パケットサイズが制限された無線ネットワーキングプロトコルに従って動作する無線トランポートでもよく、一次デバイス100のコンパニオンアプリケーション105は、一次デバイス100と車両ヘッドユニット102との間で転送されるデータの量が制限されたパケットサイズを満たすかどうかを判断し得る。
【0035】
データの量が最大パケットサイズを満たさないという判断に応じて、一次デバイス100のコンパニオンアプリケーション105は、データをデータセグメントに分割し、トランスポート109を介して車両ヘッドユニット102のコンパニオンアプリケーション115に、データセグメントを含む複数のパケットを送信し得る。いくつかの例では、一次デバイス100のコンパニオンアプリケーション105は、セグメント化情報をデータセグメントに追加し得る。セグメント化情報は、パケット識別子、パケット総数、およびデータ識別子などを含み得る。さまざまな例では、データの量が最大パケットサイズを満たすという判断に応じて、一次デバイス100のコンパニオンアプリケーション105は、トランスポート109を介して車両ヘッドユニット102のコンパニオンアプリケーション115に1つのパケットを送信し得る。1つのパケットはデータを含み得る。
【0036】
車両ヘッドユニット102のコンパニオンアプリケーション115は、トランスポート109を介して一次デバイス100のコンパニオンアプリケーション105から複数のパケットを受信し得る。複数のパケットの各々は、トランスポート109の無線ネットワーキングプロトコルに従って構成されるデータの一部を含む。
【0037】
一次デバイス100からの複数のパケットの受信に応じて、車両ヘッドユニット102のコンパニオンアプリケーション115は、複数のパケットの各々に含まれるデータの一部をデータに結合し得る。いくつかの例では、車両ヘッドユニット102のコンパニオンアプリケーション115は、複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づいて、複数のパケットの各々に含まれるデータの一部をデータに結合する。
【0038】
車両ヘッドユニット102のコンパニオンアプリケーション115はさらに、車両ヘッドユニット102の付加的なアプリケーション114にデータを提供し得る。たとえば、車両ヘッドユニット102のコンパニオンアプリケーション115は、車両ヘッドユニット102のディスプレイ116を介して、GUI投影用の付加的なアプリケーション114にデータを出力し得る。
【0039】
そのように、一次デバイス100のコンパニオンアプリケーション105および車両ヘッドユニット102のコンパニオンアプリケーション115は、一次デバイス100および車両ヘッドユニット102がトランスポート109を介して互いに直接データを送信できるようにするピアツーピア通信チャネルを提供し得る。ピアツーピア通信チャネルは、単一障害点を最小化して車両ネットワーク通信を促進可能な分散環境を提供するため、有益な場合がある。
【0040】
さらに、データをデータセグメントに分割し、複数のパケット内のデータを送信することによって、開示された技術は、データ通信の全体的な信頼性およびフォールトトレランスを向上させる。未配信パケットのみの送信のリスタートによって、これらの技術のさまざまな態様では、データ全体の送信のリスタートは付加的なリソース(たとえば、プロセッササイクル、メモリ空間、メモリバス帯域幅、無線帯域幅など)を必要とするため、(たとえば、プロセッササイクルの消費、メモリの消費、メモリバス帯域幅の利用、無線帯域幅の消費などの点で)一次デバイスおよびヘッドユニットがより効率的に動作可能になる。
【0041】
一次デバイス100に関して説明されたが、車両ヘッドユニット102は、本開示で説明するピアツーピア通信技術のさまざまな態様を行い得る。さらに、GUIに関して説明されたが、技術のさまざまな態様はデータの投影一般を容易にすることが可能であり、そのようなデータは、音声通信(電話アプリケーション用など)、ビデオ通信を表すデータ(ビデオ会議アプリケーション用など)、音楽を表すデータ(音楽ストリーミングまたは再生アプリケーションなど)、音声通知のうちの1つ以上を含み得るナビゲーション再生を表すデータ、GUI通知、およびGUI、またはそれらのさまざまな組合わせを含み得る。このように、技術のさまざまな態様によって、車両ヘッドユニット102のコンパニオンアプリケーション115と関連して動作している一次デバイス100のコンパニオンアプリケーション105による一般的なデータ投影が可能になり、トランスポート109を介して車両ヘッドユニット102にデータが投影され得る。
【0042】
図2は、本開示で説明する技術のさまざまな態様に従う、ピアツーピア通信チャネルが発生し得るオペレーティングシステムの階層アーキテクチャの概念図を示すブロック図である。オペレーティングシステム200は、実行されると、本開示で説明されたシームレスのトランスポート管理技術のさまざまな態様を行うように1つまたは複数のプロセッサを構成し得るオペレーティングシステム103および/またはオペレーティングシステム113の例を表してもよい。
【0043】
図2の例では、オペレーティングシステム200は、ユニバーサル自動車リンク(UAL:universal automotive link)トランスポート222、UALベースプロトコルモジュール224、およびレガシー自動車リンク(LAL:legacy automotive link)プトロコルモジュール226を含み得る。UALトランスポート222は、オペレーティングシステム200によって選択される、基礎となるトランスポート(たとえば、PANトランスポート、WLANトランスポート、Bluetoothトランスポートなどの無線トランスポート)を表し得る。
【0044】
UALベースプロトコルモジュール224は、UALトランスポート222の確立および維持をサポートする際にオペレーティングシステム200によって提供されるサービスを表し得る。
図2の例に示すように、UALベースプロトコルモジュール224は、トランスポートディスカバリモジュール250、PANペアリングモジュール252、WLANセットアップモジュール254、チャネルモジュール256、セキュリティモジュール258、および接続維持モジュール260を含み得る。
【0045】
トランスポートディスカバリモジュール250は、一次デバイス100を車両ヘッドユニット102に接続するために利用可能なさまざまなトランスポートを発見するように構成されたモジュールを表し得る。トランスポートディスカバリモジュール250は、投影用のデータをソーシングするアプリケーション(本例では、アプリケーション104と考えられる)から、トランスポートディスカバリをオフロードし得る。
【0046】
PANペアリングモジュール252は、ペアリングプロセスを必要とすることなく、互いに近接すると再接続を容易にするための、車両ヘッドユニット102に対する一次デバイス100の初期ペアリングを含む、PANトランスポートを確立するためのさまざまな動作を行うように構成されたモジュールを表し得る。WLANセットアップモジュール254は、一次デバイス100と車両ヘッドユニット102との間でWLANトランスポートを確立するように構成されたモジュールを表し得る。
【0047】
チャネルモジュール256は、投影されるデータが提供されるトランスポートによってチャネルを確立するように構成されたモジュールを表し得る。セキュリティモジュール258は、たとえば、サポートセキュアソケット層(SSL:secure socket layer)暗号化、またはセキュアリアルタイムトランスポートプロトコル(SRTP:secure-real-time transport protocol)暗号化、データグラムトランスポート層セキュリティ(DTLS:datagram transport layer security)暗号化、トランスポート層セキュリティ(TLS:transport layer security)暗号化など、他のセキュリティメカニズムのうちのいずれかを適用することによって、チャネル/トランスポートをセキュアにするするように構成されたモジュールを表し得る。接続維持モジュール260は、UALトランスポート222のサービス品質(QoS:Quality of Service)、UALトランスポート222の帯域幅、UALトランスポート222のレイテンシ、UALトランスポート222のバースト性、および/または他の特徴のネゴシエーション、または他の態様では監視を行うように構成されたモジュールを表し得る。また、接続維持モジュール260は、UALトランスポート222に対する中断の結果、再接続し得る。
【0048】
図2の例にさらに示すように、LALプロトコルモジュール226は、ベース投影モジュール230、クラスタ投影モジュール232、アシスタント統合モジュール234、再生モジュール236、およびセンサモジュール238(これらに加えて、図を簡潔にする目的で
図2の例では示されない、LALプロトコルモジュール226によってサポートされる他のモジュール)を含む。ベース投影モジュール230は、リクエストされたトランスポートを介した投影の開始以前に構成された特定のトランスポートをリクエストするレガシー投影モジュールを表す。いくつかの例では、ベース投影モジュール230は、Bluetoothモジュールを含み得る。たとえば、ベース投影モジュール230は、車両ヘッドユニット102のBluetoothモジュールからBluetoothペアリングリクエストを受信し、ベース投影モジュール230を車両ヘッドユニット102のBluetoothモジュールとペアリングし得る。
【0049】
UALベースプロトコルモジュール224は、上述したように、このリクエストをトランスポートの一般的なリクエストに変換し、その後、UALトランスポート222を構成し得る。UALトランスポート222を構成すると、UALベースプロトコルモジュール224は引き続き、データを投影してUALトランスポート222に対応するための、可能であれば、UALトランスポート222に用いられる、基礎となるトランスポートを切替えてデータをアプリケーション104から車両ヘッドユニット102に投影するためのリクエストを翻訳し得る。
【0050】
UALトランスポート222は、パケット化モジュール242およびアセンブリモジュール244を含み得る。パケット化モジュール242は、一次デバイス100のコンパニオンアプリケーション105からデータセグメント内のデータを受信し、データセグメントに追加されたセグメント化情報に基づいて、受信データセグメントを複数のパケットにパケット化するように構成されたモジュールを表し得る。いくつかの例では、セグメント化情報は、パケット識別子、パケット総数、およびデータ識別子などを含み得る。アセンブリモジュール244は、車両ヘッドユニット102のコンパニオンアプリケーション115から複数のパケットを受信し、複数のパケットに含まれるセグメント化情報に基づいて、複数のパケットに含まれるデータの一部をデータに結合するように構成されたモジュールを表し得る。いくつかの例では、アセンブリモジュール244は、複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づいて、複数のパケットの各々に含まれるデータの一部を結合し得る。
【0051】
クラスタ投影モジュール232は、たとえば一次デバイス100を含む1つ以上の一次デバイスからのクラスタ化投影を管理するように構成されたモジュールを表し得る。クラスタ投影モジュール232は、複数の一次デバイスが、車両ヘッドユニット102の1つ以上のディスプレイ、たとえばディスプレイ116に対する投影が可能になるようにし得る。いくつかの例では、複数の一次デバイスは、同じディスプレイ、たとえばディスプレイ116、または、2つ以上の異なるディスプレイ(
図1の例に示されていないが、車両ヘッドユニット102が含み得る)に対して投影を行ってもよい。
【0052】
アシスタント統合モジュール234は、車両ヘッドユニット102へのデータの投影中の音声/テキストアシスタントの統合を容易にするように構成されたモジュールを表し得る。音声および/またはテキストアシスタントが、車両ヘッドユニット102へのデータの投影中にさまざまなアシスタントサービスを提供することによって、車両の乗員が、数例を挙げると、ナビゲーション、テキストメッセージ合成、テキストメッセージ再生(アシスタントは受信テキストメッセージを音声で読出す)、音楽再生(音楽再生のストリーミングを含む)、およびビデオ再生(ビデオ再生のストリーミングを含む)などをリクエストできるようになる。
【0053】
再生モジュール236は、車両ヘッドユニット102に対する音楽および/またはビデオを表すデータの投影によって、音楽および/またはビデオ再生を行うように構成されたモジュールを表し得る。再生モジュール236は、投影モードによって、車両ヘッドユニット102の音声および/またはビデオ(AV)システムとインターフェイス接続して、音楽および/またはビデオを再生し得る。音楽に関して説明したが、再生モジュール236は、アシスタント音声の再生(たとえば、受信テキストメッセージの音声での読出し)、およびナビゲーション(たとえば、方向と関連付けられた音声)などを含む、任意の形態の音声再生を行ってもよい。
【0054】
センサモジュール238は、車両ヘッドユニット102のセンサとインターフェイス接続するように構成されたモジュールを表し得る。センサモジュール238は、全地球測位システム(GPS)センサ、周囲光センサ、近接センサ、高度計、ジャイロスコープ、および車両内で通常見られる他のセンサなどのセンサを含む、車両ヘッドユニット102に連結されたセンサからのセンサデータのリクエストを発行し得る。
【0055】
図3は、本開示で説明する技術のさまざまな態様に従う、ピアツーピア通信が発生し得るオペレーティングシステムの階層アーキテクチャの概念図を示す他のブロック図である。オペレーティングシステム300は、実行されると、本開示に記載されるピアツーピア通信技術のさまざまな態様を行うように1つまたは複数のプロセッサを構成し得る、オペレーティングシステム103および/またはオペレーティングシステム113の例を表し得る。
【0056】
図3の例では、オペレーティングシステム300は、オペレーティングシステム300がUALトランスポート222、UALベースプロトコルモジュール224、およびLALプロトコルモジュール226を含むという点で、オペレーティングシステム200に類似する。しかしながら、オペレーティングシステム300は、カートリッジ、一次デバイス100および車両ヘッドユニット102の間の接続性をサポートする、カートリッジプロトコルモジュール362と表記されたプロトコルモジュールの他のスーツを含む。カートリッジに関する情報はさらに、2020年10月8日に出願された「EXTENSIBLE COMPUTING ARCHITECTURE FOR VEHICLES(車両のための拡張可能なコンピューティングアーキテクチャ)」と題された、米国特許出願第17/065,932号で見られる。
【0057】
簡潔に言うと、カートリッジは、車両ヘッドユニット102に対する拡張部として車両ヘッドユニット102に連結して、車両の所有者が、カートリッジの設置によって車両ヘッドユニット102をアップグレードして、アップグレードされた車載体験を提示することを可能にし得る。車両の所有者は、カートリッジを設置してもよい、言い換えると、車両ヘッドユニット102と関連付けられた物理的なハードウェアをアップグレードして、車両ヘッドユニット全体の置換えを必要としない、より新しい車両ヘッドユニットと一致した最新のユーザ体験を提供し得る。一次デバイス100は、カートリッジに(トランスポートを介して)連結し、カートリッジと相互作用して、アプリケーション104からのデータを投影し得る。カートリッジは、中間デバイスとして作用して、アプリケーション104から車両ヘッドユニット102にデータを投影し得る。
【0058】
カートリッジプロトコルモジュール362は、中間カートリッジを介した投影を行うために、カートリッジとインターフェイス接続するように構成されたプロトコルモジュールを表し得る。カートリッジプロトコルモジュール362は、アクティビティ投影モジュール370、ランタイムアップデートモジュール372、音声ルーティングモジュール374、バーチャルマシン(VMS)モジュール376、センサモジュール338、およびLALプロトコルモジュール226に類似した付加的なモジュールを含み得る。アクティビティ投影モジュール370は、一次デバイス100によって実行されるアプリケーション104から受信されるデータのパススルー投影をサポートするように構成されたモジュールを表し得る。
【0059】
ランタイムアップデートモジュール372は、ランタイム時に(または、言い換えると実行時に)共有リソース(たとえば、共有ライブラリ)をアップデートして、一次デバイス100および車両ヘッドユニット102との相互接続性を可能にするように構成されたモジュールを表し得る。音声ルーティングモジュール374は、一次デバイス100と車両ヘッドユニット102との間で、一次デバイス100および車両ヘッドユニット102を介して受信された音声データのルーティングを行うように構成されたモジュールを表す。VMSモジュール376は、仮想マシンを実行して、上記で参照した米国特許出願に記載されたカートリッジと関連付けられたさまざまな機能を提供するように構成されたモジュールを表す。センサモジュール338は、センサモジュール338がカートリッジ上に存在するセンサに対して動作可能であることを除いて、センサモジュール338に類似したモジュールを表し得る。
【0060】
図4は、
図1の一次デバイスの例をさらに詳細に示すブロック図である。
図4の例に示す一次デバイス400は、
図1に示す一次デバイス100の一例である。
図4の例に示すように、一次デバイス400は、存在感知ディスプレイ406、1つまたは複数のプロセッサ440、1つまたは複数の通信コンポーネント408、および1つまたは複数の記憶デバイス448を含む。一次デバイス400の記憶デバイス448は、一次デバイス400と車両ヘッドユニット102との間のトランスポートを開始、アップデート、および他の態様では維持および/または管理するための1つのUALインターフェイス450を提示するオペレーティングシステム403(
図1の例に示すオペレーティングシステム103の例でもよい)を含む。
【0061】
通信チャネル460は、コンポーネント間通信のために(物理的に、通信可能に、および/または動作可能に)コンポーネント406,408,440,および/または448の各々を相互接続して、コンポーネント406,408,440,448を互いに通信可能にし得る。いくつかの例では、通信チャネル460は、システムバス、ネットワーク接続、1つまたは複数のプロセス間通信データ構造、またはデータ(情報とも呼ばれる)を通信するための任意の他のコンポーネントを含み得る。コンポーネント406,408,440,460,および448を含むと示されているが、一次デバイス400は、示されたものより多いまたは少ない数の他のコンポーネントを含んでもよく、そのようなコンポーネントは、テレマティック制御ユニット(TCU)などの他の制御ユニットに含まれてもよい。
【0062】
一次デバイス400の1つまたは複数の通信コンポーネント408は、データの送信および/または受信によって外部デバイスと通信し得る。たとえば、一次デバイス400は、通信コンポーネント408のうちの1つまたは複数を用いて、セルラー無線ネットワークなどの無線ネットワークで、無線信号の送信および/または受信を行い得る。いくつかの例では、通信コンポーネント408は、GPSネットワークなどの衛星ネットワーク上で衛星信号の送信および/または受信を行い得る。通信コンポーネント408の例としては、ネットワークインターフェイスカード(たとえば、Ethernetカードなど)、光学トランシーバ、無線周波数トランシーバ、GPS受信機、または情報の送信および/または受信が可能な他の種類のデバイスが挙げられる。通信コンポーネント408の他の例は、モバイルデバイスで見られる短波無線(たとえば、NFC、Bluetooth(Bluetooth Low Energyを含む))、GPS、3G、4G、5G、およびWi-Fi無線に加えて、ユニバーサル・シリアル・バス(USB)コントローラなどを含み得る。たとえば、通信コンポーネント408はBluetooth通信モジュールを含み得、一次デバイス400は、外部デバイスのBluetooth通信モジュール(たとえば、
図1に示すような車両ヘッドユニット102の通信コンポーネント118A)からBluetoothペアリングリクエストを受信し、一次デバイス400の通信コンポーネント408のうちの1つを外部デバイスのBluetoothモジュールとペアリングし得る。
【0063】
いくつかの例では、一次デバイス400の存在感知ディスプレイ406は、入力コンポーネントおよび/または出力コンポーネントの機能を含み得る。
図4の例では、存在感知ディスプレイ406は、存在感知スクリーンまたはタッチ感知スクリーンなどの存在感知入力(PSI)コンポーネント436(「PSIコンポーネント436」)を含み得る。いくつかの例では、存在感知入力コンポーネント436は、存在感知入力コンポーネントにおけるおよび/またはその付近のオブジェクトを検出し得る。範囲の一例として、存在感知入力コンポーネント436は、存在感知入力コンポーネント436の2インチ以内の範囲の指またはスタイラスなどのオブジェクトを検出し得る。存在感知入力コンポーネント436は、オブジェクトが検出された存在感知入力コンポーネントの位置(たとえば、(x,y軸)座標)を求め得る。範囲の他の例では、存在感知入力コンポーネント436は、存在感知入力コンポーネント436から2インチ以内のオブジェクトを検出してもよく、他の範囲も可能である。存在感知入力コンポーネント436は、容量性、誘導性、および/または光学認識技術を用いて、ユーザの指によって選択された存在感知入力コンポーネント436の位置を求め得る。
【0064】
いくつかの例では、また、存在感知ディスプレイ406は、触覚、音声、またはビデオの誘因を用いて、ユーザに出力を提供し得る。たとえば、存在感知ディスプレイ406は、グラフィカルユーザインターフェイスを表示する表示コンポーネント434を含み得る。表示コンポーネント434は、視覚出力を提供する任意の種類の出力コンポーネントでもよい。一次デバイス400の統合されたコンポーネントとして示されているが、存在感知ディスプレイ406は、例によっては、入力および出力の送信および/または受信のために、データまたは情報パスを一次デバイス400の他のコンポーネントと共有する外部コンポーネント(たとえば、車両のダッシュボードに搭載された車載スクリーン)でもよい。たとえば、存在感知ディスプレイ406は、一次デバイス400の外部パッケージング内に位置し、かつ、これに物理的に接続された、一次デバイス400の組込みコンポーネントでもよい。他の例では、存在感知ディスプレイ406は、一次デバイス400のパッケージング外部に位置し、かつこれから物理的に分離された一次デバイス400の外部コンポーネント(たとえば、車両の電子制御ユニットと有線および/または無線データパスを共有するモニタ、プロジェクタなど)でもよい。いくつかの例では、存在感知ディスプレイ406は、一次デバイス400のパッケージングの外部に位置し、かつ、これから物理的に分離されている場合、2つの別々のコンポーネント、すなわち、入力を受信するための存在感知入力コンポーネント436と、出力を提供するための表示コンポーネント434とによって実現されてもよい。
【0065】
一次デバイス400内の1つまたは複数の記憶デバイス448は、一次デバイス400の動作中の処理のために情報を格納し得る(たとえば、一次デバイス400は、一次デバイス400における実行中にオペレーティングシステム403がアクセスするデータを格納し得る)。いくつかの例では、記憶デバイス448は一時的なメモリであり、これは、記憶デバイス448の主な目的が長期格納ではないことを意味する。一次デバイス400上の記憶デバイス448は、揮発性メモリとして、情報の短期格納用に構成されてもよく、それゆえ、電源がオフにされると格納された内容を保存しなくてもよい。揮発性メモリの例として、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および従来技術で公知の他の形態の揮発性メモリが挙げられる。
【0066】
記憶デバイス448は、いくつかの例では、1つまたは複数のコンピュータ読取可能記憶媒体も含む。記憶デバイス448は、いくつかの例では、1つまたは複数の非一時的なコンピュータ読取可能記憶媒体を含む。記憶デバイス448は、典型的に揮発性メモリによって格納される、より大きな量の情報を格納するように構成されてもよい。記憶デバイス448はさらに、不揮発性メモリ空間として情報の長期間の格納用に構成され、パワーオン/オフサイクル後に情報を保存してもよい。不揮発性メモリの例として、磁気ハードディスク、光学ディスク、フラッシュメモリ、または複数の形態の電気的プログラマブルメモリ(EPROM)または電気消去可能プログラマブル(EEPROM)メモリが挙げられる。記憶デバイス448は、オペレーティングシステム403、アプリケーション404(アプリケーション104と実質的に類似しない場合、類似し得る)、およびコンパニオンアプリケーション405(コンパニオンアプリケーション105と実質的に類似しない場合、類似し得る)と関連付けられたプログラム命令および/または情報(たとえばデータ)を保存し得る。記憶デバイス448は、オペレーティングシステム403、アプリケーション404、およびコンパニオンアプリケーション405と関連付けられたデータまたは他の情報を格納するように構成されたメモリを含み得る。
【0067】
1つまたは複数のプロセッサ440は、一次デバイス400と関連付けられた機能を実現してもよい、および/または、命令を実行してもよい。プロセッサ440の例として、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、1つもしくは複数のセンサハブ、およびプロセッサ、プロセッシングユニット、またはプロセッシングデバイスとして機能するように構成された任意の他のハードウェアが挙げられる。オペレーティングシステム403、アプリケーション404、およびコンパニオンアプリケーション405は、プロセッサ440によって、一次デバイス400のさまざまなアクション、動作、または機能を行うように動作可能でもよい(言い換えると、実行されてもよい)。すなわち、モジュール403~405は、実行されると、本明細書で説明する技術のさまざまな態様に従って、プロセッサ440に特定の動作を行わせる(およびそのため、一次デバイス400を、上述のさまざまな態様を行う特定目的コンピュータにする)実行可能なバイトコードを形成してもよい。たとえば、一次デバイス400のプロセッサ440は、プロセッサ440に、オペレーティングシステム403、アプリケーション404、およびコンパニオンアプリケーション405に起因する、本明細書で説明する動作を行わせる、記憶デバイス448によって格納された命令の検索および実行を行い得る。命令は、プロセッサ440によって実行されると、一次デバイス400に、記憶デバイス448内に情報を格納させてもよい。
【0068】
図4の例にさらに示すように、オペレーティングシステム403は、オペレーティングシステム200(
図2の例における)およびオペレーティングシステム300(
図3の例における)と表記されるオペレーティングシステムの一部を指す他の様式であるUALインターフェイス450を含む。そのため、UALインターフェイス450は、トランスポートをリクエストするための1つの通信インターフェイスを提示し得る。
【0069】
いくつかの例では、一次デバイス400のコンパニオンアプリケーション405は、一次デバイス400と外部デバイス(たとえば、車両ヘッドユニット102)との間で転送されるデータの表示を、アプリケーション404から受信し得る。一次デバイス400から外部デバイスに直接データを送信するのではなく、一次デバイス400のコンパニオンアプリケーション405は、データの表示に基づいて、転送されるデータの量を求めてもよい。一次デバイス400のコンパニオンアプリケーション405はさらに、データ量が、UALインターフェイス450が提供するUALトランスポートの無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し得る。たとえば、トランスポートは、Bluetooth通信プロトコルまたはBluetooth Low Energy通信プロトコルといった、パケットサイズが制限された無線ネットワーキングプロトコルに従って動作する無線トランスポートでもよく、一次デバイス400のコンパニオンアプリケーション405は、転送されるデータの量が制限されたパケットサイズを満たすかどうかを判断し得る。データ量が最大パケットサイズを満たさないという判断に応じて、コンパニオンアプリケーション405は、データをデータセグメントに分割し、データセグメントを含む複数のパケットを、UALトランスポートを介して外部デバイスに送信し得る。データ量が最大パケットサイズを満たすという判断に応じて、コンパニオンアプリケーション405は、データを含む1つのパケットを、UALトランスポートを介して外部デバイスに送信し得る。
【0070】
オペレーティングシステム403は、UALインターフェイス450によって提供される、基礎となるUALトランスポートを監視し、UALトランスポートで接続障害が発生したときを識別し得る。たとえば、オペレーティングシステム403は、動作中にUALトランスポートで接続障害が発生したと識別して、一次デバイス400から外部デバイス(たとえば、
図1の車両ヘッドユニット102)に複数のパケット内のデータを送信し得る。
【0071】
UALトランスポートで接続障害が発生したという判断に応じて、UALインターフェイス450は、基礎となるUALトランスポートを再確立して、UALトランスポートを介した外部デバイス(たとえば、
図1の車両ヘッドユニット102)に対する未配信パケットのみの送信をリスタートし得る。未配信パケットのみの送信のリスタートによって、技術のさまざまな態様により、データ全体の送信のリスタートは付加的なリソース(たとえば、プロセッササイクル、メモリ空間、メモリバス帯域幅、無線帯域幅など)を必要とするため、(たとえば、プロセッササイクルの消費、メモリの消費、メモリバス帯域幅の利用、無線帯域幅の消費などの点で)一次デバイス400はより効率的に動作可能になる。
【0072】
図5は、本開示の技術に従う、ピアツーピア通信チャネルを介したパケット内のデータのセグメント化およびデータの送信を行う際の、
図1の一次デバイスの例示的な動作を示すフローチャートである。
図5の例では、一次デバイス100は、オペレーティングシステム103を実行して、車両ヘッドユニット102によるプレゼンテーションのために、コンパニオンアプリケーション105がデータ送信(たとえば、PANトランスポート109を介した音楽音声データの送信、無線または有線イントランスポート109を介したGUIデータの送信)を容易にする、一次デバイス100と車両ヘッドユニット102との間のトランスポート109を確立し得
る1つの通信インターフェイス(たとえば、
図4の例に示すUALインターフェイス450)を提示し得る。
【0073】
一次デバイス100上で実行されるコンパニオンアプリケーション105は、一次デバイス100上で実行されるアプリケーション104から、一次デバイス100と車両ヘッドユニット102との間で転送されるデータの表示を、トランスポート109を介して受信し得る(500)。いくつかの例では、トランスポート109は、Bluetoothプロトコルといった、パケットサイズが制限された無線ネットワーキングプロトコルに従って動作する無線トランスポートでもよい。
【0074】
一次デバイス100のコンパニオンアプリケーション105は、データの表示に基づいて、一次デバイス100と車両ヘッドユニット102との間で転送されるデータの量を求め得る(502)。一次デバイス100のコンパニオンアプリケーション105はさらに、データ量がトランスポート109の無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し得る(506)。
【0075】
データ量が最大パケットサイズを満たさないという判断に応じて(506の「いいえ」の分岐)、一次デバイス100のコンパニオンアプリケーション105は、データを分割して、複数のパケットにパックし得る(508)。複数のパケットの各パケットは、最大パケットサイズを満たすデータの量を含み得る。一次デバイス100のコンパニオンアプリケーション105はさらに、トランスポート109を介して、車両ヘッドユニット102のコンパニオンアプリケーション115に複数のパケットを送信し得る(510)。しかしながら、データ量が最大パケットサイズを満たす場合(506の「はい」の分岐)、一次デバイス100のコンパニオンアプリケーション105は、データを含む1つのパケットを、トランスポート109を介して車両ヘッドユニット102のコンパニオンアプリケーション115に送信し得る(512)。
【0076】
図6は、本開示の技術に従う、ピアツーピア通信チャネルを介したパケットの受信およびパケットに含まれるデータセグメントのアセンブリングを行う際の、
図1の一次デバイスの例示的な動作を示すフローチャートである。
図6の例では、一次デバイス100は、オペレーティングシステム103を実行して1つの通信インターフェイス(
図4の例に示すUALインターフェイス450)を提示し得、この通信インターフェイスによって、コンパニオンアプリケーション105は、データ通信(たとえば、PANトランスポート109を介した音楽音声データの送信、無線または有線トランスポート109を介したGUIデータの送信)を容易にする、一次デバイス100と車両ヘッドユニット102との間のトランスポート109を確立し得
る。
【0077】
一次デバイス100上で実行されるコンパニオンアプリケーション105は、トランスポート109の無線ネットワーキングプロトコルに従って構成された複数のパケットを、車両ヘッドユニット102から受信し得る(600)。複数のパケットの各々は、車両ヘッドユニット102上で実行されるアプリケーション114によって提供されるデータの一部を含み、データは分割され、車両ヘッドユニット102上で実行されるコンパニオンアプリケーション115によって複数のパケットにパックされる。これに加えて、この例では、データのサイズは、トランスポート109の無線ネットワーキングプロトコルの最大パケットサイズより大きい。
【0078】
コンパニオンアプリケーション105は、トランスポート109を介した複数のパケットの受信に応じて、複数のパケットの各々に含まれるデータの一部をデータに結合し得る(602)。いくつかの例では、複数のパケットの各々に含まれるデータの一部は、複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づいて結合され得る。コンパニオンアプリケーション105はさらに、集められたデータを、出力のために一次デバイス100のアプリケーション104に(たとえば、一次デバイス400の存在感知ディスプレイ406を介して)提供し得る(604)。
【0079】
このように、技術のさまざまな態様は、以下の項を実現し得る。
第1項。方法であって、一次デバイス上で実行される一次アプリケーションが、一次デバイス上で実行される第2のアプリケーションから、一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信することを備え、一次デバイスおよび車両ヘッドユニットは、無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって通信可能に連結され、方法はさらに、第1のアプリケーションが、データの表示に基づいて、一次デバイスから車両ヘッドユニットに転送されるデータの量を求めることと、第1のアプリケーションが、データの量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断することと、データの量が最大パケットサイズを満たさないという判断に応じて、第1のアプリケーションが、それらの各パケットが最大パケットサイズを満たすデータの量を含む複数のパケットに、データを分割することと、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて複数のパケットを送信することと、データの量が最大パケットサイズを満たすという判断に応じて、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて、データを含む1つのパケットを送信することとを備える、方法。
【0080】
第2項。無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、第1項に記載の方法。
【0081】
第3項。車両ヘッドユニットのBLUETOOTHモジュールからBLUETOOTHペアリングリクエストを受信することと、一次デバイスのBLUETOOTHモジュールを、車両ヘッドユニットのBLUETOOTHモジュールとペアリングすることとをさらに備える、第1または2項に記載の方法。
【0082】
第4項。第1のアプリケーションがデータを複数のパケットに分割することは、複数のパケットの各パケットについて、それぞれのセグメント化情報を追加することを含み、それぞれのセグメント化情報は、パケット識別子、パケット総数、およびデータ識別子を含む、第1~3項のいずれか1項に記載の方法。
【0083】
第5項。一次デバイス上で実行される第1のアプリケーションから車両ヘッドユニットに、複数のパケットを送信することをさらに備える、第4項に記載の方法。
【0084】
第6項。一次デバイス上で実行される第1のアプリケーションが、車両ヘッドユニットから無線ネットワーク接続を用いて、第2の複数のパケットを受信することをさらに備え、第2の複数のパケットは、無線ネットワーキングプロトコルに従って構成され、第2の複数のパケットの各々は、車両ヘッドユニット上で実行される第2のアプリケーションによって提供される第2のデータの一部を含み、第2のデータは、車両ヘッドユニット上で実行される第1のアプリケーションによって、第2の複数のパケットに分割され、第2のデータのサイズは、無線ネットワーキングプロトコルの最大パケットサイズより大きく、方法はさらに、一次デバイス上で実行される第1のアプリケーションが、第2の複数のパケットの各々に含まれる第2のデータの一部を、第2のデータに結合することと、一次デバイス上で実行される第1のアプリケーションが、一次デバイス上で実行される第2のアプリケーションに、第2のデータを提供することとを備え、一次デバイス上で実行される第1のおよび第2のアプリケーションは、一次デバイス上で実行されるオペレーティングシステムと異なり、車両ヘッドユニット上で実行される第1のおよび第2のアプリケーションは、車両ヘッドユニット上で実行されるオペレーティングシステムと異なる、第1~5項のいずれか1項に記載の方法。
【0085】
第7項。方法であって、車両ヘッドユニット上で実行される第1のアプリケーションが、一次デバイスから無線ネットワーク接続を用いて、複数のパケットを受信することを備え、複数のパケットは、無線ネットワーキングプロトコルに従って構成され、複数のパケットの各々は、一次デバイス上で実行される第1のアプリケーションによって提供されるデータの一部を含み、データは、一次デバイス上で実行される第2のアプリケーションによって、複数のパケットに分割され、データは、無線ネットワーキングプロトコルの最大パケットサイズより大きなサイズを有し、方法はさらに、車両ヘッドユニット上で実行される第1のアプリケーションが、複数のパケットの各々に含まれるデータの一部をデータに結合することと、車両ヘッドユニット上で実行される第1のアプリケーションが、車両ヘッドユニット上で実行される第2のアプリケーションに、データを提供することとを備え、車両ヘッドユニット上で実行される第1のおよび第2のアプリケーションは、車両ヘッドユニット上で実行されるオペレーティングシステムと異なり、一次デバイス上で実行される第1のおよび第2のアプリケーションは、一次デバイス上で実行されるオペレーティングシステムと異なる、方法。
【0086】
第8項。無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、第7項に記載の方法。
【0087】
第9項。一次デバイスのBLUETOOTHモジュールからBLUETOOTHペアリングリクエストを受信することと、車両ヘッドユニットのBLUETOOTHモジュールを、一次デバイスのBLUETOOTHモジュールとペアリングすることとをさらに備える、第7または8項に記載の方法。
【0088】
第10項。複数のパケットの各々に含まれるデータの一部をデータに結合することは、複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づく、第7~9項のいずれか1項に記載の方法。
【0089】
第11項。車両ヘッドユニット上で実行される第1のアプリケーションが、車両ヘッドユニット上で実行される第2のアプリケーションから、車両ヘッドユニットと一次デバイスとの間で転送される第2のデータの表示を受信することと、車両ヘッドユニット上で実行される第1のアプリケーションが、第2のデータの表示に基づいて、車両ヘッドユニットから一次デバイスに転送される第2のデータの量を求めることと、車両ヘッドユニット上で実行される第1のアプリケーションが、第2のデータの量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断することと、第2のデータの量が最大パケットサイズを満たさないという判断に応じて、車両ヘッドユニット上で実行される第1のアプリケーションが、各パケットが最大パケットサイズを満たす第2のデータの量を含む第2の複数のパケットに、第2のデータを分割することと、車両ヘッドユニットから一次デバイスに、無線ネットワーク接続を用いて第2の複数のパケットを送信することと、第2のデータの量が最大パケットサイズを満たすという判断に応じて、車両ヘッドユニットから一次デバイスに、無線ネットワーク接続を用いて、第2のデータを含む1つのパケットを送信することとを備える、第7~10項のいずれか1項に記載の方法。
【0090】
第12項。一次デバイスであって、オペレーティングシステム、第1のアプリケーション、および第2のアプリケーションを格納するように構成されたメモリと、1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、一次デバイス上で実行される第1のアプリケーションが、一次デバイス上で実行される第2のアプリケーションから、一次デバイスと車両ヘッドユニットとの間で転送されるデータの表示を受信するように構成され、一次デバイスおよび車両ヘッドユニットは、無線ネットワーキングプロトコルに従って動作する無線ネットワーク接続によって通信可能に連結され、1つまたは複数のプロセッサはさらに、第1のアプリケーションがデータの表示に基づいて、一次デバイスから車両ヘッドユニットに転送されるデータの量を求め、第1のアプリケーションが、データの量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し、データの量が最大パケットサイズを満たさないという判断に応じて、第1のアプリケーションが、それらの各パケットが最大パケットサイズを満たすデータの量を含む複数のパケットに、データを分割し、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて複数のパケットを送信し、データの量が最大パケットサイズを満たすという判断に応じて、一次デバイスから車両ヘッドユニットに、無線ネットワーク接続を用いて、データを含む1つのパケットを送信するように構成される、一次デバイス。
【0091】
第13項。無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、第12項に記載のデバイス。
【0092】
第14項。1つまたは複数のプロセッサはさらに、車両ヘッドユニットのBLUETOOTHモジュールから、BLUETOOTHペアリングリクエストを受信し、一次デバイスのBLUETOOTHモジュールを、車両ヘッドユニットのBLUETOOTHモジュールとペアリングするように構成される、第12または13項に記載のデバイス。
【0093】
第15項。1つまたは複数のプロセッサはさらに、複数のパケットの各パケットについて、それぞれのセグメント化情報を追加するように構成され、それぞれのセグメント化情報は、パケット識別子、パケット総数、およびデータ識別子を含む、第12~14項のいずれか1項に記載のデバイス。
【0094】
第16項。1つまたは複数のプロセッサはさらに、一次デバイス上で実行される第1のアプリケーションから車両ヘッドユニットに、複数のパケットを送信するように構成される、第15項に記載のデバイス。
【0095】
第17項。1つまたは複数のプロセッサはさらに、一次デバイス上で実行される第1のアプリケーションが、車両ヘッドユニットから無線ネットワーク接続を用いて、第2の複数のパケットを受信するように構成され、第2の複数のパケットは、無線ネットワーキングプロトコルに従って構成され、第2の複数のパケットの各々は、車両ヘッドユニット上で実行される第2のアプリケーションによって提供される第2のデータの一部を含み、第2のデータは、車両ヘッドユニット上で実行される第1のアプリケーションによって、第2の複数のパケットに分割され、第2のデータのサイズは、無線ネットワーキングプロトコルの最大パケットサイズより大きく、1つまたは複数のプロセッサはさらに、一次デバイス上で実行される第1のアプリケーションが、第2の複数のパケットの各々に含まれる第2のデータの一部を第2のデータに結合し、一次デバイス上で実行される第1のアプリケーションが、一次デバイス上で実行される第2のアプリケーションに、第2のデータを提供するように構成され、一次デバイス上で実行される第1のおよび第2のアプリケーションは、一次デバイス上で実行されるオペレーティングシステムと異なり、車両ヘッドユニット上で実行される第1のおよび第2のアプリケーションは、車両ヘッドユニット上で実行されるオペレーティングシステムと異なる、第12~16項のいずれか1項に記載のデバイス。
【0096】
第18項。車両ヘッドユニットであって、オペレーティングシステム、第1のアプリケーション、および第2のアプリケーションを格納するように構成されたメモリと、1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、車両ヘッドユニット上で実行される第1のアプリケーションが、一次デバイスから無線ネットワーク接続によって、複数のパケットを受信するように構成され、複数のパケットは、無線ネットワーキングプロトコルに従って構成され、複数のパケットの各々は、一次デバイス上で実行される第1のアプリケーションによって提供されるデータの一部を含み、データは、一次デバイス上で実行される第2のアプリケーションによって、複数のパケットに分割され、データは、無線ネットワーキングプロトコルの最大パケットサイズより大きなサイズを有し、1つまたは複数のプロセッサはさらに、車両ヘッドユニット上で実行される第1のアプリケーションが、複数のパケットの各々に含まれるデータの一部をデータに結合し、車両ヘッドユニット上で実行される第1のアプリケーションが、車両ヘッドユニット上で実行される第2のアプリケーションに、データを提供するように構成され、車両ヘッドユニット上で実行される第1のおよび第2のアプリケーションは、車両ヘッドユニット上で実行されるオペレーティングシステムと異なり、一次デバイス上で実行される第1のおよび第2のアプリケーションは、一次デバイス上で実行されるオペレーティングシステムと異なる。
【0097】
第19項。無線ネットワーキングプロトコルは、BLUETOOTH通信プロトコルまたはBLUETOOTH Low Energy通信プロトコルを含む、第18項に記載の車両ヘッドユニット。
【0098】
第20項。1つまたは複数のプロセッサはさらに、
一次デバイスのBLUETOOTHモジュールから、BLUETOOTHペアリングリクエストを受信し、車両ヘッドユニットのBLUETOOTHモジュールを、一次デバイスのBLUETOOTHモジュールとペアリングするように構成される、第18または19項に記載の車両ヘッドユニット。
【0099】
第21項。1つまたは複数のプロセッサはさらに、複数のパケットの各々に含まれるそれぞれのセグメント識別子に基づいて、複数のパケットの各々に含まれるデータの一部を、データに結合するように構成される、第18~20項のいずれか1項に記載の車両ヘッドユニット。
【0100】
第22項。1つまたは複数のプロセッサはさらに、車両ヘッドユニット上で実行される第1のアプリケーションが、車両ヘッドユニット上で実行される第2のアプリケーションから、車両ヘッドユニットと一次デバイスとの間で転送される第2のデータの表示を受信し、車両ヘッドユニット上で実行される第1のアプリケーションが、第2のデータの表示に基づいて、車両ヘッドユニットから一次デバイスに転送される第2のデータの量を求め、車両ヘッドユニット上で実行される第1のアプリケーションが、第2のデータの量が無線ネットワーキングプロトコルの最大パケットサイズを満たすかどうかを判断し、第2のデータの量が最大パケットサイズを満たさないという判断に応じて、車両ヘッドユニット上で実行される第1のアプリケーションが、各パケットが最大パケットサイズを満たす第2のデータの量を含む第2の複数のパケットに、第2のデータを分割し、車両ヘッドユニットから一次デバイスに、無線ネットワーク接続を用いて第2の複数のパケットを送信し、第2のデータの量が最大パケットサイズを満たすという判断に応じて、車両ヘッドユニットから一次デバイスに、無線ネットワーク接続を用いて、第2のデータを含む1つのパケットを送信するように構成される、第18~21項のいずれか1項に記載の車両ヘッドユニット。
【0101】
限定ではなく例として、そのようなコンピュータ読取可能記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶デバイス、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態で所望のプログラムコードを格納するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を含み得る。さらに、任意の接続がコンピュータ読取可能媒体と適切に称される。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL: digital subscriber line)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線およびマイクロ波といったワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取可能記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることが理解されるべきである。ディスク(diskおよびdisc)は、本明細書で用いられる場合、コンパクトディスク(CD: compact disc)、レーザディスク、光ディスク、デジタルバーサタイルディスク(DVD: digital versatile disc)、フロッピー(登録商標)ディスクおよびブルーレイ(登録商標)ディスクを含む。ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、データをレーザにより光学的に再生する。上記のものの組み合わせもコンピュータ読取可能媒体の範囲に含まれるべきである。
【0102】
命令は、1つ以上のデジタル信号プロセッサ(DSP: digital signal processor)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC: application specific integrated circuit)、フィールドプログラマブルロジックアレイ(FPGA: field programmable logic array)、または、他の同等の集積回路もしくは離散論理回路のような1つ以上のプロセッサによって実行され得る。したがって、本明細書で用いられる「プロセッサ」という用語は、前述の構造、または、本明細書で記載される技術の実現に好適な任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で記載される機能は、専用のハードウェアおよび/またはソフトウェアモジュール内で提供され得る。また、当該技術は、1つ以上の回路または論理要素において完全に実現され得る。
【0103】
本開示の技術は、ワイヤレスハンドセット、集積回路(IC: integrated circuit)、または、ICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実現され得る。本開示では、開示される技術を実行するように構成されるデバイスの機能的な態様を強調するためにさまざまなコンポーネント、モジュール、または、ユニットが記載されているが、これらは、必ずしも異なるハードウェアユニットによって実現される必要はない。そうではなく、上述したように、さまざまなユニットは、ハードウェアユニットにおいて組み合わされてもよく、または、好適なソフトウェアおよび/またはファームウェアに関連して、上述したように1つ以上のプロセッサを含む相互動作可能なハードウェアユニットの集合によって提供されてもよい。
【0104】
さまざまな例について説明した。これらおよび他の例は、添付の請求項の範囲内である。