(57)【要約】  場所認識リマインダ技法について説明する。１つまたは複数の実施において、ユーザが予定イベントにアクセスするのに関与すると予想される時間の長さがコンピューティングデバイスによって決定される。予定イベントの前にコンピューティングデバイスによってリマインダを出力する時点が、ユーザが予定イベントにアクセスするのに関与すると予想される当該決定された時間の長さに少なくとも一部基づいて計算される。１０２  コンピューティングデバイス１０４  ネットワーク１１２  オペレーティングシステム１１４  アプリケーション１１８  スケジューラモジュール１２０  位置決定モジュール１２２  リマインダ１２４  位置決定センサ１１２  オペレーティングシステム１１８  スケジューラモジュール２０２  ＵＩプレゼンテーション層２０４  メッセージング／通知層２０６  プロセスエンジン２０８  ＡＰＩアダプタ２１０  サービスアダプタ２１２  サービス２１４  マップサービス２１６  トラフィックサービス
2015528933.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが予定イベントにアクセスするのに関与すると予想される時間の長さを決定するステップ（８０２）と、
前記ユーザが前記予定イベントにアクセスするのに関与すると予想される前記決定された前記時間の長さに少なくとも一部基づいて、前記予定イベントの前にコンピューティングデバイスによってリマインダを出力する時点を計算するステップ（８０４）とを含む方法。
【請求項２】
前記時点が、前記ユーザがどのように前記予定イベントにアクセスするのかの指示に基づいて計算される、請求項１に記載の方法。
【請求項３】
前記指示が、前記ユーザが前記予定イベントに物理的に本人が直接アクセスするのかまたはネットワークを介して遠隔でアクセスするのかを特定する、請求項２に記載の方法。
【請求項４】
前記時点が、前記リマインダに関連したユーザの予想される地理的位置と目的地の地理的位置との間の予想される移動時間に基づいて計算される、請求項１に記載の方法。
【請求項５】
前記移動時間が、前記ユーザによって利用されると予想される移動方式に少なくとも一部基づく、請求項４に記載の方法。
【請求項６】
前記予想される地理的位置が、前記コンピューティングデバイスのネットワークを介したサービスとの通信に少なくとも一部基づいて決定される、請求項４に記載の方法。
【請求項７】
前記予想される地理的位置が、前記予定イベントまでに行う予定になっている別の予定イベントの地理的位置に少なくとも一部基づいて決定される、請求項４に記載の方法。
【請求項８】
前記決定するステップおよび前記計算するステップが、前記リマインダの前記時点を更新するために異なる時点において繰り返される、請求項４に記載の方法。
【請求項９】
リマインダに関連する目的地の地理的位置に物理的に移動するための予想移動時間に少なくとも一部基づいて前記リマインダを表示する時点を決定すること（１２０）、および
前記リマインダを前記決定された時点において出力すること（１１８）
を含む動作を実行するために少なくとも部分的にハードウェアで実施される１つまたは複数のモジュールを備えるシステム。
【請求項１０】
予定イベントに関連した地理的位置へのユーザの予想移動時間を決定すること、および、
対応する時間の間は、前記予定イベントの前に、前記ユーザのスケジュールに別のイベントを予定するために利用不可能であることを示すために、少なくとも前記決定された予想移動時間を使用すること
を含む動作を実行するために少なくとも部分的にハードウェアで実施される１つまたは複数のモジュールを備えるデバイス（１０２）。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  さまざまな異なるスケジューリング機能がユーザに利用可能になっている。このような機能の一例が、イベントの経過を追うのに使用したり、ネットワークを介して会議の要請を伝えるなど、他のユーザをイベントに参加するよう招待するのに使用することができるカレンダである。このスケジューリング機能は、実にさまざまなユーザにとってビジネス用途でも個人用途でも日々の生活の一部になっている。
【０００２】
[0002]  しかし、イベントを予定するために利用された従来の技法は、典型的には、イベントの主催者によって設定されたリマインダを用いていた。ユーザには、リマインダまでの期間を変更する選択肢が提供されたが、これには、カレンダイベントに手動でアクセスし、期間を変更するために、かなりの数の一連の工程を必要とすることがある。さらに、この期間は、大抵はどのくらいの予告期間が望ましいかということに関するユーザ側の「最良の推測」として設定されたものであるが、その後のさまざまな理由により変更されることがあり、その場合には上記の手入力でのやり取りが必要となる。
【発明の概要】
【０００３】
[0003]  場所認識リマインダ技法について説明する。１つまたは複数の実施において、ユーザが予定イベントにアクセスするのに関与すると予想される時間の長さが、コンピューティングデバイスによって決定される。予定イベントまでにコンピューティングデバイスによってリマインダを出力する時点が、ユーザが予定イベントにアクセスするのに関与すると予想される上記決定された時間の長さに少なくとも一部基づいて計算される。
【０００４】
[0004]  １つまたは複数の実施において、コンピューティングデバイスによって、リマインダの主題である目的地の地理的位置まで物理的に移動するための予想移動時間に少なくとも一部基づいてリマインダを表示する時点が決定される。次いで、決定された時点に、コンピューティングデバイスによってリマインダが出力される。
【０００５】
[0005]  １つまたは複数の実施において、予定イベントに関連した地理的位置へのユーザの予想移動時間に関して決定がなされる。決定された予想移動時間は、対応する時間の長さが、すなわちその期間、予定イベントまでユーザのスケジュールを使用して別のイベントを予定するために利用不可能であることを指示するのに少なくとも使用される。
【０００６】
[0006]  この発明の概要は、発明を実施するための形態において以下にさらに説明する概念の抜粋を簡略化された形で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴または不可欠な特徴を識別することを意図していないし、特許請求される主題の範囲を決定する上で手助けとして使用されることも意図していない。
【０００７】
[0007]  添付の図を参照して発明を実施するための形態について説明する。図において、参照番号の最上位桁は、参照番号が最初に現れる図を識別する。説明および図における異なる事例の同じ参照番号の使用は、類似のまたは同一の品目を指示することがある。図に表される実体は、１つまたは複数の実体を示すことがあり、したがって、考察される実体の単数または複数への参照は、互換可能に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】[0008]本明細書で説明する場所認識リマインダ技法を採用して動作可能である実施の一例における環境を示す図である。
【図２】[0009]図１のスケジューラモジュールを含む図が示される実施の一例におけるシステムを示す図である。
【図３】[0010]リマインダを出力する時点の決定の一例を示すシーケンス図である。
【図４】[0011]予定イベントにアクセスする異なるユーザの異なるリマインダを出力するのに使用されるワークフローの一例を示す図である。
【図５】[0012]ユーザがどのように予定イベントにアクセスするのかに対処するスケジューラモジュールを採用するように構成されるシステムを示す図である。
【図６】[0013]イベントを予定するのに使用可能なユーザインターフェースの一例を示す図である。
【図７】[0014]図６のイベントのリマインダの一部として移動時間を使用するかどうかを予定するのに使用可能なユーザインターフェースの一例を示す図である。
【図８】[0015]リマインダを出力する時点が、ユーザのアクセスに基づいて決定される実施の一例における手順を示すフロー図である。
【図９】[0016]リマインダを表示する時点が、地理的位置への移動時間で少なくとも一部が決定される実施の一例における手順を示すフロー図である。
【図１０】[0017]予定イベントへの移動に使用されると予想される時間の長さが、ユーザのカレンダ上では利用不可能と指示される実施の一例における手順を示すフロー図である。
【図１１】[0018]本明細書で説明する技法の諸実施形態を実施するために図１〜７を参照して説明する任意の種類のコンピューティングデバイスとして実施することができるデバイスの一例のさまざまな構成要素を含むシステムの一例を示す図である。
【発明を実施するための形態】
【０００９】
概要
[0019]  予定イベントのリマインダは、典型的には静的であり、イベントの主催者によって設定される。したがって、リマインダは、特に他のユーザらがユーザのスケジュールにアクセスできる場合、ユーザに適切に通知する働きをすることができない。
【００１０】
[0020]  場所認識リマインダ技法について説明する。１つまたは複数の実施において、ユーザが予定イベントにアクセスするのにかかると予想される時間の長さに基づいて、予定イベントの前にリマインダを表示するのに使用される時間の長さが決定される技法について説明する。例えば、ユーザは、電話を介してイベントにアクセスするように予定することができ、したがって、リマインダは、比較的短い長さの通知、例えばイベントの３分前に通知を与える出力に設定することができる。
【００１１】
[0021]  別の場合には、ユーザは、本人が直接イベントに参加するように予定するかもしれない。この場合には、ユーザがイベントに移動するための予想移動時間を計算することができる。次いで、リマインダを出力する時点を決定する上で、この移動時間を少なくとも一部使用することができる。このようにして、リマインダは、イベントに出席するのに十分な通知をユーザに与えるように動的に構成することができる。
【００１２】
[0022]  距離、移動方式（例えば、動力による、または、動力によらない）、潜在的遅延（例えば、交通渋滞、事故）、天候、予定イベントの場所の変更、イベントまでの予想されるユーザの場所（例えば、GPS、前の予定イベントの場所）など、さまざまな他の要因にも対処して時間の長さを計算することができる。この時間の長さは、ユーザがこの時間の間、別の予定イベントに参加するために手が空いていないということを自動的に指示することなど、さまざまな他の機能を提供するように活用することもできる。これらのおよび他の特徴のさらなる検討は、以下の各節に関して見いだすことができる。
【００１３】
[0023]  以下の検討において、本明細書で説明する技法を採用することができる環境の一例についてまず説明する。次いで、環境の例および他の環境において実行することができる手順の例について説明する。したがって、手順の例の実行は、環境の例に限定されないし、環境の例は、手順の例の実行に限定されない。
【００１４】
環境の例
[0024]  図１は、本明細書で説明する場所認識リマインダ技法を採用して動作可能である実施の一例における環境１００の図である。図示された環境１００は、コンピューティングデバイス１０２を含む。コンピューティングデバイスは、さまざまなやり方で構成することができる。例えば、コンピューティングデバイスは、デスクトップコンピュータ、移動局、娯楽機器、タブレット、表示デバイスに通信可能に結合されたセットトップボックス、ワイヤレス電話、ゲーム機、および場所の指示を受け取ることができる他の任意のデバイスなど、ネットワーク１０４にわたって通信することができるコンピュータとして構成することができる。図示された例において、コンピューティングデバイス１０２は、例えば、図１１に関してさらに説明するように携帯電話またはタブレットとして、ユーザの１つまたは複数の手１０８、１１０によって握られるように構成されたハウジング１０６を使用した実施によるモバイル構成を想定するものとして例示される。
【００１５】
[0025]  したがって、コンピューティングデバイス１０２は、十分なメモリおよびプロセッサ資源を有する全資源デバイス（例えば、パーソナルコンピュータ、ゲーム機）から、限定されたメモリおよび／または処理資源を有する低資源デバイス（例えば、従来からのセットトップボックス、携帯ゲーム機）までの範囲にわたることがある。さらに、単一のコンピューティングデバイス１０２を示すが、コンピューティングデバイス１０２は、図１１に示すようなウェブサービスのプラットホームと通信するクライアントデバイス、リモートコントロールとセットトップボックスとの組合せ、ジェスチャを捕捉するように構成された撮像デバイスおよびゲーム機など、複数の異なるデバイスを代表することができる。
【００１６】
[0026]  コンピューティングデバイス１０２は、オペレーティングシステム１１２を含むものとしてさらに図示される。オペレーティングシステム１１２は、コンピューティングデバイス１０２の基盤となる機能をコンピューティングデバイス１０２上で実行可能である１つまたは複数のアプリケーション１１４に抽出するように構成される。例えば、オペレーティングシステム１１２は、この基盤となる機能を「どのように」実施するのか知らなくてもアプリケーションを作成することができるように、コンピューティングデバイス１０２の処理、メモリ、ネットワーク、および／またはディスプレイ１１６の機能を抽出することができる。アプリケーション１１４は、例えば、このレンダリングがどのように実行されるのかを理解しなくてもディスプレイデバイス１１６によってレンダリングされ表示されるデータをオペレーティングシステム１１２に提供することができる。オペレーティングシステム１１２は、コンピューティングデバイス１０２のユーザによってナビゲート可能であるファイルシステムおよびユーザインターフェースを管理することなど、さまざまな他の機能を代表することもできる。
【００１７】
[0027]  この場合のアプリケーション１１４は、スケジューラモジュール１１８と位置決定モジュール１２０とを含むものとてして図示される。アプリケーション１１４の一部として図示されるが、これらのモジュールによって代表される機能は、スタンドアローンアプリケーション、サードパーティプラグイン、オペレーティングシステム１１２の一部として、図１１に示すようなウェブプラットホームの一部としてなど、さまざまな他のやり方で実施できることが容易に明らかなはずである。
【００１８】
[0028]  スケジューラモジュール１１８は、ユーザに関するイベントのスケジュールを維持する機能の代表である。例えば、ユーザは、会議の主催者としての役目を果たすことがあり、このような場合には、主題（例えば、イベントの名称）、場所、開始時間、終了時間、他の参加者を招待してよい、リマインダ、相対的重要性（例えば、高いまたは低い重要性）など、予定イベントに関係する基準を記述したイベントを作り出すことができる。別の例では、ユーザは、同様の情報を含むことがある別の会議の主催者からの招待を受け入れることができる。イベントがどのように発生するかにかかわらず、スケジューラモジュール１１８は、ユーザがスケジュールを管理するのを手助けするために各イベントを維持することができる。
【００１９】
[0029]  ユーザのスケジュールを管理することに関与する１つの技法には、リマインダが含まれる。従来のリマインダは、イベントが起こる前の予め定められた時間において、出力される。この時間の長さは、従来は、イベントの主催者によって設定され、イベントに参加するように招待されたユーザによって手動で変更可能であった。したがって、これらの従来の技法は、静的であり、柔軟性がなかった。
【００２０】
[0030]  しかし、図示の場合のスケジューラモジュール１１８は、リマインダ１２２がいつ出力されるのかを特定するのに使用される時間の長さを動的に決定するための機能を含むことができる。この決定は、さまざまな異なる要因に基づくことができる。例えば、スケジューラモジュール１１８は、コンピューティングデバイス１０２の現在の位置を決定するために位置決定モジュール１２０を活用することができる。これは、コンピューティングデバイス１０２の地理的位置を決定するために位置決定センサ１２４（例えば、GPSセンサ、セルラー三角測量など）によるなど、さまざまなやリ方で実行することができる。別の例では、コンピューティングデバイス１０２の地理的位置の決定は、図２に関してさらに説明するように、ネットワーク１０４を介してアクセス可能である１つまたは複数のウェブサービスとの通信を通じて実行することができる。
【００２１】
[0031]  次いで、スケジューラモジュール１１８は、現在位置とイベントの位置との間の予想移動時間を決定するために、この位置と予定イベントに関連する地理的位置とを比較することができる。次いで、この時間は、リマインダ１２２をいつ出力するのかを計算するために使用することができる。
【００２２】
[0032]  図示する例において、リマインダ１２２は、ユーザインターフェースの開始画面におけるタイルの上を覆うものとして出力されるが、他の例も企図されており、例えばディスプレイデバイス１１６によって示されるそれぞれのタイルに含まれ得る。リマインダ１２２は、予定イベントの主題、場所、予定イベントが行われるまでの時間の長さ、ならびにイベントの地理的位置までの距離および移動時間を示す。したがって、この例において、移動時間（例えば、２０分間）は、予め定められたバッファ時間（例えば、１０分。これはユーザの好みで選択可能である）と共に少なくとも一部が使用され、リマインダの出力のために予定イベントの前に設定されるそれまでの時間の長さ（期間）で到達するようにされる。したがって、リマインダ１２２が出力される時点を動的に決定することができる。少なくとも移動時間に基づく時点の決定について説明したが、この決定は、ユーザがどのようにイベントにアクセスするのか（例えば、本人が直接にまたは遠隔で）、物理的にイベントに参加するのに使用される移動方式、当該イベントまでに行う予定の諸々のイベントの場所、イベントが行われる場所の変更、イベントまでの移動時間に影響すると予想される遅延（例えば、建設工事、事故）など、さまざまな他の要因に基づくこともでき、そのさらなる検討は、以下の図に関して見いだすことができる。
【００２３】
[0033]  図２は、図１のスケジューラモジュール１１８を含む図を示す実施の一例におけるシステム２００を示す。スケジューラモジュール１１８は、先に説明したようにオペレーティングシステム１１２によって抽出されるコンピューティングデバイス１０２の機能を活用するためにオペレーティングシステム１１２と併せて示される。
【００２４】
[0034]  スケジューラモジュール１１８は、図１のリマインダ１２２をレンダリングするためなど、コンピューティングデバイス１０２のディスプレイデバイス１１６上でレンダリングするためのユーザインターフェースを生成する機能を代表するＵＩプレゼンテーション層２０２を含むものとして図示される。スケジューラモジュール１１８は、会議の要請を通信し管理するため、リマインダを出力するためなど、メッセージおよび通知が関与する機能を代表するメッセージング／通知層２０４を含むものとしても図示される。
【００２５】
[0035]  プロセスエンジン２０６は、ユーザのスケジュールを管理する機能を代表する。これは、カレンダに含めるための予定イベントの生成、重複の解消、ユーザ選択の管理、イベント関連データの維持、ならびにリマインダをいつ出力するかの決定を含むことができる。
【００２６】
[0036]  スケジューラモジュール１１８は、ＡＰＩアダプタ２０８とサービスアダプタ２１０を含むものとしても図示される。ＡＰＩアダプタ２０８は、イベントのカレンダおよび／または場所など、予定イベントに関係するデータを得るためにＡＰＩと相互作用するように構成される。コンピューティングデバイス１０２のセンサを活用することによって現在の地理的位置を決定するためなど、さまざまな他の例も企図される。
【００２７】
[0037]  サービスアダプタ２１０は、図１のネットワーク１０４を介してアクセス可能なウェブサービスなど、１つまたは複数のサービス２１２へのアクセスをサポートするように構成される。リマインダが出力される時間を動的に生成するために使用することができるデータを見つけるために、さまざまな異なるサービスにアクセスすることができる。このようなサービスの例には、マップサービス２１４及びトラフィックサービス２１６が含まれる。マップサービス２１４は、コンピューティングデバイス１０２の地理的位置および／または予定イベントが行われる物理的位置の地理的座標など、さまざまなデータを得るために使用することができる。マップサービス２１４は、各場所の間の予想移動時間、方向、場所を示す地図などを計算するのに使用することもでき、したがって、スケジューラモジュール１１８の機能をサポートすることができる。
【００２８】
[0038]  トラフィックサービス２１６は、時間の長さを計算する基礎として使用可能な様々な異なるデータを取得するためにも使用することができる。例えば、トラフィックサービス２１６は、各場所の間の移動時間に影響することがある事故、建設工事、および天候に関するデータを提供することができる。さまざまな他のサービス２１２にもアクセスして、図１のリマインダ１２２の出力を予定するために使用される時間の長さの計算に影響し得るデータを提供することができる。リマインダを出力する時点を決定するためのスケジューラモジュール１１８の動作の一例は、以下の図に関して見いだすことができる。
【００２９】
[0039]  図３は、リマインダを出力する時点の決定の一例を示すシーケンス図３００を示す。シーケンス図３００は、ユーザ３０２、スケジューラモジュール１１８、ユーザ選択ストレージ３０４、カレンダ３０６、およびマップサービス２１４の表示を含む。
【００３０】
[0040]  この例では、ユーザ３０２は、まずユーザ選択ストレージ３０４にユーザ選択（好み）３０８を設定する。移動時間と併せて使用されるデフォルトのバッファ時間、バッファとして異なるアクセス技法に使用される（例えば、遠隔に対する本人直接）所定の時間の長さ、ユーザのデフォルトの地理的位置（例えば、自宅、オフィス）、移動方式（例えば、車、徒歩、航空機）など、さまざまな異なるユーザ選択を設定することができる。次いで、スケジューラモジュール１１８は、例えば、返されたユーザ選択３１２として図示される、特定のユーザのこれらのユーザ選択をユーザ選択ストレージ３０４から読み取る３１０ことができる。
【００３１】
[0041]  スケジューラモジュール１１８は、予約３１６を記述したデータを返すものとして図示する予約を取得する（３１４）ために、格納されたカレンダ３０６と相互作用するものとしても図示する。予約３１６は、予定イベントの一例であり、したがって、返されたデータは、予約３１６の主題、日付、時間、または場所を記述することができる。次いで、スケジューラモジュール１１８は、予約の移動時間および方向を取得する（３１８）ために、予約からマップサービスに場所を提供することができる。マップサービス２１４は、例えば、一般名称や住所などを予約から取り出して、図１のコンピューティングデバイス１０２（したがってユーザ３０２）の予想現在位置と予約に関連した場所との間の移動時間を計算することができる。マップサービス２１４は、各場所の間の方向も計算し、移動時間および方向３２０をスケジューラモジュール１１８に返すことができる。したがって、この例では、スケジューラモジュール１１８は、計算を実行するマップサービス２１４との通信を通じて移動時間を決定することができるが、他の例も実行可能である。
【００３２】
[0042]  次いで、スケジューラモジュール１１８は、移動時間および方向３２０を使用してリマインダを生成し（３２２）、出力する（３２４）時点を決定するが、その一例は図１にリマインダ１２２として示される。このようにして、リマインダを動的に生成してイベントへのユーザのアクセス方式（例えば、遠隔アクセスに対する本人直接アクセス）および本人が直接アクセスするためのイベントに関連した場所との地理的関係を考慮に入れることができる。
【００３３】
[0043]  リマインダは、リマインダを出力する時点を決定するのに使用される要因の変更に基づいて再計算する（３２６）こともできる。例えば、イベントの場所を変更することができ、したがって、スケジューラモジュール１１８は、マップサービス２１４から新たな移動時間および方向を取得する（３２８）ことができる。次いで、マップサービス２１４は、ユーザ３０２への出力のために別のリマインダ３３２を生成するためにスケジューラモジュール１１８によって使用される、新たな場所のために計算された移動時間および方向３３０を返すことができる。後続のリマインダのために所定の時間間隔で実行されるユーザ３０２の地理的位置の変更（例えば、ユーザが予約の場所にさらに近く移動するにつれて）など、さまざまな他の要因も使用して、リマインダを再計算する（３２６）ことができる。スケジューラモジュール１１８による移動時間の決定についてこの例で説明したが、スケジューラ１１８によってさまざまな他の要因を活用して、リマインダを出力する時点を決定することもでき、その一例は以下の図に関して見いだすことができる。
【００３４】
[0044]  図４は、予定イベントにアクセスする異なるユーザのために異なるリマインダを出力するのに使用されるワークフロー４００の一例を示す。この例では、新たな会議の要請４０２がミーティングスケジューラ４０４によって発生される。会議の要請は、１０分のリマインダ時間を有するようにミーティングスケジューラ４０４によって設定され（４０６）、他の会議参加者に送られる。他の会議の参加者の例は、本人が直接参加する会議参加者４０８として、および電話参加、ウェブサイトへのログイン、オンラインミーティングアプリケーションを通して、テレビ会議などによりイベントに遠隔でアクセスする会議参加者４１０として図示される。
【００３５】
[0045]  本人が直接参加しようとする会議参加者４０８の場合、スケジューラモジュールが前の会議の場所と新たな会議の要請４０２の場所との間の移動時間を決定して、リマインダ時間、例えば、リマインダを出力する時点を計算する（４１２）。別の例では、これはデフォルトの場所、例えば、自宅やオフィスなどに基づいて決定することができる。
【００３６】
[0046]  イベントに遠隔でアクセスする会議参加者４１０の場合、リマインダ時間は、ユーザ選択（好み）に基づいて決定される（４１４）。例えば、会議参加者４１０は、遠隔会議を実行するために「電話参加」を計画し、したがって会議に備えるために、参加者が好むバッファ時間を指定することができる。このバッファ時間は、先に図３に関して説明したようにユーザ選択の一部として格納することができる。フロー図に関してより詳細に説明するような、輸送方式（例えば、図５に示すように、動力による、動力によらないなど）、アクセスの種類（例えば、電話参加、ログイン、物理的な出席）などに基づくなど、さまざまな異なるバッファ時間をユーザ選択の一部として特定することができる。
【００３７】
[0047]  次いで、第１のリマインダ４１６を、ミーティングスケジューラ４０４、物理的に会議に参加する会議参加者４０８、および遠隔で会議に参加する会議参加者４１０に出力することができる。ミーティングスケジューラ４０４には、指定された通りに会議の１０分前に第１のリマインダ４１６が出力される（４１８）。
【００３８】
[0048]  本人が直接参加する会議参加者４０８の場合、この例では途中で事故が検知され、したがって遅延を考慮してリマインダ時間が再設定される（４２０）。例えば、スケジューラモジュール１１８は、先に説明したようにトラフィックサービス２１６と通信し、それに応じて、サービスによって指示された遅延に基づいてリマインダ時間を調整することができる。次いで、先に会議参加者４０８に会議の場所へ移動するための追加の時間を与えるためになど、リマインダが再設定されたリマインダ時間に出力される（４２２）。したがって、時間の長さは、イベントに物理的に参加するユーザの能力に影響し得る変化する状況に動的に対処することができる。
【００３９】
[0049]  会議に遠隔でアクセスする会議参加者４１０の場合、第１のリマインダ４１６は、ユーザが会議に「電話参加する」までに準備することを可能にするために３分など、ユーザ選択によって指定された時間に出力される４２４。このようにして、第１のリマインダ４１６は、参加者がどのように会議にアクセスするのかを考慮して、参加者ごとに異なる時点において出力することができる。さまざまな他の例も、リマインダをいつ出力するのかを計算するために使用できるファクターについて企図され、その例は以下の図に関して見いだすことができる。
【００４０】
[0050]  図５は、ユーザがどのように予定イベントにアクセスするのかに対処するためにスケジューラモジュールを採用するように構成されるシステム５００を示す。先に説明したように、ユーザは、図示するように携帯電話５０４により遠隔でまたは本人が直接に参加するためなど、さまざまなやり方で予定イベント５０２にアクセスすることができる。したがって、スケジューラモジュール１１８は、これらの異なる種類のアクセスを考慮に入れることができる。
【００４１】
[0051]  さらに、スケジューラモジュール１１８は、イベントの地理的位置５０２にユーザが物理的に移動するのに使用することができる移動方式を考慮に入れることもできる。例えば、移動方式は、動力によらない（例えば、徒歩、自転車）移動方式と動力による移動方式とを区別することができる。どの方式をユーザが使用すると予想されるのかについてのこの決定は、距離、その距離を移動するための異なる移動方式の利用の可能性に基づくことでき、アプリケーションレベルおよびイベントレベルにおける構成などを含むことができる。
【００４２】
[0052]  例えば、ユーザは、イベントの地理的位置５０２に徒歩で行く（５０８）のに適切な距離５０６に位置していることもあり、したがって、スケジューラモジュール１１８によって計算される時間の長さは、これを考慮に入れることができる。別の例では、ユーザは、動力による移動５１２（例えば、車、バス、鉄道、公共輸送）を示す距離５１０に位置していることがあり、したがって、これを計算の一部として使用することができる。例えば、スケジューラモジュール１１８は、公共輸送を使用した移動時間を決定するために公共輸送データを含むサービスにアクセスすることができる。他の一例では、航空移動５１６を示す距離５１４など、動力による移動方式間の相違を使用することができる。
【００４３】
[0053]  さらに、ユーザ選択（ユーザの好み）は、これらのさまざまな移動方式を考慮に入れるように定義することができる。例えば、異なるバッファ時間を異なる移動方式に設定することができ、例えば航空機に搭乗する際は十分な時間を設ける。さらに、ユーザ選択は、リマインダの出力を避けるため、閾値である距離または移動時間の長さを過ぎた際に移動時間の計算を避けるため（例えば、移動時間を含めずにデフォルトの時間の長さを使用するため）等にさえ使用できる閾値を採用するように定義することができる。このようにして、ユーザは、望ましくないリマインダによって生じるクラッタや妨害を低減するためなど、リマインダをどのようにいつ出力するのかを管理することができる。
【００４４】
[0054]  図６は、イベントを予定するのに使用可能なユーザインターフェース６００の一例を示す。この例では、ユーザインターフェース６００は、主催者がカレンダに含めるためにイベントを予定することができるように、新たな予約機能を出力するものとして図示される。この例では、ユーザは、予定イベントの場所を指定するために新たな予約とインタラクトするが、それはこの例では「私のオフィス」というデフォルトの場所を含むものとして示される。データを識別する地理的位置（例えば、地理的座標）は、場所までの移動時間を決定するのに適切な場所に関連することができる。スケジューラモジュール１１８の一部としての機能および／または一般名称（例えば、レドモンドキャンパス、スタジオＢ）を具体的な地理的座標に変換するためのサービス（例えば、マップサービス）を含むためなど、他の例も企図される。
【００４５】
[0055]  図７は、図６のイベントのリマインダの一部として移動時間を使用するかどうかを予定するのに使用可能なユーザインターフェース７００の一例を示す。この例は、図６のユーザインターフェース６００から継続する。しかし、この場合に、新たな予約は、イベントのリマインダを出力するのに使用される時間を主催者が指定するための機能を提供するものとして図示される。この場合に、ユーザは設定された時間の長さ（例えば、「１５分、時間のみ」）を選択する、または設定された時間の長さおよび移動時間（例えば、「１５分、時間および移動」）を選択する選択肢が与えられる。したがって、この例における選択肢により、ユーザは、バッファ時間を指定すること、ならびに移動時間を利用することが可能になる。さまざまな他の例も企図され（例えば、移動時間を考慮するかどうかを指示するチェックボックスの使用）、そのさらなる検討は、以下の手順に関して見いだすことができる。
【００４６】
手順の例
[0056]  以下の検討は、先に説明したシステムおよびデバイスを利用して実施することができるリマインダ技法について説明する。手順の各々の態様は、ハードウェア、ファームウェア、もしくはソフトウェア、またはそれらの組合せで実施することができる。手順は、１つまたは複数のデバイスによって実行される動作を指定する１組のブロックとして示されるが、それぞれのブロックによる動作を実行するために示される順序に必ずしも限定されない。以下の検討のいくつかの部分において、図１〜７が参照される。
【００４７】
[0057]  図８は、ユーザのアクセスに基づいてリマインダを出力する時点が決定される実施形態における手順８００を示す。ユーザが予定イベントにアクセスするために関与すると予想される時間の長さは、コンピューティングデバイスによって決定される（ブロック８０２）。例えば、スケジューラモジュール１１８は、ネットワークを介して遠隔でまたは物理的に本人が直接になど、ユーザが予定イベントに「どのように」アクセスするように指定されるのかを決定することができる。さらに、この決定は、動力によるかまたは動力によらないかなど、移動方式、および動力によるアクセスに関与する移動方式にも基づくことができる。さらに、この決定は、サービスとの通信などによりコンピューティングデバイス１０２自体によって実行することもできる（例えば、GPSまたは他の場所決定機能を使用して）。
【００４８】
[0058]  さらに、コンピューティングデバイス１０２の予想される地理的位置の決定は、さまざまなやり方で実行することができる。これは、先に説明したように、コンピューティングデバイス１０２のセンサを使用して、またはサービスとの通信を通じて実行することができる。さらに、この決定は、当該イベントまでに予定されている別のイベントの地理的位置など、他の予定イベントの「情報」に基づくことができる。
【００４９】
[0059]  予定イベントの前にコンピューティングデバイスによってリマインダを出力する時点は、ユーザが予定イベントにアクセスするのに関与すると予想される決定された時間の長さに少なくとも一部基づいて計算される（ブロック８０４）。例えば、時点は、イベントの開始時間、上記で決定された移動時間、およびユーザ選択を使用してユーザによってまたはコンピューティングデバイス１０２によって自動的に設定されたバッファ時間に基づいて計算することができる。このようにして、スケジューラモジュール１１８は、リマインダを「いつ」出力するのかを決定することができる。
【００５０】
[0060]  次いで、計算された時点においてリマインダが出力される（ブロック８０６）。これは、ユーザインターフェースにおけるディスプレイ、触覚応答、音声出力などを含むことができる。このようにして、リマインダはユーザがどのようにイベントにアクセスするのかに基づいて動的に計算することができる。
【００５１】
[0061]  図９は、リマインダを表示する時点が、地理的位置への移動時間に少なくとも一部基づいて決定される実施形態における手順９００を示す。リマインダを表示する時点は、コンピューティングデバイスによって、リマインダに関連した目的地の地理的位置に物理的に移動するための予想移動時間に少なくとも一部基づいて決定される（ブロック９０２）。予想移動時間は、距離、移動方式、遭遇することのある遅延（例えば、建設工事、交通量、天候）など、さまざまな要因に基づいて計算することができる。前と同様に、これは、コンピューティングデバイス自体によって計算でき、１つまたは複数のウェブサービスを活用できる、などである。次いで、リマインダは、コンピューティングデバイスによって決定された時点において出力される（ブロック９０４）。前と同様に、出力は、さまざまな異なる出力技法を使用して実行することができる。
【００５２】
[0062]  図１０は、予定イベントに移動するために使用されると予想される時間の長さ（期間）がユーザのカレンダ上で利用不可能として指示される実施形態における手順を示す。予定イベントに関連する地理的位置へのユーザの予想移動時間に関して決定がなされる（ブロック１００２）。決定された予想移動時間は少なくとも、対応する時間の間は、予定イベントの前に、ユーザのスケジュールを使用して別のイベントを予定するためには利用不可能であることを示すのに使用される（ブロック１００４）。
【００５３】
[0063]  この決定は、リマインダに関して先に説明したように実行することができる。さらに、この決定は、リマインダに使用されるためや、その時間の長さがユーザのスケジュール上では利用不可能であることを指示するためなど、両方の目的にリマインダを活用することができる。これは、対応する時間が「ブロックアウト」されていることを示す、会議の要請の受領に応答してコンフリクトの可能性があるとして示すなど、さまざまなやり方で実行することができる。ユーザがデフォルトの場所、例えば、オフィスに戻ることができるように予定イベント後のある時間（期間）をブロックするために同様の決定を使用するためなど、さまざまな他の例も企図される。
【００５４】
システムおよびデバイスの例
[0064]  図１１は、本明細書で説明するさまざまな技法を実施することができる１つもしくは複数のコンピューティングシステムおよび／またはデバイスを代表するコンピューティングデバイスの一例１１０２を含むシステムの一例を全体的に１１００に図示する。例えば、コンピューティングデバイス１１０２は、サービスプロバイダのサーバ、クライアントに関連したデバイス（例えば、クライアントデバイス）、オンチップシステム、および／または任意の他の適切なコンピューティングデバイスもしくはコンピューティングシステムとすることができる。
【００５５】
[0065]  図示するコンピューティングデバイスの例１１０２は、処理システム１１０４と、１つまたは複数のコンピュータ可読媒体１１０６と、互いに通信可能に結合された１つまたは複数の入出力インターフェース１１０８とを含む。図示していないが、コンピューティングデバイス１１０２は、システムバスまたはさまざまな構成要素を互いに結合する他のデータおよびコマンド転送システムをさらに含むことができる。システムバスは、メモリバスもしくはメモリコントローラ、周辺機器用バス、ユニバーサルシリアルバス、および／またはさまざまなバスアーキテクチャのいずれかを利用するプロセッサもしくはローカルバスなど、異なるバス構造の任意の１つまたは組合せを含むことができる。制御およびデータ回線など、さまざまな他の例も企図される。
【００５６】
[0066]  処理システム１１０４は、ハードウェアを使用して１つまたは複数の動作を実行するための機能を代表する。したがって、処理システム１１０４は、プロセッサ、機能ブロックなどとして構成することができるハードウェア要素１１１０を含むものとして図示される。これは１つもしくは複数の半導体を使用して形成された特定用途向け集積回路または他の論理デバイスとしてのハードウェアでの実施を含むことができる。ハードウェア要素１１１０は、それらが形成される材料またはそれに採用された処理機構によって限定されない。例えば、プロセッサは、半導体および／またはトランジスタ（例えば、電子集積回路（IC））から構成され得る。このような関係において、プロセッサ実行可能命令は、電子的実行可能命令でよい。
【００５７】
[0067]  コンピュータ可読記憶媒体１１０６は、メモリ／ストレージ１１１２を含むものとして図示される。メモリ／ストレージ１１１２は、１つまたは複数のコンピュータ可読媒体に関連したメモリ／ストレージ容量を代表することができる。メモリ／ストレージ構成要素１１１２は、揮発性媒体（ランダムアクセスメモリ（RAM: random access memory）など）および／または不揮発性媒体（読み出し専用メモリ（ROM: read only memory）、フラッシュメモリ、光ディスク、磁気ディスクなど）を含むことができる。メモリ／ストレージ構成要素１１１２は、固定媒体（例えば、RAM、ROM、固定ハードドライブなど）ならびに取り外し可能媒体（例えば、フラッシュメモリ、取り外し可能ハードドライブ、光ディスクなど）を含むことができる。コンピュータ可読媒体１１０６は、さらに以下に説明するようにさまざまな他のやり方で構成することができる。
【００５８】
[0068]  入出力インターフェース１１０８は、さまざまな入出力デバイスを使用して、ユーザがコマンドおよび情報をコンピューティングデバイス１１０２に入力することを可能にし、また情報がユーザおよび／または他の構成要素もしくはデバイスに提示されることも可能にするための機能を代表する。入力デバイスの例は、キーボード、カーソル制御デバイス（例えば、マウス）、マイクロホン、スキャナ、接触機能（例えば、物理的接触を検知するように構成される容量性または他のセンサ）、カメラ（例えば、接触を伴わないジェスチャとしての動きを認識するために赤外周波数などの可視または非可視波長を採用することができる）などを含む。出力デバイスの例は、ディスプレイデバイス（例えば、モニタまたはプロジェクタ）、スピーカ、プリンタ、ネットワークカード、および触覚応答デバイスなどを含む。したがって、コンピューティングデバイス１１０２は、以下にさらに説明するように、ユーザの相互作用をサポートするためにさまざまなやり方で構成することができる。
【００５９】
[0069]  ソフトウェア、ハードウェア要素、またはプログラムモジュールの一般的な関係においてさまざまな技法について本明細書で説明することができる。一般に、このようなモジュールは、特定のタスクを実行し、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、要素、構成要素、データ構造などを含む。本明細書で使用する「モジュール」、「機能」、および「構成要素」という用語は、一般にソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せを表す。本明細書で説明する技法の特徴は、プラットホームに依存しないこと、すなわち、技法がさまざまなプロセッサを有するさまざまな商用コンピューティングプラットホーム上で実施できることである。
【００６０】
[0070]  説明したモジュールおよび技法の実施は、何らかの形のコンピュータ可読媒体上に格納する、または何らかの形のコンピュータ可読媒体にわたって伝送することができる。コンピュータ可読媒体は、コンピューティングデバイス１１０２によってアクセスすることができるさまざまな媒体を含むことができる。一例として、コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「コンピュータ可読信号媒体」を含むことができるが、これに限定されない。
【００６１】
[0071]  「コンピュータ可読記憶媒体」は、単なる信号伝送、搬送波、または信号自体と対照的に情報の永続的および／または非一時的格納を可能にする媒体および／またはデバイスを指すことができる。したがって、コンピュータ可読記憶媒体は、非信号搬送媒体を指す。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、論理要素／回路、または他のデータなど、情報の格納に適切な方法または技術で実施される揮発性および非揮発性、取り外し可能および非取り外し可能媒体および／または記憶デバイスなどのハードウェアを含む。コンピュータ可読記憶媒体の例は、限定はされないが、ＲＡＭ，ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ，デジタル多用途ディスク（DVD）もしくは他の光記憶装置、ハードディスク、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または他の記憶デバイス、有形媒体、または所望の情報を格納するのに適切でありコンピュータによってアクセスすることができる製造品を含むことができる。
【００６２】
[0072]  「コンピュータ可読信号媒体」は、ネットワークを介してなど、命令をコンピューティングデバイス１１０２のハードウェアに伝送するように構成される信号搬送媒体を指すことができる。信号媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波、データ信号、または他の輸送手法などの変調データ信号で具現化することができる。信号媒体は、任意の情報送達媒体も含む。「変調データ信号」という用語は、信号の特性の１つまたは複数が情報を信号の形で符号化するように設定または変更された信号を意味する。一例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含むが、これに限定されない。
【００６３】
[0073]  先に説明したように、ハードウェア要素１１１０およびコンピュータ可読媒体１１０６は、１つまたは複数の命令を実行するためなど、本明細書で説明する技法の少なくともいくつかの態様を実施するいくつかの実施形態に採用され得るハードウェアの形で実施されるモジュール、プログラマブルデバイスロジックおよび／または固定デバイスロジックを代表する。ハードウェアは、集積回路またはオンチップシステム、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、複合プログラマブル論理デバイス（CPLD）、およびシリコンまたは他のハードウェアでの実施の構成要素を含むことができる。この関係において、ハードウェアは、ハードウェアによって具現化される命令および／またはロジックによって定義されたプログラムタスクを実行する処理デバイスとして、ならびに実行のための命令を格納するのに利用されるハードウェア、例えば、先に説明したコンピュータ可読記憶媒体として動作することができる。
【００６４】
[0074]  前述の組合せは、本明細書で説明するさまざまな技法を実施するために採用することもできる。したがって、ソフトウェア、ハードウェア、または実行可能モジュールは、何らかの形のコンピュータ可読記憶媒体上に具現化された１つもしくまたは複数の命令および／またはロジックとして、ならびに／または１つまたは複数のハードウェア要素１１１０によって実施することができる。コンピューティングデバイス１１０２は、ソフトウェアおよび／またはハードウェアモジュールに対応する特定の命令および／または機能を実施するように構成することができる。したがって、コンピューティングデバイス１１０２によってソフトウェアとして実行可能なモジュールの実施は、例えば、処理システム１１０４のコンピュータ可読記憶媒体および／またはハードウェア要素１１１０の使用により、少なくとも部分的にハードウェアで達成することができる。命令および／または機能は、本明細書で説明する技法、モジュール、および例を実施するために１つまたは複数の製造品（例えば、１つもしくは複数のコンピューティングデバイス１１０２および／または処理システム１１０４）によって実行可能／動作可能であり得る。
【００６５】
[0075]  さらに図１１に示すように、システムの例１１００により、パーソナルコンピュータ（PC）、テレビジョンデバイス、および／または携帯デバイス上でアプリケーションを起動したときシームレスなユーザ体験のためのユビキタス環境が可能になる。サービスおよびアプリケーションは、アプリケーションを利用し、ビデオゲームを行い、ビデオを見るなどしながら、１つのデバイスから次のデバイスに移行したとき、共通のユーザ体験のために３つすべての環境で実質的に同様に動作する。
【００６６】
[0076]  システムの例１１００において、複数のデバイスが集中コンピューティングデバイスを通じて相互接続される。集中コンピューティングデバイスは、複数のデバイスにはローカルであることができ、または複数のデバイスから遠隔に配置することができる。一実施形態において、集中コンピューティングデバイスは、ネットワーク、インターネット、または他のデータ通信リンクを通じて複数のデバイスに接続される１つまたは複数のサーバコンピュータのクラウドであることができる。
【００６７】
[0077]  一実施形態において、この相互接続アーキテクチャにより、機能が複数のデバイスにわたって送り届けられて複数のデバイスのユーザに共通かつシームレスな体験を提供することが可能となる。例えば、機能は、環境を通じて分配することができ、例えば、スケジューラモジュール１１８は、ウェブプラットホームの一部として実施することができ、コンピューティングデバイス１１０２上でローカルで実施することができるなどである。複数のデバイスの各々は、異なる物理的な要件および機能を有することができ、集中コンピューティングデバイスは、プラットホームを使用して、そのデバイスに合わせた、しかもすべてのデバイスに共通でもある体験をデバイスへ送り届けることを可能にする。一実施形態において、対象デバイスのクラスを作り、体験がデバイスの一般的クラスに合わせられる。デバイスのクラスは、デバイスの物理的特徴、使用の種類、または他の共通の特性によって規定され得る。
【００６８】
[0078]  さまざまな実施において、コンピューティングデバイス１１０２は、コンピュータ１１１４、携帯機器１１１６、およびテレビジョン１１１８用途など、さまざまな異なる構成を想定することができる。これらの構成の各々は、一般に異なる構成概念および機能を有することがあるデバイスを含み、したがって、コンピューティングデバイス１１０２は、異なるデバイスクラスの１つまたは複数に従って構成することができる。例えば、コンピューティングデバイス１１０２は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ノートブックなどを含むコンピュータ１１１４クラスのデバイスとして実施することができる。
【００６９】
[0079]  コンピューティングデバイス１１０２は、携帯電話、ポータブルミュージックプレーヤ、ポータブルゲーミングデバイス、タブレット型コンピュータ、マルチスクリーンコンピュータなど、携帯デバイスを含む携帯機器１１１６クラスのデバイスとして実施することもできる。コンピューティングデバイス１１０２は、通常の視聴環境で一般的により大型の画面を有するまたはより大型の画面に接続されたデバイスを含むテレビジョン１１１８クラスのデバイスとして実施することもできる。これらのデバイスは、テレビジョン、セットトップボックス、ゲーム機、デバイスの地理的位置を検知することができるデバイスなどを含む。
【００７０】
[0080]  本明細書で説明する技法は、コンピューティングデバイス１１０２のこれらのさまざまな構成によってサポートすることができ、本明細書で説明する技法の具体的な例に限定されない。この機能は、以下に説明するようにプラットホーム１１２２を介して「クラウド」１１２０にわたってなど、分散システムの使用により全部または一部を実施することもできる。
【００７１】
[0081]  クラウド１１２０は、リソース１１２４用のプラットホーム１１２２を含むおよび／または代表する。プラットホーム１１２２は、クラウド１１２０のハードウェア（例えば、サーバ）およびソフトウェア資源の基盤となる機能を抽出する。リソース１１２４は、コンピュータ処理がコンピューティングデバイス１１０２から遠隔のサーバ上で実行される間、利用することができるアプリケーションおよび／またはデータを含むことができる。リソース１１２４は、インターネットにわたっておよび／またはセルラーもしくはＷｉ−Ｆｉネットワークなどの加入者ネットワークを通じて提供されるサービスも含むことができる。
【００７２】
[0082]  プラットホーム１１２２は、コンピューティングデバイス１１０２を他のコンピューティングデバイスに接続するためのリソースおよび機能を抽出することができる。プラットホーム１１２２は、プラットホーム１１２２を介して実施される遭遇するリソース１１２４の需要に対応するスケールのレベルを提供するためにリソースのスケーリングを抽出する働きをすることもできる。したがって、相互接続されたデバイスの実施形態において、本明細書で説明する機能の実施は、システム１１００全体を通して配分することができる。例えば、機能は、コンピューティングデバイス１１０２上でならびにクラウド１１２０の機能を抽出するプラットホーム１１２２を介して一部実施することができる。
【００７３】
結論
[0083]  例示した実施の形態を構造的特徴および／または方法の行為に特有の文言によって説明してきたが、添付の特許請求の範囲に定義される実施の形態は、必ずしも説明した特定の特徴または行為に限定されないことを理解されたい。むしろ、特定の特徴および行為は、特許請求される特徴を実施する例示の形態として開示されている。
【図１】
2015528933.tif 000003
【図２】
2015528933.tif 000004
【図３】
2015528933.tif 000005
【図４】
2015528933.tif 000006
【図５】
2015528933.tif 000007
【図６】
2015528933.tif 000008
【図７】
2015528933.tif 000009
【図８】
2015528933.tif 000010
【図９】
2015528933.tif 000011
【図１０】
2015528933.tif 000012
【図１１】
2015528933.tif 000013
【国際調査報告】
2015528933.tif 000014
2015528933.tif 000015