以下は、本出願の実施形態において添付の図面を参照しながら本出願の実施形態について説明する。本出願の実施形態の実装において使用される用語は、本出願の特定の実施形態について説くために使用されるにすぎず、本出願を限定することを意図したものではない。
最初に、本出願の実施形態に関連するアプリケーションシナリオが説明される。ブルートゥース機能は、無感サービスにおいてより広く使用される。無感サービスは、車両を意識されずにロック解除すること、無感決済などを含む。システムアーキテクチャを参照して、説明は、車両が意識されずにロック解除されるアプリケーションシナリオの一例を使用することによって、以下で提供される。
本出願の実施形態は、車両が意識されずにロック解除されるアプリケーションシナリオに限定されず、別のブルートゥース機能を使用することによって実施されるサービスプロセス、たとえば、無感決済シナリオまたは付属品(たとえば、ブルートゥース電子はかり)もしくはウェアラブルデバイス(たとえば、バンドまたは腕時計)が電子デバイスにデータをアップロードするシナリオをさらに含んでよいことが理解され得る。これは、本出願の実施形態では限定されない。
図1は、本出願の一実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図1に図示されるように、ブルートゥースシステムは、電子デバイス10と、ブルートゥースデバイス20(たとえば、車両ヘッドユニット20)とを含む。車両ヘッドユニット20は、ブルートゥースアドバタイジング信号をアドバタイジングし得る。車両ヘッドユニット20に対応する車両製造業者アプリケーション(application,app)は、電子デバイス10上にインストールされてよい。車両製造業者アプリが開始状態であるとき、電子デバイス10を搬送するユーザが車両ヘッドユニット20に近いプロセスでは、電子デバイス10は、ブルートゥースアドバタイジング信号を受信してよく、車両製造業者アプリは、ブルートゥースアドバタイジング信号を使用することによって車両への通信接続を確立してよい。車両ヘッドユニット20は、通信接続を通じてセキュリティ検証を完了し、セキュリティ検証が成功した場合、車両を自動的にロック解除してよい。
車両をロック解除する前述のプロセスでは、車両は、意識されずにロック解除され、ユーザが電子デバイス10上でアプリを手動で操作することなく自動的にロック解除され、それによって、車両を意識されずにロック解除することを実施することができる。通信接続を確立し、車両を自動的にロック解除する原理に関しては、図2において説明される例を参照されたい。
図1に図示されるシナリオにおいて車両をロック解除するプロセスは、以下で電子デバイス10および車両ヘッドユニット20の構造を参照して説明される。図2は、本出願の一実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図2に図示されるように、電子デバイス10は、車両ヘッドユニット20への通信接続を確立してよく、この通信接続は、ブルートゥース接続であってよい。具体的には、図1に図示されるシナリオでは、電子デバイス10を搬送するユーザが車両ヘッドユニット20に近いプロセスにおいて、電子デバイス10は、車両ヘッドユニット20へのブルートゥース通信接続を確立する。
図2に図示されるように、電子デバイス10は、ブルートゥースチップ101と、車両製造業者アプリ102と、セキュアな要素(secure element,SE)104とを含み、SE104はアプレット(applet)を含む。車両製造業者アプリ102およびSE104は、オープンモバイルアライアンスアプリケーションプログラミングインターフェイス(open mobile alliance application programming interface,OMA API)103を通じて接続されてよい(OMA API103は、図には図示せず)。OMA API103は、リッチ実行環境(rich execution environment,REE)を使用することによってSE内のアプレットを呼び出すためのインターフェイスである。
図2に図示されるように、車両ヘッドユニット20は、車両搭載ブルートゥースチップ201と、車両内SE202とを含む。車両内SE202は、車両搭載アプレットを含む。あるいは、車両搭載ブルートゥースチップ201および車両内SE202は、車両内OMA APIを通じて接続されてよい。SE104内のアプレットは、ロック解除のために使用される暗号文を含んでよい。車両内SE202は、ロック解除のために使用される暗号文も含む。SE104内のアプレット内の暗号文は、車両内SE202内の暗号文と1対1で対応する。たとえば、車両製造業者サーバは、電子デバイス10内のSE104および車両ヘッドユニット20内の車両内SE202の各々とセキュアなチャネルを確立し、同じ暗号文をSE104およびSE202の各々へと置く。
図2に図示されるアーキテクチャの概略図を参照して、電子デバイス10と車両ヘッドユニット20との通信接続を切断および再確立するプロセスが、一例としてBLE接続を使用することによって以下で説明される。このシナリオでは、電子デバイス10を搬送するユーザは車両から離れており、これは、電子デバイス10と車両ヘッドユニット20との間のBLE接続が切断されることを可能にする。次いで、電子デバイス10上の車両製造業者アプリ102が、システムによってクリアされる。電子デバイス10を搬送するユーザが再度車両に近いとき、ユーザは、電子デバイス10と車両ヘッドユニット20との間のBLE接続を再確立するために、電子デバイス10上の車両製造業者アプリ102を手動で開始する。
図3は、本出願のこの実施形態によるBLE接続方法の概略フローチャートである。図3に図示されるように、BLE接続方法は、以下のステップを含む。
S101:電子デバイス10上の車両製造業者アプリ102は開始状態であり、ブルートゥースチップ101は、車両搭載ブルートゥースチップ201へのBLE接続を確立する。
S102:ブルートゥースチップ101と車両搭載ブルートゥースチップ201との間のBLE接続は、電子デバイス10と車両ヘッドユニット20との間の距離延長により切断される。
本出願のこの実施形態は、一例として距離延長を使用することによって説明されるが、ブルートゥース接続が距離延長により切断されることに限定されないことが理解され得る。ステップS103は、再接続のために行われる。たとえば、ブルートゥース接続が障害物妨害または別の理由により切断されるが、車両製造業者アプリ102が依然として稼働するとき、電子デバイス10は依然として、ステップS103において再接続ステップを行う。
距離延長は、電子デバイス10と車両ヘッドユニット20との間の距離が過度に長いことを意味する。BLE電子デバイス10と車両ヘッドユニット20との間の距離が過度に長いとき、2つのデバイスは互いと通信することはできない、すなわち、BLE接続は切断される。ブルートゥースチップ101と車両搭載ブルートゥースチップ201との間のBLE接続が、2つのデバイス間の過度に長い距離により切断されるとき、電子デバイス10上の車両製造業者アプリ102は依然として、稼働状態である。車両製造業者アプリ102は、バックグラウンドで稼働してもよいし、フォアグラウンドで稼働してもよい。
S103:ブルートゥースチップ101は、車両搭載ブルートゥースチップ201に接続要求を送信する。
ブルートゥースチップ101は、始動(initiating)状態であってよい。ブルートゥースチップ101は、車両搭載ブルートゥースチップ201に接続要求を送信し、車両搭載ブルートゥースチップ201からのアドバタイジングチャネルメッセージをリッスンしてよい。リッスンを通じて、車両搭載ブルートゥースチップ201からアドバタイジング信号を取得するとき、ブルートゥースチップ101は、ブルートゥースチップ101と車両搭載ブルートゥースチップ201との間のBLE接続を確立するために応答する。接続を確立するプロセスについては、図6において説明される一例におけるステップS201における説明を参照されたい。別のデバイスからのアドバタイジング信号が受信されるとき、応答はされない。
BLE接続は、車両をロック解除するプロセスにおいて車両搭載ブルートゥースチップ201と車両製造業者アプリ102との間の通信のために使用されてよい。具体的には、車両ヘッドユニット20は、通信接続を通じて電子デバイス10に暗号文チェック命令を送信してよい。暗号文チェック命令を受信した後、電子デバイス10は、通信接続を通じて車両ヘッドユニット20にSE104内のアプレット内の暗号文を送信する。車両ヘッドユニット20は、受信した暗号文を車両内SE202内の暗号文と比較し、比較が成功した場合(たとえば、2つの暗号文が同じである場合、比較は成功する)車両をロック解除する。
S104:車両製造業者アプリ102が電子デバイス10のシステムによってクリアされ、ステップS105が行われる。
車両製造業者アプリ102がシステムによってクリアされた後、車両製造業者アプリ102は閉鎖状態である。
ブルートゥースチップ101は、車両製造業者アプリ102が電子デバイス10のシステムによってクリアされることを学習し、ステップS105を行ってよい。
S105:ブルートゥースチップ101は、アドバタイジングチャネルメッセージをリッスンするのを止める。
車両製造業者アプリ102が閉じられているとき、ブルートゥースチップ101は、アドバタイジングチャネルメッセージをリッスンするのを止める。車両製造業者アプリ102が電子デバイス10上で閉じられていることは、以下の場合を含んでよいが、これに限定されない。(1)ユーザによって行われる閉鎖操作に応答して、電子デバイス10が車両製造業者アプリ102を閉じる。(2)車両製造業者アプリ102がシステムによってクリアされる。たとえば、電子デバイス10のシステムのバックグラウンドでの車両製造業者アプリ102の稼働期間が、あらかじめ設定された期間を超えるとき、電子デバイス10は、電力消費量を減少させるために、車両製造業者アプリ102を閉じてよい。
電子デバイス10を搬送するユーザが車両ヘッドユニット20に近いプロセスでは、車両製造業者アプリ102が電子デバイス10上で閉じられる(たとえば、電子デバイス10のシステムによってクリアされる)とき、ユーザは、BLE接続を再確立するために車両製造業者アプリ102を手動で開始する必要がある。
S106:ユーザ操作に応答して開始される場合、電子デバイス10上で車両製造業者アプリ102はステップS107を行う。
たとえば、車両製造業者アプリ102のアイコン上で行われるタッチ操作に応答して、電子デバイス10は、車両製造業者アプリ102を開始し、車両製造業者アプリ102のユーザインターフェイスを表示する。
S107:車両製造業者アプリ102は、アドバタイジングチャネルメッセージをリッスンし始めるようにブルートゥースチップ101に通知する。
ブルートゥースチップ101は、始動状態に再度入ってよい。
S108:ブルートゥースチップ101は、車両搭載ブルートゥースチップに接続要求を送信し、リッスンを通じて車両搭載ブルートゥースチップ201からアドバタイジング信号を取得する。
S109:ブルートゥースチップ101は、車両搭載ブルートゥースチップ201へのBLE接続を再確立する。
ブルートゥースチップ101は、車両ヘッドユニット20のメディアアクセス制御(media access control,MAC)アドレスを記憶してよく、車両搭載ブルートゥースチップ201によってアドバタイジングされるブルートゥースアドバタイジング信号は、車両ヘッドユニット20のMACアドレスを含む。リッスンを通じて、車両搭載ブルートゥースチップ201からブルートゥースアドバタイジング信号を取得した後、ブルートゥースチップ101は、車両搭載ブルートゥースチップ201へのBLE接続を確立する。
本出願のこの実施形態では、車両ヘッドユニット20のMACアドレスは説明のために一例として使用されているが、MACアドレスは、制限を構成しないことが理解され得る。車両搭載ブルートゥースチップ201によってアドバタイジングされるブルートゥースアドバタイジング信号は、車両を示す別のパラメータ、たとえば、車両識別番号(vehicle identification number(vehicle identification number,VIN))をさらに搬送してよい。これは、本出願のこの実施形態では限定されない。
電子デバイス10を搬送するユーザが車両ヘッドユニット20に近いプロセスでは、車両製造業者アプリ102が電子デバイス10上で閉じられる(たとえば、電子デバイス10のシステムによってクリアされる)とき、ユーザは、前述のロック解除プロセスを実施するために車両製造業者アプリ102を手動で開始する必要があることを理解することができる。その結果、車両をロック解除することの利便性が減少され、これは、車両を意識されずにロック解除する体験に資さない。
本出願の実施形態は、ブルートゥース接続方法を提供する。電子デバイス10と車両ヘッドユニット20との間の通信接続が切断されるとき、電子デバイス10は、ブルートゥーススキャニング機能を可能にし、ブルートゥースアドバタイジング信号をスキャンすることを開始する。電子デバイス10を搬送するユーザが車両ヘッドユニット20に近いとき、電子デバイス10は、スキャニングを通じて、車両ヘッドユニット20によって送信されたブルートゥースアドバタイジング信号を取得し得る。スキャニングを通じて、車両ヘッドユニット20によって送信されたブルートゥースアドバタイジング信号を取得するとき、電子デバイス10は、車両製造業者アプリ102がシステムによってクリアされるとき、車両製造業者アプリ102を開始してよい。電子デバイス10は、車両製造業者アプリおよびブルートゥースチップ101を使用することによって、ブルートゥースを通じて車両ヘッドユニット20に再接続してよい。このようにして、電子デバイス10は、車両を意識されずにロック解除するために、車両製造業者アプリ102と車両ヘッドユニットの車両搭載ブルートゥースチップ201との間の通信接続を確立することができる。
本出願の実施形態において提供されるブルートゥース接続方法では、車両製造業者アプリ102がシステムによってクリアされる場合ですら、ユーザは依然として、電子デバイス10上の車両製造業者アプリ102を手動で開始する必要はない。電子デバイス10は、車両を意識されずにロック解除するために車両製造業者アプリ102を開始することができる。このことは、車両をロック解除する利便性を改善し、車両を意識されずにロック解除する体験をさらに改善する。
電子デバイス10がブルートゥースを通じて車両ヘッドユニットに首尾よく再接続された後、電子デバイス10は、電力消費量を減少させるために、ブルートゥーススキャニング機能を不可にしてよい。
ブルートゥース接続は、本出願の実施形態において説明のために一例として使用されることが理解され得る。本出願の実施形態におけるブルートゥース接続は、BLE接続であってもよいし、BR/EDR接続であってもよい。しかしながら、本出願の実施形態では、接続は、ブルートゥース接続に限定されず、別の短距離ワイヤレス通信接続、たとえば、Wi-Fi接続またはZigBee接続であってよい。これは、本出願の実施形態では限定されない。
本出願の実施形態におけるブルートゥースシステム内の電子デバイス10が以下で説明される。図4は、本出願のこの実施形態による電子デバイス10の構造の概略図である。
図4に図示される電子デバイス10は一例にすぎず、電子デバイス10は、図4に図示されるものよりも多いまたは少ない構成要素を含んでもよいし、2つ以上の構成要素を組み合わせてもよいし、異なる構成要素構成を有してもよいことが理解されるべきである。図に図示される構成要素は、ハードウェア、ソフトウェア、または1つもしくは複数の信号処理および/もしくは特定用途向け集積回路を含むハードウェアとソフトウェアの組合せで、実施されてよい。
電子デバイス10は、プロセッサ110と、外部メモリインターフェイス120と、内部メモリ121と、ユニバーサルシリアルバス(universal serial bus,USB)ポート130と、充電管理モジュール140と、電力管理モジュール141と、バッテリ142と、アンテナ1と、アンテナ2と、モバイル通信モジュール150と、ワイヤレス通信モジュール160と、オーディオモジュール170と、スピーカ170Aと、受信機170Bと、マイクロホン170Cと、ヘッドセットジャック170Dと、センサモジュール180と、ボタン190と、モータ191と、インジケータ192と、カメラ193と、ディスプレイ194と、加入者識別モジュール(subscriber identity module,SIM)カードインターフェイス195などを含んでよい。センサモジュール180は、圧力センサ180Aと、ジャイロスコープセンサ180Bと、大気圧センサ180Cと、磁気センサ180Dと、加速度センサ180Eと、距離センサ180Fと、光近接センサ180Gと、指紋センサ180Hと、温度センサ180Jと、タッチセンサ180Kと、周囲光センサ180Lと、骨伝導センサ180Mなどとを含んでよい。
本発明の本実施形態に図示される構造は電子デバイス10に対する具体的な制限を構成しないことが理解され得る。本出願のいくつかの他の実施形態では、電子デバイス10は、図に図示されるものよりも多いまたは少ない構成要素を含んでもよいし、いくつかの構成要素が組み合わされてもよいし、いくつかの構成要素が分割されてもよいし、異なる構成要素レイアウトがあってもよい。図に図示される構成要素は、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアの組合せで、実施されてよい。
プロセッサ110は、1つまたは複数の処理ユニットを含んでよい。たとえば、プロセッサ110は、アプリケーションプロセッサ(application processor,AP)、モデムプロセッサ、グラフィックス処理ユニット(graphics processing unit,GPU)、画像信号プロセッサ(image signal processor,ISP)、コントローラ、メモリ、ビデオコーデック、デジタル信号プロセッサ(digital signal processo,DSP)、ベースバンドプロセッサ、ニューラルネットワーク処理ユニット(neural-network processing unit,NPU)などを含んでよい。異なる処理ユニットは、独立したデバイスであってもよいし、1つまたは複数のプロセッサに統合されてもよい。
コントローラは、電子デバイス10の神経中枢および指令中枢であってよい。コントローラは、命令フェッチおよび命令実行を制御するために、命令動作コードおよび時系列信号に基づいて動作制御信号を生成してよい。
メモリは、プロセッサ110内に設置されてよく、命令およびデータを記憶するように構成される。いくつかの実施形態では、プロセッサ110内のメモリはキャッシュである。メモリは、プロセッサ110によって使用されたばかりのまたは周期的に使用される命令またはデータを記憶し得る。プロセッサ110が命令またはデータを再度使用する必要がある場合、プロセッサ110は、メモリから命令またはデータを直接的に呼び出し得る。これは、繰り返されるアクセスを回避し、プロセッサ110の待機時間を減少させる。したがって、システム効率が改善される。
いくつかの実施形態では、プロセッサ110は、1つまたは複数のインターフェイスを含んでよい。インターフェイスは、集積回路間(inter-integrated circuit,I2C)インターフェイス、集積回路間サウンド(inter-integrated circuit sound,I2S)インターフェイス、パルス符号変調(pulse code modulation,PCM)インターフェイス、ユニバーサル非同期送受信回路(universal asynchronous receiver/transmitter,UART)インターフェイス、モバイル産業プロセッサインターフェイス(mobile industry processor interface,MIPI)、汎用入出力(general-purpose input/output,GPIO)インターフェイス、加入者識別モジュール(subscriber identity module,SIM)インターフェイス、ユニバーサルシリアルバス(universal serial bus,USB)インターフェイスなどを含んでよい。
I2Cインターフェイスは双方向同期シリアルバスであり、1つのシリアルデータライン(serial data line,SDA)と、1つのシリアルクロックライン(serial clock line,SCL)とを含む。いくつかの実施形態では、プロセッサ110は、I2Cバスの複数のグループを含んでよい。プロセッサ110は、異なるI2Cバスインターフェイスを通じて、タッチセンサ180K、充電器、フラッシュ、カメラ193などに別個に結合されてよい。たとえば、プロセッサ110は、電子デバイス10のタッチ機能を実施するために、プロセッサ110がI2Cバスインターフェイスを通じてタッチセンサ180Kと通信するように、I2Cインターフェイスを通じてタッチセンサ180Kに結合されてよい。
I2Sインターフェイスは、オーディオ通信に使用されてよい。いくつかの実施形態では、プロセッサ110は、I2Sバスの複数のグループを含んでよい。プロセッサ110は、プロセッサ110とオーディオモジュール170との間の通信を実施するために、I2Sバスを通じてオーディオモジュール170に結合されてよい。いくつかの実施形態では、オーディオモジュール170は、ブルートゥースヘッドセットを使用することによって電話に出る機能を実施するために、I2Sインターフェイスを通じてワイヤレス通信モジュール160にオーディオ信号を転送してよい。
PCMインターフェイスは、アナログ信号をサンプリング、量子化、および符号化するために、オーディオ通信に使用されてもよい。いくつかの実施形態では、オーディオモジュール170は、PCMバスインターフェイスを通じてワイヤレス通信モジュール160に結合されてよい。いくつかの実施形態では、オーディオモジュール170は、あるいは、ブルートゥースヘッドセットを使用することによって電話に出る機能を実施するために、PCMインターフェイスを通じてワイヤレス通信モジュール160にオーディオ信号を転送してよい。I2SインターフェイスとPCMインターフェイスの両方は、オーディオ通信に使用されてよい。
UARTインターフェイスは、ユニバーサルシリアルデータバスであり、非同期通信に使用される。バスは、双方向通信バスであってよい。バスは、シリアル通信とパラレル通信との間で送られることになるデータを変換する。いくつかの実施形態では、UARTインターフェイスは通常、プロセッサ110をワイヤレス通信モジュール160に接続するために使用される。たとえば、プロセッサ110は、ブルートゥース機能を実施するために、UARTインターフェイスを通じてワイヤレス通信モジュール160内のブルートゥースモジュールと通信する。いくつかの実施形態では、オーディオモジュール170は、ブルートゥースヘッドセットを使用することによって音楽を再生する機能を実施するために、UARTインターフェイスを通じてワイヤレス通信モジュール160にオーディオ信号を転送してよい。
MIPIインターフェイスは、ディスプレイ194またはカメラ193などの周辺デバイスにプロセッサ110を接続するために使用されてよい。MIPIインターフェイスは、カメラシリアルインターフェイス(camera serial interface,CSI)、ディスプレイシリアルインターフェイス(display serial interface,DSI)などを含んでよい。いくつかの実施形態では、プロセッサ110は、電子デバイス10の写真撮影機能を実施するために、CSIインターフェイスを通じてカメラ193と通信する。プロセッサ110は、電子デバイス10の表示機能を実施するために、DSIインターフェイスを通じてディスプレイ194と通信する。
GPIOインターフェイスは、ソフトウェアを使用することによって構成されてよい。GPIOインターフェイスは、制御信号として構成されてもよいし、データ信号として構成されてもよい。いくつかの実施形態では、GPIOインターフェイスは、カメラ193、ディスプレイ194、ワイヤレス通信モジュール160、オーディオモジュール170、センサモジュール180などにプロセッサ110を接続するために使用されてよい。GPIOインターフェイスは、あるいは、I2Cインターフェイス、I2Sインターフェイス、UARTインターフェイス、MIPIインターフェイスなどとして構成されてもよい。
USBポート130は、USB標準仕様に準拠するポートであり、具体的には、ミニUSBポート、マイクロUSBポート、USBタイプCポートなどであってよい。USBポート130は、電子デバイス10を充電する充電器に接続するために使用されてもよいし、電子デバイス10と周辺デバイスとの間でデータを送るために使用されてもよいし、ヘッドセットを通じてオーディオを再生するように、ヘッドセットに接続するために使用されてもよい。ポートは、ARデバイスなどの別の電子デバイスに接続するために使用されてよい。
本発明の本実施形態に図示されるモジュール間のインターフェイス接続関係は、説明のための例にすぎず、電子デバイス10の構造に対する制限を構成しないことが理解され得る。本出願のいくつかの他の実施形態では、電子デバイス10は、あるいは、前述の実施形態におけるものとは異なるインターフェイス接続様式を使用してもよいし、複数のインターフェイス接続様式の組合せを使用してもよい。
充電管理モジュール140は、充電器から充電入力を受信するように構成される。充電器は、ワイヤレス充電器であってもよいし、ワイヤード充電器であってもよい。ワイヤード充電のいくつかの実施形態では、充電管理モジュール140は、USBポート130を通じてワイヤード充電器から充電入力を受信してよい。ワイヤレス充電のいくつかの実施形態では、充電管理モジュール140は、電子デバイス10のワイヤレス充電コイルを通じてワイヤレス充電入力を受信してよい。充電管理モジュール140は、バッテリ142を充電しながら電力管理モジュール141を使用することによって、電子デバイスに電力をさらに供給してよい。
電力管理モジュール141は、バッテリ142、充電管理モジュール140、およびプロセッサ110に接続するように構成される。電力管理モジュール141は、バッテリ142からの入力および/充電管理モジュール140からの入力を受信し、プロセッサ110、内部メモリ121、外部メモリ、ディスプレイ194、カメラ193、ワイヤレス通信モジュール160などに電力を供給する。電力管理モジュール141は、バッテリ容量、バッテリサイクルカウント、およびバッテリ健康ステータス(漏電またはインピーダンス)などのパラメータを監視するように構成されてよい。いくつかの他の実施形態では、電力管理モジュール141は、あるいは、プロセッサ110内に設置されてよい。いくつかの他の実施形態では、電力管理モジュール141と充電管理モジュール140は、あるいは、同じデバイス内に設置されてよい。
電子デバイス10のワイヤレス通信機能は、アンテナ1、アンテナ2、モバイル通信モジュール150、ワイヤレス通信モジュール160、モデムプロセッサ、ベースバンドプロセッサなどを通じて実施されてよい。
アンテナ1およびアンテナ2は、電磁波信号を送って受信するように構成される。電子デバイス10内の各アンテナは、1つまたは複数の通信周波数帯域をカバーするように構成されてよい。異なるアンテナは、アンテナ利用率を改善するために、多重化されてよい。たとえば、アンテナ1は、ワイヤレスローカルエリアネットワークのダイバーシティアンテナとして多重化されてよい。いくつかの他の実施形態では、アンテナは、チューニングスイッチと組み合わせて使用されてよい。
モバイル通信モジュール150は、電子デバイス10に適用され、2G、3G、4G、および5Gなどのワイヤレス通信を含むソリューションを提供し得る。モバイル通信モジュール150は、少なくとも1つのフィルタ、スイッチ、電力増幅器、低雑音増幅器(low noise amplifier,LNA)などを含んでよい。モバイル通信モジュール150は、アンテナ1を通じて電磁波を受信し、受信された電磁波に対するフィルタリングまたは増幅などの処理を行い、復調のためのモデムプロセッサに処理された電磁波を送る。モバイル通信モジュール150は、モデムプロセッサによって変調された信号をさらに増幅し、その信号を放射のためにアンテナ1を通る電磁波に変換してよい。いくつかの実施形態では、モバイル通信モジュール150内の少なくともいくつかの機能モジュールは、プロセッサ110内に設置されてよい。いくつかの実施形態では、モバイル通信モジュール150の少なくともいくつかの機能モジュールとプロセッサ110の少なくともいくつかのモジュールは、同じ構成要素内に設置されてよい。
モデムプロセッサは、変調器と、復調器とを含んでよい。変調器は、送信されることになる低周波数ベースバンド信号を中程度~高周波数信号へと変調するように構成される。復調器は、受信した電磁波信号を低周波数ベースバンド信号へと復調するように構成される。次いで、復調器は、復調を通じて取得された低周波数ベースバンド信号を、処理のためにベースバンドプロセッサに送る。低周波数ベースバンド信号がベースバンドプロセッサによって処理された後、処理された低周波数ベースバンド信号は、アプリケーションプロセッサに送られる。アプリケーションプロセッサは、オーディオデバイス(スピーカ170A、受信機170Bなどに限定されない)を使用することによってサウンド信号を出力する、またはディスプレイ194上に画像もしくはビデオを表示する。いくつかの実施形態では、モデムプロセッサは、独立したデバイスであってよい。いくつかの他の実施形態では、モデムプロセッサは、プロセッサ110から独立してよく、同じ構成要素内にモバイル通信モジュール150または別の機能モジュールとともに設置される。
ワイヤレス通信モジュール160は、電子デバイス10に適用され、ワイヤレスローカルエリアネットワーク(wireless local area network,WLAN)(たとえば、ワイヤレスフィデリティ(wireless fidelity,Wi-Fi)ネットワーク)、ブルートゥース(Bluetooth,BT)、全地球航法衛星システム(global navigation satellite system,GNSS)、周波数変調(frequency modulation,FM)、近距離通信(near field communication,NFC)、赤外線(infrared,IR)技術などを含む、ワイヤレス通信ソリューションを提供し得る。ワイヤレス通信モジュール160は、少なくとも1つの通信処理モジュールにおいて統合する1つまたは複数の構成要素であってよい。ワイヤレス通信モジュール160は、アンテナ2を通じて電磁波を受信し、電磁波信号に対して周波数変調およびフィルタリング処理を行って、処理された信号をプロセッサ110に送信する。ワイヤレス通信モジュール160はさらに、送信されることになる信号をプロセッサ110から受信し、その信号に対して周波数変調および増幅を行って、処理された信号を放射のためにアンテナ2を通る電磁波へと変換してよい。
いくつかの実施形態では、電子デバイス10がワイヤレス通信技術を使用することによってネットワークおよび別のデバイスと通信し得るように、電子デバイス10のアンテナ1はモバイル通信モジュール150に結合され、アンテナ2はワイヤレス通信モジュール160に結合される。ワイヤレス通信技術は、移動体通信向けグローバルシステム(global system for mobile communications,GSM)、汎用パケット無線サービス(general packet radio service,GPRS)、符号分割多重アクセス(code division multiple access,CDMA)、広帯域符号分割多重アクセス(wideband code division multiple access,WCDMA)、時分割符号分割多重アクセス(time-division code division multiple access,TD-SCDMA)、ロングタームエボリューション(long term evolution,LTE)、BT、GNSS、WLAN、NFC、FM、IR 技術などを含んでよい。GNSSは、全地球測位システム(global positioning system,GPS)、全地球航法衛星システム(global navigation satellite system,GLONASS)、北斗衛星測位システム(BeiDou navigation satellite system,BDS)、準天頂衛星システム(quasi-zenith satellite system,QZSS)、および/または静止衛星型補強システム(satellite based augmentation system,SBAS)を含んでよい。
電子デバイス10は、GPU、ディスプレイ194、アプリケーションプロセッサなどを通じて、表示機能を実施する。GPUは、画像処理のためのマイクロプロセッサであり、ディスプレイ194およびアプリケーションプロセッサに接続される。GPUは、数学的計算および幾何学的計算を行い、画像をレンダリングするように構成される。プロセッサ110は、表示情報を生成または変更するプログラム命令を実行する1つまたは複数のGPUを含んでよい。
ディスプレイ194は、画像、ビデオなどを表示するように構成される。ディスプレイ194は、ディスプレイパネルを含む。ディスプレイパネルは、液晶ディスプレイ(liquid crystal display,LCD)、有機発光ダイオード(organic light-emitting diode,OLED)、アクティブマトリックス有機発光ダイオード(active-matrix organic light emitting diode,AMOLED)、フレキシブル発光ダイオード(flexible light-emitting diode,FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light emitting diode,QLED)などであってよい。いくつかの実施形態では、電子デバイス10は、1つまたはN個のディスプレイ194を含んでよく、ここで、Nは1よりも大きい正の整数である。
電子デバイス10は、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイ194、アプリケーションプロセッサなどを使用することによって、写真撮影機能を実施してよい。
ISPは、カメラ193によってフィードバックされたデータを処理するように構成される。たとえば、写真撮影中、シャッターが押され、光線がレンズを通じてカメラの感光素子に送られる。光信号は、電気信号へと変換される。カメラの感光素子は、電気信号を処理のためにISPに送り、電気信号を可視画像へと変換する。ISPは、画像のノイズ、輝度、および複雑さに対してアルゴリズム最適化をさらに行ってよい。ISPは、写真撮影シナリオの露光および色温度などのパラメータをさらに最適化してよい。いくつかの実施形態では、ISPは、カメラ193内に設置されてよい。
カメラ193は、静的画像またはビデオを取り込むように構成される。物体の光学像が、レンズを通じて生成され、感光素子に投影される。感光素子は、電荷結合素子(charge coupled device,CCD)または相補型金属酸化膜半導体(complementary metal-oxide-semiconductor,CMOS)フォトトランジスタであってよい。感光素子は、光信号を電気信号へと変換し、次いで、その電気信号をデジタル画像信号へと変換するために電気信号をISPに送る。ISPは、処理のためにデジタル画像信号をDSPに出力する。DSPは、デジタル画像信号をRGBフォーマット、YUVフォーマットなどの標準的な画像信号へと変換する。いくつかの実施形態では、電子デバイス10は、1つまたはN個のカメラ193を含んでよく、ここで、Nは1よりも大きい正の整数である。
デジタル信号プロセッサは、デジタル信号を処理するように構成され、デジタル画像信号に加えて別のデジタル信号を処理してよい。たとえば、電子デバイス10が周波数を選択するとき、デジタル信号プロセッサは、周波数エネルギーに対してフーリエ変換などを行うように構成される。
ビデオコーデックは、デジタルビデオを圧縮または復元するように構成される。電子デバイス10は、1つまたは複数のタイプのビデオコーデックをサポートしてよい。このようにして、電子デバイス10は、複数の符号化フォーマット、たとえば、moving picture experts group(moving picture experts group,MPEG)-1、MPEG-2、MPEG-3、およびMPEG-4で、ビデオを再生または記録してよい。
NPUは、ニューラルネットワーク(neural-network,NN)コンピューティングプロセッサである。NPUは、生物学的ニューラルネットワークの構造、たとえば、人間脳ニューロン間の転送モードを参照して、入力情報をすばやく処理し、自己学習をさらに連続的に行い得る。NPUは、画像認識、顔認識、音声認識、およびテキスト理解などの電子デバイス10のインテリジェントな認知などのアプリケーションを実施することができる。
外部メモリインターフェイス120は、電子デバイス10の記憶容量を拡張するために、外部メモリカード、たとえば、マイクロSDカードに接続するために使用されることがある。外部メモリカードは、データ記憶機能を実施するために、外部メモリインターフェイス120を通じてプロセッサ110と通信する。たとえば、音楽およびビデオなどのファイルは、外部メモリカードに記憶される。
内部メモリ121は、コンピュータ実行可能プログラムコードを記憶するように構成されてよく、実行可能プログラムコードは、命令を含む。プロセッサ110は、電子デバイス10のさまざまな機能アプリケーションを行い、データを処理するために、内部メモリ121内に記憶された命令を稼働させる。内部メモリ121は、プログラム記憶域と、データ記憶域とを含んでよい。プログラム記憶域は、オペレーティングシステム、アプリケーションによって必要とされる少なくとも1つの機能(たとえば、サウンド再生機能または画像再生機能)などを記憶してよい。データ記憶域は、電子デバイス10の使用中に作成されるデータ(オーディオデータおよび電話帳など)などを記憶してよい。さらに、内部メモリ121は、高速ランダムアクセスメモリを含んでよく、不揮発性メモリ、たとえば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリ、およびユニバーサルフラッシュストレージ(universal flash storage,UFS)をさらに含んでよい。
電子デバイス10は、オーディオモジュール170、スピーカ170A、受信機170B、マイクロホン170C、ヘッドセットジャック170D、アプリケーションプロセッサなどを通じて、オーディオ機能、たとえば、音楽再生および録音を実施してよい。
オーディオモジュール170は、出力のためにデジタルオーディオ情報をアナログオーディオ信号へと変換するように構成され、アナログオーディオ入力をデジタルオーディオ信号へと変換するようにも構成される。オーディオモジュール170は、オーディオ信号を符号化および復号するように構成されてよい。いくつかの実施形態では、オーディオモジュール170は、プロセッサ110内に設置されてよい、またはオーディオモジュール170のいくつかの機能モジュールがプロセッサ110内に設置される。
「ラウドスピーカ」とも呼ばれるスピーカ170Aは、オーディオ電気信号をサウンド信号へと変換するように構成される。電子デバイス10は、スピーカ170Aを使用することによって、音楽を聴くまたはハンズフリーで電話に出るために使用されてよい。
「イヤーピース」とも呼ばれる受信機170Bは、オーディオ電気信号をサウンド信号へと変換するように構成される。電子デバイス10を使用することによって電話が応答されたまたは声情報が受信されたとき、受信機170Bは、声を聞くために、人間の耳に近づけられてよい。
「マイクロホン」または「マイク」とも呼ばれるマイクロホン170Cは、サウンド信号を電気信号へと変換するように構成される。通話をするまたは声情報を送信するとき、ユーザは、サウンド信号をマイクロホン170Cに入れるために、ユーザの口を通じてマイクロホン170Cの近くで音を立ててよい。少なくとも1つのマイクロホン170Cは、電子デバイス10内に設置されてよい。いくつかの他の実施形態では、2つのマイクロホン170Cは、サウンド信号を収集し、ノイズ減少機能を実施するために、電子デバイス10内に設置されてよい。いくつかの他の実施形態では、あるいは、3つ、4つ、またはこれより多いマイクロホン170Cが、指向性録音機能などを実施するように、サウンド信号を収集し、ノイズ減少を実施し、音源を識別するために、電子デバイス10内に設置されてよい。
ヘッドセットジャック170Dは、ワイヤードヘッドセットに接続するように構成される。ヘッドセットジャック170Dは、USBポート130であってもよいし、3.5mmオープンモバイル電子デバイスプラットフォーム(open mobile terminal platform,OMTP)標準インターフェイスまたはcellular telecommunications industry association of the USA(cellular telecommunications industry association of the USA,CTIA)標準インターフェイスであってもよい。
圧力センサ180Aは、圧力信号を感知するように構成され、圧力信号を電気信号へと変換することができる。いくつかの実施形態では、圧力センサ180Aは、ディスプレイ194上に設置されてよい。多くのタイプの圧力センサ180A、たとえば、抵抗型圧力センサ、誘導性圧力センサ、および容量型圧力センサがある。容量型圧力センサは、導電材料から作製された少なくとも2つの平行プレートを含んでよい。圧力センサ180Aに力が加えられるとき、電極間の容量が変化する。電子デバイス10は、容量変化に基づいて圧力強度を決定する。タッチ操作がディスプレイ194上で行われるとき、電子デバイス10は、圧力センサ180Aを使用することによってタッチ操作の強度を検出する。電子デバイス10は、圧力センサ180Aの検出信号に基づいてタッチ位置を計算してよい。いくつかの実施形態では、同じタッチ位置で行われるが異なるタッチ操作強度を有するタッチ操作は、異なる動作命令に対応し得る。たとえば、タッチ操作強度が第1の圧力閾値よりも小さいタッチ操作がメッセージのアイコン上で行われたとき、SMSメッセージを視聴するための命令が行われる。タッチ操作強度が第1の圧力閾値よりも大きいかまたはそれに等しいタッチ操作がメッセージのアイコン上で行われたとき、SMSメッセージを作成するための命令が行われる。
ジャイロスコープセンサ180Bは、電子デバイス10のモーションポスチャを決定するように構成されてよい。いくつかの実施形態では、3つの軸(すなわち、軸x、y、およびz)の周りでの電子デバイス10の角速度が、ジャイロスコープセンサ180Bを使用することによって決定されることがある。ジャイロスコープセンサ180Bは、撮影中に画像安定化を実施するように構成されてよい。たとえば、シャッターが押されたとき、ジャイロスコープセンサ180Bは、画像安定化を実施するために、電子デバイス10が小刻みに揺れる角度を検出し、この角度に基づく計算を通じて、レンズモジュールが補償する必要がある距離を取得し、レンズが逆モーションを通じて電子デバイス10の小刻みな揺れを相殺することを可能にする。ジャイロスコープセンサ180Bは、ナビゲーションシナリオおよびモーション感知ゲームシナリオにおいて使用されてよい。
大気圧センサ180Cは、大気圧を測定するように構成される。いくつかの実施形態では、電子デバイス10は、測位およびナビゲーションを助けるために、大気圧センサ180Cによって測定された大気圧値に基づいて高度を計算する。
磁気センサ180Dは、ホール効果センサを含む。電子デバイス10は、磁気センサ180Dを使用することによって、フリップカバーの開閉を検出し得る。いくつかの実施形態では、電子デバイス10が折り畳み式携帯電話であるとき、電子デバイス10は、磁気センサ180Dを使用することによって、フリップカバーの開閉を検出し得る。さらに、フリップカバーの開放時自動ロック解除などの特徴は、フリップカバーの検出された開放状態または閉鎖状態に基づいて設定される。
加速度センサ180Eは、電子デバイス10の(通常、3つの軸上の)さまざまな方向で加速度を検出し得、電子デバイス10が静止しているとき、重力の大きさおよび方向を検出し得る。加速度センサ180Eは、電子デバイスの姿勢を識別するように構成されてよく、ランドスケープモードとポートレートモードとの切り換えまたは歩数計などのアプリケーション内で使用される。
距離センサ180Fは、距離を測定するように構成される。電子デバイス10は、赤外線様式またはレーザ様式で距離を測定し得る。いくつかの実施形態では、写真撮影シナリオでは、電子デバイス10は、距離センサ180Fを使用してすばやい焦点合わせを実施することによって、距離を測定することがある。
光近接センサ180Gは、発光ダイオード(LED)と、光検出器、たとえば、フォトダイオードとを含んでよい。発光ダイオードは、赤外発光ダイオードであってよい。電子デバイス10は、発光ダイオードを使用することによって、赤外光を発する。電子デバイス10は、フォトダイオードを使用することによって、近くの物体から赤外反射光を検出する。十分な反射光が検出されるとき、電子デバイス10は、電子デバイス10の近くに物体があることを決定し得る。不十分な反射光が検出されるとき、電子デバイス10は、電子デバイス10の近くに物体がないことを決定し得る。電子デバイス10は、光近接センサ180Gを使用することによって、電力節約のために画面を自動的にオフにするために、ユーザが通話の目的で電子デバイス10を耳の近くに保持することを検出し得る。光近接センサ180Gは、フリップカバーモードおよびポケットモードで画面を自動的にロック解除およびロックするようにも構成されてよい。
周囲光センサ180Lは、周囲光輝度を感知するように構成される。電子デバイス10は、感知された周囲光輝度に基づいてディスプレイ194の輝度を適応的に調整することがある。周囲光センサ180Lは、写真撮影中にホワイトバランスを自動的に調整するように構成されてもよい。周囲光センサ180Lはさらに、偶然のタッチを防止するために、電子デバイス10がポケット内にあるかどうかを検出するために光近接センサ180Gと協働することがある。
指紋センサ180Hは、指紋を収集するように構成される。電子デバイス10は、収集した指紋の特徴を使用することによって、指紋に基づいたロック解除、アプリケーションアクセスロック、指紋に基づいた写真撮影、指紋に基づいた電話応答などを実施し得る。
温度センサ180Jは、温度を検出するように構成される。いくつかの実施形態では、電子デバイス10は、温度センサ180Jによって検出された温度に基づいて、温度処理ポリシーを実行する。たとえば、温度センサ180Jによって報告される温度が閾値を超えるとき、電子デバイス10は、熱保護を実施するように電力消費量を減少させるために、温度センサ180Jの近くに配置されるプロセッサの性能を低下させる。いくつかの他の実施形態では、温度が別の閾値よりも低いとき、電子デバイス10は、低温により電子デバイス10が異常にシャットダウンされるのを防止するために、バッテリ142を加熱する。いくつかの他の実施形態では、温度が依然として別の閾値よりも低いとき、電子デバイス10は、低温による異常シャットダウンを回避するために、バッテリ142の出力電圧を増やす。
タッチセンサ180Kは、「タッチパネル」とも呼ばれる。タッチセンサ180Kは、ディスプレイ194上に設置されてよく、タッチセンサ180Kとディスプレイ194は、「タッチスクリーン」とも呼ばれるタッチスクリーンを形成する。タッチセンサ180Kは、タッチセンサ上でまたはその近くで行われたタッチ操作を検出するように構成される。タッチセンサは、タッチイベントのタイプを決定するために、検出されたタッチ操作をアプリケーションプロセッサに転送してよい。ディスプレイ194は、タッチ操作に関連する視覚的出力を提供してよい。いくつかの他の実施形態では、タッチセンサ180Kは、あるいは、電子デバイス10の表面上の、ディスプレイ194の位置とは異なる位置に設置されてよい。
骨伝導センサ180Mは、振動信号を取得し得る。いくつかの実施形態では、骨伝導センサ180Mは、人間声帯部の振動骨の振動信号を取得し得る。骨伝導センサ180Mは、血圧鼓動信号を受信するために人間パルスと接触することもある。いくつかの実施形態では、骨伝導センサ180Mは、あるいは、骨伝導ヘッドセットを形成するためにヘッドセット内に設置されることがある。オーディオモジュール170は、声機能を実施するために、声帯部の振動骨のものであり骨伝導センサ180Mによって取得される振動信号に基づく解析を通じて声信号を取得し得る。アプリケーションプロセッサは、心拍検出機能を実施するために、骨伝導センサ180Mによって取得される血圧鼓動信号に基づいて心拍情報を解析する。
ボタン190は、電力ボタン、ボリュームボタンなどを含む。ボタン190は、機械的なボタンであってもよいし、タッチボタンであってもよい。電子デバイス10は、ボタン入力を受信し、電子デバイス10のユーザ設定および機能制御に関係するボタン信号入力を生成する。
モータ191は、振動プロンプトを生成し得る。モータ191は、電話着信振動プロンプトに使用されてもよいし、タッチ振動フィードバックに使用されてもよい。たとえば、異なるアプリケーション(写真撮影アプリケーションおよびオーディオ再生アプリケーションなど)上で行われるタッチ操作は、異なる振動フィードバック効果に対応してよい。モータ191は、ディスプレイ194の異なる区域内で行われるタッチ操作のための異なる振動フィードバック効果に対応してもよい。異なるアプリケーションシナリオ(たとえば、時間リマインド、情報受信、アラームクロック、およびゲーム)も、異なる振動フィードバック効果に対応してよい。タッチ振動フィードバック効果がカスタマイズされてよい。
インジケータ192は、インジケータランプであってよく、充電ステータスおよび電力変化を示すように構成されてもよいし、メッセージ、不在着信、通知などを示すように構成されてもよい。
SIMカードインターフェイス195は、SIMカードに接続するために使用される。SIMカードは、電子デバイス10との接触またはそれからの分離を実施するために、SIMカードインターフェイス195に挿入されてもよいし、SIMカードインターフェイス195から取り外されてもよい。電子デバイス10は、1つまたはN個のSIMカードインターフェイスをサポートしてよく、ここで、Nは1よりも大きい正の整数である。SIMカードインターフェイス195は、ナノSIMカード、マイクロSIMカード、SIMカードなどをサポートすることができる。複数のカードが、同じSIMカードインターフェイス195に同時に挿入されてよい。複数のカードは、同じタイプであってもよいし、異なるタイプであってもよい。SIMカードインターフェイス195は、異なるタイプのSIMカードに適用可能である。SIMカードインターフェイス195は、外部記憶カードに適合してもよい。電子デバイス10は、通話およびデータ通信などの機能を実施するために、SIMカードを通じてネットワークと相互作用する。いくつかの実施形態では、電子デバイス10は、eSIM、すなわち、組み込み型SIMカードを使用する。eSIMカードは、電子デバイス10に組み込まれてよく、電子デバイス10から分離可能でない。
図5は、本出願のこの実施形態による電子デバイス10のソフトウェア構造のブロック図である。
階層化アーキテクチャでは、ソフトウェアは、いくつかの層に分割され、各層は、クリア役割とタスクとを有する。層は、ソフトウェアインターフェイスを通じて互いと通信する。いくつかの実施形態では、階層型アーキテクチャは、4つの層に分割され、それは、上から下までそれぞれ、アプリケーション層、アプリケーションフレームワーク層、プロトコルスタック、およびハードウェア層である。
アプリケーション層は、アプリケーションパッケージのシリーズを含んでよい。
図5に示されるように、アプリケーションパッケージは、たとえば、車両鍵に対応する車両製造業者アプリおよびウォレットアプリケーションを含む。ウォレットアプリケーションは、車両製造業者アプリケーション内のソフトウェア開発キット(software development kit,SDK)と通信し得る。ウォレットアプリケーションは、対応するサーバを使用することによって、車両製造業者アプリの有効性を検証することができる。ウォレットアプリケーションは、ブルートゥースエージェントモジュール(BLEエージェント)に検証結果をさらに通知してよい。ブルートゥースエージェントモジュールは、検証結果に基づいて、指定されたMACアドレスを含むアドバタイジングをスキャンすべきかどうかを決定し得る。ブルートゥースエージェントモジュールは、検証結果に基づいて、システムによってクリアされる車両製造業者アプリをさらに開始し得る。詳細については、本出願の実施形態の図7~図9B、図16、図19~図21、および図23に図示される例における説明を参照されたい。
アプリケーションパッケージは、車両が自動的にロック解除されるシナリオに含まれる車両製造業者アプリに限定されない。別のシナリオでは、アプリケーションパッケージは、別のアプリケーションを含むことができる。たとえば、無感決済シナリオでは、アプリケーションパッケージは、決済アプリケーション(たとえば、WeChatアプリケーションまたはAlipayアプリケーション)をさらに含み、この決済アプリケーションは、含まれるSDKを使用することによってウォレットアプリケーションに接続されてよい。付属品(たとえば、ブルートゥース電子はかり)が電子デバイス10に重量データを自動的にアップロードするシナリオでは、アプリケーションパッケージは、重量計に対応するアプリをさらに含む。アプリは、含まれるSDKを通じてウォレットアプリケーションに接続可能である。ウェアラブルデバイス(たとえば、バンドまたは腕時計)が電子デバイスにデータをアップロードするシナリオでは、アプリケーションパッケージは、バンドに対応するアプリケーションと、腕時計に対応するアプリケーションとをさらに含む。特定のシナリオおよび電子デバイス10上にインストールされるアプリケーションは、本出願のこの実施形態では限定されない。
本出願のこの実施形態では、第1のアプリケーションは、外部ブルートゥースデバイス(車両ヘッドユニット、ウェアラブルデバイス、付属品など)に関係するアプリケーション、たとえば、車両製造業者アプリ、重量計に対応するアプリ、バンドに対応するアプリケーション、または腕時計に対応するアプリケーションを含んでよい。第2のアプリケーションは、ウォレットアプリケーションを含んでよい。
別の可能な実装では、車両製造業者アプリケーションに対応するアプリ、決済アプリケーション、および重量計は、アプリケーションフレームワーク層でブルートゥースエージェントモジュールに直接的に接続されることがある。
アプリケーションパッケージは本出願では限定されず、カメラ、ギャラリー、カレンダー、電話、地図、ナビゲーション、WLAN、ブルートゥース、音楽、ビデオ、およびメッセージなどのアプリケーションをさらに含んでよい。
アプリケーションフレームワーク層は、アプリケーション層においてアプリケーションプログラミングインターフェイス(application programming interface,API)およびプログラミングフレームワークをアプリケーションに提供する。アプリケーションフレームワーク層は、いくつかのあらかじめ規定された機能を含む。
図5に示されるように、アプリケーションフレームワーク層は、本出願のこの実施形態において提供されるブルートゥースエージェントモジュールを含んでよい。ブルートゥースエージェントモジュールは、アプリケーションフレームワーク層におけるアプリケーション/インターフェイスであってよい。ブルートゥースエージェントモジュールは、指定されたMACアドレスを含むブルートゥースアドバタイジング信号をスキャンするようにブルートゥースチップに示すように構成される。ブルートゥースエージェントモジュールは、ブルートゥースチップが、スキャニングを通じて、指定されたMACアドレスを含むアドバタイジングを取得するとき、指定されたアプリケーションと外部ブルートゥースデバイス(たとえば、車両ヘッドユニット20)との間のブルートゥース通信接続を確立するために、指定されたアプリケーション(たとえば、車両製造業者アプリ)を開始するようにさらに構成される。具体的には、ブルートゥースエージェントモジュールの機能については、本出願の実施形態の図7~図9B、図16、図19~図21、および図23に図示される例における説明を参照されたい。
アプリケーションフレームワーク層は、ウィンドウマネージャ、コンテンツプロバイダ、視聴システム、電話マネージャ、リソースマネージャ、通知マネージャなどをさらに含んでよい。これは、本出願のこの実施形態では限定されない。ウィンドウマネージャは、ウィンドウプログラムを管理するように構成される。ウィンドウマネージャは、ディスプレイのサイズを取得する、ステータスバーがあるかどうかを決定する、などを行い得る。コンテンツプロバイダは、データを記憶および取得し、データがアプリケーションによってアクセスされることを可能にするように構成される。視聴システムは、テキストを表示するためのコントロールおよびピクチャを表示するためのコントロールなどの視覚的コントロールを含む。視聴システムは、アプリケーションを構築するように構成されてよい。電話マネージャは、電子デバイス10の通信機能、たとえば、通話ステータス(回答、拒否などを含む)の管理を提供するように構成される。リソースマネージャは、ローカライズされた文字列、アイコン、およびピクチャなどのさまざまなリソースをアプリケーションに提供する。通知マネージャは、アプリケーションが通知情報をステータスバー内に表示することを可能にし、通知タイプメッセージを送るように構成されてよい。たとえば、通知マネージャは、ダウンロード完了を通知する、メッセージ通知を提供するなどを行うように構成される。
プロトコルスタックは、複数のプロトコルを含んでよい。図5に示されるように、プロトコルスタックは、ブルートゥースプロトコルスタック(BTスタック)を含む。ブルートゥースプロトコルスタックは、ブルートゥースフレームワーク内の複数のプロファイル(プロファイル)およびコアプロトコル(プロトコル)を規定し、各プロファイルは、対応するメッセージフォーマットおよびアプリケーションルールを規定し、プロファイルは、ブルートゥースサービス(アプリケーション)である。異なるプラットフォーム上の異なるデバイス間の相互接続を実施するために、ブルートゥースプロトコルは、A2DP(advanced audio distribution profile,高度オーディオ配信プロファイル)およびHFP(hands-free profile,ハンズフリープロファイル)などのさまざまな可能でユニバーサルなアプリケーションシナリオのための仕様を規定する。コアプロトコルは、限定するものではないが、ブルートゥース基本サービスプロトコルSDP(service discover protocol,サービス発見プロトコル)、論理リンク制御および適応プロトコル L2CAP(logical link control and adaptation protocol)などを含む。コアプロトコルは、ブルートゥースプロトコルスタックに不可欠である。
本出願のこの実施形態におけるブルートゥースプロトコルは、古典的なブルートゥース(基本レート/拡張データレート、Basic Rate/Enhanced Data Rate,BR/EDR)および/またはブルートゥース低エネルギー(Bluetooth low energy,BLE)をサポートし得る。ブルートゥースプロトコルは、ブルートゥースプロトコルの異なるバージョン、たとえば、ブルートゥースバージョン1.0、1.2、2.0+EDR、3.0+HS、4.0、4.1、4.2、および5.0をさらに含んでよい。
これはブルートゥースプロトコルに限定されず、プロトコルスタックは、別のタイプのプロトコルをさらに含んでよい。
図5に示されるように、ハードウェア層は、ブルートゥースチップを含んでよい。ブルートゥースエージェントモジュールは、ブルートゥースプロトコルスタックを通じてブルートゥースチップと通信し得る。ブルートゥースチップは、ブルートゥースエージェントモジュールからのインジケーションに従ってブルートゥースアドバタイジング信号をスキャンしてよい。ブルートゥースチップは、ブルートゥースチップを使用することによって車両製造業者アプリと外部ブルートゥースデバイスとの間のブルートゥース通信接続を確立するために、サードパーティデバイス(たとえば、車両ヘッドユニット)のブルートゥースチップにブルートゥース接続をさらに確立し、車両製造業者アプリに接続し得る。
本出願のいくつかの実施形態では、アプリケーション層におけるウォレットアプリケーションの機能は、ブルートゥースエージェントモジュールによって実施されてよく、ウォレットアプリケーションは、もはや本出願において提供される実施形態に含まれないことがある。具体的には、ブルートゥースエージェントモジュールは、車両製造業者アプリ内のSDK、決済アプリケーション内のSDK、および重量計に対応するアプリ内のSDKと通信し得る。ブルートゥースエージェントモジュールは、対応するサーバを使用することによって、車両製造業者アプリの有効性を検証することができる。ブルートゥースエージェントモジュールは、検証結果に基づいて、指定されたMACアドレスを含むアドバタイジングをスキャンすべきかどうかを決定し得る。ブルートゥースエージェントモジュールは、検証結果に基づいて、システムによってクリアされる車両製造業者アプリをさらに開始し得る。
以下は、本出願の実施形態において提供されるブルートゥースシステムのアーキテクチャについて説明する。システムアーキテクチャは、車両がブルートゥースを通じて意識されずにロック解除されるシナリオにおいて使用され得る。図6は、本出願の一実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図6に示されるように、ブルートゥースシステムは、電子デバイス10と、車両ヘッドユニット20と、車両製造業者サーバ30とを含む。
図6に示されるように、電子デバイス10は、ブルートゥースチップ101と、車両製造業者アプリ102と、SE104と、ブルートゥースエージェントモジュール105と、ウォレットアプリ106とを含む。図6に示されるように、ブルートゥースチップ101が、車両製造業者アプリ102およびブルートゥースエージェントモジュール105の各々への接続を確立する。ブルートゥースチップ101は、電子デバイス10のプロセッサを使用することによって、車両製造業者アプリ102に接続されてよい。車両製造業者アプリ102は、ウォレットアプリケーション106に対応するSDKを含んでよい。車両製造業者アプリ102は、SDKを使用することによって、ウォレットアプリ106と通信する。詳細については、図5において説明される実施形態における車両製造業者アプリについての説明を参照されたい。
ウォレットアプリ106は、車両製造業者アプリ102、ブルートゥースエージェントモジュール105、およびSE104に別個に接続されてよい。ウォレットアプリ106は、車両製造業者アプリ102の登録情報が有効であるかどうかを検証するように、ウォレットサーバと通信するために使用されてよい。登録プロセスでは、車両製造業者アプリ102の登録情報が有効である場合、ウォレットアプリ106は、記憶のためにブルートゥースエージェントモジュール105に車両製造業者アプリ102の登録情報を送信してよい。車両を意識されずにロック解除するプロセスでは、車両製造業者アプリ102の登録情報が有効である場合、ウォレットアプリ106は、車両製造業者アプリ102を開始してよい。
電子デバイス10上の車両製造業者アプリ102は、車両製造業者サーバ30への通信接続を確立し得る。車両製造業者サーバ30は、通信接続を通じて車両製造業者アプリ102に証明書、署名情報などを配信してよい。証明書および署名情報は、登録中にウォレットアプリ106またはブルートゥースエージェントモジュール105に車両製造業者アプリの有効性を証明するために車両製造業者アプリ102によって使用されてよい。証明書および署名情報は、図7で説明される例のステップS202において登録情報内で搬送されてよい。車両製造業者アプリの有効性を証明するプロセスについては、図7において説明される例におけるステップS203における説明を参照されたい。電子デバイス10上のウォレットアプリ106は、車両製造業者サーバ30への通信接続を確立してもよく、車両製造業者サーバ30は、車両製造業者アプリ102の登録中に通信接続を通じてウォレットアプリ106に、ロック解除のために使用される暗号文を送信してよい。ウォレットアプリ106は、暗号文をSE104に記憶してよい。この暗号文と車両ヘッドユニットに車両製造業者サーバ30によって送信される暗号文は、1対1対応であってよい(たとえば、2つの暗号文は同じである)。暗号文が通信接続を通じてチェックされるとき、車両ヘッドユニットは、比較を通じて、2つの暗号文が同じであるかどうかを決定し得る。
車両製造業者サーバ30および車両ヘッドユニット20は、テレマティクスボックス(telematics box、T-Box)、車体制御モジュール(body control module,BCM)、および中央制御モジュール(central control module,CCM)、のうちの1つまたは複数を使用することによってMCU203に接続されてよい。
図6に示されるように、車両ヘッドユニット20は、プライマリブルートゥースチップ201と、車両内SE202と、マイクロコントローラユニット(microcontroller unit,マイクロコントローラユニット、MCU)203と、距離測定ブルートゥースチップ204とを含んでよい。MCU203は、プライマリブルートゥースチップ201、車両内SE202、および距離測定ブルートゥースチップ204への通信接続を別個に確立し得る。
車両上の異なる位置に据え付けられた複数のブルートゥースアンテナにそれぞれが対応し得る複数の距離測定ブルートゥースチップ204があってよい。たとえば、合計で6つのブルートゥースアンテナが車両上の異なる位置に据え付けられ、この6つのブルートゥースアンテナはすべて、電子デバイスによって送信されたブルートゥース信号を受信し得る。6つのブルートゥースアンテナの各々は、距離測定ブルートゥースチップに対応してよく、受信したブルートゥース信号の受信信号強度インジケータ(RSSI)を測定するために使用される。車両ヘッドユニットのMCU203は、複数のブルートゥースチップによって測定されたRSSIに基づいて、ユーザによって搬送される電子デバイスと車両ヘッドユニットとの距離と、電子デバイスと車両との間の位置関係を決定し得る。
車両ヘッドユニット20のMCU203は、車両製造業者サーバ30への通信接続を確立し得る。車両製造業者サーバ30は、車両製造業者アプリ102の登録中に通信接続を通じてMCU203に、ロック解除のために使用される暗号文を送信し得る。MCU203は、暗号文を車両内SE202に記憶してよい。
車両が、図6に図示されるシステムアーキテクチャを使用することによって意識されずにロック解除される前に、ユーザは、電子デバイス10が登録プロセスを完了するように、電子デバイス10上に車両製造業者アプリ102をインストールする必要がある。以下のプロセスが、以下で別個に説明される。(a)登録プロセス、(b)車両を意識されずにロック解除するプロセス、(c)ブルートゥーススイッチを再度オンにするまたは電子デバイス10を再開するプロセス。
(a)登録プロセス
登録プロセスは、図6に図示されるシステムアーキテクチャおよび図7に図示されるプロセスに関して以下で説明される。図7は、本出願のこの実施形態による車両製造業者アプリ102の登録プロセスの概略フローチャートである。車両製造業者アプリ102の登録プロセスは、ステップS201~S204を含む。
S201:電子デバイス10上に車両製造業者アプリ102をインストールする。車両製造業者アプリ102のユーザインターフェイス内でのユーザ操作に応答して、電子デバイス10のブルートゥースチップ101は、車両ヘッドユニット20のプライマリブルートゥースチップ201へのブルートゥース接続を確立する。
電子デバイス10と車両ヘッドユニット20との間の距離は、指定された閾値範囲内に入る。電子デバイス10は、指定された閾値範囲内の車両ヘッドユニット20へのブルートゥース接続を確立し得る。ブルートゥース接続は、BLE接続であってもよいし、BR/EDR接続であってもよい。具体的には、車両ヘッドユニット20のプライマリブルートゥースチップ201は、ブルートゥースアドバタイジング信号を送信してよく、このブルートゥースアドバタイジング信号は、車両ヘッドユニット20のMACアドレス、ブルートゥース名などを搬送してよい。車両製造業者アプリ102のユーザインターフェイス内でのユーザ操作に応答して、車両製造業者アプリ102は、ブルートゥースアドバタイジング信号を検索し始め、見つかったブルートゥースアドバタイジング信号内で搬送されるブルートゥース名を表示してよい。たとえば、車両製造業者アプリ102のユーザインターフェイス内に表示されるブルートゥース名は、第1のブルートゥース名を含んでよく、第1のブルートゥース名は、車両ヘッドユニット20のブルートゥース名である。
接続プロセスの場合、可能な一実装では、ブルートゥース接続はBR/EDR接続である。第1のブルートゥース名に対して行われるユーザ操作に応答して、電子デバイス10は、車両ヘッドユニット20とペアにされ、車両ヘッドユニット20へのブルートゥース接続を確立し得る。2つのブルートゥース接続プロセスが、以下で説明される。
(1)BR/EDR接続プロセス
BR/EDR接続を確立するプロセスは、ペアリングプロセスと、接続プロセスとを含んでよく、これらのプロセスは、以下で別個に説明される。
(a)ペアリングプロセス
ペアリングプロセスでは、最初にペアリングを始めるデバイスは、マスタデバイス(マスタ)と呼ばれ、ペアリングを受動的に行うデバイスは、スレーブデバイス(スレーブ)と呼ばれる。たとえば、本出願のこの実施形態では、電子デバイス10は、車両ヘッドユニット20とのペアリングを能動的に始める。したがって、電子デバイス10は、マスタデバイスと呼ばれることがあり、車両ヘッドユニット20は、スレーブデバイスと呼ばれることがある。ブルートゥースペアリングプロセスでは、マスタデバイスは、外部デバイスを能動的に発見する照会(inquiry)状態であってよい。スレーブデバイスは、照会スキャン状態であり、マスタデバイスのスキャニングに対して応答する。ブルートゥースペアリングプロセスは、以下の通りであってよい。
ステップ1:マスタデバイスおよびスレーブデバイスは各々、初期鍵(kinit)を生成する。
マスタデバイスとスレーブデバイスが、同じE22アルゴリズムを使用することによって初期鍵を生成する場合、計算を通じて2つのデバイスによって取得される初期鍵は同じはずである。
ステップ2:マスタデバイスおよびスレーブデバイスは各々、リンク鍵(Kab)を生成する。
ステップ3:マスタデバイスとスレーブデバイスは、双方向認証を行う。
双方向認証は、チャレンジレスポンス(challenge-response)様式である。マスタデバイスはレスポンダであってよく、スレーブデバイスはリクエスタであってよい。レスポンダは、128ビット乱数AU_RANDAを生成し、この128ビット乱数AU_RANDAを平文様式でリクエスタに送信する。レスポンダおよびリクエスタは各々、それぞれ32ビットSRESAおよびSRESBを生成するために、E1アルゴリズムを使用することによってそれぞれ取得されるAU_RANDA、Kab、およびBD_RANDBに対して暗号化動作を行う。SRESAは、レスポンダとして働くマスタデバイスによって生成され、SRESBは、リクエスタとして働くスレーブデバイスによって生成される。リクエスタは、SRESBをレスポンダに送信する。レスポンダは、SRESAとSRESBを比較する。SRESAとSRESBが等しい場合、現在の認証は成功する、さもなければSRESAとSRESBが等しくない場合、認証は失敗する。現在の認証を完了した後、マスタデバイスとスレーブデバイスの役割は入れ替えられる。マスタデバイスはリクエスタとして働き、スレーブデバイスはレスポンダとして働く。マスタデバイスとスレーブデバイスは、同じ様式で認証を行う。
電子デバイス10と車両ヘッドユニット20との間の認証が完了した後、電子デバイス10および車両ヘッドユニット20は、リンク鍵Kabを使用することによって、電子デバイス10および車両ヘッドユニット20によって送られたデータを暗号化し得る。ブルートゥースペアリングが完了した後、車両ヘッドユニット20と電子デバイス10は、次回接続を確立するとき、再度ペアにされる必要はない。本出願のこの実施形態では、電子デバイス10とのペアリングを完了した後、車両ヘッドユニット20は、ブルートゥースアドバタイジング信号を送信するのを止めてよい。たとえば、車両ヘッドユニット20が電子デバイス10とのペアリングを完了し、電子デバイス10が再度電源投入された後、車両ヘッドユニット20はもはやブルートゥースアドバタイジング信号を送信せず、ページングが行われてよい。車両ヘッドユニット20が電子デバイス10とのペアリングを完了し、車両ヘッドユニット20が再度電源投入された後、車両ヘッドユニット20はもはやブルートゥースアドバタイジング信号を送信せず、ページスキャンが行われてよい。
(b)接続プロセス
接続プロセスは、以下のステップを含んでよい。
ステップ1:電子デバイス10はページ状態であり、ページデータパケットを送信する。
ページデータパケットは、車両ヘッドユニット20のデバイスアクセスコード(device access code,DAC)を含んでよい。
ステップ2:車両ヘッドユニット20がページスキャン状態であるとき、車両ヘッドユニット20は、リッスンを通じて、車両ヘッドユニット20のDACを取得する。
ステップ3:車両ヘッドユニット20は、電子デバイス10に返信を送信し、ページスキャン状態からスレーブ応答(slave response)状態に切り換えてよい。
ステップ4:車両ヘッドユニット20によって送信された返信を受信した後、電子デバイス10は、返信に基づいて車両ヘッドユニット20に周波数ホッピングシーケンス(frequency hopping sequence,FHS)を送信し、ページ状態からマスタユニット応答(マスタレスポンス,master response)状態に切り換えてよい。
ステップ5:FHSを受信した後、車両ヘッドユニット20は、電子デバイス10に第2の返信を送信し、スレーブ応答状態から接続(connection)状態に切り換えてよい。
ステップ6:電子デバイス10が、車両ヘッドユニット20によって送信された返信を受信した後、電子デバイス10は、マスタ応答状態から接続状態に切り換えてよい。
この場合、電子デバイス10および車両ヘッドユニット20は各々、接続状態である。
(2)BLE接続プロセス
接続が開始するとき、2つのデバイスはそれぞれ、アドバタイジング(advertising)状態およびスキャニング(scanning)状態である。アドバタイジング状態であるデバイス、たとえば、本出願のこの実施形態における車両ヘッドユニット20は、アドバタイザ(advertiser)と呼ばれることがある。スキャニング状態であるデバイス、たとえば、本出願のこの実施形態における電子デバイス10は、オブザーバ(observer)と呼ばれることがある。BLE接続を確立するプロセスは、以下のステップを含んでよい。
S1:車両ヘッドユニット20は、BLEアドバタイジング信号を連続的に送信し、ここで、tはアドバタイジング間隔である。
アドバタイジングパケットが送信されるたびに、アドバタイジングイベント(advertising event)が発生する。各アドバタイジングイベントは、3つのアドバタイジングパケットを含んでよく、すなわち、同じアドバタイジングパケットは、3つのチャネル37、38、および39の上で同時にアドバタイジングされる。アドバタイジングイベントは期間を有し、この期間は、アドバタイジング伝送ウィンドウである。
S2:電子デバイス10は、スキャンウィンドウを開く。
電子デバイス10がBLEアドバタイジング信号をスキャンする期間は、スキャンウィンドウ(scan windows)と呼ばれることがある。
S3:電子デバイス10のスキャンウィンドウは、車両ヘッドユニット20のアドバタイジング伝送ウィンドウに首尾よく合致する。
電子デバイス10のスキャンウィンドウが車両ヘッドユニット20のアドバタイジング伝送ウィンドウに首尾よく合致するときにのみ、電子デバイス10は、車両ヘッドユニット20によって送信されたBLEアドバタイジング信号を受信することができる。電子デバイス10が、車両ヘッドユニット20によって送信されたBLEアドバタイジング信号を受信した後、電子デバイス10は、アドバタイジング(advertising)状態から始動(Initiating)状態に入ってよく、電子デバイス10はステップS4を行う。
S4:電子デバイス10は、車両ヘッドユニット20に接続要求を送信する。
接続要求は、CONN_REQ(CONNECT_INDとも呼ばれる、すなわち、A2データパケット)である。CONN_REQは、ウィンドウオフセット(伝送ウィンドウオフセット、transmit window offset)、ウィンドウサイズ(伝送ウィンドウサイズ,transmit window size)などを含んでよい。
CONN_REQは、車両ヘッドユニット20が、伝送ウィンドウ(transmit window)に対応する期間内の無線周波数受信ウィンドウを開くように、電子デバイス10が伝送ウィンドウ内で車両ヘッドユニット20に第1の同期パケット(P1データパケット)を送信可能であることを車両ヘッドユニット20に通知するために使用される。P1データパケットを受信した後、車両ヘッドユニット20は、電子デバイス10にP2データパケット(ACKパケット)を返す。電子デバイスがP2データパケットを受信すると、電子デバイス10と車両ヘッドユニット20との間のBLE接続は、首尾良く確立可能である。電子デバイス10および車両ヘッドユニット20は各々、接続(connection)状態に入る。
本出願のこの実施形態では、電子デバイス10が車両ヘッドユニット20へのブルートゥース接続を確立する前に、電子デバイス10のブルートゥースチップがブルートゥースアドバタイジング信号をスキャンすることができるように、電子デバイス10のブルートゥーススイッチがオンにされる。
S202:車両製造業者アプリ102は、ウォレットアプリ106に登録情報を送信する。
本出願のこの実施形態では、ブルートゥースチップ101がプライマリブルートゥースチップ201へのブルートゥース接続を確立するとき、車両製造業者アプリ102は、ウォレットアプリ106に登録情報を送信してよい。登録情報は、車両ヘッドユニット20のMACアドレス(第1のMACアドレス)、アプリ102のパッケージ名、車両のブランドなどを含んでよい。登録情報は、証明書および/または署名情報をさらに含んでよい。証明書および/または署名情報は、車両製造業者サーバ30によって車両製造業者アプリに配信され、たとえば、車両製造業者アプリ102が電子デバイス10上にインストールされるとき、車両製造業者アプリ102に配信されてよい。
第1のMACアドレスは、ブルートゥースチップ101から車両製造業者アプリ102によって取得されてよい。
S203:ウォレットアプリ106は、登録情報が有効であるかどうかを検証し、登録情報が有効である場合、ステップS204を行う。
ウォレットアプリ106は、証明書および/または署名情報が有効であるかどうかを検証するために、ウォレットサーバと通信してよい。具体的には、ウォレットサーバは、証明書および/または署名情報を検証するために使用される検証情報を記憶してよい。ウォレットサーバが、承認製造業者のサーバによって配信される証明書が有効であることを考慮するとき(たとえば、ウォレットサーバが車両製造業者サーバ30を承認する)場合、ウォレットサーバは、車両製造業者サーバ30の証明書および/または署名情報を検証するために使用される検証情報をあらかじめ記憶する。検証情報に基づいて、ウォレットサーバは、証明書および/または署名情報が有効であることを検証し得る。
たとえば、車両製造業者アプリ102の登録情報は第1の証明書を含み、この第1の証明書は、認証局(certificate authority,CA)によって署名されたデジタル証明書である。認証局は、ウォレットアプリ106に対応するウォレットサーバによって承認される。第1の証明書は、車両製造業者サーバ30の公開鍵と、車両製造業者サーバ30の名前と、認証局のデジタル署名とを含んでよい。
第1の証明書は、車両製造業者サーバ30の識別情報を含み認証局によって検討および発行される電子データである。したがって、第1の証明書は、認証局のデジタル署名を使用することによって、ウォレットサーバに対して、車両製造業者サーバ30が認証局によって認証されることを証明し得る。
ウォレットサーバが認証局を承認した場合、ウォレットサーバは、認証局の公開鍵を記憶し、認証局の公開鍵を使用することによって第1の証明書内の認証局のデジタル署名を検証して、検証が成功した後、車両製造業者サーバ30の公開鍵および車両製造業者サーバ30の名前などの情報を取得する。ウォレットサーバは、承認された製造業者名リストを記憶し得る。ウォレットサーバが車両製造業者サーバ30を承認した場合、ウォレットサーバは、車両製造業者サーバ30の名前を記憶してよい。認証局のデジタル署名に対する検証が成功した後、ウォレットサーバは、車両製造業者サーバ30のものであり第1の証明書に含まれる名前が、ローカルに記憶された承認された製造業者名リストに含まれるかどうかを検出する。名前が、ローカルに記憶された承認された製造業者名リストに含まれる場合、それは、登録情報が有効であることを示し、ウォレットサーバは、検証結果をウォレットアプリ106に通知し、ステップS204を行う。
ウォレットアプリ106が、登録情報が有効でないことを検証した場合、ウォレットアプリ106は、車両製造業者アプリ102に通知してよい。車両製造業者アプリ102は、登録が失敗したことを示すメッセージを表示してよい。
S204:ウォレットアプリ106は、ブルートゥースエージェントモジュール105に登録情報を送信する。
ブルートゥースエージェントモジュール105は、たとえば、前述の車両製造業者アプリ102の登録情報を含む、権限検証が成功したことを示す登録情報を記憶することがある。車両製造業者アプリ102の登録情報は、車両ヘッドユニット20のMACアドレス(第1のMACアドレス)と、アプリ102のパッケージ名と、車両のブランドとを含んでよい。たとえば、ウォレットアプリ106が、アプリ2の登録情報およびアプリ3の登録情報が有効であることを検証する場合、ブルートゥースエージェントモジュール105は、アプリ2の登録情報およびアプリ3の登録情報を受信および記憶してよい。
車両製造業者アプリ102は、ステップS201~S204を通じてウォレットアプリ106に登録を完了する。
本出願のこの実施形態では、車両製造業者サーバ30は、電子デバイス10上のウォレットアプリ106および車両ヘッドユニットのMCU203に、ロック解除のために使用される暗号文をさらに送信し得る。ウォレットアプリ106は、SE104に、ロック解除のために使用される暗号文を記憶し、車両ヘッドユニットのMCU203は、車両内SE202に、ロック解除のために使用される暗号文を記憶する。ロック解除のために使用される暗号文は、車両製造業者アプリ102においてユーザによって設定されてよいし、車両製造業者アプリ102においてユーザによって設定されたパスワードに基づいて生成されてもよい。
本出願のこの実施形態では、車両製造業者アプリ102の登録がステップS101~S104を通じて完了し、ロック解除のために使用される暗号文が電子デバイス10および車両ヘッドユニット20に配信された後、電子デバイス10は、最も左の画面上でロック解除のために使用されるコントロール、車両製造業者アプリ102のユーザインターフェイス、およびウォレットアプリ106のユーザインターフェイスを表示してよい。ロック解除のために使用されるコントロール上で行われるユーザ操作に応答して、電子デバイス10は、車両ドアをロック解除するために、車両ヘッドユニット20へのブルートゥース接続を通じて暗号文チェックを行ってよい。たとえば、ロック解除のために使用されるコントロールは、たとえば、図10に図示される最も左の画面10上のコントロール1011である。
最も左の画面は、システムの複数のホーム画面ページの左側にあり、情報を表示するために使用される画面である。ホーム画面ページは、アプリケーションまたはウィジェットアイコンを置くために使用される。
(b)車両を意識されずにロック解除するプロセス
本出願のこの実施形態では、ブルートゥースチップ101とプライマリブルートゥースチップ201との通信接続が切断されるとき、ブルートゥースエージェントモジュール105は、車両ヘッドユニットのMACアドレスを含むブルートゥースアドバタイジング信号がスキャニングを通じて取得されるまでブルートゥーススキャニング機能を可能にするように、ブルートゥースチップ101に通知してよい。ブルートゥースエージェントモジュール105は、スキャニングを通じて取得されるブルートゥースアドバタイジング信号に基づいて、車両製造業者アプリ102を開始する。車両製造業者アプリ102は、ブルートゥースチップ101とプライマリブルートゥースチップ201との通信接続を再確立するために、車両ヘッドユニットに再接続する。通信接続は、暗号文をチェックし、車両をロック解除するために使用されてよい。
車両を意識されずにロック解除するプロセスは、図6に図示されるシステムアーキテクチャならびに図8Aおよび図8Bに図示されるプロセスに関して以下で説明される。図8Aおよび図8Bは、本出願のこの実施形態による、車両を意識されずにロック解除するプロセスの概略フローチャートである。車両を意識されずにロック解除するプロセスは、ステップS301~S320を含む。
S301:ブルートゥースチップ101が、プライマリブルートゥースチップ201へのブルートゥース接続を確立する。
この場合、車両製造業者アプリ102は開始状態である。車両製造業者アプリ102の開始状態は、フォアグラウンド稼働状態と、バックグラウンド稼働状態とを含んでよい。
S302:車両製造業者アプリ102が、ウォレットアプリ106に登録情報を再送する。
登録情報の説明については、図6で説明される実施形態におけるステップS204の説明を参照されたい。
S303:ウォレットアプリ106が、登録情報が有効であるかどうかを検証し、登録情報が有効である場合、車両製造業者アプリ102の登録情報を記憶する。
本出願のこの実施形態では、アプリ102の登録情報の有効性検証が、有効期間を有することがあるので、車両製造業者アプリ102が、ブルートゥースチップ101を使用することによってプライマリブルートゥースチップ201へのブルートゥース接続を再確立したとき、ウォレットアプリ106は、アプリ102の登録情報を再検証してよい。ステップS302およびS303については、S202およびS203を参照されたい。ウォレットアプリ106に対応するウォレットサーバがもはや車両製造業者サーバ30を承認しなくなったとき、ウォレットサーバの、ローカルに記憶された承認された製造業者名リストは、車両製造業者サーバ30の名前をもはや含まない。このようにして、登録情報の有効性は、ブルートゥース接続が再確立されるときリアルタイムで検証され、それによって、セキュリティを改善する。
ウォレットアプリ106は、車両製造業者アプリ102の登録情報を記憶し、車両製造業者アプリ102の登録情報をブルートゥースエージェントモジュール105に送信してよい。
本出願のこの実施形態では、ステップS302およびS303において登録情報の有効性を検証するプロセスは、任意選択である。別の可能な実装では、ステップS304は、ステップS301の後で行われることがある。電子デバイス10は、登録プロセスにおいて記憶される車両製造業者アプリ102の登録情報に基づいて、車両製造業者アプリ102の有効性を検証することがある。
S304:車両製造業者アプリ102はシステムによってクリアされ、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続は切断される。
本出願のこの実施形態では、ブルートゥースチップ101とプライマリブルートゥースチップ201とのブルートゥース接続のライフサイクルは、車両製造業者アプリ102がシステムによってクリアされるとき、終了してよい。車両製造業者アプリ102がシステムによってクリアされるとき、ブルートゥースチップ101は、プライマリブルートゥースチップ201へのブルートゥース接続を切断してよい。
本出願のこの実施形態では、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続は、車両製造業者アプリ102がシステムによってクリアされるので切断されることに限定されず、ブルートゥース接続は、別の理由で切断されてよい。本出願のこの実施形態では、ブルートゥース接続が受動的に切断されるとすれば、ステップS305が行われてよい。「受動的な切断」は、ブルートゥース接続の距離延長によって引き起こされる不良な信号品質または別の理由によりブルートゥース接続が切断されることを意味する。ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続が受動的に切断される場合、「接続タイムアウト」エラーコードが受信される。たとえば、第1の電子デバイス10と車両ヘッドユニット20との間の距離延長(すなわち、過度に長い距離)により、2つのデバイスは互いと通信することはできない、すなわち、ブルートゥース接続は切断される。別の例では、障害物妨害または別の理由により、2つのデバイスは互いと通信することができない、すなわち、ブルートゥース接続は切断される。ブルートゥース受信信号強度インジケータRRSIが閾値よりも低い場合、2つのデバイスは互いと通信することができない、すなわち、ブルートゥース接続は切断される。ブルートゥースエージェントモジュール105が、ブルートゥース接続が受動的に切断されることを識別するとき、ブルートゥースエージェントモジュール105は、ステップS305を行う。
電子デバイス10は、ユーザ操作に応答して車両製造業者アプリ102を閉じ、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続は切断される。この場合、ブルートゥース接続はまた、受動的に切断される。たとえば、ユーザが、最近開いたアプリケーションインターフェイス内のクリアコントロールをタップしたとき、電子デバイス10は、バックグラウンドで稼働している車両製造業者アプリ102をクリアしてよく、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続は切断される。この場合、ブルートゥース接続はまた、受動的に切断される。ブルートゥースエージェントモジュール105が、ブルートゥース接続が受動的に切断されることを識別するとき、ブルートゥースエージェントモジュール105は、ステップS305を行う。
本出願のいくつかの他の実施形態では、ブルートゥース接続が、電子デバイス10と車両ヘッドユニット20との間の距離延長により切断されるとき、電子デバイス10上の車両製造業者アプリ102は、依然として開始状態であってよい。電子デバイス10のブルートゥースエージェントモジュール105は、車両製造業者アプリ102が現在開始状態であるかどうかを学習し得る。車両製造業者アプリ102が現在開始状態である場合、ブルートゥースチップ101は、プライマリブルートゥースチップ201への接続要求を始める、すなわち、ブルートゥースチップ101は、BLE接続シナリオにおいて始動状態である。車両製造業者アプリ102が閉鎖状態である(たとえば、車両製造業者アプリ102がバックグラウンドで稼働しているための時間が、指定された時間を超えるので、車両製造業者アプリ102がシステムによってクリアされる)とき、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニングを行うようにブルートゥースチップ101に通知してよい、すなわち、ブルートゥースエージェントモジュール105は、この場合、スキャニング状態である。
本出願のいくつかの他の実施形態では、車両ヘッドユニット20へのブルートゥース接続が切断され、車両製造業者アプリ102が依然として開始状態であるとき、ブルートゥースチップ101は、接続要求を別個に始め、異なるチャネル上でブルートゥーススキャニングを行ってよい。具体的には、ブルートゥースチップ101は、マルチチャネル接続をサポートしてよい。車両ヘッドユニット20へのブルートゥース接続が切断され、車両製造業者アプリ102が依然として開始状態であるとき、ブルートゥースチップ101の1つのチャネル(たとえば、チャネル1)は、プライマリブルートゥースチップ201に再接続するために始動状態であってよく、別のチャネル(たとえば、チャネル2)は、ブルートゥーススキャニングを行うためにスキャニング状態であってよい。ブルートゥースチップ101は、前述のチャネルのいずれか1つを通るプライマリブルートゥースチップ201へのブルートゥース接続を再確立してよい。任意選択で、プライマリブルートゥースチップ201へのブルートゥース接続がチャネル1を通じて確立されるとき、ブルートゥースチップ101は、チャネル2上での接続プロセスを停止してよい。プライマリブルートゥースチップ201へのブルートゥース接続がチャネル2を通じて確立されるとき、ブルートゥースチップ101は、チャネル1上での接続プロセスを停止してよい。このようにして、車両ヘッドユニットのプライマリブルートゥースチップは、2つのチャネルを通じて再接続され、それによって、再接続効率を改善する。
S305:ブルートゥースエージェントモジュール105が、ブルートゥース接続が切断されることを識別し、ブルートゥースチップ101に第1の通知を送信し、この第1の通知は、ブルートゥーススキャニングを開始するようにブルートゥースチップ101に示すために使用される。
第1の通知は、第1のMACアドレスを搬送する。ブルートゥーススキャニングを行い始めた後、ブルートゥースチップ101は、受信したブルートゥースアドバタイジング信号が第1のMACアドレスを搬送するかどうかを検出する。
本出願のこの実施形態は、一例として車両ヘッドユニット20のMACアドレスを使用することによって説明されるが、MACアドレスに限定されないことが理解され得る。車両搭載ブルートゥースチップ201によってアドバタイジングされるブルートゥースアドバタイジング信号は、車両を示す別のパラメータ、たとえば、VINまたはユニバーサル一意識別子(universally unique identifier,UUID)をさらに搬送してよい。この場合、車両製造業者アプリ102の登録情報は、登録プロセスにおいて車両のVINまたはUUIDを搬送する。車両を示すパラメータは、本出願のこの実施形態では限定されない。
S306:ブルートゥースチップ101が、ブルートゥーススキャニング機能がブルートゥースアドバタイジング信号をスキャンし始めることを可能にする。
S307:プライマリブルートゥースチップ201がブルートゥースアドバタイジング信号を送信し、このブルートゥースアドバタイジング信号は、車両ヘッドユニット20のMACアドレスを搬送する。
本出願の可能な一実装では、プライマリブルートゥースチップ201は、ブルートゥース接続が確立されたとき、ブルートゥースアドバタイジング信号をアドバタイジングするのを止め、ブルートゥース接続が切断されたとき、ブルートゥースアドバタイジング信号をアドバタイジングし始める。別の可能な実装では、ブルートゥース接続状態かまたはブルートゥース切断状態であるかにかかわらず、プライマリブルートゥースチップ201は、ブルートゥースアドバタイジング信号を連続的にアドバタイジングすることがある。
プライマリブルートゥースチップ201によって送信されるブルートゥースアドバタイジング信号は、本出願のこの実施形態では、第1のアドバタイジング信号である。第1のアドバタイジング信号は、第2の電子デバイス(たとえば、車両ヘッドユニット)のデバイス情報を搬送する。車両ヘッドユニットのデバイス情報は、車両ヘッドユニットのMACアドレス、VIN、UUIDなどを含む。
電子デバイス10が、電子デバイス10がスキャニングを通じてプライマリブルートゥースチップ201によって送信されたブルートゥースアドバタイジング信号を取得することができる区域に移動可能である場合、ステップS308が行われる。
S308:ブルートゥースチップ101が、記憶された第1のMACアドレスに基づいたスキャニングを通じて、プライマリブルートゥースチップ201によって送信されたブルートゥースアドバタイジング信号を取得する。
ブルートゥースチップ101は、スキャニングを通じて取得されるブルートゥースアドバタイジング信号内で搬送されるMACアドレスを取得し、このMACアドレスをローカルに記憶された第1のMACアドレスと比較し得る。ブルートゥースアドバタイジング信号内で搬送されるMACアドレスが、記憶された第1のMACアドレスと同じであるとき、ステップS309が行われる。
S309:ブルートゥースチップ101が、ブルートゥースエージェントモジュール105に第2の通知を送信し、この第2の通知は、スキャニングを通じて取得されたブルートゥースアドバタイジング信号が第1のMACアドレスを搬送することを通知するために使用する。
ステップS310の前、ブルートゥースエージェントモジュール105は、スリープ状態であってよい。受信したブルートゥースアドバタイジング信号内で搬送されるMACアドレスが、記憶された第1のMACアドレスと同じであることを決定するとき、ブルートゥースチップ101は、ステップS310を行うためにブルートゥースエージェントモジュール105をウェイクアップする。
S310:ブルートゥースエージェントモジュール105は、第1のMACアドレスに従ってウォレットアプリ106に第3の通知を送信し、この第3の通知は、車両製造業者アプリ102の登録情報が有効であるかどうかを検証するようにウォレットアプリ106に示すために使用される。登録情報が有効である場合、ステップS312が行われる。
本出願のこの実施形態では、ステップS311は、任意選択でスキップされてよい。具体的に言えば、第2の通知を受信するとき、ブルートゥースエージェントモジュール105は、ステップS312を行うようにウォレットアプリ106に通知する。本出願のこの実施形態では、それは、ウォレットアプリ106を使用することによって車両製造業者アプリ102を開始することに限定されず、車両製造業者アプリ102は、あるいは、ブルートゥースエージェントモジュール105を使用することによって開始されてよい。本出願のこの実施形態では、ウォレットアプリ106が閉鎖状態であるとき、ブルートゥースエージェントモジュール105は、ウォレットアプリ106を開始してよい。
本出願のこの実施形態では、車両製造業者アプリ102が有効でないことが検証されたとき、プロセスは終了し、ステップS311は行われない。
S311:ウォレットアプリ106が車両製造業者アプリ102を開始する。
S312:車両製造業者アプリ102がブルートゥースチップ101に第4の通知を送信し、この第4の通知は、プライマリブルートゥースチップ201への再接続を始めるようにブルートゥースチップ101に示すために使用される。
S313:ブルートゥースチップ101が、接続を再確立するために、プライマリブルートゥースチップ201に再接続する。
ブルートゥースチップ101は、プライマリブルートゥースチップ201に再接続する、すなわち、プライマリブルートゥースチップ201に再接続要求を送信する。再接続要求を受信した後、プライマリブルートゥースチップ201は、ブルートゥースチップ101がプライマリブルートゥースチップ201へのブルートゥース接続を再確立するように、ブルートゥースチップ101に応答データパケットを送信する。
BLE接続シナリオでは、ブルートゥースチップ101がブルートゥースアドバタイジング信号をスキャンし始めるとき、ブルートゥーススキャニングはBLEスキャニングであってよい。この場合、ブルートゥースチップ101は、スキャニング状態である。プライマリブルートゥースチップ201は、ブルートゥースアドバタイジング信号を送信し、プライマリブルートゥースチップ201は、アドバタイジング(advertising)状態であってよい。ブルートゥースチップ101がプライマリブルートゥースチップ201への再接続を始めるとき、ブルートゥースチップ101は、始動状態に入る。最後に、ブルートゥースチップ101が接続を再確立するためにプライマリブルートゥースチップ201に再接続するように、ブルートゥースチップ101は、始動状態から接続(connection)状態に入り、プライマリブルートゥースチップ201は、アドバタイジング状態から接続状態に入る。
BR/EDR接続シナリオでは、ブルートゥースチップ101とプライマリブルートゥースチップ202は、図7において説明される登録プロセスのステップS101においてペアリングを完了している。ブルートゥースチップ101が、ブルートゥーススキャニングを行い始めるとき、ブルートゥースチップ101は照会状態であり、ブルートゥーススキャニングは、BR/EDRスキャニングであってよい。プライマリブルートゥースチップ201は、ブルートゥースアドバタイジング信号を送信し、プライマリブルートゥースチップ201は、照会スキャン状態であってよい。ブルートゥース接続を回復させるために、ブルートゥースチップ101は、ブルートゥースを通じて接続されたプライマリブルートゥースチップ201への再接続を始める。たとえば、ブルートゥースチップ101は、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続を確立するために、プライマリブルートゥースチップ201をページング(page)することがある。
S314:ブルートゥースチップ101がプライマリブルートゥースチップ201への接続を確立するとき、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101に第5の通知を送信してよく、第5の通知は、ブルートゥーススキャニング機能を不可にする、すなわち、ブルートゥーススキャニングを停止するように、ブルートゥースチップ101に示すために使用される。
本出願のこの実施形態では、ブルートゥース接続がブルートゥースチップ101とプライマリブルートゥースチップ201との間で確立されるとき、ブルートゥースプロトコルスタックは、ブルートゥースエージェントモジュール105に通知を送信してよく、ブルートゥースエージェントモジュール105は、ステップS314を行ってよい。
ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続が再確立されたとき、ブルートゥースアドバタイジング信号は、もはやスキャンされる必要はなく、ブルートゥーススキャニング機能は不可にされ、それによって、電力消費量を減少させる。
S315:プライマリブルートゥースチップ201のRSSIが、指定された閾値よりも大きいとき、MCU203は、電子デバイス10と車両ヘッドユニット20との間の距離を測定するために距離測定ブルートゥースチップ204を開始する。
本出願のこの実施形態では、距離測定ブルートゥースチップ204はスリープ状態であることができ、MCU203は、プライマリブルートゥースチップ201のRSSIが、指定された閾値よりも大きく、正確な距離測定が電子デバイス10上で行われる必要があるときのみ、距離測定ブルートゥースチップ204をウェイクアップする。このようにして、電子デバイス10を搬送するユーザが車両に近く、車両の近くの指定された距離内にいるときのみ、MCU203は、電子デバイス10を搬送するユーザと車両との間の相対位置と、電子デバイス10を搬送するユーザと車両ヘッドユニットとの間の距離を決定するために、距離測定ブルートゥースチップ204を開始する。ユーザが車両のドアハンドルを引っ張るとき、MCU203は、電子デバイス10のユーザと車両との間の相対位置および電子デバイス10のユーザと車両ヘッドユニットとの間の距離に基づいて、暗号文チェックを行うことを決定し、それによって、車両をロック解除する。
距離測定ブルートゥースチップ204をウェイクアップするための時間は、本出願のこの実施形態では限定されない。距離測定ブルートゥースチップ204は、プライマリブルートゥースチップ201のRSSIが指定された閾値よりも大きいときのみウェイクアップされることに限定されない。たとえば、距離測定ブルートゥースチップ204は、あるいは、接続がプライマリブルートゥースチップ201とブルートゥースチップ101との間で確立されるときウェイクアップされてもまたよい。
S316:車両のドアハンドルが引っ張られ、電子デバイス10と車両ヘッドユニット20との間の距離が、指定された閾値よりも小さいとき、MCU203は、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続を通じてウォレットアプリ106に暗号文チェック命令を送信する。
S317:ウォレットアプリ106が、SE104内のアプレットから第1の暗号文を取得する。
電子デバイス10内の暗号文は、SE104内のアプレットに記憶されることに限定されず、あるいは、別のセキュアな記憶域内に記憶されてよい、たとえば、信頼される実行環境(trusted execution environment,TEE)アプリケーション(trusted execution environment application,TA)内に記憶されてよいことが理解され得る。この場合、ウォレットアプリ106は、TEEから第1の暗号文を取得し、第1の暗号文を車両ヘッドユニット20に送信してよい。
S318:ウォレットアプリ106が、車両製造業者アプリ102およびブルートゥースチップ101を使用することによって、MCU203に第1の暗号文を送信する。
ステップS318における伝送プロセスでは、第1の暗号文は、伝送のために暗号化されてよい。暗号化方法は、本出願のこの実施形態では限定されない。
S319:MCU203が、第1の暗号文を車両内SE202内の暗号文と比較する。
S320:暗号文比較が成功した場合、MCU203が車両をロック解除する。
図8Aおよび図8Bに図示される車両を意識されずにロック解除するプロセスでは、車両製造業者アプリ102がシステムによってクリアされる場合ですら、ユーザは依然として、電子デバイス10上で車両製造業者アプリを手動で開始する必要はない。スキャニングを通じて、車両ヘッドユニット20によって送信されたブルートゥースアドバタイジング信号を取得するとき、電子デバイス10は、車両を意識されずにロック解除するために、車両製造業者アプリ102が閉じられるとき、車両製造業者アプリを開始することができる。このことは、車両をロック解除する利便性を改善し、車両を意識されずにロック解除する体験をさらに改善する。
本出願のいくつかの実施形態では、ステップS305において第1の通知を配信するとき、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニング期間をさらに数えてよい。具体的には、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニング期間に基づいて、ブルートゥースチップ101がブルートゥーススキャニングを行う時間を数える。数えた時間がブルートゥーススキャニング期間を超過したとき、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニング機能を不可にする、すなわち、ブルートゥーススキャニングを停止するようにブルートゥースチップ101に通知し得る。ブルートゥーススキャニング期間は指定された期間であり、電子デバイス10が、指定された期間内のブルートゥースアドバタイジング信号をスキャンする。
任意選択で、ブルートゥーススキャニング期間は、ウォレットサーバによってブルートゥースエージェントモジュール105に配信されることがある。いくつかの他の実施形態では、ブルートゥーススキャニング期間の値範囲は、ウォレットサーバ上で、たとえば、7×24時間よりも小さいかまたはこれに等しく、設定されることがある。ブルートゥースエージェントモジュール105によって配信されるブルートゥーススキャニング期間は、ウォレットサーバ上で設定された値範囲を満たす必要がある。
本出願のこの実施形態では、ブルートゥーススキャニング期間は、電子デバイス10によって別のタイプに対するスキャニングに重なることがある、すなわち、電子デバイス10は、別のタイプのスキャニングを行うとき、ブルートゥースアドバタイジング信号をスキャンする。たとえば、画面がオフにされた後でHuawei shareをスキャンするための時間は、24時間であってよい。Huawei shareのスキャニング中、電子デバイスは、スキャニングを通じて取得されるブルートゥースアドバタイジング信号をさらに検出し、ブルートゥースアドバタイジング信号が第2の電子デバイスのデバイス情報を搬送するかどうかを検出し得る。
本出願のこの実施形態では、前述の(a)登録プロセスおよび(b)車両を意識されずにロック解除するプロセスにおいて、電子デバイス10のブルートゥーススイッチは、ブルートゥースチップ10が作業状態であるように、オン状態である。
(c)ブルートゥーススイッチを再度オンにするまたは電子デバイス10を再開するプロセス
本出願のいくつかの実施形態では、ブルートゥースチップ101がブルートゥーススキャニングを行うプロセスにおいて、ブルートゥーススイッチが再度オンにされる(すなわち、ブルートゥーススイッチがオフにされ、次いで再度オンにされる)または電子デバイス10が再開されるとき、ブルートゥースエージェントモジュール101は依然として、ブルートゥーススイッチがオフにされた時期および電子デバイス10の再開によりブルートゥースチップが作業を止める時期内のブルートゥーススキャニング期間を数える。具体的には、図9Aおよび図9Bを参照されたい。図9Aおよび図9Bは、本出願のこの実施形態によるブルートゥーススキャニング方法の概略フローチャートである。ブルートゥーススキャニング方法は、ステップS401~S408を含む。
S401:ブルートゥーススイッチがオフにされ、次いで再度オンにされる、または電子デバイス10が再開され、ブルートゥースチップ101が再開される。
S402:ブルートゥースチップ101が、ウォレットアプリ106に登録情報を要求する。
登録情報が、スキャンされる必要があるブルートゥースアドバタイジング信号(たとえば、第1のMACアドレスを搬送するブルートゥースアドバタイジング信号)と、残りのブルートゥーススキャニング期間とを含んでよい。ウォレットアプリ106はまた、ブルートゥーススキャニング期間を数え、ブルートゥーススイッチが再度オンにされるまたは電子デバイス10が再開されたとき、依然として、残りのブルートゥーススキャニング期間を記憶してよい。
S403:ウォレットアプリ106が、ブルートゥースエージェントモジュール105に車両製造業者アプリ106の登録情報を送信する。
S404:ブルートゥースエージェントモジュール105が、ブルートゥースチップ101に第1の通知を再送する。
S405:ブルートゥースエージェントモジュール105が、残りのブルートゥーススキャニング期間を数える。
S406:ブルートゥースチップ101が、ブルートゥーススキャニング機能がブルートゥースアドバタイジング信号をスキャンし始めることを可能にする。
S407:数えた時間が残りのブルートゥーススキャニング期間を超えたとき、ブルートゥースエージェントモジュール105が、ブルートゥースチップ101に第6の通知を送信し、第6の通知は、ブルートゥーススキャニング機能を不可にするように示す。
本出願のこの実施形態では、ブルートゥースチップ101のスキャニング時間は、ブルートゥースエージェントモジュール105によって数えられることに限定されず、あるいは、ブルートゥースチップ101によって数えられてよい。数えた時間がブルートゥーススキャニング期間を超えるとき、ブルートゥースチップ101は、ブルートゥーススキャニングを行うのを止めてよい。ウォレットアプリ106またはブルートゥースエージェントモジュール105は、残りのブルートゥーススキャニング期間を記憶してもまたよい。現在、ブルートゥースチップ101が再開されたとき、ブルートゥースチップ101は依然として、残りのブルートゥーススキャニング期間を記憶する、またはウォレットアプリ106およびブルートゥースエージェントモジュール105から残りのブルートゥーススキャニング期間を取得して、残りのブルートゥーススキャニング期間に基づいてブルートゥーススキャニングを行ってよい。
S408:ブルートゥースチップ101が、ブルートゥーススキャニング機能を不可にする、すなわち、ブルートゥーススキャニングを止める。
本出願のこの実施形態では、ステップS409~S417の具体的な説明については、図8Bで説明される例におけるステップS309~S314を参照されたい。数えた時間が残りのブルートゥーススキャニング期間を超えないとき、第1のMACアドレスを含むブルートゥースアドバタイジング信号がスキャニングを通じて取得される場合、ブルートゥースチップ101は、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続を確立するために車両製造業者アプリ102を開始するように、ブルートゥースエージェントモジュール105に通知する。ブルートゥース接続が確立された後、ブルートゥースチップ101は、ブルートゥーススキャニングを止める。
説明は、一例として図9Aおよび図9Bにおいて説明されるブルートゥーススキャニング方法を使用することによって、提供される。ブルートゥースエージェントモジュール105内のブルートゥーススキャニングの数えた時間は、24時間である。第1日目の北京時間午前8時、ブルートゥースエージェントモジュール105が、ブルートゥーススキャニングを開始し、計数を開始するように、第1の通知を配信する。ブルートゥースエージェントモジュール105は、第2日目の午前8時より前にブルートゥースチップ101が依然として車両ヘッドユニット20へのブルートゥース接続を確立しない場合、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニング機能を不可にすることを決定する。第1日目の北京時間午前8時から第2日目の北京時間午前8時まで、ブルートゥーススイッチは再度オンにされるまたは電子デバイス10が再開され、ブルートゥースエージェントモジュール105は依然として、第2日目の北京時間午前8時に、ブルートゥーススキャニング機能を不可にする。車両製造業者アプリ102が、第1日目の北京時間午前8時から第2日目の北京時間午前8時までに、車両ヘッドユニット20に再接続された場合、ブルートゥースチップ101は、ブルートゥーススキャニングを止める。現在のブルートゥーススキャニング期間を数えることも終了する。
本出願のこの実施形態では、電子デバイス10によってブルートゥーススキャニングを行うための時間が限られ、電子デバイスが、スキャニングを通じて、第1のMACアドレスを搬送するブルートゥースアドバタイジング信号を取得しないとき、電子デバイス10はスキャンし続けない。このことは、ブルートゥーススキャニングの電力消費量を減少させる。
本出願のこの実施形態では、ブルートゥースチップ101がブルートゥーススキャニング機能を不可にした後、ユーザは、電子デバイス10が車両ヘッドユニット20へのブルートゥース接続を通じて暗号文検証を行い、それによって、車両ドアをロック解除するように、最も左の画面上のロック解除のために使用されるコントロール、車両製造業者アプリ102のユーザインターフェイス、およびウォレットアプリ106のユーザインターフェイスにタッチしてよい。さらに、ロック解除のために使用されるコントロール上で行われるユーザ操作に応答して、電子デバイス10は、ブルートゥーススキャニング機能を再度可能にしてよい。
本出願のいくつかの実施形態では、電子デバイス10と車両ヘッドユニット20との間のブルートゥース接続が、ユーザ操作に応答して切断されることがある。すなわち、ブルートゥース接続は、能動的に切断される。能動的な切断は、前述の受動的な切断に対するものである。具体的には、図7において説明される登録が完了した後、電子デバイス10は、最も左の画面、車両製造業者アプリ102のユーザインターフェイス、およびウォレットアプリ106のユーザインターフェイスの上に、切断のために使用されるコントロールを表示することがある。最も左の画面、車両製造業者アプリ102のユーザインターフェイス、およびウォレットアプリ106のユーザインターフェイスは、第1のユーザインターフェイスであり、切断のために使用されるコントロールは、第1のコントロールである。コントロール上で行われるユーザ操作に応答して、電子デバイス10のブルートゥースチップ101は、プライマリブルートゥースチップ201へのブルートゥース接続を切断してよい。電子デバイス10のプロセッサはブルートゥースエージェントモジュール105に通知してよく、この通知は、切断がユーザによって能動的にトリガされることを示す。通知を受信した後、ブルートゥースエージェントモジュール105はもはや、スキャニングを行うようにブルートゥースチップ101に通知しなくてよく、ブルートゥースチップ101はもはや、プライマリブルートゥースチップ201に接続要求を送信しない。電子デバイス10がブルートゥース接続を能動的に切断するとき、電子デバイス10は、「ローカルホストにより接続が終了された」などのエラーコード(error code)を受信し、車両ヘッドユニット20は、「リモートユーザが接続を終了した」などのエラーコードを受信する。
このようにして、ユーザ操作が、電子デバイス10と車両ヘッドユニット20とのブルートゥース接続の切断をトリガするとき、電子デバイス10は、ブルートゥースアドバタイジング信号をスキャンするのをスキップし、それによって、利便性を改善する。
本出願の実施形態におけるユーザインターフェイスは、以下で説明される。
図10は、本出願のこの実施形態によるユーザインターフェイスの概略図である。図10に示されるように、ユーザインターフェイス10は、最も左の画面である。車両製造業者アプリ102の登録がステップS101~S104を通じて完了し、ロック解除のために使用される暗号文が電子デバイス10および車両ヘッドユニット20に配信された後、電子デバイス10は、最も左の画面上に、車両をロック解除するために使用されるコントロールを表示してよい。図10に示されるように、最も左の画面10は、複数の機能コントロール、たとえば、決済コードコントロールと、スキャンコントロールと、タクシーコントロールと、車両ドアロック解除コントロール1011と、より多くのコントロールとを含む。最も左の画面10は、AIヒント情報、たとえば、配信サービス情報をさらに含んでよい。最も左の画面10は、ニュース情報などをさらに含んでよい。
車両ドアロック解除コントロール1011は、車両をロック解除するために使用される。具体的には、電子デバイス10を搬送するユーザが車両の近くに移動するとき、ユーザは、車両ドアをロック解除することをトリガするために車両ドアロック解除コントロール1011にタッチすることがある。車両ドアロック解除コントロール1011上で行われるユーザ操作に応答して、電子デバイス10が、ブルートゥーススキャニング機能を可能にしてよい。車両製造業者アプリ102が閉じられているとき、電子デバイス10は、車両製造業者アプリ102を開始してよい。電子デバイス10は、スキャニングを通じて、車両ヘッドユニット20から取得されるブルートゥースアドバタイジング信号に基づいて電子デバイス10と車両ヘッドユニット20との間のブルートゥース接続を確立し、ブルートゥース接続を通じて暗号文チェックを完了してよい。
本出願のこの実施形態では、車両製造業者アプリ102が閉じられている、たとえば、システムによってクリアされるとき、電子デバイス10の最近開いたアプリケーションインターフェイスは、車両製造業者アプリ102のユーザインターフェイスを含まない。スキャニングを通じて、車両ヘッドユニット20によって送信されたブルートゥースアドバタイジング信号を取得するとき、電子デバイス10は、車両製造業者アプリ102が閉じられているとき、車両製造業者アプリ102を開始してよく、電子デバイス10の最近開いたアプリケーションインターフェイスは、車両製造業者アプリ102のユーザインターフェイスを含む。図11Aおよび図11Bは、本出願のこの実施形態によるいくつかのユーザインターフェイスの概略図である。図11Aに示されるように、車両製造業者アプリ102がシステムによってクリアされるとき、最近開いたアプリケーションインターフェイス20は、車両製造業者アプリ102のユーザインターフェイスを含まない。最近開いたアプリケーションインターフェイス20は、電子デバイス10のフォアグラウンドで最近稼働しているアプリケーションのインターフェイスを含んでよい。たとえば、図11Aに示されるように、最近開いたアプリケーションインターフェイス20は、カメラアプリケーションのユーザインターフェイスを含んでよい。さらに、最近開いたアプリケーションインターフェイス20内でタッチスライド操作が行われることに応答して、電子デバイス10は、最近開いたアプリケーションインターフェイス20内により多くのアプリケーションのユーザインターフェイスを表示してよい。
スキャニングを通じて、車両ヘッドユニット20によって送信されたブルートゥースアドバタイジング信号を取得するとき、電子デバイス10は、車両製造業者アプリ102が閉じられているとき、車両製造業者アプリ102を開始してよい。車両製造業者アプリ102が開始された後、図11Bに示されるように、電子デバイス10の最近開いたアプリケーションインターフェイスは、車両製造業者アプリ102のユーザインターフェイス2011を含んでよい。
図11Bに示されるように、車両製造業者アプリ102のユーザインターフェイス2011は、車両を制御するための複数のコントロールを含んでよい。たとえば、ユーザインターフェイス2011は、車両ドアをロック解除するためのコントロール、車両ドアをロックするためのコントロール、エアコンを可能にするためのコントロール、エアコンを不可にするためのコントロールなどを含む。ユーザインターフェイス2011は、車両状態を視聴するための複数のコントロールをさらに含んでよい。たとえば、ユーザインターフェイス2011は、車両ドア状態を視聴するためのコントロール、タイヤ圧力状態を視聴するためのコントロールなどを含む。車両ヘッドユニットへのブルートゥース接続が確立されていないとき、車両製造業者アプリ102のユーザインターフェイス2011は、車両ヘッドユニット20に接続するためのコントロールをさらに含んでよく、「接続は現在確立されていません。接続するにはタップしてください」を示すメッセージがある。車両ヘッドユニットへのブルートゥース接続が確立されているとき、車両製造業者アプリ102のユーザインターフェイス2011は、車両ヘッドユニット接合部へのブルートゥース接続を切断するためのコントロールをさらに含んでよく、「接続は現在確立されています。切断するにはタップしてください」を示すメッセージがある。車両ヘッドユニットへのブルートゥース接続を切断するためのコントロールは、第1のコントロールである。第1のコントロール上で行われるユーザ操作に応答して、電子デバイス10は、第2の電子デバイスへのブルートゥース接続を切断し、ブルートゥースアドバタイジング信号をスキャンするのをスキップしてよい。
いくつかの可能な実装では、電子デバイス10の設定インターフェイスは、ブルートゥースエージェントモジュールの設定エントリを含んでよい。図12Aに示されるように、設定インターフェイス200は、ブルートゥースエージェントモジュールの設定エントリ201を含む。ブルートゥースエージェントモジュールの設定エントリ201上でユーザによって行われるユーザ操作、たとえば、タッピング操作に応答して、電子デバイス10は、ブルートゥースエージェントモジュール設定インターフェイス300を表示する。図12Bに示されるように、ブルートゥースエージェントモジュール設定インターフェイス300は、ブルートゥースエージェントモジュールスイッチ301と、スイッチインジケーション302と、登録されたアプリケーションのリスト303とを含む。
ブルートゥースエージェントモジュールスイッチ301上でユーザによって行われるタッピング操作に応答して、登録プロセスにおいてウォレットアプリケーションが登録情報を検証するプロセスがトリガされる、すなわち、ステップS202~S204が行われる。
スイッチインジケーション302は、ブルートゥースエージェントモジュールスイッチ301の機能を示してよい。スイッチがオンにされた後、ブルートゥースエージェントモジュールは、アプリケーションが無感決済、車両を意識されずにロック解除することなどを実施するように、インストールされたアプリケーションの識別を検証することが可能にされる。
登録されたアプリケーションのリスト303は、ステップS201~S204を通じて電子デバイス10に登録されたアプリケーションの識別子を含んでよい。たとえば、登録されたアプリケーションのリスト303は、Alipay識別子3031と、ブルートゥース車両鍵識別子3032とを含む。任意選択で、登録されたアプリケーションのリスト303内のアプリケーション識別子は、表示のためのアプリケーションカテゴリに基づいて分類されてよい、たとえば、決済アプリケーションおよび別のアプリケーションとして分類されてよい。
本出願のこの実施形態では、ウォレットアプリ106の機能は、ブルートゥースエージェントモジュール105によって実施されてよい。すなわち、ブルートゥースシステムはもはやウォレットアプリ106を含まなくてよく、ブルートゥースエージェントモジュール105が、ウォレットアプリ106の機能を実施する。図13は、本出願のこの実施形態によるブルートゥースシステムの構造の概略図である。
車両製造業者アプリ102の登録情報が有効であるかどうかを検証することは、ウォレットサーバから、証明書、署名情報などに基づいて、ブルートゥースエージェントモジュール105によって行われてよい。具体的には、車両を意識されずにロック解除するプロセスでは、図8Bに図示される例のステップS310におけるブルートゥースエージェントモジュール105は、第3の通知を送信する必要がないことがあるが、第1のMACアドレスに基づいて、車両製造業者アプリ102の登録情報が有効であるかどうかを検証する。さらに、ブルートゥースエージェントモジュール105は、ステップS311において車両製造業者アプリ102を開始し得る。類似の場合が、登録プロセスにある。車両製造業者アプリ102は、登録情報をブルートゥースエージェントモジュール105に送信し、ブルートゥースエージェントモジュール105は、登録情報が有効であるかどうかを検証する。
図13に図示されるシステムアーキテクチャでは、車両製造業者アプリ102は、SE104への接続を確立し得る。ロック解除のために使用される暗号文をチェックするプロセスでは、車両製造業者アプリ102は、SEから第1の暗号文を抽出し、第1の暗号文を、ブルートゥースチップ101とプライマリブルートゥースチップ201との間のブルートゥース接続を通じて車両ヘッドユニット20のMCU203に送信し得る。ブルートゥースエージェントモジュール105は、証明書、署名情報などを取得するために、ウォレットサーバと通信し得る。ブルートゥースエージェントモジュール105は、証明書、署名情報などに基づいて、車両製造業者アプリ102が有効であるかどうかを検証するように構成される。
本出願のこの実施形態における車両製造業者アプリ102、SE104、車両製造業者サーバ30、およびブルートゥースチップ101の説明については、図6の説明および図7~図9Bで説明される例を参照されたい。詳細は、本明細書では再度説明されない。
本出願のこの実施形態は、車両を意識されずにロック解除する機能に適用されることに限定されず、別のシナリオに適用されてよい。たとえば、アプリケーションは、無感決済シナリオにおける決済アプリケーションであってよい。決済端末(たとえば、車両ヘッドユニット20に類似した決済デバイス)への接続が切断されるとき、電子デバイス10上の決済アプリケーションがシステムによってクリアされる場合、電子デバイス10は、ブルートゥーススキャニング機能を可能にしてよい。決済デバイスに近いとき、電子デバイス10は、スキャニングを通じて、決済端末によって送信されたブルートゥースアドバタイジング信号を取得し得る。電子デバイス10は、決済アプリケーションがシステムによってクリアされるとき、決済アプリケーションを開始し得る。電子デバイス10上の決済アプリケーションは、その後の決済プロセスを完了するために、決済デバイスに関係するサービス情報を対応するサーバに送信し得る。これは、無感決済を実施する。無感決済シナリオに関する詳細については、以下の説明を参照されたい。
別の例では、アプリケーションは、あるいは、重量データが電子デバイス10に自動的にアップロードされるシナリオにおける重量計アプリケーションであってよい。重量計(たとえば、車両ヘッドユニット20に類似した)への接続が切断されるとき、電子デバイス10上の重量計アプリケーションがシステムによってクリアされる場合、電子デバイス10は、ブルートゥーススキャニング機能を可能にしてよい。重量計は、ブルートゥースアドバタイジング信号をアドバタイジングすることができる。重量計に近いとき、電子デバイス10は、スキャニングを通じて、重量計によって送信されたブルートゥースアドバタイジング信号を取得し得る。電子デバイス10は、重量計アプリケーションが閉じられているとき重量計アプリケーションを開始し、重量計に再接続してよい。重量計は、ブルートゥース接続を通じて重量計アプリケーションに重量データを送ることができる。このようにして、重量データは、電子デバイス10に意識されずにアップロードされる。重量データが意識されずにアップロードされるシナリオに関する詳細については、以下の説明を参照されたい。
本出願のこの実施形態は、前述のシナリオ例に適用されることに限定されず、ドアロックをロック解除することおよびスマートバンドのデータを電子デバイス20に同期させることなどのシナリオに適用されてよい。特定のアプリケーションシナリオは、本出願のこの実施形態では限定されない。
以下は、本出願の実施形態における無感決済シナリオについて説明する。図14は、本出願の一実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図14に示されるように、ブルートゥースシステムは、電子デバイス10と、ブルートゥースデバイス30(たとえば、決済デバイス30)と、サーバ40とを含む。
電子デバイス10は、サーバ40への通信接続を確立してよく、決済デバイス30も、サーバ40への通信接続を確立してよい。決済デバイス30は、ブルートゥースアドバタイジング信号をアドバタイジングし得る。電子デバイス10を搬送するユーザが決済デバイス30に近いとき、電子デバイス10は、ブルートゥースアドバタイジング信号を受信し得る。決済デバイス30に対応するアプリが電子デバイス10上にインストールされてよい。たとえば、アプリがWeChatである場合、サーバ40はWeChatサーバである。決済が必要とされる場合、ユーザは決済デバイス30と向き合い、決済デバイス30は、顔画像を収集し、顔画像をサーバ40にアップロードする。サーバ40は、ユーザの顔検証を完了し、決済サービスプロセスを自動的に完了し得る。前述の顔による決済プロセスでは、無感決済は、ユーザが電子デバイス10上でアプリを手動で操作することなく実施され得る。
以下は、電子デバイス10および決済デバイス30の構造に関して図14に図示されるシナリオにおける無感決済プロセスについて説明する。図15は、本出願のこの実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図15に示されるように、電子デバイス10は、ブルートゥースチップ101と、アプリ102とを含む。ブルートゥースチップ101は、アプリ102に接続される。決済デバイス30は、ブルートゥースアドバタイジング信号を連続的にアドバタイジングし得る。
図16は、本出願のこの実施形態によるサービストランザクション方法の概略フローチャートである。図16に示されるように、図14および図15において説明されるシステムアーキテクチャに基づいて、サービストランザクション方法は、ステップS501~S508を含む。
S501:決済デバイス30が、ブルートゥースアドバタイジング信号をアドバタイジングする。
ブルートゥースアドバタイジング信号は、デバイス識別情報およびデバイス識別子情報(たとえば、UUID)を搬送する。たとえば、デバイス識別情報は、デバイスIDを含んでよい。デバイスIDは、決済デバイス30を一意に識別し得る。UUIDは、アプリ102とサーバ40を接続することができる決済デバイスを識別し得る。たとえば、Alipayアプリケーションの場合、AlipayアプリケーションとAlipayサーバを接続することができる決済デバイスは同じUUIDを有し、UUIDは、ブルートゥースチップ101内に記憶されてよい。あるいは、AlipayアプリケーションをAlipayサーバに接続することができる決済デバイスのUUIDは、いくつかのUUIDのうちの1つである。いくつかのUUIDは、ブルートゥースチップ101内に記憶されてよい。
S502:ブルートゥースチップ101が、決済デバイス30からブルートゥースアドバタイジング信号を受信し、ブルートゥースアドバタイジング信号の発信元であるデバイス(決済デバイス30)が電子デバイス10に登録されているかどうかを検出する。
ブルートゥーススキャニング(具体的に言えば、ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されているかどうかを検出すること)については、図2で説明される例の具体的な説明を参照されたい。詳細は、本明細書では再度説明されない。ブルートゥースチップ101は、BLE接続をサポートしてよく、BR/EDR接続もサポートしてよい。ブルートゥースチップ101は、電子デバイス10上のブルートゥーススキャニングスイッチがオンにされるときのみ、ステップS502を行うことができる。
S503:電子デバイス10のアプリケーションプロセッサが、ブルートゥースチップ101を監視し、ブルートゥースアドバタイジング信号の発信元であるデバイス(決済デバイス30)が電子デバイス10に登録されていることを検出したとき、アプリ102を稼働させる。
ブルートゥースアドバタイジング信号の発信元であるデバイスが登録されていることを検出した後、アプリケーションプロセッサは、アプリ102が稼働されているかどうかを検出し得る。アプリ102が稼働されていない場合、ステップS504が、アプリ102を稼働させるために行われる。Android8.0よりも後のリリースをもつシステムの場合、電子デバイス10のAPは、ステップS503を通じてアプリ102を自動的に稼働させ得る。
S504:アプリ102が、デバイス識別情報およびアカウントIDを搬送するメッセージをサーバ40に送信する。
アプリは、デバイスIDおよびアカウントIDを搬送するメッセージをサーバ40に送信し得る。デバイスIDは、ブルートゥースチップ101によってブルートゥースアドバタイジング信号から取得され、アプリ102に送信されてよい。サーバ40は、決済デバイス30からブルートゥースアドバタイジング信号を受信することができる1つまたは複数のアカウントIDを取得し得る。たとえば、現在、決済デバイス30の近くに10個の電子デバイスがあり、Alipayアプリケーションは、10個の電子デバイスの各々の上にインストールされ、無感決済サービスが可能にされる。10個の電子デバイス上のAlipayアプリケーションの各々は、AlipayアカウントID(たとえば、Alipayアカウント)を有する。10個の電子デバイスの各々に対して、外部ブルートゥースデバイス51からのサービス情報(たとえば、デバイス識別情報)は、ステップS501~S504を通じてアプリ102に送られてよく、アプリ102は、サービス情報をサーバ40に送る。サーバ40は、10個の電子デバイスの各々の上でAlipayアカウントIDを取得してよい。ステップS505~S508では、どのAlipayアカウントIDがトランザクションプロセスを実行するべきかを決定するために顔比較が行われる。
S505:決済デバイス30が顔画像を収集する。
S506:決済デバイス30が、収集した顔画像およびデバイスIDをサーバ40に送信する。
デバイスIDは、決済デバイス30と1対1の対応をとる。
S507:サーバ40が、受信した顔画像およびデバイスIDに基づく認識を通じて、アカウントIDを取得する。
顔画像およびデバイスIDを受信した後、サーバ40は、デバイスIDに基づいて、アップロードされたサービス情報(たとえば、デバイス識別情報)のアカウントIDを決定し得る。たとえば、前述の例では、サーバ40は、決済デバイス30を通じてサーバ40にサービス情報(たとえば、デバイス識別情報)をアップロードするために、デバイスIDに基づいて10個のAlipayアカウントIDを決定し得る。サーバ40は、10個のAlipayアカウントIDの各々に対応する顔画像を取得し得る。次いで、決済デバイス30から受信された顔画像は、受信された顔画像に対応するAlipayアカウントIDを取得するために、10個の顔画像と比較される。
サーバ40は、アカウントIDおよび対応する顔画像を記憶してよく、顔画像は、ユーザによってあらかじめ記憶されてよい。アカウントに対応する顔画像は、あるいは、別のデバイス(たとえば、電子デバイス10)からサーバ40によって取得されることがある。これは、本出願のこの実施形態では限定されない。
S508:サーバ40が、アカウントIDに基づいてサービストランザクションを完了する。
サーバ40は、サービストランザクションを完了するために、ステップS507において取得されたアカウントIDを推論アカウントとして使用してよい。
無感決済の前述のプロセスでは、ステップS502において、電子デバイス10のアプリケーションプロセッサは、ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されているかどうかを監視するために、ブルートゥーススキャニングプロセスにおいて常に作業状態である必要がある。このことは、電子デバイス10の電力消費量およびメモリ使用量を増加させる。さらに、ブルートゥーススキャニングを可能にするために使用される、電子デバイス10のブルートゥーススキャニングスイッチは、デフォルトでオフにされる。その結果、ブルートゥーススキャニングが影響され、決済プロセスの利便性が減少される。
本出願の一実施形態は、サービス実行プロセスの利便性を改善し、電子デバイス10の電力消費量およびメモリ使用量を減少させるために、サービス実行方法を提供する。サービス実行は、無感車両ロック解除サービスと、無感決済サービスとを含んでよい。サービス実行方法における電子デバイス10は、ブルートゥースエージェントモジュールを含む。図17は、本出願のこの実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図17に示されるように、ブルートゥースシステムは、電子デバイス10と、ブルートゥースデバイス50(たとえば、車両、または決済デバイス)と、サーバ40とを含む。ブルートゥースデバイス50は、たとえば、ブルートゥースデバイス51と、ブルートゥースデバイス52とを含む。
無感決済サービスに関係するモジュールは、ブルートゥースデバイス51、ブルートゥースチップ101、ブルートゥースエージェントモジュール105、アプリ1021、およびサーバ40を含む。車両が意識されずにロック解除されるサービスに関与されるモジュールは、ブルートゥースデバイス52、ブルートゥースチップ101、ブルートゥースエージェントモジュール105、アプリ1022、OMA API103、およびSE104を含む。
図17に示されるように、電子デバイス10は、ブルートゥースチップ101と、アプリ102と、OMA API103と、SE104と、ブルートゥースエージェントモジュール105と、TEE106と、アプリ1021と、アプリ1022とを含む。アプリ1021とアプリ1022は、異なるサービスアプリケーションであってよい(たとえば、一方は決済アプリケーションであり、他方は、車両20と関連づけられたアプリケーションである)。アプリ1021およびアプリ1022の各々は、ブルートゥースデバイスに対応する。たとえば、アプリ1021はブルートゥースデバイス51に対応し、アプリ1022はブルートゥースデバイス52に対応する。
本出願のこの実施形態では、インストール中に権限検証が行われるアプリケーションとサービス実行プロセスに参加するアプリケーションは、同じアプリであってもよいし、異なるアプリであってもよい。アプリが異なる場合、サービス実行プロセスに参加するアプリは、サーバ40およびブルートゥースエージェントモジュールに接続される。
アプリ1021に対応する複数のブルートゥースデバイスがあってよい。ブルートゥースデバイスのデバイス識別子情報は、ブルートゥースエージェントモジュール105およびブルートゥースチップ101内に記憶され、ブルートゥースデバイスは、電子デバイス10上の1つのアプリに対応する。アプリ1022に対応する複数のブルートゥースデバイスもあってよい。たとえば、Alipayアプリケーションは複数の決済デバイスに対応してよく、サービス実行プロセスは、複数の決済デバイス上で完了されてよい。
説明は、本出願のこの実施形態では、アプリ1021が決済アプリケーションであり、ブルートゥースデバイス51がアプリ1021に対応する決済デバイスであり、アプリ1022が車両アプリケーション(すなわち、車両製造業者アプリ)であり、ブルートゥースデバイス52がアプリ1022に対応する車両である例を使用することによって、提供される。
ブルートゥースエージェントモジュール105は、アプリ1022に接続される。ブルートゥースエージェントモジュール105はTEE106にさらに接続され、ブルートゥースエージェントモジュール105は、OMA API103を通じてSE104にさらに接続される。
車両ロック解除シナリオでは、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101が、ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていることを検出したとき、開始される。ブルートゥースエージェントモジュール105は、外部ブルートゥースデバイスへのチャネルを確立してよく、ブルートゥースエージェントモジュール105は、SE104内のサービス情報(たとえば、暗号文)が外部ブルートゥースデバイス(たとえば、車両)に送られ得るように、SE104に接続される。ブルートゥースエージェントモジュール105は、TEE106内のサービス情報(たとえば、暗号文)も外部ブルートゥースデバイス(たとえば、車両)に送られ得るように、TEE106にさらに接続される。
決済シナリオでは、ブルートゥースチップ101はブルートゥースエージェントモジュール105に接続され、ブルートゥースエージェントモジュール105はアプリ1021に接続され、アプリ1021は、サーバ40への通信接続を確立する。ブルートゥースデバイス51は、サーバ40への通信接続を確立する。このサービス方法では、ブルートゥースチップ101が、スキャニングを通じてデバイス識別子内の第1のデバイス識別子を取得するとき、ブルートゥースチップ101は、ブルートゥースエージェントモジュール105に通知する。ブルートゥースエージェントモジュール105は、アプリ1021をウェイクアップしてよく、外部ブルートゥースデバイス51からのサービス情報(たとえば、ブルートゥースデバイス51のデバイスID)は、アプリ1021に送られてよい。アプリ1021は、外部ブルートゥースデバイス51からのサービス情報(たとえば、ブルートゥースデバイス51のデバイスID)がサーバ40に送られるように、サーバ40への通信接続を確立する。サーバ40は、アプリ1021から送られたサービス情報およびブルートゥースデバイス51から収集されたユーザ情報(たとえば顔画像)に基づいて、サービスを完了してよい。ブルートゥースチップ101内に記憶されるデバイス識別子は、検証が成功するアプリケーションに対応するデバイス識別子である。言い換えれば、電子デバイス10上の、第1のデバイス識別子に対応する、アプリケーションに対する検証が成功する。
ブルートゥースエージェントモジュール105は、ブルートゥースチップ101がスキャニングを通じてデバイス識別子内の第1のデバイス識別子を取得するときのみ、開始される。ブルートゥースエージェントモジュール105と電子デバイス10のアプリケーションプロセッサは、常に作業状態である必要はなく、このことは、電子デバイス10の電力消費量およびメモリ使用量を減少させる。
本出願のこの実施形態では、ブルートゥースエージェントモジュールはアプリを稼働されてよく、ユーザは、アプリを手動で稼働させる必要がない。このようにして、実行プロセスは、ユーザに意識されず、サービス実行プロセスの利便性が改善される。
本出願のこの実施形態では、ブルートゥースエージェントモジュール105は、アプリ1021を稼働させてよいが、アプリ1021は、電子デバイス10上で常に稼働される必要はなく、アプリ1021は、アプリケーションプロセッサによって稼働が止められてよい。このことは、電子デバイス10の電力消費量およびメモリ使用量をさらに減少させる。
本出願のこの実施形態では、ブルートゥースエージェントモジュール105はさらに、ブルートゥース関係サービス実行プロセスにブルートゥーススキャニング管理プラットフォームを提供する。
ブルートゥースエージェントモジュール105は、SE104に接続されてよく、アプリ1022を稼働させることなくブルートゥースチップ101とブルートゥースデバイス60との間のブルートゥースチャネルを直接的に確立する。このことは、電子デバイス10の電力消費量およびメモリ使用量をさらに減少させる。
任意選択で、アプリ1022は、TEE106に接続されてよい。ブルートゥースエージェントモジュール105は、アプリ1022をウェイクアップし得る。アプリ1022は、TEE106からサービス情報(たとえば、暗号文)を取得し、サービス情報をブルートゥースエージェントモジュール105に送ってよい。ブルートゥースエージェントモジュール105は、外部ブルートゥースデバイスへのチャネルを確立し、外部ブルートゥースデバイス(たとえば、車両)にサービス情報を送信する。外部ブルートゥースデバイスは、サービス情報に基づいて、対応するサービスを実行してよく、たとえば、車両をロック解除してよい。
任意選択で、アプリ1022は、OMA APIを通じてSE104に接続されることがある。ブルートゥースエージェントモジュール105は、アプリ1022をウェイクアップしてよく、アプリ1022は、SE104からサービス情報(たとえば、暗号文)を取得し、サービス情報をブルートゥースエージェントモジュール105に送ってよい。ブルートゥースエージェントモジュール105は、外部ブルートゥースデバイス(たとえば、車両)へのチャネルを確立し、外部ブルートゥースデバイス(たとえば、車両)にサービス情報を送信する。外部ブルートゥースデバイスは、サービス情報に基づいて、対応するサービスを実行してよく、たとえば、車両をロック解除してよい。
説明が、サービス実行プロセスが無感の顔による決済プロセスである例を使用することによって、以下で提供される。ブルートゥースデバイス50は、決済デバイス30であってよい。本出願のこの実施形態では、無感の顔による決済のシナリオは、説明のために一例として使用され、あるいは、別のサービスシナリオが使用されてよいことが理解され得る。これは、本出願のこの実施形態では限定されない。
図18は、本出願の一実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図18に示されるように、ブルートゥースシステムは、電子デバイス10と、ブルートゥースデバイス50(たとえば、決済デバイス30)と、サーバ40とを含む。図18に示されるように、電子デバイス10は、ブルートゥースチップ101と、ブルートゥースエージェントモジュール105と、アプリ102とを含む。ブルートゥースチップ101は、ブルートゥースエージェントモジュール105への接続を確立し、ブルートゥースエージェントモジュール105は、アプリ102への接続を確立する。
無感の顔による決済が、システムアーキテクチャを使用することによって行われる前に、ユーザは、電子デバイス10上にアプリ102をインストールし、電子デバイス10は登録プロセスを完了する。以下のプロセスが、別個に説明される。(a)登録プロセス、(b)トランザクションプロセス、および(c)登録解除プロセス。
(a)登録プロセス
登録プロセスは、図18に図示されるシステムアーキテクチャおよび図19に図示されるプロセスに関して以下で説明される。図19は、本出願のこの実施形態によるアプリ102の登録プロセスの概略フローチャートである。アプリ102の登録プロセスは、ステップS201~S206を含む。
S601:アプリ102が電子デバイス10上にインストールされるとき、アプリ102は、ブルートゥースエージェントモジュール105に第1の登録情報を送信する。
第1の登録情報は、以下のうちの1つまたは複数を含んでよい。
(1)APP_ID:登録が行われるアプリ102の識別子(identification,識別、ID)。
(2)APP_AWAKE_ID:ブルートゥースチップ101がスキャニングを通じて第1のデバイス識別子情報を取得した後でアプリ102をウェイクアップするために使用されるID。
(3)CORRESPONDENT_ID:サービス情報伝送中のコミュニケータのID。
たとえば、コミュニケータのIDは、アプリ102のIDであってよい。この場合、アプリ102は、ブルートゥースアドバタイジング信号がスキャニングを通じて取得されるとき、ウェイクアップされてよい。別の例では、コミュニケータのIDは、あるいは、TAのUUIDであってよい。この場合、ブルートゥースアドバタイジング信号がスキャニングを通じて取得されるとき、アプリ102は、外部ブルートゥースデバイスへのチャネルを確立するためにウェイクアップされることがある。別の例では、コミュニケータのIDは、あるいは、アプレット識別子(applet identification,アプレット識別、AID)であってよい。この場合、ブルートゥースアドバタイジング信号がスキャニングを通じて取得されるとき、アプリ102は、外部ブルートゥースデバイスへのチャネルを確立するためにウェイクアップされることがある。
(4)第1のデバイス識別子情報:アプリ102がスキャンすることを予想するブルートゥースデバイスの識別子情報であって、たとえば、この識別子情報は、限定するものではないが、外部ブルートゥースデバイスのUUIDを含む。
可能な一実装では、アプリ102は、1つのUUIDリストに対応する。UUIDリストは、1つまたは複数のUUIDを含む。UUIDリスト内のUUIDごとに、ブルートゥースエージェントモジュール105は、UUIDに対応する外部ブルートゥースデバイスによってアドバタイジングされるブルートゥースアドバタイジング信号を検証する。
(5)OPTION:アプリ102、TEE106内のTA、またはSE104内のアプレットなどの、サービス情報を受信するエンティティと、スキャニングを通じて第1のデバイス識別子情報を取得した後でブルートゥースチップ101がアプリ102をウェイクアップするかどうか。
S602:ブルートゥースエージェントモジュール105が、第1の登録情報に基づいて、アプリ102に対して権限検証を行う。
可能な一実装では、ブルートゥースエージェントモジュール105は、複数のアプリのAPP_IDを含むことがあり、複数のAPP_IDは、ブルートゥースエージェントモジュール105によって承認される。ブルートゥースエージェントモジュール105は、第1の登録情報内のAPP_IDが、記憶された複数のAPP_IDに含まれるかどうかを検出する。第1の登録情報内のAPP_IDが、記憶された複数のAPP_IDに含まれる場合、権限検証は成功し、ステップS603が行われる。第1の登録情報内のAPP_IDが、記憶された複数のAPP_IDに含まれない場合、権限検証は失敗し、プロセスは終わる。
権限検証プロセスの前述の例は、本出願のこの実施形態について講釈するために使用されたにすぎず、制限を構成するべきではないことが理解され得る。ブルートゥースエージェントモジュール105は、あるいは、別の権限検証方法を有することがある。これは、本出願のこの実施形態では限定されない。
本出願のこの実施形態では、ブルートゥースエージェントモジュール105は、図5に図示される例におけるアプリケーションフレームワーク層に配置されてよく、アプリケーションフレームワーク層におけるアプリケーション/インターフェイスであってよい。ブルートゥースエージェントモジュール105は、アプリケーションフレームワーク層に配置されることに限定されず、別の層に配置されてよい。
S603:権限検証が成功したとき、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101に第1のデバイス識別子情報を送信する。
ブルートゥースチップ101は、その権限検証が成功するデバイス識別子情報を記憶し得る。たとえば、アプリ1に対してブルートゥースエージェントモジュール105によって行われる権限検証は成功し、アプリ1の登録情報は、UUID1と、UUID2と、UUID3と、UUID4とを含む。アプリ2に対してブルートゥースエージェントモジュール105によって行われる権限検証は成功し、アプリ2の登録情報は、UUID5と、UUID6とを含む。ブルートゥースチップ101は、UUID1、UUID2、UUID3、UUID4、UUID5、およびUUID6を受信および記憶してよい。
本出願のこの実施形態では、デバイス識別子情報がUUIDである例が説明のために使用されることが理解され得る。しかしながら、デバイス識別子情報はUUIDに限定されず、あるいは、他のデバイス情報であってよい。
可能な一実装では、権限検証が成功したとき、ブルートゥースエージェントモジュール105は、アプリ102の第1の登録情報を記憶する。ブルートゥースエージェントモジュール105は、第1の登録情報と、スキャニングを通じてブルートゥースチップ101によって取得されるUUIDを使用することによって、対応するアプリ、TA、またはアプレットを発見し得る。
S604:ブルートゥースエージェントモジュール105が、ブルートゥースチップ101のブルートゥーススキャニング機能が可能にされているかどうかを検出する。
ブルートゥースチップ101のブルートゥーススキャニング機能が可能にされるとき、ブルートゥースチップ101は、ブルートゥースアドバタイジング信号を受信し、ブルートゥースアドバタイジング信号内で搬送されるデバイス識別子情報がブルートゥースチップ101上に記憶されるかどうかを検出してよい。ブルートゥースチップ101のブルートゥーススキャニング機能が不可にされるとき、ブルートゥースチップ101は、ブルートゥースアドバタイジング信号を受信することはできない。
S605:ブルートゥースチップ101のブルートゥーススキャニング機能が可能にされないことを検出するとき、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニング機能を可能にする。
たとえば、ブルートゥースチップ101がBLEブルートゥースチップである場合、ブルートゥーススキャニング機能を可能にするために、EnableBLEが呼び出されてよい。
S606:ブルートゥースチップ101がスキャニングを行う。
スキャニングプロセスでは、ブルートゥースチップ101は、ブルートゥースアドバタイジング信号を受信し、ブルートゥースアドバタイジング信号内で搬送されるUUIDがブルートゥースチップ101上に記憶されるかどうかを検出してよい。
ステップS601~S606を通じて、電子デバイス10上でのアプリ102の登録が完了する。登録が完了した後、電子デバイス10は、ユーザ操作に応答してアカウントを使用することによって、アプリ102にログインし得る。たとえば、Alipayアプリケーションの場合、登録が完了した後、電子デバイス10は、ユーザ操作に応答してAlipayアカウントを使用することによって、Alipayアプリケーションにログインし得る。Alipayアカウントは、電子デバイス10上のAlipayアプリケーションのアカウントIDであってよい。アカウントを使用することによってログインするプロセスでは、たとえば、アカウントIDに対応するアカウントパスワードは検証される必要がある。
(b)トランザクションプロセス
登録が完了し、アカウントがログインされた後、電子デバイス10は、本出願の実施形態によるサービス実行方法を行ってよい。図20Aおよび図20Bは、本出願のこの実施形態によるサービストランザクション方法の概略フローチャートである。サービストランザクション方法は、図18に図示されるシステムアーキテクチャに基づき、サービストランザクション方法は、ステップS701~S710を含む。
S701:ブルートゥースデバイス50が、ブルートゥースアドバタイジング信号をアドバタイジングする。
ブルートゥースアドバタイジング信号は、第1のデバイス識別子情報(たとえば、第1のUUID)と、第1のデバイス識別情報(たとえば、第1のデバイスID)を搬送してよい。第1のデバイス識別情報は、ブルートゥースデバイス50と1対1の対応をとる。
S702:ブルートゥースチップ101は、デバイスからブルートゥースアドバタイジング信号を受信し、受信したブルートゥースアドバタイジング信号の発信元であるデバイス(ブルートゥースデバイス50)が電子デバイス10に登録されているかどうかを検出する。
電子デバイス10がスリープ状態である(たとえば、電子デバイス10が画面オフのスリープ状態である)とき、ブルートゥースチップ101が、受信したブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていないことを検出する場合、ブルートゥースエージェントモジュール105は、スリープ状態であってよい。
S703:受信したブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されているとき、ブルートゥースチップ101が、ブルートゥースエージェントモジュール105をウェイクアップし、第1のデバイス識別子情報を送信する。
ブルートゥースエージェントモジュール105がすでに、可能状態であるとき、第1のデバイス識別子情報は、ブルートゥースエージェントモジュール105をウェイクアップすることなく、ブルートゥースエージェントモジュール105に送信可能である。
S704:ブルートゥースエージェントモジュール105が、第1のデバイス識別子情報および第1の登録情報に基づいて、アプリ102を稼働させる。
ブルートゥースエージェントモジュール105は、登録プロセスのステップS603において第1の登録情報を記憶する。ブルートゥースエージェントモジュール105は、第1のデバイス識別子情報を使用することによって第1の登録情報を発見し、第1の登録情報内のAPP_AWAKE_IDを使用することによってアプリ102を発見および稼働させる。
第1の登録情報内の(5)OPTIONは、データ受信エンティティがアプリ102であることを示すことがあり、ブルートゥースチップ101は、スキャニングを通じて第1のデバイス識別子情報を取得した後、アプリ102をウェイクアップする。ブルートゥースエージェントモジュール105は、OPTIONに基づいて、アプリ102が稼働される必要があることをさらに決定し得る。次いで、アプリ102は、第1の登録情報内のAPP_AWAKE_IDを使用することによって稼働される。
任意選択で、アプリ102がすでに稼働状態である場合、アプリ102を稼働させる必要はない。
S705:ブルートゥースエージェントモジュール105が、アプリ102に第1のデバイス識別情報を送信する。
第1のデバイス識別情報は、ステップS703において第1のデバイス識別子情報とともに、ブルートゥースエージェントモジュール105にブルートゥースチップ101によって送信されてよい。
S706:アプリ102が、第1のデバイス識別情報および第1のアカウントIDを搬送するメッセージをサーバ40に送信する。
ステップS701~S706は、外部ブルートゥースデバイス50からのサービス情報(たとえば、ブルートゥースデバイス50のデバイスID)がアプリ102に送られてよく、アプリ102は、その後のトランザクションプロセスの準備をするためにサービス情報をサーバ40に送信するように、行われる。第1のアカウントIDは、アプリ102上のログインアカウントのIDである。たとえば、Alipayアプリの場合、アカウントIDは、Alipayアカウントであってよい。
ステップS706の後、ユーザは、検証様式、たとえば、顔検証または指紋検証でトランザクションプロセス(たとえば、無感の顔による決済)を実行し得る。詳細については、ステップS707~S710を参照されたい。ステップS707~S710については、図16に図示される例のステップS505~S508における説明を参照されたい。詳細は、本明細書では再度説明されない。
S707:ブルートゥースデバイス50が、第1の顔画像を収集する。
S708:ブルートゥースデバイス50が、第1の顔画像および第1のデバイス識別情報を搬送するメッセージをサーバ40に送信する。
S709:サーバ40が、第1の顔画像および第1のデバイス識別情報に基づく認識を通じて、第1のアカウントIDを取得する。
S710:サーバ40が、第1のアカウントIDに基づいてサービストランザクションを完了する。
前述のサービストランザクション方法プロセスでは、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101によって受信されるブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されている後でのみ、開始される。ブルートゥースエージェントモジュール105と電子デバイス10のアプリケーションプロセッサは、常に作業状態である必要はなく、このことは、電子デバイス10の電力消費量およびメモリ使用量を減少させる。
本出願のこの実施形態では、ブルートゥースエージェントモジュール105はアプリ102を稼働されてよく、ユーザは、アプリ102を手動で稼働させる必要はない。このようにして、サービストランザクションプロセスは、ユーザに意識されず、サービストランザクションプロセスの利便性が改善される。
本出願のこの実施形態では、ブルートゥースエージェントモジュール105は、アプリ102を稼働させてよいが、アプリ102は、電子デバイス10上で常に稼働される必要はなく、アプリ102は、アプリケーションプロセッサによって稼働が止められてよい。このことは、電子デバイス10の電力消費量およびメモリ使用量をさらに減少させる。
本出願のこの実施形態では、ブルートゥースエージェントモジュール105はさらに、ブルートゥース関係サービストランザクションプロセスにブルートゥーススキャニング管理プラットフォームを提供する。
可能な一実装では、ステップS702におけるブルートゥーススキャニング機能は、ユーザがブルートゥーススキャニングスイッチ1001を手動で可能にすることによって実施されてよい。別の可能な実装では、ブルートゥーススキャニング機能は、あるいは、電子デバイス10が、ブルートゥーススキャニング機能が可能にされていないことを検出したとき、可能にされてよい。たとえば、図19において説明される登録プロセスの例では、ブルートゥースエージェントモジュール105は、ステップS604およびS605を通じてブルートゥーススキャニング機能を可能にする。あるいは、登録が完了した後、ブルートゥースエージェントモジュール105は、サービストランザクションプロセスにおいてブルートゥーススキャニング機能を自動的に可能にすることがある。ブルートゥースエージェントモジュール105は、ユーザがブルートゥーススキャニング機能を手動で可能にする必要がないように、ブルートゥーススキャニング機能を可能にしてよい。このようにして、サービストランザクションプロセスは、ユーザに意識されず、サービストランザクションプロセスの利便性が改善される。
(c)登録解除プロセス
電子デバイス10上の登録されたアプリ102は、ユーザ操作に応答して登録解除されてよい。以下は、本出願の実施形態において提供される登録解除プロセスについて具体的に説明する。図21は、本出願のこの実施形態によるアプリ102の登録解除の概略フローチャートである。アプリ102の登録解除プロセスは、ステップS801~S806を含む。
S801:アプリ102がインストールされていないことを検出するとき、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101に第1の通知を送信する。第1の通知は、第1のデバイス識別子情報に関してスキャンするのを止めるようにブルートゥースチップ101に示す。
第1のデバイス識別子情報は、登録中のアプリ102の登録情報に含まれる第1のデバイス識別子情報である。たとえば、登録中のアプリ102の登録情報に含まれる第1のデバイス識別子情報は、UUID1、UUID2、UUID3、およびUUID4である。この場合、第1の通知は、UUID1、UUID2、UUID3、およびUUID4に関してスキャンするのを止めるようにブルートゥースチップ101に示す。ステップS801が行われた後、ブルートゥースアドバタイジング信号がUUID1と、UUID2と、UUID3と、UUID4とを含むことを検出したとき、ブルートゥースチップ101は、ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていないと考え、ブルートゥースエージェントモジュール105をウェイクアップしない。
本出願のこの実施形態では、アプリケーションプロセッサは、アプリ102がインストールされていないことを検出し、アプリ102がインストールされていないことを示すために使用されるアドバタイジングをアドバタイジングしてよい。ブルートゥースエージェントモジュール105は、アプリ102がインストールされていないことを示すために使用されるアドバタイジングに基づいて、アプリ102がインストールされていないことが検出されたことを決定し、ステップS801を行う。
S802:ブルートゥースチップ101が、第1の通知に基づいて、第1のデバイス識別子情報に関してスキャンするのを止める。
ブルートゥースチップ101は、アプリ102に対応する記憶されたデバイス識別子情報を削除してよい。ステップS801の例では、ブルートゥースチップ101は、記憶されたUUID1、UUID2、UUID3、およびUUID4を削除してよい。
S803:ブルートゥースエージェントモジュール105が、アプリ102の登録情報を削除する。
ステップS803は、あるいは、ステップS802の前に行われてよい。
アプリ102の登録解除プロセスが行われた後、ブルートゥースアドバタイジング信号が第1のデバイス識別子情報を含むことを検出するとき、ブルートゥースチップ101は、ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていないと考える。さらに、ブルートゥースエージェントモジュール105はウェイクアップされず、ブルートゥースチャネルは確立されない。
本出願の実施形態におけるサービス実行方法では、サービス情報(たとえば、重量情報)が電子デバイスに意識されずにアップロードされる例を使用することによって、説明が提供される。ブルートゥースデバイス50は、重量計90であってよい。本出願の実施形態では、電子デバイス10に重量データを自動的にアップロードするシナリオは、説明のために一例として使用され、あるいは、別のサービスシナリオが使用されてよいことが理解され得る。これは、本出願の実施形態では限定されない。電子デバイス10は、ブルートゥースアドバタイジング信号を受信し得る。重量計90に対応するアプリ102は、電子デバイス10上にインストールされてよい。電子デバイス10上のアプリ102は、ブルートゥースアドバタイジング信号を通じて重量計90へのチャネルを確立してよく、重量計90は、アプリ102にリアルタイムで検出される重量データをアップロードしてよい。電子デバイス10に重量データをアップロードする前述のプロセスでは、データは、ユーザが電子デバイス10上のアプリ102を手動で操作することなく、電子デバイス10に意識されずにアップロード可能である。
図22は、本出願の一実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図22に示されるように、ブルートゥースシステムは、ブルートゥースデバイス(たとえば、重量計90)と、電子デバイス10とを含む。
図22に示されるように、電子デバイス10は、ブルートゥースチップ101と、ブルートゥースエージェントモジュール105と、アプリ102とを含む。ブルートゥースチップ101は、ブルートゥースエージェントモジュール105への接続を確立し、ブルートゥースエージェントモジュール105は、アプリ102への接続を確立する。
アプリ102が電子デバイス10上にインストールされた後、アプリの登録プロセスが完了される必要があり、重量計90へのブルートゥース接続が確立される。詳細については、図7において説明される登録プロセスを参照されたい。
登録が完了し、アカウントがログインされた後、電子デバイス10は、本出願の一実施形態によるサービス実行方法を行ってよい。図23は、本出願のこの実施形態によるサービス実行方法の概略フローチャートである。図23に示されるように、サービス実行方法は、ステップS901~S906を含む。
S901:ブルートゥースデバイス90が、ブルートゥースアドバタイジング信号をアドバタイジングする。
ブルートゥースアドバタイジング信号は、第1のデバイス識別子情報(たとえば、第1のUUID)と、第1のデバイス識別情報(たとえば、第1のデバイスID)を搬送してよい。第1のデバイス識別情報は、ブルートゥースデバイス50と1対1の対応をとる。
本出願のいくつかの実施形態では、ブルートゥースデバイス90に対応するアプリ102が電子デバイス10上でシステムによってクリアされる、電子デバイス10とブルートゥースデバイス90との間のブルートゥース接続が切断され、電子デバイス10のブルートゥースチップ101は、ブルートゥーススキャニング機能がブルートゥースアドバタイジング信号をスキャンし始めることを可能にし得る。
S902:ブルートゥースチップ101が、ブルートゥースアドバタイジング信号を受信し、ブルートゥースアドバタイジング信号の発信元であるデバイス(ブルートゥースデバイス90)が電子デバイス10に登録されているかどうかを検出する。
電子デバイス10がスリープ状態である(たとえば、電子デバイス10が画面オフのスリープ状態である)とき、ブルートゥースチップ101が、ブルートゥースアドバタイジング信号の発信元であるデバイス(ブルートゥースデバイス90)が電子デバイス10に登録されていないことを検出する場合、ブルートゥースエージェントモジュール105は、スリープ状態であってよい。
S903:ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていることを検出したとき、ブルートゥースチップ101が、ブルートゥースエージェントモジュール105をウェイクアップし、第1のデバイス識別子情報を送信する。
S904:ブルートゥースエージェントモジュール105が、第1のデバイス識別子情報および第1の登録情報に基づいて、アプリ102を稼働させる。
ステップS901~S904における説明については、図20Aにおいて説明されるサービス実行方法のステップS701~S704における具体的な説明を参照されたい。
ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていることを検出したとき、ブルートゥースエージェントモジュール105は、ステップS901~S904を通じてブルートゥースデバイス90へのチャネルを確立してよい。ブルートゥースデバイス90からのサービス情報(たとえば、重量情報)は、ブルートゥースエージェントモジュール105に送られてよい。ブルートゥースエージェントモジュール105は、アプリをウェイクアップし、サービス情報(たとえば、重量情報)をアプリ102に送ってよい。
本出願のいくつかの実施形態では、アプリ102が稼働された後、ブルートゥースエージェントモジュール105はさらに、ブルートゥースチップ101とブルートゥースデバイス90のブルートゥースチップとの間のブルートゥース接続を確立するために、ブルートゥースデバイス90に再接続するようにブルートゥースチップ101に示してよい。再接続プロセスは、BLE再接続プロセスであってもよいし、BR/EDR再接続プロセスであってもよい。これは、本出願のこの実施形態では限定されない。
任意選択で、外部ブルートゥースデバイス90からのサービス情報(たとえば、重量情報)は、あるいは、アドバタイジング信号の形でブルートゥースチップ101によって受信され、ブルートゥースエージェントモジュール105に送られてよい。次いで、サービス情報は、ブルートゥースエージェントモジュール105によってアプリ102に送られる。
S905:ブルートゥースデバイス90が、重量情報を検出する。
重量情報は、重量値、体脂肪値、および健康指標などのデータを含んでよい。たとえば、重量情報は、ブルートゥース接続を通じてアプリ102に送信されてよい。
S906:ブルートゥースデバイス90は、ブルートゥースデバイス90とアプリ102との間のチャネルを通じてアプリ102に重量情報を送信する。
アプリ102は、重量情報を記憶してよく、アプリ102はさらに、重量情報を表示してよい。
前述の方法プロセスでは、ブルートゥースデバイス90とブルートゥースチップ101との間のブルートゥース接続を確立するプロセスにおいて、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101が、ブルートゥースアドバタイジング信号の発信元であるデバイス(ブルートゥースデバイス90)が電子デバイス10に登録されていることを検出した後でのみ、可能にされる。ブルートゥースエージェントモジュール105と電子デバイス10のアプリケーションプロセッサは、常に作業状態である必要はなく、このことは、電子デバイス10の電力消費量およびメモリ使用量を減少させる。
重量計が電子デバイス上のアプリケーションに重量情報をアップロードする前述のプロセスでは、ユーザは、アプリ102を手動で稼働させる必要はない。このようにして、実行プロセスは、ユーザに意識されず、サービス実行プロセスの利便性が改善される。
重量計がアプリケーションに重量情報をアップロードする前述のプロセスでは、アプリ102は稼働状態で保たれる必要はなく、このことは、電子デバイス10の電力消費量およびメモリ使用量をさらに減少させる。本出願のこの実施形態では、ブルートゥースエージェントモジュール105はさらに、ブルートゥース関係サービス実行プロセスに管理プラットフォームを提供する。
別の可能な実装では、ブルートゥーススキャニング機能は、あるいは、電子デバイス10が、ブルートゥーススキャニング機能が可能にされていないことを検出したとき、可能にされてよい。たとえば、登録プロセスの例では、ブルートゥースエージェントモジュール105は、ブルートゥーススキャニング機能を可能にする。あるいは、登録が完了した後、ブルートゥースエージェントモジュール105は、サービス実行プロセスにおいてブルートゥーススキャニング機能を自動的に可能にすることがある。ブルートゥースエージェントモジュール105は、ユーザがブルートゥーススキャニング機能を手動で可能にする必要がないように、ブルートゥーススキャニング機能を可能にしてよい。このようにして、サービス実行プロセスは、ユーザに意識されず、サービス実行プロセスの利便性が改善される。
本出願のいくつかの他の実施形態では、ブルートゥースデバイス90によってアドバタイジングされるブルートゥースアドバタイジング信号は、第1のUUIDを含むことに限定されず、重量計のMACアドレスをさらに含んでよい。登録プロセスでは、電子デバイス10へのブルートゥース接続を確立するプロセスにおいて、ブルートゥースデバイス90は、ブルートゥースデバイス90のMACアドレス(第1のMACアドレス)を電子デバイス10に送る。電子デバイス10のブルートゥースチップは、第1のMACアドレスを記憶する。ブルートゥース接続が切断されるとき、電子デバイス10は、第1のMACアドレスに従ってブルートゥースアドバタイジング信号をスキャンする。重量計に対応する重量計アプリケーションは、第1のMACアドレスを搬送するブルートゥースアドバタイジング信号がスキャニングを通じて取得されるときのみ、開始される。重量計アプリケーションは、重量計に再接続するようにブルートゥースチップ101に示してよい。
本出願のいくつかの実施形態では、電子デバイス10が、ブルートゥースデバイス90に対応するアプリ102がシステムによってクリアされることを検出したとき、電子デバイス10は、ブルートゥーススキャニング機能がブルートゥースアドバタイジング信号をスキャンし始めることを可能にしてよい。
本出願の実施形態では、図22および図23において説明されるブルートゥースデバイス90は重量計に限定されず、あるいは、別のウェアラブルデバイス、たとえば、スマートウオッチであってよい。
車両が意識されずにロック解除されるシナリオでは、本出願の一実施形態は、ブルートゥースシステムおよびブルートゥース接続方法をさらに提供する。この方法は、図1において説明されるシステムアーキテクチャに基づく。ブルートゥースデバイス60は、図1に図示される車両ヘッドユニット20であってよい。本出願のこの実施形態では、車両が意識されずにロック解除されるシナリオは、説明のために一例として使用され、あるいは、別のサービスシナリオが使用されてよいことが理解され得る。これは、本出願のこの実施形態では限定されない。
図24は、本出願のこの実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図24に示されるように、ブルートゥースシステムは、電子デバイス10と、ブルートゥースデバイス60(たとえば、車両20)と、サーバ70とを含む。図24に示されるように、電子デバイス10は、ブルートゥースチップ101と、ブルートゥースエージェントモジュール105と、アプリ102と、OMA API103と、SE104と、TEE106とを含む。ブルートゥースシステムは、OMA API103に接続されたSE104またはOMA API103に接続されたTEE106のどちらかを含んでもよいし、SE104とTEE106の両方を含んでもよい。ブルートゥースチップ101は、ブルートゥースエージェントモジュール105への接続を確立する。ブルートゥースエージェントモジュール105はTEE106に接続され、ブルートゥースエージェントモジュール105は、OMA API103を通じてSE104に接続される。
車両が、システムアーキテクチャを使用することによって意識されずにロック解除される前に、ユーザは、電子デバイス10上にアプリ102をインストールし、電子デバイス10は登録プロセスを完了する。以下のプロセスは、別個に説明される。(d)登録プロセスおよび(e)サービス実行プロセス。本出願のこの実施形態では、アプリ102の登録解除プロセスについては、図13に図示される例における具体的な説明を参照されたい。詳細は、本明細書では再度説明されない。
(d)登録プロセス
登録プロセスは、図24に図示されるシステムアーキテクチャおよび図25に図示されるプロセスに関して以下で説明される。図25は、本出願のこの実施形態によるアプリ102の登録プロセスの概略フローチャートである。アプリ102の登録プロセスは、ステップS1001~S1006を含む。
S1001:アプリ102が電子デバイス10上にインストールされているとき、アプリ102は、サーバ70から第1の証明書を取得する。
本出願のこの実施形態では、アプリ102のアプリIDがブルートゥースエージェントモジュール105内に記憶されていない場合、アプリ102は、サーバ70から第1の証明書を取得してよい。第1の証明書は、ブルートゥースエージェントモジュール105に対するアプリ102の権限を証明するために使用されてよい。
可能な一実装では、アプリ102が電子デバイス10上にインストールされているとき、アプリ102は、第1の証明書を配信することを要求するために使用されるメッセージをサーバ70に送信してよい。次いで、サーバ70は、第1の証明書をアプリ102に送信する。別の可能な実装では、アプリ102が電子デバイス10上にインストールされているとき、サーバ70は、第1の証明書をアプリ102に配信する。
S1002:アプリ102が、第1の登録情報および第1の証明書をブルートゥースエージェントモジュール105に送信する。
任意選択で、アプリ102は、ブルートゥースエージェントモジュール105に第1の証明書をさらに送信してよい。第1の証明書は、ステップS1003においてアプリ102に対して行われる権限検証が成功するように、ブルートゥースエージェントモジュール105に対するアプリ102の権限を証明してよい。
S1003:ブルートゥースエージェントモジュール105が、第1の登録情報および第1の証明書に基づいて、アプリ102に対して権限検証を行う。
S1004:権限検証が成功したとき、ブルートゥースエージェントモジュール105が、ブルートゥースチップ101に第1のデバイス識別子情報を送信する。
S1005:ブルートゥースエージェントモジュール105が、ブルートゥースチップ101のブルートゥーススキャニング機能が可能にされるかどうかを検出する。
S1006:ブルートゥースチップ101のブルートゥーススキャニング機能が可能にされないことを検出するとき、ブルートゥースエージェントモジュール105が、ブルートゥーススキャニング機能を可能にする。
S1007:ブルートゥースチップ101がスキャニングを行う。
以下は、ステップS1002における第1の証明書と、ステップS1003における権限検証プロセスについて説明する。
第1の証明書は、認証局(certificate authority,CA)によってデジタル署名されたデジタル証明書である。認証局は、ブルートゥースエージェントモジュール105によって承認される。第1の証明書は、サーバ70の公開鍵と、サーバ70の名前と、認証局のデジタル署名とを含んでよい。ブルートゥースエージェントモジュール105が、第1の証明書を使用することによって識別認証を行うとき、第1の証明書は、識別コードをランダムに生成してよい。各デジタル証明書は、対応する識別コードを生成することができるが、毎回生成される識別コードは異なる。
第1の証明書は、認証センタによって検討および発行される、サーバ70の識別情報を含む電子データである。したがって、第1の証明書は、認証局のデジタル署名を使用することによって、ブルートゥースエージェントモジュール105に対して、サーバ70が認証局によって認証されることを証明し得る。
ブルートゥースエージェントモジュール105は、認証局の公開鍵を記憶し、認証局の公開鍵を使用することによって第1の証明書内の認証局のデジタル署名に対して検証を行う。検証が成功したとき、権限検証も成功する。次いで、ステップS1004~S1007が行われる。
ステップS1004~S1007については、図19に図示される例のステップS603~S606における説明を参照されたい。詳細は、本明細書では再度説明されない。
(e)サービス実行プロセス
登録が完了し、アカウントがログインされた後、電子デバイス10は、本出願の実施形態によるサービス実行方法を行ってよい。図26は、本出願のこの実施形態によるサービス実行方法の概略フローチャートである。サービス実行方法では、ブルートゥースチャネルが外部ブルートゥースデバイス60とSE104との間で確立される例が使用される。外部ブルートゥースデバイス60とTEE106との間のブルートゥースチャネルの確立が類似している。サービス実行方法は、図24に図示されるシステムアーキテクチャに基づき、サービス実行方法は、ステップS1101~S1108を含む。
S1101:ブルートゥースデバイス60が、ブルートゥースアドバタイジング信号をアドバタイジングする。
ブルートゥースアドバタイジング信号は、第1のデバイス識別子情報(たとえば、第1のUUID)と、第1のデバイス識別情報(たとえば、第1のデバイスID)を搬送してよい。第1のデバイス識別情報は、ブルートゥースデバイス60と1対1の対応をとる。
S1102:ブルートゥースチップ101が、ブルートゥースデバイス60からブルートゥースアドバタイジング信号を受信し、受信したブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されているかどうかを検出する。
電子デバイス10がスリープ状態である(たとえば、電子デバイス10が画面オフのスリープ状態である)とき、ブルートゥースチップ101は、ブルートゥースアドバタイジング信号の発信元であるデバイス(ブルートゥースデバイス50)が電子デバイス10に登録されていないことを検出する場合、ブルートゥースエージェントモジュール105は、スリープ状態であってよい。
S1103:ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていることを検出したとき、ブルートゥースチップ101が、ブルートゥースエージェントモジュール105をウェイクアップし、第1のデバイス識別子情報を送信する。
ブルートゥースエージェントモジュール105は、図10に図示される登録プロセスのステップS203において第1の登録情報を記憶する。ブルートゥースエージェントモジュール105は、第1のデバイス識別子情報を使用することによって、第1の登録情報を発見する。第1の登録情報内の(5)OPTIONは、データ受信エンティティがTEE106であることを示すことがあり、ブルートゥースチップ101は、スキャニングを通じて第1のデバイス識別子情報を取得した後、アプリ102をウェイクアップしない。ブルートゥースアドバタイジング信号の発信元であるデバイスが電子デバイス10に登録されていることを検出したとき、ブルートゥースエージェントモジュール105は、ブルートゥースデバイス60へのチャネルを確立してよい。ブルートゥースエージェントモジュール105と外部ブルートゥースデバイスとの間のチャネルはステップS1101~S1103を通じて確立され、ブルートゥースエージェントモジュール105は、TEE106のサービス情報を取得し、このサービス情報を外部ブルートゥースデバイスに送ってよい。
ステップS1103の後、ユーザは、電子デバイス10を搬送するユーザがブルートゥースデバイス60に近いとき、トランザクションプロセス(たとえば、車両を意識されずにロック解除すること)を実行してよい。ステップS1104~S1108を参照されたい。
たとえば、ブルートゥースデバイス60が車両20の車両をロック解除するシナリオでは、車両20と電子デバイス10との距離が特定の距離(たとえば、30メートル)よりも小さいかこれに等しいことを検出したとき、車両20は、ステップS1101~S1103においてブルートゥースチャネルを確立するプロセスを行ってよい。ブルートゥースエージェントモジュール105と車両20との間のチャネルが、ステップS1101~S1103を通じて確立された後、車両20は、リアルタイムで電子デバイス10と車両20との間の距離を検出してよい。車両20が、電子デバイス10への距離が特定の距離(たとえば、10メートル)よりも小さいかまたはこれに等しいことを検出したとき、車両20は、検証プロセスを完了するためにステップS1104~S1107を行ってよい。電子デバイス10への距離が特定の距離(たとえば、3メートル)よりも小さいかこれに等しいことを検出するとき、車両20は、車両をロック解除するためにステップS1108を行う。
S1104:ブルートゥースデバイス60が、チャネルを通じてブルートゥースエージェントモジュール105に暗号文チェック命令を送信する。
暗号文チェック命令は、デジタル署名を使用することによって暗号化された後に送られてよい。暗号文チェック命令は、ブルートゥースデバイス60のデジタル署名、たとえば、ブルートゥースデバイス60の秘密鍵を含むデジタル署名を含んでよい。ブルートゥースエージェントモジュール105は、ブルートゥースデバイス60の秘密鍵に対応する公開鍵を記憶してよい。暗号文チェック命令を受信した後、ブルートゥースエージェントモジュール105は、最初に、公開鍵を使用することによって、ブルートゥースデバイス60のデジタル署名を検証する。検証が成功した場合、ステップS1105が行われる。
S1105:ブルートゥースエージェントモジュール105が、SE104内のアプレット内の第1の暗号文を取得する。
S1106:ブルートゥースエージェントモジュール105が、ブルートゥースチップ101を通じてブルートゥースデバイス60に第1の暗号文を送信する。
ステップS1106における伝送プロセスでは、第1の暗号文は、伝送のために暗号化されてよい。暗号化方法は、本出願のこの実施形態では限定されない。
S1107:ブルートゥースデバイス60が、第1の暗号文をSE内の暗号文と比較する。
S1108:暗号文比較が成功した場合、ブルートゥースデバイス60が、ブルートゥースデバイス60の車両をロック解除する。
たとえば、第1の暗号文がブルートゥースデバイス60のSE内のアプレット内の暗号文と同じである場合、比較は成功する。
前述のサービス実行方法プロセスでは、ブルートゥースエージェントモジュール105は、ブルートゥースチップ101が、ブルートゥースアドバタイジング信号の発信元であるデバイス(ブルートゥースデバイス60)が電子デバイス10に登録されていることを検出した後でのみ、可能にされる。ブルートゥースエージェントモジュール105と電子デバイス10のアプリケーションプロセッサは、常に作業状態である必要はなく、このことは、電子デバイス10の電力消費量およびメモリ使用量を減少させる。
前述のサービス実行方法手順では、アプリ102は、稼働される必要はなく、SE104とブルートゥースデバイス60との間のブルートゥースチャネルは直接的に確立され、このことは、電子デバイス10の電力消費量およびメモリ占有を減少させる。
前述のサービス実行方法手順では、ユーザは、アプリ102を手動で稼働させる必要はない。このようにして、サービス実行プロセスは、ユーザに意識されず、サービス実行プロセスの利便性が改善される。
前述のサービス実行方法プロセスでは、アプリ102は稼働状態で保たれる必要はなく、このことは、電子デバイス10の電力消費量およびメモリ使用量をさらに減少させる。本出願のこの実施形態では、ブルートゥースエージェントモジュール105はさらに、ブルートゥース関係サービス実行プロセスに、ブルートゥースチャネルを確立するための管理プラットフォームを提供する。
可能な一実装では、ステップS1102におけるブルートゥーススキャニング機能は、ユーザがブルートゥーススキャニングスイッチ1001を手動で可能にすることによって実施されてよい。別の可能な実装では、ブルートゥーススキャニング機能は、あるいは、電子デバイス10が、ブルートゥーススキャニング機能が可能にされていないことを検出したとき、可能にされてよい。たとえば、図25において説明される登録プロセスの例では、ブルートゥースエージェントモジュール105は、ステップS1005およびS1006を通じてブルートゥーススキャニング機能を可能にする。あるいは、登録が完了した後、ブルートゥースエージェントモジュール105は、サービスプロセスにおいてブルートゥーススキャニング機能を自動的に可能にしてよい。ブルートゥースエージェントモジュール105は、ユーザがブルートゥーススキャニング機能を手動で可能にする必要がないように、ブルートゥーススキャニング機能を可能にしてよい。このようにして、サービス実行プロセスは、ユーザに意識されず、サービス実行プロセスの利便性が改善される。
本出願のいくつかの他の実施形態では、アプリ102は、OMA API103を通じてSE104への接続をさらに確立してよい。第1の登録情報内の(5)OPTIONは、データ受信エンティティがSE104であることを示すことがあり、ブルートゥースチップ101は、スキャニングを通じて第1のデバイス識別子情報を取得した後、アプリ104をウェイクアップする。ステップS1103の後、ブルートゥースエージェントモジュール105は、アプリ102をウェイクアップする。ブルートゥースエージェントモジュール105は、外部ブルートゥースデバイス60へのチャネルを確立してよく、ブルートゥースエージェントモジュール105は、SE104内のサービス情報(たとえば、暗号文)がブルートゥースデバイス60(たとえば、車両)に送られ得るように、SE104に接続される。
本出願のこの実施形態では、ブルートゥースデバイス60は、図24に示されるように、サーバ70への通信接続をさらに確立してよい。ブルートゥースデバイス60は、通信接続を通じてサーバ70とサービス情報を交換してよい。たとえば、サービス情報は、電子デバイス10のSE104からの指紋比較結果である。
具体的には、チャネルがブルートゥースエージェントモジュール105と外部ブルートゥースデバイスとの間で確立された後、サーバ70がトランザクションプロセスにおいて電子デバイス10上でのユーザ識別を検証する必要がある場合、たとえば、ユーザ指紋またはユーザの顔画像を検証する必要がある場合、検証が完了した後、電子デバイス10は、ブルートゥースデバイス60を通じてサーバ70に比較結果を送信する。指紋検証は、一例として使用される。最初に、電子デバイス10は、検出された指紋をあらかじめ記憶された指紋と比較し、比較結果を電子デバイス10のSE104に記憶する。ブルートゥースエージェントモジュール105は、SE104から比較結果を取得する。ブルートゥースエージェントモジュール105は、比較結果を、ブルートゥース接続を通じてブルートゥースデバイス60に送信する。ブルートゥースデバイス60は、トランザクションプロセスを完了するために、サーバ70への通信接続を通じてサーバ70に比較結果を送信する。
ブルートゥースデバイス60とサーバ70との間の通信接続は、前述の機能例に限定されず、サービス実行プロセスにおいて他のサービス情報を送るために使用されてよいことが理解され得る。これは、本出願のこの実施形態では限定されない。
車両が意識されずにロック解除されるサービス実行プロセスの場合、サーバ70は、あるいは、アプリ102の登録プロセスでは必要とされないことがある。ブルートゥースエージェントモジュール105は、アプリ102のAPP_IDを記憶し、ブルートゥースエージェントモジュール105は、アプリ102のAPP_IDを使用することによって、アプリに対して権限検証を行ってよい。具体的には、図27を参照されたい。図27は、本出願のこの実施形態によるブルートゥースシステムのアーキテクチャの概略図である。図27に示されるように、ブルートゥースシステムは、電子デバイス10と、ブルートゥースデバイス80(たとえば、車両20)とを含む。図27に示されるように、電子デバイス10は、ブルートゥースチップ101と、ブルートゥースエージェントモジュール105と、アプリ102と、OMA API103と、SE104と、TEE106とを含む。ブルートゥースシステムは、OMA API103に接続されたSE104またはOMA API103に接続されたTEE106のどちらかを含んでもよいし、SE104とTEE106の両方を含んでもよい。ブルートゥースチップ101は、ブルートゥースエージェントモジュール105への接続を確立する。ブルートゥースエージェントモジュール105はTEE106に接続され、ブルートゥースエージェントモジュール105は、OMA API103を通じてSE104に接続される。
アプリ102が電子デバイス10上にインストールされた後、登録プロセスは、アプリのために完了される必要がある。登録プロセスについては、図10において説明される実施形態を参照されたい。登録プロセスは、電子デバイス10上でのみ完了される。サービス実行プロセスについては、図26において説明される実施形態を参照されたい。登録プロセスもサービス実行プロセスも、サーバとの相互作用を必要としない。サービス登録解除プロセスについては、図13に図示される例における具体的な説明を参照されたい。詳細は、本明細書では説明されない。
ブルートゥース接続は、本出願の実施形態において説明のために一例として使用されることが理解され得る。本出願の実施形態におけるブルートゥース接続は、BLE接続であってもよいし、BR/EDR接続であってもよい。しかしながら、本出願の実施形態では、接続は、ブルートゥース接続に限定されず、別の短距離ワイヤレス通信接続、たとえば、Wi-Fi接続またはZigBee接続であってよい。これは、本出願の実施形態では限定されない。
前述の実施形態では、機能のすべてまたはいくつかは、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを使用することによって、実施されてよい。ソフトウェアが前述の実施形態を実施するために使用されるとき、前述の実施形態のすべてまたはいくつかは、コンピュータプログラム製品の形で実施されてよい。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上でロードおよび実行されるとき、本出願の実施形態によるプロシージャまたは関数は、すべてまたは部分的に生成される。コンピュータは、汎用コンピュータであってもよいし、特殊目的コンピュータであってもよいし、コンピュータネットワークであってもよいし、別のプログラマブル装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよいし、1つまたは複数の使用可能な媒体を統合する、サーバまたはデータセンタなどのデータ記憶デバイスであってもよい。使用可能な媒体は、磁気媒体(たとえば、フロッピーディスク、ハードディスク、または磁気テープ)、光媒体(たとえば、DVD)、半導体媒体(たとえば、ソリッドステートドライブ(solid-state drive,SSD))などであってよい。
前述の説明は、本出願の実施形態の特定の実装にすぎず、本出願の実施形態の保護範囲を制限することを意図したものではない。本出願の実施形態に開示される技術範囲内でのいかなる変形または置き換えも、本出願の実施形態の保護範囲内に含まれるものとする。したがって、本出願の実施形態の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
本出願のこの実施形態では、車両ヘッドユニット20のMACアドレスは説明のために一例として使用されているが、MACアドレスは、制限を構成しないことが理解され得る。車両搭載ブルートゥースチップ201によってアドバタイジングされるブルートゥースアドバタイジング信号は、車両を示す別のパラメータ、たとえば、車両識別番号(vehicle identification number,VIN)をさらに搬送してよい。これは、本出願のこの実施形態では限定されない。
電力管理モジュール141は、バッテリ142、充電管理モジュール140、およびプロセッサ110に接続するように構成される。電力管理モジュール141は、バッテリ142からの入力および/または充電管理モジュール140からの入力を受信し、プロセッサ110、内部メモリ121、外部メモリ、ディスプレイ194、カメラ193、ワイヤレス通信モジュール160などに電力を供給する。電力管理モジュール141は、バッテリ容量、バッテリサイクルカウント、およびバッテリ健康ステータス(漏電またはインピーダンス)などのパラメータを監視するように構成されてよい。いくつかの他の実施形態では、電力管理モジュール141は、あるいは、プロセッサ110内に設置されてよい。いくつかの他の実施形態では、電力管理モジュール141と充電管理モジュール140は、あるいは、同じデバイス内に設置されてよい。
登録プロセスは、図18に図示されるシステムアーキテクチャおよび図19に図示されるプロセスに関して以下で説明される。図19は、本出願の本実施形態によるアプリ102の登録プロセスの概略フローチャートである。アプリ102の登録プロセスは、ステップS601~S606を含む。