IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2023-552704第2のデバイスの近接性ベースの制御
<>
  • 特表-第2のデバイスの近接性ベースの制御 図1
  • 特表-第2のデバイスの近接性ベースの制御 図2
  • 特表-第2のデバイスの近接性ベースの制御 図3A
  • 特表-第2のデバイスの近接性ベースの制御 図3B
  • 特表-第2のデバイスの近接性ベースの制御 図3C
  • 特表-第2のデバイスの近接性ベースの制御 図4A
  • 特表-第2のデバイスの近接性ベースの制御 図4B
  • 特表-第2のデバイスの近接性ベースの制御 図4C
  • 特表-第2のデバイスの近接性ベースの制御 図5
  • 特表-第2のデバイスの近接性ベースの制御 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-19
(54)【発明の名称】第2のデバイスの近接性ベースの制御
(51)【国際特許分類】
   H04L 12/28 20060101AFI20231212BHJP
   G10L 15/00 20130101ALI20231212BHJP
   G06F 3/16 20060101ALI20231212BHJP
   G06F 3/01 20060101ALI20231212BHJP
   H04M 1/00 20060101ALI20231212BHJP
   H04M 1/72415 20210101ALI20231212BHJP
   H04M 1/72457 20210101ALI20231212BHJP
   H04Q 9/00 20060101ALI20231212BHJP
   H04L 67/52 20220101ALI20231212BHJP
【FI】
H04L12/28 500E
G10L15/00 200G
G06F3/16 630
G06F3/16 650
G06F3/01 510
H04M1/00 U
H04M1/72415
H04M1/72457
H04Q9/00 301D
H04Q9/00 331A
H04L67/52
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023530045
(86)(22)【出願日】2021-11-16
(85)【翻訳文提出日】2023-06-23
(86)【国際出願番号】 US2021059586
(87)【国際公開番号】W WO2022108953
(87)【国際公開日】2022-05-27
(31)【優先権主張番号】16/951,967
(32)【優先日】2020-11-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】ヴィクター・カルブネ
【テーマコード(参考)】
5E555
5K048
5K127
【Fターム(参考)】
5E555AA02
5E555AA16
5E555AA63
5E555AA64
5E555AA76
5E555BA05
5E555BA06
5E555BA15
5E555BA16
5E555BB05
5E555BB06
5E555BC02
5E555BC17
5E555CA10
5E555CA12
5E555CA44
5E555CA47
5E555CB12
5E555CB21
5E555CB42
5E555CB64
5E555CB74
5E555DB16
5E555DB18
5E555DC18
5E555DC22
5E555DD06
5E555EA09
5E555EA23
5E555FA00
5K048AA04
5K048BA02
5K048BA03
5K048BA07
5K048BA08
5K048DA02
5K048DB01
5K048DC01
5K048EB02
5K048EB12
5K048FB05
5K048FB10
5K048FB15
5K048HA01
5K048HA02
5K127AA36
5K127BA03
5K127BB22
5K127BB24
5K127BB33
5K127CA08
5K127CA27
5K127CB12
5K127CB21
5K127DA12
5K127DA15
5K127GA14
5K127GD15
5K127JA09
5K127JA23
(57)【要約】
方法(500)が、ユーザデバイス(200)の環境(32)内の複数のアシスタント対応デバイス(210)のそれぞれに関する近接性情報(250)を獲得することを含む。各アシスタント対応デバイスは、アシスタント対応デバイスに関連付けられたそれぞれのセットの利用可能なアクション(120)を実行すべくアシスタントアプリケーション(106)によって制御可能である。各アシスタント対応デバイスに関して、方法は、ユーザデバイスに相対的な対応するアシスタント対応デバイスの近接性推定値を示す近接性情報に基づいて、近接性スコア(260)を決定することも含む。方法は、アシスタント対応デバイスに関して決定された近接性スコアを使用して、候補アシスタント対応デバイスの格付けされたリスト(310)を生成すること、および格付けされたリストにおける各対応するアシスタント対応デバイスに関して、グラフィカルユーザインターフェース(GUI)(400)において、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロール(220)を表示することをさらに含む。
【特許請求の範囲】
【請求項1】
ユーザデバイス(200)のデータ処理ハードウェア(202)による、前記ユーザデバイス(200)の環境(32)内の複数のアシスタント対応デバイス(210)のそれぞれに関する近接性情報(250)を獲得するステップであって、前記複数のアシスタント対応デバイス(210)の各アシスタント対応デバイス(210)は、前記アシスタント対応デバイス(210)に関連付けられたそれぞれのセットの利用可能なアクション(120)を実行すべくアシスタントアプリケーション(106)によって制御可能である、獲得するステップと、
前記複数のアシスタント対応デバイス(210)の各アシスタント対応デバイス(210)に関して、前記データ処理ハードウェア(202)による、前記対応するアシスタント対応デバイス(210)に関して獲得された前記近接性情報(250)に基づいて近接性スコア(260)を決定するステップであって、前記近接性スコア(260)は、前記環境(32)における前記ユーザデバイス(200)に相対的な前記対応するアシスタント対応デバイス(210)の近接性推定値を示す、決定するステップと、
前記データ処理ハードウェア(202)による、前記複数のアシスタント対応デバイス(210)に関して決定された前記複数の近接性スコア(260)を使用して、前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の格付けされたリスト(310)を生成するステップと、
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における1つまたは複数の対応するアシスタント対応デバイス(210)のそれぞれに関して、前記データ処理ハードウェア(202)による、前記データ処理ハードウェア(202)と通信する画面上に表示されたグラフィカルユーザインターフェース(GUI)(400)において、前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するためのそれぞれのセットのコントロール(220)を表示するステップと
を含む方法(500)。
【請求項2】
前記データ処理ハードウェア(202)において、前記データ処理ハードウェア(202)上で実行するために前記アシスタントアプリケーション(106)を起動することを要求する前記ユーザデバイス(200)のユーザからのユーザ要求(108)を受信するステップをさらに含む方法(500)であって、
前記複数のアシスタント対応デバイス(210)のそれぞれに関して前記近接性情報(250)を獲得するステップは、前記データ処理ハードウェア(202)上で前記アシスタントアプリケーション(106)が実行される間に行われる、請求項1に記載の方法(500)。
【請求項3】
前記ユーザ要求(108)を受信するステップは、
前記画面上に表示された前記GUI(400)において、前記アシスタントアプリケーション(106)を代表するグラフィカル要素(402)の選択を示すユーザ入力指示を受け取るステップ、
前記ユーザから音声入力を受け取るステップであって、前記音声入力は、前記データ処理ハードウェア(202)上で実行するために前記アシスタントアプリケーション(106)を起動する呼出しコマンド(80)を含む、受け取るステップ、または
前記データ処理ハードウェア(202)上で実行するために前記アシスタントアプリケーション(106)を起動するように構成された前記ユーザデバイス(200)の事前定義された動き/ポーズを検出するステップのうちの1つを含む、請求項2に記載の方法(500)。
【請求項4】
前記ユーザデバイス(200)の前記環境(32)内の前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)に関して前記近接性情報(250)を獲得するステップは、
前記ユーザデバイス(200)のセンサにおいて、前記複数のアシスタント対応デバイス(210)の前記少なくとも1つのアシスタント対応デバイス(210)から送信された無線通信信号を受信するステップと、
前記ユーザデバイス(200)の前記センサにおいて受信された前記無線通信信号の信号強度に基づいて、前記少なくとも1つのアシスタント対応デバイス(210)に関して前記近接性情報(250)を決定するステップとを含む、請求項1から3のいずれか一項に記載の方法(500)。
【請求項5】
前記データ処理ハードウェア(202)による、前記ユーザデバイス(200)の前記環境(32)内の前記複数のアシスタント対応デバイス(210)の少なくとも1つのアシスタント対応デバイス(210)に関して方向性情報(255)を獲得するステップをさらに備え、この獲得するステップが、
前記ユーザデバイス(200)のセンサのアレイにおける各センサにおいて、前記複数のアシスタント対応デバイス(210)の前記少なくとも1つのアシスタント対応デバイス(210)から送信された無線通信信号を受信するステップ、および
前記少なくとも1つのアシスタント対応デバイス(210)に関する前記方向性情報(255)を、前記ユーザデバイス(200)のセンサの前記アレイにおける各センサにおいて受信された前記無線通信信号の、前記ユーザデバイス(200)のセンサの前記アレイにおけるその他のセンサにおいて受信された前記無線通信信号のそれぞれの信号強度に相対的なそれぞれの前記信号強度に基づいて、決定するステップ
によって行われ、
前記少なくとも1つのアシスタント対応デバイス(210)に関する前記近接性スコア(260)を決定するステップは、前記少なくとも1つのアシスタント対応デバイス(210)に関する前記方向性情報(255)にさらに基づく、請求項1から4のいずれか一項に記載の方法(500)。
【請求項6】
前記ユーザデバイス(200)の前記環境(32)内の前記複数のアシスタント対応デバイス(210)の少なくとも1つのアシスタント対応デバイス(210)に関して前記近接性情報(250)を獲得するステップは、
前記ユーザデバイス(200)において、前記複数のアシスタント対応デバイス(210)のうちの前記少なくとも1つのアシスタント対応デバイス(210)から出力された可聴の信号または可聴でない信号を受信するステップと、
前記少なくとも1つのアシスタント対応デバイス(210)から出力された前記可聴の信号または前記可聴でない信号のエネルギーおよび/または周波数に基づいて、前記少なくとも1つのアシスタント対応デバイス(210)に関する前記近接性情報(250)を決定するステップとを含む、請求項1から5のいずれか一項に記載の方法(500)。
【請求項7】
前記データ処理ハードウェア(202)において、前記複数のアシスタント対応デバイス(210)の各アシスタント対応デバイス(210)から、前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットの利用可能なアクション(120)を受け取るステップと、
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における各対応するアシスタント対応デバイス(210)に関して、前記データ処理ハードウェア(202)による、前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を決定するステップと
をさらに含む請求項1から6のいずれか一項に記載の方法(500)。
【請求項8】
前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)から受け取られた前記それぞれのセットの利用可能なアクション(120)における少なくとも1つの利用可能なアクション(120)は、現在のコンテクストに基づいて実行すべき前記対応するアシスタント対応デバイス(210)に関する示唆されるアクション(120)を含む、請求項7に記載の方法(500)。
【請求項9】
前記データ処理ハードウェア(202)において、前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)から、前記対応するアシスタント対応デバイス(210)に関連付けられたデバイス状態情報(215)を受信するステップをさらに含む方法(500)であって、
前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を決定するステップは、前記対応するアシスタント対応デバイス(210)に関連付けられた前記デバイス状態情報(215)にさらに基づく、請求項7または8に記載の方法(500)。
【請求項10】
前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成するステップは、前記ユーザデバイス(200)に相対的に最も近い近接性を有する前記アシスタント対応デバイス(210)から前記ユーザデバイス(200)に相対的に最も離れた近接性を有する前記アシスタント対応デバイス(210)まで前記アシスタント対応デバイス(210)を順序付けるステップを含む、請求項1から9のいずれか一項に記載の方法(500)。
【請求項11】
前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成するステップは、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)から、最大距離しきい値を満たす近接性推定値を示す近接性スコア(260)を含む任意のアシスタント対応デバイス(210)を破棄するステップを含む、請求項1から10のいずれか一項に記載の方法(500)。
【請求項12】
前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成するステップは、
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)から、最小距離しきい値を満たす近接性推定値を示す近接性スコア(260)を含む任意のアシスタント対応デバイス(210)を破棄するステップを含む、請求項1から11のいずれか一項に記載の方法(500)。
【請求項13】
前記データ処理ハードウェア(202)において、前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)から、前記少なくとも1つのアシスタント対応デバイス(210)に関連付けられたデバイス状態情報(215)を受信するステップと、
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成した後、前記データ処理ハードウェア(202)による、前記少なくとも1つのアシスタント対応デバイス(210)に関連付けられた前記デバイス状態情報(215)を使用して、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)において前記候補アシスタント対応デバイス(210)を格付けしなおすステップをさらに含む方法(500)であって、
前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を表示するステップは、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)において前記候補アシスタント対応デバイス(210)を格付けしなおす前記ステップに基づく、請求項1から12のいずれか一項に記載の方法(500)。
【請求項14】
前記複数のアシスタント対応デバイス(210)からの候補アシスタント対応デバイス(210)の格付けされたリスト(310)は、前記複数のアシスタント対応デバイス(210)に関して決定された前記複数の近接性スコア(260)のなかで高い方からN番目までの近接性スコア(260)を有する前記複数のアシスタント対応デバイス(210)から選択された前記アシスタント対応デバイス(210)を含む、請求項1から13のいずれか一項に記載の方法(500)。
【請求項15】
前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を表示するステップは、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における前記アシスタント対応デバイス(210)のうちの1つに関して、前記GUI(400)において、前記それぞれのセットのコントロール(220)を、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における前記アシスタント対応デバイス(210)の少なくとも別の1つに関して、前記GUI(400)において表示される前記それぞれのセットのコントロール(220)とは異なるように表示するステップを含む、請求項1から14のいずれか一項に記載の方法(500)。
【請求項16】
データ処理ハードウェア(202)と、
前記データ処理ハードウェア(202)と通信するメモリハードウェア(204)であって、前記データ処理ハードウェア(202)上で実行されると、前記データ処理ハードウェア(202)に、
ユーザデバイス(200)の環境(32)内の複数のアシスタント対応デバイス(210)のそれぞれに関する近接性情報(250)を獲得することであって、前記複数のアシスタント対応デバイス(210)の各アシスタント対応デバイス(210)は、前記アシスタント対応デバイス(210)に関連付けられたそれぞれのセットの利用可能なアクション(120)を実行すべくアシスタントアプリケーション(106)によって制御可能である、獲得すること、
前記複数のアシスタント対応デバイス(210)の各アシスタント対応デバイス(210)に関して、前記対応するアシスタント対応デバイス(210)に関して獲得された前記近接性情報(250)に基づいて近接性スコア(260)を決定することであって、前記近接性スコア(260)は、前記環境(32)における前記ユーザデバイス(200)に相対的な前記対応するアシスタント対応デバイス(210)の近接性推定値を示す、決定すること、
前記複数のアシスタント対応デバイス(210)に関して決定された前記複数の近接性スコア(260)を使用して、前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の格付けされたリスト(310)を生成すること、
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における1つまたは複数の対応するアシスタント対応デバイス(210)のそれぞれに関して、前記データ処理ハードウェア(202)と通信する画面上に表示されたグラフィカルユーザインターフェース(GUI)(400)において、前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するためのそれぞれのセットのコントロール(220)を表示することを含む動作を実行させる命令を記憶するメモリハードウェア(204)と
を備えるユーザデバイス(200)。
【請求項17】
前記動作は、前記アシスタントアプリケーション(106)を起動することを要求する前記ユーザデバイス(200)のユーザからのユーザ要求(108)を受信することをさらに含む、ユーザデバイス(200)であって、
前記複数のアシスタント対応デバイス(210)のそれぞれに関して前記近接性情報(250)を獲得することは、前記アシスタントアプリケーション(106)が実行される間に行われる、請求項16に記載のユーザデバイス(200)。
【請求項18】
前記ユーザ要求(108)を受信することは、
前記画面上に表示された前記GUI(400)において、前記アシスタントアプリケーション(106)を代表するグラフィカル要素(402)の選択を示すユーザ入力指示を受け取ること、
前記ユーザから音声入力を受け取ることであって、前記音声入力は、前記アシスタントアプリケーション(106)を起動する呼出しコマンド(80)を含む、受け取ること、または
前記アシスタントアプリケーション(106)を起動するように構成された前記ユーザデバイス(200)の事前定義された動き/ポーズを検出することのうちの1つを含む、請求項17に記載のユーザデバイス(200)。
【請求項19】
前記ユーザデバイス(200)の前記環境(32)内の前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)に関して前記近接性情報(250)を獲得することは、
前記ユーザデバイス(200)のセンサにおいて、前記複数のアシスタント対応デバイス(210)の前記少なくとも1つのアシスタント対応デバイス(210)から送信された無線通信信号を受信すること、および
前記ユーザデバイス(200)の前記センサにおいて受信された前記無線通信信号の信号強度に基づいて、前記少なくとも1つのアシスタント対応デバイス(210)に関して前記近接性情報(250)を決定することを含む、請求項16から18のいずれか一項に記載のユーザデバイス(200)。
【請求項20】
前記動作は、前記ユーザデバイス(200)の前記環境(32)内の前記複数のアシスタント対応デバイス(210)の少なくとも1つのアシスタント対応デバイス(210)に関して方向性情報(255)を獲得することを、
前記ユーザデバイス(200)のセンサのアレイにおける各センサにおいて、前記複数のアシスタント対応デバイス(210)の前記少なくとも1つのアシスタント対応デバイス(210)から送信された無線通信信号を受信すること、および
前記少なくとも1つのアシスタント対応デバイス(210)に関する前記方向性情報(255)を、前記ユーザデバイス(200)のセンサの前記アレイにおける各センサにおいて受信された前記無線通信信号の、前記ユーザデバイス(200)のセンサの前記アレイにおけるその他のセンサにおいて受信された前記無線通信信号の前記それぞれの信号強度に相対的なそれぞれの信号強度に基づいて、決定することによって行う、獲得することをさらに含む、ユーザデバイス(200)であって、
前記少なくとも1つのアシスタント対応デバイス(210)に関する前記近接性スコア(260)を決定することは、前記少なくとも1つのアシスタント対応デバイス(210)に関する前記方向性情報(255)にさらに基づく、請求項16から19のいずれか一項に記載のユーザデバイス(200)。
【請求項21】
前記ユーザデバイス(200)の前記環境(32)内の前記複数のアシスタント対応デバイス(210)の少なくとも1つのアシスタント対応デバイス(210)に関して前記近接性情報(250)を獲得することは、
前記複数のアシスタント対応デバイス(210)のうちの前記少なくとも1つのアシスタント対応デバイス(210)から出力された可聴の信号または可聴でない信号を受信すること、および
前記少なくとも1つのアシスタント対応デバイス(210)から出力された前記可聴の信号または前記可聴でない信号のエネルギーおよび/または周波数に基づいて、前記少なくとも1つのアシスタント対応デバイス(210)に関する前記近接性情報(250)を決定することを含む、請求項16から20のいずれか一項に記載のユーザデバイス(200)。
【請求項22】
前記動作は、
前記複数のアシスタント対応デバイス(210)の各アシスタント対応デバイス(210)から、前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットの利用可能なアクション(120)を受け取ること、および
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における各対応するアシスタント対応デバイス(210)に関して、前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を決定することをさらに含む、請求項16から21のいずれか一項に記載のユーザデバイス(200)。
【請求項23】
前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)から受け取られた前記それぞれのセットの利用可能なアクション(120)における少なくとも1つの利用可能なアクション(120)は、現在のコンテクストに基づいて実行すべき前記対応するアシスタント対応デバイス(210)に関する示唆されるアクション(120)を含む、請求項22に記載のユーザデバイス(200)。
【請求項24】
前記動作は、
前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)から、前記対応するアシスタント対応デバイス(210)に関連付けられたデバイス状態情報(215)を受信することをさらに含む、ユーザデバイス(200)であって、
前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を決定することは、前記対応するアシスタント対応デバイス(210)に関連付けられた前記デバイス状態情報(215)にさらに基づく、請求項22または23に記載のユーザデバイス(200)。
【請求項25】
前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成することは、前記ユーザデバイス(200)に相対的に最も近い近接性を有する前記アシスタント対応デバイス(210)から前記ユーザデバイス(200)に相対的に最も離れた近接性を有する前記アシスタント対応デバイス(210)まで前記アシスタント対応デバイス(210)を順序付けることを含む、請求項16から24のいずれか一項に記載のユーザデバイス(200)。
【請求項26】
前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成することは、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)から、最大距離しきい値を満たす近接性推定値を示す近接性スコア(260)を含む任意のアシスタント対応デバイス(210)を破棄することを含む、請求項16から25のいずれか一項に記載のユーザデバイス(200)。
【請求項27】
前記複数のアシスタント対応デバイス(210)から候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成することは、
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)から、最小距離しきい値を満たす近接性推定値を示す近接性スコア(260)を含む任意のアシスタント対応デバイス(210)を破棄することを含む、請求項16から26のいずれか一項に記載のユーザデバイス(200)。
【請求項28】
前記動作は、
前記複数のアシスタント対応デバイス(210)のうちの少なくとも1つのアシスタント対応デバイス(210)から、前記少なくとも1つのアシスタント対応デバイス(210)に関連付けられたデバイス状態情報(215)を受信すること、および
候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)を生成した後、前記少なくとも1つのアシスタント対応デバイス(210)に関連付けられた前記デバイス状態情報(215)を使用して、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)において前記候補アシスタント対応デバイス(210)を格付けしなおすことをさらに含む、ユーザデバイス(200)であって、
前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を表示することは、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)において前記候補アシスタント対応デバイス(210)を前記格付けしなおすことに基づく、請求項16から27のいずれか一項に記載のユーザデバイス(200)。
【請求項29】
前記複数のアシスタント対応デバイス(210)からの候補アシスタント対応デバイス(210)の格付けされたリスト(310)は、前記複数のアシスタント対応デバイス(210)に関して決定された前記複数の近接性スコア(260)のなかで高い方からN番目までの近接性スコア(260)を有する前記複数のアシスタント対応デバイス(210)から選択された前記アシスタント対応デバイス(210)を含む、請求項16から28のいずれか一項に記載のユーザデバイス(200)。
【請求項30】
前記対応するアシスタント対応デバイス(210)に関連付けられた前記それぞれのセットのアクション(120)を実行するための前記それぞれのセットのコントロール(220)を表示することは、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における前記アシスタント対応デバイス(210)のうちの1つに関して、前記GUI(400)において、前記それぞれのセットのコントロール(220)を、候補アシスタント対応デバイス(210)の前記格付けされたリスト(310)における前記アシスタント対応デバイス(210)の少なくとも別の1つに関して、前記GUI(400)において表示される前記それぞれのセットのコントロール(220)とは異なるように表示することを含む、請求項16から29のいずれか一項に記載のユーザデバイス(200)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、第2のデバイスに対する近接性ベースの制御に関する。
【背景技術】
【0002】
個人は、自らの環境内で、様々なアプリケーションによって制御されることが可能な多数の接続されたデバイスを有することが可能である。そのような接続されたデバイスは、例えば、それぞれのセットのアクションを実行するように構成されたスマート電球、スマートテレビ、スマートスピーカ、スマートサーモスタット、スマートセキュリティシステム、または任意のスマート器具(例えば、スマートオーブン)を含み得る。一部の実例において、特定の接続されたデバイスを制御するために特定のアプリケーションがユーザに提供されることが可能である。しかし、接続されたデバイスを制御するために、ユーザは、ユーザデバイス上で実行される多数のアプリケーションからそのアプリケーションを識別し、その特定の接続されたデバイスを制御すべくそのアプリケーションを選択し、次いで、その接続されたデバイスを制御すべくその特定のアプリケーション内でナビゲートしなければならない。単一のユーザデバイスから接続されたデバイスのそれぞれを制御するための多数のコントロールを管理することは、無秩序になる可能性があり、面倒になる可能性がある。さらに、多くの接続されたデバイスが、重なり合うそれぞれのセットのアクションを実行して、いずれの接続されたデバイスにユーザのコマンドが向けられているのかを見分けることを困難にする可能性がある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、アシスタント対応デバイスを制御するための方法を提供する。方法は、ユーザデバイスのデータ処理ハードウェアによる、ユーザデバイスの環境内の複数のアシスタント対応デバイスのそれぞれに関する近接性情報を獲得することを含む。複数のアシスタント対応デバイスの各アシスタント対応デバイスが、アシスタント対応デバイスに関連付けられたそれぞれのセットの利用可能なアクションを実行すべくアシスタントアプリケーションによって制御可能である。複数のアシスタント対応デバイスの各アシスタント対応デバイスに関して、方法は、データ処理ハードウェアによる、対応するアシスタント対応デバイスに関して獲得された近接性情報に基づき、近接性スコアを決定することも含む。近接性スコアは、環境におけるユーザデバイスに相対的な対応するアシスタント対応デバイスの近接性推定を示す。方法は、データ処理ハードウェアによる、複数のアシスタント対応デバイスに関して決定された複数の近接性スコアを使用して、複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成すること、および候補アシスタント対応デバイスの格付けされたリストにおける1つまたは複数の対応するアシスタント対応デバイスのそれぞれに関して、データ処理ハードウェアによる、データ処理ハードウェアと通信する画面上に表示されるグラフィカルユーザインターフェース(GUI)において、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示することをさらに含む。
【0004】
本開示の実装形態は、以下のオプションのフィーチャのうちの1つまたは複数を含んでよい。一部の実装形態において、方法は、データ処理ハードウェアにおいて、データ処理ハードウェア上で実行するためにアシスタントアプリケーションを起動することを要求するユーザデバイスのユーザからのユーザ要求を受信することをさらに含む。これらの実装形態において、複数のアシスタント対応デバイスのそれぞれに関する近接性情報を獲得することが、データ処理ハードウェア上のアシスタントアプリケーションの実行中に行われる。さらなる実装形態において、ユーザ要求を受信することが、画面上に表示されたGUIにおいて、アシスタントアプリケーションを代表するグラフィカル要素の選択を示すユーザ入力指示を受け取ること、データ処理ハードウェア上で実行するためにアシスタントアプリケーションを起動する呼出しコマンドを含むユーザからの音声入力を受け取ること、またはデータ処理ハードウェア上で実行するためにアシスタントアプリケーションを起動するように構成されたユーザデバイスの事前定義された動き/ポーズを検出することのうちの1つを含む。
【0005】
一部の実施例において、ユーザデバイスの環境内で複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスに関する近接性情報を獲得することが、ユーザデバイスのセンサにおいて、複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスから送信された無線通信信号を受信すること、およびユーザデバイスのセンサにおいて受信された無線通信信号の信号強度に基づいて、その少なくとも1つのアシスタント対応デバイスに関する近接性情報を決定することを含む。一部の実装形態において、方法は、データ処理ハードウェアによる、ユーザデバイスの環境内の複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスに関する方向性情報を、ユーザデバイスのセンサのアレイにおける各センサにおいて複数のアシスタント対応デバイスのうちのその少なくとも1つのアシスタント対応デバイスから送信された無線通信信号を受信することによって獲得すること、およびその少なくとも1つのアシスタント対応デバイスに関する方向性情報を、ユーザデバイスのセンサのアレイにおける各センサにおいて受信される無線通信信号の、ユーザデバイスのセンサのアレイにおけるその他のセンサにおいて受信される無線通信信号のそれぞれの信号強度に相対的な、それぞれの信号強度に基づいて決定することをさらに含む。ここで、その少なくとも1つのアシスタント対応デバイスに関する近接性スコアを決定することが、その少なくとも1つのアシスタント対応デバイスに関する方向性情報にさらに基づく。
【0006】
一部の実施例において、ユーザデバイスの環境内の複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスに関する近接性情報を受信することが、ユーザデバイスにおいて、複数のアシスタント対応デバイスのうちのその少なくとも1つのアシスタント対応デバイスから出力される可聴信号または可聴でない信号を受信すること、およびその少なくとも1つのアシスタント対応デバイスから出力される可聴信号または可聴でない信号のエネルギーおよび/または周波数に基づいてその少なくとも1つのアシスタント対応デバイスに関する近接性情報を決定することを含む。一部の実装形態において、方法は、データ処理ハードウェアにおいて、複数のアシスタント対応デバイスの各アシスタント対応デバイスから、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットの利用可能なアクションを受信すること、および候補アシスタント対応デバイスの格付けされたリストにおけるそれぞれの対応するアシスタント対応デバイスに関して、データ処理ハードウェアによる、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを決定することも含む。これらの実装形態において、複数のアシスタント対応デバイスの少なくとも1つのアシスタント対応デバイスから受信されるそれぞれのセットの利用可能なアクションにおける少なくとも1つの利用可能なアクションが、現在のコンテクストに基づいて実行すべき対応するアシスタント対応デバイスに関する示唆されるアクションを含んでよい。さらなる実施例において、方法は、データ処理ハードウェアにおいて、複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスから、対応するアシスタント対応デバイスに関連付けられたデバイス状態情報を受信することを含んでよい。ここで、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを決定することが、対応するアシスタント対応デバイスに関連付けられたデバイス状態情報にさらに基づく。
【0007】
一部の実装形態において、複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成することが、ユーザデバイスに相対的に最も近い近接性を有するアシスタント対応デバイスからユーザデバイスに相対的に最も離れた近接性を有するアシスタント対応デバイスまでアシスタント対応デバイスを順序付けることを含む。一部の実施例において、複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成することが、最大距離しきい値を満たす近接性推定値を示す近接性スコアを含む任意のアシスタント対応デバイスを、候補アシスタント対応デバイスの格付けされたリストから破棄することを含む。複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成することが、最小距離しきい値を満たす近接性推定値を示す近接性スコアを含むアシスタント対応デバイスを、候補アシスタント対応デバイスの格付けされたリストから破棄することをさらに、または代替として含んでよい。
【0008】
一部の実施例において、方法は、データ処理ハードウェアにおいて、複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスから、その少なくとも1つのアシスタント対応デバイスに関連付けられたデバイス状態情報を受信すること、および、候補アシスタント対応デバイスの格付けされたリストを生成した後、データ処理ハードウェアによる、その少なくとも1つのアシスタント対応デバイスに関連付けられたデバイス状態情報を使用して、候補アシスタント対応デバイスの格付けされたリストにおける候補アシスタント対応デバイスを格付けしなおすことをさらに含む。ここで、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示することが、候補アシスタント対応デバイスの格付けされたリストにおける候補アシスタント対応デバイスを格付けしなおすことに基づく。
【0009】
複数のアシスタント対応デバイスからの候補アシスタント対応デバイスの格付けされたリストが、複数のアシスタント対応デバイスに関して決定された複数の近接性スコアのなかで高い方からN番目までの近接性スコアを有する、複数のアシスタント対応デバイスから選択されたアシスタント対応デバイスを含んでよい。一部の実施例において、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示することが、候補アシスタント対応デバイスの格付けされたリストにおけるアシスタント対応デバイスのうちの1つに関するそれぞれのセットのコントロールを、GUIに、候補アシスタント対応デバイスの格付けされたリストにおけるアシスタント対応デバイスのうちの少なくとも別の1つに関してGUIに表示されるそれぞれのセットのコントロールとは異なるように表示することを含む。
【0010】
本開示の別の態様が、ユーザデバイスの環境内に位置するアシスタント対応デバイスを制御するためのユーザデバイスを提供する。ユーザデバイスは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェアによって実行されると、データ処理ハードウェアに、ユーザデバイスの環境内の複数のアシスタント対応デバイスのそれぞれに関して近接性情報を獲得することを含む動作を実行させる命令を記憶する。複数のアシスタント対応デバイスの各アシスタント対応デバイスが、アシスタント対応デバイスに関連付けられたそれぞれのセットの利用可能なアクションを実行すべくアシスタントアプリケーションによって制御可能である。また、動作は、複数のアシスタント対応デバイスの各アシスタント対応デバイスに関して、対応するアシスタント対応デバイスに関して獲得された近接性情報に基づいて近接性スコアを決定することも含む。ここで、近接性スコアは、環境におけるユーザデバイスに相対的な対応するアシスタント対応デバイスの近接性推定値を示す。動作は、複数のアシスタント対応デバイスに関して決定された複数の近接性スコアを使用して、複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成すること、および候補アシスタント対応デバイスの格付けされたリストにおける1つまたは複数の対応するアシスタント対応デバイスのそれぞれに関して、データ処理ハードウェアと通信する画面上に表示されるグラフィカルユーザインターフェース(GUI)において、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示することをさらに含む。
【0011】
本開示の実装形態が、以下のオプションのフィーチャのうちの1つまたは複数を含んでよい。一部の実装形態において、動作は、アシスタントアプリケーションを起動することを要求するユーザデバイスのユーザからのユーザ要求を受信することをさらに含む。これらの実装形態において、複数のアシスタント対応デバイスのそれぞれに関する近接性情報を獲得することが、アシスタントアプリケーションの実行中に行われる。さらなる実装形態において、ユーザ要求を受信することが、画面上に表示されるGUIにおいて、アシスタントアプリケーションを代表するグラフィカル要素の選択を示すユーザ入力指示を受け取ること、データ処理ハードウェア上で実行するためにアシスタントアプリケーションを起動する呼出しコマンドを含むユーザからの音声入力を受け取ること、またはデータ処理ハードウェア上で実行するためにアシスタントアプリケーションを起動するように構成されたユーザデバイスの事前定義された動き/ポーズを検出することのうちの1つを含む。
【0012】
一部の実施例において、ユーザデバイスの環境内の複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスに関する近接性情報を獲得することが、ユーザデバイスのセンサにおいて、複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスから送信された無線通信信号を受信すること、およびユーザデバイスのセンサにおいて受信された無線通信信号の信号強度に基づいて、その少なくとも1つのアシスタント対応デバイスに関する近接性情報を決定することを含む。一部の実装形態において、動作は、ユーザデバイスの環境内の複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスに関する方向性情報を、ユーザデバイスのセンサのアレイにおける各センサにおいて複数のアシスタント対応デバイスのうちのその少なくとも1つのアシスタント対応デバイスから送信された無線通信信号を受信することによって獲得すること、およびその少なくとも1つのアシスタント対応デバイスに関する方向性情報を、ユーザデバイスのセンサのアレイにおける各センサにおいて受信される無線通信信号の、ユーザデバイスのセンサのアレイにおけるその他のセンサにおいて受信される無線通信信号のそれぞれの信号強度に相対的な、それぞれの信号強度に基づいて決定することをさらに含む。ここで、その少なくとも1つのアシスタント対応デバイスに関する近接性スコアを決定することが、その少なくとも1つのアシスタント対応デバイスに関する方向性情報にさらに基づく。
【0013】
一部の実施例において、ユーザデバイスの環境内の複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスに関する近接性情報を受信することが、複数のアシスタント対応デバイスのうちのその少なくとも1つのアシスタント対応デバイスから出力される可聴信号または可聴でない信号を受信すること、およびその少なくとも1つのアシスタント対応デバイスから出力される可聴信号または可聴でない信号のエネルギーおよび/または周波数に基づいてその少なくとも1つのアシスタント対応デバイスに関する近接性情報を決定することを含む。一部の実装形態において、動作は、複数のアシスタント対応デバイスの各アシスタント対応デバイスから、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットの利用可能なアクションを受信すること、および候補アシスタント対応デバイスの格付けされたリストにおけるそれぞれの対応するアシスタント対応デバイスに関して、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを決定することも含む。これらの実装形態において、複数のアシスタント対応デバイスの少なくとも1つのアシスタント対応デバイスから受信されるそれぞれのセットの利用可能なアクションにおける少なくとも1つの利用可能なアクションが、現在のコンテクストに基づいて実行すべき対応するアシスタント対応デバイスに関する示唆されるアクションを含んでよい。さらなる実施例において、動作は、複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスから、対応するアシスタント対応デバイスに関連付けられたデバイス状態情報を受信することを含んでよい。ここで、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを決定することが、対応するアシスタント対応デバイスに関連付けられたデバイス状態情報にさらに基づく。
【0014】
一部の実装形態において、複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成することが、ユーザデバイスに相対的に最も近い近接性を有するアシスタント対応デバイスからユーザデバイスに相対的に最も離れた近接性を有するアシスタント対応デバイスまでアシスタント対応デバイスを順序付けることを含む。一部の実施例において、複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成することが、最大距離しきい値を満たす近接性推定値を示す近接性スコアを含む任意のアシスタント対応デバイスを、候補アシスタント対応デバイスの格付けされたリストから破棄することを含む。複数のアシスタント対応デバイスから候補アシスタント対応デバイスの格付けされたリストを生成することが、最小距離しきい値を満たす近接性推定値を示す近接性スコアを含むアシスタント対応デバイスを、候補アシスタント対応デバイスの格付けされたリストから破棄することをさらに、または代替として含んでよい。
【0015】
一部の実施例において、動作は、複数のアシスタント対応デバイスのうちの少なくとも1つのアシスタント対応デバイスから、その少なくとも1つのアシスタント対応デバイスに関連付けられたデバイス状態情報を受信すること、および、候補アシスタント対応デバイスの格付けされたリストを生成した後、その少なくとも1つのアシスタント対応デバイスに関連付けられたデバイス状態情報を使用して、候補アシスタント対応デバイスの格付けされたリストにおける候補アシスタント対応デバイスを格付けしなおすことをさらに含む。ここで、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示することが、候補アシスタント対応デバイスの格付けされたリストにおける候補アシスタント対応デバイスを格付けしなおすことに基づく。
【0016】
複数のアシスタント対応デバイスからの候補アシスタント対応デバイスの格付けされたリストが、複数のアシスタント対応デバイスに関して決定された複数の近接性スコアのなかで高い方からN番目までの近接性スコアを有する、複数のアシスタント対応デバイスから選択されたアシスタント対応デバイスを含んでよい。一部の実施例において、対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示することが、候補アシスタント対応デバイスの格付けされたリストにおけるアシスタント対応デバイスのうちの1つに関するそれぞれのセットのコントロールを、GUIに、候補アシスタント対応デバイスの格付けされたリストにおけるアシスタント対応デバイスのうちの少なくとも別の1つに関してGUIに表示されるそれぞれのセットのコントロールとは異なるように表示することを含む。
【0017】
本開示の1つまたは複数の実装形態の詳細が、添付の図面、および後段の説明において提示される。その他の様態、特徴、および利点が、説明および図面、ならびに特許請求の範囲から明白となろう。
【図面の簡単な説明】
【0018】
図1】ユーザデバイスの環境内に位置するアシスタント対応デバイスを制御することを含む例示的なシステムを示す概略図である。
図2】アシスタント対応デバイスと通信する例示的なユーザデバイスを示す概略図である。
図3A】ユーザデバイスの環境内のアシスタント対応デバイスを制御するユーザデバイスを示す概略図300aである。
図3B】ユーザデバイスの環境内のアシスタント対応デバイスを制御するユーザデバイスを示す概略図300bである。
図3C】ユーザデバイスの環境内のアシスタント対応デバイスを制御するユーザデバイスを示す概略図300cである。
図4A】それぞれの対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示すべくユーザデバイスの画面上にレンダリングされた例示的なGUI400aを示す図である。
図4B】それぞれの対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示すべくユーザデバイスの画面上にレンダリングされた例示的なGUI400bを示す図である。
図4C】それぞれの対応するアシスタント対応デバイスに関連付けられたそれぞれのセットのアクションを実行するためのそれぞれのセットのコントロールを表示すべくユーザデバイスの画面上にレンダリングされた例示的なGUI400cを示す図である。
図5】アシスタント対応デバイスを制御するための方法に関する動作の例示的な構成を示すフローチャートである。
図6】本明細書において説明されるシステムおよび方法を実装するのに使用されてよい例示的なコンピューティングデバイスを示す概略図である。
【発明を実施するための形態】
【0019】
様々な図面における同様の参照符号は、同様の要素を示す。
【0020】
本開示は、一般に、ポータブルクライアントデバイスのインターフェースを介して1つまたは複数のアシスタント対応デバイスを制御するためのアシスタントアプリケーションを実行するユーザデバイスを対象とする。具体的には、ユーザデバイスは、ユーザデバイスの環境内の複数のアシスタント対応デバイスのなかで、いずれのアシスタント対応デバイスを、ユーザデバイスのユーザが自らのユーザデバイスから制御することを所望する尤度が高いかを自動的に検出することができる。アシスタント対応デバイスは、例えば、それぞれのセットのアクションを実行するように構成されたスマート照明、スマートテレビ、スマートスピーカ、スマートサーモスタット、スマートセキュリティシステム、または任意のスマート器具(例えば、スマートオーブン)などの、任意のモノのインターネット(IoT)デバイスを含むことが可能である。すなわち、アシスタントアプリケーションを実行するユーザデバイス(例えば、スマートフォン、タブレット、スマートウォッチ、スマートディスプレイ、その他)が、それぞれのセットのアクションのうちの1つまたは複数を実行すべくアシスタント対応デバイスを制御するためのそれぞれのセットのコントロールを提供してよい。例えば、ユーザデバイスは、グラフィカルユーザインターフェースにおいて、アシスタント対応デバイスが所与の時点で実行することができる任意の利用可能なアクションに関するそれぞれのセットのコントロールを表示してよく、その結果、グラフィカルユーザインターフェースが、アシスタント対応デバイスにそれぞれのアクションを実行させるべくコントロールのうちの1つの選択を示すユーザ入力指示(例えば、タッチ入力および/または音声入力)を受け取ることが可能である。ユーザが自らの環境(例えば、自宅またはオフィス)にいて対話するアシスタント対応デバイスの数量が増加するにつれ、単一のユーザデバイスからそれらのデバイスのそれぞれを制御するための多数のコントロールを管理することが、無秩序になる可能性があり、面倒になる可能性がある。さらに、アシスタント対応デバイスが、重なり合う能力を共有することがあるとともに、類似したデバイス名を共有することがあり、それらのデバイスの間でそれぞれのコントロールの区別のあいまいさを解消する必要性が生じる。
【0021】
本明細書における実装形態は、複数のアシスタント対応デバイスの間で、いずれのアシスタント対応デバイスを、ユーザが、そのユーザに関連付けられたユーザデバイスの画面上に表示されたインターフェースを介して制御することを所望する尤度が高いかを自動的に検出することを対象とする。この検出は、ユーザデバイスに相対的な各アシスタント対応デバイスの近接性に基づく。例えば、ユーザデバイスの環境内の各アシスタント対応デバイスが、ユーザデバイスがユーザデバイスに相対的な各アシスタント対応デバイスの近接性を決定すべく使用してよい、ユーザデバイスによって受信可能な近接性情報をブロードキャストしてよい。近接性情報は、WiFi、Bluetooth、またはUltrasonicなどの無線通信信号を含んでよく、ユーザデバイスにおいて受信される無線通信信号の信号強度が、ユーザデバイスに相対的なアシスタント対応デバイスの近接性(例えば、距離)と相互に関係してよい。また、近接性情報は、ユーザが、例えば、音量を調整すべくデバイスに接触することによって、アシスタント対応デバイスのうちの1つと対話したことを示すユーザ入力指示を含むことも可能である。近接性ベースの検出を利用することによって、ユーザは、より少ないステップで、より短い時間でユーザが意図するコントロールに到達することが可能である。ユーザデバイスは、ユーザデバイスによって制御されてよいユーザの環境におけるアシスタント対応デバイスのそれぞれに関する近接性情報を獲得することができる。すなわち、これらのアシスタント対応デバイスのそれぞれから獲得された近接性情報に基づいて、ユーザデバイスは、ユーザデバイスに相対的なそれぞれのアシスタント対応デバイスの近接性推定値を示す各アシスタント対応デバイスに関するそれぞれの近接性スコアを決定することができる。さらに、ユーザデバイスは、アシスタント対応デバイスのうちの1つまたは複数から、その1つまたは複数のアシスタント対応デバイスのそれぞれに相対的なユーザデバイスの方向/向きを示す方向性情報を収集してよい。すなわち、方向性情報は、ユーザが、それぞれのセットの利用可能なアクションを実行するようにアシスタント対応デバイスを制御すべくユーザデバイスを使用するのを意図することを示す指標の役割をすべく、ユーザデバイスが所与のアシスタント対応デバイスに面している、または所与のアシスタント対応デバイスの方向を向いているか否かを示してよい。これらのシナリオにおいて、方向性情報は、それぞれの近接性スコアを決定するために組合せで使用されてよく、または方向性情報は、近接性情報だけから決定された近接性スコアにバイアスをかけるのに使用されてよい。近接性情報および/または方向性情報を獲得した後、ユーザデバイスは、環境におけるアシスタント対応デバイスのそれぞれに関する近接性スコアを決定することができる。環境におけるアシスタント対応デバイスのそれぞれに関する近接性スコアを決定した後、ユーザデバイスは(例えば、アシスタントアプリケーションの実行を介して)、いずれのアシスタント対応デバイスを、所与の時点でユーザが制御することを意図する尤度が高いかに優先順位付けをすべく、近接性スコアに基づいてアシスタント対応デバイスを格付けする。その後、ユーザデバイスは、現在、利用可能であるそれぞれのアクションを実行すべくアシスタント対応デバイスのうちの1つまたは複数を制御するのに使用するために、ユーザデバイスの画面上に表示されたグラフィカルユーザインターフェース(GUI)においてアシスタント対応デバイスのうちの1つまたは複数に関するそれぞれのセットのコントロールを表示する。例えば、最高の格付けの近接性スコアを有するアシスタント対応デバイスのコントロールが、ユーザの環境においてより低い格付けの近接性スコアを有する他のアシスタント対応デバイスに関連付けられたその他のコントロールと比べて、より大きいフォントで画面の最上部に表示されてよい。さらに、非常に低い格付けの近接性スコアを有するアシスタント対応デバイスは、所与の時点でユーザがそのようなデバイスを制御することを意図する尤度が低いので、GUIにおいて表示されることが完全に省かれてよい。
【0022】
図1を参照すると、一部の実装形態において、近接性ベースのコントローラシステム100が、ネットワーク10を介してユーザデバイス200の環境32内で複数のアシスタント対応デバイス210、210a~nと通信するユーザデバイス200を含む。環境32は、ユーザデバイス200に関連付けられたユーザ30の構内を含んでよい。一部の実施例において、環境32は、構内のフロアまたはその他のセクションなどの、ユーザ30の構内の一部分を含む。ネットワーク10は、ユーザの自宅、学校、またはオフィスなどの環境32内でユーザデバイス200間の通信および相互運用性を容易化するローカルエリアネットワーク(LAN)(例えば、ホームエリアネットワークHAN)を含んでよい。図示される実施例において、アシスタント対応デバイス210は、第1のフロアと、第2のフロアとを有するユーザ30の自宅32全体にわたって配置されて、スマートスピーカ210a、スマート照明210b、スマートテレビ210c、およびスマートサーモスタット210dが、第1のフロアに配置され、第2のスマートテレビ210eおよび第2のスマートスピーカ210fが、第2のフロアに、例えば、ユーザ30の自宅32の寝室内に配置される。ユーザデバイス200は、標準の通信技術および/または標準の通信プロトコルを使用する無線接続を介してアシスタント対応デバイス210のそれぞれと通信してよい。このため、ネットワーク10は、ワイヤレスフィデリティ(WiFi)(例えば、802.11)、ワールドワイドインターオペラビリティフォーマイクロウェイブアクセス(WiMAX)、3G、4G、ロングタームエボリューション(LTE)、5G、デジタルサブスクライバライン(DSL)、Bluetooth、近距離通信(NFC)、または他の任意の無線標準を含むことが可能である。構内32は、ユーザデバイス200とアシスタント対応デバイス210、210a~fのうちの1つまたは複数との間の無線通信を容易化するように構成された1つまたは複数のアクセスポイント(AP)(図示せず)を含んでよい。
【0023】
ユーザデバイス200は、アシスタント対応デバイス210と無線通信することができる任意のコンピューティングデバイスであることが可能である。ユーザデバイス200は、図示される実施例においてタブレットを含むが、ユーザデバイス200は、限定なしに、スマートフォン、スマートウォッチ、ラップトップ、デスクトップ、またはスマートディスプレイを含んでもよい。ユーザデバイス200は、様々な異なるオペレーティングシステム104を使用してよい。ユーザデバイス200がモバイルデバイスである実施例において、ユーザデバイス200は、Google社によって開発されたANDROID(登録商標)、Apple社によって開発されたIOS(登録商標)、またはマイクロソフト社によって開発されたWINDOWS PHONE(登録商標)を含むが、これらには限定されないオペレーティングシステムを実行してよい。したがって、ユーザデバイス200上で実行されているオペレーティングシステム104は、ANDROID(登録商標)、IOS(登録商標)、またはWINDOWS PHONE(登録商標)のうちの1つを含んでよいが、これらには限定されない。一部の実施例において、ユーザデバイス200は、マイクロソフト社によるMICROSOFT WINDOWS(登録商標)、Apple社によるMAC OS(登録商標)、またはLinux(登録商標)を含むが、これらには限定されないオペレーティングシステムを実行してよい。ユーザデバイス200は、現在、利用可能であるか、将来、開発されるかにかかわらず、前述したオペレーティングシステム104以外のオペレーティングシステム104を実行しながら、アシスタント対応デバイス210、210a~fと通信してよい。オペレーティングシステム104は、1つまたは複数のソフトウェアアプリケーション106を実行してよい。
【0024】
ソフトウェアアプリケーション106とは、コンピューティングデバイスによって実行されると、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことが可能である。一部の実施例において、ソフトウェアアプリケーション106は、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる。例示的なソフトウェアアプリケーション106は、ワードプロセシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームを含むが、これらには限定されない。アプリケーション106は、様々な異なるユーザデバイス200上で実行されることが可能である。一部の実施例において、アプリケーション106は、ユーザ30がユーザデバイス200を購入するのに先立って、ユーザデバイス200にインストールされる。他の実施例において、ユーザ30が、ユーザデバイス200にアプリケーション106をダウンロードし、インストールする。
【0025】
一部の実装形態において、ユーザデバイス200は、各アシスタント対応デバイス210と通信を開始して、各アシスタント対応デバイス210に関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を提供するアシスタントアプリケーション106を実行する。すなわち、複数のアシスタント対応デバイス210の各アシスタント対応デバイス210が、アシスタント対応デバイス210に関連付けられたそれぞれのセットの利用可能なアクション120を実行すべくアシスタントアプリケーション106によって制御可能である。有利なこととして、アシスタントアプリケーション106は、ユーザ30が、アプリケーション106がユーザデバイス200の画面上に表示するためにレンダリングしてよいグラフィカルユーザインターフェース(GUI)400などのインターフェース400を使用して各アシスタント対応デバイス210を制御すること、および/または構成することを可能にする。このようにして、ユーザ30は、ユーザの自宅における様々なデバイスを制御するのに様々な個々のアプリケーションに必然的に依拠しなければならないのではなく、ユーザ30が制御することを所望するのがいずれのアシスタント対応デバイス210であるかをユーザデバイス200に示すべくアシスタントアプリケーション106を実行することができる。複数のアシスタント対応デバイス210のそれぞれに関連付けられたそれぞれのセットの利用可能なアクション120を実行するためのそれぞれのセットのコントロール220を提供する単一のアプリケーション106を有することにより、アシスタント対応デバイス210のそれぞれのセットのアクション120を実行すべくデバイス210を制御するために様々なアシスタント対応デバイス210の製造業者によって提供されるすべてのアプリケーションをインストールすること、開くこと、または切り換えることがユーザ30に必然的に要求されるわけではない結果として、ユーザデバイス200においてメモリおよび処理帯域幅が解放される。本明細書で使用されるGUI400は、アプリケーション106を起動するため、ならびにユーザデバイス200上で実行されるアプリケーション106の機能を制御するために、接触、音声、ジェスチャ、視線、および/または入力デバイス(例えば、マウスもしくはスタイラス)のうちの任意の1つまたは複数を介したユーザ入力指示を受け取ってよい。
【0026】
ユーザデバイス200上で実行されるアシスタントアプリケーション106は、ユーザ30がユーザデバイス200を介して制御してよい候補アシスタント対応デバイス210の格付けされたリスト310をGUI400上に表示するためにレンダリングしてよい。GUI400上にレンダリングされる格付けされたリスト310は、各候補アシスタント対応デバイス210に関して、候補アシスタント対応デバイス210を識別するそれぞれのグラフィック402と、対応するアシスタント対応デバイス210に関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220とを含んでよい。例えば、スマートスピーカ210a、210fがそれぞれ、メディアコンテンツ(例えば、曲)を可聴に再生するための再生動作、メディアコンテンツの可聴の出力を停止するため/一時停止するための停止/一時停止動作、および対応するスピーカ210a、210fから出力されるオーディオコンテンツの音量を増加させるため/低減させるための音量アクションを含む、スマートスピーカ210a、210fそれぞれに関連付けられた同一のそれぞれのセットのアクション120を含んでよい。この実施例において、アシスタントアプリケーション106は、リスト310において表示されるスマートスピーカ210a、210fのそれぞれに関して、対応するスピーカ210a、210fに関連付けられたそれぞれのセットのアクション120を実行するための同一のそれぞれのセットのコントロール220を表示してよい。すなわち、それぞれのセットのコントロール220は、再生動作に関連付けられたアクション120を実行するためのコントロール220と、停止/一時停止動作に関連付けられたアクション120を実行するためのコントロール220と、音量レベルを増加させることに関連付けられたアクション120を実行するためのコントロール220と、音量レベルを低減させることに関連付けられたアクション120を実行するためのコントロール220とを含んでよい。
【0027】
一部の実施例において、GUI400において表示するためにレンダリングされた候補アシスタント対応デバイス210の格付けされたリスト310は、格付けされたリスト310におけるアシスタント対応デバイス210のうちの少なくとも1つに関するそれぞれのデバイス状態情報215を示すグラフィックをさらに含む。図示される実施例において、スマート照明210bに関するデバイス状態情報215が、スマート照明210bが現在、オフであり、このため、照光を提供していないことを示すべく表示される。同様に、スマートサーモスタット210dに関するデバイス状態情報215が、スマートサーモスタット210dの現在の温度設定(例えば、温度が現在、摂氏21度である)を示すべく表示される。
【0028】
各アシスタント対応デバイス210に関連付けられたそれぞれのセットの利用可能なアクション120は、アシスタント対応デバイス210のデバイス状態情報215に依存して変わってよい。例えば、スマート照明210bが、現在、オフの、このため、照光を提供していないデバイス状態情報215を示す場合、実行すべくスマート照明210bに利用可能な唯一のアクション120は、オンにすることであり、その結果、アシスタントアプリケーション106に、オフ状態から、スマート照明210bが照光を提供するオン状態に切り換わる動作をスマート照明210bに実行させるための対応するコントロール220だけを提供させる。他方、スマート照明210bのデバイス状態情報215が、現在、オンであり、このため、照光を提供している場合、スマート照明210bは、少なくとも、オフにするアクション120を実行してよく、オプションとして、スマート照明210bによって提供される照光が増加されること、または低減されることが可能である照光設定を増加させる/低減する動作を実行してよい。このシナリオにおいて、アシスタントアプリケーション106は、ユーザ30が、オン状態からオフ状態に切り換えるアクション120、照光設定を増加させるアクション120、または照光設定を低減するアクション120のうちのそれぞれの1つを実行すべくスマート照明210bを制御することをそれぞれが可能にするセットのコントロール220を提供してよい。このため、少なくとも1つのアシスタント対応デバイス210から受け取られるそれぞれのセットの利用可能なアクション120における少なくとも1つの利用可能なアクション120は、現在のコンテクストに基づいて実行すべき対応するアシスタント対応デバイス210に関する示唆されるアクションを含んでよい。ここで、現在のコンテクストは、対応するアシスタント対応デバイス210のデバイス状態情報215を含んでよい。現在のコンテクストは、限定なしに、ユーザ30の環境32におけるアシスタント対応デバイス210のうちの1つまたは複数に関連付けられた同一の、もしくは類似した近接性情報250、方向性情報255、および/またはデバイス状態情報215を含む同一の、または類似したコンテクストの下でユーザ30がいずれのアシスタント対応デバイス210を実際に制御したかを示すユーザ30の過去の挙動をさらに、または代替として含んでよい。
【0029】
アシスタントアプリケーション106は、ユーザデバイス200のユーザ30が、各アシスタント対応デバイス210に関連付けられた1つまたは複数の特定のアクション120を実行するためのアクティブコントロール220をカスタマイズすることを可能にする設定をさらに提供してよい。ユーザ30は、ユーザデバイス200上で実行するためにアシスタントアプリケーション106を起動することを要求するユーザ要求108を提供してよい。例えば、ユーザデバイス200の画面上に表示されるグラフィカルユーザインターフェース(GUI)400が、アシスタントアプリケーション106を代表するグラフィカル要素の選択を示すユーザ入力指示としてユーザ要求108を受け取ってよく、またはユーザ30が、ユーザデバイス200上で実行するためにアシスタントアプリケーション106を起動する呼出しコマンドを含む音声入力を介してユーザ要求108を提供してよい。他の実施例において、ユーザデバイス200は、ユーザデバイス200上で実行するためにアシスタントアプリケーション106を起動するように構成されたユーザデバイス200の事前定義された動き/ポーズを検出することに応答するユーザ要求108を受け取る。例えば、ユーザデバイス200は、ユーザ30がユーザデバイスを第1の位置から第2の位置まで動かすことを検出する加速度計を含んでよい。
【0030】
GUI400においてそれぞれのセットのコントロール220をそれぞれ提示することは、環境32におけるアシスタント対応デバイス210の数が増加するにつれて手に負えなくなる可能性がある。例えば、複数のアシスタント対応デバイス210のそれぞれに関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を単に表示することが、ユーザ30が制御することを所望する目標アシスタント対応デバイス210を探し出すべくユーザ30がGUI400をナビゲートすることを要求する。明白な理由で、制御すべく利用可能な多数のアシスタント対応デバイス210が存在する場合、このことは、ユーザ30にとって面倒で厄介な作業である。ユーザ30の環境32内の複数のアシスタント対応デバイス210のそれぞれに関して近接性情報250を使用することによって、本明細書における実装形態は、アシスタントアプリケーション106が、環境32内の複数のアシスタント対応デバイス210のなかで1つまたは複数の候補アシスタント対応デバイス210を、それぞれのアクション120を実行するように目標アシスタント対応デバイス210にコマンドを与えること/命令することによってユーザ30が制御することを所望する目標アシスタント対応デバイス210として自動的に検出することを対象とする。例えば、ユーザ30が、目標アシスタント対応デバイス210に関連付けられたそれぞれのアクション120を実行することに関連付けられたGUI400において表示されるコントロール220のうちの1つの選択を示すユーザ入力指示を与えて、その結果、アシスタントアプリケーション106に、それぞれのアクション120を実行するよう目標アシスタント対応デバイス210に対応するコマンド80を送信させてよい。
【0031】
図示される実施例において、アシスタントアプリケーション106の実行中、ユーザデバイス200は、環境32内の複数のアシスタント対応デバイス210、210a~fのそれぞれに関する近接性情報250、250a~fを受信する。各アシスタント対応デバイス210に関して、ユーザデバイス200は、対応するアシスタント対応デバイス210に関して獲得された近接性情報250に基づいて近接性スコア260、260a~fを決定する(すなわち、アシスタントアプリケーション106を使用して)。ここで、各近接性スコア260は、環境32内のユーザデバイス200に相対的な対応するアシスタント対応デバイス210の近接推定値を示す。本明細書において使用される近接性推定値は、対応するデバイス210が位置するユーザデバイス200からの距離を含んでよい。近接性推定値は、ユーザデバイス200の位置に相対的な対応するデバイス210の位置をさらに含んでよい。複数のアシスタント対応デバイス210に関して決定された複数の近接性スコア260を使用して、ユーザデバイス200は、環境32内の複数のアシスタント対応デバイス210から候補アシスタント対応デバイス210の格付けされたリスト310を生成する(すなわち、アシスタントアプリケーション106を使用して)。ここで、格付けされたリスト310は、GUI400において表示され、格付けされたリスト310における各アシスタント対応デバイス210に関して、ユーザデバイス200は、GUI400において、対応するアシスタント対応デバイス210に関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を表示する。
【0032】
一部の実装形態において、アシスタントアプリケーション106は、ユーザデバイス200に相対的に最も近い近接性を有するアシスタント対応デバイス210からユーザデバイス200に相対的に最も離れた近接性を有するアシスタント対応デバイス210までアシスタント対応デバイス210を順序付けることによって、候補アシスタント対応デバイス210の格付けされたリスト310を生成する。例えば、図1は、上位から順にスマートスピーカ210a、スマート照明210b、スマートテレビ210c、スマートサーモスタット210d、第2のスマートテレビ210e、および第2のスマートスピーカ210fを含むGUI400において表示された候補アシスタント対応デバイス210の格付けされたリスト310を示す。ここで、GUI400において格付けされたリスト310の最上位で表示されるスマートスピーカ210aは、ユーザデバイス200に相対的に最も近い近接性を含む一方で、GUI400において格付けされたリスト310の最下位で表示される第2のスマートスピーカ210fは、ユーザデバイス200に相対的に最も離れた近接性を含む。
【0033】
一部の実施例において、アシスタントアプリケーション106は、ユーザデバイス200の環境32内の複数のアシスタント対応デバイス210に関して決定された複数の近接性スコア260のなかで高い方からN番目までの近接性スコア260を有するアシスタント対応デバイス210を選択することによって、候補アシスタント対応デバイス210の格付けされたリスト310を生成する。さらなる実施例において、候補アシスタント対応デバイス210の格付けされたリスト310は、最大距離しきい値を満たす近接性スコア260を有するアシスタント対応デバイス210だけを含む。ここで、最大距離しきい値は、構成可能であってよく、ユーザ30がそのアシスタント対応デバイス210を制御することを意図する尤度が低いことを示すアシスタント対応デバイス210とユーザデバイス200の間の遠い距離に関連付けられてよい。このようにして、ユーザデバイス200から最大距離しきい値を超えて離隔したアシスタント対応デバイス210が、候補アシスタント対応デバイス210の格付けされたリスト310から効果的に選別されて除かれることが可能である。例えば、ユーザデバイス200が第1のフロアにあるとき、第2のフロアに配置された1つまたは複数のアシスタント対応デバイス210が、候補アシスタント対応デバイス210の格付けされたリスト310から除外されてよい。さらに、または代替として、候補アシスタント対応デバイス210の格付けされたリスト310は、最小距離しきい値を満たす近接性推定値を示す近接性スコア260を有するアシスタント対応デバイス210を除外してよい。ここで、最小距離しきい値は、構成可能であってよく、ユーザ30がアプリケーション106を使用することなしにアシスタント対応デバイス210を直接に手動で制御するのに十分なだけ近いことを示すアシスタント対応デバイス210とユーザデバイス200の間の短い距離に関連付けられてよい。このようにして、ユーザ30の手の届く距離範囲内のアシスタント対応デバイス210が、候補アシスタント対応デバイス210の格付けされたリスト310から効果的に選別されて除かれることが可能である。
【0034】
図2は、アシスタント対応デバイス(例えば、スマートスピーカ)210と通信する例示的なユーザデバイス200を示す。ユーザデバイス200は、データ処理ハードウェア202と、データ処理ハードウェア202と通信し、データ処理ハードウェア202上で実行されると、データ処理ハードウェア202にアシスタントアプリケーション106を実行させる命令を記憶するメモリハードウェア204とを含む。また、ユーザデバイス200は、アシスタント対応デバイス210によって送信された無線通信信号を受信するように構成された、アンテナなどの少なくとも1つのセンサ206を含んでもよい。また、ユーザデバイス200は、1つまたは複数のマイクロフォン208のアレイを含んでもよい。アシスタント対応デバイス210は、アシスタント対応デバイス210に関連付けられたそれぞれのセットの利用可能なアクション120を実行すべくアシスタントアプリケーション106によって制御可能であるユーザデバイス200の環境32内の複数のアシスタント対応デバイス210うちの1つを含んでよい。一部の実施例において、アシスタント対応デバイス210は、アシスタント対応デバイス210が実行することが可能なそれぞれのセットの利用可能なアクション120を開示する。図示される実施例において、それぞれのセットの利用可能なアクション120は、再生動作と、音量制御動作と、停止/一時停止動作と、次の/前のトラック動作とを含むメディアプレーヤアクション120を含む。ユーザデバイス200は、アシスタント対応デバイス210から直接に、またはアクセスポイント(図示せず)を介して間接的にセットの利用可能なアクション120を受信してよい。次に、ユーザデバイス200は、アシスタント対応デバイス210から受信されたそれぞれのセットの利用可能なアクション120に基づいて、GUI400において表示するためのそれぞれのセットのコントロール220を決定してよい。ユーザ30は、ユーザ30が実際に制御することを所望する目標アシスタント対応デバイス210(例えば、スピーカ)に関連付けられたそれぞれのアクション120を実行することに関連付けられたGUI400において表示されるコントロール220のうちの1つの選択を示すユーザ入力指示を与えて、その結果、アシスタントアプリケーション106が、それぞれのアクション120を実行するよう目標アシスタント対応デバイス210に対応するコマンド80を送信するようにさせてよい。
【0035】
また、ユーザデバイス200は、アシスタント対応デバイス210からデバイス状態情報215を受信してもよい。例えば、デバイス状態情報215は、アシスタント対応デバイス210が現在、オンであり、曲再生リストを再生していることを示してよい。また、ユーザデバイス200は、アシスタント対応デバイス210から近接性情報250を受信することもする。ユーザデバイス200は、ユーザデバイス200の環境32内の各アシスタント対応デバイス210から近接性情報250、およびオプションとして、デバイス状態情報215を継続的に、または少なくとも周期的な間隔中に受信してよい。本明細書で使用される近接性情報250は、ユーザデバイス200が対応するアシスタント対応デバイス210に関する近接性スコア260を決定するのに使用してよい任意の情報または任意のデータを含み、近接性スコア260は、環境32におけるユーザデバイス200に相対的な対応するアシスタント対応デバイス210の近接性推定値を示す。したがって、多くの実施例は、ユーザデバイス200が、対応するアシスタント対応デバイス210に関する近接性スコア260を、アシスタント対応デバイス210から受信された近接性情報250に基づいて決定することを含むが、ユーザデバイス200は、別のデバイスから対応するアシスタント対応デバイス210に関連付けられた近接性情報250を受信してよい。例えば、画像キャプチャデバイスを含む別のデバイスが、ユーザデバイス200と関係してアシスタント対応デバイス210に関連付けられた近接性情報250を示す画像データを提供してよい。
【0036】
一部の実施例において、ユーザデバイス200は、ユーザデバイス200のセンサ206において、アシスタント対応デバイス210によって送信された無線通信信号を受信し、ユーザデバイス200のセンサ206において受信された無線通信信号の信号強度に基づいて近接性情報250を決定する。ここで、無線通信信号は、限定なしに、Bluetooth信号、赤外線信号、NFC信号、または超音波信号を含んでよい。他の実施例において、ユーザデバイス200は、アシスタント対応デバイス210からアクセスポイントにおいて受信された無線通信信号の信号強度を示す近接性情報250をアクセスポイント(図示せず)から受信する。これらの実施例において、ユーザデバイス200は、ユーザデバイス200からアクセスポイントにおいて受信された無線通信信号の信号強度に基づく近接性推定値を示す近接性スコア260を決定してよい。さらなる実施例において、ユーザデバイス200は、1つまたは複数のマイクロフォン208のアレイにおいて、アシスタント対応デバイス210から出力された可聴信号または可聴でない信号を受信し、アシスタント対応デバイス210から出力された可聴信号または可聴でない信号のエネルギーおよび/または周波数に基づいて、少なくとも1つのアシスタント対応デバイス210に関する近接性情報250を決定する。
【0037】
一部の実装形態において、ユーザデバイス200は、マイクロフォン208のアレイにおける各マイクロフォン(例えば、センサ)において、アシスタント対応デバイス210によって送信された無線通信信号を受信すること、およびセンサ208のアレイにおける各マイクロフォン(例えば、センサ)において受信された無線通信信号の、マイクロフォン208のアレイにおけるその他のマイクロフォンにおいて受信された無線通信信号のそれぞれの信号強度に相対的なそれぞれの信号強度に基づいて、方向性情報255を決定することによって、アシスタント対応デバイス210に関する方向性情報255をさらに獲得する。これらの実装形態において、アシスタント対応デバイス210に関して決定される近接性スコア260は、方向性情報255にさらに基づく。例えば、方向性情報255は、ユーザデバイス200がアシスタント対応デバイス210に面していないこと、またはアシスタント対応デバイス210とは違う方向を向いていることを示してよい。このことは、アシスタント対応デバイス210を制御することをユーザ30が意図していないことの強い指標の役割をすることが可能である。このため、方向性情報255は、ユーザデバイス200がアシスタント対応デバイス210の方向を向いていることを方向性情報255が示す場合、近接性スコア260を増加させること、またはユーザデバイス200がアシスタント対応デバイス210とは違う方向を向いていることを方向性情報255が示す場合、近接性スコア260を低減させることによって、近接性スコア260にバイアスをかけてよい。本明細書で使用される近接性スコア260は、ユーザデバイス200に相対的な近接性が低減すると、増加し、ユーザデバイス200に相対的な近接性が増加すると、低減する。このため、近接性スコア260の大きさは、ユーザデバイス200に相対的な対応するアシスタント対応デバイス210の近接性に反比例する。
【0038】
一部の実装形態において、アシスタントアプリケーション106は、限定なしに、過去の近接性-方向性情報250、255、もたらされる近接性スコア260、利用可能なセットのアクション120、デバイス状態情報215、およびユーザ30が、目標アシスタント対応デバイス210に関連付けられたそれぞれのアクション120を実行すべく実際に制御したコントロール220に関連付けられた目標アシスタント対応デバイス210を含む履歴データに対してユーザ特有の制御モデルを訓練する。例えば、ユーザ30が、目標アシスタント対応デバイス210に関連付けられたそれぞれのアクション120を実行することに関連付けられたGUI400において表示されるコントロール220のうちの1つの選択を示すユーザ入力指示を与えて、その結果、アシスタントアプリケーション106が、それぞれのアクション120を実行するよう目標アシスタント対応デバイス210に対応するコマンド80を送信するようにさせてよい。
【0039】
図3A図3Cは、ユーザ30がユーザデバイス200を保持して室内を移動しながら、ユーザデバイス200の環境(例えば、部屋32)内で複数のアシスタント対応デバイス210を制御するためのアシスタントアプリケーション106を実行するユーザデバイス200の概略図300a~cを示す。部屋は、アシスタント対応デバイス210、210a~dが居間全体にわたって配置された、図1の構内32の第1のフロアにおける居間を含んでよい。具体的には、300a~cの概略図は、スマートスピーカ210aと、スマート照明210bと、スマートテレビ210cと、スマートサーモスタット210dとを含む複数のアシスタント対応デバイス210を示す。図4A図4Cは、各対応するアシスタント対応デバイス210に関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を表示すべくユーザデバイス200の画面上にレンダリングされる例示的なGUI400a~cを示す。具体的には、各GUI400a~cが、図3A図3Cの複数のアシスタント対応デバイス210のそれぞれに関して獲得された近接性情報250に基づいて、候補アシスタント対応デバイス210の格付けされたリスト310、および各デバイス210に関するそれぞれのセットのコントロール220を示す。格付けされたリスト310における各候補アシスタント対応デバイス210は、候補アシスタント対応デバイス210を表すそれぞれのグラフィック402としてGUI400においてレンダリングされてよい。すなわち、図4AのGUI400aは、図3Aの環境32におけるユーザデバイス200に相対的なアシスタント対応デバイス210の近接性推定値に基づいて生成された候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220を示す。図4BのGUI400bは、図3Bの環境32におけるユーザデバイス200に相対的なアシスタント対応デバイス210の近接性推定値に基づいて生成された候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220を示す。図4CのGUI400cは、図3Cの環境32におけるユーザデバイス200に相対的なアシスタント対応デバイス210の近接性推定値に基づいて生成された候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220を示す。明白なとおり、それぞれのGUI400a~cの各GUIにおいてレンダリングされる候補アシスタント対応デバイス210の格付けされたリスト310は、ユーザデバイス200が、図3A図3Cの概略図300a~cに示される室内32の異なる位置のそれぞれに移動するにつれ、アシスタント対応デバイス210のそれぞれに関して決定される近接性スコア260に基づいて変化する。
【0040】
図3Aおよび図4Aを参照すると、ユーザ30が、テーブル上に配置されたスマートスピーカ210aの近くで部屋の向こう側に位置する一方で、スマート照明210bと、スマートテレビ210cと、スマートサーモスタット210dとを含むその他のアシスタント対応デバイス210は、部屋の反対側に位置する。さらに、ユーザデバイス200およびユーザ30は、スマートスピーカ210aの方向を向いており、ユーザ30がアシスタントアプリケーション106を介してスマートスピーカ210aを制御することを意図する尤度が高いことを示している。さらに、ユーザデバイス200およびユーザ30は、スマート照明210b、スマートテレビ210c、およびスマートサーモスタット210dとは違う方向を向いており、ユーザ30がアシスタントアプリケーション106を介してスマート照明210b、スマートテレビ210c、またはスマートサーモスタット210dを制御することを意図しない尤度が高いことを示している。
【0041】
図1および図2を参照して説明したとおり、ユーザデバイス200は、対応する近接性スコア260を決定すべく環境32内のアシスタント対応デバイス210のそれぞれに関する近接性情報250を継続的に(または周期的な間隔で)獲得してよく、各近接性スコア260は、環境32内のユーザデバイス200に相対的な対応するアシスタント対応デバイス210の近接性推定値を示す。図3Aに示されるとおり、スマートスピーカ210aが、ユーザデバイス200を保持するユーザ30に最も近い近接性にあり、より高い近接性スコア260をもたらす。最高の近接性スコア260を有する候補アシスタント対応デバイス210として、そのことは、ユーザ30がスマートスピーカ210aを制御することを所望することの強い指標である。反対に、スマート照明210b、スマートテレビ210c、およびスマートサーモスタット210dは、ユーザデバイス200を保持するユーザ30から遠く離れており、より低い近接性スコア260をもたらす。したがって、大きさとして、近接性スコア260は、ユーザ30が対応する候補アシスタント対応デバイス210を制御することを意図するか、または意図しないかについての強い指標の役割をすることが可能である。ユーザデバイス200は(すなわち、アシスタントアプリケーション106を使用して)、複数のアシスタント対応デバイス210a~dのなかで最高の近接性スコア260を有するものとしてスマートスピーカ210aを、ユーザ30が制御することを意図する目標アシスタント対応デバイス210として識別してよい。
【0042】
さらに、図1に示される第2のスマートテレビ210eおよび第2のスマートスピーカ210fなどの、ユーザの構内32の第2のフロアにある他の部屋に配置されたアシスタント対応デバイス210が、ユーザデバイス200が(すなわち、アシスタントアプリケーション106使用して)それらのアシスタント対応デバイス210を、ユーザ30が制御することを意図する可能な候補としての考慮において失格とすることをもたらすさらに低い近接性スコア260を有することが可能である。その結果、ユーザデバイス200は、第2のスマートテレビ210eおよび第2のスマートスピーカ210fを、図4A図4CのGUI400a~cにおいてレンダリングされる候補アシスタント対応デバイス210の格付けされたリスト310から破棄してよい。
【0043】
図3Aおよび図4Aを参照して、アシスタント対応デバイス210のそれぞれに関する近接性スコア260を決定した後、ユーザデバイス200は、ユーザデバイス200に相対的なアシスタント対応デバイス210の近接性推定値を示す近接性スコア260に基づいて、候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220を生成する(すなわち、アシスタントアプリケーション106を使用して)。より具体的には、ユーザデバイス200は、ユーザデバイス200に相対的に最も近い近接性を有するアシスタント対応デバイス210aからユーザデバイス200に相対的に最も離れた近接性を有するアシスタント対応デバイス210dまでアシスタント対応デバイス210を順序付けることによって、格付けされたリスト310を生成する。さらなる実施例において、近接性スコア260は、対応するアシスタント対応デバイス210に関連付けられたそれぞれのセットの利用可能なアクションに関する信頼度レベルなどのさらなるコンテクスト情報と組み合わせられる。例えば、夜更けに照明をオフにすることに関するより高い信頼度が存在することが可能である。要するに、そのようなコンテクスト情報は、アシスタント対応デバイスが、ユーザのために個人用設定された格付けされたリスト310においてどのように位置づけられるかに影響を与えるように近接性スコア260にバイアスをかけるのに使用されることが可能である。
【0044】
図4AのGUI400aは、ユーザデバイス200がアシスタント対応デバイス210のそれぞれに関して決定された近接性スコア260を使用して生成する候補アシスタント対応デバイス210の格付けされたリスト310を表示する。前述したとおり、ユーザデバイス200は、図1のユーザの構内32の第2のフロアに配置された第2のスマートテレビ210eおよび第2のスマートスピーカ210fに関連付けられた近接性スコア260は、最大距離しきい値を満たす近接性推定値を示して、その結果、ユーザデバイス200が候補アシスタント対応デバイス210の格付けされたリスト310からこれらのアシスタント対応デバイス210e、210fを破棄することをもたらすことが可能であると判定することが可能である。最高の近接性スコア260を有することの結果として、ユーザデバイス200は、スマートスピーカ210aを格付けされたリスト310においてより高く格付けし、その結果、ユーザデバイス200が、格付けされたリスト310においてより低い格付けのアシスタント対応デバイス210b~dのそれぞれを代表するグラフィカル要素402と比べて、スマートスピーカ210a、対応するコントロール220、およびデバイス状態情報215を代表する対応するグラフィカル要素402をGUI400aにおいてより目立つようにレンダリングすることがもたらされる。図示される実施例において、ユーザデバイス200は、GUI400aにおいて、候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220のグラフィカル要素402を、スマートスピーカ210aが最上部に来るようにして、より大きいフォントでレンダリングする/表示する。GUI400aは、限定的ではなく、他の実施例において、ユーザデバイス200は、最高の近接性スコア260に関連付けられたスマートスピーカ210aを代表するグラフィカル要素402を、中央部などのGUI400aの他の位置にレンダリングすること、および/またはそのグラフィカル要素402を、その他のアシスタント対応デバイス210b~dを代表するグラフィカル要素402とは異なるように表示することをしてよい。この表示フォーマットは、ユーザ30が、スマートスピーカ210aに関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を迅速に見出すことをより容易にする。
【0045】
図4Aに示される例示的なGUI400aにおいて、GUI400aにおいて表示されるスマートスピーカ210aに関するそれぞれのセットのコントロール220は、スマートスピーカ210aに、スマートスピーカ210aが実行するのに現在、利用可能である曲再生リスト(例えば、ストリーミング曲サービス)に関連付けられたそれぞれのセットのアクション120から任意のアクション120を実行させるためのコントロール220を含む。このそれぞれのセットのコントロール220は、選択されると、スマートスピーカ210aに再生リストにおける前の歌トラックに戻ること、曲再生リストを再生すること、再生リストにおける次の歌トラックに飛ぶこと、およびスマートスピーカ210aの音量レベルを調整することのそれぞれのアクション120を実行させるコントロール220を含む。この実施例を続けると、ユーザの構内32の居間に配置されたスマートスピーカ210aを代表するグラフィカル要素402が、スマートスピーカ210aのバッテリレベルを示す、スマートスピーカ210aに関連付けられたデバイス状態情報215、ならびに曲再生リストが現在、一時停止されていること、および、このため、スマートスピーカ210aから曲が現在、出力されていないことも表示する。注目されることとして、再生リストを一時停止するアクション120を実行するためのコントロール220は、再生リストが現在、一時停止されているので、GUI400aにおいて表示されない。ここで、ユーザ30は、スマートスピーカ210aに再生リストにおける現在の歌トラックを可聴に再生するそれぞれのアクション120を実行させるべく「再生」コントロール220の選択を示すユーザ入力指示を与えてよい(例えば、「再生」を汎用で代表するGUI400aにおけるグラフィカルボタンに触れることによって)。オプションとして、「再生」コントロール220の選択を示すユーザ入力指示は、ユーザ30が、ユーザデバイス200のマイクロフォンによってキャプチャされてよい「再生」という言葉を発することなどの、音声入力を含んでよい。注目されることとして、格付けされたリスト310におけるデバイス210を制御するための音声認識能力は、近接性スコア260に基づいてバイアスをかけられてよい。このことは、ユーザが音声ベースのコマンドを発する尤度がより高い可能性があるという考えに従う。このため、特定のデバイス210に関してしきい値を満たす近接性スコア260が、マイクロフォンに、キャプチャリングを行うため、およびキャプチャされた音声に対して音声認識を実行するためにデバイス210を開かせてよい。さらに、または代替として、特定のデバイス210に関する音声認識能力が、そのデバイス210に関するそれぞれのセットの利用可能なアクション120を認識すべくバイアスをかけられてよい。図3Aに示されるとおり、GUI400aにおいて表示される「再生」コントロール220の選択を示すユーザ入力指示は、ユーザデバイス200(すなわち、アシスタントアプリケーション106)が、再生リストにおける現在の歌トラックを可聴で再生するそれぞれのアクション120を実行するようスマートスピーカ210aに対応するコマンド80を送信するようにさせる。
【0046】
図4AのGUI400aを再び参照すると、ユーザデバイス200は、GUI400aにおいて、候補アシスタント対応デバイス210の格付けされたリスト310におけるその他アシスタント対応デバイス210b~dを代表するグラフィカル要素402をさらに表示する。具体的には、スマートサーモスタット210dが2番目に高い近接性スコア260を有することにより、スマートサーモスタット210dが、格付けされたリスト310において2番目であり、スマートテレビ210cが3番目に高い近接性スコア260を有することにより、スマートテレビ210cが、格付けされたリスト310において3番目であり、スマート照明210bが最低の近接性スコア260を有することにより、スマート照明210bが、格付けされたリスト310において最後である。図示される実施例において、スマートサーモスタット210dを代表するグラフィカル要素402が、スマートサーモスタット210dの現在の温度設定(例えば、21℃)を示すデバイス状態情報215、および現在の温度設定を増加させること、または低減させることのそれぞれのアクション120を実行すべくスマートサーモスタット210dを制御するためのそれぞれのセットのコントロール220を提供する。同様に、スマート照明210bを代表するグラフィカル要素402が、スマート照明210bが現在、オフであることを示すデバイス状態情報215、およびオンにするそれぞれのアクション120を実行すべくスマート照明210bを制御するための単一のコントロール220を提供する。
【0047】
一部の実施例において、より低い格付けの近接性スコア260に関連付けられた格付けされたリスト310における候補アシスタント対応デバイス210に関して、GUI400aは、それぞれのコントロール220をレンダリングすることなしに、それらのアシスタント対応デバイス210に関連付けられたデバイス状態情報215だけを表示してよい。しかし、ユーザ30が、それぞれのアクション120を実行すべくこれらのデバイス210のいずれかを制御することを所望する場合、ユーザ30は、GUI400aが、GUI400aにおいてそれぞれのセットのコントロール220をレンダリングするようにさせる対応するグラフィカル要素402を選択する入力指示を与えてよい。図示される実施例において、ユーザデバイス200は(すなわち、アプリケーション106を使用して)、スマートテレビ210cが低い近接性スコア260(例えば、最小近接性スコアしきい値を満たすことができない)を有することにより、格付けされたリスト310においてスマートテレビ210cに関するそれぞれのコントロール220の表示を抑制する。コントロール220の表示を抑制するこの決定は、ユーザデバイス200がスマートテレビ210cとは違う方向を向いていることを示す対応する方向性情報255に基づいてよい。ここで、方向性情報255は、スマートテレビ210cに関する近接性スコア260に、その近接性スコア260を低減させることによってバイアスをかけてよい。さらに、ユーザデバイス200は、方向性情報255に基づいて近接性スコア260にバイアスをかけるか否かを考慮する際、アシスタント対応デバイス210のタイプなどのコンテクストを考慮してよい。本実施例において、コンテクストは、アシスタント対応デバイス210cがスマートテレビであること、およびユーザが、コマンドを発するとき、通常、スマートテレビに面するような向きをとることを示して、ユーザデバイス200がスマートテレビ210cとは違う方向を向いていることを示す方向性情報255は、ユーザ30がスマートテレビ210cを制御する意図を有さないことの強い指標の役割をすることが可能である。その結果、ユーザデバイス200は、オプションとして、スマートテレビ210cが実行するのに利用可能なアクション120が存在する場合でさえ、スマートテレビ210cにアクション120を実行させるためのGUI400aにおけるコントロール220の表示を抑制してよい。他方、スマート照明210bに関連付けられた方向性情報255は、ユーザ30は、スマート照明の動作を制御する際、通常、いずれの特定の様態で向きをとることもしないので、近接性スコア260にバイアスをかけるのに使用されないことが可能である。反対に、ユーザデバイス200がスマートスピーカ210aに面していることを示す方向性情報255は、近接性スコア260を増加させることによってスマートスピーカ210aに関する近接性スコア260にさらにバイアスをかけてよい。しかし、バイアスをかける量は、ユーザは、しばしば、他の方向に面しているときでさえ、動作を実行すべくスマートスピーカを制御するので、重み付けがより軽くされてよい。
【0048】
図3Bおよび図4Bを参照すると、ユーザデバイス200が、図3Aに示されるそれぞれの「再生」アクション120を実行するようスマートスピーカ210aにコマンド80を送信するようにさせる図4AのGUI400aにおいて表示される「再生」コントロール220の選択を示すユーザ入力指示をユーザ30が与えることに応答して、スマートスピーカ210aが、曲再生リストにおける現在の歌トラックを可聴に再生している。さらに、ユーザデバイス200およびユーザ30は、スマート照明210bと、スマートテレビ210cと、スマートサーモスタット210dとを含むその他のアシスタント対応デバイス210の方向を向いており、その結果、ユーザ30が、アシスタントアプリケーション106を介してスマート照明210b、スマートテレビ210c、またはスマートサーモスタット210dのうちの1つを制御することを意図する尤度が高い可能性があることを示している。
【0049】
図3Bに示されるとおり、スマートスピーカ210aが、ユーザデバイス200を保持するユーザ30の最も近い近接性にあるままであり、より高い近接性スコア260がもたらされる。最高の近接性スコア260を有する候補アシスタント対応デバイス210として、このことは、ユーザ30がスマートスピーカ210aを制御することを所望する強い指標である。反対に、スマート照明210b、スマートテレビ210c、およびスマートサーモスタット210dは、スマートスピーカ210aと比べて、ユーザデバイス200を保持するユーザ30から、依然として、遠く離れたままであり、その結果、これらのアシスタント対応デバイス210b~dが、スマートスピーカ210aと比べて、より低い近接性スコア260を有することがもたらされる。
【0050】
図3Bおよび図4Bを参照すると、アシスタント対応デバイス210のそれぞれに関する近接性スコア260を決定した後、ユーザデバイス200は、ユーザデバイス200に相対的なアシスタント対応デバイス210の近接性推定値を示す近接性スコア260に基づいて、候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220を生成する(すなわち、アシスタントアプリケーション106を使用して)。より具体的には、ユーザデバイス200は、ユーザデバイス200に相対的に最も近い近接性を有するアシスタント対応デバイス210aからユーザデバイス200に相対的に最も離れた近接性を有するアシスタント対応デバイス210dまでアシスタント対応デバイス210を順序付けることによって、格付けされたリスト310を生成する。一部の実施例において、近接性スコア260のうちの1つまたは複数が、アシスタント対応デバイス210のうちの1つまたは複数に関連付けられた方向性情報255に基づいて、さらに決定される、またはバイアスをかけられる。
【0051】
図4BのGUI400bが、ユーザデバイス200がアシスタント対応デバイス210のそれぞれに関して決定された近接性スコア260を使用して生成する候補アシスタント対応デバイス210の格付けされたリスト310を表示する。前述したとおり、ユーザデバイス200は、図1のユーザの構内32の第2のフロアに配置された第2のスマートテレビ210eおよび第2のスマートスピーカ210fに関連付けられた近接性スコア260が、最大距離しきい値を依然として満たす近接性推定値を示すことが可能であると判定して、その結果、ユーザデバイス200が、候補アシスタント対応デバイス210の格付けされたリスト310からこれらのアシスタント対応デバイス210e、210fを破棄することがもたらされることが可能である。最高の近接性スコア260を維持することの結果として、ユーザデバイス200は、スマートスピーカ210aを、格付けされたリスト310においてより高く格付けして、その結果、ユーザデバイス200が、格付けされたリスト310におけるより低い格付けのアシスタント対応デバイス210b~dのそれぞれを代表するグラフィカル要素402と比べて、スマートスピーカ210a、対応するコントロール220、およびデバイス状態情報215を代表する対応するグラフィカル要素402をGUI400bにおいてより目立つようにレンダリングすることがもたらされる。さらに、格付けされたリストにおけるより高い格付けのアシスタント対応デバイス210に関する対応するコントロール220が、より目立つように(例えば、より大きく、より多くのコントロール、その他)表示されてよい。図示される実施例において、ユーザデバイス200は、GUI400bにおいて、スマートスピーカ210aに関連付けられた候補アシスタント対応デバイス210の格付けされたリスト310、および対応するコントロール220のグラフィカル要素402を最上部に、より大きいフォントでレンダリングする/表示する。GUI400bは、限定的ではなく、他の実施例において、ユーザデバイス200は、最高の近接性スコア260に関連付けられたスマートスピーカ210aを代表するグラフィカル要素402を、GUI400bの中央部などの、GUI400bの他の位置にレンダリングすること、および/またはそのグラフィカル要素402を、その他のシスタント対応デバイス210b~dを代表するグラフィカル要素402とは異なるように表示することをしてよい。この表示フォーマットは、ユーザ30が、スマートスピーカ210aに関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を迅速に見出すことをより容易にする。
【0052】
図4Bの例示的なGUI400bを引き続き参照すると、GUI400bにおいて表示されたスマートスピーカ210aに関するそれぞれのセットのコントロール220が、選択されると、スマートスピーカ210aに、再生リストにおける前の歌トラックに戻ること、曲再生リストを一時停止すること、再生リストにおける次の歌トラックに飛ぶこと、およびスマートスピーカ210aの音量レベルを調整することのそれぞれのアクション120を実行させるコントロール220を含む。このため、スマートスピーカ210aに関するデバイス状態情報215は、スマートスピーカ210aが、今現在、曲再生リストから曲を再生していることを示すので(すなわち、図3Aに示されるそれぞれの「再生」アクション120を実行するようスマートスピーカ210aにユーザデバイス200からコマンド80が送信されることに応答して)、図4AのGUI400aにおいてコントロール220として利用可能でなかった曲再生リストを一時停止するアクション120が、図4BのGUI400aにおいて、選択されるように今現在、利用可能である。この実施例を続けると、ユーザの構内32の居間に配置されたスマートスピーカ210aを代表するグラフィカル要素402が、スマートスピーカ210aのバッテリレベルを示す、スマートスピーカ210aに関連付けられたデバイス状態情報215、ならびに曲再生リストが現在、再生されていること、および、このため、スマートスピーカ210aから曲が現在、出力されていることも表示する。注目されることとして、ユーザ30が、図3Aにおける「再生」コントロール220の選択を示す入力指示を与えたため、再生リストが現在、再生されているので、再生リストを再生するアクション120を実行するためのコントロール220は、GUI400bにおいて表示されない。
【0053】
やはり図4BのGUI400bを参照すると、ユーザデバイス200が、GUI400bにおいて、候補アシスタント対応デバイス210の格付けされたリスト310におけるその他のアシスタント対応デバイス210b~dを代表するグラフィカル要素402をさらに表示する。具体的には、スマートサーモスタット210dが2番目に高い近接性スコア260を有することにより、スマートサーモスタット210dが、格付けされたリスト310において2番目であり、スマートテレビ210cが3番目に高い近接性スコア260を有することにより、スマートテレビ210cが、格付けされたリスト310において3番目であり、スマート照明210bが最低の近接性スコア260を有することにより、スマート照明210bが、格付けされたリスト310において最後である。図示される実施例において、スマートサーモスタット210dを代表するグラフィカル要素402が、スマートサーモスタット210dの現在の温度設定(例えば、21℃)を示すデバイス状態情報215、および現在の温度設定を増加させること、または低減させることのそれぞれのアクション120を実行すべくスマートサーモスタット210dを制御するためのそれぞれのセットのコントロール220を提供する。同様に、スマート照明210bを代表するグラフィカル要素402が、スマート照明210bが現在、オフであることを示すデバイス状態情報215、およびオンにするそれぞれのアクション120を実行すべくスマート照明210bを制御するための単一のコントロール220を提供する。
【0054】
図示される実施例において、ユーザデバイス200は(すなわち、アプリケーション106を使用して)、格付けされたリスト310におけるスマートテレビ210cに関するそれぞれのコントロール220の表示をもはや抑制しない。スマートテレビ210cに関するそれぞれのコントロール220の表示を現在、レンダリングするこの決定は、対応する方向性情報255が、ユーザデバイス200がスマートスピーカ210aとは違う方向を向いて、図3Bの概略図300bに示されるとおり、スマートテレビ210cに現在、面することを、現在、示していることに基づいてよい。ここで、方向性情報255が、ユーザデバイス200がスマートテレビ210cの方向を向いていることを示すことが、アシスタントアプリケーション106が、スマートテレビ210cに関する近接性スコア260にバイアスをかけることを、その近接性スコア260を増加させること、および/または方向性情報255が、ユーザデバイス200がスマートテレビ210cとは違う方向を向いていることを示していたときに図3Aにおけるとおりに近接性スコア260を低減させるバイアスを適用しないことを単に選択することによってもたらしてよい。この実施例において、方向性情報255が、ユーザデバイス200がスマートテレビ210cに面していることを示すことは、ユーザ30がスマートテレビ210cを制御することを意図する強い指標の役割をすることが可能である。その結果、ユーザデバイス200は、オプションとして、スマートテレビ210cに、スマートテレビ210cの電源をオフにすること、およびスマートテレビ210cのオーディオ出力をミュートにすることのアクション120を実行させるためのGUI400bにおける「オフ」および「ミュート」のためのコントロール220の表示をレンダリングしてよい。さらに、方向性情報255が、ユーザデバイス200がスマートテレビ210の方向を向いていることを示すことは、スマートテレビ210cが、ユーザデバイス200がスマートテレビの方向を向いているという指示を提供することをもたらして、その結果、アシスタントアプリケーションがテレビを制御することを意図することの確認の役割をしてよい。この指示は、画面の色が変わること、テレビ210cのパネルの色が変わること、可聴のアラート、またはユーザデバイス200がテレビ200cと整列したことを確認する他の任意の指示であることが可能である。
【0055】
本明細書において説明される多くの実施例は、アシスタントアプリケーション106が受信された方向性情報255を使用して近接性スコア260にバイアスをかけることについて説明するが、他の実施例は、アシスタントアプリケーション106が、近接性情報250と方向性情報255の両方の関数として近接性スコア260を決定することを含んでよい。これらの実施例において、情報250、255を提供する特定のアシスタント対応デバイス210のタイプが、対応する近接性スコア260を決定する際、さらに考慮に入れられてよい。例えば、アシスタントアプリケーション106が、近接性情報250および方向性情報255が、その特定のアシスタント対応デバイス210に関してもたらされる近接性スコア260の大きさにどれだけ影響を与えるかに影響を与えるべく、その特定のアシスタント対応デバイス210のタイプに基づいて、近接性情報250の重みおよび/または方向性情報255の重みを調整してよい。一部の実装形態において、アシスタントアプリケーション106は、ユーザデバイス200が移動しているか否かを判定すべく或る持続時間にわたって連続して受信される近接性情報250および方向性情報255を使用する。これらの実装形態において、ユーザデバイス200が移動しているとき、アシスタントアプリケーション106は、ユーザデバイス200がいずれの方向に向かって移動しているか、および、それ故、いずれのアシスタント対応デバイス210に向かってユーザデバイス200が移動しているかを示すユーザデバイス200の現在の進行方向をさらに導き出してよい。現在の進行方向が、1つまたは複数のアシスタント対応デバイス210に関して決定される近接性スコア260にバイアスをかけてよく、または1つまたは複数のアシスタント対応デバイス210に関して決定される近接性スコア260が、近接性情報250および方向性情報255から導き出されたユーザデバイス200の現在の進行方向の関数として決定されてよい。
【0056】
さらに、ユーザデバイス200は、環境32における1つまたは複数のアシスタント対応デバイス210に関連付けられた利用可能なアクション120を実行するためのそれぞれのコントロール220をGUI400に含めるか否かを考慮する際、アシスタント対応デバイス210のうちの1つまたは複数のデバイス210のデバイス状態情報215に基づいてアシスタント対応デバイス210にそれぞれのアクション120を実行させるためのコントロール220の選択を示す入力指示を提供するユーザ30の過去の挙動のコンテクストを考慮に入れてよい。例えば、スマートテレビ210cのデバイス状態情報215が、スマートテレビ210cが現在、オンであることを示していながら、ユーザ30が、スマートスピーカ210aに曲を再生させるコマンド80を発行するたびに毎回、ユーザ30が、スマートテレビ210cを即時にミュートにした、またはオフにした場合、ユーザデバイス200は、スマートスピーカ210aに曲を再生させるコマンド80(図3A)が発行されること、およびスマートテレビ210cに関する現在のデバイス状態情報215が、スマートテレビ210cが現在、オンであることを示すことに応答して、スマートテレビ210cに関してGUI400bにおいて「オフ」および「ミュート」のためのコントロール220の表示を現在、レンダリングする決定を行ってよい。
【0057】
図3Bおよび図4Bを参照すると、ユーザ30が、スマート照明210bをオフからオンに切り換えることを所望し、アシスタントアプリケーション106を使用して、スマート照明210bに関してGUI400bにおいて表示される「オン」コントロール220の選択を示す対応するユーザ入力指示(例えば、タッチ入力、音声入力、視線、またはジェスチャ)を与える。ここで、ユーザデバイス200は、GUI400bにおいて表示されたスマート照明210bに関する「オン」コントロール220の選択を示すユーザ入力指示を受け取り、ユーザデバイス200(すなわち、アシスタントアプリケーション106)が、オンにするそれぞれのアクション120を実行するようスマート照明210bに対応するコマンド80を送信するようにさせる。
【0058】
図3Cおよび図4Cを参照すると、スマート照明210bが、現在、オンにされ、ユーザ30が、スマートスピーカ210aに近い部屋の向こう側から、スマートサーモスタット210dに最も近い部屋の反対側に向かって移動しており、スマート照明210bおよびスマートテレビ210cが、図3Bに示される実施例と比べて、ユーザデバイス200に現在、より近い近接性にある。GUI400cは、スマート照明210bが、現在、オンであることを示すスマート照明210bに関するデバイス状態情報215を現在、示して、その結果、オフにすることの唯一の利用可能なアクション120を実行すべくスマート照明210bを制御するスマート照明210bに関する唯一のコントロール220が、GUI400cにおいてレンダリングされる。さらに、図3Cは、ユーザデバイス200がスマートサーモスタット210dの方向を向いていることを示して、ユーザ30が、アシスタントアプリケーション106を介してスマートサーモスタット210dを制御することを意図する尤度が高い可能性があることが示されている。反対に、ユーザデバイス200は、スマート照明210bおよびスマートテレビ210cがユーザデバイス200に近い近接性にあるにもかかわらず、スマート照明210bまたはスマートテレビ210cのいずれの1つの方向にも向いていない。ユーザデバイス200がアシスタント対応デバイス210の方向を向いていないことを示す方向性情報255は、ユーザ30がアシスタント対応デバイス210、例えば、図示される実施例におけるスマート照明210b、スマートテレビ210c、およびスマートスピーカ210aを制御することを意図しない尤度が高いことを示す可能性がある。
【0059】
図1および図2を参照して前述したとおり、ユーザデバイス200は、候補アシスタント対応デバイス210の格付けされたリスト310を生成するためにアシスタント対応デバイス210のそれぞれの近接性スコア260を決定すべく、アシスタント対応デバイス210のそれぞれに関して近接性情報250を継続的に(または周期的な間隔で)獲得してよく、オプションとして、方向性情報255を獲得してよい。図3Cに示されるとおり、スマートサーモスタット210dが、ユーザデバイス200を保持するユーザ30に最も近い近接性にある一方で、スマートスピーカ210aは、ユーザデバイス200に相対的に最も離れた近接性を有して、ユーザデバイス200が、スマートスピーカ210aと比べて、スマートサーモスタット210dに関してより高い近接性スコア260を初期に決定することがもたらされる。スマートサーモスタット210dが、最高の近接性スコア260を有する、格付けされたリスト310における候補アシスタント対応デバイス210であるので、ユーザ30がスマートサーモスタット210dを制御することを意図することの強い指標が最初に存在する。スマート照明210bおよびスマートテレビ210cは、スマートスピーカ210aと比べて、ユーザデバイス200により近いが、スマートサーモスタット210dと比べて、ユーザデバイス200に相対的により離れた近接性を含んで、ユーザデバイス200が、スマートサーモスタット210dと比べてより低いが、スマートスピーカ210aと比べてより高いスマートテレビ210cおよびスマート照明210bに関する近接性スコア260を最初に決定することがもたらされる。したがって、近接性スコア260の大きさは、対応する候補アシスタント対応デバイス210を制御することをユーザ30が意図するか、または意図しないかについての強い指標の役割をすることが可能である。環境32におけるアシスタント対応デバイス210a~dに関して決定された近接性スコア260だけを使用する場合、ユーザデバイス200は(すなわち、アシスタントアプリケーション106を使用して)、複数のアシスタント対応デバイス210a~dのなかで最高の近接性スコア260を有するスマートサーモスタット210dを、ユーザ30が制御することを意図する目標アシスタント対応デバイス210として識別してよい。
【0060】
さらに、ユーザデバイス200は(すなわち、アシスタントアプリケーション106を介して)、アシスタント対応デバイス210のうちの1つまたは複数に関連付けられた基礎にある示唆信頼度に基づいて、近接性スコア260のうちの1つまたは複数にバイアスをかけてよい。例えば、ユーザ30がアシスタント対応デバイス210と最近、対話した場合、ユーザ30がアシスタント対応デバイス210を制御することを続けることを求めることの高い示唆信頼度が存在することが可能である。この実施例において、ユーザデバイス200は、対応するアシスタント対応デバイス210に関連付けられた近接性スコア260を増加させることによって、近接性スコア260にバイアスをかけるべく示唆信頼度を適用してよい。反対に、ユーザ30がしきい値期間にわたってアシスタント対応デバイス210と対話していない場合、ユーザ30がアシスタント対応デバイス210を制御することを求めることの低い示唆信頼度が存在して、その結果、ユーザデバイス200が、対応するアシスタント対応デバイス210に関連付けられた近接性スコア260にバイアスをかけることを、近接性スコア260を低減させる/低くする/小さくすることによって行うようにさせられることが可能である。図示される実施例において、ユーザデバイス200は、スマートスピーカ210aに曲再生リストを再生するそれぞれのアクション120を実行させるスマートスピーカ210aのためのコマンド80をユーザデバイス200から発するようにGUI400aにおいて「再生」コントロール220を選択することによって、ユーザデバイス200が図3Aおよび図4Aにおけるスマートスピーカ210aと最近、対話しているので、ユーザ30がスマートスピーカ210aを制御するのを続けることを求めることが可能であることを示す、スマートスピーカ210aに関連付けられた高い示唆信頼度を獲得する。その結果、スマートスピーカ210aがユーザデバイス200に相対的に最も離れた近接性を有し、方向性情報255が、ユーザデバイス200がスマートスピーカ210aとは違う方向を向いていることを示すにもかかわらず、ユーザデバイス200は、スマートスピーカ210aに関連付けられた近接性スコア260を増加させることによって、高い示唆信頼度を適用してよい。ここで、ユーザデバイス200は(すなわち、アシスタントアプリケーション106を使用して)、図4CのGUI400cにおいてレンダリングされる候補アシスタント対応デバイスの格付けされたリスト310においてスマートスピーカ210a、およびそれぞれのセットのコントロール220を最高に維持する。他の実施例において、高い示唆信頼度が、特定のアシスタント対応デバイス210を、ユーザデバイス200に相対的なその特定のアシスタント対応デバイス210の近接性情報250および方向性情報255とは独立に制御することをユーザ30が意図することを示すことは、アシスタントアプリケーション106が、その特定のアシスタント対応デバイス210が格付けされたリスト310において最高に格付けされるように、その特定のアシスタント対応デバイス210に関して決定された近接性スコア260を単に無効にすることをもたらす。同様に、ユーザ30が特定のアシスタント対応デバイス210を制御することを意図することに関する低い示唆信頼度が、アシスタントアプリケーション106に、その特定のアシスタント対応デバイス210の関連付けられた近接性スコア260を単に無効にさせることをもたらして、それらのデバイス210が、格付けされたリスト310において少なくともより低く格付けされるように、またはGUI400における表示のためにより目立たないようにレンダリングされるようにしてよい。実際、低い示唆信頼度は、候補アシスタント対応デバイス210の格付けされたリスト310からアシスタント対応デバイス210が単に完全に破棄されることをもたらしてよい。
【0061】
さらに、ユーザデバイス200は、近接性スコア260が最小距離しきい値を満たす(例えば、最小距離しきい値未満の)近接性推定値を示すと判定した後、アシスタント対応デバイス210を破棄してよい。ここで、最小距離しきい値は、ユーザ30が、アプリケーション106を使用することなしにアシスタント対応デバイス210を直接に手動で制御するように、アシスタント対応デバイス210がユーザデバイス200に十分に近いことを示す近接性スコア260を有するアシスタント対応デバイス210を選別して除くように構成される。図3Cに示される実施例において、スマートサーモスタット210dに関連付けられた近接性スコア260が、最小距離しきい値を満たす(例えば、最小距離しきい値未満の)近接性推定値を示し、その結果、ユーザデバイス200が、図4CのGUI400cにおいてレンダリングされる候補アシスタント対応デバイス210の格付けされたリスト310からスマートサーモスタット210dを破棄することがもたらされる。
【0062】
図4CのGUI400cは、ユーザデバイス200がアシスタント対応デバイス210のそれぞれに関して決定された近接性スコア260を使用して生成する候補アシスタント対応デバイス210の格付けされたリスト310を表示する。前述したとおり、ユーザデバイス200は、スマートサーモスタット210dに関連付けられた近接性スコア260が、最小距離しきい値を超えることができない近接性推定値を示すと判定して、その結果、ユーザデバイス200が、候補アシスタント対応デバイス210の格付けされたリスト310からこのアシスタント対応デバイス210dを破棄することがもたらされてよい。他方、図3Aにおけるスマートスピーカ210aとの最近の対話が、スマートスピーカ210aに関連付けられた近接性スコア260を増加させて、当該スマートスピーカ210aが格付けされたリスト310において最高の格付けを有することをもたらしてよい。したがって、ユーザデバイス200は、GUI400cにおいて、スマートスピーカ210aおよびそれぞれのセットのコントロール220を代表するグラフィカル要素402を、格付けされたリスト310におけるその他のアシスタント対応デバイス210を代表するグラフィカル要素402と比べて、より目立つように(例えば、格付けされたリスト310の最上部に、より大きいフォントで)レンダリングすることを続けてよい。GUI400cは、非限定的であり、他の実施例において、ユーザデバイス200は、最高の近接性スコア260に関連付けられたスマートスピーカ210aを代表するグラフィカル要素402を、中央部などのGUI400cの他の位置にレンダリングすること、および/またはそのグラフィカル要素402を、その他のアシスタント対応デバイス210b、210cを代表するグラフィカル要素402とは異なるように表示することをしてよい。この表示フォーマットは、ユーザ30が、スマートスピーカ210aに関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を迅速に見出すことをより容易にする。
【0063】
また、ユーザデバイス200は、GUI400cにおいて、候補アシスタント対応デバイス210の格付けされたリスト310におけるその他のアシスタント対応デバイス210b、210cを代表する対応するグラフィカル要素402を表示することもする。具体的には、スマートテレビ210cが2番目に高い近接性スコア260を有することにより(例えば、スマートスピーカ210aに関連付けられた近接性スコア260を増加させ、格付けされたリスト310からスマートサーモスタット210dを破棄した後)、スマートテレビ210cが、格付けされたリスト310において2番目である。スマート照明210bが3番目に高い近接性スコア260を有することにより、スマート照明210bが、格付けされたリスト310において3番目である。図4Cの例示的なGUI400cにおいて、スマートテレビ210cを代表するグラフィカル要素402が、スマートテレビ210cが、現在、オンであることを示すことによって図4BのGUI400bにおけるのと同一のデバイス状態情報215、ならびにスマートテレビ210cをオフにすること、またはミュートにすることのそれぞれのアクション120を実行すべくスマートテレビ210cを制御するための同一のそれぞれのセットのコントロール220を提供する。
【0064】
図5は、アシスタント対応デバイスを制御する方法500に関する動作の例示的な構成のフローチャートである。動作510において、方法500は、ユーザデバイス200のデータ処理ハードウェア202による、ユーザデバイス200の環境32内の複数のアシスタント対応デバイス210のそれぞれに関する近接性情報250を獲得することを含む。少なくとも1つのアシスタント対応デバイス210に関する近接性情報250の例は、ユーザデバイス200が、対応するアシスタント対応デバイス210に関する近接性スコア260を決定するのに使用してよい任意の情報またはデータを含み、近接性スコア260は、環境32におけるユーザデバイス200に相対的な対応するアシスタント対応デバイス210の近接性推定値を示す。複数のアシスタント対応デバイス210の各アシスタント対応デバイス210は、アシスタント対応デバイス210に関連付けられたそれぞれのセットの利用可能なアクション120を実行すべくアシスタントアプリケーション106によって制御可能である。例えば、スマートスピーカ210aに関するそれぞれのセットの利用可能なアクション120は、再生リストにおける前の歌トラックに戻ること、曲再生リストを再生すること、再生リストを一時停止すること、再生リストにおける次の歌トラックに飛ぶこと、およびスマートスピーカ210aの音量レベルを調整することのうちの1つまたは複数を含んでよい。
【0065】
動作520において、方法500は、複数のアシスタント対応デバイス210の各アシスタント対応デバイス210に関して、データ処理ハードウェア202による、対応するアシスタント対応デバイス210に関して獲得された近接性情報250に基づいて近接性スコア260を決定することを含む。近接性スコア260は、環境32におけるユーザデバイス200に相対的な対応するアシスタント対応デバイス210の近接性推定値を示す。近接性推定値は、対応するアシスタント対応デバイス210が位置するユーザデバイス200からの距離を示すこと、および/またはユーザデバイス200の位置に相対的な対応するアシスタント対応デバイス210の位置を含むことが可能である。
【0066】
動作530において、方法500は、データ処理ハードウェア202による、複数のアシスタント対応デバイス210に関して決定された複数の近接性スコア260を使用して、複数のアシスタント対応デバイス210から候補アシスタント対応デバイス210の格付けされたリスト310を生成することも含む。一部の実施例において、方法500は、ユーザデバイス200に相対的に最も近い近接性を有するアシスタント対応デバイス210からユーザデバイス200に相対的に最も離れた近接性を有するアシスタント対応デバイス210までアシスタント対応デバイス210を順序付けることによって、候補アシスタント対応デバイス210の格付けされたリスト310を生成する。候補アシスタント対応デバイス210の格付けされたリスト310は、複数のアシスタント対応デバイス210から決定された複数の近接性スコア260のなかで高い方からN番目までの近接性スコア260を有するアシスタント対応デバイス210を含んでよい。さらに、候補アシスタント対応デバイス210の格付けされたリスト310を生成することは、最大距離しきい値を満たす(すなわち、ユーザデバイス200から遠く離れすぎている)近接性推定値、および/または最小距離しきい値を満たす(すなわち、ユーザデバイス200に近すぎる)近接性推定値を示す近接性スコア260を含むアシスタント対応デバイス210を、候補アシスタント対応デバイス210の格付けされたリスト310から破棄することをさらに含んでよい。
【0067】
動作540において、方法500は、候補アシスタント対応デバイス210の格付けされたリスト310における1つまたは複数の対応するアシスタント対応デバイス210のそれぞれに関して、データ処理ハードウェア202による、データ処理ハードウェア202と通信するユーザデバイス200の画面上に表示されたグラフィカルユーザインターフェース(GUI)400において、対応するアシスタント対応デバイス210に関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を表示することも含む。各候補アシスタント対応デバイス210に関して、ユーザデバイス200は、GUI400において候補アシスタント対応デバイス210、デバイス210の対応するコントロール220、および/またはデバイス状態情報215を代表する対応するグラフィカル要素402をレンダリングしてよい。さらに、GUI400において、対応するアシスタント対応デバイス210に関連付けられたそれぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を表示する方法500は、アシスタント対応デバイス210のうちの少なくとも1つに関連付けられたデバイス状態情報215を受信することに応答して、候補アシスタント対応デバイス210の格付けされたリスト310において候補アシスタント対応デバイス210を格付けしなおすことを含んでよい。さらに、または代替として、それぞれのセットのアクション120を実行するためのそれぞれのセットのコントロール220を表示するための方法500は、1つのアシスタント対応デバイス210に関するそれぞれのセットのコントロール220を、その他のアシスタント対応デバイス210に関してGUI400において表示されるそれぞれのセットのコントロール220とは異なるように表示することを含んでよい。例えば、最高の近接性スコア260を有し、格付けされたリスト310において最も高く格付けされたアシスタント対応デバイス210が、より低い近接性スコア260を有する他のアシスタント対応デバイス210と比べて、GUI400においてより目立つように表示されてよい。
【0068】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)とは、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことが可能である。一部の実施例において、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることが可能である。例示的なアプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションを含むが、これらには限定されない。
【0069】
非一時的メモリは、コンピューティングデバイスによって使用されるように一時的に、または永久にプログラム(例えば、命令のシークエンス)またはデータ(例えば、プログラム状態情報)を記憶するのに使用される物理デバイスであってよい。非一時的メモリは、揮発性のアドレス指定可能な半導体メモリおよび/または不揮発性のアドレス指定可能な半導体メモリであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能なプログラマブル読取り専用メモリ(EPROM)/電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)(例えば、通常、ブートプログラムなどのファームウェアのために使用される)を含むが、これらには限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含むが、これらには限定されない。
【0070】
図6は、本明細書において説明されるシステムおよび方法を実装するのに使用されてよい例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを代表することを意図する。ここで示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であることが意図され、本明細書において説明される本発明の実装形態および/または主張される本発明の実装形態を限定することは意図していない。
【0071】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、ストレージデバイス630と、メモリ620および高速拡張ポート650に接続される高速インターフェース/コントローラ640と、低速バス670およびストレージデバイス630に接続される低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660のそれぞれは、様々なバスを使用して互いに接続され、共通のマザーボード上に、または適宜、他の様態で実装されてよい。プロセッサ610は、高速インターフェース640に結合されたディスプレイ680などの外部入出力デバイス上のグラフィカルユーザインターフェース(GUI)のためにグラフィカル情報を表示すべく、メモリ620に、またはストレージデバイス630に記憶された命令を含む命令をコンピューティングデバイス600内で実行するために処理することが可能である。他の実装形態において、多数のプロセッサおよび/または多数のバスが、多数のメモリ、および多数のタイプのメモリと一緒に、適宜、使用されてよい。また、多数のコンピューティングデバイス600が、各デバイスが必要な動作の一部を提供して、接続されてよい(例えば、サーババンクとして、ブレードサーバのグループとして、またはマルチプロセッサシステムとして)。
【0072】
メモリ620は、コンピューティングデバイス600内で情報を一過性ではなく記憶する。メモリ620は、コンピュータ可読媒体、(複数の)揮発性メモリユニット、または(複数の)不揮発性メモリユニットであってよい。非一時的メモリ620は、コンピューティングデバイス600によって使用されるように一時的に、または永久にプログラム(例えば、命令のシークエンス)またはデータ(例えば、プログラム状態情報)を記憶するのに使用される物理デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能なプログラマブル読取り専用メモリ(EPROM)/電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)(例えば、通常、ブートプログラムなどのファームウェアのために使用される)を含むが、これらには限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含むが、これらには限定されない。
【0073】
ストレージデバイス630は、コンピューティングデバイス600のための大容量ストレージを提供することができる。一部の実装形態において、ストレージデバイス630は、コンピュータ可読媒体である。様々な異なる実装形態において、ストレージデバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似したソリッドステートメモリデバイス、あるいはストレージエリアネットワーク構成もしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。さらなる実装形態において、コンピュータプログラム製品が、情報キャリアにおいて有形で実体化される。コンピュータプログラム製品は、実行されると、前述した方法などの1つまたは複数の方法を実行する命令を包含する。情報キャリアは、メモリ620、ストレージデバイス630、またはプロセッサ610上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0074】
高速コントローラ640は、コンピューティングデバイス600のための帯域幅を多く使用する動作を管理する一方で、低速コントローラ660は、帯域幅をそれほど多く使用しない動作を管理する。デューティのそのような割当ては、単に例示的である。一部の実装形態において、高速コントローラ640は、メモリ620、ディスプレイ680(例えば、グラフィックスプロセッサまたはグラフィックスアクセラレータを介して)に結合され、様々な拡張カード(図示せず)を受け付けることが可能な高速拡張ポート650にも結合される。一部の実装形態において、低速のコントローラ660が、ストレージデバイス630および低速拡張ポート690に結合される。様々な通信ポート(例えば、USB、Bluetooth、イーサネット、無線イーサネット)を含んでよい低速拡張ポート690が、例えば、ネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに結合されてよい。
【0075】
コンピューティングデバイス600は、図に示されるとおり、いくつかの異なる形態で実装されてよい。例えば、標準のサーバ600aとして、複数回にわたるそのようなサーバ600aのグループとして、ラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として実装されてよい。
【0076】
本明細書において説明されるシステムおよび技術の様々な実装形態は、デジタル電子回路および/または光回路において、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/あるいはこれらの組合せにおいて実現されることが可能である。これらの様々な実装形態は、少なくとも1つの入力デバイスにおけるストレージシステムからデータおよび命令を受信すること、および少なくとも1つの出力デバイスにおけるストレージシステムにデータおよび命令を送信することを行うべく結合された、専用であっても、汎用であってもよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能であり、かつ/または解釈可能である1つまたは複数のコンピュータプログラムにおける実装を含むことが可能である。
【0077】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高レベルの手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語、ならびに/あるいはアセンブリ/機械言語として実装されることが可能である。本明細書において使用される「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを与えるのに使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、コンピュータ可読装置および/またはコンピュータ可読デバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを与えるのに使用される任意の信号を指す。
【0078】
本明細書において説明されるプロセスおよび論理フローは、入力データを操作すること、および出力を生成することによって機能を実行すべく1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる、1つまたは複数のプログラマブルプロセッサによって実行されることが可能である。また、プロセスおよび論理フローは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されることも可能である。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリから、またはランダムアクセスメモリから、あるいはその両方から命令およびデータを受け取る。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクも含む、あるいはそのようなストレージデバイスからデータを受信するように、またはそのようなストレージデバイスにデータを転送するように、あるいはその両方を行うように動作上、結合されもする。しかし、コンピュータは、そのようなデバイスを有さなくてもよい。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクもしくはリムーバブルディスク、磁気光ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足されること、または専用論理回路に組み込まれることが可能である。
【0079】
ユーザとの対話を可能にすべく、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンを有し、オプションとして、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。他の種類のデバイスが、ユーザとの対話をもたらすのに使用されることも可能であり、例えば、ユーザに与えられるフィードバックが、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力が、音響入力、音声入力、または触覚入力を含む任意の形態で受け取られることが可能である。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、およびユーザによって使用されるデバイスから文書を受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザに、そのウェブブラウザから受信された要求に応答してウェブページを送信することによって、ユーザと対話することが可能である。
【0080】
いくつかの実装形態が、説明されてきた。それでも、本開示の趣旨および範囲を逸脱することなく、様々な変形形態が作成されてよいことが理解されよう。したがって、他の実装形態が、添付の特許請求の範囲に含まれる。
【符号の説明】
【0081】
32 環境
80 コマンド
106 アシスタントアプリケーション
108 ユーザ要求
120 アクション
200 ユーザデバイス
202 データ処理ハードウェア
210、210a、210b、210c、210d、210e、210f アシスタント対応デバイス
220 コントロール
250 近接性情報
255 方向性情報
260 近接性スコア
310 格付けされたリスト
400 グラフィカルユーザインターフェース
402 グラフィカル要素
600、600a、600b、600c コンピューティングデバイス
610 プロセッサ
620 メモリ
630 ストレージデバイス
640、660 コントローラ
650、690 拡張ポート
670 バス
680 ディスプレイ
図1
図2
図3A
図3B
図3C
図4A
図4B
図4C
図5
図6
【国際調査報告】