(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】状況的プライバシーのためのオペレーティングシステムレベルのアシスタント機能
(51)【国際特許分類】
G06F 21/62 20130101AFI20240930BHJP
【FI】
G06F21/62
(21)【出願番号】P 2022540486
(86)(22)【出願日】2020-12-29
(86)【国際出願番号】 US2020070957
(87)【国際公開番号】W WO2021138635
(87)【国際公開日】2021-07-08
【審査請求日】2023-02-16
(32)【優先日】2019-12-31
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-12-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ザマラト,マルコ
(72)【発明者】
【氏名】ゲイツ,カラ
(72)【発明者】
【氏名】バンサル,サミール
(72)【発明者】
【氏名】カペロニス,クリスーラ
(72)【発明者】
【氏名】マラヒ,エバン
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2005-339174(JP,A)
【文献】韓国登録特許第1759196(KR,B1)
【文献】米国特許出願公開第2018/0373568(US,A1)
【文献】米国特許出願公開第2015/0095774(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
分散型アンビエントコンピューティングシステムとして構成された複数のコンピューティングデバイスを検出するステップと、
計算タスクを実行する要求を受信するステップと、
前記分散型アンビエントコンピューティングシステムから、前記複数のコンピューティングデバイスのうち少なくとも2つのデバイスのデバイス状況を提示するデータを取得するステップと、
前記分散型アンビエントコンピューティングシステムに対応する総合的状況を生成するステップとを含み、前記総合的状況は、前記少なくとも2つのデバイスのデバイス状況の組合せを表し、
さらに、
前記総合的状況に基づいて前記計算タスクの実行をトリガするステップとを含む、コンピュータにより実現される方法。
【請求項2】
前記計算タスクおよび前記総合的状況に基づいて少なくとも1つの決定要求を生成して提供するステップと、
前記少なくとも1つの決定要求に対する応答を受信するステップとをさらに含み、
前記計算タスクとは、前記少なくとも2つのデバイス上でサービスを構成することであり、
前記データは、前記少なくとも2つのデバイスの各々のデバイスタイプおよびオペレーティングシステムを含み、
前記総合的状況は、前記少なくとも2つのデバイスの各々が利用可能であるかどうかの表示を含み、
前記少なくとも1つの決定要求は、前記少なくとも2つのデバイス上で前記計算タスクが実行されるかどうかを示すクエリであり、
前記少なくとも2つのデバイス上で前記計算タスクを実行するという確認を検出したことに応答して、前記少なくとも2つのデバイスの前記サービスを構成するステップを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記分散型アンビエントコンピューティングシステムとして構成された前記複数のコンピューティングデバイスに前記総合的状況を分散させるステップをさらに含み、前記総合的状況を分散させることで、前記複数のコンピューティングデバイスのうち2つ以上のデバイス上での前記計算タスクの実行がトリガされる、請求項1または2に記載のコンピュータにより実現される方法。
【請求項4】
前記少なくとも2つのデバイスは、求められた各デバイスの物理的位置に基づいて選択され、
前記総合的状況を用いて、前記少なくとも2つのデバイスを、連携して機能して前記計算タスクを実行するように構成する、請求項1~3のいずれか1項に記載のコンピュータにより実現される方法。
【請求項5】
前記要求は、口頭による要求から構成され、
前記総合的状況は、前記分散型アンビエントコンピューティングシステムのために構成された前記複数のコンピューティングデバイスをさらに表し、
前記計算タスクは、前記複数のコンピューティングデバイスのうち2つ以上のコンピューティングデバイス上で完了させるために前記総合的状況に基づいて分散される、請求項1~4のいずれか1項に記載のコンピュータにより実現される方法。
【請求項6】
前記デバイス状況は、少なくとも一部がデバイス性能、事前構成された権限、およびデバイスの場所に基づき、
前記少なくとも2つのデバイスは連携して動作して前記計算タスクを実行するように構成されていると判断したことに応答して、前記総合的状況が生成される、請求項1~5のいずれか1項に記載のコンピュータにより実現される方法。
【請求項7】
前記総合的状況は、前記分散型アンビエントコンピューティングシステムに対応付けられた事前構成された権限に従って前記複数のコンピューティングデバイスがプライベートモードをトリガすることを可能にするように構成され、前記プライベートモードは、各デバイスに対応付けられたコンテンツを難読化して、各デバイスに対応付けられた1つ以上の機能へのアクセスをブロックする前記事前構成された権限を呼び出すように構成される、請求項1~6のいずれか1項に記載のコンピュータにより実現される方法。
【請求項8】
前記分散型アンビエントコンピューティングシステムは、前記複数のコンピューティングデバイスに対応付けられた建物のために構成され、前記分散型アンビエントコンピューティングシステムは、前記建物のデジタルIDを提供する、請求項1~7のいずれか1項に記載のコンピュータにより実現される方法。
【請求項9】
コンピュータに命令を実行させるためのプログラムであって、
前記命令は、前記コンピュータによって実行されると、前記コンピュータに動作を実行させ、前記動作は、
定められた環境内の分散型アンビエントコンピューティングシステムとして構成された複数のコンピューティングデバイスを検出することと、
計算タスクを実行する要求を受信することと、
前記分散型アンビエントコンピューティングシステムから、前記複数のコンピューティングデバイスのうち少なくとも2つのデバイスのデバイス状況を提示するデータを取得することと、
前記分散型アンビエントコンピューティングシステムに対応する総合的状況を生成することとを含み、前記総合的状況は、前記少なくとも2つのデバイスのデバイス状況の組合せを表し
、前記総合的状況は、前記定められた環境の状況であり、前記動作は、
さらに、
前記総合的状況に基づいて前記計算タスクの実行をトリガすることとを含む、プログラム。
【請求項10】
前記動作は、
前記計算タスクおよび前記総合的状況に基づいて少なくとも1つの決定要求を生成して提供することと、
前記少なくとも1つの決定要求に対する応答を受信することとをさらに含み、
前記計算タスクは、前記少なくとも2つのデバイス上にサービスを構成することであり、
前記データは、前記少なくとも2つのデバイスの各々のデバイスタイプおよびオペレーティングシステムを含み、
前記総合的状況は、前記少なくとも2つのデバイスの各々が利用可能であるかどうかの表示を含み、
前記少なくとも1つの決定要求は、前記少なくとも2つのデバイス上で前記計算タスクが実行されるかどうかを示すクエリであり、
前記少なくとも2つのデバイス上で前記計算タスクを実行するという確認を検出したことに応答して、前記少なくとも2つのデバイスのために前記サービスを構成する、請求項9に記載のプログラム。
【請求項11】
前記動作は、さらに、
前記分散型アンビエントコンピューティングシステムとして構成された前記複数のコンピューティングデバイスに前記総合的状況を分散させることを含み、前記総合的状況を分散させることで、前記複数のコンピューティングデバイスのうち2つ以上のデバイス上での前記計算タスクの実行がトリガされる、請求項9または10に記載のプログラム。
【請求項12】
前記要求は、口頭による要求から構成され、
前記総合的状況は、前記分散型アンビエントコンピューティングシステムのために構成された前記複数のコンピューティングデバイスをさらに表し、
前記計算タスクは、前記複数のコンピューティングデバイスのうち2つ以上のコンピューティングデバイス上で完了させるために前記総合的状況に基づいて分散される、請求項9~11のいずれか1項に記載のプログラム。
【請求項13】
前記デバイス状況は、少なくとも一部がデバイス性能、事前構成された権限、およびデバイスの場所に基づき、
前記少なくとも2つのデバイスは連携して動作して前記計算タスクを実行するように構成されていると判断したことに応答して、前記総合的状況が生成される、請求項9~12のいずれか1項に記載のプログラム。
【請求項14】
前記総合的状況は、前記分散型アンビエントコンピューティングシステムに対応付けられた事前構成された権限に従って前記複数のコンピューティングデバイスがプライベートモードをトリガすることを可能にするように構成され、前記プライベートモードは、各デバイスに対応付けられたコンテンツを難読化して、各デバイスに対応付けられた1つ以上の機能へのアクセスをブロックする前記事前構成された権限を呼び出すように構成される、請求項9~13のいずれか1項に記載のプログラム。
【請求項15】
システムであって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサとを備え、前記少なくとも1つのプロセッサは、前記システムに、
1つの分散型アンビエントコンピューティングシステムとして構成された複数のコンピューティングデバイスを検出させ、
計算タスクを実行する要求を受信させ、
前記分散型アンビエントコンピューティングシステムから、前記複数のコンピューティングデバイスのうち少なくとも2つのデバイスのデバイス状況を提示するデータを取得させ、
前記分散型アンビエントコンピューティングシステムに対応する総合的状況を生成させ、前記総合的状況は、前記少なくとも2つのデバイスのデバイス状況の組合せを表し、前記少なくとも1つのプロセッサは、さらに、前記システムに、
前記総合的状況に基づいて前記計算タスクを実行させる、システム。
【請求項16】
前記計算タスクは、前記少なくとも2つのデバイス上にサービスを構成することであり、
前記データは、前記少なくとも2つのデバイスの各々のデバイスタイプおよびオペレーティングシステムを含み、
前記総合的状況は、前記少なくとも2つのデバイスの各々が利用可能であるかどうかの表示を含む、請求項15に記載のシステム。
【請求項17】
前記システムは、
前記分散型アンビエントコンピューティングシステムとして構成された前記複数のコンピューティングデバイスに前記総合的状況を分散させるようにされに構成され、前記総合的状況を分散させることで、前記複数のコンピューティングデバイスのうち2つ以上のデバイス上での前記計算タスクの実行がトリガされる、請求項15または16に記載のシステム。
【請求項18】
前記要求は、口頭による要求から構成され、
前記総合的状況は、前記分散型アンビエントコンピューティングシステムのために構成された前記複数のコンピューティングデバイスをさらに表し、
前記計算タスクは、前記複数のコンピューティングデバイスのうち2つ以上のコンピューティングデバイス上で完了させるために前記総合的状況に基づいて分散させる、請求項15~17のいずれか1項に記載のシステム。
【請求項19】
前記デバイス状況は、少なくとも一部がデバイス性能、事前構成された権限、およびデバイスの場所に基づき、
前記少なくとも2つのデバイスは連携して動作して前記計算タスクを実行するように構成されていると判断したことに応答して、前記総合的状況が生成される、請求項15~18のいずれか1項に記載のシステム。
【請求項20】
前記総合的状況は、前記分散型アンビエントコンピューティングシステムに対応付けられた事前構成された権限に従って前記複数のコンピューティングデバイスがプライベートモードをトリガすることを可能にするように構成され、前記プライベートモードは、各デバイスに対応付けられたコンテンツを難読化して、各デバイスに対応付けられた1つ以上の機能へのアクセスをブロックする前記事前構成された権限を呼び出すように構成される、請求項15~19のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2019年12月31日に出願され、「OPERATING SYSTEM-LEVEL ASSISTIVE FEATURES FOR CONTEXTUAL PRIVACY(状況的プライバシーのためのオペレーティングシステムレベルのアシスタント機能)」と題された米国仮出願第62/955,767号に基づく優先権、および2019年12月31日に出願され、「OPERATING SYSTEM-LEVEL ASSISTIVE FEATURES FOR HOUSEHOLD ACCOUNTS(世帯アカウントのためのオペレーティングシステムレベルのアシスタント機能)」と題された米国仮出願第62/955,772号に基づく優先権を主張し、これらのすべての開示内容を、引用により本明細書に援用する。
【背景技術】
【0002】
背景
従来の電子機器は、オペレーティングシステムを利用してソフトウェアを実行し得る。たとえば、携帯電話装置は、装置上のハードウェアコンポーネント間で通信する専用のオペレーティングシステムを用いてハードウェアおよび搭載ソフトウェアを操作するように構成され得る。このようなオペレーティングシステムは、通常、装置上のソフトウェア機能およびハードウェア機能を制御および監視することを目的とする。その他の電子機器は、それぞれの機器に搭載されたオペレーティングシステムを用いてそれぞれ別個の機器ごとのソフトウェアを実行して、同様に動作するであろう。
【発明の概要】
【0003】
概要
本明細書に記載のシステムおよび方法は、複数のアンビエントコンピューティングデバイス(たとえば、電子機器)を1つの分散型コンピューティングシステムとして操作するための分散型アンビエントコンピューティングプラットフォームのためのシステムおよび方法である。プラットフォームは、電子機器(たとえば、コンピューティングデバイス、アンビエントデバイスなど)の各々のオペレーティングシステムが、状況(context)を意識したコンピューティング技術を用いてデータ、世帯アカウント、状況、および/もしくはタスク(たとえば、計算動作)を実行ならびに/またはこれらの機器間で共有するように構成できるフレームワークとして機能し得る。データ、世帯アカウント、状況、および/または計算タスクの共有は、ユーザが管理する、ユーザが定めたデバイス環境(たとえば、分散型アンビエントコンピューティングプラットフォーム)内でのローカル共有に基づいてもよい。データ、状況、タスクの共有、およびこれらの要素の解析は、自宅のデバイス内またはデバイス上でセキュリティ上安全に行われ得(たとえば、暗号によりセキュリティ保護される)、明確なユーザ権限なくサービスプロバイダやその他の記憶素子に分散されることはないであろう。いくつかの実施態様では、プラットフォームは、電子機器(たとえば、コンピューティングデバイス、アンビエントデバイスなど)の各々のオペレーティングシステムが、分散型コンピューティングシステムに対応付けられた特定の定められた場所(たとえば、建物、住宅構造物、学校、オフィスビル、自宅など)内でデータ、状況、ポリシー、規則、および/またはタスク(たとえば、計算タスクまたは計算動作)を実行および/またはこれらの機器間で共有するように構成できるフレームワークとして機能し得る。
【0004】
1つ以上のコンピュータから構成されるシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステム上にインストールすることによって、特定の操作または動作を実行するように構成できる。これらのソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せは、動作中、システムに動作を実行させる。1つ以上のコンピュータプログラムは、命令を含めることによって、特定の操作または動作を実行するように構成できる。命令は、データ処理装置によって実行されると、当該装置に動作を実行させる。
【0005】
第1の一般的な態様では、コンピュータにより実現される方法について説明する。この方法は、1つの分散型アンビエントコンピューティングシステムとして構成された複数のコンピューティングデバイスを検出するステップと、計算タスクを実行する要求を受信するステップと、分散型アンビエントコンピューティングシステムから、複数のデバイスのうち少なくとも2つのデバイスのデバイス状況を表すデータを取得するステップと、分散型アンビエントコンピューティングシステムに対応する総合的状況を生成するステップとを含み、総合的状況は、少なくとも2つのデバイスのデバイス状況を組み合わせた状況を表し、さらに、計算タスクおよび総合的状況に基づいて少なくとも1つの決定要求を生成して提供するステップと、少なくとも1つの決定要求に対する応答を受信するステップと、応答および総合的状況に基づいて計算タスクの実行をトリガするステップとを含む。
【0006】
これらのおよびその他の態様は、以下のうち1つ以上を単独または併用して含み得る。たとえば、計算タスクは、少なくとも2つのデバイス上でサービスを構成することであってもよく、データは、少なくとも2つのデバイスの各々のデバイスタイプおよびオペレーティングシステムを含んでもよく、総合的状況は、少なくとも2つのデバイスの各々が利用可能であるかどうかについての表示を含んでもよく、少なくとも1つの決定要求は、これらの少なくとも2つのデバイス上で計算タスクが実行されるかどうかを示すクエリであってもよい。当該少なくとも2つのデバイス上で計算タスクを実行するという確認を検出したことに応答して、方法、システム、またはコンピュータ読み取り可能な媒体は、これら少なくとも2つのデバイスのサービスを構成するステップを含んでもよい。
【0007】
いくつかの実施態様では、方法は、1つの分散型アンビエントコンピューティングシステムとして構成された複数のコンピューティングデバイスに総合的状況を分散させるステップをさらに含んでもよい。総合的状況を分散させることで、複数のデバイスのうち2つ以上のデバイス上での計算タスクの実行がトリガされてもよい。
【0008】
いくつかの実施態様では、少なくとも2つのデバイスは、特定された各デバイスの物理的位置に基づいて選択され、総合的状況を用いて、これら少なくとも2つのデバイスを、連携して機能して計算タスクを実行するように構成する。いくつかの実施態様では、要求は、口頭による要求を含んでもよく、総合的状況は、分散型アンビエントコンピューティングシステムのために構成される複数のコンピューティングデバイスをさらに表してもよく、計算タスクは、複数のコンピューティングデバイスのうち2つ以上のコンピューティングデバイス上で完了させるために総合的状況に基づいて分散される。
【0009】
いくつかの実施態様では、デバイス状況は、少なくとも一部がデバイス性能、事前構成された権限、およびデバイスの場所に基づく。いくつかの実施態様では、当該少なくとも2つのデバイスが連携して動作して計算タスクを実行するように構成されていると判断したことに応答して、総合的状況が生成される。いくつかの実施態様では、総合的状況は、分散型アンビエントコンピューティングシステムに対応付けられた事前構成された権限に従って、複数のデバイスがプライベートモードをトリガすることを可能にするように構成され、プライベートモードは、各デバイスに対応付けられたコンテンツを難読化して、各デバイスに対応付けられた1つ以上の機能へのアクセスをブロックする事前構成された権限を呼び出すように構成される。いくつかの実施態様では、建物のデジタルIDを提供する分散型アンビエントコンピューティングシステムは、複数のコンピューティングデバイスに対応付けられた建物のために構成される。
【0010】
上記のシステムおよび態様は、上述した態様の任意の組合せを実行するように構成されてもよい。各態様は、上記の特徴および態様の任意の適切な組合せを有して実装されてもよい。記載する技術の実装は、ハードウェア、方法もしくは工程、またはコンピュータがアクセス可能な媒体上のコンピュータソフトウェアを含み得る。1つ以上の実施態様についての詳細は、添付の図面および以下の説明で説明する。その他の特徴は、以下の説明および添付の図面、ならびに添付のクレームから明らかになるであろう。
【図面の簡単な説明】
【0011】
【
図1A】本明細書に記載の実施態様に係る、例示的な、状況を意識した分散型アンビエントコンピューティングシステムを示すブロック図である。
【
図1B】本明細書に記載の実施態様に係る、例示的な、状況を意識した分散型アンビエントコンピューティングシステムを示すブロック図である。
【
図2A】本明細書に記載の実施態様に係る、複数のデバイスを備える例示的な分散型アンビエントコンピューティングシステムを示すブロック図である。
【
図2B】本明細書に記載の実施態様に係る、複数のデバイスを備える例示的な分散型アンビエントコンピューティングシステムを示すブロック図である。
【
図2C】
本明細書に記載の実施態様に係る、複数のデバイスを備える例示的な分散
型アンビエントコンピューティングシステムを示すブロック図である。
【
図3】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステムにおいて表された状況の層の例を示すブロック図である。
【
図4】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステムで用いられる例示的な状況スキーマを示す例示的な図である。
【
図5A】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図5B】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図5C】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図5D】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図5E】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図5F】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図5G】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
【
図6A】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の別の使用例を示すブロック図である。
【
図6B】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の別の使用例を示すブロック図である。
【
図6C】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の別の使用例を示すブロック図である。
【
図6D】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の別の使用例を示すブロック図である。
【
図6E】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の別の使用例を示すブロック図である。
【
図7】本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステムを操作してデバイス状況を判断し、複数の電子機器間で共有する例示的な工程のフローチャートである。
【
図8A】本明細書に記載の実施態様に係る、分散型コンピューティングシステムにおける世帯アカウントの例示的な要素を示すブロック図である。
【
図8B】本明細書に記載の実施態様に係る、分散型コンピューティングシステムにおける世帯アカウントの例示的な要素を示すブロック図である。
【
図9】本明細書に記載の実施態様に係る、アンビエントデバイスを利用する世帯内で様々なモードを提供することを示す図である。
【
図10A】本明細書に記載の実施態様に係る、デバイスの挙動を予測して制御する際の世帯アカウントの使用を示す図である。
【
図10B】本明細書に記載の実施態様に係る、デバイスの挙動を予測して制御する際の世帯アカウントの使用を示す図である。
【
図11】本明細書に記載の技術を実装するために使用できるコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【0012】
様々な図面において同様または同一の参照番号を用いるのは、同様または同一の要素または特徴の存在を示すためである。
【発明を実施するための形態】
【0013】
詳細な説明
本明細書では、複数のアンビエントコンピューティングデバイス(たとえば、電子機器)を1つの分散型コンピューティングシステムとして操作するための分散型アンビエントコンピューティングプラットフォームについて説明する。プラットフォームは、電子機器(たとえば、コンピューティングデバイス、アンビエントデバイスなど)の各々のオペレーティングシステムが、状況(context)を意識したコンピューティング技術を用いてデータ、状況、および/もしくはタスク(たとえば、計算タスクまたは計算動作)を実行ならびに/またはこれらの機器間で共有するように構成できるフレームワークとして機能し得る。データ、状況、および/または計算タスクの共有は、ユーザが管理する、ユーザが定めたデバイス環境(たとえば、分散型アンビエントコンピューティングプラットフォーム)内でのローカル共有に基づいてもよい(たとえば、分散型アンビエントコンピューティングプラットフォーム(たとえば、システム))。ユーザは、本明細書に記載のデバイスおよび/またはシステムに対応付けられた制御部にアクセスして、ユーザが所有する(たとえば、世帯で所有する)デバイス間で共有するための権限(たとえば、ユーザが構成した権限)を設定する。このような権限は、共有データ、共有状況、および共有計算タスクの利用を限定または停止してもよい。たとえば、データ、状況、計算タスクの共有、およびこれらの要素の解析は、自宅のデバイス内またはデバイス上でセキュリティ上安全に行われ得(たとえば、暗号によりセキュリティ保護され得)、明確なユーザ権限なくサービスプロバイダやその他の記憶素子に分散されることはないであろう。いくつかの実施態様では、プラットフォームは、電子機器(たとえば、コンピューティングデバイス、アンビエントデバイスなど)の各々のオペレーティングシステムが、分散型コンピューティングシステムに対応付けられた特定の定められた場所(たとえば、建物、住宅構造物、学校、オフィスビル、自宅など)内でデータ、状況、ポリシー、規則、および/または計算タスク(たとえば、動作)を実行および/またはこれらの機器間で共有するように構成できるフレームワークとして機能し得る。
【0014】
このプラットフォームにより、ユーザが有効化した権限を用いて、複数のデバイスのうち1つ以上のデバイス上でソフトウェアおよび/またはハードウェアを利用し、データを収集して解析することが可能になるであろう。いくつかの実施態様では、ユーザベースの権限が構成されていない場合、本明細書に記載のシステムは、システムのユーザおよび/またはユーザ操作に関連する特定の情報を共有、利用、収集、または格納するかどうかを各要求で確認してもよい。これに加えて、本明細書に記載の各やり取りは、ユーザが有効化した権限に基づいて遂行されてもよく、このように権限を構成しないで遂行されてもよい、本明細書に記載のシステムは、このようなやり取りおよび関連するタスクを遂行するためのユーザ権限を積極的に要求するための質問やUI情報を提供してもよい。
【0015】
たとえば、デバイスが位置するユーザ環境の状況を判断する際に使用するために、このデータは自宅のデバイス間にとどまっていてもよい。一般に、本明細書に記載のシステムおよび方法は、このような情報を利用して、複数のデバイスのうち1つ以上のデバイスに対応付けられたユーザに、状況上関連性のある実用的な情報をセキュリティ上安全に判断して提示してもよい。プラットフォームを利用して、有用で相互運用があり、トランスペアレントであり、ユーザおよびデバイスが本明細書に記載の分散型アンビエントコンピューティングシステムにアクセスする上でセキュリティ上安全な状況を評価して生成してもよい。
【0016】
本明細書に記載のシステムおよび方法は、1つ以上のデバイスからの信号を判断して合成し、この合成信号を用いて1つの自宅状況を生成してもよい。1つの自宅状況は、その後、ユーザが構成した権限に従ってユーザおよびデバイスのプライバシーを保ちながらユーザのデバイスエクスペリエンスを向上させる動作を提案および/または自動化するために用いられてもよい。いくつかの実施態様では、1つ以上の個々のデバイス状況を複数のデバイスのうち1つ以上のデバイス間で、それぞれのデバイスのO/S(オペレーティングシステム)を介して分散させることができる。デバイス状況の分散は、1つ以上のデバイス機能(たとえば、センサー、処理能力、ハードウェア、ソフトウェア)、ポリシー、ユーザ基本設定、ユーザ権限、要求、ユーザの位置などに基づいてもよい。デバイス状況に加えて、自宅にある各デバイスは、一連の入力、一連の出力、および一連のデバイス機能と定められてもよい。
【0017】
いくつかの実施態様では、本明細書に記載のシステムおよび方法は、デバイスの性能、利用可能なメモリ/処理能力などに基づいて、タスクを実行するための1つ以上のデバイスを選択してもよい。いくつかの実施態様では、本明細書に記載のシステムおよび方法は、タスクを実行するための1つ以上のデバイスを、その種類のタスクのために頻繁に使用されているかどうかに基づいて選択してもよい。いくつかの実施態様では、本明細書に記載のシステムおよび方法は、2つ以上のデバイスにタスクを送ってもよい。たとえば、2つ以上デバイス上で実行するためにタスクをサブタスクに分割できる。いくつかの実施態様では、サブタスクは、2つ以上のデバイス上で同時に遂行されてもよい。たとえば、タスクが、建物にあるすべてのデバイス上で特定のプレイリストを再生することである場合、本明細書に記載のシステムおよび方法は、どのデバイス(または特定のデバイスの各々)がプレイリストを再生するタスクまたはサブタスクを実行するのかを示すことができる。サブタスクは、いくつかの要因に基づいてデバイスに送られてもよい。要因として、デバイス性能、ユーザ権限、分散されたアンビエントコンピューティングステータスもしくは順序(order)、および/またはその他のユーザが示すデバイス構成などが挙げられるが、これらに限定されない。
【0018】
本明細書に記載のシステムおよび方法は、ユーザが有効化した権限に従って自宅内で使用するため、自宅の状況についての自宅全体の説明の作成に、自宅にある各デバイスが参加できるようにしてもよい。デバイスは、それぞれ異なる人間のアクティビティをユーザ権限に従って認識し、判断したデバイス状況をさらに改善させることができる。たとえば、ユーザは、自宅周辺の特定の要素を監視および/または検知する権限、およびこのような権限に従ってデバイスの使用に関する情報を格納および使用する権限を与えてもよい。いくつかの実施態様では、このようなデバイスは、いかなるデータ出力やセンサー出力の共有および/または使用もユーザ権限および/またはユーザ設定に従って有効化または無効化されることをアンビエントデバイスが保証するプライベートモードをトリガするよう、ユーザによって構成されてもよい。たとえば、プライベートモードは、ユーザが始めたユーザ規定のデバイス利用ポリシーに従ってトリガされてもよい。いくつかの実施態様では、すべてのデバイスは、デバイスの所有者が特に要求しない限り、このプライベートモードで動作してもよい。
【0019】
本明細書に記載のシステムおよび方法は、従来のシステムとは異なる発想を用いて、分散型アンビエントコンピューティングシステム内のデバイスおよび/またはユーザ状況を判断してもよい。たとえば、本明細書に記載のシステムおよび方法は、判断した状況に従って、複数の電子機器を、デバイス間で計算タスクを通信したり共有したりするには互換性がないであろうハードコーディングされた異なるオペレーティングシステムを使用して各デバイスが通常動作する従来のデバイスのやり取りを用いて動作するのではなく、連携して1つの分散型アンビエントコンピューティングシステム(たとえば、デバイスのネットワーク)として機能するように構成してもよい。その結果、本明細書に記載するように状況を生成することによって得た知識に基づいて、電子機器間の通信効率が向上し、転送されるデータ量が減少するであろう。
【0020】
従来のシステムでは、各デバイスは、状況を別個に収集して利用するであろう。これにより、ある部屋にあるデバイスは、搭載する近接センサーを用いてデバイスの前にある存在を検出できるようになるが、自宅にあるその他のデバイス上で起こっているその他のアクティビティはわからない。本明細書のシステムおよび方法は、分散型アンビエントコンピューティングシステムを利用して複数のデバイス状況、デバイス信号などを合成して自宅の全体的なステータスを表す1つの自宅全体の状況にすることによって、その他のデバイス状況のデバイス状況を判断するという技術的な課題(たとえば、問題)を解決するであろう。
【0021】
このように信号を合成することは、本明細書に記載のプラットフォームが管理し得る、状況(複数可)のセキュリティ保護された集中リポジトリを生成することを含んでもよい。分散リポジトリは、ユーザ環境に対応付けられた任意の数のデバイスの状況を格納してもよい。デバイスのO/Sレベルのアーキテクチャへのアクセスを有する分散型アンビエントコンピューティングシステムが仲介して、データの相互運用および分担を可能にする共有スキーマを中心とした状況が作成されてもよい。
【0022】
状況(複数可)のリポジトリは、その他のデバイスおよび/またはネットワークベースのロギング間で共有される分散リポジトリであってもよい。ネットワークベースのロギングとして、ブロックチェーン、トランスペアレントな台帳(たとえば、ログ)、またはその他の共有可能なストレージスキームなどが挙げられるが、これらに限定されない。個々のデバイスから共有スキーマを介して分散リポジトリにデバイス状況が報告されてもよい。いくつかの実施態様では、1つ以上のヒューリスティクスまたはソフトウェアコードが、分散リポジトリで受信した状況信号を解析するように構成されてもよい。解析により、たとえば自宅で起こっている様々なアクティビティを要約した説明が生成されてもよい。このような説明の解析および生成は、ユーザの同意、ならびに/または、自宅および/もしくはデバイス(複数可)についての構成済みのユーザ権限に従って行われる。
【0023】
本明細書に記載のシステムは、分散型アンビエントコンピューティングプラットフォームを用いて状況を取得し、このような状況を利用して、自宅のために構成されたデバイスのうちいずれかまたは複数のデバイスについての動作(たとえば、計算タスク)を提案または自動化し得る。本明細書に記載のプラットフォームおよびシステムは、ユーザのニーズ、自宅/世帯のニーズ、サービスのニーズ、およびデバイス機能を考慮したO/S(オペレーティングシステム)レベルの分散型アンビエントコンピューティングシステムを含み得る、またはこのような分散型アンビエントコンピューティングシステムを利用でき得る。本明細書に記載のシステムおよび方法は、プラットフォームを利用して、分散型アンビエントコンピューティングシステムの一部として定められ、かつ定められた環境に位置する(または対応付けられた)電子機器上で計算タスクを実行してもよい。いくつかの実施態様では、プラットフォームにより、定められた環境内にある電子機器のうち2つ以上の電子機器間でこのような計算タスクを分散させることが可能になる。たとえば、システムおよび方法は、プラットフォームを用いて動作し、定められた環境にある1つ以上のデバイスに対応付けられたO/Sレベルのアーキテクチャにアクセスし、予め定められたユーザ環境にある各デバイスを検出して当該デバイスと通信を行ってもよい。定められた環境にあるその他のデバイスのO/Sレベルのアーキテクチャは同じでなくてもよい。したがって、O/Sレベルのアーキテクチャで機能するように構成された定められた環境にあるその他のデバイスと平行して計算タスクを実行するために、プラットフォームは、その代わりに、このようなデバイスに関連する入力および/または出力を利用してもよい。
【0024】
動作中、本明細書に記載のシステムおよび方法が実行するプラットフォームは、複数の一意のオペレーティングシステム(またはそれぞれ異なるデバイス)にアクセスするように機能する、定められた環境内で検出可能な電子機器上にUIコンテンツ、データ、音声コンテンツなどを提供するように機能するインターフェースとして動作できる。たとえば、プラットフォームは、予め定められた環境(たとえば、自宅、世帯、建物などを表す場所)にある各デバイスが一連の入力、一連の出力、および一連のデバイス性能として構成および定められることを可能にし得る。各デバイスは、プラットフォームとともに動作して、任意の数の対応可能なデバイス間で状況および/または計算タスクを実行および/または分散させるオペレーティングシステムを含み得る(または当該オペレーティングシステムへのアクセスを有し得る)。
【0025】
たとえば、ユーザ環境101または102のリビングルームにある音声センシング性能を有するデバイスが、ユーザ環境内でプライベートに、かつユーザ環境の外部とデータを共有しないでローカルで、リビングルームに会話をしている複数の人がいると判断し得る。デバイス(たとえば、アシスタント112)は、このような信号を、たとえばデバイス112の自宅状況116を生成することによって、その他のデバイス106、108、および110と共有し得る。自宅状況116は、分散リポジトリ114に格納され得る。自宅状況116を用いて、環境101または102(たとえば、自宅)のために構成されたモードまたはポリシーがトリガされ得る。たとえば、デバイス112は、多くの人が自宅内にいることを検出したことに基づいて、ユーザーデータを難読化または非表示にするためのモードをトリガし得る。このようなモードは、ユーザーデータを一時的に難読化して、訪問者がこのような情報を見てしまわないようにするシャイモードであってもよい。たとえば、シャイモードは、アンビエントディスプレイ上の写真を、アートまたはその他の一般的なイメージと一時的に置き換えるようにトリガし得る。別の例では、カレンダーイベント、通知、およびリマインダーをミュート、難読化、または別のデバイス、たとえば、ユーザのスマートウォッチにリダイレクトしてもよい。さらに別の実施例では、テキストメッセージおよび電話を、アシスタントデバイス112上に提供するのではなく、モバイル機器および/またはその他のウェアラブルデバイス(たとえば、スマートウォッチ)に転送してもよい。これにより、ユーザのデータに対する裁量がさらに増えるという利点が与えられ得る。
【0026】
その他のユースケースは、ユーザが自宅および/または自宅内の特定のデバイスの状況規則を構成することを含み得る。たとえば、ユーザは、特定の検出されたアクティビティ(または、カレンダーに予定されているアクティビティ)に対して割込されないプライバシーを構成してもよい。この構成は、音声データ、視覚データ、またはその他の検知データにアクセスするための権限を有するように設定され、これらのデータがデバイス内および自宅環境101または102外に出ないことが保証されてもよい。例示的な構成は、音楽の練習中、夕食中などには割込を受け付けない(たとえば、遮る)ためのポリシーを設定することを含んでもよい。ユーザ環境101または102について厳密な規則を構成するのではなく、システム100は、判断した自宅状況116を用いて、ユーザが特定の計算タスクを実行しているかどうか、いつ当該特定の計算タスクを実行しているのかをデバイス104~112が判断できるようにし、その後、自宅状況116に従って利用可能なデバイス間でのユーザ基本設定の実行の自動化をトリガしてもよい。任意の数の自宅状況116を判断して格納してもよい。たとえば、ユーザ操作が変更される、ユーザスケジュールが変更される、デバイスの場所が代わるなどすると、自宅状況116は、時間が経つにつれて進化してもよい。自宅状況116は、ユーザが有効化した権限に従って、ユーザ環境101または102が変化するのと同じ頻度で判断されてもよい。
【0027】
一般に、デバイス間でデバイス状況を共有しようとする場合に生じ得る1つの技術的課題は、ソフトウェア、ハードウェア、および/またはファームウェアレベルでのデバイスの非互換性を含み得る。たとえば、ユーザが1日を通して持っているおよび/または利用する様々な電子機器は、一般に、1つの分散型アンビエントコンピューティングシステム(たとえば、ネットワーク)としてアンビエントに機能するように構成することができない。これらのデバイスは、通常、デバイス間で互換性がないであろうそれぞれ異なるハードコーディングされたオペレーティングシステムを用いて動作する。これは、一般に、ユーザがホームデバイス同士を同期させることは複雑、時間がかかる、または起こりそうもないという技術的な課題、また、新しいデバイスが追加された場合および/または自宅の内外に持ち出された場合に通信、状況、および/またはポリシーを同期させることは難しいという技術的な課題を提示し得る。
【0028】
本明細書に記載のシステムおよび方法は、電子機器間での通信を可能にすることによって、技術的課題に対する技術的解決策を提供し、世帯のユーザが要求する計算タスクを簡単に実行できるようにするために、デバイス状況、およびユーザが要求する計算タスクの分散および共有を可能にする。たとえば、定められた環境(たとえば、位置エリア)に対応付けられた検出デバイスのうち1つ以上のデバイス上で実行されている基板となるO/Sは、たとえば、位置エリア内にある対応可能なデバイスに計算タスクを動的に分散させるように構成することができる。たとえば、互いに競合するアクティビティがある自宅のそれぞれの場所に1つ以上のデバイスが置かれていた場合、このような計算タスクの分散は生じない。たとえば、ユーザが世帯デバイス上で同じ音楽を再生するよう要求した場合、本明細書に記載のシステムは、各デバイスに関連する状況を評価して、各デバイス状況が音楽を再生させることに合った状況であるかどうかを判断してもよい。デバイス状況は、ユーザ設定、ユーザ権限、時刻設定、デバイス性能、ユーザの位置、デバイスの場所、ユーザ環境の変化などに基づき得るおよび/または関連し得る。
【0029】
本明細書に記載の技術的解決策には、各デバイスの状況および/または世帯ユーザの状況が考慮されるので、世帯デバイス間でのタスク管理を改善させる、タスク評価を向上させる、および/または意思決定の扱いを改善させるという技術的効果があるであろう。また、システムおよび方法は、各世帯デバイス間で集めた合成状況信号に基づいて、受信した計算タスクを実行するおよび/または当該実行を共有するデバイスをデバイスの中から選択する方法を提供し得る。状況、計算タスク、およびユーザーデータは、場所によって実行される分散リポジトリを使用する世帯デバイスによって、セキュリティ上安全に格納およびアクセスされてもよく、当該分散リポジトリは、その場所にあるこれらのデバイスのサービスプロバイダにもメーカーにも所有されたり操作されたりすることはない。
【0030】
さらには、本明細書に記載のシステムおよび方法は、分散型コンピューティングプラットフォームを利用して、構造物の所有者および/または入居者のユーザアカウントとは別の一意なデジタルIDを、定められた場所が有することを可能にし得る、IDインフラストラクチャを生成して利用してもよい。たとえば、システムは、ユーザと建物との関係のスキーマを生成して、たとえば建物アカウント(たとえば、世帯アカウント)を定めてもよい。世帯アカウントを用いて、デジタル所有権の追跡、恒久的な借用期間(tenancy)および一時的な借用期間の追跡、世帯アカウントに対応付けられた構造物(複数可)のサービスの提供、建物へのアクセス権の管理などを、ユーザが構成した権限に従って行ってもよい。これに加えて、特定の構造物に対応するデジタルID(たとえば、世帯アカウント)を用いて、構造物内で検出された電子機器を、ユーザ権限に従って管理してもよい。
【0031】
いくつかの実施態様では、データ、状況、および/または計算タスクの共有は、ユーザが管理する、ユーザが定めたデバイス環境(たとえば、世帯アカウントを介した構造物に対応付けられた分散型コンピューティングプラットフォーム)内でのローカル共有に基づいてもよい。世帯アカウントおよび関連するユーザ権限を構成するために、ユーザは、本明細書に記載のデバイスおよび/またはシステムに対応付けられた制御部にアクセスして、データ、タスク、および状況などのコンテンツをユーザが所有するおよび/または世帯で所有するデバイス間で共有するための権限(たとえば、ユーザが構成した権限)を設定する。このような権限は、共有コンテンツの利用を限定または停止してもよい。権限がこのような共有を可能にした場合、当該共有は、構造物に対応するデバイス内およびデバイス上で、たとえば世帯アカウントを介して、セキュリティ上安全に(たとえば、暗号によりセキュリティ保護される)行われる。コンテンツは、明確なユーザ権限なくサービスプロバイダやその他の記憶素子に分散されることはないであろう。
【0032】
本明細書に記載のシステムおよび方法は、従来のシステムとは異なる発想を用いて、たとえば建物に対応付けられた世帯アカウントを介して構造物全体のポリシーおよび基本設定を提供してもよい。本明細書に記載のシステムおよび方法は、複数の電子機器を、住宅構造物(たとえば、建物)内のデバイス間でタスクを通信したり共有したりするには互換性がないであろうハードコーディングされた異なるオペレーティングシステムを使用して各デバイスが通常動作する従来のデバイスのやり取りを用いて動作するのではなく、連携して1つの分散型コンピューティングシステム(たとえば、デバイスから構成される)として機能するように構成してもよい。その結果、各デバイスのオペレーティングシステムを介して情報を提供することによって得た知識に基づいて、電子機器間の通信効率が向上し、転送されるデータ量が減少するであろう。ここでは、それぞれのデバイスの1つ以上のオペレーティングシステムが、その他のデバイスに変更、規則、またはポリシーを通知し、当該その他のデバイスが、通知を受信する各デバイスにとって当該変更、規則、またはポリシーの通知が何を暗に示しているのかを判断および解釈できる。
【0033】
本明細書に記載の世帯アカウントは、一般に、自宅環境にいないが、代わりに建物または構造物に対応付けられたユーザに対応し得る。このような世帯アカウントに対応するユーザは、たとえば家族ユーザを表す自宅の一部ではなく、コミュニティ、グループ、クラブ、教会、学校、マンション/賃貸マンションなどの一部であり得る。
【0034】
従来のシステムでは、ユーザデバイスは、個人のユーザアカウントを使用する、および/または個人のユーザアカウントで構成される。個人のユーザアカウントを用いて、デバイスのデータを解釈および追跡してもよい。本明細書に記載のシステムおよび方法は、世帯アカウント(すなわち、住宅構造物のIDおよび住宅構造物内のデバイスを表す)を代わりに利用して、世帯デバイスが分散型コンピューティングシステムを介して世帯にあるその他のデバイスとやり取りを行うことを可能にし得る。これに加えて、世帯内の接続デバイスの起動、制御、および管理のために世帯アカウントを用いてもよい。いくつかの実施態様では、世帯アカウントは、マンション建物など、より大きな建物の所有者とテナントとの間のトランザクションを可能にするために用いられ得る。たとえば、従来のシステムでは、建物のWi-Fiパスワードを変更することは、建物(たとえば、世帯)にある各デバイスそれぞれのWi-Fiパスワードをリセットして新しいパスワードにすることを含む。
【0035】
本明細書に記載のシステムが建物に関連する要素を世帯アカウントにつなげるので、Wi-Fiパスワードを変更することは、各デバイス上ではなく、世帯アカウント上のパスワードを変更することを含んでもよい。世帯に対応付けられたデバイスを更新するための1つ以上のポリシーを世帯アカウントが格納し得るので、各Wi-Fiが許可されたデバイスを手作業で更新しなくても、世帯アカウント上で変更されたパスワードを当該デバイスに適用してパスワードを更新してもよい。よって、世帯アカウントにより、多数の接続デバイス(たとえば、世帯アカウントおよび/または分散型コンピューティングシステムに登録済みデバイス)を管理できるという利点が与えられ得、公共の建物、集合住宅、世帯などの状況において、ユーザ権限に従って任意の数の接続デバイスに対する変更を適用し得る1つのアカウントを用いてこのような管理を行い得る。世帯アカウントは、ユーザ権限に従って、世帯内でセキュリティ上安全に更新を提供するように構成される。
【0036】
一般に、プラットフォームおよび本明細書に記載のシステムは、複数のデバイスのうち1つ以上のデバイス上にあるソフトウェアおよび/またはハードウェアを使用して、ユーザが有効化した権限を用いてデータを収集して解析することを可能にするであろう。たとえば、自宅、自宅の居室、および/または自宅で起こっているアクティビティを対象にした自宅全体のポリシーおよび/または基本設定を適用する際に用いるために、このデータは世帯のデバイス間にとどまっていてもよい。
【0037】
本明細書におけるシステムおよび方法は、分散型コンピューティングシステムを利用して世帯アカウントにアクセスしてデバイス、アクセス、セキュリティ、および/またはその他のデバイス信号を構成し、建物の規則およびポリシーに従って管理することによって、接続された複数の世帯デバイスを管理するという技術的な課題(たとえば、問題)を解決するであろう。
【0038】
本明細書に記載の技術的解決策には、世帯アカウントが分散型コンピューティングシステムに対応付けられたデバイスの特定のポリシーおよび規則をたとえばユーザ権限に従って評価して適用し得るので、世帯管理を改善させる、アカウントおよびデバイスの管理を改善させる、ならびに世帯デバイス間でのデバイス通信を改善させるという技術的効果があるであろう。これに加えて、ユーザーデータは、分散リポジトリを使用することによって、世帯アカウントを介して接続された世帯デバイスによってセキュリティ上安全に格納およびアクセスされ得、当該分散リポジトリは、その場所にあるこれらのデバイスのサービスプロバイダにもメーカーにも所有されたり操作されたりすることはない。
【0039】
図1Aは、本明細書に記載の実施態様に係る、例示的な、状況を意識した分散型アンビエントコンピューティングシステム100を示すブロック図である。この例示的なシステム100では、任意の数のデバイスを内部に含む(または対応付けられた)自宅(たとえば、世帯の場所)にユーザ(図示せず)がいてもよい。自宅は、ユーザ環境101(たとえば、場所/位置エリア)を表し得る。ユーザ環境101は、自宅に対応付けられたデバイスのための分散型アンビエントコンピューティングシステム100として構成され得る。
【0040】
ユーザ環境101は、自宅および自宅周辺の特定のエリアを含むようにユーザによって定められてもよい。いくつかの実施態様では、自宅内のデバイスは、ユーザ要求、しきい値設定、および/またはメーカーが実装してユーザが構成可能なデバイスのポリシーからの隔たりに従って、ユーザ環境101の境界を設定するように構成されてもよい。いくつかの実施態様では、ユーザ環境101は、分散型アンビエントコンピューティングシステム100内のデータにアクセスするおよび/または共有するための特定のユーザ権限を有するように構成される。
【0041】
図1Aに示すように、ユーザ環境101のデバイスは、ドアロック装置104、電球デバイス106、タブレットデバイス108、サーモスタットデバイス110、およびアシスタントデバイス112を含む複数のアンビエントデバイスを含む。デバイスの各々は、デバイスの状態、デバイス状況についての情報を、分散型アンビエントコンピューティングシステム100に提供してもよい。デバイス104~112は、ユーザ環境101(たとえば、世帯)のデバイスのネットワークの一部であってもよい。詳細については後述するが、デバイス間の接続は、ワイヤレスであってもよい。いくつかの実施態様では、デバイスは、分散リポジトリ114を介してデバイスデータとデバイス状況とを共有してもよく、および/またはデバイス間で直接これらを共有してもよいが、一般に、構成されたユーザ権限に従って共有してもよい。
【0042】
各アンビエントデバイス104~112は、ユーザが有効化した権限に従ってユーザが構成したデバイスであってもよい。たとえば、カメラ、マイクロフォン、インターネットアクセス、および/またはその他のセンサーベースの機能を有するデバイスは、ユーザ基本設定の権限に従って構成されてもよい。このような権限は、時間ベースかつユーザ制御される権限であってもよい。いくつかの実施態様では、ユーザデバイスは、デバイスに与えられた権限を見直しおよび編集するようユーザに促すように構成され得、ユーザが権限およびデバイス機能を素早く変更できることを保証してもよい。
【0043】
図示したドアロック装置104は、受信信号からドアをロックおよびロック解除するためのセンシング性能を少なくとも含み得る。図示したサーモスタットデバイス110は、ユーザが自宅にいるかどうかを判断し得、赤外線信号、超音波信号、マイクロ波信号を使用または検出するセンサー、および/または定められた環境内のユーザの存在を検出するためのその他の信号センサーを含み得る。たとえば、ユーザの存在が検出されることが、環境101の温度を変更するトリガになり得る。
【0044】
アシスタントデバイス112は、任意の数の音声センサー、スピーカー、マイクロフォン、インターネット(または、その他のネットワーク)アクセスなどを含むスマートディスプレイであってもよい。本明細書において使用するとき、「スマート」デバイスとは、特定の有線または無線プロトコルを介してその他の電子機器、ネットワーク、システムと通信可能に連結される得る電子機器を表し得る。特定の有線または無線プロトコルとして、Bluetooth(登録商標)、Zigbee(登録商標)、NFC、Wi-Fi、LiFi、ワイヤレスUSB、ワイヤレスEthernet(登録商標)、セルラーなどが挙げられ得るが、これらに限定されない。
【0045】
デバイス112は、ユーザが要求した計算タスクを遂行するためのアシスタントデバイスとして機能し得る。計算タスクの一部として、少し例を挙げると、文書検索、文書作成、音声コンテンツおよび/もしくは視覚コンテンツの取得ならびに再生、その他のホームデバイスの構成、電話をかける、デバイスの状態を求める、世帯状態を求めるなどが挙げられるが、これらに限定されない。デバイス112は、任意の数の音声センサー、任意の数のスピーカー、任意の数のマイクロフォン、インターネット(または、その他のネットワーク)アクセスなどを含み得る。各デバイスに対応付けられたセンサーは、当該デバイスおよび/またはユーザ環境101に設定された事前構成されたユーザ権限に従って、機能および/または動作し得る。
【0046】
アンビエントデバイス104~112は、ユーザ環境101の場所に対応付けられたデバイスを含み得る。このようなデバイスは、たとえば、携帯電話、タブレット端末、コンピュータ、またはラップトップのうち1つ以上など、その他のデバイスを含んでもよく、含まなくてもよい。たとえば、ユーザが1人以上のユーザが所有しているデバイスをアンビエントデバイス104~112(または、ユーザ環境101において利用可能なその他の同様のデバイス)のうち他のアンビエントデバイスと相互に接続するように構成した場合、これらのデバイスは、分散型アンビエントコンピューティングシステム100の一部になり得る。
【0047】
システム100が環境101で動作中、自宅に関連のあるユーザは、
図1Aに示す複数のデバイスのうち1つ以上のデバイスを必要とする計算タスクを実行したいと考える。たとえば、ユーザは、実行する計算タスクを発話する。デバイスに合わせて状況が判断され得る。たとえば、世帯デバイス103の状況および世帯デバイス105の状況が生成され得る。いくつかの実施態様では、状況は、総合したデバイス状況を表し得る。状況は、自宅のその他の状況を生成するためにさらに用いられ得る。たとえば、判断した(たとえば、デバイス103およびデバイス105などの)各状況を評価して、1つの自宅状況116に結合し得る(たとえば、2つ以上のデバイス状況から構成される総合的状況(combined context))。自宅状況116は、分散型アンビエントコンピューティングシステム100がユーザ環境101(たとえば、自宅)内の任意の数のローカルデバイスに分散させ得る。また、分散リポジトリ114に示すように、分散型アンビエントコンピューティングシステム100は、デバイス状況および自宅状況を格納してもよい。これに加えて、分散型アンビエントコンピューティングシステム100は、デバイスの状態もしくはステータス、デバイスデータ、および/またはユーザ状況を格納してもよい。このようなデータを自宅内で分散させることは、ユーザが構成した権限に従って許可されており、たとえばブロックチェーンを介してセキュリティ上安全に実行される。
【0048】
本明細書に記載のデバイス(たとえば、電子機器および/またはコンピューティングデバイス)は、スマートディスプレイ、テレビ、モバイル機器、タブレット端末、コンピュータ、ゲームコントローラ、照明、目覚まし時計、電子アシスタント、スマートウォッチ、スマートフォン、サーモスタット、電化製品、扇風機、スイッチ、スプリンクラー、空気洗浄機、ブラインド、サンシェード、シャッター、カーテン、窓、ガレージドア開閉装置、シャワー、セキュリティシステム、電子ドアベル、カメラおよびカメラを有するデバイス、電子錠、煙感知器、近接センサー、インターネット接続されたスピーカー、ラップトップ、デスクトップ、ワークステーション、車、または情報を通信し得るその他のデバイスを含み得るが、これらに限定されない。
【0049】
図1Bは、本明細書に記載の実施態様に係る、世帯アカウントのために用いられる例示的な分散型コンピューティングシステム100を示すブロック図である。この例示的なシステム100では、任意の数のデバイスを内部に含む(または対応付けられた)自宅(たとえば、世帯の場所)にユーザ(図示せず)がいてもよい。自宅(たとえば、世帯)は、ユーザ環境102を表し得る。ユーザ環境102は、自宅(たとえば、世帯)に関連するデバイスのための分散型コンピューティングシステム100として構成され得る。
【0050】
ユーザ環境102は、自宅および自宅周辺の特定のエリアを含むようにユーザによって定められてもよい。いくつかの実施態様では、世帯アカウントは、自宅周辺の特定のエリアを定めてもよい。いくつかの実施態様では、自宅内のデバイスは、ユーザ要求、しきい値設定、および/またはメーカーが実装してユーザが構成可能なデバイスのポリシーからの隔たりに従って、ユーザ環境102の境界を設定するように構成されてもよい。いくつかの実施態様では、ユーザ環境102は、分散型コンピューティングシステム100内のデータにアクセスするおよび/または共有するための特定のユーザ権限を有するように設定されるよう構成される。
【0051】
図1Bに示すように、ユーザ環境102のデバイスは、ドアロック装置104、電球デバイス106、タブレットデバイス108、サーモスタットデバイス110、およびアシスタントデバイス112を含む複数のアンビエントデバイスを含む。デバイスの各々は、ユーザが構成した権限に従って、デバイスの状態、デバイス状況、および/またはデバイス使用についての情報を、分散型コンピューティングシステム100に提供してもよい。デバイス104~112は、ユーザ環境102(たとえば、世帯)のデバイスのネットワークの一部であってもよい。詳細については後述するが、デバイス間の接続は、ワイヤレスであってもよい。いくつかの実施態様では、デバイスは、分散リポジトリ114を介してデバイスデータとデバイス状況とを共有してもよく、および/またはデバイス間で直接これらを共有してもよいが、一般に、構成されたユーザ権限に従って共有してもよい。
【0052】
各アンビエントデバイス104~112は、ユーザが有効化した権限に従ってユーザが構成したデバイスであってもよい。たとえば、カメラ、マイクロフォン、インターネットアクセス、および/またはその他のセンサーベースの機能を有するデバイスは、ユーザ基本設定の権限に従って構成されてもよい。このような権限は、時間ベースかつユーザ制御される権限であってもよい。いくつかの実施態様では、ユーザデバイスは、デバイスに与えられた権限を見直しおよび編集するようユーザに促すように構成され得、ユーザが権限およびデバイス機能を素早く変更できることを保証してもよい。
【0053】
図示したドアロック装置104は、受信信号からドアをロックおよびロック解除するためのセンシング性能を少なくとも含み得る。図示したサーモスタットデバイス110は、ユーザが自宅にいるかどうかを判断し得、赤外線信号、超音波信号、マイクロ波信号を使用または検出するセンサー、および/または定められた環境内のユーザの存在を検出するためのその他の信号センサーを含み得る。たとえば、ユーザの存在が検出されることが、環境102の温度を変更するトリガになり得る。
【0054】
アシスタントデバイス112は、任意の数の音声センサー、スピーカー、マイクロフォン、インターネット(または、その他のネットワーク)アクセスなどを含むスマートディスプレイであってもよい。本明細書において使用するとき、「スマート」デバイスとは、特定の有線または無線プロトコルを介してその他の電子機器、ネットワーク、システムと通信可能に連結される得る電子機器を表し得る。特定の有線または無線プロトコルとして、Bluetooth、Zigbee、NFC、Wi-Fi、LiFi、ワイヤレスUSB、ワイヤレスEthernet、セルラーなどが挙げられ得るが、これらに限定されない。
【0055】
デバイス112は、ユーザが要求した計算タスクを遂行するためのアシスタントデバイスとして機能し得る。計算タスクの一部として、少し例を挙げると、文書検索、文書作成、音声コンテンツおよび/もしくは視覚コンテンツの取得ならびに再生、その他の世帯デバイス、電話をかけるなどが挙げられるが、これらに限定されない。デバイス112は、任意の数の音声センサー、任意の数のスピーカー、任意の数のマイクロフォン、インターネット(または、その他のネットワーク)アクセスなどを含み得る。各デバイスに対応付けられたセンサーは、当該デバイスおよび/またはユーザ環境102に設定された事前構成されたユーザ権限に従って、機能および/または動作し得る。
【0056】
アンビエントデバイス104~112は、ユーザ環境102に関連する場所(および/または世帯)に対応付けられたデバイスを含み得る。このようなデバイスは、たとえば、携帯電話、タブレット端末、コンピュータ、またはラップトップのうち1つ以上など、その他のデバイスを含んでもよく、含まなくてもよい。たとえば、ユーザが1人以上のユーザが所有しているデバイスをアンビエントデバイス104~112(または、ユーザ環境102において利用可能なその他の同様のデバイス)のうち他のアンビエントデバイスと相互に接続するように構成した場合、これらのデバイスは、分散型コンピューティングシステム100の一部になり得る。
【0057】
システム100が環境102で動作中、自宅に関連のあるユーザ(たとえば、世帯)は、住宅構造物のための分散型コンピューティングシステム100に対応付けられた世帯アカウント117で利用されるように、デバイスを分散リポジトリ114への格納のために構成したいと考える。ユーザは、先ず、構成ユーザーインターフェース118が示すように世帯アカウント117を構成し得る。世帯アカウント117によって、たとえば家族、デバイス、およびサービスの追加が円滑化されるであろう。
【0058】
世帯アカウントは、本明細書において使用するとき、出入りするユーザに関連する特定の建物、自宅、オフィスビル、集合建物、複合建物、共同住宅、学校、教会、店舗、賃貸物件、またはその他の物理的な構造物のために用いられ得るアカウントアーキテクチャを提供してもよい。世帯アカウントは、本明細書に記載の構造物に出入りする任意の数のユーザにサービスを提供するために用いられてもよい。世帯アカウントは、アカウント使用、データ使用、デバイス使用、ならびに/またはユーザ関連データの検索および格納に関連するユーザ権限に従って構成されてもよい。
【0059】
従来のシステムでは、ユーザデバイスは、個人のユーザアカウントを使用する、および/または個人のユーザアカウントで構成される。個人のユーザアカウントを用いて、デバイスのデータを解釈および追跡してもよい。本明細書に記載のシステムおよび方法は、世帯アカウント(すなわち、住宅構造物のIDおよび住宅構造物内のデバイスを表す)を代わりに利用して、世帯デバイスが分散型コンピューティングシステムを介して世帯にあるその他のデバイスとやり取りを行うことを可能にし得る。これに加えて、世帯内の接続デバイスの起動、制御、および管理のために世帯アカウントを用いてもよい。いくつかの実施態様では、世帯アカウントは、マンション建物など、より大きな建物の所有者とテナントとの間のトランザクションを可能にするために用いられ得る。たとえば、従来のシステムでは、建物のWi-Fiパスワードを変更することは、建物(たとえば、世帯)にある各デバイスそれぞれのWi-Fiパスワードをリセットして新しいパスワードにすることを含む。
【0060】
世帯アカウント117を構成すると、ブロック120が示すように、ユーザは、アカウント117を使用して、関連する世帯グループ(たとえば、住宅構造物に関連するユーザグループ)とサービスを共有してもよい。特定のデバイスを登録しなくても出費、カレンダー、およびアカウントを共有できるようにするために、ユーザは、サービスを共有できる。その後、ブロック122が示すように、ユーザは、デバイスを予めプロビジョニングして、デバイスに採用させる部屋別の設定を定めてもよい。
【0061】
分散リポジトリ114は、登録済みのデバイスデータ、状況データ、サービスデータ、デバイス状態データ、デバイスデータ、規則および基本設定データ、ならびに権限データを含み得る。分散リポジトリ114は、その他のデバイスおよび/またはネットワークベースのロギング間で共有されてもよい。ネットワークベースのロギングとして、ブロックチェーン、トランスペアレントな台帳(たとえば、ログ)、またはその他の共有可能なストレージスキームなどが挙げられるが、これらに限定されない。分散リポジトリ114に格納されたデータは、共有のセキュリティ上安全なスキーマを介して個々のデバイスから報告されてもよい。いくつかの実施態様では、デバイスに関連する情報および分散リポジトリ114に対応付けられた世帯アカウントを解析するように1つ以上のヒューリスティクスまたはソフトウェアコードが構成されてもよい。
【0062】
ユーザ環境(たとえば、ユーザ環境101、102、自宅、世帯)は、関連するユーザ、部屋、平方フィート、認識および/もしくは構成されたデバイス、ならびに/または世帯に関連するその他の要素のうち、1つ以上に基づいて定められた世帯を含んでもよい。いくつかの実施態様では、定められた環境102は、少し例を挙げると、建物、ユーザが定めた周辺、自宅を囲む庭、マンション、コンドミニアム、一連の建物、または部屋を含み得る。
【0063】
本明細書に記載のデバイス(たとえば、電子機器および/またはコンピューティングデバイス)は、スマートディスプレイ、テレビ、モバイル機器、タブレット端末、コンピュータ、ゲームコントローラ、ライト、目覚まし時計、電子アシスタント、スマートウォッチ、スマートフォン、サーモスタット、電化製品、扇風機、スイッチ、スプリンクラー、空気洗浄機、ブラインド、サンシェード、シャッター、カーテン、窓、ガレージドア開閉装置、シャワー、セキュリティシステム、電子ドアベル、カメラおよびカメラを有するデバイス、電子錠、煙感知器、近接センサー、インターネット接続されたスピーカー、ラップトップ、デスクトップ、ワークステーション、車、または情報と通信し得るその他のデバイスを含み得るが、これらに限定されない。
【0064】
図1A~
図1Bに異なるデバイスタイプをいくつか示しているが、本明細書に記載のプラットフォームおよび分散型アンビエントコンピューティングシステムを用いて任意の数のコンピューティングデバイス(たとえば、アンビエントデバイス、パーソナルコンピューティングデバイス、電子機器など)が動作するように構成されてもよい。これらのデバイスを、入力、出力、およびデバイス性能によって定めているので、本明細書に記載のシステムおよび方法は、環境および/または複数のデバイスのうち1つ以上のデバイスに関連する計算タスク要求、ならびにポリシーに従って、デバイス性能を利用し得る。
【0065】
図2A~
図2Cは、本明細書に記載の実施態様に係る、複数のデバイスを備える例示的な分散型コンピューティングシステム200を説明するブロック図である。システム200を用いて、コンピューティングデバイス(たとえば、コンピューティングシステム202およびコンピューティングデバイス204)、アンビエントデバイス(デバイス104、106、108、110、および112)、ならびに/またはその他のデバイス(
図2Aに図示せず)を、1つの分散型コンピューティング環境として機能するように構成してもよく、デバイス状況、ユーザ状況、自宅状況、デバイスの状態、および/または要求される計算タスクは、分散型アンビエントコンピューティングシステム200内のすべてのデバイス間で送られるおよび/または共有されるようになり得る。たとえば、システム200は、各デバイス上で動作する基板となるオペレーティングシステムに関係なく、状況入力を取得する目的、デバイスの機能を制御する目的、ならびに/または状況ベースの出力を処理して提供する目的のために、特定の環境の各部屋にある各デバイスを認識および説明できる。
【0066】
いくつかの実施態様では、複数のデバイスは、任意の数のアプリケーションを含み得る。これらのアプリケーションは、たとえば、分散型アンビエントコンピューティングシステム200において利用可能なソフトウェアコンポーネント(および機能)から動的に形成されてもよい。アプリケーションは、オペレーティングシステムから独立したプラットフォーム上で動作する動的な相互運用性を提供し得る。
【0067】
本明細書において使用するとき、分散型アンビエントコンピューティングシステムは、複数(たとえば、2つ以上)の自動コンピューティングデバイス、モバイル機器、アンビエントデバイス、パーソナルハンドヘルド端末、センサーなどから構成されるネットワークを指し得る。これらのデバイスは、互いに通信を行ってもよく、および/または当該ネットワークのために構成されたその他のデバイスと通信を行ってもよい。ネットワークは、予め定められたネットワーク、自動生成されたネットワーク、ピアツーピアネットワーク、または、少し例を挙げると、UPnP、SLP、もしくはGSM(登録商標)などのプロトコルを用いる当該ネットワークにあるデバイス間でのデータ転送を可能にするその他のネットワークであってもよい。分散型アンビエントコンピューティングシステムは、共有リソース、共有アカウント(たとえば、世帯アカウント261)、状況、通信インフラストラクチャ、UI要素、および/またはサービスを連携して使用できるようにして、分散型アンビエントコンピューティング環境のために定められた複数のデバイスのうち1つ以上のデバイスに対応付けられたユーザから受信した計算タスクおよび要求を遂行してもよい。また、分散型アンビエントコンピューティング環境は、リソース、通信インフラストラクチャ、UI要素、および/または分散型アンビエントコンピューティングネットワークにおいて構成されたデバイスが利用可能なサービスへのアクセスを有する、定められた物理空間を指してもよい。一般に、本明細書に記載の分散型アンビエントコンピューティングシステムは、ユーザが構成および保持するユーザベースの権限に従って生成および管理されてもよい。
【0068】
特定の分散型アンビエントコンピューティングシステムにある各デバイス(たとえば、
図2Aの例におけるデバイス104、106、108、110、112、202、および204)は、デバイスに関連する性能によって定めてられてもよい。性能として、(搭載するデバイスセンサーのデバイス出力および/またはデバイス入力からの)それぞれのデバイス能力が挙げられるが、これに限定されない。コンピューティングシステム202は、たとえばデバイス104、106、108、110、112、および204間で計算タスクを動的に分散させるように構成されてもよい。
【0069】
本明細書に記載のデバイス上で任意の数のセンサーが利用可能であってもよい。これに加えて、一方のデバイス上で特定のセンサーが利用できない場合、他方のデバイスが当該センサーを提供して、ユーザが要求した計算タスク内で要求された性能を遂行(たとえば、実行)してもよい。センサーとして、光センサー、イメージセンサー、音声センサー、モーションセンサー、近接センサー、温度センサー、赤外線センサー、超音波センサー、タッチセンサー、圧力センサー、レベルセンサー、煙および/またはガス検知器、化学センサー、加速度計、ジャイロスコープ、環境センサーなどが挙げられるが、これらに限定されない。
【0070】
入力208a~208fは、たとえば、触覚ユーザ入力を受信できるタッチ入力装置、ハンドコントローラ、モバイル機器(またはその他のポータブル電子機器)、オーディブルユーザ入力などを受信できるマイクロフォンなどを介して受信したコンテンツを含んでもよい。出力210A~210fは、たとえば、視覚的出力のためのディスプレイ用のコンテンツの生成、音声出力のためのスピーカー用のコンテンツの生成などを含んでもよい。
【0071】
いくつかの実施態様では、各デバイス104、106、108、112、202、および204は、複数のアプリ(たとえば、アプリ211a~211f)含む。アプリは、サービス214、ポリシーおよび権限252、基本設定254、状況255、分散リポジトリ256、および世帯アカウント261(
図2A)を利用し得る。分散リポジトリ256は、ローカルコピーとしてデバイス202(またはその他のデバイス)上にあってもよいが、ネットワーク、インターネット接続されたネットワーク、またはその他のネットワークを介して更新されてもよい。2つの分散リポジトリログ、たとえば、分散リポジトリ256と分散リポジトリ257とは同期できる。
【0072】
非限定例では、システム200は、システムにおけるデバイスの入力、出力、および性能を判断し、計算タスクを遂行したり、情報を表示したりするなどのためにどのデバイスが用いられ得るかを判断してもよい。たとえば、カメラ装置は、映像入力およびマイクロフォン入力を含み得るが、出力性能は含まなくてもよい。Wi-Fiルーターまたはスマートディスプレイなどのその他のデバイスは、同様またはそれぞれ異なる入力および/または出力を有し得るが、さらなる処理能力および/またはメモリを有してもよい。したがって、システム200にある別のデバイスのための処理を実行するためにシステム200によって選択されてもよい。動作中、システム200は、ユーザが要求する計算タスクを満たすのにどのデバイスが適しているかを動的に判断してもよい。たとえば、システム200は、状況255を評価してもよい。状況255として、デバイス状況、ユーザ状況、タスク状況、デバイスの状態、および/またはデバイスデータなどが挙げられるが、これらに限定されない。状況255の評価は、ユーザ環境101および/または102に対応付けられたデバイスから受信した状況に基づいて自宅状況116を生成することを含み得る。
【0073】
いくつかの実施態様では、状況255は、ユーザが要求したタスクを遂行するデバイスとしてどのデバイスが選択され得るかを示し得る。たとえば、特定のアシスタントデバイスがタイマータスクを遂行するとシステム200が判断した場合、世帯内のアシスタントデバイスがたとえばタイマータスクのために用いられるという表示に基づいて、システム200は、タイマータスクを実行するためにこのようなデバイスを選択し得る。よって、30分のタイマーを設定するようユーザが世帯デバイスに頼んだ場合、システム200は、たとえばユーザの携帯電話装置上でタイマーをセットするのではなく、ユーザの最も近くにあるアシスタントデバイス上で設定および実行されるタイマーをトリガし得る。いくつかの実施態様では、システム200は、アシスタントデバイスが現在使用中である、またはデバイスの処理能力が特定のしきい値を超えているとの判断に基づいて、異なるデバイスを使用してタイマータスクを実行してもよい。このような例では、システム200は、代わりにモバイル機器を選択して、タイマータスクを生成および実行してもよい。別の例では、タイマータスクを生成および実行するために、システム200は、次に近いアシスタントまたはタイマー可能なデバイスを検索してもよい。
【0074】
いくつかの実施態様では、コンピューティングシステム204およびデバイス104~112は、コンピューティングシステム202内に示されている構成要素を含んでもよい。このような例では、各コンピューティングシステムおよびデバイスを用いて、性能を評価したり、状況を評価したり、および/またはデバイス104~112間で計算タスクを分散させたりしてもよい。たとえば、コンピューティングシステム204は、イメージセンサーと、音声センサーと、インターネット接続性とを有するアシスタントデバイスであってもよい。コンピューティングシステム204は、定められた世帯内の場所に位置してもよい。コンピューティングシステム200は、デバイス104、106、108、110、および112ならびにコンピューティングシステム202にアクセスして、計算タスクの実行および/もしくは状況解析を実行ならびに/または共有してもよい。
【0075】
一般に、コンピューティングデバイス202および204ならびにデバイス104~112は、本明細書に記載のシステムおよびプラットフォームを用いて互いにワイヤレスにデータを通信ならびに/または転送してもよい。いくつかの実施態様では、各デバイスは、分散型アンビエントコンピューティングシステム200において、システム200に対応付けられた各デバイスと通信を行うように構成されてもよい。
【0076】
図2Aに示すように、コンピューティングシステム202は、O/S(オペレーティングシステム)212を含む。O/S212は、アプリケーション、サービス、およびデバイスの通信を実行および/または制御するように機能してもよい。O/S212が第1の種類のオペレーティングシステムである一方で、
図2に示す(または、特定の分散型アンビエントコンピューティングシステムに対応付けられた)その他のデバイスが異なるデバイスハードウェアを操作する異なるオペレーティングシステムであってもよい。
【0077】
動作中、本明細書に記載のシステムおよび方法は、たとえば、(たとえば、世帯の)分散型アンビエントコンピューティングシステム200内にあり得る、それぞれ異なるオペレーティングシステムを実行している任意の数の異なるデバイスタイプの1つ以上のサービス214へのアクセスを提供してもよい。サービス214は、分散型アンビエントコンピューティングシステム200において検出(たとえば、受信)した計算タスクを生成、管理、および実行するように構成されてもよい。これに加えて、サービス214は、周辺(たとえば、アンビエント)デバイスおよび性能を検出するためのO/Sレベルのアクセスを提供してもよい。サービス214は、システム200で受信した計算タスクを送るためのO/Sレベルの管理決定部(executive decider)であってもよい。
【0078】
サービス214は、サービスプロバイダがユーザに提供した、パーソナライズされたコンピュータベースのサービスを含んでもよい。いくつかの実施態様では、サービスは、パーソナライズされていなくてもよいが、代わりに、ユーザがコンピューティングデバイスおよび/または電子機器上で使用するために提供される一般的なサービスであってもよい。いくつかの実施態様では、これらのサービスは、ユーザの要求時にアプリ(たとえば、アプリケーション)を介して提供されてもよい。
【0079】
O/S212は、アプリケーション216、タスクマネージャ218、IDマネージャ220、デバイスマネージャー222、および状況マネージャ224を実行ならびに/管理してもよい。アプリケーションは、UI(ユーザーインターフェース)生成部226と、ユーザーデータ228とを含み得る。UI生成部226と、ユーザーデータ228は、ユーザ権限に従ってコンテンツおよび/またはデータを生成し、デバイスインターフェースを介してユーザにこのようなコンテンツおよび/またはデータを提供するために使用され得る。
【0080】
タスクマネージャ218は、分散型アンビエントコンピューティングシステム200全体に計算タスクを分散させることを管理し得る。たとえば、タスクマネージャ218は、システム200の複数のデバイスのうち1つ以上のデバイスを用いて計算タスクの完了をトリガするために、計算タスクおよびデバイス性能を評価してもよい。
【0081】
IDマネージャ220は、システム200に対応付けられたIDを管理し得る。たとえば、ユーザは、IDを用いてデバイスに対応付けられてもよい。IDは、IDアカウントに対応付けられてもよいが、このようなアカウントは、サービスプロバイダによって制御および生成されるのではなく、ユーザによって制御および生成される。各IDは、グローバルに一意な識別子として表されてもよい。これに加えて、各IDは、たとえばユーザ(または、ユーザに対応付けられたデータ)をサードパーティまたはシステム200のその他のデバイスに提示するペルソナを用いて表されてもよい。一般に、IDマネージャ220を用いて、ユーザ、ホームサービス、物理的な建物、およびデバイスを追加および/または変更してもよい。たとえば、IDマネージャ220は、世帯アカウント261など、物理的な建物(たとえば、自宅)を表し得るアカウントを生成してもよい。自宅のIDは、アドレス、およびユーザが所有権を主張しているその他の識別データを含んでもよい。物理的な建物のIDは、通常、人間のユーザやサービスプロバイダに直接つなげられていないが、代わりに、自宅のためにユーザがセットアップしたアカウントに対応する。
【0082】
ある実施例では、ユーザは、特定の物理的な建物の所有権を主張し得る。これに応じて、IDマネージャ220は、物理的な建物と、場所と、および建物に関連する世帯内の1人以上のユーザとのつながりを生成し得る。たとえば、IDマネージャ220は、物理的な建物に対応する世帯に対応付ける(すなわち、関連付ける)追加ユーザをセットアップするようユーザに依頼され得る。IDは、このような関係を含み得、システム200は、このような関係に基づいて権利、ポリシー、および基本設定を割り当ててもよい。
【0083】
デバイスマネージャー222は、システム200内のデバイスのステータスおよび状態を管理して評価し得る。いくつかの実施態様では、デバイスマネージャー222は、特定の環境のためにデバイスをセットアップしてもよい。たとえば、1つ以上のセットアップAPIがセットアップアプリケーションに埋め込まれてもよい、および/またはセットアップアプリケーションによって利用されてもよい。セットアップアプリケーションは、システム200にあるいずれかの特定のデバイスのデバイスマネージャーによって使用されて、デバイスの基板となるオペレーティングシステムに関係なくシステム200のその他のアンビエントコンピューティングデバイスとの相互運用性を引き続き保証しつつ、ブランド表現の側面(たとえば、デバイスのブランドごとのUIコンテンツ)を提示してもよい。
【0084】
いくつかの実施態様では、デバイスマネージャー222は、デバイスごとのセットアップを提供または可能にしてもよい。たとえば、スマートホームデバイスは、予めプロビジョニングされたデバイスIDを介してユーザ確認が行われると、ピアツーピアネットワーク(または、超音波またはその他のワイヤレス技術を介したその他のネットワーク)を経由して互いに通信を行ってもよい。確認が行われると、予めプロビジョニングされたデバイスは、たとえばスマートホームデバイスのうち1つ以上のスマートホームデバイスに、サービス、基本設定、および/または設定を自動的に通信してもよい。よって、マニュアルWi-Fiセットアップ、デバイスセットアップ、またはそのまますぐに使用できる(out of the box)その他のセットアップの計算タスクが不要になるであろう。
【0085】
いくつかの実施態様では、デバイスマネージャー222は、ユーザが以前に構成したデバイスによって、および以前のデバイス構成に関連する情報に基づいて特定のデバイスの機能を個々に有効化させるおよび/または順序を並び替えることができるよう、モジュラーをすぐに使用できる体験を提供してもよい。その後、ユーザが新しいセットアップを伴う体験を要求した場合、デバイスマネージャー222は、最初のデバイスセットアップに関連する情報を再利用してもよい。
【0086】
状況マネージャ224は、イベント、発言、またはアイデアの設定を生じさせる状況を評価してもよい。状況マネージャ224は、完全に理解および評価できるようにこの設定を定めてもよい。たとえば、状況マネージャ224は、ユーザ権限に従って、分散型アンビエントコンピューティングシステム200にあるデバイス間で状況を意識した計算を提供する。たとえば、関連性のある実用的な情報をデバイスのユーザに提示するために、状況マネージャ224は、ソフトウェアおよび/またはハードウェアを用いてデバイス周辺についてのデータを収集および解析してもよい。定められた場所の外部にあるその他のリソースを使用するというユーザ要求がない限り、当該収集および解析は、デバイスに関連する場所内で行われる。いくつかの実施態様では、状況マネージャ224は、個々のデバイスからの信号を収集し、これらの信号を解析し、組み合わせて自宅全体の状況とし、システムおよび/またはデバイス権限に従って、システム(たとえば、デバイス)のサービスまたはその他の部分に状況の変化を通知してもよい。
【0087】
図2Aに示すように、O/S212は、サービス214と、通信モジュール230と、カメラ232と、メモリ234と、CPU/GPU236とを備え得る、またはこれらを利用できる。また、コンピューティングシステム202は、センシングシステム238を備え得る、またはセンシングシステム238を利用できる。センシングシステム238は、IMU(慣性計測装置)センサー240と、音声センサー242と、ジェスチャセンサー244と、イメージセンサー246と、画像解析部248と、位置識別子250とを備える。センシングシステム238は、通信モジュール230、カメラ232、距離/近接センサー(図示せず)、位置センサー(図示せず)、および/もしくはその他のセンサー、ならびに/または異なる組合せ(複数可)のセンサーへのアクセスを有してもよい。システム212がアクセスしたセンサーのうち一部によって、システム200に対応付けられたデバイスまたはシステム200のユーザの位置検出が可能になってもよい。システム238のセンサーの一部によって、デバイス104、106、108、110、202および/または204のうち1つ以上のデバイスの構成要素上に表示するための、分散型アンビエントコンピューティングシステムに関連する物理環境の画像の撮影が可能になってもよい。
【0088】
IMUセンサー240は、コンピューティングシステム202のために、角速度および直線加速度を検出して計測するように機能し得る。その後、システム202は、IMUセンサー240による測定に基づいて、3D空間における3D方向を計算および/または予測してもよい。IMUセンサー240は、1つ以上の加速度計、ジャイロスコープ、磁力計、およびその他のこのようなセンサーを含み得る。一般に、IMUセンサー240は、たとえば、デバイス202の動き、移動、速度、および/または加速度を検出し得る。
【0089】
イメージセンサー246は、デバイス202(または、デバイス202と通信する別のデバイス)が行うカメラ撮影に関連する背景データの変化を検出し得る。カメラ232は、背面撮影モードと、正面撮影モードとを含んでもよい。
【0090】
コンピューティングシステム202は、特定のポリシーおよび権限252、ならびに基本設定254を生成ならびに/または分散させてもよい。ポリシーおよび権限252、ならびに基本設定254は、デバイスのメーカーによって構成されてもよく、ユーザによって構成されてもよい。ポリシーおよび権限252ならびに基本設定254は、音声コマンド、視覚コマンド、スケジュールベースのコマンド、またはその他の構成可能なコマンド、およびユーザ権限に基づいてトリガされるルーチン(すなわち、一連の動作)を含み得る。これらは各々、ユーザ権限に従ってトリガされてもよい。たとえば、ユーザは、基本設定および/または動作を有する午後のルーティーンを計画し、予め定められた場所にあるデバイスをトリガして1つ以上のドアを施錠させ、1つ以上のカメラをオフにさせ、電気を消させてもよい。受信したコマンドがこのルーティーンをトリガしてもよい。もちろんその他のポリシーおよび基本設定は、ポリシーならびに権限252および/もしくは基本設定254で構成された特定の場所に対応付けられたその他のデバイスに変更を加えるならびに/または制御するように構成されてもよい。
【0091】
いくつかの実施態様では、コンピューティングシステム202は、分散リポジトリ256(および/または分散リポジトリ257)にアクセスして、分散型アンビエントコンピューティングシステム200の動作中にデバイスの状態およびタスクのステータスを保持してもよい。このような分散リポジトリ256(および/または分散リポジトリ257)は、分散リポジトリシステムを表してもよい。いくつかの実施態様では、分散リポジトリ256(および/または分散リポジトリ257)は、サービス214として提供されてもよい。このようなサービスは、特定の世帯、建物、ユーザなどが所有するデバイス間で同期されてもよい。いくつかの実施態様では、分散リポジトリ256(および/または分散リポジトリ257)は、アプリケーションを介して提供されてもよい。
【0092】
特定の定められたユーザに代わって動作している各アプリケーション216および/またはコンポーネントは、たとえば分散リポジトリ(たとえば、ログ)256が提供および管理する別個のデータストアであって、ユーザが要求すると、デバイスに対応付けられたその他のユーザに提供されるデータストアを有してもよい。特定のコンポーネント/ユーザの組合せのためのデータストアは、ユーザ専用であるので、同じユーザのその他のアプリケーションは利用できず、同じアプリケーション(または、別のアプリケーション)のその他のユーザも利用できない。各データストアは、ネットワークプロバイダ(たとえば、ネットワーク259)を通してユーザに対応付けられたデバイス間でトランスペアレントに同期されてもよい。いずれのデータ操作も、先ずオフラインで実行され得、ネットワークとの連携はない。同時に修正を行うことでデータ競合が生じた場合、この競合は、たとえばアプリを構成可能なマージポリシーを使用して解消できる。
【0093】
各データストアを、キー値ストアAPI(アプリケーションプログラミングインターフェース)(たとえば、ページ)を公開する複数のコレクションに編成してもよい。APIは、任意の大きさのデータの格納、複数のキー間でのアトミックな変更、スナップショットおよび修正オブサーバに対応してもよい。
【0094】
いくつかの実施態様では、分散リポジトリ256(および/または分散リポジトリ257)の実装は、データを格納するおよび当該データへのローカルアクセスを提供するストレージ(図示せず)、ストレージとやり取りするクライアントコンポーネント、分散リポジトリ256APIを公開してアプリケーション(たとえば、アプリケーション216)をローカルで実行するローカルクライアントを含む。
【0095】
一般に、コミット履歴にある各コミットのコンテンツは、Bツリー状構造に格納されたキー値ペア(項目)を含む。Bツリー状構造には、レンジクエリの効率よい評価を許可するキーによって順序付けされる項目、および不変なツリーノードが含まれており、2つの(またはそれ以上の)異なるコミットから同じノードを参照することを可能にするので、同様のコンテンツを有するそれぞれ異なるコミット間で状態が重複しないようにする。このBツリーは、履歴とは無関係のツリーである(すなわち、同じ項目セットの場合、結果として得られるツリーの構造は、挿入順序に関係なく、同じになる)。この特性により、2つの所与のコミット間の差を効率的に計算できる。
【0096】
動作中、分散リポジトリ256は、アプリケーション216のためにローカルで動作してもよく、アプリケーションがゲストモードで動作している場合、データをネットワーク259および分散リポジトリ257と同期させなくてもよい。アプリケーション216が標準モードで動作している場合、分散リポジトリ256は、ネットワーク259を介してネットワークインスタンスを用いてユーザーデータを自動的に同期させてもよい。一般に、ネットワーク259は、ハイブリッドネットワークサービスまたはパブリックネットワークサービスを提供するであろう。ハイブリッドネットワークサービスは、ハイブリッドネットワークソリューションベンダーによって生成、提供、および/または遂行されてもよい。パブリックネットワークサービスは、パブリックネットワークを管理するネットワークサービスプロバイダによって所有および操作されてもよい。
【0097】
分散リポジトリ256により、同期されて分散型アンビエントコンピューティングネットワーク200内の任意の数のデバイスに明るみにされ得る一連の変更をアプリケーション(たとえば、アプリケーション216)が行えるようにするトランザクションの遂行が可能になるであろう。たとえば、コンピューティングシステム202(たとえば、クライアントデバイス)は、トランザクションを開始し、ページの状態のスナップショットを取得し、データを読み込み得る。その後、コンピューティングシステム202(たとえばアプリケーション216を介して)は、分散リポジトリ256のページインターフェースを通して変更を行い得、そしてリポジトリ256(および/またはリポジトリ257)にトランザクションをコミットし得る。トランザクションが開始されると、トランザクションがコミットされるか中止されるまで進まないよう、ページの状態を追跡および特定する。これにより、トランザクション書き込みがページのスナップショット上で見える状態に正確に影響を与えることを確実にするという利点が与えられ得る。いくつかの実施態様では、分散リポジトリ257は、構成された世帯デバイスが分散リポジトリ256などの各分散デバイスストレージとデータを共有し得る(および同期)マスター世帯分散リポジトリとして動作してもよい。
【0098】
特定の分散型アンビエントコンピューティングシステム内の各デバイスは、O/S212、センシングシステム238、通信モジュール230、サービス214、メモリ234、および/またはカメラ232と通信する1つ以上のプロセッサ(たとえば、CPU/GPU236)を含んでもよい。通信モジュール230は、コンピューティングシステム202とその他の外部デバイスとの通信を可能にするであろう。特定のタスクを遂行するために、プロセッサ236は、命令(たとえば、コンピュータプログラム)を実行するように構成される。いくつかの実施態様では、プロセッサ236のうち少なくとも1つが、分散型アンビエントコンピューティングシステムにあるデバイスを操作する命令を実行する。システム200にある要素間の通信およびやり取りを通してメモリ234が利用されてもよい。
【0099】
これに加えて、コンピューティングシステム202は、1つ以上の周辺機器(図示せず)を利用してもよく、これらの周辺機器へのアクセスを有してもよい。周辺機器として、任意の数のコントローラ、任意の数のコンピューティングデバイス、任意の数のヘッドマウントディスプレイ装置、任意の数のカメラ、任意の数のスピーカー、任意の数の追跡システム、および/またはデバイス202と通信するその他のデバイスなどが挙げられ得る。
【0100】
いくつかの実施態様では、コンピューティングシステム202は、追跡システム(図示せず)を備える、または当該システムへのアクセスを有する。追跡システムは、たとえば、光センサー、IMU(慣性計測装置)センサー240、音声センサー242、イメージセンサー246、画像解析部248、位置識別子250、カメラ232、距離/近接センサー(図示せず)、位置センサー(図示せず)、および/もしくはその他のセンサー、ならびに/または異なる組合せ(複数可)のセンサーを含んでもよい(または、アクセスを有してもよい)。
【0101】
本明細書に記載の実施態様によると、コンピューティングシステムによって上記の問題に対する様々な解決策を提供した。コンピューティングシステムは、本明細書に記載の実施態様によると、分散型アンビエントコンピューティングシステム(複数可)が備える様々なセンサーおよび/またはデバイスが収集したデータを利用して、サービスおよびプラットフォームと連携して機能し、自宅環境にある利用可能かつ対応できるデバイスを検出、特定、および/またはランク付けを行うデバイスから構成されるネットワークを生成(たとえば、構築)し得る。このようなサービスは、分散型アンビエントコンピューティングシステム(複数可)にある利用可能であり対応可能なデバイス間でタスクを送るおよび/または指揮するという意思決定(たとえば、自動的またはユーザ要求を受けて)を行い得る。サービスおよびプラットフォームについてのその他の詳細については後述する。
【0102】
図2Bを参照すると、タスクマネージャ218、IDマネージャ220、デバイスマネージャー222、および状況マネージャ224が示されている。タスクマネージャ218は、ユーザの意
図260および計算タスク262を含む。ユーザの意
図260は、ユーザがデバイスの計算タスク262(たとえば、タスク)を要求したときに欲しがっている物を表し得る。たとえば、ユーザの意
図260は、ユーザが遂行したい目的であってもよい。ユーザが要求した1つ以上の計算タスク262を遂行するために、タスクマネージャ218は、ユーザの意図を、判断した状況255と合わせて利用してもよい。
【0103】
IDマネージャ220は、世帯グループ264と、建物アカウント266と、ユーザアカウント268とを含む。世帯グループ264は、定められた場所(たとえば、自宅、建物など)に対応付けられたユーザまたはデバイスから構成される特定のグループについての定義を含み得る。建物アカウント266は、どのアカウントが特定の場所(たとえば、または建物)に対応付けられているかについての情報を含み得る。いくつかの実施態様では、建物アカウント266は、世帯アカウント261を表し得る。いくつかの実施態様では、建物アカウント266は、ユーザの建物との関係、建物に関連するデジタルサービスとの関係、建物に関連する入居者および/またはデバイスとの関係、建物に関連するサービスとの関係、建物の空間レイアウトとの関係、建物の場所との関係、建物に対応付けられたポリシーとの関係、および/または建物の緊急時のアクセス情報との関係を規定し得る。いくつかの実施態様では、たとえば、建物アカウント266は、メンテナンスおよびデバイス管理のための世帯データを含み得る。いくつかの実施態様では、このような建物アカウント266を使用して、構成されたユーザ権限に従って、完了したタスクを追跡してもよい。完了したタスクとして、ビルメンテナンス、ユーザの建物への出入りなどが挙げられるが、これらに限定されない。
【0104】
デバイスマネージャー222は、入/出力性能270と、モダリティ(modalities)272と、計算性能274とを含む。状況マネージャ224は、デバイス状況276と、自宅状況278と、ユーザ状況280とを含む状況255を含む。いくつかの実施態様では、状況255は、タスク状況、および/もしくはデバイスの状態を含み得る、またはタスク状況、および/もしくはデバイスの状態へのアクセスを有し得る。状況255は、一般に、ユーザ環境内のエンティティ(たとえば、ユーザ、デバイス、情報)間の関係を表す。状況255を用いて、1つ以上のデバイス上のユーザに有用な情報を動的に提供してもよい。たとえば、状況255を用いて、デバイスが提供するユーザエクスペリエンスに対する本来のユーザ制御を提供しつつ、ユーザまたはデバイスの概要、およびユーザまたはデバイスにとって何が問題であるのかを提供してもよい。いくつかの実施態様では、システム200は、状況255およびユーザ権限を利用して、デバイスのユーザが知っている人、デバイスのユーザのカレンダーイベント、デバイスのユーザの嗜好および関心、デバイスのユーザが所有している他のデバイス、訪れた場所、および/またはデバイスのユーザに対応する、その他のユーザ入力情報を要約してもよい。このような状況255は、ユーザ環境内で保護され得、明確なユーザ権限なく環境外で利用されることはないであろう。いくつかの実施態様では、状況255を用いて、ユーザが要求したタスクを完了させてもよい。いくつかの実施態様では、状況255を用いて、ユーザが要求したタスクをどのデバイス(複数可)が完了させるかを評価してもよい。
【0105】
図2Cを参照すると、スキーマ282は、複数のエンティティを含むと示されている。エンティティは、少なくとも建物ブロック283、世帯ブロック284、および個人ブロック285を含む。いくつかの実施態様では、さらなる建物ブロック286、ゲストブロック287、および貸しビルブロック288などのその他の建物もスキーマ282において表されてもよい。
【0106】
建物ブロック283は、たとえば分散型コンピューティングシステム200のために構成された世帯アカウントに関連して定められた建物のデバイスのID、サービス、基本設定、規則、および権限を表し得る。建物ブロックは、分散型コンピューティングシステム200において表されている建物に対応付けられるデバイスで構成可能なこれらの要素を定め得る。
【0107】
世帯ブロック284は、たとえば分散型コンピューティングシステム200のために構成された世帯アカウントに関連して定められた世帯の構成員のID、サービス、基本設定、規則、および権限を表し得る。世帯ブロック284は、分散型コンピューティングシステム200において表されている世帯に対応つけられる世帯デバイスとの構成に利用可能なこれらの要素を定め得る。一般に、建物ブロック283において表されている建物は、世帯ブロック284の世帯に対応付けられ得る。
【0108】
個人ブロック285は、分散型コンピューティングシステム200のために構成された世帯アカウントに対応付けられた特定のユーザのIDを表し得る、たとえば、個々のブロックは、デバイス、サービス、基本設定、および権限を含み得る。個人ブロック285は、分散型コンピューティングシステム200において表されている個人に対応付けられたデバイスとの構成に利用可能なこれらの要素を定め得る。一般に、個人ブロック285で表されたそれぞれは、建物アカウント283に対応付けられた特定の建物に関連する役割を果たし得る。
【0109】
さらなる建物ブロック286は、個人ブロック285によって表される個人によって所有され得るその他の建物のIDを表し得る。ゲストブロック287は、建物283にアクセスし得るゲストのIDを表し得る。貸しビルブロック288は、世帯ブロック284に関連する特定の一時的なサービスおよび基本設定を表し得る。
【0110】
スキーマ282は、個人のID、世帯ID、および建物IDとの間でより柔軟なつながりを生成し得るスキーマを介して、これらのIDが互いに切り離されることを保証できる。たとえば、それぞれが独自のデバイス、サービスおよび基本設定を有することができる。
【0111】
個人は、世帯の一部であり得るので、自身のデバイスおよびサービスの一部を、コントロールを失うことなく共有することにする。所有者、借り主、ゲスト、管理者など、異なる規則を用いて複数の個人を建物につなげることができるが、これらに限定されない。これに加えて、各役割は、システム200および/または世帯、建物などに対応付けられたデバイス、サービス、基本設定、および規則に各役割がどのようにアクセスして制御し得るかについて定められてもよい。
【0112】
いくつかの実施態様では、システム200は、世帯アカウント261を使用しているゲストのための世帯(たとえば、マンション、オフィススペース、自宅など)を構成してもよい。たとえば、システム200は、ゲストまたは一時的なテナントが有することができるアクセスの程度および/またはカスタマイズの程度(たとえば、ゲストは、マイクロフォンおよびカメラを無効にできる)を自宅にある1つ以上の接続デバイスが制御できるようにするように世帯アカウント261を構成してもよい。別の例では、システム200は、世帯アカウント261を用いて、他のゲストの邪魔をしないように特定の時間以降、音楽を再生できるようにデバイスを構成するが、音量レベルは制限するであろう。別の例では、自宅でカメラおよびマイクロフォンを使用する権限がゲストに与えられた場合、システム200は、世帯アカウント261を用いて、ゲストが自宅にいた間のセキュリティカメラの記録にゲストがアクセスできるように構成するが、その他の自宅に関連する記録に残された履歴へのゲストのアクセスは制限するであろう。
【0113】
さらに別の実施例では、集合住宅建物に世帯アカウント261が用いられてもよい。特に、建設業者は、建物に何百もの接続デバイスを設置およびセットアップすることができ、ユーザベースのアカウントまたはダミーアカウントを使わずにこれらのデバイスをセットアップしてもよい。この代わりに、建設業者は、サービス、デバイスアクセス、規則、基本設定、権限などを管理するように世帯アカウント261を構成してもよい。マンションがテナントに売却または貸し出された場合、住戸のデジタルID(世帯アカウント261によって定められる)が、新しいテナントにつなげられてもよい。その後、新しいテナントは、デバイスの挙動をパーソナライズしてもよい。建物に管理者が雇われた場合、管理者には、テナントが構成した(たとえば、ユーザが構成した)権限に従って、共用エリアにあるデバイスや、賃貸されている住戸にあるデバイスへの管理者アクセスが付与されてもよい。
【0114】
図3は、本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステムにおいて表された状況の層の例を示すブロック図である。状況の層は、たとえば、時間の経過とともに変化する、ユーザ環境101にある要素の状況の層を表し得る。いくつかの実施態様では、状況の層は、ユーザにとって重要であると判断される側面から、ユーザにとってあまり重要でないと判断される側面まで、様々である。状況の各層を、最小しきい値時間および最大しきい値時間に対応付けてもよい。状況の層は、世帯にあるデバイスが遂行したタスクを評価するためのツールとして、およびこのようなタスクがユーザ環境内のユーザ、場所、および物にどのように関連し得るのかを予測するためのツールとして用いられてもよい。このような情報を用いて、ユーザがユーザ環境にあるデバイスから有用なデータを提供されることを保証することができる。
【0115】
図に示すように、状況の層は、コア状況層302を含み得る。コア状況層302は、最近頻繁に利用、接触、またはやり取りされている要素(たとえば、場所、物、デバイス、ユーザ、および関連データ)を表し得る。コア状況層302は、ユーザにとって意味のある、または少なくとも頻繁にアクセスおよび/もしくはやり取りするユーザの環境の側面を表し得、親しい人(たとえば、ユーザX)、家族、日常的に訪ねる自宅およびオフィスビルなどとのやり取りを含むが、これらに限定されない。
【0116】
また、状況の層は、親密状況層304を含む。親密状況層304は、ユーザの、タスク、場所、物、およびその他のユーザとの近い関係を表し得る。近いとは、物理的な近さ(たとえば、ユーザから離れた場所にある物とは対照的な、ユーザの近くにある物)を指し得る。近いとは、関係上近いこと、および/または社会上近いこと(たとえば、他人とは対照的な、家族310)を指し得る。近いとは、分、時間、日、月、年などの単位で測られる時間的に近いこと(時間312)を指し得る。一般に、親密状況層304は、安定している状況であって、時間が経つにつれて急速に変化する可能性が少ない状況を表し得る。
【0117】
状況の層は、さらに、広範状況層306を含んでもよい。広範状況層は、任意の数の場所、物、ユーザ、およびタスクとの関わりが少ないことを表し得る。広範状況層306は、ユーザ権限に従って、ユーザ状態を識別し得る。たとえば、特定のユーザの状態に従って、デバイス状況は大まかな状況であると判断されてもよい。ユーザが腰をかけて映画を鑑賞していた場合、明日起こるイベントに関する表示および/またはリマインダーを、ユーザにとって都合がよいと判断された時(たとえば、映画の後)まで保留にしてもよい。広範状況層306は、時間の経過とともに変化しやすい、時間の経過とともに頻繁に変化する関わりの程度を表し得る。
【0118】
図4は、本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステムにおいて用いられる例示的な状況スキーマを示す例示的な図である。この例では、ユーザがモバイル機器402でコンテンツにアクセスしている。デバイス402は、本明細書に記載の分散型アンビエントコンピューティングシステムを利用して、サービス、ユーザ、タスク、リマインダーなどがデバイス404、デバイス406、デバイス408、デバイス410、デバイス412、デバイス414、デバイス416などの間でデバイスの状況に従って更新されるように、状況の層を考慮する。デバイス404~416は、たとえばユーザ権限に従って状況がデバイス間で共有されるよう、分散型アンビエントコンピューティングシステム100に対応付けられてもよい。
【0119】
図5A~
図5Gは、本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の使用例を示すブロック図である。
図5Aを参照すると、ブロック502に示すように、ユーザAは、オフィスから自宅に到着するところであり得る。ブロック504に示すように、ユーザは、自宅には誰もいないことに気づき得る。ブロック506に示すように、ユーザは、自宅にあるデバイスに、みんながどこにいるかを質問する。ブロック508が示すように、自宅に対応付けられた1つ以上のデバイスは、ユーザが発話したタスクを受け付け得、自宅の状況を判断し得る。
【0120】
ブロック510が示すように、状況を判断する際、自宅にある少なくとも1つのデバイスがタスクを実行する。たとえば、デバイスは、「ユーザBは、近所の家で宿題をしているとのメモを残した」と応答する。後になって、デバイスは、ユーザBがまだ帰宅していないことを認める(ブロック508で判断した状況、または自宅にあるデバイスに基づいて判断した更新状況に従って)。よって、ブロック512に示すように、デバイスは、「ユーザBはまだ帰宅していません。」とユーザAに知らせて、このデバイスからユーザBに電話するまたはテキストを送信することを希望するかどうかをユーザAに問い合わせる。ユーザAは、ブロック514に示すように応答し得る。ここで、ブロック516に示すように、ユーザBは、「いいえ、ユーザBに私が帰宅したとだけ伝えてください。」と発話することによってユーザBに電話をかけたりテキストメッセージを送信したりすることを希望していないことを示し、これに応じて、デバイスは、ユーザBに通知を送る。この通知は、ユーザBのモバイル機器で受信される。この例では、デバイスは、ユーザA、ユーザB、および任意の数のデバイスの状況を判断する。これに加えて、デバイスのうち少なくとも1つは、ブロック514で用いられた「私」がユーザAと同一であることを推論し得る。
【0121】
図5Bを参照すると、ブロック504は、帰宅したユーザAが誰も自宅にいないことに気づくことを表す。システム200、たとえば、自宅の状況520を生成している。状況520は、既知のユーザスケジュールスキーム522と、検出されたおよび/または既知のユーザ存在スキーム524に基づく。これらのスキームは、ユーザ権限に従って提供されてもよい。ブロック526が示すように、状況520はユーザAに対応付けられているが、ブロック528にデバイスが1つも示されていないように、まだ自宅にあるデバイスには基づいていない。ユーザAが自宅にいなかったなどの理由で、最近のアクティビティは追跡されたり表示されたりしなかった。したがって、ブロック530には、既知のユーザアクティビティが示されていない。いくつかの実施態様では、最近のアクティビティは、たとえば同じ日の早い時間にユーザAが外出する前に行ったタスクまたはアクティビティを含み得る。
【0122】
進行中のアクティビティブロック532は、検出したユーザの存在524、カレンダー項目、既知のユーザスケジュール522などに従って、ユーザAは通勤が終わってまさに自宅するところであると示す。ブロック534が示すように、状況520は、世帯構成、既知のデバイス、および世帯の状態に基づいてもよい。この例では、分散型アンビエントコンピューティングシステム200は、ユーザAおよびユーザBは両者とも世帯に登録済みであるという情報を検索してもよい。これに加えて、システム200は、どのデバイスが世帯に登録済みであるかについての情報、および/またはどのデバイスが世帯のために構成されているかについての情報を検索してもよい。この例では、ハブ、サーモスタット、および煙検知器が世帯のために構成されている。これに加えて、システム200は、ユーザ権限に従って、自宅(たとえば、世帯)には現在誰もいないこと、および権限ポリシーが構成済みであることを検出してもよい。
【0123】
いくつかの実施態様では、状況520を監視および利用してタスクを送るタスクは、定められた環境にあるすべてのデバイス、または当該環境にある特定のデバイスを含む、OSレベルで行うことができる。たとえば、特定のデバイスがマスターデバイス(たとえば、マスターアシスタントデバイス)であってもよく、その他のデバイスは、マスターデバイスを介して受信したコマンドをきっかけに機能する。いくつかの実施態様では、OSレベルの管理により、特定のオペレーティングシステムを有するデバイスが異なるオペレーティングシステムを有するその他のデバイスを管理することが可能になってもよい。
【0124】
図5Cを参照すると、ユーザAは現在自宅におり、サーモスタットデバイス536とやり取りを行っている。この時点で、状況520が状況538に更新され得る。たとえば、ユーザAが自宅の温度を調節し、「みんなはどこにいますか?」と聞いた場合、検出したデバイス近接性スキーム540、世帯スキーム542のステータス、自然言語発話スキーム544の理解、および、「みんなはどこにいますか?」というタスク要求を受信したデバイス上の状況を意識したマイクロフォン546に基づいて、状況を状況538に更新し得る。ブロック548が示すように、この例では、状況538がユーザAに関連している。ブロック550が示すように、状況538は、自宅にある共同で使用するデバイスのデバイス状況、サーモスタット536のクリックホイール入力、状況を意識したマイクロフォン546に対応付けられたマイクロフォン、ユーザAに情報を出力するスピーカー、および(サーモスタット536の)超小型ディスプレイを含み得る。ユーザA(および/またはその他のユーザ)が少し前まで自宅に到着していなかったなどの理由で最近のアクティビティは追跡されたり表示されたりしなかった。したがって、ブロック552には、既知の最近のアクティビティが示されていない。
【0125】
ブロック556が示すように、状況538は、世帯構成、既知のデバイス、および世帯の状態に基づいてもよい。この例では、分散型アンビエントコンピューティングシステム200は、ユーザAおよびユーザBは両者とも世帯に登録済みであるという情報を検索してもよい。これに加えて、システム200は、どのデバイスが世帯に登録済みであるかについての情報、および/またはどのデバイスが世帯のために構成されているかについての情報を検索してもよい。この例では、ハブ、サーモスタット、および煙検知器が世帯のために構成されている。これに加えて、システム200は、ユーザ権限に従って、自宅(たとえば、世帯)には現在ユーザAがいること、および権限ポリシーが構成済みであることを検出してもよい。
【0126】
図5Dを参照すると、たとえばユーザAの世帯に対応付けられたその他のデバイスを考慮して、状況558は、アシスタントハブデバイス560上で構成されてもよい。ブロック562が示すように、ここで、状況558は、ユーザAに関連している。たとえばブロック564が示すように、状況558は、自宅にある共同で使用するデバイスのデバイス状況、デバイス560に対応付けられたタッチスクリーン入力、マイクロフォン、スピーカー、カメラ、および中型ディスプレイを含み得る。ブロック566が示すように、最近のアクティビティは、ユーザBがメモを残したことを示している。ユーザAが継続して他の家族の現状をチェックしているので、進行中のアクティビティブロック568には、家族の状態をチェックしていることが示されている。ブロック570が示すように、状況558は、世帯構成、既知のデバイス、および世帯の状態に基づいて生成され得る。
【0127】
この例では、アシスタントデバイス560は、ユーザBが残したメモを(すなわち、分散リポジトリ114などに)格納し、このデータにアクセスする要求を受信した場合、または、この情報を特定の時刻またはイベントを検出した際に提供するようにデバイス560をユーザBが構成した際に、この情報をユーザAに提供してもよい。
【0128】
動作中、分散型アンビエントコンピューティングシステム200は、ユーザAおよびユーザBは両者とも世帯に登録済みであるという情報を検索してもよい。これに加えて、システム200は、どのデバイスが世帯に登録済みであるかについての情報、および/またはどのデバイスが世帯のために構成されているかについての情報を検索してもよい。この例では、ハブ、サーモスタット、および煙検知器が世帯のために構成されている。これに加えて、システム200は、ユーザ権限に従って、自宅(たとえば、世帯)には現在ユーザAがいること、および権限ポリシーが構成済みであることを検証してもよい。状況558は、関連コンテンツスキーム、人から人への介在スキーム、および要約スキームに基づき得る。
【0129】
図5Eを参照すると、ユーザBがまだ帰宅していないとデバイス560が判断した場合、状況が状況558から状況572に更新され得る。デバイス560は、世帯構成員ステータススキーム574およびプライバシー保護分配(privacy preserving share out)プロトコルスキーム576を利用して(ユーザ権限とともに)このような現状を判断してもよい。
【0130】
ブロック578が示すように、ここで、状況572は、ユーザAに関連している。たとえばブロック580が示すように、状況572は、自宅にある共同で使用するデバイスのデバイス状況、デバイス560に対応付けられたタッチスクリーン入力、マイクロフォン、スピーカー、カメラ、および中型ディスプレイを含み得る。ブロック582が示すように、最近のアクティビティは、ユーザBがメモを残したことを示している。ユーザAが継続して他の家族の現状をチェックしているので、進行中のアクティビティブロック584には、家族の状態をチェックしていることが示されている。ブロック586が示すように、状況572は、世帯構成、既知のデバイス、および世帯の状態に基づいて生成され得る。
【0131】
この例では、ユーザBがまだ帰宅していないことをアシスタントデバイス560が検出した。これに応じて、アシスタントは、ユーザAに通知を行い、意思決定を行うよう求める。ディシジョンポイントは、世帯に関して判断した状況(複数可)に基づく。
【0132】
図5Fを参照すると、更新された状況588が示すように、ユーザAは、意思決定を行い、デバイス587を介して「いいえ、ユーザBに私が帰宅したとだけ伝えてください。」でディシジョンポイントに応答した。更新された状況588は、人から人への介在スキーム589および気を配った通知スキーム590に基づく。
【0133】
ブロック591が示すように、状況588は、ユーザAに関連している。たとえば、ブロック592が示すように、状況588は、自宅にある共同で使用するデバイスのデバイス状況、デバイス587に対応付けられたタッチスクリーン入力、マイクロフォン、スピーカー、カメラ、および小型ディスプレイを含み得る。ブロック593が示すように、最近のアクティビティは、ユーザBがメモを残したことを示している。ユーザAが継続して他の家族の状態をチェックしているので、進行中のアクティビティブロック594には、家族の現状をチェックしていることが示されている。ブロック595が示すように、状況588は、世帯構成、既知のデバイス、および世帯の状態に基づいて生成され得る。この例では、ハブ、サーモスタット、および煙検知器が世帯のために構成されている。これに加えて、システム200は、ユーザ権限に従って、自宅(たとえば、世帯)にはデバイス587(未登録)を現在使用しているユーザAがいること、および権限ポリシーが構成済みであることを検出してもよい。
【0134】
図5Gを参照すると、ユーザBには、異なる場所にあるモバイル機器596を介して通知が行われる。この通知は、世帯から送られており、ユーザAが作成者であることを示し得る。自宅では、アシスタント560がユーザBにテキストメッセージを送信したので、自宅の状況が状況597に更新され得る。ブロック598が示すように、状況597は、アシスタントデバイスについての進行中のアクティビティ(すなわち、積極的にテキストメッセージを送信する)が更新されたことを示す。
【0135】
特定のスキームを用いて、システム200における状況を生成してもよい。本明細書に記載のスキームは、ユーザが構成した世帯の権限およびデバイスの権限に従って、デバイスデータ、ユーザーデータ、およびデバイスセンサーを利用してもよい。スキームとして、ジオフェンススキーム、スケジュールスキーム、存在スキーム、デバイス近接性スキーム、世帯スキーム、自然言語利用スキーム、状況を意識したマイクロフォンスキーム、関連コンテンツスキーム、人から人への介在スキーム、要約スキーム、世帯構成員ステータススキーム、プライバシー保護分配スキーム、気を配った通知スキーム、世帯ペットスキーム、ダウンタイムスキーム、アクティビティ検出スキーム、連続性フロースキーム、デバイス仲介スキーム、リマインダースキーム、ユーザ情報スキーム、スケジュールスキーム、データ構造化スキーム、事前割込スキームなどが挙げられるが、これらに限定されない。
【0136】
ジオフェンススキームは、デバイスからの信号およびセンサーを組み合わせて特定の場所および/またはランドマークにおける物理的なユーザの存在を精度よく明らかにすることによってある場所またはその近くにいるユーザを検出すること、を含んでもよい。スケジュールスキームは、様々なソースから信号を収集してユーザスケジュールを判断することによってユーザのスケジュールを学習すること、を含んでもよい。存在スキームは、特定の世帯もしくは特定の場所またはその近くにおける物理的なユーザの存在を評価することによってユーザの存在を特定すること、を含んでもよい。デバイス近接性スキームは、デバイスセンサーを利用することによってユーザエクスペリエンスを最適化するためにどのデバイスがいつユーザから一番近いかを判断することによってデバイスからの物理的な近さを判断してもよい。
【0137】
世帯スキームは、世帯(たとえば、自宅)にあるユーザおよびデバイスから形成される構成を、これらのIDを特定して分散リポジトリに格納し、追跡することによって判断してもよい。自然言語利用スキームは、自然発話で名前を挙げられたユーザと、場所と、物との間の時空間を通したつながりを明らかにすることによって、エンティティおよびユーザが行った自然発話を正確に理解できるようにしてもよい。
【0138】
状況を意識したマイクロフォンスキームは、広範状況からの信号を使用することにより、状況が通知されるエンドポインティングを行って、エージェントに繋がれたマイクロフォンセンサーに注目することおよび積極的に待ち受けることを持続させたり、終了させたりしてもよい。関連コンテンツスキームは、非常に関連性のある情報を、事前に、またはユーザ要求があった場合に、適切なタイミングで特定および強調することにより、状況を関連性のインジケータとして利用してもよい。人から人への介在スキームは、エージェントを利用し、エージェントの状況についての知識および理解を信頼して、その他のユーザとの共有、接触、およびつながりを、効率的かつ最小限の中断で行うことによって、他者とやり取りしてもよい。
【0139】
要約スキームは、長尺の情報の構造化された要約を合成した情報を使用すること、および、エージェントがその他のパーティを代表して要約した情報を共有することにより、ユーザのための情報を合成してもよい。世帯構成員ステータススキームは、ユーザステータスおよび世帯にいるペットを利用して、世帯の構成員のための、エージェントが保持する、ポリシーに従ったステータス情報を行ってもよい。これは、場所および物(たとえば、私の鍵はどこにありますか?誰かリビングルームにいますか?)にも適用されてもよい。プライバシー保護分配スキームは、ユーザ権限に従って世帯の構成員のステータスを事前に共有するエージェントを用いて、プライバシーを漏らすことなく世帯の人同士の基本的な情報をエージェントが共有できるようにしてもよい。気を配った通知スキーム
世帯ペットスキームは、ユーザ権限に従って、ユーザとペットのプライバシーを尊重しながら、ペットを特定して認識してもよい。ダウンタイムスキームは、ユーザがいつデバイスから離れているかについて自信を持って理解することによって、デバイスから離れている時間を尊重してもよく、適切な状況を使用して、緊急事態が発生しない限りユーザの邪魔をしないようにしてもよい。アクティビティ検出スキームは、センサーを用いて、センサーデータを状況情報と組み合わせて、入力を要求することなくおよび/または曖昧さを取り除くことなく、どれが自分たちのユーザの現在のアクティビティであるかを精度よく推定することによって、ユーザ権限に従ってアクティビティを評価してもよい。連続性フロースキームは、状況解釈を利用してサブタスク間の関係を理解することによって、時間および場所を超えてタスクを結びつける。たとえば、ユーザがユーザ権限で許可した場合、職場のラップトップでレシピを調べることで、自宅にあるハブアシスタントデバイス上にレシピが表示されてもよい。
【0140】
デバイス仲介スキームは、自宅にあるどのデバイスが、特定のタスクを実行するように構成されており、特定のタスクを実行可能であり、特定のタスクの実行に長けているかを判断してもよい。たとえば、デバイス仲介スキームは、周辺のデバイスおよび/またはセンサーが共有している情報を組み合わせて、ユーザ権限に従って、最も適したデバイスに入力および出力を送ってもよい。リマインダースキームは、ユーザの情報をセキュリティ上安全に格納することによってユーザを助け、格納された情報に関して適宜1つ以上のアラートを出してもよい。
【0141】
ユーザ情報スキームは、ユーザ権限に従って、ユーザーデータをセキュリティ保護してもよい。ユーザ情報は、ユーザーデータがユーザのコア状況の一部であることを確実にするセキュリティ上安全な方法を提供してもよい。スケジュールスキームは、カレンダー情報を含んでもよい。この情報は、ユーザ権限に従って宣言されてもよく、推定されてもよい。
【0142】
データ構造化スキームは、ユーザが提供した情報を構造化する工程を自動化することによって、自由形式データを構造化してもよい。このような構造化された情報は、ユーザ権限に従ってユーザおよび/またはデバイス状況を生成するために利用されてもよい。事前割込スキームは、たとえば、デバイスからユーザに通信できる価値のある情報を提供するためにユーザと関わりを持つ時間を判断する機会がユーザ権限によって与えられた場合、デバイスが、ユーザに要求されなくても、割り込みして情報を提供できるようにしてもよい。
【0143】
その他の例示的なスキームは、プライベートブロードキャストスキーム、機器連携スキーム、合成信号スキーム、セキュアハードウェアスキーム、トークンスキーム、世帯デバイススキーム、センサースキーム、使用スキーム、報告スキーム、世帯レイアウトスキーム、世帯ポリシースキーム、共同アクティビティスキーム、ユーザ分類スキーム、アクティビティ学習スキーム、およびアクティビティ教育スキームを含んでもよいが、これらに限定されない。
【0144】
プライベートブロードキャストスキームは、自宅において特定の情報がいつ音声的または視覚的に通信されるのかを判断してもよい。たとえば、本明細書に記載のデバイスは、各々、信頼度判断部を有して、情報が視覚的および/または音声的に提供されるのに十分にプライベートな空間にユーザいるかどうかを判断してもよい。この判断部は、ユーザ権限に従って構成される。
【0145】
機器連携スキームは、デバイス間のセンサーデータを組み合わせて、同じタスクを理解することに貢献するようデバイス間の複数の別個のセンサーからの情報を使用してもよい。合成信号スキームは、複数の情報ソースの信頼度を上げて、デバイスのタスクを理解する際の信頼を構築するために、自身の主なエージェントであるとユーザが称するいくつかのサービスからの信号を組み合わせてもよい。
【0146】
セキュアハードウェアスキームは、トークン、暗号技術、またはその他の方法を用いて、ハードウェアデバイスのセキュリティを保護してもよい。このスキームは、専用のハードウェアキー、ハードウェアトークン、セキュリティキー、およびその他の種類の検証済みのハードウェア部分に対するサポートを提供してもよい。トークンスキームは、セキュリティおよび存在に関するツールを用いて、一部のデジタルタスク(個人のデバイスまたはデータセットのロックを解除すること)のセキュリティを確保するための専用の特定の種類のハードウェアとしてトークンを利用できるようにしてもよい。
【0147】
世帯デバイススキームは、自宅(たとえば、家、建物、世帯)を、デバイスから構成される分散型アンビエントコンピューティングネットワークとみなしてもよい。これにより、同じ世帯にあるデバイスが互いに協力および通信できるようになる。センサースキームは、デバイスがユーザの存在およびアクティビティの理解を築くことができるようにするために、まるで分散型アンビエントコンピューティングシステムの一部であるかのようにデバイスがユーザ権限に従って複数のセンサーからのデータを組み合わせることができるようにする機能を提供してもよい。
【0148】
使用スキームは、分散型アンビエントコンピューティングシステムのためのデバイス使用についての暗号化データをコンパイルするために、ユーザ権限に従って、デバイスの利用パターンを評価してもよい。報告スキームは、ユーザ権限に従って、アンビエントなコンピューティング動作および従来のコンピューティング動作の両方についての、信頼性のある、個々にあわせた個人的な報告を生成し得る。
【0149】
世帯レイアウトスキームは、ユーザ権限に従って、ユーザが報告したデータとともに隣接デバイスセンシング性能を使用してデータのマップおよび場所のマップを生成し得る。世帯ポリシースキームによって、ユーザは、ユーザがユーザ権限に従ってデバイスの情報の流れと通信ポリシーを管理することを可能にするために、デジタルデバイスおよびデータに規則を設定できるようになる。
【0150】
共同アクティビティスキームは、複数のユーザが関与するユーザタスクおよび/またはアクティビティのスケジュールに基づいて、ユーザアクティビティを記述してもよい。このスキームは、ユーザ権限に従って、デバイスが記憶、通知、プライバシーに関して適切に行動することを可能にしてもよい。ユーザ分類スキームは、要素を、認識する前に分類分けしてもよい。たとえば、ユーザ分類スキームは、ユーザ権限に従って、エンティティを個人で識別する前にカテゴリで識別してもよい。
【0151】
アクティビティ学習スキームは、ユーザ権限に従って、ユーザにとってどのタスクが重要であるか、これらのタスクのどのパラメータが関連性のあるパラメータであるか、ユーザにとって好ましい結果にするためにこれらのパラメータをどう調整するかをエージェントが事前に学習することを、可能にし得る。アクティビティ教育スキームは、ユーザフィードバックを、エージェントの学習ループに組み込んでもよい。
【0152】
図6A~
図6Eは、本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステム内の1つ以上のデバイスを操作するユーザのために情報を生成する際の状況の別の使用例を示すブロック図である。この例では、ユーザCには、毎日同じ時刻と、外出する前に、世帯のペットを外に出すというタスクが割り当てられている。
【0153】
ユーザCの特定の状況、およびユーザCの自宅にあるデバイスの特定の状況は、ペットを外に出すというタスクを確実に行わせるためのリマインダーおよびユーザCの監視を可能にしてもよい。このようなリマインダーおよび監視を利用するために、ユーザCは、特定のデバイスが特定の期間監視を行えるようにするユーザ権限をセットアップする。たとえば、ユーザが毎日午前6:00~午前6:30の間にペットを外に出す場合、ユーザは、ペットを外に出すというアクティビティが監視されるよう、自宅にある特定のドアの場所の近くにあるデバイスが監視を行うように設定してもよい(世帯ネットワーク内であり、分散はさせない)。もしこのアクティビティが発生しなかった場合、ユーザを監視するように設定されたデバイスは、ユーザCにリマインダーをトリガし得る、または、このようなリマインダーを受信するようユーザCによって選ばれたユーザに、当該リマインダーをトリガし得る。
【0154】
図6Aに示すように、ユーザC(たとえば、ユーザ602)は、特定の日にペットを外に出すことを忘れ得る。この例では、ユーザCは、このアクティビティを行うことなく外出し得る。システム200は、自宅の最初の状況604を判断し得る。最初の状況604は、ユーザが構成した権限に従って、リマインダースキーム606および/またはユーザーデータスキーム608に基づき得る。
【0155】
ここで、ブロック610が示すように、状況604は、ユーザCに関連している。状況604は、自宅に登録済みのすべてのデバイスのデバイス状況を含み得るが、ブロック612が示すように、この例では、状況604に関連する時間帯に、デバイスはまだ使用されていない。同様に、ブロック614およびブロック616のそれぞれが示すように、ユーザ権限に従って自宅において最近のアクティビティは検出されておらず、進行中のアクティビティもない。
【0156】
ブロック618が示すように、状況604は、世帯構成、既知のデバイス、および世帯の状態に基づいて生成され得る。ブロック618に示されているように、この例では、世帯(たとえば、自宅)は、ペットスマートディスプレイデバイス、モバイル機器、およびスマートスピーカー装置を有して1人暮らししているユーザCを含む。
【0157】
図6Bを参照すると、ユーザCは、たとえばシステム200がアクセスした当該ユーザのカレンダースケジュールに従って外出する。このスケジュールに基づいて、状況620が生成され得る。たとえば、状況620は、スケジュールスキーム622およびデータ構造化スキーム624に基づいて生成され得る。カレンダーにあるスケジュールイベントをユーザが始めたときに、モバイル機器625が状況620の生成をトリガし得る。
【0158】
ブロック626が示すように、状況620は、ユーザCに関連している。状況620は、自宅に登録済みのすべてのデバイスのデバイス状況を含んでもよい。この例では、ブロック628に示すように、デバイスは、タッチスクリーンと、マイクロフォンと、スピーカーと、カメラと、小型ディスプレイとを備えるモバイル機器625を含む。状況620よりも前の期間中ユーザC(および/またはその他のユーザ)は活動していなかったので、最近のアクティビティは追跡されたり表示されたりしなかった。ブロック632に示すように、進行中のアクティビティは、更新されて、ユーザがカレンダーを更新していることを表示する。
【0159】
ブロック634が示すように、状況620は、世帯構成、既知のデバイス、および世帯の状態に基づいてもよい。この例では、分散型アンビエントコンピューティングシステム200は、ユーザCがペットを外に出す予定時刻に近い時刻に外出する予定を立てているという情報を検索してもよい。これに加えて、システム200は、どのデバイスが世帯に登録済みであるかについての情報、および/またはどのデバイスが世帯のために構成されているかについての情報を検索してもよい。これに加えて、ブロック634に示すように、システム200は、ユーザ権限に従って、自宅(たとえば、世帯)には現在ユーザCがいること、および権限ポリシーが構成済みであることを検出してもよい。
【0160】
図6Cを参照すると、状況620は、ユーザCがドアを出て行く途中に提供されるリマインダーをトリガし得る。たとえば、システム200は、ユーザが外出する時間が近いと判断し得る。これに応じて、デバイス(たとえば、共同で使用するスピーカー装置636は、ユーザCに向けて再生されるリマインダーをトリガし得る。その後、新しい状況638が生成される。状況638は、事前割込スキーム640およびプライベートブロードキャストスキーム642に基づく。
【0161】
ブロック644が示すように、状況638は、ユーザCに関連している。状況638は、自宅に登録済みのすべてのデバイスのデバイス状況を含んでもよい。この例では、ブロック646に示すように、デバイスは、マイクロフォンと、スピーカーと、LED(発光ダイオード)とを備える共同で使用するスピーカー装置を含む。状況638よりも前の期間中ユーザC(および/またはその他のユーザ)がデバイス636を使用していなかったので、デバイス648の最近のアクティビティは追跡されたり表示されたりしなかった。ブロック650に示すように、進行中のアクティビティは、更新されて、ユーザが家を出る準備をしていることを表示する。
【0162】
ブロック652が示すように、状況638は、世帯構成、既知のデバイス、および世帯の状態に基づいてもよい。この例では、分散型アンビエントコンピューティングシステム200は、ユーザCが自宅を出ようとしているという情報、およびデバイス636によってリマインダー(タスク)が設けられたという情報を検索してもよい。これに加えて、システム200は、どのデバイスが世帯に登録済みであるかについての情報、および/またはどのデバイスが世帯のために構成されているかについての情報を検索してもよい。ブロック652に示すように、システム200は、ユーザ権限に従って、自宅(たとえば、世帯)には現在ユーザCがいること、および権限ポリシーが構成済みであることを検出してもよい。
【0163】
図6Dを参照すると、世帯デバイスのうち1つ以上は、ドアロック装置658によって示されるような機器連携スキーム654および合成信号スキーム656を用いてユーザが外出するところであると判断してもよい。したがって、状況660が示すように、状況が更新されてもよい。
【0164】
ブロック662が示すように、状況660は、ユーザCに関連している。状況660は、自宅に登録済みのすべてのデバイスのデバイス状況を含んでもよい。この例では、デバイスは、ユーザ権限に従って、自宅におけるユーザの場所を特定してもよい。また、デバイスは、カレンダー項目を用いて、ユーザCが自宅をいつ出るかを判断してもよい。ここで、デバイスは、状況638以来、データを送るよう新たにトリガされていない可能性があるので、デバイスは、デバイスブロック664にリストアップされていないであろう。デバイスブロック664にはドアロック装置658が代わりにリストアップされている可能性があるが、この例では、ドアロック装置658は世帯に登録済みのデバイスではない。よって、デバイス658の最近のアクティビティは追跡されたり表示されたりしなかった。ブロック668に示すように、進行中のアクティビティは、更新されて、ユーザが家を出る準備をしていることを表示する。ブロック670が示すように、状況660は、世帯構成、既知のデバイス、および世帯の状態に基づいてもよい。
【0165】
図6Eを参照すると、ユーザが自身のモバイル機器に設定したペットを外に出すというリマインダーによって、ユーザ権限に従って、ユーザに近いデバイス上にユーザに対するアンビエントリマインダーをトリガし得る。たとえば、アシスタントデバイス672(たとえば、ペットスマートディスプレイ)を登録し、ユーザCが起床した時点でペットを外に出すアンビエントリマインダーを生成するように構成してもよい。このようなリマインダーを可能にし、トリガするための状況674が生成され得る。状況674は、事前割込スキーム676およびプライベートブロードキャストスキーム678に基づいてもよい。
【0166】
ブロック680が示すように、状況674は、ユーザCに関連している。状況674は、自宅に登録済みのすべてのデバイスのデバイス状況を含んでもよい。この例では、ブロック682に示すように、デバイスは、マイクロフォンと、スピーカーと、中型ディスプレイとを備える、共同で使用するスピーカー装置を含む。状況674よりも前の期間中ユーザC(および/またはその他のユーザ)がデバイス672を使用していなかったので、デバイス672の最近のアクティビティは追跡されたり表示されたりしなかった。ブロック686に示すように、進行中のアクティビティは、更新されて、ユーザが家を出る準備をしていることを表示する。
【0167】
ブロック688が示すように、状況674は、世帯構成、既知のデバイス、および世帯の状態に基づいてもよい。この例では、ユーザが外出する前にペットが必ず外に出されるようにユーザのモバイル機器(図示せず)にリマインダーが与えられてもよい。
【0168】
図7は、本明細書に記載の実施態様に係る、分散型アンビエントコンピューティングシステムを操作してデバイス状況を判断し、複数の電子機器間で共有する例示的な工程700のフローチャートである。工程700は、定められたユーザ環境にあるデバイスがタスクおよび状況を通信、共有、および実行することを保証し、ユーザがデバイスを介して関連性のある情報を確実に受信できるようにしてもよい。便宜上、システム200を例に工程700について説明し得る。いくつかの実施態様では、本開示の全体を通して説明するデバイスは、システム200内のその他のデバイスとして動作してもよい。たとえば、アシスタントデバイス112は、コンピューティングシステム202として動作し、システム202およびデバイス112の両方の構成要素を備えてもよい。
【0169】
ブロック702では、工程700は、コンピューティングデバイスが、1つの分散型アンビエントコンピューティングシステムとして構成された複数の別のデバイスを検出することを含む。いくつかの実施態様では、分散型アンビエントコンピューティングシステムを構成する複数のコンピューティングデバイス内のデバイスは、通信可能に連結されて、1つのデバイス上で様々なタスクを遂行してもよく、または、一部もしくはすべてデバイスの組合せを用いてもよい。どこかの時点で、システム200は、ユーザ権限(たとえば、ポリシーおよび権限252)がユーザによって受信または構成されたかどうかを判断して、本明細書に記載のデバイスおよび/またはコンピューティングデバイスに関連するデータの利用を許可してもよい。たとえば、ブロック705において、システム200は、権限の確認を行って、デバイスデータが使用できることを保証してもよい。権限の確認は1つのブロックでしか示されていないが、一部またはすべてのブロックにおいて権限が要求されて検証されてもよい。
【0170】
ブロック704では、工程700は、計算タスクを実行する要求をコンピューティングデバイスにおいて受信することを含む。たとえば、ユーザは、計算タスクを実行する要求を生成してもよい。この要求は、コマンド、質問、クエリ等として口頭で(または、コンピューティングデバイスを介して)提供されてもよい。いくつかの実施態様では、要求は、分散型アンビエントコンピューティングシステムが備える複数のコンピューティングデバイスのうち1つ以上のコンピューティングデバイスからの要求であってもよい。
【0171】
ブロック706では、工程700は、分散型アンビエントコンピューティングシステムから複数のデバイスのうち少なくとも2つのデバイスのデバイス状況を表すデータを取得することを含む。たとえば、データは、デバイス性能、事前構成された権限、デバイスの状態、デバイスの場所、ユーザ設定、ユーザ権限、時刻設定、デバイス性能、ユーザの位置、デバイスの場所、ユーザ環境の変化などの任意の組合せを含んでもよい。
【0172】
ブロック708では、工程700は、コンピューティングデバイスが、分散型アンビエントコンピューティングシステムの総合的状況を生成することを含む。総合的状況は、取得した少なくとも2つのデバイスのデバイス状況を組み合わせた状況を表し得、本明細書に記載の信号およびスキームに基づき得るおよび/または含み得る。いくつかの実施態様では、総合的状況は、分散型アンビエントコンピューティングシステムにある複数のデバイス、ならびに分散型アンビエントコンピューティングシステムに関連する場所、構造物、およびサービスを考慮してもよい。
【0173】
ブロック710では、工程700は、コンピューティングデバイスが、タスクおよび総合的状況に基づいて少なくとも1つの決定要求を生成して提供することを含む。たとえば、要求に応じて、システム200は、ユーザまたはデバイスから回答を得る決定要求を生成し得る。決定要求は、コンピューティングデバイスを介して別のコンピューティングデバイスに提供されてもよい。たとえば、第1のアシスタントコンピューティングデバイス(たとえば、ホームアシスタント)は、口頭でユーザに決定要求を提供してもよい。いくつかの実施態様では、アシスタントデバイスを代わりに生成して、ユーザに対応付けられた第2のコンピューティングデバイスにテキストメッセージを送信してもよい。ユーザは、要求に対する口頭応答、または応答を、第2のデバイス(または、分散型アンビエントコンピューティングシステム100で構成された別のデバイス)を介して提供してもよい。
【0174】
ブロック712では、工程700は、コンピューティングデバイスにおいて当該少なくとも1つの決定要求に対する応答を受信することを含む。たとえば、ユーザは、決定要求に対する応答を口頭で(または、コンピューティングデバイスを介して)送信してもよい。この応答は、システム200によって受信される。ある実施例では、計算タスクは、少なくとも2つのデバイス上でサービスを構成する要求であり得、データは、少なくとも2つのデバイスの各々のデバイスタイプおよびオペレーティングシステムを含み得る。総合的状況は、少なくとも2つのデバイスが利用可能であるかどうかについての表示を含み得る。少なくとも1つの決定要求は、これらの少なくとも2つのデバイス上で計算タスクが実行されるかどうかを示すクエリであり得る。ユーザまたはデバイスは、要求を確認、拒否、または決定のための別の返答を提供し得る。これらの少なくとも2つのデバイス上で計算タスクを実行するという確認を検出したことに応答して、当該システム200は、少なくとも2つのデバイスのサービスを構成(すなわち、計算タスクを実行)し得る。
【0175】
いくつかの実施態様では、本明細書に記載のシステムおよび方法は、上述したブロック710および/またはブロック712を遂行しなくてもよい。この代わりに、システムへの要求を検出および生成しているデバイスが、判断した分散型アンビエントコンピューティングシステムに関連する状況に従って要求される計算タスクを実行するために用いられる情報を決定してもよい。
【0176】
ブロック714では、工程700は、コンピューティングデバイスが、応答および総合的状況に基づいて計算タスクの実行をトリガすることを含む。たとえば、システム200は、応答および総合的状況を評価して、どのように計算タスクを実行するかを決定してもよい。
【0177】
いくつかの実施態様では、システム200は、1つの分散型アンビエントコンピューティングシステムとして構成された複数のコンピューティングデバイスの総合的状況を分散させてもよい。このように総合的状況を分散させることは、複数のデバイスのうち2つ以上のデバイス上での計算タスクの実行をトリガしてもよい。たとえば、ユーザが音楽を再生する要求をした場合、システム200は、複数のデバイスのうち2つ以上のデバイスを評価して、要求側デバイスの状況、およびシステム100にある残りのデバイスのうち1つ以上のデバイスについての総合的状況を判断してもよい。その後、システム200は、デバイスまたはデバイスのユーザに決定要求を提供して、回答を待ってもよい。受信された回答が、計算タスクを実行するかどうか、計算タスクをどのように実行するか、どのデバイスを利用して計算タスクを実行するかを決定してもよい。
【0178】
いくつかの実施態様では、これらの少なくとも2つのデバイスは、システム200によって、特定された各デバイスの物理的位置に基づいて選択される。たとえば、ユーザが要求する計算タスクがセキュリティシステムを構成することである場合、システム200は、世帯のスピーカー、および特定の建物内のスマートディスプレイがセキュリティシステムとして機能できると判断してもよい。2つのデバイスには相関関係があり、連携して機能して、セキュリティシステムと同様に部屋や自宅を監視してもよい。スピーカーは、家の所有者が不在の間に遂行されたイベントをスマートディスプレイが捉えているときにスマートディスプレイ動きを検出すると、窃盗を阻止するように機能してもよい。いくつかの実施態様では、たとえばデバイス性能、事前構成された権限、およびデバイスの場所に少なくとも基づいたデバイス状況に基づくデバイスの組合せが可能である。少なくとも2つのデバイスが連携して動作して計算タスクを実行すると判断したことに応答して、総合的状況を生成してもよい。
【0179】
いくつかの実施態様では、総合的状況は、分散型アンビエントコンピューティングシステムに対応付けられた事前構成された権限に従って、複数のデバイスがプライベートモードをトリガすることを可能にするよう構成される。プライベートモードは、各デバイスに対応付けられたコンテンツを難読化して、各デバイスに対応付けられた1つ以上の機能へのアクセスをブロックする事前構成された権限を呼び出すように構成されてもよい。
【0180】
いくつかの実施態様では、要求は、口頭による要求である。これに加えて、総合的状況は、分散型アンビエントコンピューティングシステムのために構成された複数のコンピューティングデバイスをさらに表し得る。このような例では、計算タスクは、複数のコンピューティングデバイスのうち2つ以上のコンピューティングデバイス上で完了させるために総合的状況に基づいて分散される。
【0181】
いくつかの実施態様では、分散型アンビエントコンピューティングシステムは、複数のコンピューティングデバイスに関連する建物のために構成される。たとえば、分散型アンビエントコンピューティングシステムは、建物のデジタルIDを提供してもよい。デジタルIDは、どのデバイスが利用可能であるか、どのデバイスが連携して機能しているか、どのサービスを特定のデバイスなどのために(または現在)構成できるかを確認するために使用することができる。
【0182】
図8A~
図8Bは、本明細書に記載の実施態様に係る、分散型コンピューティングシステムにおける世帯アカウントの例示的な要素を示すブロック図である。世帯アカウント261により、ユーザ(たとえば、世帯、借り主、オフィスなど)の建物は、たとえば世帯アカウントおよび分散型コンピューティングシステム200で構成されたデバイス間で情報を便利に共有できるようになる。
【0183】
図8Aに示すように、自宅802は、世帯アカウント261およびユーザ804に対応付けられていると図示されている。世帯アカウント261を用いて、ユーザ804を世帯グループとして構成してもよい。世帯グループには、自宅についてのサービスが提供されてもよい。世帯アカウント261は、自宅802に対応付けられた空間、インフラストラクチャ、およびデバイスに対する共通制御を提供してもよい。これに加えて、世帯アカウント261を用いて、デバイスごとの基本設定のレベルを上げたり、自宅802へのサービスのレベルを上げたりしてもよい。
【0184】
図8Bに示すように、メディア806、出費808、カレンダー810、ユーザーデータ812、およびストリーミングメディア814を含む(これらに限定されない)、共有リソースを有するユーザ804が示されている。ユーザ804は、世帯アカウント261を利用してリソースを共有してもよい。特に、世帯アカウント261のために構成された世帯グループは、デバイス間、タスク間、ユーザ間などの関係を評価および使用して、リソースがユーザ権限および世帯ポリシーに従って共有されることを保証する(自宅に登録済みのデバイスの)分散型コンピューティングシステムとして動作するプラットフォームを提供してもよい。
【0185】
図9は、本明細書に記載の実施態様に係る、アンビエントデバイスを利用する世帯内で様々なモードを提供することを示す図である。場所900は、範囲内に位置する任意の数のデバイスを含むように定められる。場所900内のデバイスは、たとえば場所900に対応付けられた特定の世帯の一員としての任意の数のユーザのために、システム200によって構成されてもよい。場所900を用いて分散型コンピューティングシステムを生成してもよい。場所900は、ユーザ環境であってもよく、ユーザ環境を表してもよい。ユーザ環境として、自宅、世帯、住宅、会社などが挙げられるが、これらに限定されない。
【0186】
図9に示すように、ハブ装置902は、ゲストモードでゲストを受け入れてもよい。ゲストモードでは、世帯は、自宅の取扱説明書、パスワードなどを提供しないで、訪問客を場所900まで受け入れてもよい。この代わりに、場所900が分散型コンピューティングシステムに対応付けられ得るので、システムは、ゲストに、特定のデバイスの利用、ユーザがゲストモード用に予めプロビジョニングしたサービスおよび/または接続を提供してもよい。たとえば、ユーザは、ゲストモバイル機器904上でWi-Fiネットワークを有効にし得るが、特定の接続デバイスが認識されなかった場合に、このようなネットワークに接続されている世帯のその他のデバイスにアラートを出してもよい。同様に、デバイス902は、ゲストモバイル機器904を介した照明装置906へのアクセスおよび制御をプロビジョニングしてもよい。ゲストデバイスにサービスおよび/またはデバイス使用を提供しつつも、世帯データがゲストデバイスに送信されていない、または代わりにゲストデバイスから見えないようにされているので、世帯のプライバシーが保護されるであろう。
【0187】
いくつかの実施態様では、場所900は、状況を用いて、ゲストにデータを非表示にしてもよい。このような状況は、プライバシーモードをトリガし得る。プライバシーモードは、場所900におけるサービスおよび/またはデバイスの同時または連続したマルチユーザ利用を可能にするための動的な認証を含み得る。これに加えて、特定のユーザにプライバシーモードを提供してもよい。これは、デバイスの配置および存在に基づいてリアルタイムで管理できる。たとえば、予定していたミーティングの間、世帯に訪問者がいる間、またはユーザが不在の場合、寝室にあるデバイスは、プライバシーモードをトリガする一方で、ダイニングエリアにあるデバイスは、すべてのデータではなく一部のデータを隠す別のプライバシーモードをトリガしてもよい。また、プライバシーモードは、場所900で生じる存在、関係およびアクティビティによって操られてもよい。
【0188】
図10Aは、世帯アカウントを使用して、ユーザ基本設定および世帯アカウントポリシーに基づいてデバスの挙動を予測する場合を示す。この例では、ユーザ(図示せず)は、自宅に到着したときにモバイル機器1002上で音楽を聴いている可能性がある。モバイル機器1002は、世帯アカウント261で構成され得る。世帯アカウント261は、ユーザごとに構成されたポリシー、および任意の数のユーザ状態またはデバイスの状態を有し得る。たとえば、世帯アカウント261は、ユーザ権限およびユーザカレンダーに従って、家族のなかで唯一ユーザが自宅に居ると判断するように構成され得る。ユーザは、ユーザが自宅に1人でいる場合用に世帯アカウント261で構成されたデバイスのポリシーを有してもよい。たとえば、特定のデバイスの音量レベルが、ユーザが、その他のユーザが自宅にいないときに音楽を楽しめるように、大音量レベルに設定されてもよい。たとえば別のユーザが自宅に入ってきた場合、変更するためにポリシーがトリガされてもよい。このようなポリシーは、デバイス権限、ユーザ権限、および/または自宅についてのその他のセキュリティ上安全な構成を用いてユーザによって構成される。
【0189】
図10Aに示すように、ブロック1004が示すように、世帯アカウント261は、ユーザAが自宅に到着すると判断する。アカウント261は、現在使用中のデバイスを格納し得る。この例では、ブロック1006が示すように、現在使用中のデバイスは、スピーカーと超小型ディスプレイが使用中のモバイル機器1002を含む。これに加えて、アカウント261は、分散型コンピューティングシステム200と連携して機能し、ブロック1008が示すように、世帯について最近のアクティビティがないと判断し、ブロック1010が示すように、ユーザAが現在音楽を聴いているという進行中のアクティビティをしていると判断してもよい。
【0190】
これに加えて、システム200は、世帯アカウント261に従って、どのデバイスが世帯に登録済みであるかについての情報、および/またはどのデバイスが世帯のために構成されているかについての情報を検索してもよい。この例では、世帯ブロック1012は、自宅についての構成、デバイス、および状態を示している。ここで、アシスタント、サーモスタット、煙検知器、モバイル機器、および第2のアシスタントが世帯に対して構成されている。これに加えて、システム200は、ユーザ権限に従って、自宅にいるユーザがユーザAであること、および権限ポリシーが構成済みであることを検出し得る。
【0191】
どこかの時点で、ユーザは自宅に入り、第2のアシスタントデバイス1014が収納されている寝室に向かって移動し得る。これに応じて、世帯アカウントポリシー、設定、および権限は、通知1016をトリガして、音楽を再生するタスクを、モバイル機器1002からアシスタントデバイス1014に転送することを要求し得る。たとえば、世帯アカウント261は、事前構成されたユーザ権限に従って、デバイス近接性データ1018、世帯データ1020、および状況を意識したマイクロフォンデータ1022にアクセスしてもよい。これらのデータ1018~1020により、世帯アカウント261が自宅状況、デバイス状況、デバイスの状態、ユーザ基本設定などへのアクセスを有することが保証できる。
【0192】
これに応じて、ユーザは、音楽を転送するという音楽通知の転送を選択し得る。いくつかの実施態様では、通知は、オーディブルであってもよく、ユーザは、デバイス間で音楽を再生するタスクを転送するか転送しないかのコマンドまたは応答を口に出すことによって応答してもよい。これに加えて、ユーザは、音楽のストリーミング元デバイスに応じてアシスタント1014またはモバイル機器1002を使用して、音楽キューおよびストリームの音声を制御し得る。
【0193】
図10Bを参照すると、ユーザは、自宅内を歩き続けてファミリールームにさしかかってもよい。この例では、分散型コンピューティングシステム200と連結された世帯アカウント261は、ユーザがアシスタント1024とともに部屋にいると判断し得る。したがって、ユーザが音楽を再生するタスクをモバイル機器1002からアシスタントデバイス1024に転送したいかどうかを確認する通信(たとえば、提案)がトリガされ得る。
【0194】
ユーザは、この提案を受け入れて、アシスタントデバイス1024上で音楽再生を開始する音楽タスクの転送を許可してもよい。アシスタントデバイスが視覚機能および音声機能を含むので、ミュージックビデオも、オーディオを伴うアシスタントデバイス1024上での実行をトリガし得る。その後、世帯アカウント261は、たとえば新しいデバイス(アシスタント1024)が自宅で動作するデバイスであることを反映するようにデバイスブロック1026を変更することによって、自宅の状況を更新し得る。
【0195】
図11は、に記載の技術とともに使用され得るコンピュータデバイス1100およびモバイルコンピュータデバイス1150の例を示す図である。コンピューティングデバイス1100は、ラップトップ、デスクトップ、タブレット端末、ワークステーション、PDA(携帯情報端末)、スマートデバイス、電化製品、電子センサーベースのデバイス、テレビ、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピューティングデバイスなど、様々な形態のデジタルコンピュータを表すよう意図される。コンピューティングデバイス1150は、PDA、携帯電話、スマートフォン、およびその他同様のコンピューティングデバイスなど、様々な形態のモバイル機器を表すよう意図される。本明細書に示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示に過ぎず、本明細書において説明および/またはクレームされた発明の実施態様を限定するものではない。
【0196】
コンピューティングデバイス1100は、プロセッサ1102と、メモリ1104と、記憶装置1106と、メモリ1104および高速拡張ポート1110に接続された高速インターフェース1108と、低速バス1114および記憶装置1106に接続された低速インターフェース1112とを備える。プロセッサ1102は、半導体ベースのプロセッサであり得る。メモリ1104は、半導体ベースのメモリであり得る。構成要素1102、1104、1106、1108、1110、および1112の各々は、様々なバスを用いて互いに接続されており、共通のマザーボード上に実装され得、またはその他の方法で適宜実装され得る。プロセッサ1102は、コンピューティングデバイス1100内で実行するための命令を処理できる。当該命令は、高速インターフェース1108に連結されたディスプレイ1116など、外付けの入出力装置上のGUIのためのグラフィック情報を表示するための、メモリ1104に格納されたまたは記憶装置1106上に格納された命令を含む。その他の実施態様では、複数のプロセッサおよび/または複数のバスが複数のメモリおよび複数種類のメモリとともに適宜利用され得る。また、(たとえば、サーババンク、ブレードサーバ群、または多重プロセッサシステムなどとしての)必要な動作の一部を各々が提供する複数のコンピューティングデバイス1100が接続され得る。
【0197】
メモリ1104は、コンピューティングデバイス1100内の情報を格納する。一実施態様では、メモリ1104は、1つまたは複数の揮発性記憶装置である。別の実施態様では、メモリ1104は、1つまたは複数の不揮発性記憶装置である。また、メモリ1104は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ読み取り可能な媒体であってもよい。一般に、コンピュータ読み取り可能な媒体は、非一時的なコンピュータ読み取り可能な媒体であってもよい。
【0198】
記憶装置1106は、コンピューティングデバイス1100用の大容量ストレージを提供できる。一実施態様では、記憶装置1106は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、もしくはテープ装置、フラッシュメモリもしくは他の同様の固体メモリ装置、または、ストレージエリアネットワークもしくはその他の構成に含まれるデバイスを含むデバイスのアレイなど、コンピュータ読み取り可能な媒体であってもよく、または、コンピュータ読み取り可能な媒体を含んでもよい。コンピュータプログラムプロダクトが情報担体に有形に含まれ得る。また、このコンピュータプログラムプロダクトも命令を含み得る。当該命令は、実行されると、上述した方法など、1つ以上の方法および/またはコンピュータにより実現される方法を実行する。情報担体は、メモリ1120、記憶装置1106、もしくはプロセッサ1102上のメモリなど、コンピュータ読み取り可能な媒体または機械読み取り可能な媒体である。
【0199】
高速コントローラ1108は、コンピューティングデバイス1100のための多くの帯域幅を必要とする動作を管理し、低速コントローラ1112は、より低い帯域幅の多くを必要とする動作を管理する。このような機能の割振りは、例示に過ぎない。一実施態様では、高速コントローラ1108は、メモリ1104、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ1116、および高速拡張ポート1110に連結される。高速拡張ポート1110は、様々な拡張カード(図示せず)を受け付け得る。この実施態様では、低速コントローラ1112は、記憶装置1106および低速拡張ポート1114に連結される。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet(登録商標))を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力装置、または、スイッチもしくはルーターなどのネットワーク装置に、たとえばネットワークアダプタを通じて連結され得る。
【0200】
コンピューティングデバイス1100は、図に示すような複数の異なる形態で実現されてもよい。たとえば、標準サーバ1120として実現されてもよく、このようなサーバ群で複数回実現されてもよい。また、ラックサーバシステム1124の一部として実現されてもよい。これに加えて、ラップトップコンピュータ1122など、コンピュータで実現されてもよい。これに代えて、コンピューティングデバイス1100の構成要素を、デバイス1150など、モバイル機器(図示せず)が備えるその他の構成要素と組み合わせてもよい。このようなデバイスの各々は、コンピューティングデバイス1100、1150のうちの1つ以上を含み得、システム全体が、互いに通信する複数のコンピューティングデバイス1100、1150から構成され得る。
【0201】
コンピューティングデバイス1150は、特に、プロセッサ1152と、メモリ1164と、ディスプレイ1154などの入出力装置と、通信インターフェース1166と、送受信器1168とを備える。マイクロドライブまたはその他の装置など、記憶装置がデバイス1150に設けられて、追加ストレージを提供してもよい。構成要素1150、1152、1164、1154、1166、および1168の各々は、様々なバスを用いて互いに接続されており、これらの構成要素のうちの一部は、共通のマザーボード上に実装さ得、またはその他の方法で適宜実装され得る。
【0202】
プロセッサ1152は、メモリ1164に格納された命令を含む命令をコンピューティングデバイス1150内で実行できる。プロセッサは、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサによって、たとえば、ユーザーインターフェースの制御、デバイス1150が実行するアプリケーションの制御、およびデバイス1150による無線通信の制御など、デバイス1150のその他の構成要素間の協調が可能になってもよい。
【0203】
プロセッサ1152は、ディスプレイ1154に連結された制御インターフェース1158および表示インターフェース556を通じてユーザと通信し得る。ディスプレイ1054は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、またはその他の適切なディスプレイ技術であり得る。表示インターフェース556は、ディスプレイ1154を駆動するための適切な回路を備えて、グラフィック情報およびその他の情報をユーザに提示し得る。制御インターフェース1158は、ユーザからコマンドを受信し、プロセッサ1152に実行を依頼するために当該コマンドを変換し得る。これに加えて、デバイス1150がその他のデバイスと近距離通信できるよう、プロセッサ1152と通信する外部インターフェース1162が設けられてもよい。外部インターフェース1162によって、いくつかの実施態様では、たとえば有線通信、その他の実施態様では、無線通信が可能になり得、また、複数のインターフェースが利用され得る。
【0204】
メモリ1164は、コンピューティングデバイス1150内の情報を格納する。メモリ1164は、1つまたは複数のコンピュータ読み取り可能な媒体、1つまたは複数の揮発性記憶装置、または、1つまたは複数の不揮発性記憶装置、のうちの1つ以上として実現され得る。また、拡張インターフェース1172を通してデバイス1150に拡張メモリ1174が提供および接続され得る。拡張インターフェース1172は、たとえば、SIMM(Single In Line Memory Module)カードインタフェースを含み得る。このような拡張メモリ1174は、デバイス1150のための追加の記憶空間を提供し得、または、デバイス1150のためのアプリケーションまたはその他の情報も格納し得る。具体的には、拡張メモリ1174は、上述した工程を遂行または補助するための命令を含み得、セキュリティ保護された情報も含み得る。よって、たとえば、デバイス1150のためのセキュリティモジュールとして拡張メモリ1174が提供され得、または、デバイス1150のセキュリティ保護された使用を可能にする命令が拡張メモリ1174にプログラムされ得る。これに加えて、ハッキングできない方法でSIMMカード上に識別情報を置くなど、セキュリティ保護されたアプリケーションがSIMMカードを介して追加情報とともに提供され得る。
【0205】
メモリは、たとえば、後述するフラッシュメモリおよび/またはNVRAMメモリを含み得る。一実施態様では、情報担体にコンピュータプログラムプロダクトが有形に含まれる。このコンピュータプログラムプロダクトは、命令を含む。当該命令は、実行されると、上述した方法など、1つ以上の方法を実行する。情報担体は、メモリ1164、拡張メモリ1174、またはプロセッサ1152上のメモリなど、コンピュータ読み取り可能な媒体または機械読み取り可能な媒体であり、たとえば、送受信器568または外部インターフェース1162を介して受信され得る。
【0206】
デバイス1150は、通信インターフェース1166を通して無線通信を行い得る。通信インターフェース1166は、必要であれば、デジタル信号処理回路を備え得る。通信インターフェース1166によって、とくに、GSM(登録商標)音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコル下の通信が可能になり得る。このような通信は、たとえば、高周波送受信器1168を通して生じ得る。これに加えて、Bluetooth、Wi-Fi、またはその他のこのような送受信器(図示せず)を用いるなどして、近距離通信が生じてもよい。これに加えて、GPS(Global Positioning System)受信機モジュール1170は、追加のナビゲーション関係または位置関係の無線データをデバイス1150に提供し得る。追加のナビゲーション関係または位置関係の無線データは、デバイス1150上で実行するアプリケーションによって適宜利用され得る。
【0207】
また、デバイス1150は、オーディオコーデック1160を用いて、音声による通信を行い得る。オーディオコーデック1160は、ユーザから音声情報を受け付け、使用可能なデジタル情報に変換し得る。同様に、オーディオコーデック1160は、たとえば、デバイス1150のハンドセットにおいて、スピーカーを通してなど、ユーザのために音を生成し得る。このような音は、音声電話通話からの音声を含んでもよく、録音音声(たとえば、音声メッセージ、音楽ファイルなど)を含み得、デバイス1150上で動作するアプリケーションによって生成された音も含み得る。
【0208】
コンピューティングデバイス1150は、図示したような複数の異なる形態で実現され得る。たとえば、携帯電話1180として実現され得る。また、スマートフォン1182、携帯情報端末、または他の同様のモバイル機器の一部として実現され得る。
【0209】
本明細書において説明したシステムおよび技術の様々な実施態様は、デジタル電子回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現できる。これらの様々な実施態様は、プログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムでの実装を含み得る。プログラム可能なシステムは、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置に連結されてデータおよび命令を送受信する特定用途プロセッサまたは汎用プロセッサであり得る、少なくとも1つのプログラム可能なプロセッサを含む。
【0210】
これらのコンピュータプログラム(モジュール、プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能なプロセッサ用の機械命令を含み、高レベルの手続き形言語および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ言語/機械言語で実現できる。本明細書において使用するとき、「機械読み取り可能な媒体」、「コンピュータ読み取り可能な媒体」という用語は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために用いられる任意のコンピュータプログラムプロダクト、装置、および/またはデバイス(たとえば、磁気ディスク、光学ディスク、メモリ、PLD(Programmable Logic Device))を指し、機械読み取り可能な信号として機械命令を受け付ける機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために用いられる任意の信号を指す。
【0211】
ユーザとのやり取りを可能にするために、本明細書に記載のシステムおよび技術は、ユーザに情報を表示するための表示装置(たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタもしくはLED(発光ダイオード))と、ユーザがコンピュータに入力を行えるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを備えたコンピュータ上に実装され得る。その他の種類のデバイスを使ってユーザとのやり取りを可能にすることもでき、たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響入力、音声入力、触覚入力など、任意の形式で受け付けられ得る。
【0212】
本明細書に記載のシステムおよび技術は、バックエンドコンポーネント(たとえば、データサーバ)を備えるコンピュータシステム、ミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を備えるコンピュータシステム、フロントエンドコンポーネント(たとえば、本明細書に記載のシステムならびに技術の実施態様とユーザがやり取りできるグラフィカルユーザーインターフェースもしくはウェブブラウザを有するクライアントコンピュータ)を備えるコンピュータシステム、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、フロントエンドコンポーネントの任意の組合せを備えるコンピュータシステムで実現され得る。システムのこれらのコンポーネントは、デジタルデータ通信(たとえば、通信ネットワーク)の任意の形式または媒体によって互いに接続され得る。通信ネットワークとして、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、およびインターネットなどが挙げられる。
【0213】
コンピュータシステムは、クライアントとサーバとを備え得る。クライアントとサーバとは、一般に、互いから離れた場所にあり、通常、通信ネットワークを通じてやり取りを行う。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し、かつ、クライアントとサーバとの関係にあることによって成り立つ。
【0214】
いくつかの実施形態を説明したが、本発明の趣旨および範囲から逸脱することなく、様々な変更がなされてもよいことが理解されるであろう。
【0215】
これに加えて、図示した論理フローは、所望の結果を実現するために、図示した特定の順序であったり、順番通りであったりする必要はない。これに加えて、説明したフローにその他のステップが設けられたり、ステップが排除されたりしてもよく、説明したシステムにその他の構成要素が追加されたり、削除されたりしてもよい。したがって、その他の実施形態も添付の特許請求の範囲に含まれる。
【0216】
上記の説明に加えて、本明細書に記載のシステム、プログラム、デバイス、ネットワーク、または機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行為または活動、職業、ユーザ基本設定、またはユーザの現在位置についての情報)を収集することが可能にされてもよいかどうかの選択、および行ってもよい時の選択、ならびにコンテンツまたは通知がサーバからユーザに送られてきてもよいかどうかの選択を行うことをユーザができるようにする制御部を、ユーザに与える。これに加えて、ユーザ情報が取り除かれるように、格納または使用される前に特定のデータを1つ以上の方法で処理してもよい。たとえば、ユーザについてのユーザ情報が特定できないようにユーザのIDを扱ったり、ユーザの特定の位置が特定できないように位置情報(たとえば、市、郵便番号、または州レベルなど)が取得されるユーザの地理的位置が一般化されたりしてもよい。よって、ユーザは、自身についてのどのような情報が収集されるのか、その情報がどのように利用されるのか、どのような情報がユーザに提供されるのかについて、自分の好きなようにすることができる。
【0217】
コンピュータシステム(たとえば、コンピューティングデバイス)は、ネットワーク上での通信用に採用されたRF(無線周波数)、MWF(マイクロ波周波数)、および/またはIRF(赤外線周波数)ワイヤレス通信技術およびプロトコルを含む既知のワイヤレス通信技術およびプロトコルを用いたネットワークサーバとの間で確立された通信リンクを経由してネットワーク上でネットワークサーバとワイヤレス通信を行うように構成されてもよい。
【0218】
本開示の態様によると、本明細書に記載の様々な技術の実施態様は、デジタル電子回路で、または、コンピュータハードウェアで、ファームウェアで、ソフトウェアで、もしくはそれらの組合せで実現され得る。実施態様は、データ処理装置(たとえば、プログラマブルプロセッサ、1つのコンピュータ、または複数のコンピュータ)によって処理されるために、または、このようなデータ処理装置の動作を制御するために、コンピュータプログラムプロダクト(たとえば、情報担体、機械読み取り可能な記憶装置、コンピュータ読み取り可能な媒体、有形のコンピュータ読み取り可能な媒体に有形に具体化されたコンピュータプログラム)として実装されてもよい。いくつかの実施態様では、実行されるとプロセッサに処理を実行させる命令を格納するように有形のコンピュータ読み取り可能な記憶媒体が構成されてもよい。上述のコンピュータプログラム(複数のコンピュータプログラム)など、コンピュータプログラムは、コンパイラ言語またはインタプリタ言語など、いかなる形式のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境において使用するのに適したその他の構成単位としてなど、いかなる形態でデプロイされてもよい。コンピュータプログラムは、1つコンピュータ、または、1つのサイトもしくは複数のサイトを跨いで分散されて通信ネットワークによって相互接続された複数のコンピュータ上で処理されるようにデプロイされてもよい。
【0219】
本明細書において説明した特定の構造および機能の詳細は、例示的な実施の形態を説明する目的のための典型例に過ぎない。しかしながら、これらの例示的な実施の形態は、多くの代替形態で具現化されてもよく、本明細書に記載の実施の形態にのみ限定されると解釈されるべきではない。
【0220】
本明細書において使用される用語は、特定の実施の形態を説明するためだけのものであり、これらの実施の形態を限定することを意図していない。本明細書において使用する場合、「a」、「an」、および「the」という単数形は、状況が明らかに他を示さない限り、複数形も含むことを意図する。さらに、「comprises」、「comprising」、「includes」、および/または「including」という用語は、本明細書において使用されるとき、記載した特徴、ステップ、動作、構成要素、および/またはコンポ―ネントの存在を具体的に挙げるが、1つ以上のその他の特徴、ステップ、動作、構成要素、コンポ―ネント、および/またはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
【0221】
一方の要素が他方の要素に「連結される」、「接続される」、または他方の要素に「応じて」、他方の要素の「上に設けられる」と言及される場合、当該一方の要素は、直接他方の要素に連結され得る、接続され得る、もしくは直接他方の要素に応じ得る、もしくは直接他方の要素の上に設けられ得る、または、中間要素が存在してもよい、と理解される。対照的に、一方の要素が他方の要素に「直接連結される」、「直接接続される」、他方の要素に「直接応じる」、または他方の要素「の上に直接設けられる」と言及される場合、中間要素は存在しない。本明細書において使用するとき、「および/または」という用語は、記載された関連する項目のうちの1つ以上の項目のいかなる組合せも含む。
【0222】
「真下」、「下」、「下方」、「上」、「情報」などの空間的相対語は、本明細書において、図示されているように、ある要素または特徴の、別の要素(複数可)または特徴(複数可)との関係を説明するために、説明の簡略化のために使用され得る。空間的相対語は、図示されている向きに加えて、使用中のデバイスの様々な向きや動作を含むと理解される。たとえば、図のデバイスがひっくり返された場合、その他の要素または特徴の「下」または「真下」であると説明されている要素は、当該その他の要素または特徴の「上」に向けられている。よって、「下」という用語は、上および下の両方の向きを含み得る。デバイスは、その他の方向に向けられてもよく(70度回転させるまたはその他の向きにする)、本明細書において使用されている空間的相対記述子は、それに従って解釈され得る。
【0223】
例示的な実施の形態の理想的と考える実施の形態(および中間構造)の概略図である断面図を参照してこれらの概念の例示的な実施の形態を本明細書に記載した。よって、たとえば製造技術および/または許容誤差の結果生じる、図の形状との違いは、想定内である。よって、記載の概念の例示的な実施の形態は、本明細書において示す領域の特定の形状に限定されると解釈されるべきではなく、たとえば製造の結果生じた形状の違いを含むと解釈されるべきである。したがって、図面に示す領域は、性質上、概略であって、それらの形状はデバイスのある領域の実際の形状を示す意図はなく、例示的な実施の形態の範囲を限定する意図はない。
【0224】
「第1の」、「第2の」などの用語は、様々な構成要素を説明するために本明細書において使用され得るが、これらの構成要素は、これらの用語によって限定されるべきではないと理解されたい。これらの用語は、1つの構成要素を別の構成要素と区別するために使われているにすぎない。よって、「第1の」要素は、本実施の形態の教示の範囲から逸脱することなく、「第2の」要素と呼ばれ得る。
【0225】
特段の定義がされない限り、本明細書において用いられる用語(技術用語および科学用語を含む)は、これらの概念が属する技術分野の当業者が共通して理解する同じ意味を持つ。一般的に使用される辞書で定義されているような用語は、関連技術および/または本明細書の文脈における意味と矛盾しない意味があると解釈されるべきであり、本明細書において明示的に定義されない限り、理想化したり大げさに形式ばった意味で解釈されたりすることはないことをさらに理解されたい。
【0226】
本明細書に記載したように、上述の実施態様の特定の特徴を例示したが、当業者であれば、今では多くの変形例、代替例、変更例、および均等物に想到するであろう。そのため、当然ながら、特許請求の範囲は、このような変形例および変更例を実施態様の範囲に包含するものとする。これらはほんの一例として提示されたに過ぎず、限定ではなく、形式および詳細に様々な変更がなされ得ることを理解されたい。本明細書に記載の装置および/または方法のいずれの部分も、相互排他的な組合せを除くあらゆる組合せに組み合わされ得る。本明細書に記載の実施態様は、記載の異なる実施態様の機能、構成要素、および/または特徴の様々な組み合わせならびに/もしくは部分的な組み合わせを含み得る。