(57)【特許請求の範囲】
【請求項１】
モバイルデバイスにおけるリマインダの提示をトリガするためのシステムにおいて：
前記モバイルデバイスのユーザに関連付けられるカレンダ情報を記憶するように構成された１つ以上のコンピュータ記憶媒体と；
前記ユーザに関連付けられるコンテキスト情報を収集するように構成された１つ以上の処理デバイスを備えるデータ収集コンポーネントと；
前記ユーザに関連付けられる前記コンテキスト情報を記憶するように構成された１つ以上のコンピュータ記憶媒体と；
推論エンジンであって、
前記モバイルデバイスのユーザに関連付けられるタスクを記述するイベントリマインダにアクセスし、ここで、前記イベントリマインダに記述される前記タスクは、特定の時間に関して定義されておらず、
前記タスクに関連付けられる個人を識別し、ここで、前記個人は前記ユーザ以外の人であり、
前記ユーザが前記個人の所定の近傍内にいるよう予測される将来時間を決定し、
前記ユーザへの提示のために前記リマインダをトリガする時間を決定し、ここで、前記リマインダをトリガする時間は、前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間に先立つ時間期間に生じる、
ように構成された１つ以上の処理デバイスを備える推論エンジンと；
前記リマインダをトリガする時間が発生したことを決定し、前記リマインダを前記ユーザに提示させるように構成された１つ以上の処理デバイスを備える、リマインダ表面化コンポーネントと；
を備える、システム。
【請求項２】
前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間を決定することは：
前記ユーザに関連付けられるカレンダ情報にアクセスし；
前記個人に関連付けられるカレンダ情報にアクセスし；
前記ユーザの前記カレンダ情報から第１位置及び第１時間に関連付けられる第１イベントを識別し；
前記個人の前記カレンダ情報から第２位置及び第２時間に関連付けられる第２イベントを識別し；
前記第１位置が前記第２位置の近傍内にあると決定し；
前記第１時間が前記第２時間の近傍内であると判定し；
前記第１イベントに関連付けられる時間又は前記第２イベントに関連付けられる時間を、前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間として識別する；
ことを備える、請求項１に記載のシステム。
【請求項３】
前記第１イベント及び前記第２イベントは相互に独立している、
請求項２に記載のシステム。
【請求項４】
前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間に先立つ前記時間期間を決定するために、前記推論エンジンは：
前記ユーザの現在位置を識別し；
前記ユーザが前記個人の前記所定の近傍内にいるよう予測される将来位置を識別し；
前記ユーザが前記現在位置から前記将来位置まで移動するよう予測されるルートを決定し；
前記現在位置から前記将来位置までの前記ルートに沿った移動時間量を決定し；
前記移動時間量に少なくとも部分的に基づいて、前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間に先立つ前記時間期間を決定する；
ように更に構成される、請求項１に記載のシステム。
【請求項５】
リマインダの提示をトリガする方法であって、当該方法は、１つ以上の処理デバイスによって実行され：
ユーザデバイスのユーザに関連付けられるタスクを記述するイベントリマインダにアクセスするステップであって、前記イベントリマインダで記述されるタスクは、特定の時間に関して定義されていないステップと；
前記タスクに関連付けられる個人を識別するステップであって、前記個人は前記ユーザ以外の人であるステップと；
前記ユーザが移動する予測ルートに沿ったポイントで前記ユーザが前記個人の所定の近傍内にいるよう予測される将来時間を決定するステップと；
前記ユーザへの提示のために前記リマインダをトリガする時間を決定するステップであって、前記リマインダをトリガする時間は、前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間に先立つ時間期間に生じるように決定される、ステップと；
前記リマインダをトリガする時間が発生したことを決定するステップと；
前記リマインダをトリガする時間が発生したという前記決定に基づいて、前記リマインダを前記ユーザに提示させるステップと；
を備える、方法。
【請求項６】
前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間を決定するステップは：
第１将来時間に前記ユーザが移動する予測ルートを決定するステップと；
第２将来時間における前記個人の予測位置を決定するステップと；
前記予測ルートに沿った前記ポイントが前記個人の前記予測位置の前記所定の近傍内にあることを決定するステップと；
前記個人が該個人の前記予測位置にいる間に前記ユーザが前記予測ルートに沿った前記ポイントに到達することになることを決定するステップと；
前記ユーザが前記予測ルートに沿った前記ポイントに到達するときに関連付けられる時間を、前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間として識別するステップと；
を備える、請求項５に記載の方法。
【請求項７】
前記第１将来時間に前記ユーザが移動する前記予測ルートを決定するステップは：前記ユーザに関連付けられるカレンダ情報；前記ユーザに関連付けられるユーザプロファイル情報；又は前記ユーザに関連付けられる１つ以上の過去の移動パターン；のうちの１つ以上に少なくとも部分的に基づく、
請求項６に記載の方法。
【請求項８】
前記第２将来時間における前記個人の前記予測位置を決定するステップは、前記個人に関連付けられるカレンダ情報；前記個人に関連付けられるユーザプロファイル情報；又は前記個人に関連付けられる1つ以上の過去の移動パターン；のうちの１つ以上に少なくとも部分的に基づく、
請求項６に記載の方法。
【請求項９】
前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間を決定するステップは：
前記ユーザの出発地を識別するステップと；
第１将来時間に前記ユーザが移動するよう予測される目的地を識別するステップと；
前記出発地から、前記ユーザが移動するよう予測される前記目的地までのルートを選択するステップであって、前記ルートは、第２将来時間に前記個人が位置するよう予測される場所を決定し、前記ルートに沿ったポイントが、前記個人が位置するよう予測される前記場所の所定の近傍内にあると決定することに基づいて選択される、ステップと；
前記選択されたルートを前記ユーザに提案するステップと；
前記ユーザが前記選択されたルートに沿った前記ポイントに到達するよう予想されるときに関連付けられる時間を、前記ユーザが前記個人の前記所定の近傍内にいるよう予測される前記将来時間として識別するステップと；
を備える、請求項５に記載の方法。
【請求項１０】
前記ユーザが移動するよう予測される前記目的地は、前記個人が位置するよう予測される前記場所とは独立である、
請求項９に記載の方法。
【請求項１１】
前記第１将来時間に前記ユーザが移動するよう予測されるルートを決定することは：
前記ユーザが現在移動しているルートを識別することと；
前記ユーザが移動することになる、現在のルートのうちの予測される残り部分を決定することと；
前記現在のルートのうちの前記予測される残り部分を、前記ユーザが前記第１将来時間に移動するよう予測される前記ルートとして識別することと、
を備える、請求項６に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
カレンダ及びスケジューリングアプリケーション及びサービスは、一般的に、ユーザのアクティビティ、タスク、仕事、アポイントメント、ミーティング及び他のタイプのイベントを編成して表示する。これらのアプリケーション及びサービスは、イベントの日時に基づいてユーザに提示されるイベントリマインダ又は通知を提供することもある。既存のサービスは、イベントの時間に、イベントの前のデフォルト期間に、あるいはユーザによって指定されたある期間にリマインダを提示又はトリガすることに限定されることがあり、ユーザに十分な事前通知を提供することもしないこともある。リマインダをトリガするためのいくつかのアプローチは、ジオフェンシング（geofencing）及び／又はリマインダに関連付けられる個人との通信を検出することに基づいている。
【発明の概要】
【０００２】
この発明の概要は、下記の詳細な説明において更に説明される概念の選択を簡略化した形で紹介するために提供される。この発明の概要は、特許請求に係る主題の主要な特徴又は本質的な特徴を特定するようには意図されておらず、特許請求に係る主題の範囲を画定する際の助けとして用いられるようにも意図されていない。
【０００３】
様々な実施形態では、コンテキスト情報に基づいて、関連する時間にユーザへのイベントリマインダ又は通知をトリガするためのシステム、方法及びコンピュータ記憶媒体が提供される。リマインダは、カレンダ情報、ユーザプロファイル情報、及び／又は頻繁に訪問される場所や頻繁に移動されるルート、移動時間、ミーティング参加者、別の個人に対する近傍度（proximity）等といった１つ以上の条件のような情報に基づいてトリガされてよい。一実施形態では、リマインダに関連付けられる他の個人を識別し、ユーザが当該他の個人の近傍内にいることが期待される将来時間（future  time）を予測する。リマインダをトリガする時間は、ユーザが他の個人の近傍内にいることが期待される時間に先立つ幾らかの時間に基づいてよい。
【図面の簡単な説明】
【０００４】
本発明は、添付の図面に関連して以下で詳細に説明される。
【０００５】
【図１】本発明の実施形態での使用に適した例示の動作環境を示す図である。
【０００６】
【図２】本発明の実施形態での使用に適したリマインダの提示をトリガする例示の方法のフローチャートである。
【０００７】
【図３】本発明の実施形態での使用に適したリマインダの提示をトリガする例示の方法のフローチャートである。
【０００８】
【図４】本発明の実施形態での使用に適したリマインダの提示をトリガする例示のシステムを示す図である。
【０００９】
【図５】本発明の実施形態での使用に適したリマインダの提示をトリガする例示のシステムを示す図である。
【発明を実施するための形態】
【００１０】
関連付けられるイベント又はタスクに先立ってユーザデバイスにおけるイベントリマインダ又は通知をトリガすることは、イベント又はタスクのために必要とされ得るどのような準備も行い、かつ／又は移動するために十分な時間をユーザに提供することができる。コンテキスト情報を利用して、通知をどのくらい前に表面化（surface）するべきか又はトリガするべきかを決定することができる。イベントに関するコンテキスト情報は、頻繁に訪問される場所、頻繁に移動されるルート、イベントに関連付けられる場所、ユーザに関連付けられる個人、ユーザに関連付けられる場所及びユーザの現在の場所といったユーザプロファイル情報から決定されてよい。また、イベントに関するコンテキスト情報は、ユーザのカレンダ内の他の情報及び／又は別のユーザのカレンダからの情報から決定されてもよい。一実施形態では、コンテキスト情報を、リマインダに関連付けられるデータ又はパラメータとの組合せで使用して、リマインダを表面化するための関連時間（relevant  time）を決定する。関連時間は、イベントに先立って十分長い時間を含んでよく、そのような時間は、ユーザが現在の場所からイベントに移動し、イベントが起こるようスケジュールされる時間までに（又はその前に）到着することを可能にする。関連時間は、特定の時間に結び付けられないイベント等のように、イベントが起こることを可能にする状況の予測される同時発生（predicted  confluence  of  circumstances）に先立つ時間を含んでよい。
【００１１】
本明細書で使用されるとき、用語「イベント」は、事件、出来事、計画された行事、実行すべきタスク、リマインドされるべき情報等を含む。したがって、限定ではなく例として、イベントは、ミーティング、用事、課題（assignments）、特別な行事、及び一般にユーザがリマインドされることを望む又は必要とするものを含む。一部のイベントは、特有の日時に特定の会議室における同僚との作業ミーティング等のように、特有の場所、時間（times）、及び／又は個人と関連付けられてよい。しかしながら、イベントは、特定の場所、時間又は個人に関連付ける必要はない。例えば「今日仕事から家に帰る途中でミルクを購入する」というタスクは、特定の食料品店を指定せず、（ユーザ以外の）個人に関連付けられていない。「１２番街の図書館からガーデニングに関する本を借りる」というタスクは、特定の日付、時間、個人を指定しない。「フレッドに借りた５ドルを彼に返す」というタスクは、特有の日付又は場所を指定しない。一部の実施形態は、イベントが特有の場所、日付又は時間に結び付けられているかどうかに関わらず、イベントの通知をトリガする関連時間を決定する。
【００１２】
本発明の一部の実施形態によれば、イベントリマインダデータを分析して、リマインダ／イベントに関連付けられる（ユーザ以外の）個人を識別する。イベントリマインダデータは、場所、日付、時間、主題（subject）、他のユーザ又は個人への参照等のように、リマインダを構成するために使用されるパラメータを含んでよい。別のユーザ又は個人は、ユーザに関するコンテキスト情報とともに、リマインダデータ内の記述的用語又は名前に基づいて識別されてもよい。ユーザに関連付けられるコンテキスト情報に基づいて、ユーザがリマインダに関連付けられる個人の近傍内にいることが予測される又は期待される将来時間が決定される。コンテキスト情報は、カレンダ情報、スケジュールされたイベント、他のリマインダ、ユーザによって過去に移動された既知のルート、ユーザによって過去に訪問された既知の場所等といった情報を含んでよい。一実施形態では、ユーザのカレンダデータ内の特有のイベントに基づいて、ユーザがリマインダに関連付けられる個人の近傍内にいるよう予測される又は期待される将来時間が決定される。例えば、ユーザのカレンダデータが他の個人に関連付けられる第２イベントを含む場合、第２イベントのスケジュールされた時間が、ユーザが個人の近傍内にいるよう予測される将来時間である。例えば第２イベントは、他の個人との計画されたディナーであってよい。あるいは、ユーザが個人の近傍内にいるよう予測される将来時間は、ユーザのカレンダ情報（及び／又は他のコンテキスト情報）と他の個人のカレンダ情報（及び／又はコンテキスト情報）の双方からの情報に基づいてもよい。一実施形態では、他の個人のカレンダ及び／又はコンテキストデータを利用して、その個人が、ユーザのカレンダ及び／又はコンテキストデータから決定されるユーザの将来位置と、同じ位置（又は近くの位置）にいることを決定してもよい。ユーザには、特定の他のユーザとイベントを調整する目的のために、カレンダ情報及び／又はコンテキスト情報の他の部分にアクセスすることを可能にするオプションが提供されてもよい。本明細書で使用されるとき、近傍（proximity）という用語は、閾値内にある距離及び／又は移動時間の量を指し、閾値は、タスク、イベント等を達成するのにユーザが移動することを提案するために許容可能な距離又は移動時間の量として指定される。例えばユーザが別の個人に関連するタスク（例えばジョーに２０ドル払う）を実行する必要がある場合、近傍の閾値は５分の移動時間であり、ユーザが特定の場所にいるときにユーザと他の個人が互いに徒歩５分（又は車で５分）以内であるという予測が行われ、次いで、その特定の場所にいる間にタスクを実行することができるというリマインダ又は提案をユーザに提示することが許容される。
【００１３】
一実施形態において、トリガ時間、すなわちリマインダをトリガするための先行時間（advance  time）が決定され、決定されたトリガ時間に基づいてリマインダがトリガされる。トリガ時間は、第２イベントの場所に到達するのに必要とされる移動時間の量に基づいて決定されてよい。例えばユーザの出発地（starting  location）が予測されてよく、開始位置から第２イベントの場所まで予測ルートを決定してもよい。移動時間は、ルートに沿った距離、速度制限、交通パターン、気象条件等のような要因に基づいて決定されてもよい。一実施形態では、トリガ時間は、ジオフェンスに少なくとも部分的に基づいて決定されてもよく、例えばリマインダは、ユーザが特定の場所を離れるか、特定の場所（例えば職場、家、店等）に到着するときにトリガされてよく、あるいはユーザが特定の場所から離れるか特定の場所に到着する前又は後の、幾らかの決定された時間量（amount  of  time）にトリガされてもよい。決定された時間量は、移動時間及び／又は上記の他の要因のいずれかに基づいて決定されてもよい。
【００１４】
一実施形態において、リマインダは、ユーザインタフェース内の特定の場所又はページに提示される。例えばユーザインタフェースは、「ホーム」ページ又は「知る必要がある（need  to  know）」セクション、又はユーザが、表面化された未解決のリマインダを見ることができる、ユーザインタフェースの他の指定部分を有することができる。したがって、リマインダがトリガされると、リマインダは、ユーザが選択したときに見ることができるユーザインタフェースの指定部分に配置されてよい。加えて、ユーザが後でユーザインタフェースの指定部分に戻った場合にリマインダが依然として提示されているように、リマインダは、ユーザインタフェースのその位置に、ある時間期間の間、存続してもよい。一実施形態では、ユーザは、リマインダがユーザインタフェースの指定部分に配置されたことを通知されず、リマインダがそこに配置されているかどうかを判断するためにインタフェースのその部分を見なければならない。別の実施形態では、ユーザは、リマインダがユーザインタフェースの指定部分に配置されたことを示す、可聴音、振動又はポップアップメッセージ等のような通知を受け取ってもよい。一部の実施形態では、リマインダは、ユーザインタフェースの指定部分にリマインダを配置する代わりに又はこれに加えて、ユーザがユーザインタフェースの他の部分を見ているときにユーザに直接提示される。例えばリマインダは、ポップアップメッセージ、ダイアログボックス又は他のタイプの非送信請求メッセージとして提示されてもよい。リマインダは、ユーザがデバイスを能動的に見ているかどうかに関わらず提示されてよく、可聴音又は振動を利用して、リマインダを見るためにユーザの注意を引くことができる。
【００１５】
第１の側面では、リマインダの提示をトリガする方法が提供される。この方法は、ユーザデバイスのユーザに関連付けられるイベントを記述するリマインダにアクセスすることを含む。ユーザ以外の第１イベントに関連付けられる個人を識別する。ユーザが個人の近傍内にいる将来時間を予測する。ユーザへの提示のためにリマインダをトリガする時間は、ユーザが個人に近傍内にいることが予測される将来時間よりも前にリマインダをトリガする時間が生じるように決定される。リマインダをトリガする時間が発生したという決定が行われ、その決定に基づいて、ユーザに提示されるようリマインダがトリガされる。
【００１６】
第２の側面では、カレンダイベントのリマインダの提示をトリガするためのシステムが提供される。このシステムは、１つ以上のコンピューティングデバイスと、ユーザデバイスのユーザに関連付けられるカレンダ情報を記憶するように構成されるデータストレージを含む。システムは、ユーザに関連付けられるコンテキスト情報を収集するように構成されるデータ収集コンポーネントと、コンテキスト情報を記憶するように構成されるデータストレージも含む。また、システムには、ユーザデバイスのユーザに関連付けられるイベントを記述するイベントリマインダにアクセスし、ユーザ以外のイベントに関連付けられる個人を識別し、ユーザが個人の所定の近傍内にいることが予測される将来時間を決定し、ユーザが個人の所定の近傍内にいることが予測される将来時間に先立つ時間期間にトリガ時間が生じるように、ユーザへの提示のためにリマインダをトリガする時間を決定するように構成される推論エンジンも含まれる。システムはまた、リマインダをトリガする時間が発生したことを決定し、ユーザに提示されるようリマインダをトリガするリマインダ表面化コンポーネント（reminder  surfacing  component）も含む。
【００１７】
第３の側面では、カレンダイベントのリマインダの提示をトリガする方法が提供される。ユーザデバイスのユーザに関連付けられるイベントを記述するイベントリマインダにアクセスする。ユーザ以外のイベントに関連付けられる個人を識別する。ユーザが移動するよう予測されるルートに沿ったポイントで、ユーザが個人の所定の近傍内にいる将来時間が予測される。ユーザへの提示のためにリマインダをトリガする時間は、ユーザが個人の所定の近傍内にいることが予測される将来時間に先行する時間期間に、そのリマインダをトリガする時間が生じるように決定される。リマインダをトリガする時間が発生したという決定が行われ、ユーザに提示されるようリマインダがトリガされる。
【００１８】
最初に特に図２を参照すると、フローチャートは、本発明の一実施形態で使用するのに適したリマインダの提示をトリガする例示の方法を示しており、一般に方法２００として参照される。方法２００は、１つの適切な方法の一例にすぎず、本発明の使用又は機能の範囲に関していかなる限定も示唆するように意図されていない。また、方法２００は、ここに示されるいずれかの単一の構成要素又は構成要素の組合せに関連するいずれかの依存性又は要件を有するものとしても解釈されるべきではない。
【００１９】
ステップ２１０において、ユーザデバイスのユーザに関連付けられるイベントを記述するリマインダがアクセスされる。ユーザデバイスは、図１に関して以下で説明されるコンピューティングデバイス１００と同様のユーザデバイスであってよい。リマインダは、タスク、出来事、集まり（gathering）、特別な行事、ミーティング、場所、日付、時間、１人以上の他の個人等のように、イベントに関する情報を含んでよい。リマインダは、カレンダリングアプリケーション、スケジューリングアプリケーション又はリマインダを記憶して利用する他のタイプのアプリケーションの一部として、ユーザデバイス上のメモリに記憶されてよい。あるいは、リマインダは、ユーザデバイスと通信し、かつ複数のユーザデバイスのついてのリマインダを管理するネットワークサーバの上のように、リモートに記憶されてもよい。ユーザに提示されるリマインダの例としては、「今夜仕事の後にAcme食料雑貨店でミルクを購入する」、「２０１５年６月４日午後２時に会議室１５でサム及びトムと会う」、「ジョーに借りた２０ドルを彼に払う」等を含んでよい。一実施形態では、リマインダは、特有の個人、特有の場所又は特有の日／時に関連付けられる必要はない。
【００２０】
ステップ２１２において、イベントに関連付けられる（ユーザ以外の）個人を識別する。上記の例示のリマインダでは、サムとトムはミーティングリマインダに関連付けられている個人であり、ジョーは借金を返済するリマインダに関連付けられる個人である。これらの２つのリマインダの間の１つの違いは、ミーティングリマインダが場所及び日／時に関連付けられているのに対し、借金を返済するリマインダは場所又は時間のいずれにも関連付けられていないことである。様々な方法で個人を識別することができる。識別語又は名前（例えば「ジョー」、「トム・スミス」、「子供達」等）に基づいて、ユーザに関連付けられるユーザプロファイルから個人を識別することができる。ユーザプロファイルは、ユーザに関するコンテキスト情報を記憶する。個人を識別する際に役立つ可能性があるコンテキスト情報の例は、家族のメンバ、友人、同僚及び一般的にユーザに関連付けられるいずれかの人々の指示を含み、ユーザがその個人に対して有する関係及び関連付けのタイプの指示も含むことができる。一実施形態において、ユーザは、特定の個人を、当該ユーザに関連付けられる「インナーサークル（inner  circle）」のメンバとして指定してもよい。インナーサークルのメンバには、リマインダを表面化させるときに利用され得る様々な優先レベルを割り当てることができる。例えばユーザの配偶者は、インナーサークルのメンバとして指定されてよく、一方、ユーザの不動産業者は、そうではない可能性がある。その場合、配偶者に関連付けられるリマインダと不動産業者に関連付けられるリマインダの双方が表面化されるとき、配偶者に関連付けられるリマインダは、配偶者がユーザのインナーサークルであるという指定に起因して、不動産業者に対する配偶者の優先順位に基づいて、より顕著にハイライトされるか他の方法で強調して提示されてよい。同様に、配偶者と友人の双方がユーザのインナーサークルに含まれてもよいが、ユーザは、配偶者が友人よりも高い優先順位を有するように指定することができる。したがって、配偶者に関連付けられるリマインダは、双方がインナーサークルにある場合であっても、各々に割り当てられる優先順位に基づいて、友人に関連付けられるリマインダよりも強調されることになる。ユーザが優先順位をつけることを好む可能性がある個人の他の例には、子供、他の家族のメンバ、仕事の監督者等が含まれる。
【００２１】
ステップ２１４において、ユーザが、リマインダに関連付けられる個人の近傍内にいることが予測される将来時間が決定される。将来時間は、ユーザに関連付けられるコンテキスト情報に基づいて決定されてよい。コンテキスト情報は、カレンダ情報、スケジュールされたイベント、他のリマインダ、ユーザによって過去に移動された既知のルート及び／又はそれらのルートが移動された回数（times）、ユーザによって過去に訪問された既知の場所及び／又はそれらの場所が訪問された回数等のような情報を含んでよい。同様に、他の個人に関する既知の情報を使用して、他の個人の場所を予測することができる。そのような情報は、（１）他の個人の個人情報へのアクセスを必要とせずに、ユーザのコンテキスト情報内でわかる情報（例えばその個人を含むカレンダ招待状、その個人の家の場所、その個人の仕事場所等）；（２）他の個人の個人情報へのアクセスを必要とする情報（例えばカレンダ情報、リマインダ、その個人のモバイルデバイスからの現在のGPS等）の双方を含んでよい。他の個人の個人情報は、当該他の個人によって与えられる許可に基づいてアクセス可能とすることができる。一実施形態において、許可は、他の個人のインナーサークル内にあるように、一方又は双方の個人の指定に基づいて付与されてよい。他の個人に対するユーザの近傍は、直線距離、あるいは通りや歩道等のルートに沿った距離のような、ユーザと他の個人との間の距離に基づいて決定されてもよい。距離は必ずしも、典型的な測定単位（例えばマイル、フィート等）に基づいて決定される必要はなく、ユーザと個人が同じ建物内であるかどうか、互いの特定の数の建物内であるかどうか等にも基づいて決定されてよい。近傍は、ユーザと個人との間の移動時間の量、例えば歩行時間、運転時間又は他の輸送時間の量に基づいてもよい。
【００２２】
一実施形態において、将来時間は、ユーザのカレンダ情報に基づいて決定される。同じ個人に関連付けられ、将来時間にスケジュールされる第２イベントが識別される。したがって、第２イベントのスケジュールされた時間は、ユーザが個人の近傍内にいることが予測される将来時間として識別される。例えばリマインダが「ジョーに借りた２０ドルを彼に払う」であると想定する。ユーザのカレンダ情報にアクセスすると、「ラケットボールのために次の土曜日の午後３時にジョーに会う」という別のイベントが識別される可能性がある。したがって、次の土曜日の午後３時が、ユーザがジョーの近傍内にいることが予測される将来時間として識別されてよく、これは借金を返済する適切な時間であろう。第２イベントは、第１イベントとは別個のイベントであってよい。例えば上記の例では、「ラケットボールのために次の土曜日の午後３時にジョーに会う」と「ジョーに借りた２０ドルを彼に払う」は、ユーザのカレンダ／リマインダ情報では別個の無関係なイベントとして記憶されてよい。したがって、２つのイベントは互いに独立している、すなわち、いずれか一方のイベントが他方なしに生じてよく、同時に又は同じ場所で生じることは特に必要とされない。
【００２３】
上記の例では、「ジョーに借りた２０ドルを彼に払う」というリマインダは、特定の場所又は時間に関連付けられておらず、例えば特有の場所又は時間に行われるようにスケジュールされていない。しかしながら、一実施形態では、リマインダが特有の時間及び／又は場所に関連付けられている場合であっても、異なる時間及び／又は場所が、タスク／イベントを実行するための適切な時間として決定されてよく、ユーザに提案されてよい。例えば「ジョーに借りた２０ドルを次の日曜日に教会で彼に払う」というリマインダを想定する。ユーザのカレンダ情報から、「ラケットボールのために次の土曜日の午後３時にジョーと会う」という第２イベントが、ジョーを返済するためのより早い機会として識別されてよく、ラケットボールゲームの前にリマインダが表面化され得る。
【００２４】
ステップ２１６において、ユーザへの提示のためにリマインダをトリガする関連時間を決定する。関連時間は、第２イベントの前に先立って、ユーザが、リマインダに関連付けられる全てのタスク又は準備を達成するために必要とされ得るあらゆるアクションをとるためにかかる時間を持つのに十分に長い時間とすることができる。リマインダをトリガする時間は特有の時間であってよく、あるいはユーザが特定の場所から離れる又は特定の場所に到着するとき等のように、ジオフェンスに基づいてもよい。一実施形態では、ユーザが予測された将来時間に個人の近傍内にいる、ユーザの将来位置が予測される。ユーザの出発地が識別され、ユーザが出発地から将来位置まで移動するルートが予測される。出発地から将来位置までの予測ルートに沿った必要な移動時間の量を決定することができ、また、リマインダをトリガする時間を、必要な移動時間の量に少なくとも部分的に基づいて決定することができる。例えばユーザが来週の土曜日にジョーと会う前は家にいる場合、ラケットボールゲームへ２０ドルを持って行くようユーザがリマインドされるように、ジョーが家を出る前に関連するリマインダがトリガされる。スケジュールされたイベントに先行するユーザの位置は、ユーザの携帯電話から収集される情報、全地球測位システム（GPS）又は特定の場所におけるユーザの存在の他の指示に基づいて決定されてよい。また、ユーザの場所は、ユーザのコンテキスト情報の一部として記憶される過去の移動又は訪問パターンに基づいて予測されてもよい。例えばコンテキスト情報からユーザがいつも（又は典型的に）毎週土曜日の午後２時に特定のコーヒーショップに訪問するという決定が行われた場合、そのコーヒーショップはその土曜日の午後２時におけるそのユーザの現在の場所であると予測されてよい。リマインダをトリガする関連時間は、必要な場合にユーザが現金を得るために現地のATMに訪問する（又は家に戻る）ことができ、かつ依然として時間通りにラケットボールゲームに到着できるようにするのに十分に早い時間であってよい。
【００２５】
一実施形態において、出発地は、ユーザの現在位置として予測又は識別される。別の実施形態では、上述のように、出発地は、ユーザの予測将来位置に基づいて識別される。例えばユーザのユーザプロファイルデータにアクセスして、ユーザの過去の移動パターンを識別し、ユーザが頻繁に訪問した１つ以上の場所を識別することができる。一実施形態では、ユーザが同じ曜日の同じくらいの時間に過去に訪問していた１つ以上の場所、あるいはユーザが個人の近傍内にいることが予測される場所へ訪問する前に過去に訪問したことがある１つ以上の場所を識別することができる。最もあり得る出発地は、過去に訪問された場所の各々に関連付けられる確率又は信頼性スコアに基づいて、過去に訪問された場所から決定されてよい。したがって、ユーザが個人の近傍内にいる時間に先立つユーザの予測将来位置が、ユーザの出発地として識別される。
【００２６】
一実施形態では、ユーザが出発地から将来位置へ移動するルートを予測することは、ユーザに関連付けられるユーザプロファイルデータにアクセスすることと、出発地から将来位置までユーザが過去に移動したことがある１つ以上のルートを識別することを含む。最もあり得るルートは、過去に移動したルートの各々に関連付けられる確率又は信頼性スコアに基づいて、ユーザが過去に移動したルートから決定されてよい。したがって、最もあり得るルートが、ユーザが出発地から将来位置へ移動する予測ルートとして識別される。
【００２７】
ステップ２１８において、例えば現在の時間と特定の所定の時間との間の対応関係に基づいて、あるいはユーザの現在の位置とジオフェンスとの対応関係に基づいて、リマインダをトリガする時間が発生したという決定を行う。例えばトリガ時間は、コーヒーショップにおけるユーザの位置に基づき、最も近いATMへの移動時間とATMからラケットボールコートまでの移動時間を考慮して、午後２時３０分とすることができる。ステップ２２０において、トリガ時間が発生すると、ユーザに提示されるようリマインダがトリガされる。一実施形態では、リマインダがトリガされると、リマインダは、ユーザが個人に近傍内にいることなる時間に先行する、ある期間にわたって持続するように構成される。一実施形態では、ユーザが複数のユーザデバイスを有するとき、そのリマインダは、これらのユーザデバイスのいずれか又は全てで表面化されてよい。ユーザがスマートフォンとタブレットデバイスを持っている場合、リマインダはその双方の上で表面化してもよい。一実施形態において、リマインダは、現在使用中のデバイスの上で表面化されてよい。あるいは、リマインダは、該リマインダに又はユーザデバイスに関連付けられる１つ以上のユーザの好みに基づいて、特定のデバイスの上で表面化されてよい。
【００２８】
図３を参照すると、フローチャートは、本発明の実施形態での使用に適したリマインダの提示をトリガする例示の方法を示し、一般に方法３００として参照される。方法３００は、１つの適切な方法の一例にすぎず、本発明の使用又は機能の範囲に関していかなる限定も示唆するようには意図されていない。また、方法３００は、そこに示されている単一の構成要素又は構成要素の組合せに関していずれかの依存性又は要件を有するようにも解釈されるべきではない。
【００２９】
ステップ３１０において、ユーザデバイスのユーザに関連付けられるイベントを記述するリマインダがアクセスされる。ユーザデバイスは、図１に関して以下で説明されるコンピューティングデバイス１００と同様であってもよい。リマインダは、ユーザデバイスのユーザと何らかの形で関連付けられるイベントを記述しており、ユーザにイベントをリマインドするために、ある時点でユーザデバイスの上に提示されるように構成される。リマインダは、タスク、出来事、集まり、ミーティング、特別な行事、場所、日付、時間、リマインダに関連付けられる１人以上の他の個人等のように、イベントに関する情報を含んでよい。一部の実施形態では、リマインダは、個人、場所又は特定の日時に関連付けられる必要はない。リマインダは、ユーザデバイスに記憶されてよく、あるいはクラウド内や、ユーザデバイスと通信し、かつ複数のユーザデバイスのリマインダを管理するネットワークサーバの上のように、リモートに格納されてもよい。ユーザに提示されるリマインダの例としては、「ポールに四半期報告書を送付する」、「Acme衣類店でジャケットを購入する」、「ジョーに借りた２０ドルを彼に払う」等が含まれる可能性がある。
【００３０】
ステップ３１２において、イベントに関連付けられる（ユーザ以外の）個人が識別される。上記のリマインダの例では、ポールは四半期報告書の送付に関連付けられる個人であり、ジョーは借金の返済に関連付けられる個人である。ジャケットの購入に関連付けられるユーザ以外の個人は存在しない。一部の実施形態では、リマインダは、特定の個人、場所又は日付／時刻に関連付けられる必要はない。個人は様々な方法で識別されてよい。識別語又は名前（例えば「ポール」、「妻」、「子供達」等）に基づいて、個人は、ユーザに関するコンテキスト情報を記憶する、ユーザに関連付けられるユーザプロファイルから識別されてよい。個人を識別するのに役立つ可能性があるコンテキスト情報の例には、家族メンバのリスト、友人、同僚、そのユーザに関連付けられる一般のいずれかの人々、及びユーザとの関係性又は関連付けの指示が含まれる。
【００３１】
ステップ３１４において、ユーザが移動することになる予測ルートに沿ったポイントで、そのユーザが個人の所定の近傍内にいることが予測される将来時間が決定される。個人の近傍は、予測ルートに沿ったポイントとその個人との間の距離、例えば直線距離、あるいは通りや歩道等のルートに沿った距離に基づいて決定されてよい。近傍は、予測ルートに沿ったポイントと個人との間の移動時間の量、例えば歩行時間、運転時間又は他の輸送時間の量に基づいてもよい。一実施形態では、近傍は、他の個人と会うために、予測ルートから逸脱するのに必要とされる距離及び／又は移動時間の量に基づいて決定される。
【００３２】
将来時間は、ユーザに関連付けられるコンテキスト情報に基づいて決定されてよい。コンテキスト情報は、カレンダ情報、スケジュールされたイベント、他のリマインダ、ユーザによって過去に移動された既知のルート及び／又はこれらのルートが移動された回数、ユーザによって過去に訪問された既知の場所及び／又はこれらの場所が訪問された回数等のような情報を含んでよい。同様に、他の個人に関する既知の情報を使用して、他の個人の場所を予測することができる。この情報は、（１）他の個人の個人情報へのアクセスを必要とせずに、ユーザのコンテキスト情報内でわかる情報（例えばその個人を含むカレンダ招待状、その個人の家の場所、その個人の仕事場所等）；（２）他の個人の個人情報へのアクセスを必要とする情報（例えばカレンダ情報、リマインダ、その個人のモバイルデバイスからの現在のGPS等）の双方を含んでよい。他の個人の個人情報は、当該他の個人によって与えられる許可に基づいてアクセス可能とすることができる。
【００３３】
一例として、リマインダが「ジョーに借りた２０ドルを彼に払う」であると仮定する。ユーザのカレンダ情報にアクセスすると、次の土曜日の午後３時３０分にスケジュールされた「Acme不動産の不動産業者と会う」というイベントが識別される可能性がある。スケジュールされたイベントのためにユーザがAcme不動産へ移動するルートは、ユーザのカレンダ情報、ユーザのユーザプロファイル、ユーザの過去の移動パターン、出発地等のうちの１つ以上に基づいて予測されてよい。一実施形態では、ユーザが移動するルートを予測することは、ユーザが現在移動しているルートを識別することと、現在のルートの残りの部分を、そのルートとして予測することを含む。
【００３４】
ユーザがAcme不動産へのルートを移動する時間におけるジョーの場所も予測することができる。例えばジョーのカレンダ情報にアクセスすることができ、「次の土曜日の午後３時にAcmeジムでワークアウトする」というイベントが識別される可能性がある。一部の実施形態では、ユーザがAcme不動産までのルートを移動している時間におけるジョーの場所は、ジョーのユーザプロファイル情報及び／又はジョーの過去の移動パターンから決定される。次いで、ユーザがAcme不動産へ移動するよう予測されるルートに沿ったあるポイントの所定の近傍内にAcmeジムがあるという決定が行われておい。ユーザがそのルート沿いのそのポイントに到達する時間が予測され、ジョーはその時間にAcmeジムにいるという決定が行われた。したがって、この予測時間は、ユーザが、その個人の所定の近傍内にいる予測将来時間（predicted  feature  time）として識別される。
【００３５】
一部の実施形態では、ユーザが他の個人の近傍内にいる予測将来時間を決定することは、ルートを選択することと、次いでユーザにルートを提案することを含む。例えばユーザの出発地を識別することができ、将来時間にユーザがその場所まで移動することが予測される目的地を識別することができる。一実施形態では、ユーザの目的地は、他の個人が位置することが予測される場所とは独立である、例えばこれらは同じ場所ではない。出発地から目的地までの１つ以上の潜在的なルートは、マッピングデータ、地理空間データ等の情報に基づいて識別されてよい。ルートは、１つ以上の潜在的なルートから、個人が将来時間に位置することが予測される場所を決定することと、それらの潜在的なルートのうちの１つに沿ったポイントが、その個人が位置することが予測される場所の近傍内にあると決定することとに基づいて選択されてよい。そのルートをユーザに提案することができ、ユーザが個人の近傍内にいることが予測される将来時間は、ユーザが、提案されたルートに沿ったポイントに到達することが予測される時間を識別することによって決定されてもよい。
【００３６】
ステップ３１６において、ユーザへの提示のためにリマインダをトリガする関連時間を決定する。関連時間は、ユーザが個人の近傍内にいることになる時間の前に、ユーザがリマインダに関連付けられる全てのタスクを達成するために必要とされ得るあらゆるアクション及び／又は準備をとる時間を有するのに十分に長い時間とすることができる。リマインダをトリガする時間は特有の時間であってよく、あるいはユーザが特定の場所から離れる又は特定の場所に到着するとき等のような、ジオフェンスに基づいてもよい。加えて、ユーザは土曜日のジョーの所在を予知することができないので、ユーザが予測ルートを移動しているときにジョーがAcmeジムにいることを示すように、リマインダを変更してもよい。リマインダはまた、ユーザがジムで止まってジョーに返済をするために予測ルートから逸脱することを提案するように修正されてもよい。例えばユーザが次の土曜日にAcme不動産へ行く前は家にいる場合、ユーザが家を離れる前に、「Acme不動産に行く間に、ジョーに借りた２０ドルをAcmeジムで彼に払う」等のメッセージを提示することをトリガする可能性がある。したがって、リマインダはジョーに返済を行う便利な機会をユーザに知らせ、２０ドルを持って行くようにユーザにリマインドする役割も果たす。リマインダがトリガされる時間は、ユーザの場所に依存して異なってよい。例えばAcme不動産はユーザの家から車で１５分の距離であるが、ユーザが友人と公園を訪れている場合は、公園からAcme不動産までは車で４５分である可能性がある。したがって、特定の場所からAcme不動産までのルートに関連付けられる決定された移動時間に基づいて、公園ではユーザの家よりも早くリマインダをトリガする必要がある。スケジュールされたイベントの前のユーザの場所は、ユーザの携帯電話から収集される情報、GPS、セルタワーの場所、WiFi接続及び／又は特定の場所におけるユーザの存在の他の指示に基づいて決定されてもよい。ユーザの場所はまた、ユーザのコンテキスト情報の一部として記憶される過去の移動又は訪問パターンに基づいて予測されてもよい。例えばコンテキスト情報から、ユーザはいつも（又は典型的に）毎週土曜日の午後２時３０分に特定のコーヒーショップに訪れるという決定がなされた場合、その訪問パターンに基づいて、そのコーヒーショップがユーザの場所であると予測されてよい。リマインダをトリガする関連時間は、必要な場合に現金を得るためにユーザが地元のATMを訪れ（又は家に戻り）、そして依然としてAcme不動産に行く途中でAcmeジムで止まる時間があるように、十分に早い時間とすることができる。
【００３７】
ステップ３１８において、リマインダをトリガする時間が発生したこと、例えば現在の時間が特定の所定の時間に対応すること、あるいはジオフェンスに基づくという決定が行われる。例えばコーヒーショップのユーザの場所に基づいて、最も近いATMへの移動時間とATMからAcme不動産までの移動時間を考慮し、Acmeジムで止まる時間も考慮して、トリガ時間を午後２時４５分とすることができる。ステップ３２０において、トリガ時間が発生すると、ユーザに提示されるようリマインダがトリガされる。
【００３８】
図４を参照すると、本発明の実施形態での使用に適したリマインダの提示をトリガするための例示のシステムが図示されており、全体的にシステム４００として参照される。システム４００は、適切なシステムの一例にすぎず、本発明の使用又は機能の範囲に関していかなる限定も示唆するように意図されていない。また、システム４００は、ここに示されている任意の単一の構成要素又は構成要素の組合せに関していずれかの依存性又は要件を有するようにも解釈されるべきではない。図示のものに加えて又はこれらに代えて、他の構成及び要素を使用することができ、明瞭化のために一部の要素が省略されてもよい。さらに、本明細書で説明される要素の多くは、別個又は分散コンポーネントとして、あるいは他のコンポーネントとともに、任意の適切な組合せ及び位置で実装され得る機能エンティティである。
【００３９】
システム４００は、サーバ４１０、データ収集コンポーネント４１２、推論エンジン４１４、リマインダ表面化コンポーネント４１６、ユーザプロファイルデータストレージ４１８、カレンダ情報ストレージ４２０を含み、任意選択でユーザデバイス４２２を含んでよい。システム４００の様々なコンポーネントは、ネットワーク４２６を介して通信することができる。
【００４０】
サーバ４１０は、１つ以上のコンピューティングデバイスを含み、１つのサーバ、複数のサーバ又はネットワーク４２４を介して通信するよう構成される他のコンピューティングデバイスであってよい。サーバ４１０は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって及び／又はクラウド内に備えてよい。データ収集コンポーネント４１２は、ユーザに関連付けられるコンテキスト情報を収集するように構成される。一実施形態では、コンテキスト情報は、ユーザの好み、ユーザに関連付けられる個人の識別情報、頻繁に訪問される場所、頻繁に移動されるルート、イベントに関連付けられる場所、ユーザに関連付けられる場所、ユーザの現在の場所等を含む。コンテキスト情報は、様々なソースから収集又は導出されてよい。一部の実施形態では、コンテキストデータは、スマートフォンデータ、ホームセンサデータ、GPSデータ、車両信号データ、ウェアラブルデバイスデータ、ユーザデバイスデータ、ジャイロスコープデータ、加速度計データ、カレンダデータ、電子メールデータ、スケジュールデータ、クレジットカード利用データ、購入履歴データ、気象データ、（位置、動き、向き、ポジション、ユーザアクセス、ユーザアクティビティ、ネットワークアクセス、デバイス課金及び１つ以上のデバイスによって提供することが可能な他のデータを含め）ユーザ又はイベントに関連付けられるセンサコンポーネントから導出される、センサ（又は検出器）コンポーネントによって感知又は他の方法で検出され得る他のセンサデータ及び他多数を提供するセンサのような、１つ以上のセンサから取得されてよい。また、データ収集コンポーネント４１２は、ユーザのカレンダイベント及び／又はリマインダに関連付けられる個人を含め、ユーザに関連付けられる他の個人に関連するコンテキスト情報を収集するように構成されてもよい。
【００４１】
ユーザプロファイルストレージ４１８は、データ収集コンポーネント４１２によって収集されたコンテキスト情報を記憶するように構成される。ユーザプロファイルストレージ４１８は、１つ以上のコンピュータ記憶媒体及び／又は１つ以上のコンピューティングデバイスを含んでよく、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって及び／又はクラウド内に備えてよい。ユーザプロファイルストレージ４１８は、１つ又は複数のストレージデバイスを含むことができる。一実施形態では、データ収集コンポーネント４１２によって収集されるコンテキスト情報に加えて、ユーザプロファイルストレージ４１８は、収集されたデータ又はユーザに関連付けられる他の情報から推論されるか、他の方法で導出されるコンテキスト情報を記憶する。例えば過去の場所／移動データ及びカレンダデータから推論され得る、頻繁に訪問される場所、頻繁に移動されるルート、定期的に出席したイベント等の指示を記憶することができる。
【００４２】
カレンダ情報ストレージ４２０は、１つ以上のコンピュータ記憶媒体及び／又は１つ以上のコンピューティングデバイスを含んでよく、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって及び／又はクラウド内に備えてよい。カレンダ情報ストレージ４２０は、ユーザのカレンダリングアプリケーション及び／又はスケジューリングアプリケーション、あるいはスケジュールされたイベント及びリマインダを利用又は維持する他のタイプのアプリケーションに関連する情報を記憶する。カレンダリング及びスケジューリングアプリケーションは、一般に、ユーザアクティビティ、タスク、仕事、アポイントメント、ミーティング及び他のタイプのイベントを編成して表示する。これらのアプリケーションは、イベントの日時に基づいて、ユーザに提示されるイベントリマインダ又は通知も提供することができる。一実施形態では、カレンダ情報ストレージ４２０は、複数のユーザに関連付けられる情報を記憶する。
【００４３】
推論エンジン４１４は、ユーザに関連付けられるコンテキスト情報を導出するように構成される１つ以上のコンピューティングデバイスを含んでよい。推論エンジン４１４は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって及び／又はクラウド内に備えてよい。一実施形態では、推論エンジン４１４は、カレンダ情報ストレージ４２０及びユーザプロファイルストレージ４１８からアクセスされる情報に基づいて、ユーザに関連付けられるコンテキスト情報を導出する。推論エンジン４１４は、リマインダをいつ表面化又はトリガするべきかを決定するのに利用され得る、様々な種類の情報を導出するように構成される。例えば一実施形態では、推論エンジン４１４は、ユーザのカレンダ情報内で、ユーザに関連付けられるイベントを記述するイベントリマインダにアクセスする。推論エンジン４１４は、イベントに関連付けられるユーザ以外の個人を識別し、ユーザがその個人の閾値近傍（threshold  proximity）内にあると予測される将来時間を決定する。他の個人に対するユーザの近傍は、直線距離又は通りや歩道等のルートに沿った距離のように、ユーザと他の個人との間の距離に基づいて決定されてよい。近傍は、ユーザと個人との間の移動時間の量、例えば歩行時間、運転時間又は他の輸送時間の量に基づいてもよい。一実施形態では、個人の近傍は、他の個人と、ユーザが移動するよう予測されるルートに沿ったポイントとの間の距離及び／又は移動時間の量に基づいて決定される。近傍はまた、他の個人と会うために、予測ルートから逸脱するのに必要とされる距離及び／又は移動時間の量に基づいて決定されてもよい。ユーザが個人の近傍内にあることを判断する、近傍に関連付けられる閾値を、特有の距離若しく特有の移動時間及び／又は所定の距離若しくは移動時間についてのユーザの好みに基づいて決定することができる。一実施形態では、近傍に関連付けられる閾値は、少なくとも部分的に、ユーザと他の個人との間の関係の性質、及び／又は他の個人に関連付けられる優先順位に基づいて決定される。例えばタスクが親しい家族メンバに関連付けられる場合は、友人に関連付けられる場合と比べて、ユーザは、そのタスクを実行するためにより遠くに移動することもいとわないかもしれない。そのような場合、タスクが友人に関連付けられる場合よりも大きな近傍閾値を使用することができる。別の個人に関連付けられる優先順位は、その個人がユーザのインナーサークル内として指定されているかどうか、かつ／又はユーザのインナーサークル内の個人に割り当てられた優先順位のレベルに基づいてもよい。
【００４４】
将来時間は、ユーザに関連付けられるコンテキスト情報に基づいて決定されてもよい。コンテキスト情報は、カレンダ情報、スケジュールされたイベント、他のリマインダ、ユーザによって過去に移動された既知のルート及び／又はこれらのルートが移動された回数、ユーザによって過去に訪問された既知の場所及び／又はこれらの場所が訪問された回数等のような情報を含んでよい。同様に、他の個人に関する既知の情報を使用して、他の個人の場所を予測することができる。この情報は、（１）他の個人の個人情報へのアクセスを必要とせずに、ユーザのコンテキスト情報内でわかる情報（例えばその個人を含むカレンダ招待状、その個人の家の場所、その個人の仕事場所等）；（２）他の個人の個人情報へのアクセスを必要とする情報（例えばカレンダ情報、リマインダ、その個人のモバイルデバイスからの現在のGPS等）の双方を含んでよい。他の個人の個人情報は、当該他の個人によって与えられる許可に基づいてアクセス可能とすることができる。ユーザへの提示のためにリマインダをトリガする時間が決定され、ユーザが個人の近傍内にいることが予測される将来時間に先立って、ある時間期間を生じるように決定されてもよい。リマインダをトリガする時間は、特有の時間であってよく、あるいはユーザが特定の場所から離れる又は特定の場所に到着したときのように、ジオフェンスに少なくとも部分的に基づくものであってよい。一実施形態では、リマインダ表面化コンポーネント４１６は、リマインダをトリガする時間が発生したこと、例えば現在の時間が特定の所定の時間に対応すること、あるいはジオフェンスに基づくことを決定し、ユーザに提示するためにリマインダをトリガするように構成される。
【００４５】
図５を参照すると、本発明の実施形態で使用するのに適したリマインダの提示をトリガするための例示のシステムが示されており、全体的にシステム５００として参照される。システム５００は、適切なシステムの一例を表すものにすぎず、本発明の使用又は機能の範囲に関していかなる限定を提案するようにも意図されていない。また、システム５００は、その中に図示されるいずれかの単一の構成要素又は構成要素の組合せに関連していずれかの依存性又は要件を有するようにも解釈されるべきではない。図示されるものに加えて又はそれらに代えて、他の構成及び要素を使用することができ、一部の要素は明確性の目的のために省略されることがある。さらに、本明細書に記載される要素の多くは、別個の又は分散された構成要素として、あるいは他の構成要素と組み合わせて、任意の適切な組合せ及び位置で実装され得る機能エンティティである。
【００４６】
システム５００は、リマインダコンポーネント５１０、ユーザプロファイルストレージ５１２、アシスタントサービスコンポーネント５１４、データ収集コンポーネント５１６及び推論エンジン５１８を含む。システム５００は、１つ以上のユーザデバイス５２０と通信する。ユーザデバイス５２０は、必ずしもシステム５００の一部である必要はない。
【００４７】
一実施形態において、リマインダコンポーネント５１０は、リマインダを管理するように構成される１つ以上のコンピューティングデバイスを含む。リマインダコンポーネント５１０は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって、クラウド内に又はこれらの組合せで備えることができる。リマインダコンポーネント５１０は、ユーザデバイス５２０と通信し、リマインダデータ及びコンテキストユーザ情報等のデータをユーザデバイス５２０から受け取ることができる。リマインダデータは、場所、日付、時間、主題、他のユーザ又は個人への参照等のような、リマインダを構成するために使用されるパラメータを含んでよい。コンテキストユーザ情報は、現在の場所、ローカル時間、GPS及び他のセンサデータ、カレンダ情報、ユーザの好み、電子メールデータ、テキストメッセージデータ等を含んでよい。コンテキスト情報は、ユーザプロファイルストレージ５１２に記憶されてよい。一実施形態では、リマインダコンポーネント５１０はリマインダを記憶し、維持し、これらのリマインダは、ある時点で、ユーザに対して表面化される、すなわち提示されることになる。記憶されるリマインダは、ユーザデバイス５２０から受け取られる上述のリマインダパラメータのうちのいずれか又は全てを含んでよい。一実施形態において、記憶されるリマインダは、推論エンジン５１８から受け取られる１つ以上のパラメータを含む。例えば推論エンジン５１８は、特定のリマインダをトリガするためのトリガ時間を提供することができる。リマインダコンポーネント５１０からユーザデバイス５２０に伝達されるデータは、ユーザデバイス上でユーザに提示されるべきリマインダを含んでよい。一実施形態では、リマインダコンポーネント５１０は、リマインダをトリガする時間が発生したと決定し、ユーザに提示するようリマインダをトリガするように構成される。一実施形態では、リマインダコンポーネント５１０は、リマインダがデバイス間でインテリジェントに同期すること、例えばどのデバイス（１つ又は複数）がユーザにより現在使用中であるかに依存して、ユーザの適切なデバイスの上でリマインダがトリガされることを保証する。リマインダコンポーネント５１０は、イベント又はリマインダで指名される個人に関する何らかの情報、例えばユーザとのその個人の関係が、仕事関係であるか、個人的な関係である、社会的関係であるか、家族関係であるか等のような情報を決定又は推定することもできる。
【００４８】
ユーザプロファイルストレージ５１２は、１つ以上のコンピュータ記憶媒体及び／又は１つ以上のコンピューティングデバイスを含んでよく、１つ又は複数のストレージデバイスを含んでもよい。ユーザプロファイルストレージ５１２は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって又はクラウド内に備えることができる。一実施形態では、ユーザプロファイルストレージ５１２は、ユーザデバイス５２０及び／又はユーザデバイス５２０のユーザに関連付けられるコンテキスト情報を記憶するように構成される。コンテキスト情報は、リマインダコンポーネント５１０から受け取ることができ、また、データ収集コンポーネント５１６及び推論エンジン５１８のいずれか又は双方から受け取ることもできる。実施形態では、コンテキスト情報に加えて、ユーザプロファイルストレージ５１２は、他のコンテキストデータ及び／又はユーザに関連付けられる他の情報から推論されるか、他の方法で導出されるコンテキスト情報を記憶する。例えば頻繁に訪問される場所、頻繁に移動されるルート、定期的に出席したイベント等のように、ユーザの過去の移動パターンから決定されるような指示が記憶されてもよい。
【００４９】
一実施形態では、推論エンジン５１８は、１つ以上のコンピューティングデバイスを含み、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって、かつ／又はクラウド内に備えることができる。推論エンジン５１８は、ユーザデバイス５２０から受け取った情報、カレンダ情報、リマインダ情報及びユーザプロファイル情報のいずれかに基づいて、ユーザに関連付けられるコンテキスト情報を導出するように構成されてよい。ユーザプロファイルストレージ５１２は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって、かつ／又はクラウド内に備えることができる。推論エンジン５１８は、リマインダをいつ表面化するか又はトリガするかを決定するために利用され得る様々な種類の情報を導出することができる。例えば一実施形態において、推論エンジン５１８は、ユーザに関連付けられるイベントを記述するイベントリマインダにアクセスする。推論エンジン５１８は、イベントに関連付けられるユーザ以外の個人を識別し、ユーザが個人の所定の近傍内にあることが予測される将来時間を決定する。個人に対するユーザの近傍は、直線距離又は通りや歩道等のルートに沿った距離のような、ユーザと個人との間の距離に基づいて決定されてよい。近傍は、ユーザと個人との間の移動時間の量、例えば歩行時間、運転時間又は他の輸送時間の量に基づいてもよい。一実施形態において、個人の近傍は、他の個人と、ユーザが移動するよう予測されるルートに沿ったポイントとの間の距離及び／又は移動時間の量に基づいて決定される。近傍はまた、他の個人と会うために、予測ルートから逸脱するのに必要とされる距離及び／又は移動時間の量に基づいて決定されてもよい。
【００５０】
将来時間は、ユーザに関連するコンテキスト情報に基づいて決定されてもよい。コンテキスト情報は、カレンダ情報、スケジュールされたイベント、他のリマインダ、ユーザによって過去に移動された既知のルート及び／又はこれらのルートが移動された回数、ユーザによって過去に訪問された既知の場所及び／又はこれらの場所が訪問された回数等のような情報を含んでよい。同様に、他の個人に関する既知の情報を使用して、他の個人の場所を予測することができる。この情報は、（１）他の個人の個人情報へのアクセスを必要とせずに、ユーザのコンテキスト情報内でわかる情報（例えばその個人を含むカレンダ招待状、その個人の家の場所、その個人の仕事場所等）；及び（２）他の個人の個人情報へのアクセスを必要とすることになる情報（例えばカレンダ情報、リマインダ、その個人のモバイルデバイスからの現在のGPS等）の双方を含んでよい。他の個人の個人情報は、当該他の個人によって与えられる許可に基づいてアクセス可能とすることができる。ユーザへの提示のためにリマインダをトリガする時間が決定され、ユーザが個人の近傍内にいることが予測される将来時間に先行して、ある時間期間が生じるように決定されてもよい。リマインダをトリガする時間は、特有の所定の時間であってよく、あるいはユーザが特定の場所から離れるとき又は特定の位置に到着するときのように、ジオフェンスに基づくものであってもよい。一実施形態では、推論エンジン５１８は、リマインダコンポーネント５１０にトリガ時間を提供し、リマインダコンポーネント５１０は、トリガ時間をリマインダに関連付けて、リマインダをトリガする時間が発生したとき、例えば現在の時間が特定の所定の時間に対応すること、あるいはジオフェンスに基づくことを判断することができる。
【００５１】
一実施形態において、データ収集コンポーネント５１６は、１つ以上のコンピューティングデバイスを含み、ユーザに関連付けられるコンテキスト情報を収集するように構成される。データ収集コンポーネント５１６は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって又はクラウド内に備えることができる。一実施形態において、コンテキスト情報は、ユーザの好み、ユーザに関連付けられる個人の識別情報、頻繁に訪問される場所、頻繁に移動されるルート、イベントに関連付けられる場所、ユーザに関連付けられる場所、ユーザの現在の場所等を含む。コンテキスト情報は、様々なソースから収集又は導出されてよい。一部の実施形態において、コンテキストデータは、スマートフォンデータ、ホームセンサデータ、GPSデータ、車両信号データ、ウェアラブルデバイスデータ、ユーザデバイスデータ、ジャイロスコープデータ、加速度計データ、カレンダデータ、電子メールデータ、スケジュールデータ、クレジットカード利用データ、購入履歴データ、気象データ、（位置、動き、向き、ポジション、ユーザアクセス、ユーザアクティビティ、ネットワークアクセス、デバイス課金及び１つ以上のデバイスによって提供することが可能な他のデータを含め）ユーザ又はイベントに関連付けられるセンサコンポーネントから導出される、センサ（又は検出器）コンポーネントによって感知又は他の方法で検出され得る他のセンサデータ及び他多数を提供するセンサのような、１つ以上のセンサから取得されてよい。
【００５２】
一実施形態において、アシスタントサービスコンポーネント５１４は、１つ以上のコンピューティングデバイスを含み、リマインダコンポーネント５１０によって決定されるリマインダデータ、ユーザプロファイルストレージ５１２からのユーザプロファイルデータ及び／又はユーザに関する他のコンテキストデータに基づいて、コンテキスト的に関連するリマインダ及び関連するコンテンツをユーザに提示するように構成される。アシスタントサービスコンポーネント５１４は、１つ以上のアプリケーション又はサービスを、あるユーザデバイス上に、複数のユーザデバイスにわたって、クラウド内に又はこれらの組合せで備えることができる。例えば一実施形態では、アシスタントサービスコンポーネント５１４は、ユーザに関連付けられる複数のユーザデバイス５２０にわたってユーザへのリマインダの提示を管理する。リマインダデータ及びユーザコンテキストデータに基づいて、アシスタントサービスコンポーネント５１４は、どのユーザデバイス５２０にリマインダを提示するかだけでなく、リマインダをどのように提示するか（あるいは、ユーザデバイス又はコンテキストに依存する可能性があるが、どのようなフォーマットで及びどれくらいのコンテンツを提示するか）、いつ提示するか、及びリマインダとともにどのような補足コンテンツを提示すべきか等を含め、提示のコンテキストも決定することができる。特に、一部の実施形態では、アシスタントサービスコンポーネント５１４は、リマインダの提示を決定するために、感知されたユーザデータ及びコンテキスト情報を適用し、利用する。
【００５３】
一部の実施形態では、アシスタントサービスコンポーネント５１４は、通知に関連付けられるユーザインタフェース機能を生成する。このような機能は、インタフェース要素（グラフィクスボタン、スライダ、メニュー、オーディオプロンプト、アラート、アラーム、振動、ポップアップウィンドウ、通知バー又はステータスバーアイテム、アプリ内通知又はユーザとインタフェースするための他の同様の機能等）、クエリ及びプロンプトを含むことができる。アシスタントサービスコンポーネント５１４の一部の実施形態は、通知に対するユーザの応答又は通知に関連付けられるユーザアクティビティをキャプチャする。
【００５４】
ユーザデバイス５２０は、ユーザによる使用が可能な任意のタイプのコンピューティングデバイスを備えてよい。例えば一実施形態では、ユーザデバイス５２０は、図１に関して以下で説明されるコンピューティングデバイス１００と同様であってもよい。限定ではなく例として、ユーザデバイスは、パーソナルコンピュータ、ラップトップコンピュータ、モバイル又はモバイルデバイス、スマートフォン、タブレットコンピュータ、スマートウォッチ、ウェアラブルコンピュータ、パーソナルデジタルアシスタント（PDA）、MP3プレーヤ、GPS又はデバイス、ビデオプレーヤ、ハンドヘルド通信デバイス、ゲームデバイス又はシステム、エンターテインメントシステム、車両コンピュータシステム、組込みシステムコントローラ、リモートコントロール、アプライアンス、家庭用電子機器、ワークステーション、あるいはこれらの描写されるデバイスの任意の組合せ又は任意の他の適切なデバイスであってよい。
【００５５】
ここで図１を参照すると、本発明の実施形態を実施するための例示の動作環境が示されており、一般にコンピューティングデバイス１００として示されている。コンピューティングデバイス１００は、適切なコンピューティング環境の一例にすぎず、本発明の実施形態の使用又は機能の範囲に関していかなる限定も示唆するようには意図されていない。また、コンピューティング環境１００は、図示される構成要素のいずれか１つ又は組合せに関連していずれかの依存性又は要件を有するようにも解釈されるべきではない。
【００５６】
本発明の一部の実施形態は、コンピュータ又はパーソナルデジタルアシスタントや他のハンドヘルドデバイス等の他のマシンによって実行される、プログラムモジュールのようなコンピュータ実行可能命令を含め、コンピュータコード又は機械使用可能命令の一般的なコンテキストで説明されてよい。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むプログラムモジュールは、特定のタスクを実行するコード又は特定の抽象データ型を実装するコードを指す。本発明の一部の実施形態は、ハンドヘルドデバイス、家庭用電子機器、汎用コンピュータ、より特殊なコンピューティングデバイス等を含む様々なシステム構成で実施されてよい。本発明の一部の実施形態は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施されてもよい。
【００５７】
図１を参照すると、コンピューティングデバイス１００は、次のデバイス：すなわち、メモリ１１２、１つ以上のプロセッサ１１４、１つ以上のプレゼンテーションコンポーネント１１６、入力／出力ポート１１８、入力／出力コンポーネント１２０及び例示の電源１２２を直接又は間接的に結合するバス１１０を含む。バス１１０は、１つ以上のバス（アドレスバス、データバス又はそれらの組合せ等）であり得るものを表す。図１の様々なブロックは、明瞭化のために線で示されているが、実際には、様々なコンポーネントの描写はあまり明確ではなく、例えて言うと、線はより正確には灰色で曖昧であろう。例えばディスプレイデバイス等のプレゼンテーションコンポーネントをI/Oコンポーネントと見なしてもよい。また、プロセッサはメモリを有する。我々はそのようなことが技術の性質であることを認識しており、図１の図は、本発明の１つ以上の実施形態に関連して使用され得る例示のコンピューティングデバイスの例示にすぎないということを繰り返し述べる。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」等のようなカテゴリ間は区別されず、これらは全て図１の範囲内に含まれ、「コンピューティングデバイス」として参照される。
【００５８】
コンピューティングデバイス１００は、典型的に、様々なコンピュータ読取可能媒体を含む。限定ではなく例として、コンピュータ読取可能媒体は、ランダムアクセスメモリ（RAM）；読取専用メモリ（ROM）；電子的消去可能プログラマブル読取専用メモリ（EEPROM）；フラッシュメモリ又は他のメモリ技術；CDROM、デジタル多用途ディスク（DVD）又は他の光又はホログラフィック媒体；磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気記ストレージデバイス、搬送波、又は所望の情報を符号化するために使用され、コンピューティングデバイス１００によってアクセスされることができる他の任意の媒体を備えてよい。
【００５９】
メモリ１１２は、揮発性及び／又は不揮発性メモリの形式のコンピュータ記憶媒体を含む。メモリは、取外し可能、取外し不可能又はこれらの組合せであってよい。例示のハードウェアデバイスは、半導体メモリ、ハードドライブ、光学ディスクドライブ等を含む。本明細書で使用されるとき、コンピュータ記憶媒体は、信号自体を含まない。
【００６０】
コンピューティングデバイス１００は、メモリ１１２又はI/Oコンポーネント１２０等の様々なエンティティからデータを読み取る１つ以上のプロセッサを含む。プレゼンテーションコンポーネント１１６は、ユーザ又は他のデバイスにデータ指示を提示する。例示のプレゼンテーションコンポーネントは、ディスプレイデバイス、スピーカ、印刷コンポーネント、振動コンポーネント等を含む。I/Oポート１１８は、コンピューティングデバイス１００が、その一部は組込み型であり得るI/Oコンポーネント１２０を含む他のデバイスに論理的に結合されることを可能にする。例示のコンポーネントは、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、プリンタ、無線機器等を含む。
【００６１】
以上のことから、本発明は、明白かつ構造に特有の他の利点とともに、上記の全ての目的及び目標を達成するのにより良く適したものであることがわかるであろう。特定の特徴及びサブコンビネーションは実用的であり、他の特徴及びサブコンビネーションを参照することなく使用することができることが理解されよう。これは特許請求の範囲によって企図されており、特許請求の範囲内にある。本発明の範囲から逸脱することなく、多くの可能な実施形態を行うことができるので、本明細書で説明されるか添付の図面に図示される全ての事項は、例示であり、限定的な意味ではないことが理解されよう。
【図１】
0006644090.tif 000002
【図２】
0006644090.tif 000003
【図３】
0006644090.tif 000004
【図４】
0006644090.tif 000005
【図５】
0006644090.tif 000006