以下は、乗物環境(vehicle environment)に関連した機能に対するユーザアクセスの多要素ユーザ認証および制御のための方法、装置、およびシステムに関係のある様々な概念および実装形態の、より詳細な説明である。上記で導入され、以下でより詳細に論じられる様々な概念は、多くのやり方のうちの任意のもので実施され得る。
本開示は、一般的には、乗物エントリイベントおよび乗物環境におけるアクセス制御のエントリ認証のための方法およびシステムを対象とするものである。電子システムおよび情報技術(IT)システムに基づく車載機能はユーザエクスペリエンスを改善することができるが、そのような車載機能は他のリスクおよび技術的障害をもたらす可能性もある。車載のオンライン接続性または車内の娯楽(ICE:in-car entertainment)システム(車載の情報娯楽(IVI:in-vehicle infotainment)システムとも称される)の利用可能性は、頻繁に運転者の気を散らして事故のリスクを増加させる可能性がある。ユーザが、運転しながら通信(たとえば電子メール、メッセージ、または通話)を開始する、もしくは通信に応答しようとすること、IVIシステム上でレンダリングするためにマルチメディアファイルを検索する、もしくはファイルにアクセスしようとすること、あるいはオンラインアクション(たとえばオンラインショッピングまたはオンライン予約)を開始しようとすることは、深刻かつ危険な事故をもたらす恐れがある。
その上、インターネットに対する乗物の接続性が主に無線クライアントデバイスによって生じることを考えれば、たとえばオンラインのデータ、システムまたはアプリケーションに対するアクセスを含む車載IT機能の範囲が増大することは、無線ネットワークの帯域幅など通信リソースの負担になる可能性がある。その上、乗物が接続性に関してモバイルデバイスに依存すると、乗物が比較的高速度のとき、または乗物が無線ネットワークのカバレッジエリアから離れるにつれて、接続性が劣化する可能性がある。接続性が劣化すると、乗物がアクセスするサービスまたはデータが頻繁に中断されることがある。
加えて、たとえば家族メンバ、友人、または面識のない人などの間で乗物(たとえばレンタカー)が共用されることがあるので、データまたはセキュリティ面での配慮を要するデータまたはシステムにアクセスするために車載機能が利用可能であることは、ユーザのプライバシーおよびデータまたはユーザのセキュリティを危険にさらす恐れがある。たとえば、乗物を介して住宅の車庫ドアを遠隔で開ける機能は、そのような機能が乗物の何らかの運転者または乗客にとってアクセス可能であると、ユーザにとって深刻な脅威または危険(たとえば犯罪)を招く恐れがある。いくつかの可能な乗物機能(自動かつ遠隔の乗物ドアのロック/ロック解除または乗物窓の自動かつ遠隔の制御など)は、たとえば、乗物の同乗者に対して拒否されなければ、大きな問題になる恐れがある。また、乗物を介したデータへの無制限のアクセスは、そのデータを公に暴露するリスクを増大させる。
本開示では、デジタルアシスタントアプリケーションを含むデータ処理システムが、乗物に関連した様々な機能のハンズフリー制御を可能にし得る。デジタルアシスタントアプリケーションは、ユーザとの双方向の音声ベース相互作用を対話形のフォーマットで提供する対話形のデジタルアシスタントを含むことができる。たとえば、ユーザはデジタルアシスタントアプリケーションに話しかけることができ、デジタルアシスタントアプリケーションは、(1)ユーザからの音声信号入力を正確に解釈し、(2)ユーザのために音声出力信号を再生することで応答し、(3)音声入力信号から識別されたタスクもしくはアクションまたはそれらの組合せをオンラインで遂行することができる。たとえば、運転者または同乗者は、マルチメディアファイルのレンダリング、乗物窓の開放、乗物ドアのロックもしくはロック解除、乗物内部のエアコンの調節、住宅の車庫ドアのロック解除または開放、または乗物を介して利用可能な他の機能を可聴に要求することができる。デジタルアシスタントアプリケーションは、可聴の要求に基づき、要求された機能を認識して実行することができる。デジタルアシスタントアプリケーションは、ハンズフリーのユーザ相互作用を可能にすることにより、運転者の気を散らす可能性を著しく増加させることなく、種々の車載機能を提供することができる。
可能性のある接続性劣化によるサービス中断を回避するために、デジタルアシスタントアプリケーション(およびデータ処理システム)を乗物内で実行することができる。デジタルアシスタントアプリケーションを乗物内で(たとえば乗物の1つまたは複数の電子デバイスの内部で)ローカルで実行すると、車内のユーザにとって、デジタルアシスタントアプリケーションが(たとえばインターネットまたはモバイルデバイスに対する)乗物の接続状態に関係なく利用可能になる。デジタルアシスタントアプリケーションは、再生リスト、マルチメディアファイル、ユーザセキュリティ認証情報(たとえば各種サービスに関するログインのユーザ名、パスワード、またはパスコード)、各種サービスに対するユーザアクセス許可レベル、またはそれらの組合せなどのユーザ関連のデータを記憶することもでき、そのようなデータに対するアクセスを、乗物の接続状態とは無関係にローカルで可能にすることができる。デジタルアシスタントアプリケーション(およびデータ処理システム)は、乗物内で、モバイルデバイスにおいて、または遠隔コンピュータシステム(たとえばクラウド)において、またはそれらの組合せにおいて実行することができる。たとえば、デジタルアシスタントアプリケーションの様々なインスタンスは個別のプラットホーム上で実行してよい。
データをローカルで(乗物内で)記憶したりアクセスしたりするには、信頼できるユーザ認証(または乗物エントリ認証)および信頼できるデータセキュリティ対策が必要とされる。本開示のデータ処理システム(および対応するデジタルアシスタントアプリケーション)は、多要素ユーザ認証を採用することができる。本明細書で使用される場合、多要素認証は、2つ以上の認証データ入力(または認証入力信号)に基づく2つ以上の認証技術を伴う認証方法を指す。また、データ処理システムは、個別のユーザに関する個別のデータアカウントを維持することができる。データ処理システムは、データセキュリティを強化するために、データアカウント(または対応するセキュリティ面での配慮を要するデータ)を暗号化することができる。データ処理システム(または対応するデジタルアシスタントアプリケーション)は、ユーザが、割り当てられた許可アクセスレベルを超えて機能またはデータにアクセスしないことを保証するために、多要素認証および所定のアクセス許可レベルを使用することができる。
データ処理システム(または対応するデジタルアシスタントアプリケーション)は、ユーザ認証とともに、ユーザの気を散らさない(たとえばユーザの手動の関与または大幅な身体的関与を伴わない)認証技術を使用し得るものである。たとえば、指紋ベースの(または他の生体認証ベースの)認証は、ユーザの大幅な身体的努力および精神的努力を伴う可能性があり、ユーザ特に運転者は気が散る可能性が高い。また、ログインのユーザ名およびパスワードなど他の認証技術は、音声入力ベースの認証には不適切であろう。そのような認証情報は、音声によって与えられたときには秘密性を失う可能性があり、認証処理過程で乗物内の他のユーザに漏洩する恐れがある。データ処理システム(または対応するデジタルアシスタントアプリケーション)は、キーフォブ認証、モバイルデバイス識別子の自動収集に基づく認証、顔認識、話者認識、またはそれらの組合せなど、ユーザの大幅な物理的作用または物理的努力を伴わない認証技術を使用し得るものである。
本明細書で説明されるシステムおよび方法が含み得るデータ処理システムは、乗物に設置された第1のセンサによって取得された少なくとも1つのセンサ信号を受け取るデジタルアシスタントアプリケーションを含む。データ処理システムは、少なくとも1つのセンサ信号に基づいて、乗物へのエントリイベントを判定することができる。データ処理システムは、乗物へのエントリイベントに応答して、乗物に関連した複数のセンサから複数の認証入力信号を受け取ることができる。データ処理システムは、複数の認証入力信号および複数の認証情報に基づいて複数の認証状態を判定することができる。データ処理システムは、複数の識別認証状態に少なくとも部分的に基づいて複数のアクセス許可レベルのうちの1つのアクセス許可レベルを識別することができる。データ処理システムは、アクセス許可レベルに応答して、乗物を介して利用可能な機能のセットのサブセットを識別し、機能のサブセットへの乗物アクセスを提供することができる。
本明細書で論じるシステムがユーザに関する個人情報を収集する、または利用し得る状況に関して、ユーザは、個人情報(たとえばユーザの社会的ネットワーク、社会活動、もしくは社会事業、ユーザの選好、またはユーザの位置に関する情報)を収集し得るプログラムまたは機能を制御する機会、あるいはユーザにとってより適切であり得るコンテンツサーバもしくは他のデータ処理システムからコンテンツを受け取るかどうか、または受け取る方法を制御する機会を与えられ得る。加えて、特定のデータは、記憶されるかまたは使用される前に1つまたは複数のやり方で匿名化されてよく、その結果、パラメータを生成するとき個人識別可能情報が除去される。たとえば、ユーザに関する個人識別可能情報を判定することができないように、ユーザのアイデンティティが匿名化されてよく、または、位置情報が取得される場合にはユーザの地理的位置が(都市、郵便番号、または国家レベルなどへ)一般化されてよく、その結果、ユーザの特定の位置は判定され得ない。このように、ユーザは、自分の情報がコンテンツサーバに収集されて利用されるやり方を制御することができる。
図1は、複数のアクセス許可レベルに基づいてユーザを認証し、乗物を介して利用可能な機能に対するユーザアクセスを制御するための例示のシステム100を示す。システム100は、少なくとも1つの遠隔データ処理システム102と、各々がそれぞれの乗物データ処理システム140に関連した1つまたは複数の乗物130(たとえば手動または自動運転車、トラック、オートバイ、航空機、船、または他の輸送機器)と、1つまたは複数のモバイルクライアントデバイス150(たとえばスマートフォン、タブレット、またはスマートウォッチ)とを含むことができる。システム100が含み得るネットワーク148は、遠隔データ処理システム102を、1つまたは複数の乗物130、1つまたは複数のモバイルクライアントデバイス150、またはそれらの組合せに対して通信可能に結合することができる。システム100は、遠隔データ処理システム102、1つまたは複数の乗物130、1つまたは複数のモバイルクライアントデバイス150、あるいはそれらの組合せに対してネットワーク148を通じて通信可能に結合された1つまたは複数のデータプロバイダ152(またはそれらの通信デバイス)を含むことができる。
遠隔データ処理システム102は、クラウドデータ処理システム、企業のデータ処理システム、住宅のデータ処理システム、またはそれらの組合せを含むことができる。遠隔データ処理システム102は、少なくとも1つのプロセッサを有する少なくとも1つのサーバを含むことができる。たとえば、遠隔データ処理システム102は、少なくとも1つのデータセンタまたはサーバファームに配置された複数のサーバを含むことができる。遠隔データ処理システム102は、論理的にグループ化された複数のサーバを含み、分散コンピューティング技術を容易にすることができる。サーバの論理グループは、データセンタ、サーバファーム、またはマシンファームと称されることがある。サーバは地理的に分散され得る。データセンタまたはマシンファームは単一のエンティティとして管理されてよく、またはマシンファームが複数のマシンファームを含み得る。各マシンファームの内部のサーバは異種が混在していることがあり得、サーバまたはマシンのうちの1つまたは複数が1つまたは複数のタイプのオペレーティングシステムプラットホームによって動作することができる。遠隔データ処理システム102は、たとえば企業のデータセンタに配置された関連する記憶システムと併せて1つまたは複数の高密度ラックシステムに格納された、データセンタ内のサーバを含むことができる。遠隔データ処理システム102のコンポーネントの各々が、データリポジトリ118および他のコンピュータデバイスと通信するように構成された少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、装置、またはプログラマブルロジックアレイなどの他の論理デバイスを含み得る。
遠隔データ処理システム102はインターフェース104を含むことができる。データ処理システム102は、音声ベースの入力を構文解析するための自然言語プロセッサ(NLP)コンポーネント106を含むことができる。データ処理システム102は、システム100における他のデバイスのインターフェースを検知して管理するためのインターフェース管理コンポーネント108を含むことができる。遠隔データ処理システム102は、音声ベースの信号を生成するための音声信号ジェネレータコンポーネント110を含むことができる。遠隔データ処理システム102は、指示アクションアプリケーションプログラミングインターフェース(API)112を含むことができる。遠隔データ処理システム102は、音声ベース入力信号に対する応答を選択するための応答セレクタコンポーネント114を含むことができる。遠隔データ処理システム102は、遠隔データ処理システム102が受け取った音声ベース入力を検証するための検証エンジン(または検証コンポーネント)116を含むことができる。遠隔データ処理システム102はデータリポジトリ118を含み得、これに、パラメータ120、ポリシー122、応答データ124、およびテンプレート126を記憶することができる。遠隔データ処理システム102は、ユーザが要求したタスクまたはアクションを遂行することを含めて、乗物130またはモバイルクライアントデバイス150とユーザの対話を扱い、管理するためのデジタルアシスタントアプリケーション(本明細書ではデジタルアシスタントシステムとも称される)128を含むことができる。
インターフェース104は、遠隔データ処理システム102のコンポーネント間の通信、遠隔データ処理システム102とシステム100のデバイスもしくはシステムの間の通信、またはそれらの組合せを可能にすることができる。インターフェース104は、システム100のコンポーネントが互いに通信することを可能にするデータインターフェースまたはネットワークインターフェースであり得る。データ処理システム102のインターフェース104は、ネットワーク148を介して、モバイルクライアントデバイス150または乗物130に、アクションデータ構造、音声信号、または他のデータを含む1つもしくは複数のデータパケットを供給するまたは伝送することができる。たとえば、データ処理システム102は、データリポジトリ118または音声信号ジェネレータ110からの出力信号をモバイルクライアントデバイス150に供給することができる。データ処理システム102は、データパケット伝送によって、モバイルクライアントデバイス150または乗物130に、アクションデータデータ構造で指示された機能を遂行するように命令することもできる。出力信号は、取得され、生成され、1つまたは複数のデータパケットに変換され得、あるいは、1つまたは複数のデータパケット(または他の通信プロトコル)として、データ処理システム102(または他のコンピュータデバイス)からモバイルクライアントデバイス150または乗物130に伝送され得る。
NLPコンポーネント106は、たとえば乗物130またはモバイルクライアントデバイス150から入力音声信号を受け取ることができる。データ処理システム102は、クライアントデバイス128または乗物140から入力音声信号を受け取ることができる。乗物130またはモバイルクライアントデバイス150のユーザは音声入力信号を供給することができ、乗物130またはモバイルクライアントデバイス150は、音声入力信号を、NLPコンポーネント106によって処理するように遠隔データ処理システム102に伝送することができる。NLPコンポーネント106は、入力音声信号を、記憶された代表的な音声波形のセットと比較して、最も近い一致を選択することにより、受け取った入力音声信号を認識されたテキストに変換することができる。代表波形は、たとえば複数の個人からの音声信号の大きなセットにわたって生成され得る。入力音声信号が認識されたテキストに変換されると、NLPコンポーネント106は、たとえば学習フェーズによってアクションまたは出力音声信号に関連付けられた単語にテキストを一致させることができる。
NLPコンポーネント106は、入力音声信号から、ユーザ(たとえば乗物130のユーザまたはモバイルクライアントデバイス150のユーザ)からの少なくとも1つの要求または要求に対応する少なくとも1つのトリガもしくはホットキーワードを識別することができる。NLPコンポーネント106(または他のコンポーネント)は、入力音声信号を、対応するテキスト信号に変換し、テキスト信号に基づいて要求を識別し得る。要求は入力音声信号の意図または主題を指示することができる。トリガキーワードは、とられる可能性のあるアクションのタイプを指示することができる。たとえば、NLPコンポーネント106は、入力音声信号を構文解析して、乗物の窓を開けること、音楽再生リストの次の音声ファイルへスキップすること、電話をかけること、メッセージ(たとえば電子メールメッセージまたはショートメッセージサービス(SMS)メッセージ)を作成して送ること、特定の番地への全地球測位システム(GPS)ナビゲーションを開始すること、ローカルまたはリモートに記憶されたデータにアクセスすること、ストリーミングセッションを開始すること、クライアントアプリケーションを開始すること、車庫のドアを開閉すること、住宅関連の設定を制御すること、またはそれらの組合せを行うことを求める少なくとも1つの要求を識別することができる。トリガキーワードは、とられるアクションを指示する少なくとも1つの単語、フレーズ、語根もしくは部分語、または派生語を含むことができる。たとえばトリガキーワードは「go」または「ok」または「hey」である。
インターフェース管理コンポーネント108は、乗物130およびモバイルクライアントデバイス150のインターフェースなど、システム100における他のデバイスのインターフェースを検知し、管理することができる。応答セレクタコンポーネント114は、識別された要求に関連したユーザに送るための応答を生成することができる。たとえば、NLPコンポーネント106が要求または要求に対応するトリガもしくはホットキーワードを識別したとき、応答セレクタコンポーネント114は、データリポジトリ118にアクセスして、ユーザに送る応答を生成するための情報またはコンテンツを取得することができる。たとえば、応答セレクタコンポーネント114は、データリポジトリ118の中の応答データ124から、フレーズ、コンテンツアイテム、またはそれらの組合せを取得することができる。
音声信号ジェネレータコンポーネント110は、ユーザに応答の一部分として送るための出力音声信号を生成するか、またはその他の方法で取得することができる。たとえば、音声信号ジェネレータコンポーネント110は、たとえば応答セレクタコンポーネント114によって選択または取得されたフレーズまたはコンテンツアイテムに関連する1つもしくは複数の音声信号を生成するかまたは選択することができる。たとえば、要求が満たされると、信号発生器コンポーネント110は、「そのアクションは完了した」というフレーズに対応する音声出力信号を生成することができる。
NLPコンポーネント106は、受け取った入力音声信号に基づいて、遠隔データ処理システム102、乗物130、モバイルクライアントデバイス150、またはそれらの組合せによって遂行されるべきタスクまたはアクション(たとえば、乗物の窓を開くこと、音楽再生リストの次の音声ファイルへスキップすること、電話をかけること、メッセージ(たとえば電子メールメッセージまたはショートメッセージサービス(SMS)メッセージ)を作成して送ること、特定の番地への全地球測位システム(GPS)ナビゲーションを開始すること、ローカルまたはリモートに記憶されたデータにアクセスすること、ストリーミングセッションを開始すること、クライアントアプリケーションを開始すること、車庫ドアを開閉すること、住宅関連の設定を制御すること、またはそれらの組合せ)を識別することができる。遠隔データ処理システム102の指示アクションAPI 112は、タスクまたはアクションの識別に応答して、1つまたは複数のアクションデータ構造を生成することができる。1つまたは複数のアクションデータ構造は、識別されたアクションまたは要求を満たすためのアクションを実行するためのデータまたは命令を含むことができる。アクションデータ構造は、JSONフォーマットのデータ構造またはXMLフォーマットのデータ構造でよい。
指示アクションAPI 112は、識別されたアクションまたはタスクに依拠して、要求を満たすのに必要なパラメータを識別するコードまたはダイアログスクリプトを実行することができる。デジタルアシスタントアプリケーション128は、乗物130、クライアントデバイス128、またはデータプロバイダ154に伝送するべきメッセージの1つまたは複数のアクションデータ構造を含むことができる。デジタルアシスタントアプリケーション128または指示アクションAPI 112は、NLPコンポーネント106によって識別された要求に基づいてメッセージの宛先を判定することができる。たとえば、入力音声信号が「窓を開ける」を含んでいる場合には、NLPコンポーネント106は、「窓を開ける」というアクション語を識別することができ、デジタルアシスタントアプリケーション128または指示アクションAPI 112は、1つまたは複数のアクションデータ構造を、乗物130への伝送に対する応答にパッケージ化することができる。指示アクションAPI 112は、応答データ124から乗物識別子(ID)または乗物IPアドレスにアクセスして、要求を生成したユーザに関連した乗物を判定することができる。乗物140は、1つまたは複数のアクションデータ構造を受け取ると、アクションデータ構造を処理して乗物の窓を開けることができる。入力音声信号が「ライオンプリンスの映画をストリーミングする」に対応する場合、NLPコンポーネント106はアクション語「映画をストリーミングする、ライオンプリンス」を識別することができる。デジタルアシスタントアプリケーション128または指示アクションAPI 112は、要求された映画のストリーミングを提供するデータプロバイダ154を識別し、1つまたは複数のアクションデータ構造を、データプロバイダ154または乗物(またはモバイルクライアントデバイス150)へのメッセージへとパッケージ化して、データプロバイダ154と乗物(またはモバイルクライアントデバイス150)の間のストリーミングセッションを開始することができる。
1つまたは複数のアクションデータ構造は、要求を達成するための情報を含むことができる。たとえば、1つまたは複数のアクションデータ構造は、要求を達成する、またはその他の形で満たすのに使用される属性を含むXMLフォーマットまたはJSONフォーマットのデータ構造を含むことができる。属性は、乗物130の位置、モバイルクライアントデバイス150の位置、乗物130またはモバイルクライアントデバイス150に関連したユーザのアクセス許可レベル(または認証レベル)、乗物識別子、インターフェース識別子、乗物状態、または要求状態を含むことができる。要求状態は、アクションが遂行される前に満たされるべき1つまたは複数の属性を含み得る。たとえば「Ok、歌を変更する」という要求については、要求状態は、要求者が認定ユーザであることを指示する属性{要求者:[認証された、同乗者]}を有し得る。デジタルアシスタントアプリケーション128または検証エンジン116は、アクセス許可レベルの属性が非認定ユーザを表す場合には、アクションデータ構造の伝送を阻止する(または対応するアクションの実行を阻止する)ことを決定してよい。
指示アクションAPI 112は、リポジトリ118からテンプレート126を検索して、アクションデータ構造に含めるべきフィールドまたは属性を判定することができる。指示アクションAPI 112は、必要なパラメータを判定して、その情報をアクションデータ構造へとパッケージ化することができる。指示アクションAPI 112は、リポジトリ118からコンテンツを検索して、データ構造の属性に関する情報を取得することができる。指示アクションAPI 112は、入力音声信号からのデータでフィールドを埋めることができる。指示アクションAPI 112は、データプロバイダ152、乗物130、モバイルクライアントデバイス150、またはそれらの組合せからのデータでフィールドを埋めることができる。指示アクションAPI 112は、フィールドを埋めるとき、ユーザに付加情報を促してよい。テンプレート126は、乗物のヘッドユニットによって媒体ファイルを再生すること、メッセージに応答すること、自動車の内部の機能を遂行すること、電話をかけること、メッセージを作成して送ること、ストリーミングセッションを開始すること、またはそれらの組合せなど、種々のタイプのアクションに関して規格化され得る。遠隔データ処理システム102は、乗物130の乗物データ処理システム140にアクションデータ構造を伝送することができ、乗物データ処理システム140は、アクションデータ構造にフィールドおよび属性を付加することができる。
検証エンジン116は、アクションデータ構造に関連したアクションまたは機能が実行されるべきかどうか、または満たされるべきかどうかを、検証するかまたはその他の方法で判定することができる。たとえば、検証エンジン116は、要求しているユーザのアクセス許可レベル(または認証レベル)、および当該アクションまたは機能がユーザのアクセス許可レベルの範囲内にあるかどうかを検査することができる。検証エンジン116は、アクションデータ構造の内部の状態属性またはデータリポジトリ118の内部に記憶されたデータによって、アクセス許可レベルを検査することができる。検証エンジン116は、検証が成功すればアクションまたは機能の実行を許容することができる。
検証エンジン116は、要求者が適切なアクセス許可レベルを有する場合には、アクションの実行を許容するべきか否かを判定するときに地域法および条令など他の要因も考慮に入れてよい。たとえば、「ライオンプリンスの映画をストリーミングする」を表す入力音声信号を受け取り、運転者の前の表示デバイスに映画をストリーミングすると判定するのに応答して、検証エンジン116は、そのようにするのが不適切であるため、または車両運転者の気を散らす可能性があるビジュアルコンテンツを提供することが地域法もしくは条令によって違法とされているために、ストリーミングアクションの達成を拒むことができる。しかしながら、映画が前部座席シートの後ろの表示デバイスにストリーミングされる(たとえば運転者は表示デバイスにコンテンツがレンダリングされるのを見ることができない)場合には、検証エンジン116は映画をストリーミングするのが適切であると判定することができる。それゆえに、検証エンジン116はストリーミングアクションが遂行されるのを許容することができる。
デジタルアシスタントアプリケーション128は、ユーザが要求したタスクまたはアクションを遂行することを含めて、乗物130またはモバイルクライアントデバイス150のユーザとの会話を扱い、管理することができる。デジタルアシスタンスアプリケーション128は、インターフェース104、NLPコンポーネント106、インターフェース管理コンポーネント108、音声信号ジェネレータ110、指示アクションAPI 112、応答セレクタ114、検証エンジン116、データリポジトリ118、またはそれらの組合せなど、遠隔データ処理システム102の様々なコンポーネントに関連した動作を開始し、終結し、または調整することができる。たとえば、デジタルアシスタンスアプリケーション128は、遠隔データ処理システム102のコンポーネントのインスタンス(またはこれらのコンポーネントの組合せのインスタンス)を開始し(たとえばコールし)、終結することができる。デジタルアシスタンス128は、それぞれのユーザ会話に関する状態を生成し、監視し、更新することができる。インターフェース104、NLPコンポーネント106、インターフェース管理コンポーネント108、音声信号ジェネレータ110、指示アクションAPI 112、応答セレクタ114、検証エンジン116、データリポジトリ118、またはそれらの組合せは、デジタルアシスタントアプリケーション128の一部分であり得る。遠隔データ処理システム102は、それぞれの会話、それぞれの乗物130、またはそれぞれのモバイルクライアントデバイス150ごとに、デジタルアシスタンスアプリケーション128の個別のインスタンスを開始することができる。
ネットワーク148は、インターネット、ローカルネットワーク、広域ネットワーク、都市ネットワーク、または他のエリアネットワーク、イントラネット、衛星ネットワークなどのコンピュータネットワーク、音声またはデータの携帯電話通信ネットワークなどの他のコンピュータネットワーク、およびそれらの組合せを含むことができる。ネットワーク148は、遠隔データ処理システム102、モバイルクライアントデバイス150、および乗物130によって、ウェブページ、ウェブサイト、ドメインネーム、ユニフォームリソースロケータ、またはデータプロバイダ152などの情報資源にアクセスするのに使用され得る。たとえば、遠隔データ処理システム102は、ネットワーク148を介して、乗物130に関連した位置など特定の位置に関する交通データを提供するデータプロバイダ152にアクセスすることができる。
ネットワーク148は、たとえば2地点間ネットワーク、放送ネットワーク、広域ネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ATM(非同期転送モード)ネットワーク、SONET(同期式光ファイバ網)ネットワーク、SDH(同期デジタルハイアラーキ)ネットワーク、無線ネットワークまたは有線ネットワーク、およびそれらの組合せを含むことができる。ネットワーク148は、赤外線チャネルまたは衛星帯などの無線リンクを含むことができる。ネットワーク148のトポロジは、バスネットワークトポロジ、スターネットワークトポロジ、またはリングネットワークトポロジを含み得る。ネットワーク148は、先進携帯電話プロトコル(AMPS)、時分割多重アクセス(TDMA)、符号分割多重アクセス(CDMA)、広域自動車通信(GSM)システム、汎用パケット無線サービス(GPRS)、またはユニバーサル移動体通信システム(UMTS)を含めて、モバイルデバイス間での通信に使用される何らかのプロトコルを使用するモバイル電話ネットワークを含むことができる。種々のタイプのデータが種々のプロトコルによって伝送され得、または同一のタイプのデータが種々のプロトコルによって伝送され得る。
乗物130は、1つまたは複数のスピーカ132、1つまたは複数の表示デバイス134、複数のセンサ136、およびトランスデューサ138を含むことができる。乗物130は乗物データ処理システム140を含むことができる。乗物データ処理システム140は、エントリ検知コンポーネント142、エントリ認証コンポーネント144、アクセス制御コンポーネント146、およびデジタルアシスタントアプリケーション128を含むことができる。乗物データ処理システム140のデジタルアシスタントアプリケーション128は、遠隔データ処理システム102のものに類似でよい(またはそのインスタンスでよい)。乗物データ処理システム140およびそれぞれのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せとして実施され得る。乗物データ処理システム140と遠隔データ処理システム102は、類似のコンポーネントを有し得る。たとえば、乗物データ処理システム140またはそのデジタルアシスタントアプリケーション128は、インターフェース104、NLPコンポーネント106、インターフェース管理コンポーネント108、音声信号ジェネレータ110、指示アクションAPI 112、応答セレクタ114、検証エンジン116、データリポジトリ118、それらの組合せ、またはそれらのインスタンスの組合せを含むことができる。遠隔データ処理システム102は、エントリ検知コンポーネント142、エントリ認証コンポーネント144、アクセス制御コンポーネント146、またはそれらのインスタンスの組合せを含み得る。
1つまたは複数のスピーカが、電気信号を可聴波に変換することより、(たとえば無線、マルチメディアデバイス、乗物データ処理システム140、デジタルアシスタントアプリケーション128、またはそれらの組合せからの)音声信号をレンダリングすることができる。乗物130は、ヘッドアップディスプレイ、(たとえば後部座席の同乗者にメディアコンテンツをレンダリングするための)マルチメディアデバイスに関連したディスプレイ、またはそれらの組合せなど1つまたは複数の表示デバイス134を含むことができる。トランスデューサ136は、(たとえば乗物内のユーザまたはバックグラウンドノイズからの)音声入力を、対応する電気信号に変換することができる。乗物データ処理システム140は、たとえば、音声認識、話者認識、またはそれらの組合せを遂行するために、電気信号を処理する(または処理するために電気信号を遠隔データ処理システム102へ伝送する)ことができる。トランスデューサ136は、電気信号を、対応する音声、超音波信号、または亜音速信号に変換することができる。
乗物130は、乗物130へのエントリイベントまたはイグジットイベントを検知するため、乗物の状態パラメータ(たとえば速度、自動ドアロック、タイヤ空気圧レベル、またはそれらの組合せ)を監視するため、ユーザ認証(または乗物エントリ認証)を遂行するため、またはそれらの組合せのために使用するセンサ信号を供給する複数のセンサ136を含むことができる。以下で、図2に関して種々のセンサ136を論じる。
図2は図1に示された乗物130の上面図であり、乗物130に関連したセンサおよび電子デバイスを表す。図2を参照すると、乗物130の内部のキャビンは複数のシート200を含むことができる。各シート200が、対応するシートセンサ202を含むことができる。シートセンサ202は、対応するシート200にかかる重みまたは圧力を感知することができる。シートセンサは、感知された圧力または重みをそれぞれの閾値と比較することができる。シートセンサ202は、感知された圧力または重みとそれぞれの閾値との比較に基づいて、対応するシート200が占有されているかどうかを表すシートセンサ信号を供給することができる。乗物データ処理システム140は、様々なシートセンサ202から、たとえば乗物データ処理システム140のインターフェース104を介してシートセンサ信号を受け取ることができる。
乗物130は1つまたは複数のドアセンサ204を含むことができる。それぞれのドアセンサ204は、乗物データ処理システム140に、乗物のドアが開いているかそれとも閉じているか、乗物のドアがロックされているかどうか、またはそれらの組合せを表すドアセンサ信号を供給することができる。乗物130は、乗物データ処理システム140がそれぞれのドアの状態(たとえば開、閉、ロック、またはロック解除)を識別することを可能にするそれぞれのドア用の個別のドアセンサ204を含むことができる。
乗物130は、乗物130の内部の1つまたは複数の位置に配置され得る1つまたは複数の運動センサ206を含むことができる。運動センサ206は、たとえば赤外線ベースの感知技術、マイクロ波ベースの感知技術、超音波ベースの感知技術、振動ベースの感知技術、またはそれらの組合せを使用して乗物の運動を感知することができる。1つまたは複数の運動センサ206は、運動が乗物の内部で感知されたものか否かを表す運動センサ信号を乗物データ処理システム140に供給することができる。感知された運動は、1人以上のユーザによって乗物が占有されていることを表し得る。個別の運動センサ206は、乗物130の対応するシート200に関連して(たとえば近接して、または面して)、配置または設置され得る。乗物130は、乗物130の内部気圧の実質的な(たとえば所定の閾値よりも大きい)変化を感知するための圧力センサ(図2には示されていない)を含み得る。乗物の点火システムまたはそのセンサは、ユーザによる点火システムのオン/オフに応答して、点火システムのオン/オフを表す信号を乗物データ処理システム140に供給してよい。
乗物130は、遠隔のキーフォブ送信器デバイス(図2には示されていない)から信号を受信するためのキーフォブ受信器デバイス210を含むことができる。キーフォブ受信器デバイス210およびキーフォブ送信器デバイスは、遠隔キーレスシステム(RKS)を形成する。遠隔キーフォブ送信器デバイスは、乗物をロックする、またはロック解除するためのエントリコードを含む信号を伝送することができる。エントリコードは暗号化され得る。キーフォブ受信器デバイス210は、信号中のエントリコードがキーフォブ受信器デバイス210に記憶されたコードと一致すると、自動車のロックまたはロック解除を作動させることができる。キーフォブ受信器デバイス210は、乗物データ処理システム140に対して通信可能に結合され得る。キーフォブ受信器デバイス210は、RKSによるロックまたはロック解除の成功または不成功のイベントの指示(または指示する信号)を、乗物データ処理システム140に供給することができる。
乗物130は、入力音声信号を取り込むための1つまたは複数のマイクロフォン214と、音声出力を供給するための複数のスピーカ(またはラウドスピーカ)132とを含むことができる。1つまたは複数のマイクロフォン214は、乗物130の内部の1つまたは複数の位置に配置され得る。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、乗物130の占有状態に基づいてマイクロフォン214をオン/オフしてよい。たとえば、乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、乗物130の占有(またはエントリイベントの検知)が検知されたのに応答してマイクロフォン214をオンにすることができる。マイクロフォン214またはスピーカは、乗物の始動に応答して自動的にオンにされ得る。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、1つまたは複数のマイクロフォン214によって取得された入力音声信号を受け取り、入力音声信号(または対応する電気信号)に対して音声認識または話者認識を適用することができる。
乗物130は、デジタル画像を取り込むための1つまたは複数のカメラ216を含むことができる。それぞれのカメラ216は、シート200に着座している個人の顔がカメラ116の視界に収まるように、乗物130の対応するシート200に向けて方向づけられ得る。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、1つまたは複数のデジタル画像を取り込むために、たとえばエントリイベントの検知に応答してカメラ216をトリガすることができる。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、取り込まれた画像を使用して顔認識を遂行することができる。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、以前に取り込まれた画像が顔認識に不十分であれば(たとえばユーザの顔が明瞭でない場合、または完全でない場合には)、カメラ216をトリガして1つまたは複数の付加画像を取り込んでよい。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、カメラ216の向きを調節する(たとえば回転させる)ことができる。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、スピーカ132を通じて、ユーザに、カメラ216の方向を向くかまたはカメラの向きを調節するように要求する音声出力信号を供給することができる。
乗物130は、モバイルクライアントデバイス150aおよび150bなど乗物内部のモバイルクライアントデバイス150と通信するために、短波長(たとえば2.4〜2.5GHz)データ通信トランシーバ、近距離通信(NFC)トランシーバ、またはそれらの組合せなどの通信トランシーバ218を含むことができる。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、通信トランシーバ218に対して通信可能に結合され得る。通信トランシーバ218は、モバイルクライアントデバイス150aおよび150b(または一般的には乗物130内のモバイルクライアントデバイス150)と通信して、これらのデバイスのデバイス識別子(ID)を取得することができる。通信トランシーバ218は、取得されたクライアントIDを、乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128に供給することができる。エントリイベントまたは乗物の占有が検知されてから所定期間の後にも通信トランシーバ218がクライアントIDを取得していなければ、乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、(たとえばスピーカ132に伝送される音声出力信号によって)ユーザに、たとえばそれぞれのモバイルクライアントデバイス(たとえばモバイルクライアントデバイス150aまたは150b)のトランシーバをオンにするかまたはクライアントデバイスを(NFC通信用の)通信トランシーバ218に近づけるように指示することができる。乗物データ処理システム140または対応するデジタルアシスタントアプリケーション128は、スピーカ132を通じて超音波出力信号または亜音速出力信号を伝送して、それぞれのIDを伝送するようにモバイルクライアントデバイス150aまたは150bをトリガすることができる。クライアントデバイス(たとえばモバイルクライアントデバイス150aまたは150b)は、超音波信号または亜音速信号をそれぞれのIDの要求と解釈し、超音波の出力信号または亜音速信号に応答してそれぞれのクライアントIDを伝送することができる。
乗物は、たとえばマルチメディアコンテンツ(たとえば視聴覚コンテンツ、ストリーミングコンテンツ、ゲームコンテンツ、またはそれらの組合せ)を再生するためのマルチメディアデバイスを含む、後部座席の娯楽システム212を含むことができる。運転者に見えて気を散らしてしまうのを回避するために、後部座席娯楽システム212は前部座席シート200の後ろに配置されてよい。乗物130はヘッドユニット220も含むことができ、これによって実行され得るコンピュータコード命令は、乗物データ処理システム140、対応するデジタルアシスタントアプリケーション、または乗物130に関連して説明されたコンポーネントのうちの1つまたは複数に関するものである。ヘッドユニット220は、コンピュータコード命令を実行するための1つまたは複数のプロセッサと、コンピュータコード命令、およびデータリポジトリ118、再生リスト、設定データ、またはそれらの組合せに関連したデータなどのデータを記憶するための1つまたは複数の記憶デバイス(図2には示されていない)とを含むことができる。ヘッドユニット220は、ユーザに対して、ナビゲーション地図、再生リスト情報、無線チャネル情報、またはそれらの組合せなどの画像データをレンダリングするためのディスプレイ(図2には示されていない)を含むことができる。ヘッドユニット220は、センサ136(シートセンサ202、ドアセンサ204、運動センサ206、空気圧センサ、点火システム(または対応するセンサ)、キーフォブ受信器デバイス210、マイクロフォン214、カメラ216、または通信トランシーバ218など)、スピーカ132、または後方の娯楽システム212のマルチメディアデバイスに対して(たとえば有線または無線の接続によって)通信可能に結合され得る。
図1に戻って、エントリ検知コンポーネント142、エントリ認証コンポーネント144、アクセス制御コンポーネント146、またはそれらの組合せは、乗物データ処理システム140のデジタルアシスタントアプリケーション128の一部分であり得る。エントリ検知コンポーネント142は、乗物130に設置された1つまたは複数のセンサ136によって取得された少なくとも1つのセンサ信号を受け取ることができる。たとえば、エントリ検知コンポーネント142は、キーフォブ受信器デバイス210からのキーフォブ信号、ドアセンサ204からのドアセンサ信号、シートセンサ202からのシートセンサ信号、運動センサ206からの運動センサ信号、空気圧センサからの圧力信号、乗物点火システムからの点火信号(たとえば点火システムのオン状態を表す)またはそれらの組合せを受け取ることができる。乗物の点火装置がオフであるときさえ、センサ136のうちの少なくとも1つは対応するセンサ信号を伝送することができる。
エントリ検知コンポーネント142は、少なくとも1つのセンサ信号に基づいて、乗物130へのエントリイベントを判定する(または検知する)ことができる。エントリイベントは、ユーザが乗物130に入ることを表し得る。エントリ検知コンポーネント142は、単一タイプのセンサ136からのセンサ信号に基づいてエントリイベントを判定してよい。たとえば、エントリ検知コンポーネント142がエントリイベントの発生に関して判定を行うには、キーフォブ受信器デバイス210、ドアセンサ204、シートセンサ202、運動センサ206、または空気圧センサのうちの1つからのセンサ信号があれば十分であり得る。エントリ検知コンポーネント142は、2つ以上のタイプのセンサ136からのセンサ信号に基づいてエントリイベントを判定してよい。たとえば、エントリ検知コンポーネント142は、2つ以上の異なるタイプのセンサ(たとえばキーフォブ受信器デバイス210とドアセンサ204の両方、またはドアセンサ204と運動センサ206の両方)が、1人以上の個人による乗物占有を表す対応するセンサ信号を供給するだけでエントリイベントの発生を判定するように構成され得る。
乗物データ処理システム140のデジタルアシスタントアプリケーション128は、何らかのエントリイベントの検知に先立って軽いモードで動作することができる。軽いモードでは、エントリ検知コンポーネント142だけが覚醒状態にあり、乗物データ処理システム140のデジタルアシスタントアプリケーション128の他のコンポーネントは乗物のバッテリー電力を節約するためにスリープモードにあってよい。エントリ検知コンポーネント142は、乗物130へのエントリイベントの検知に応答して、乗物データ処理システム140のデジタルアシスタントアプリケーション128の他のコンポーネントをスリープから解除することができる。
エントリ認証コンポーネント144は、乗物130へのエントリイベントに応答して、少なくとも2つの認証入力信号を受け取ることができる。少なくとも2つの認証入力信号は、乗物130に関連した少なくとも1つのセンサ(または電子デバイス)136によって取得され得る。たとえば、エントリ認証コンポーネント144は、乗物130に関連した少なくとも1つのセンサ136によって取得された第1の認証入力信号および第2の認証入力信号を受け取ることができる。少なくとも2つの認証入力信号は、少なくとも2つの異なるタイプのセンサによって取得された別個のタイプでよい。たとえば、エントリ認証コンポーネント144は、(1)キーフォブ受信器デバイス210からのキーフォブ認証信号、(2)対応するモバイルクライアントデバイス(たとえばスマートフォン、タブレット、またはスマートウォッチ)150からのモバイルデバイス識別子(ID)認証信号、(3)マイクロフォン214からの音声入力信号、または(4)カメラ216からのデジタル画像のうちの少なくとも2つを受け取ることができる。
キーフォブ認証信号は、キーフォブ受信器デバイス210が乗物130に対応するコード化された無線信号(たとえば乗物ドアのロック解除に成功した信号)を受け取ったか否かを表すことができる。モバイルデバイス識別子(ID)認証信号は、モバイルクライアントデバイス150によって供給され、モバイルクライアントデバイス150の対応する識別子IDを含む信号であり得る。図2に関して上記で論じられたように、乗物データ処理システム140のデジタルアシスタントアプリケーション128は、たとえばスピーカ132を通じて超音波信号もしくは亜音速信号を伝送することにより、または出力音声信号を供給することにより、モバイルクライアントデバイス150に、対応するモバイルデバイス識別子(ID)認証信号を伝送させ得る。デジタルアシスタントアプリケーション128は、音声入力信号を、マイクロフォン214から直接受け取るかまたはマイクロフォン214に結合された記憶デバイスから受け取ることができ、最近のあらかじめ定義された期間(たとえば直近の30秒間、直近の1分間、直近の2分間)を通じてマイクロフォン214によって取り込まれた音声信号を維持するように構成される。記憶デバイスは、記録された音声信号にタイムスタンプを付すことができる。記憶デバイスは、個別のマイクロフォンからの音声信号を別個に記憶することができる。乗物へのエントリイベントの検知に応答して、(たとえばユーザに特定の質問をするかまたは単に話してくれるように依頼することにより)乗物130内のあらゆる可能なユーザが話すためのきっかけとなるように、デジタルアシスタントアプリケーション128に対してスピーカ132を通じて音声出力信号を供給してよい。乗物データ処理システム140のデジタルアシスタントアプリケーション128は、乗物130へのエントリイベントの検知に応答して、デジタル画像を取り込むように1つまたは複数のカメラ216をトリガすることができる。
乗物データ処理システム140のデジタルアシスタントアプリケーション128は、乗物130へのエントリイベントに応答して乗物130の占有状態を生成する(または更新する)ことができる。乗物130の占有状態は、それぞれの認証されたユーザを、乗物130の対応するシート200へ(たとえばそのシート200に関連した対応するシートセンサまたは運動センサからのセンサ信号に基づいて)マッピングすることができる。乗物データ処理システム140のデジタルアシスタントアプリケーション128は、占有されたシート200に関連したマイクロフォン214またはカメラ216のみをトリガすればよい。
エントリ認証コンポーネント244は、少なくとも2つの受け取られた認証入力信号および複数の認証情報に基づいて、少なくとも2つの認証状態を判定することができる。たとえば、エントリ認証コンポーネント244は、第1の認証入力信号と複数の認証情報のうちの第1の認証情報とに基づいて、第1の認証状態を判定するとともに、第2の認証入力信号と複数の認証情報の第2の認証情報とに基づいて、第2の認証状態を判定することができる。エントリ認証コンポーネント244は、受け取られた認証入力信号の各々について、個別の認証を遂行して対応する認証状態を判定することができる。それぞれの認証状態が、対応する認証が成功するか否かを表すことができる。エントリ認証コンポーネント244が、その認証に基づいて特定のユーザまたはユーザカテゴリを識別することができるなら、認証は成功し得る。認証が成功すると、認証状態は、識別されたユーザまたはユーザカテゴリを表すことができる。認証が成功すると、認証状態は、それぞれの識別されたユーザまたはユーザカテゴリに関する確率値を表し得る。認証が不成功であると、対応する認証状態は、不成功の理由(たとえば不適当な認証入力信号または対応する認証情報に基づく一致の欠如)を表し得る。
エントリ認証コンポーネント244は、キーフォブ認証のために、乗物ドアの遠隔のロック解除の成功を表すキーフォブ信号を受け取るのに応答して、乗物のキーレス遠隔送信器デバイスを利用できる個人(たとえば乗物の所有者、所有者の家族、所有者の親しい友人、またはそれらの組合せ)のリストにアクセスすることができる。個人のリストは、キーフォブ認証に関連した認証情報を表すことができ、乗物の(たとえばデータリポジトリ118の内部の)記憶装置に記憶され得る。エントリ認証コンポーネント244は、リスト内の個人の各々を、現在乗物を占有している可能性のあるユーザとして判定することができる。エントリ認証コンポーネント244は、たとえば乗物130へのエントリの統計データに基づいて、個人の各々に対して確率値を割り当てることができる。たとえば、所有者は最高の確率を割り当てられてよく、所有者の配偶者には2番目に高い確率が割り当てられてよく、他の人にはより低い確率値が割り当てられてよい。
モバイルデバイス識別子(ID)認証信号については、対応する認証情報は、乗物130の(たとえばデータリポジトリ118の内部の)記憶装置に記憶されたデバイスIDと対応するデバイスユーザのアイデンティティとのセットを含むことができる。これらの信号は暗号化され得る。エントリ認証コンポーネント244は、受け取られたモバイルデバイスID認証信号のモバイルクライアントデバイスIDを、記憶されたデバイスIDのセットと比較することができる。一致が見つかると、エントリ認証コンポーネント244は、一致したデバイスIDに関連したユーザは乗物130を占有しているユーザであると識別することができる。認証状態は、一致した特徴に対応するユーザに関連した確率値を含み得る。一致が見つからなければ、エントリ認証コンポーネント244は、モバイルデバイス識別子(ID)の認証信号に対応する認証状態を不成功の認証と判定することができる。認証は、一致する認証情報が欠如しているという不成功の理由を含むことができる。
話者認識認証の場合には、デジタルアシスタントアプリケーション128(または対応する音声処理装置コンポーネント)は、受け取られた音声入力信号から、話者を表す1つまたは複数の特徴を抽出し、エントリ認証コンポーネント244は、抽出された特徴を、たとえばデータリポジトリ118の内部に記憶された対応する話者に特有の特徴(認証情報)のセットと比較することができる。一致が見つかると、エントリ認証コンポーネント244は、(話者認識認証に関する)認証状態を成功と判定することができる。認証状態は、対応する話者に特有の特徴のセットの中の一致した特徴に関連したユーザの指示を含むことができる。認証状態は、一致した特徴に対応するユーザに関連した確率値を含み得る。一致が見つからなければ、エントリ認証コンポーネント244は、認証状態を、一致する認証情報が欠如しているという不成功の理由を含み得る不成功の認証と判定することができる。
顔認識ベースの認証の場合には、デジタルアシスタントアプリケーション128(または対応する画像プロセッサコンポーネント)は、受け取られたデジタル画像から、顔の1つまたは複数の特徴を抽出することができ、エントリ認証コンポーネント244は、抽出された特徴を、たとえばデータリポジトリ118の内部に記憶された(1人または複数の既知のユーザに関連付けられた)対応する特徴のセットと比較することができる。一致が見つかると、エントリ認証コンポーネント244は、(顔認識ベースの認証に関する)認証状態を成功と判定することができる。認証状態は、対応する顔の特徴のセットの中の一致した顔の特徴に関連したユーザの指示を含むことができる。認証状態は、一致する顔の特徴に対応するユーザに関連した確率値を含み得る。一致が見つからなければ、エントリ認証コンポーネント244は、認証状態を、一致する認証情報が欠如しているという不成功の理由を含み得る不成功の認証と判定することができる。デジタルアシスタントアプリケーション128(または対応する画像プロセッサコンポーネント)が、(たとえば画像の中で顔が明瞭に見えていないために)顔の特徴を抽出できなければ、不成功の理由は、不十分な入力と定義され得る。
アクセス制御コンポーネント246は、第1の認証状態および第2の認証状態などの判定された認証状態に少なくとも部分的に基づき、複数のアクセス許可レベルのうちの1つのアクセス許可レベルを識別することができる。アクセス制御コンポーネント246は、エントリ認証コンポーネント244によって判定された認証状態に基づいて、特定のユーザまたは複数のユーザカテゴリのうちの1つのユーザカテゴリを判定することができる。たとえば、アクセス制御コンポーネント246は、様々な認証状態の情報(たとえば、ユーザまたはユーザカテゴリおよび適用可能であれば対応する確率値の指示)を比較して、乗物130を占有している個人に関連した最終的なユーザアイデンティティまたはユーザカテゴリを判定することができる。アクセス制御コンポーネント246は、乗物130を占有している個人に関連した最終的なユーザアイデンティティまたはユーザカテゴリを判定するとき、決定グラフまたは複数の決定ルールを使用してよい。複数のユーザカテゴリは、「所有者」、「家族:大人」、「家族:子供」、「友人」、「新規ユーザ」またはそれらの組合せを含み得る。アクセス制御コンポーネント246は、複数のユーザまたはユーザカテゴリの各々を対応するアクセス許可レベルにマッピングする(たとえばデータリポジトリ118の)データ構造にアクセスすることができる。アクセス制御コンポーネント246は、アクセスされたデータ構造に基づいて、判定された最終的なユーザアイデンティティまたはユーザカテゴリに関連したアクセス許可レベルを判定することができる。
アクセス制御コンポーネント246は、アクセス許可レベルに応答して、乗物130を介して利用可能な機能のセットのサブセットを識別することができる。デジタルアシスタントアプリケーション128は、個別のユーザまたはユーザカテゴリに関連したデータを、複数の個別のデータアカウントまたは複数の個別のメモリパーティションに配置することができる。所与のユーザに関して、対応するデータアカウントまたはメモリパーティションは、ユーザに関連したデータ、ユーザに関連したマルチメディアファイル、ユーザに関するアクセス設定(たとえば許可レベルまたはアクセス可能な機能)、またはそれらの組合せを含むことができる。乗物130を介して利用可能な機能のセットは、乗物130の記憶装置に記憶されたデータ(たとえばデータアカウントまたはメモリパーティションに関連したデータ)にアクセスすること、ローカルに記憶された再生リストにアクセスすること、ローカルに記憶された媒体ファイル(または無線チャネル)のレンダリングを制御すること、乗物の窓またはドアを作動させること、乗物のドアをロックまたはロック解除すること、乗物のエアコン(AC)の設定を調節すること、住宅の車庫のドアを遠隔で開閉すること、住宅関連の設定(たとえば住宅AC、ホームセキュリティシステム、スプリンクラ、またはそれらの組合せ)を制御または調節すること、オンラインサービスまたはモバイルアプリケーション(たとえばオンラインのストリーミングまたはダウンロード、オンラインショッピング、または電子メール)にアクセスすること、またはそれらの組合せなど、デジタルアシスタントアプリケーション128によって遂行され得る機能またはタスクを含むことができる。デジタルアシスタントアプリケーション128は、たとえば対応するユーザまたはユーザカテゴリを指定するセキュリティキーを別個に使用して、それぞれのデータアカウントまたはメモリパーティションを暗号化することができる。セキュリティキーは、たとえば対応するユーザに関連した情報(たとえばモバイルデバイスまたは他の識別子)をハッシュすることによって定義され得る(または生成され得る)。デジタルアシスタントアプリケーション128は、様々なユーザに関連した再生リスト(またはセキュリティ面もしくはプライバシー面での配慮が不要な他のデータ)を共通の記憶領域へとグループ化するかまたは組み合わせ得る。たとえば、グループ化された再生リストは、乗物130に乗る様々なユーザにとってアクセス可能でよい。
それぞれのアクセス許可レベルは、利用可能な機能のセットのそれぞれのサブセットに関連付けられ得る。アクセス許可レベルと対応する機能のサブセットの間の関連性(またはマッピング)は、デジタルアシスタントアプリケーション128の管理者(たとえば乗物130の所有者)によって設定され得、または調節可能であり得る。アクセス許可レベルと機能の対応するサブセットの間の関連性(またはマッピング)は、データリポジトリ118に記憶された第2のデータ構造(たとえば表)に維持され得る。アクセス制御コンポーネント246は、判定された許可レベルに関連した機能のサブセットを、第2のデータ構造に基づいて判定することができる。
アクセス制御コンポーネント246は、アクセス許可レベルを判定することなく、判定された認証状態(たとえば第1の認証状態および第2の認証状態)に少なくとも部分的に基づき、乗物130を介して利用可能な機能のセットのサブセットを直接識別することができる。たとえば、アクセス制御コンポーネント246は、判定された認証状態に基づいてユーザカテゴリを識別した後に、それぞれのユーザカテゴリを対応する機能のサブセットにマッピングするデータ構造にアクセスして、機能のサブセットを識別することができる。複数の認証状態、アクセス許可レベル、機能のサブセット、またはそれらの組合せを判定することは、多要素認証処理を表す。
(乗物のデータ構造140の)デジタルアシスタントアプリケーション128は、判定された機能のサブセットへの乗物アクセス(vehicular access)を与えることができる。デジタルアシスタントアプリケーション128は、乗物130内のユーザから可聴の要求を受け取ったとき、対応する要求されたアクションまたは機能を識別することができる。たとえば、指示アクションAPIコンポーネント112は、要求されたアクションまたは機能を表すアクションデータ構造を生成することができる。検証エンジン116は、それぞれのアクションデータ構造について、対応するアクションまたは機能を、要求者のアクセス許可レベルにマッピングされた機能のサブセットと比較して、アクション(または機能)を許容するかそれとも拒否するか判定することができる。アクションまたは機能を拒否する、または阻止するとき、デジタルアシスタントアプリケーション128(または検証エンジン116)は、対応するアクションデータ構造を削除し、スピーカ132を通じて音声出力を供給して、要求者は要求した機能にアクセスできないことを指示し得る。対応する機能またはアクションを遂行するときに、能動的なステップを採用する前にアクションデータ構造を拒否する、または阻止すると、不必要な通信や計算が避けられるので、リソース(たとえば計算リソースおよび帯域幅リソース)の利用が効率的になる。アクションデータ構造に対応するアクションが、要求者がアクセス可能な機能のサブセットの中の機能と一致する場合には、検証エンジンは、アクションデータ構造を実行のために別のコンポーネントへ転送することができる。デジタルアシスタントアプリケーション128は、要求された機能へのアクセスが許可されたことを指示する音声出力信号を(たとえばスピーカ132を通じて)供給してよい。機能が実行されたとき、デジタルアシスタントアプリケーション128は、(たとえばスピーカ132を通じて)音声出力信号を供給して、要求が満たされたことを指示してよい。
アクセス制御コンポーネント246は、所与のユーザに関するアクセス許可レベルまたは許容された機能のサブセットを判定するとき、乗物を占有するそれぞれのユーザについて、そのユーザが位置する乗物130の対応するシート200を判定することができる。アクセス制御コンポーネント246は、シートセンサ信号、ドアセンサ信号、運動センサ信号、マイクロフォン214からの音声入力信号、カメラ216からのデジタル画像、またはそれらの組合せを使用して、乗物内のそれぞれのユーザを対応するシート200にマッピングしてよい。そのようなマッピングは乗物130の占有状態を表すことができ、それによって、後に乗物内の個別のユーザから受け取られた可聴の要求を区別するのが容易になり得る。たとえば、デジタルアシスタントアプリケーション128は、乗物の窓を開く可聴の要求または乗物のドアをロック解除する可聴の要求を受け取ったとき、たとえば乗物内の個別のマイクロフォン214に関連した可聴の要求の記録されたインスタンスに基づいて、可聴の要求が、前部座席シートの大人からのものかそれとも後部座席シートの人からのものかを判定することができる。デジタルアシスタントアプリケーション128は、可聴の要求の記録されたインスタンスの振幅またはこれらのインスタンスの間の遅延時間を比較して、可聴の要求をしているユーザに最も近いマイクロフォン214(したがって関連したシート)を識別することができる。可聴の要求をしているユーザに最も近いマイクロフォン214によって記録された可聴の要求のインスタンス(たとえば対応する電気信号)は、要求しているユーザより遠くにある他のマイクロフォン214に関連した他のインスタンスよりも到着するのが早く、より大きい振幅を有し得る。デジタルアシスタントアプリケーション128は、要求者に最も近いマイクロフォン214を識別することにより、シート200とユーザの間のマッピングを使用して要求者を識別することができる。
デジタルアシスタントアプリケーション128(またはエントリ検知コンポーネント142)は、受け取られたセンサ信号(たとえばキーフォブ信号、少なくとも2つの別個のシートのセンサ信号、少なくとも2つのドアセンサ信号、少なくとも2つの運動センサ信号、点火システム信号、空気圧センサ信号、またはそれらの組合せ)を使用して、第1のユーザおよび第2のユーザが乗物に入ることを表す2つのエントリイベントを検知し得る。2つのエントリイベントは、第1のユーザおよび第2のユーザによる乗物の同時の占有に関連付けられ得る。エントリ認証コンポーネント144は、2つのエントリイベントに応答して、(たとえば第1のユーザに関連した)第1の複数の認証入力信号および(たとえば第2のユーザに関連した)第2の複数の認証入力信号を受け取ることができる。たとえば、第1の複数の認証入力信号および第2の複数の認証入力信号は、(たとえば個別のマイクロフォン214からの)少なくとも2つの入力音声信号、(たとえば個別のカメラ216からの)少なくとも2つのデジタル画像、(たとえば個別のモバイルクライアントデバイス150からの)少なくとも2つのモバイルデバイスID認証信号、キーフォブ信号、またはそれらの組合せを含むことができる。
エントリ認証コンポーネント144は、第1の複数の認証入力信号と複数の認証情報のうちの認証情報の第1のセットとに基づいて、第1の複数の認証状態を判定することができる。エントリ認証コンポーネント144は、(第1のユーザに関連した)第1の複数の認証入力信号のそれぞれの認証入力信号を、(たとえば様々なタイプの認証入力信号に関して上記で説明されたように)複数の認証情報のうちの対応する認証情報に対して検査して、第1の複数の認証状態を判定することができる。エントリ認証コンポーネント144は、(第2のユーザに関連した)第2の複数の認証入力信号のそれぞれの認証入力信号を、複数の認証情報のうちの対応する認証情報に対して検査して、第2の複数の認証状態を判定することができる。
アクセス制御コンポーネント246は、第1の複数の認証状態に少なくとも部分的に基づいて(たとえば第1のユーザに関する)第1のアクセス許可レベルを識別することができ、また、第1のアクセス許可レベルに応答して、乗物130を介して利用可能な機能のセットのうちの第1のサブセットを識別することができる。アクセス制御コンポーネント246は、第1の複数の認証状態に基づいて、第1のユーザまたは対応するユーザカテゴリを識別することができ、また、アクセス許可レベルを対応する機能のサブセットにマッピングするデータ構造に基づいて、第1のアクセス許可レベルを識別することができる。同様に、アクセス制御コンポーネント246は、第2の複数の認証状態に少なくとも部分的に基づいて(たとえば第2のユーザに関する)第2のアクセス許可レベルを識別することができ、また、第2のアクセス許可レベルに応答して、乗物130を介して利用可能な機能のセットのうちの第2のサブセットを識別することができる。アクセス制御コンポーネント246は、第1のアクセス許可レベルおよび第2のアクセス許可レベルを判定することなく、判定された認証状態に少なくとも部分的に基づいて、機能のセットのうちの第1のサブセットおよび第2のサブセットを直接識別することができる。たとえば、アクセス制御コンポーネント246は、判定された認証状態に基づいて第1のユーザカテゴリおよび第2のユーザカテゴリを識別した後に、それぞれのユーザカテゴリを対応する機能のサブセットにマッピングするデータ構造にアクセスして、第1のサブセットおよび第2のサブセットを識別することができる。
デジタルアシスタントアプリケーション128は、第1のユーザに、機能の第1のサブセットへの乗物アクセスを与えることができ、第2のユーザに、機能の第2のサブセットへの乗物アクセスを与えることができる。第1のユーザに機能の第1のサブセットへのアクセスを与えるステップは、検証エンジン116が、第1のユーザによる要求に関連したアクションデータ構造をインターセプトして、対応するアクション(または要求された機能)が第1のサブセットの中の機能のいずれかと一致するかどうかを検査するステップを含み得る。一致が見つからなければ、検証エンジン116は、アクションデータ構造を削除して、対応するアクションまたは要求された機能を阻止することができ、デジタルアシスタントアプリケーション128は、アクセスの拒否を第1のユーザに通知するための音声出力を供給することができる。そうでなければ、デジタルアシスタントアプリケーション128は機能を遂行することができ、アクセスの許可または要求された機能の完了を表す音声出力を供給し得る。同様に、第2のユーザに機能の第2のサブセットへのアクセスを与えるステップは、検証エンジン116が、第2のユーザが要求した機能に関連したアクションデータ構造をインターセプトして、アクションデータ構造の対応するアクション(または要求された機能)を第2のサブセットの機能と比較するステップを含み得る。デジタルアシスタントアプリケーション128は、比較に基づいて、第2のユーザが要求した機能を遂行するかそれとも阻止するかを決定することができる。
デジタルアシスタントアプリケーション128は、(たとえばデータリポジトリ118または乗物130の記憶装置に記憶されている)データアカウントまたはメモリパーティションを監視してよい。デジタルアシスタントアプリケーション128が、対応するユーザの最後のエントリイベント(または最後のイグジットイベント)から所定の期間を超えないある期間にわたってデータアカウントまたはメモリパーティションの各々を維持し得るので、データアカウントまたはメモリパーティションは一時的なものでよい。デジタルアシスタントアプリケーション128は、それぞれのデータアカウントまたはメモリパーティションに関する個別の時間カウンタを維持することができる。デジタルアシスタントアプリケーション128は、データアカウントに関連したユーザによるエントリイベント(またはイグジットイベント)が検知されるのに応答して所与のデータアカウントに関する時間カウンタをリセットすることができる。時間カウンタが所定の期間(たとえば一週間、数週間、一か月、または数か月)を超えると、デジタルアシスタントアプリケーション128は対応するデータアカウントまたはメモリパーティション(またはそのデータ)を削除することができる。データアカウント(またはメモリパーティション)はローカルに記憶されるので、一時的データアカウントを使用すると乗物のメモリリソースを効率的に使用することができる。
デジタルアシスタントアプリケーション128(またはエントリ検知コンポーネント142)は、ユーザの乗物130からの退出を表すイグジットイベントを検知することができる。たとえば、エントリ検知コンポーネント142は、1つまたは複数の追加のセンサ信号(たとえば点火システム信号、シートセンサ信号、運動検知信号、空気圧信号、ドアセンサ信号、キーフォブ信号、またはそれらの組合せ)を受け取ることができる。1つまたは複数の追加のセンサ信号は、点火システムがオフになること、以前に占有されていたシート200が空いていること、乗物130の内部で検知される運動の低下、(たとえばドアの開閉時の)乗物130内部の空気圧における実質的な変化、ドアの開閉、ドアの遠隔ロック、またはそれらの組合せを表すことができる。エントリ検知コンポーネント142は、1つまたは複数の追加のセンサ信号に基づいて、ユーザが乗物130を退出するのを判定することができる。
デジタルアシスタントアプリケーション128は、イグジットイベントに応答して乗物130の占有状態を更新することができる。たとえば、デジタルアシスタント128は、(たとえば追加のセンサ信号に基づいて)特定のユーザが乗物130から去ったと判定すると、乗物130内のシート200にマッピングされたユーザのリストからこのユーザを削除すること、対応するシート200を空席として設定すること、またはそれらの組合せによって、乗物の占有状態を更新することができる。デジタルアシスタントアプリケーション128は、占有状態の更新に応答して、退去したユーザのデータアカウントに関連した時間カウンタをリセットすることができる。デジタルアカウントアシスタントは、退去したユーザに関連した一時的データアカウント(またはメモリパーティション)を暗号化し得る。デジタルアシスタントアプリケーション128は、同じユーザが(そのユーザによる新規のエントリイベントの後に)乗物130の中で再び認証されるまで、乗物130を去ったユーザに関連した一時的データアカウントをアクセス不可能なものと設定することができる。
モバイルクライアントデバイス150は、デジタルアシスタントアプリケーション128の対応するインスタンスを含む対応するデータ処理システム(どちらも図1には示されていない)を含むことができる。モバイルクライアントデバイス150に関連したデータ処理システムおよびデジタルアシスタントアプリケーション128は、遠隔データ処理システム102および乗物データ処理システム140に関して論じられたものと類似のコンポーネントを含み得る。
乗物データ処理システム140に関して上記で説明された処理(たとえば多要素認証および乗物130を介して利用可能な機能へのアクセス制御に関係のある処理)は、遠隔データ処理システム102またはクライアントデバイス150のデータ処理システムによって遂行され得る。たとえば、乗物データ処理システム140(または対応するデジタルアシスタントアプリケーション128)は、センサ信号、認証入力信号、またはそれらの組合せを受け取って、(たとえばクライアントデバイス150を介して)遠隔データ処理システム102に、またはクライアントデバイス150に関連したデータ処理システムに、伝送し得る。エントリイベントの検知、多要素認証、またはアクセス許可レベルもしくはアクセス可能な機能の判定は、遠隔データ処理システム102またはクライアントデバイス150に関連したデータ処理システムによって遂行され得る。
図3は、乗物エントリイベントの多要素エントリ認証の例示の方法300を示すものである。方法300は、乗物に設置された第1のセンサによって取得された少なくとも1つのセンサ信号を受け取るステップ(ブロック302)を含むことができる。方法300は、少なくとも1つのセンサ信号に基づいて、乗物へのエントリイベントを判定するステップ(ブロック304)を含むことができる。方法300は、乗物へのエントリイベントに応答して、第1の認証入力信号および第2の認証入力信号を受け取るステップ(ブロック306)を含むことができる。方法300は、第1の認証入力信号と複数の認証情報のうちの第1の認証情報とに基づいて、第1の認証状態を判定するステップ(ブロック308)を含むことができる。方法300は、第2の認証入力信号と複数の認証情報のうちの第2の認証情報とに基づいて、第2の認証状態を判定するステップ(ブロック310)を含むことができる。方法300は、第1の認証状態および第2の認証状態に少なくとも部分的に基づき、複数のアクセス許可レベルのうちの1つのアクセス許可レベルを識別するステップ(ブロック312)を含むことができる。方法300は、アクセス許可レベルに応答して、乗物を介して利用可能な機能のセットのサブセットを識別するステップ(ブロック314)を含むことができる。方法300は、データ処理システムが、機能のサブセットへの乗物アクセスを提供するステップ(ブロック316)を含むことができる。一般に、方法300は、図1および図2のコンポーネントに関して論じられたステップのうちの任意のものを含むことができる。
図1〜図3を参照して、方法300は、デジタルアシスタントを含むデータ処理システムが、乗物に設置された第1のセンサによって取得された少なくとも1つのセンサ信号を受け取るステップ(ブロック302)を含むことができる。データ処理システムは、遠隔データ処理システム102と、乗物データ処理システム140またはモバイルクライアントデバイス150に関連したデータ処理システムとを含むことができる。データ処理システムは、たとえばキーフォブ受信器デバイス210からのキーフォブ信号、ドアセンサ204からのドアセンサ信号、シートセンサ202からのシートセンサ信号、運動センサ206からの運動センサ信号、空気圧センサからの圧力信号、乗物点火システムからの点火信号(たとえば点火システムのオン状態を表す)またはそれらの組合せを受け取ることができる。
方法300は、データ処理システムが、少なくとも1つのセンサ信号に基づいて、乗物130へのエントリイベントを判定するステップ(ブロック304)を含むことができる。エントリイベントは、ユーザが乗物130に入ることを表し得る。データ処理システムは、単一タイプのセンサ136からのセンサ信号に基づいてエントリイベントを判定してよく、または2つ以上のタイプのセンサ136からのセンサ信号(たとえば点火信号およびシートセンサ信号)に基づいてエントリイベントを判定してよい。データ処理システムは、1つまたは複数の決定ルールまたは決定グラフを使用してエントリイベントを判定し得る。決定ルールまたは決定グラフは、エントリイベントの発生を意味するセンサ信号の組合せを表すことができる。
方法300は、データ処理システムが、乗物へのエントリイベントに応答して、第1の認証入力信号および第2の認証入力信号を受け取るステップ(ブロック306)を含むことができる。第1の認証入力信号および第2の認証入力信号は、乗物130に関連した少なくとも1つの別のセンサ(たとえばキーフォブ受信器デバイス210、マイクロフォン314、カメラ216、または通信トランシーバ218)によって取得され得る。データ処理システムは2つ以上の認証入力信号を受け取り得る。2つ以上の認証入力信号は、少なくとも2つの異なるタイプのセンサによって取得された別個のタイプでよい。たとえば、エントリ認証コンポーネント144は、(1)キーフォブ受信器デバイス210からのキーフォブ認証信号、(2)対応するモバイルクライアントデバイス(たとえばスマートフォン、タブレット、またはスマートウォッチ)150からのモバイルデバイス識別子(ID)認証信号、(3)マイクロフォン214からの音声入力信号、または(4)カメラ216からのデジタル画像のうちの少なくとも2つを受け取ることができる。データ処理システムは、(図1および図2に関して上記で論じられたように)エントリイベントに応答して、対応する認証入力信号を供給するために、乗物130に関連した2つ以上のプロセッサ(または電子デバイス)をトリガすることができる。
方法300は、データ処理システムが、第1の認証入力信号と複数の認証情報のうちの第1の認証情報とに基づいて、第1の認証状態を判定するステップ(ブロック308)と、第2の認証入力信号と複数の認証情報のうちの第2の認証情報とに基づいて、第2の認証状態を判定するステップ(ブロック310)とを含むことができる。第1の認証状態と第2の認証状態の両方を判定するステップは、多要素認証処理と捉えられ得る。データ処理システムは、受け取られた認証入力信号の数に依拠して、2つを超える認証状態を判定し得る。データ処理システムは、受け取られた認証入力信号の各々について、個別の認証を遂行して対応する認証状態を判定することができる。それぞれの認証状態が、対応する認証が成功するか否かを表すことができる。データ処理システムが、その認証に基づいて特定のユーザまたはユーザカテゴリを識別することができるなら、認証は成功し得る。認証が成功すると、認証状態は、識別されたユーザまたはユーザカテゴリを表すことができる。認証が成功すると、認証状態は、それぞれの識別されたユーザまたはユーザカテゴリに関する確率値を表し得る。認証が不成功であると、対応する認証状態は、不成功の理由(たとえば不適当な認証入力信号または一致する認証情報の欠如)を表し得る。様々なタイプの認証入力信号について認証状態を判定する処理は、図1および図2に関して上記で説明されている。
方法300は、データ処理システムが、第1の認証状態および第2の認証状態に少なくとも部分的に基づき、複数のアクセス許可レベルのうちの1つのアクセス許可レベルを識別するステップ(ブロック312)を含むことができる。方法300は、データ処理システムが、アクセス許可レベルに応答して、乗物を介して利用可能な機能のセットのサブセットを識別するステップ(ブロック314)を含むことができる。データ処理システムは、判定された認証状態に基づいて、特定のユーザまたは複数のユーザカテゴリのそれぞれのユーザカテゴリを識別することができる。たとえば、データ処理システムは、様々な認証状態の情報(たとえば、ユーザまたはユーザカテゴリおよび適用可能であれば対応する確率値の指示)を比較して、乗物130を占有している個人に関連した最終的なユーザアイデンティティまたはユーザカテゴリを識別することができる。複数のユーザカテゴリは、たとえば「所有者」、「家族:大人」、「家族:子供」、「友人」、「新規ユーザ」、またはそれらの組合せを含み得る。データ処理システムは、それぞれのユーザまたはユーザカテゴリを対応するアクセス許可レベルにマッピングするデータ構造に基づいて、判定された最終的なユーザアイデンティティまたはユーザカテゴリに関連したアクセス許可レベルを判定することができる。データ処理システムは、それぞれのアクセス許可レベルを機能の対応するサブセットにマッピングする別のデータ構造に基づいて、機能のサブセットを識別することができる。
乗物130を介して利用可能な機能のセットは、乗物130の記憶装置に記憶されたデータ(たとえばデータアカウントまたはメモリパーティションに関連したデータ)にアクセスすること、ローカルに記憶された再生リストにアクセスすること、ローカルに記憶された媒体ファイル(または無線チャネル)のレンダリングを制御すること、乗物の窓またはドアを作動させること、乗物のドアをロックまたはロック解除すること、乗物のエアコン(AC)の設定を調節すること、住宅の車庫のドアを遠隔で開閉すること、住宅関連の設定(たとえば住宅AC、ホームセキュリティシステム、スプリンクラ、またはそれらの組合せ)を制御または調節すること、オンラインサービスまたはモバイルアプリケーション(たとえばオンラインのストリーミングまたはダウンロード、オンラインショッピング、または電子メール)にアクセスすること、またはそれらの組合せなど、データ処理システムのデジタルアシスタントアプリケーション128によって遂行され得る機能またはタスクを含むことができる。ブロック312および314における各行為は、第1の認証状態および第2の認証状態に基づいて機能のサブセットを判定する(たとえばアクセス許可レベルを判定するステップのない)単一のステップへと組み合わされ得る。
方法300は、データ処理システムが、機能のサブセットへの乗物アクセスを提供するステップ(ブロック316)を含むことができる。データ処理システムは、乗物130のユーザから可聴の要求を受け取って、対応する要求されたアクションまたは機能を識別することができる。データ処理システムは、要求された機能を表すアクションデータ構造を生成し、要求された機能を、要求者のアクセス許可レベルにマッピングされた機能のサブセットと比較して、要求された機能を許可するべきかそれとも拒否するべきか判定する。データ処理システムは、(図1および図2に関して上記で論じられたように)比較に基づいて、要求された機能を実行するかまたは実行を阻止することができる。
図1および図2に関して上記で説明されたように、データ処理システムは、個別のユーザまたはユーザカテゴリに関連したデータを複数の個別の一時的データアカウント(または一時的メモリパーティション)に配置し、所定の期間にわたって対応するエントリイベントのない任意のデータアカウント(またはメモリパーティション)を削除することができる。データ処理システムは、たとえば対応するユーザまたはユーザカテゴリを指定するセキュリティキーを使用して、それぞれのデータアカウントまたはメモリパーティションを別個に暗号化することができる。セキュリティキーは、たとえば対応するユーザに関連した情報(たとえばモバイルデバイスまたは他の識別子)をハッシュすることによって定義され得る(または生成され得る)。データ処理システムは、追加のセンサ信号に基づいてイグジットイベントを検知して、イグジットイベントに基づいて乗物の占有状態を更新することができる。
データ処理システムは、2人(以上)のユーザが乗物に入ることを表す2つ(以上)のエントリイベントを検知することができる。検知されたエントリイベントは、2人(以上)のユーザによる乗物130の同時の占有につながる可能性がある。データ処理システムは、図1および図2に関して上記で論じられたように、ユーザの各々について認証入力信号を受け取り、それぞれのユーザについて(識別された複数の認証状態を用いて)個別の多要素認証を遂行することができる。データ処理システムは、それぞれのユーザのアクセス可能な機能の個別のアクセス許可レベルおよび個別のサブセットを判定することができる。データ処理システムは、次いで、機能の対応するサブセットへのそれぞれのユーザアクセスを許可することができる。
図4は例示のコンピュータシステム400のブロック図である。コンピュータシステムまたはコンピュータデバイス400は、システム100、または遠隔データ処理システム102、乗物データ処理システム140、もしくはモバイルクライアントデバイス150に関連したデータ処理システムなどシステム100のコンポーネントを含み得、またはそれらを実施するために使用され得る。コンピュータシステム400は、情報を通信するためのバス405または他の通信コンポーネントと、バス405に結合された、情報を処理するためのプロセッサ410または処理回路とを含む。コンピュータシステム400は、バスに結合された、情報を処理するための1つまたは複数のプロセッサ410または処理回路も含むことができる。コンピュータシステム400はまた、バス405に結合された、情報とプロセッサ410によって実行される命令とを記憶するためのランダムアクセスメモリ(RAM)または他の動的記憶デバイスなどのメインメモリ415を含む。メインメモリ415はデータリポジトリ118であり得、またはデータリポジトリ118を含むことができる。メインメモリ415はまた、プロセッサ410によって、命令の実行中に、位置情報、一時変数、または他の中間情報を記憶するために使用され得る。コンピュータシステム400は、バス405に結合された、静的情報およびプロセッサ410向けの命令を記憶するための読み取り専用メモリ(ROM)420または他の静的記憶デバイスをさらに含み得る。ソリッドステートデバイス、磁気ディスクまたは光ディスクなどの記憶デバイス425はバス405に結合され得、情報および命令を持続的に記憶する。記憶デバイス425はデータリポジトリ118を含み得、またはその一部分であり得る。
コンピュータシステム400は、ユーザに情報を表示するための液晶ディスプレイまたはアクティブマトリクスディスプレイなどのディスプレイ435に対してバス405を介して結合され得る。英数字および他のキーを含むキーボードなどの入力デバイス430は、プロセッサ410に対して情報および命令の選択を通信するためのバス405に結合されてよい。入力デバイス430はタッチスクリーンディスプレイ435を含むことができる。入力デバイス430は、プロセッサ410に対して指示情報および命令選択を通信するため、およびディスプレイ435上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御も含むことができる。ディスプレイ435は、たとえばデータ処理システム102、クライアントコンピュータデバイス150、乗物130のヘッドユニット220、または図1および図2の他のコンポーネントの一部分であり得る。
本明細書で説明された処理、システムおよび方法は、プロセッサ410がメインメモリ415に保持された命令の配列を実行するのに応答して、コンピュータシステム400によって実施され得るものである。そのような命令は、記憶デバイス425などの別のコンピュータ可読媒体からメインメモリ415に読み込まれ得る。メインメモリ415に保持された命令の配列が実行されると、コンピュータシステム400が、本明細書で説明された例示の処理を遂行する。メインメモリ415に保持された命令を実行するために、多重処理機構における1つまたは複数のプロセッサも採用され得る。配線接続された回路が、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、本明細書で説明したシステムおよび方法とともに使用され得る。本明細書で説明されたシステムおよび方法は、ハードウェア回路とソフトウェアのいかなる特定の組合せにも限定されない。
図4には例示のコンピュータシステムが説明されているが、本明細書で説明された動作を含む主題は、他のタイプのデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくは本明細書で開示された構造を含むハードウェアおよびそれらの構造的等価物、またはそれらのうちの1つまたは複数の組合せで実施され得る。
本明細書で説明された主題および動作は、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくは本明細書で開示された構造を含むハードウェアおよびそれらの構造的等価物、またはそれらのうちの1つまたは複数の組合せで実施され得る。本明細書で説明された主題は、データ処理装置によって実行するように、またはデータ処理装置の動作を制御するように、たとえば1つまたは複数のコンピュータ記憶媒体上に符号化された1つまたは複数のコンピュータプログラム命令の回路といった、1つまたは複数のコンピュータプログラムとして実施され得る。その代わりに、またはそれに加えて、プログラム命令は、たとえばデータ処理装置によって実行するために適切な受信器装置へ伝送する情報を符号化するように生成されたマシン生成の電気信号、光信号、または電磁気信号といった、人為的に生成されて伝搬される信号上に符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセスまたはシリアルアクセスのメモリアレイもしくはデバイス、またはそれらのうちの1つまたは複数の組合せであり得、またはそれに含まれ得る。コンピュータ記憶媒体は伝搬する信号ではないが、人為的に生成されて伝搬する信号における符号化されたコンピュータプログラム命令の供給源または送付先になり得る。コンピュータ記憶媒体はまた、1つまたは複数の個別のコンポーネントまたは媒体(たとえば複数のCD、ディスクまたは他の記憶デバイス)であり得、またはこれらに含まれ得る。本明細書で説明された動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたデータまたは他の供給源から受け取られたデータに基づいて、データ処理装置によって遂行される動作として実施され得る。
「データ処理システム」、「コンピュータデバイス」、「コンポーネント」、または「データ処理装置」という用語は、データを処理するための、様々な装置、デバイス、およびマシンを包含するものであり、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくはそれらの複数、または前述のものの組合せを含む。上記の装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)といった専用論理回路を含むことができる。上記の装置は、ハードウェアに加えて、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、プラットホームにわたる実行時環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを構成するコードといった、当のコンピュータプログラムの実行環境を生成するコードも含むことができる。上記の装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングのインフラストラクチュアなど、様々な異なるコンピューティングモデルのインフラストラクチュアを実現することができる。システム100のコンポーネントは、1つまたは複数のデータ処理装置、システム、コンピュータデバイス、またはプロセッサを含むかまたは共用することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、app、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形式のプログラム言語で書かれ得、スタンドアロンのプログラムまたはモジュールとして、コンポーネント、サブルーチン、オブジェクト、もしくはコンピュータ環境で用いるのに適切な他のユニットを含む任意の形態で配備され得る。コンピュータプログラムはファイルシステムのファイルに対応し得る。コンピュータプログラムは、他のプログラムまたはデータを保有するファイルの一部分(たとえばマークアップ言語のドキュメントに記憶された1つまたは複数のスクリプト)、当のプログラムに専用の単一ファイル、または複数の協調ファイル(たとえば1つまたは複数のモジュール、サブプログラム、またはコードの一部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置された、もしくは複数のサイトに分散して通信ネットワークで相互に接続された、複数のコンピュータ上で、実行されるように配備され得る。
本明細書で説明された処理および論理の流れは、入力データに作用して出力を生成することによりアクションを遂行する1つまたは複数のコンピュータプログラム(たとえば遠隔データ処理システム102、乗物データ処理システム140、またはモバイルクライアントデバイス150に関連したデータ処理システムのコンポーネント)を実行する1つまたは複数のプログラマブルプロセッサによって遂行され得るものである。上記の処理および論理の流れは、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった専用論理回路によっても遂行され得、各装置もこれらとして実施され得る。コンピュータプログラム命令およびデータを記憶するのに適切なデバイスは、すべての形態の不揮発性のメモリ、媒体および記憶デバイスを含み、例として、たとえばEPROM、EEPROM、フラッシュメモリ素子といった半導体メモリ素子、たとえば内部ハードディスク、取外し可能ディスクといった磁気ディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補われ得、またはこれに組み込まれ得る。
本明細書で説明された主題は、たとえばデータサーバとしてのバックエンドコンポーネントを含むコンピュータシステム、またはたとえばアプリケーションサーバといったミドルウェアコンポーネントを含むコンピュータシステム、またはたとえばユーザと本明細書で説明された主題の実装形態との相互作用を可能にするグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータといったフロントエンドコンポーネントを含むコンピュータシステム、あるいはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントのうちの1つまたは複数の組合せで実施され得る。システムのコンポーネントは、たとえば通信ネットワークといった任意の形式のデジタルデータ通信の媒体によって相互に接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、相互接続ネットワーク(たとえばインターネット)、およびピアツーピアネットワーク(たとえばアドホックなピアツーピアネットワーク)を含む。
システム100またはシステム400などのコンピュータシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的には互いに遠隔であり、一般的には通信ネットワーク(たとえばネットワーク148)を通じて相互作用する。クライアントとサーバの関係は、互いにクライアントとサーバの関係を伴ってそれぞれのコンピュータ上で実行されるコンピュータプログラムによって生じる。いくつかの実装形態では、サーバは、(たとえばクライアントデバイスと相互作用するユーザにデータを表示してユーザ入力を受け取るために)クライアントモバイルデバイス150または乗物130のヘッドユニット220にデータ(たとえばコンテンツアイテムを表すデータパケット)を伝送する。モバイルクライアントデバイス150または乗物データ処理システム140において生成されたデータ(たとえばユーザとの相互作用の結果)は、サーバに受け取られ得る(たとえばデータ処理システム102によってモバイルクライアントデバイス150または乗物130から受け取られる)。
図面では動作が特定の順序で表されているが、そのような動作は示された特定の順序で遂行する必要性または連続して遂行する必要性はなく、図示された動作をすべて遂行する必要性もない。本明細書で説明されたアクションは、異なる順序で遂行され得る。
様々なシステムコンポーネントの分離は、すべての実装形態における分離を必要とするわけではなく、説明されたプログラムコンポーネントは、単一のハードウェアまたはソフトウェア製品に含まれ得る。たとえば、NLPコンポーネント106および検証エンジン116は、単一のコンポーネント、app、またはプログラム、または1つもしくは複数の処理回路を有する論理デバイス、または遠隔データ処理システム102もしくは乗物データ処理システム140の1つまたは複数のサーバの一部分であり得る。
いくつかの例示の実装形態が説明されてきたが、前述のものは例として提示されており、例示であって限定ではないことが明白である。詳細には、本明細書で提示された例の多くは方法の行為またはシステム要素の特定の組合せを包含しているが、それらの行為およびそれらの要素は同じ目的を達成するための他のやり方で組み合わされてよい。1つの実装形態に関連して論じられた行為、要素、および特徴は、他の実装形態における類似の役割から除外されるようには意図されない。
本明細書で使用される語法および専門用語は説明のためのものであり、限定するものと見なされるべきでない。本明細書における「含む」、「備える」、「有する」、「保持する」、「包含する」、「によって特徴付けられた」、「ことを特徴とする」、およびそれらの変形の使用は、その後に列記された項目、それらの等価物、および追加項目、ならびに、その後に排他的に列記された項目から成る代替実装形態を包含することを意味する。一実装形態では、本明細書で説明されたシステムおよび方法は、説明された要素、行為、またはコンポーネントのうちの1つ、複数のもののそれぞれの組合せ、あるいはすべてから成る。
本明細書のシステムおよび方法の実装形態または要素または行為へのあらゆる単数形の参照は、複数のこれらの要素を含む実装形態も包含し得、本明細書の実装形態または要素または行為へのあらゆる複数形の参照は、単一の要素のみを含む実装形態を包含し得る。単数形または複数形での参照は、現在開示されたシステムまたは方法、それらのコンポーネント、行為、または要素を単一の構成または複数の構成に限定するようには意図されていない。あらゆる情報、行為または要素に基づくあらゆる行為または要素への参照は、行為または要素が、あらゆる情報、行為、または要素に少なくとも部分的に基づく実装形態を含み得る。
本明細書で開示されたあらゆる実装形態が、任意の他の実装形態または実施形態と組み合わされてよく、また「一実装形態」、「いくつかの実装形態」、「1つの実装形態」等への参照は必ずしも相互に排他的ではなく、実装形態に関連して説明された特定の特徴、構造、または特性は、少なくとも1つの実装形態または実施形態に含まれ得ることを指示するように意図されている。本明細書で使用されたそのような用語は、必ずしもすべてが同一の実装形態を参照するわけではない。あらゆる実装形態が、任意の他の実装形態と、本明細書で開示された態様および実装形態と矛盾しない任意のやり方で包含的または排他的に組み合わされ得る。
「または」に対する参照は、「または」を使用して記述されたあらゆる用語が、記述された用語の「1つ」、「2つ以上」、および「すべて」のうちの任意のものを指示し得る包括的なものと解釈されてよい。「AおよびBのうちの少なくとも1つ」に対する参照は、「Aのみ」、「Bのみ」、ならびに「AとBの両方」を含むことができる。「備える」または他の開放型の用語に関連して使用されるそのような参照は、追加項目を含むことができる。
図面、発明を実施するための形態、またはいずれかの請求項における技術的特徴に参照符号が続く場合には、その参照符号は、図面、発明を実施するための形態、および特許請求の範囲の了解度を向上するために含まれるものである。それゆえに、参照符号の有無は、特許請求の範囲の要素の範囲について制限する効果はない。
本明細書で説明されたシステムおよび方法は、それらの特徴から逸脱することなく他の特定の形態で具現化され得るものである。前述の実装形態は説明されたシステムおよび方法を限定するものではなく例示である。したがって、本明細書で説明されたシステムおよび方法の範囲は前述の説明ではなく添付の特許請求の範囲によって指示され、特許請求の範囲の同等の意味および範囲内に入る変更形態はそこに包含される。