(57)【要約】  タスク項目を処理する技法を提供する。タスク項目とは、手動によってであれ又は自動的にであれ、実行されるべきタスクを表す電子データのことである。タスク項目は、タスクの記述及びタスクの場所のような、タスク項目に対応するタスクに関する１つ以上の詳細を含む。具体的には、タスク項目を生成し、タスク項目を体系化し、タスク項目の通知をトリガし、及びタスク項目を消化する技法について説明する。一取り組み方において、ユーザからの入力及びその入力の文脈に基づいて、タスク項目が生成される。別の取り組み方では、タスク項目を複数のリストにインテリジェントに体系化するために、これらタスク項目の異なる属性が使用される。別の取り組み方では、電子メールの送信、電話をかけること、テキストの送信、及び検索など、通知の生成以外のアクションが有効化され、又は自動的に実行される。
2015519838.tif 000002
【特許請求の範囲】
【請求項１】
タスク項目に関連付けられたアクションを開始する、コンピュータによって実行される方法であって、
プロセッサ及び前記プロセッサによって実行される命令を記憶するメモリを有する電子機器で、
タスクの１つ以上の属性を指定する入力をユーザから受け取るステップと、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成するステップと、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示するステップと、
前記起動領域のユーザ選択を受け取るステップと、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行するステップと、
を含む方法。
【請求項２】
前記起動領域が前記タスク項目の表題と重なり合う、請求項１に記載のコンピュータによって実行される方法。
【請求項３】
前記起動領域が前記タスク項目の記述と重なり合う、請求項１に記載のコンピュータによって実行される方法。
【請求項４】
前記起動領域がグラフィカルオブジェクトと重なり合う、請求項１に記載のコンピュータによって実行される方法。
【請求項５】
前記グラフィカルオブジェクトが前記タスク項目の表題の隣に表示される、請求項４に記載のコンピュータによって実行される方法。
【請求項６】
前記グラフィカルオブジェクトが前記タスク項目の記述の隣に表示される、請求項４に記載のコンピュータによって実行される方法。
【請求項７】
前記アクションの実行に応じて、前記タスク項目が完了したとしてマーキングするステップを更に含む、請求項１乃至６のいずれか一項に記載のコンピュータによって実行される方法。
【請求項８】
前記起動領域の前記ユーザ選択を受け取るステップの後でかつ前記アクションを実行するステップの前に、
前記アクションを実行する許可を求めるプロンプトを表示するステップと、
前記ユーザから許可入力を受け取るステップと、
を更に含む、請求項１乃至７のいずれか一項に記載のコンピュータによって実行される方法。
【請求項９】
前記タスク項目が、前記タスクを完了するための通知をトリガすべき時を判定するトリガ判定基準に関連付けられていない、請求項１乃至８のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１０】
前記タスク項目が、前記アクションを実行すべき時を指示するトリガ判定基準に関連付けられていない、請求項１乃至８のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１１】
前記アクションが、電子メール又はテキストメッセージを、ネットワークを介して前記タスク項目に関連付けられた受信者へ送信させることである、請求項１乃至１０のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１２】
前記アクションがテキスト作文エリアを表示することであり、ユーザによって前記テキスト作文エリア内に入力されたテキストが、電子メール又はテキストメッセージとしてネットワークを介して前記タスク項目に関連付けられた受信者に送信される、請求項１乃至１０のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１３】
前記アクションが、前記タスク項目に関連付けられた電話番号に関連付けられた機器への通話を開始することである、請求項１乃至１０のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１４】
前記アクションが、前記タスク項目に関連付けられた、検索クエリ又はＵＲＬに基づいて検索を開始することである、請求項１乃至１０のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１５】
前記実行されるべきアクションを実行させるステップが、第１のプロセスによって第２のプロセスに前記第１のアクションを実行させるステップを含む、請求項１乃至１４のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１６】
前記第１のプロセスによって前記第２のプロセスに前記アクションを実行させるステップが、前記第１のプロセスによって前記第２のプロセスのＡＰＩコールを呼び出すステップを含み、前記ＡＰＩコールが前記タスク項目に関連付けられた１つ以上の属性を含む、請求項１５に記載のコンピュータによって実行される方法。
【請求項１７】
前記入力が前記タスク項目の前記生成を開始し、前記タスクに関連付けられた前記アクションを識別するデータを含む、請求項１乃至１６のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１８】
前記入力が、ハンドヘルド装置で受け取られた音声入力に基づく、請求項１乃至１７のいずれか一項に記載のコンピュータによって実行される方法。
【請求項１９】
前記アクションを実行する前記ステップに関連付けられた１つ以上のイベントを検出するステップと、
前記１つ以上のイベントが前記アクションが完了したことを示す１つ以上の条件を満たすかを判定するステップと、
を更に含む、請求項１乃至１８のいずれか一項に記載のコンピュータによって実行される方法。
【請求項２０】
前記アクションが電子メールを送信することであり、前記電子機器によって電子メールが送信されたことの判定と同時に前記１つ以上の条件が満たされる、請求項１９に記載のコンピュータによって実行される方法。
【請求項２１】
前記アクションが通話を開始することであり、通話開始要求の受け取りと同時に前記１つ以上の条件が満たされる、請求項１９に記載のコンピュータによって実行される方法。
【請求項２２】
前記アクションが通話を開始することであり、通話接続イベントの検出と同時に前記１つ以上の条件が満たされる、請求項１９に記載のコンピュータによって実行される方法。
【請求項２３】
通話の特性である音声入力の検出と同時に前記１つ以上の条件が満たされる、請求項２１又は２２のいずれか一項に記載のコンピュータによって実行される方法。
【請求項２４】
前記アクションの実行の不履行に関連付けられた１つ以上のイベントを検出するステップと、
前記１つ以上のイベントが、前記アクションが完了していないことを示す１つ以上の条件を満たすかを判定するステップと、
を更に含む、請求項１乃至２３のいずれかの一項に記載のコンピュータによって実行される方法。
【請求項２５】
前記電子装置上の制御要素のユーザ選択の受け取りと同時に前記１つ以上の条件が満たされる、請求項２４に記載のコンピュータによって実行される方法。
【請求項２６】
前記制御要素が、
タッチスクリーンの起動領域と、
電源ボタンと、
制御ボタンと、
スイッチと、
からなる群から選択される、請求項２５に記載のコンピュータによって実行される方法。
【請求項２７】
前記アクションが通話を開始することであり、前記起動領域の選択後の所定の時間内での音声入力の検出と同時に前記１つ以上の条件が満たされる、請求項２４に記載のコンピュータによって実行される方法。
【請求項２８】
１つ以上のプログラムを記憶するコンピュータ可読記憶媒体であって、電子機器の１つ以上のプロセッサによって実行されると、前記電子機器に、
タスクの１つ以上の属性を指定する入力をユーザから受け取らせ、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成させ、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示させ、
前記起動領域のユーザ選択を受け取らせ、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行させる、
コンピュータ可読記憶媒体。
【請求項２９】
電子機器であって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行される１つ以上のプログラムを記憶するメモリであって、前記１つ以上のプログラムが、
タスクの１つ以上の属性を指定する入力をユーザから受け取るため、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成するため、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示するため、
前記起動領域のユーザ選択を受け取るため、及び
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行するため、
の命令を含む、前記メモリと、
を備える、電子機器。
【請求項３０】
電子機器であって、
タスクの１つ以上の属性を指定する入力をユーザから受け取る手段と、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成する手段と、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示する手段と、
前記起動領域のユーザ選択を受け取る手段と、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行する手段と、
を備える、電子機器。
【請求項３１】
電子機器に使用するための情報処理装置であって、
タスクの１つ以上の属性を指定する入力をユーザから受け取る手段と、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成する手段と、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示する手段と、
前記起動領域のユーザ選択を受け取る手段と、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行する手段と、
を備える、情報処理装置。
【請求項３２】
電子機器の１つ以上のプロセッサにより実行される１つ以上のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、請求項１乃至２７に記載の方法のうちのいずれかを実行するための命令を含んでいる、コンピュータ可読記憶媒体。
【請求項３３】
１つ以上のプロセッサと、前記１つ以上のプロセッサにより実行される１つ以上のプログラムを記憶するメモリと、を備え、前記１つ以上のプログラムが、請求項１乃至２７に記載の方法のうちのいずれかを実行するための命令を含んでいる、電子装置。
【請求項３４】
請求項１乃至２７に記載の方法のうちのいずれかを実行する手段を備える、電子装置。
【請求項３５】
請求項１乃至２７に記載の方法のうちのいずれかを実行する手段を備える、電子装置において使用するための情報処理装置。
【請求項３６】
電子機器であって、
ユーザ入力を受け取るように構成された入力受け取りユニットと、
情報を表示するように構成された表示ユニットと、
前記入力受け取りユニット及び前記表示ユニットに連結した処理ユニットであって、前記処理ユニットは、
タスクの１つ以上の属性を指定する入力をユーザから受け取り、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成し、
前記タスク項目及びそれに関連付けられた起動領域のタスクリスト内での表示を有効化し、
前記起動領域のユーザ選択を受け取り、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行する、
ように構成された、前記処理ユニットと、
を備える、電子機器。
【請求項３７】
前記起動領域が前記タスク項目の表題と重なり合う、請求項３６に記載の電子機器。
【請求項３８】
前記起動領域が前記タスク項目の記述と重なり合う、請求項３６に記載の電子機器。
【請求項３９】
前記起動領域がグラフィカルオブジェクトと重なり合う、請求項３６に記載の電子機器。
【請求項４０】
前記グラフィカルオブジェクトが前記タスク項目の表題の隣に表示される、請求項３９に記載の電子機器。
【請求項４１】
前記グラフィカルオブジェクトが前記タスク項目の記述の隣に表示される、請求項３９に記載の電子機器。
【請求項４２】
前記処理ユニットが、前記アクションの実行に応じて、前記タスク項目を完了としてマーキングするように、更に構成されている、請求項３６乃至４１のいずれか一項に記載の電子機器。
【請求項４３】
前記処理ユニットが、
前記アクションを実行する許可を求めるプロンプトの表示を有効化し、
前記ユーザから許可入力を受け取るように、
更に構成されている、請求項３６乃至４２のいずれか一項に記載の電子機器。
【請求項４４】
前記タスク項目が、前記タスクを完了するための通知をトリガするべき時を判定するトリガ判定基準に関連付けられていない、請求項３６乃至４３のいずれか一項に記載の電子機器。
【請求項４５】
前記タスク項目が、前記アクションを実行すべき時を指示するトリガ判定基準に関連付けられていない、請求項３６乃至４３のいずれか一項に記載の電子機器。
【請求項４６】
前記アクションが、電子メール又はテキストメッセージを、ネットワークを介して前記タスク項目に関連付けられた受信者へ送らせることである、請求項３６乃至４５のいずれか一項に記載の電子機器。
【請求項４７】
前記アクションがテキスト作文エリアを表示させることであり、ユーザによって前記テキスト作文エリア内に入力されたテキストが電子メール又はテキストメッセージとしてネットワークを介して前記タスク項目に関連付けられた受信者に送信される、請求項３６乃至４５のいずれか一項に記載の電子機器。
【請求項４８】
前記アクションが、前記タスク項目に関連付けられた電話番号に関連付けられた機器への通話を開始することである、請求項３６乃至４５のいずれか一項に記載の電子機器。
【請求項４９】
前記アクションが、前記タスクに関連付けられた検索クエリ又はＵＲＬに基づいて検索を開始することである、請求項３６乃至４５のいずれか一項に記載の電子機器。
【請求項５０】
前記実行されるべきアクションを実行させることが、第１のプロセスによって第２のプロセスに前記第１のアクションを実行させることを含む、請求項３６乃至４９のいずれか一項に記載の電子機器。
【請求項５１】
前記第１のプロセスによって前記第２のプロセスに前記アクションを実行させるステップが、前記第１のプロセスによって前記第２のプロセスのＡＰＩコールを呼び出すステップを含み、前記ＡＰＩコールが前記タスク項目に関連付けられた１つ以上の属性を含む、請求項５０に記載の電子機器。
【請求項５２】
前記入力が前記タスク項目の前記生成を開始し、前記タスクに関連付けられた前記アクションを識別するデータを含む、請求項３６乃至５１のいずれか一項に記載の電子機器。
【請求項５３】
前記入力が、ハンドヘルド装置で受け取られた音声入力に基づく、請求項３６乃至５２のいずれか一項に記載の電子機器。
【請求項５４】
前記処理ユニットが、
前記アクションの前記実行に関連付けられた１つ以上のイベントを検出し、
前記１つ以上のイベントが、前記アクションが完了したことを示す１つ以上の条件を満たすかを判定するように、
更に構成されている、請求項３６乃至５２のいずれか一項に記載の電子機器。
【請求項５５】
前記アクションが電子メールを送信することであり、前記電子機器によって電子メールが送信されたことの判定と同時に前記１つ以上の条件が満たされる、請求項５４に記載の電子機器。
【請求項５６】
前記アクションが通話を開始することであり、通話開始要求の受け取りと同時に前記１つ以上の条件が満たされる、請求項５４に記載の電子機器。
【請求項５７】
前記アクションが通話を開始することであり、通話接続イベントの検出と同時に前記１つ以上の条件が満たされる、請求項５４に記載の電子機器。
【請求項５８】
通話の特性である音声入力の検出と同時に前記１つ以上の条件が満たされる、請求項５６〜５７のいずれか一項に記載の電子機器。
【請求項５９】
前記処理ユニットが、
前記アクションの実行の不履行に関連付けられた１つ以上のイベントを検出し、
前記１つ以上のイベントが前記アクションが完了していないことを示す１つ以上の条件を満たすかを判定するように、
更に構成されている、請求項３６乃至５８のいずれか一項に記載の電子機器。
【請求項６０】
前記電子機器上の制御要素のユーザ選択の受け取りと同時に前記１つ以上の条件が満たされる、請求項５９機記載の電子機器。
【請求項６１】
前記制御要素が、
タッチスクリーンの起動領域と、
電源ボタンと、
制御ボタンと、
スイッチと、
とからなる群から選択される、請求項６０に記載の電子機器。
【請求項６２】
前記アクションが通話を開始することであり、前記起動領域を選択後の所定時間内での音声入力の検出と同時に前記１つ以上の条件が満たされる、請求項５９に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子リマインダに関し、より具体的には、電子的なＴｏ  Ｄｏリスト内のリマインダ及びタスクのインテリジェントな生成、体系化、トリガ、及び送達に関する。
【背景技術】
【０００２】
人々は、特定のタスク又はイベントを自身にリマインドするための様々な方法を考案してきた。多くの人が、付箋紙及びカレンダのような書き込むことのできる物理的な媒体を使用してきたし、依然として使用している。電子機器の普及に伴い、多くの人が、自身のＴｏ  Ｄｏリストの管理及び近い将来に発生するイベントの記録の保管に役立てるためにコンピュータに頼ってきた。非常に多くのリマインダ及びＴｏ  Ｄｏ管理アプリケーション両方が、デスクトップコンピュータ並びにラップトップコンピュータ、タブレットコンピュータ、及び「スマート」フォンなどのハンドヘルド装置用として利用可能である。
【０００３】
しかし、リマインダアプリケーションのユーザに提供される通知の適時性及び正確度は、ほとんど完全にユーザから受け取った入力に依存する。例えば、ユーザが重要なイベントの誤った日付をリマインダに入力した場合、ユーザは、そのイベントが起こった後までそのイベントの通知を受け取らないかもしれない。別の例として、ユーザが、Ｔｏ  Ｄｏ管理アプリケーションにタスクの一般的な記述（例えば、「彼に電子メールを送る」）を与えた場合、後になってユーザがその記述を読んだ時に、ユーザは「彼」が誰のことか、及び／又はその電子メールの内容が何であるべきかを覚えていないかもしれない。換言すれば、リマインダ及びＴｏ  Ｄｏ管理アプリケーションに関して言えば、「ゴミを入れればゴミが出てくる」という古い諺が適用される。
【０００４】
本節で説明する取り組み方は、遂行することが可能な取り組み方ではあるが、必ずしも以前に考案され又は遂行されたことのある取り組み方とは限らない。したがって、特に断りのない限り、本筋で説明する取り組み方のいずれも、ただ単に本節に含まれているからというだけで、先行技術であるとみなすべきではない。
【発明の概要】
【０００５】
ユーザが自身のタスクを管理するのを支援するための複数の技法を下記に提供する。タスクは、コンピューティングシステム内でタスク項目として表される。具体的には、タスク項目を生成し、タスク項目を体系化し、それぞれ対応するタスク項目に基づいてタスクの通知をトリガし、及びタスク項目を消化するための取り組み方を、下記に詳細に説明する。
【０００６】
タスク項目の生成に関して、タスク項目はユーザからの入力に基づいて生成される。入力（音声にせよ又はテキストにせよ）はタスクに関する１つ以上の詳細を含む一方、入力の文脈はそのタスクに関する１つ以上の他の詳細を判定するために使用される。これら１つ以上の他の詳細は、この入力には反映されていない。文脈は、ユーザの機器上に記憶されているデータを含んでいることもある。例えば、ユーザが「今日の午後５時にＧｅｏｒｇｅに電話する」という音声入力を与える。ユーザは、ファーストネームがＧｅｏｒｇｅである複数の人物に関する情報を含む連絡先リストを有しているかもしれない。しかし、ある特定のＧｅｏｒｇｅに関連付けられた電話番号からの最近のボイスメッセージといったようなこの入力の文脈に基づいて、ユーザがどのＧｅｏｒｇｅに電話をかける意図であるかを判定することができる。このようにすれば、ユーザは、あるタスクに関する入力を与える際に、そのタスクの各詳細を具体的にする必要がない。
【０００７】
タスク項目の通知のトリガに関して、機器の１つ以上の特性を使用して通知をトリガすべきであるかを判定することができる。したがって、ユーザに対して通知を提供すべきであるかの要素は（時刻が要素であるにしても）時刻のみではない。このような特性の例としては、機器が何処に位置しているか、機器が何を表示しているか又は処理しているか、及び機器の具体的な動きを挙げることができる。例えば、機器が自動車内又は職場にあるという事実が、タスクのリマインダの生成をトリガする場合がある。別の例としては、機器が現在ウェブのコンテンツを表示している場合、機器のユーザは「オンライン」であるとみなすことができ、この状態が、ユーザに提供すべきタスクの通知をトリガするかもしれない。
【０００８】
タスク項目の「消化」に関して、ただ単にタスクのリマインダを提供する代わりに、タスクを実行するために通常必要なステップをユーザが実行しなくても済むように、タスクが自動化される。例えば、ユーザは、ある特定の時刻にある特定の人物に電話をかけたいと思うかもしれない。この特定の時刻が現在時刻である時に、ただ単にユーザに電話のことをリマインドする代わりに、ユーザがその人物の電話番号を指定する必要なく、電話をかける準備を整えることができる。
【０００９】
タスク項目の体系化に関して、タスク項目は、自動的に又は手動によって複数のリストに体系化することができる。各リストは、タスクの種類、タスクの通知をトリガするために使用される判定基準の種類、及びタスクを実行すべき場所などの、タスク項目の異なる属性に対応する。
【００１０】
いくつかの実施形態において、ある方法は、タスクの１つ以上の属性を指定する入力をユーザから受け取るステップ、及び、電子機器によって実行されるべき、このタスクに関連付けられているアクションの識別を含む、この入力に基づいてタスク項目を生成するステップを含む。この方法はまた、タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示するステップをも含む。この方法は、起動領域のユーザ選択を受け取るステップ、及び起動領域のユーザ選択の受毛取りに応じてアクションを実行するステップを、更に含む。
【００１１】
いくつかの実施形態によれば、電子機器は、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを含み、これら１つ以上のプログラムは、メモリに記憶されており、これら１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは本明細書内で述べる方法のうちのいずれかの動作を実行するための命令を含む。いくつかの実施形態によれば、コンピュータ可読記憶媒体は内部に命令を記憶しており、この命令は、電子機器によって実行されると、機器に本明細書内で説明する方法のうちのいずれかの動作を実行させる。いくつかの実施形態によれば、電子機器は、本明細書内で説明する方法のうちのいずれかの動作を実行するための手段を含む。いくつかの実施形態よれば、電子機器内で使用するための情報処理装置は、本明細書内で説明する方法のうちのいずれかの動作を実行するための手段を含む。
【００１２】
いくつかの実施形態によれば、電子機器は、ユーザ入力を受け取るように構成された入力受け取りユニット、及び情報を表示するように構成された表示ユニットを含む。電子機器はまた、入力受け取りユニット及び表示ユニットに連結した処理ユニットをも含む。処理ユニットは、タスクの１つ以上の属性を指定する入力をユーザから受け取り、及び、電子機器によって実行されるべき、このタスクに関連付けられている、アクションを指定することを含むタスク項目をこの入力に基づいて生成するように構成されている。処理ユニットはまた、このタスク項目及びこれに関連付けられた起動領域の表示をタスクリスト内で有効化するようにも構成されている。処理ユニットは、起動領域のユーザ選択を受け取り、この起動領域のユーザ選択の受け取りに応じてアクションを実行するように、更に構成されている。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る、タスク項目を作成及び処理するために使用されるシステムを示したブロック図である。
【図２】本発明の実施形態に係る、ユーザ入力の文脈に基づいてタスク項目を生成するプロセスを示したフローチャートである。
【図３】本発明の一実施形態に係る、タスクの予定された時刻に先駆けてユーザにリマインダを提供する時刻を判定するプロセスを示したフローチャートである。
【図４】本発明の一実施形態に係る、移動リマインダのビューである。
【図５Ａ】本発明の一実施形態に係る、一種類のリストのビューである。
【図５Ｂ】本発明の一実施形態に係る、一種類のリストのビューである。
【図６】本発明の一実施形態に係る、一種類のリストのビューである。
【図７】本発明の一実施形態に係る、一種類のリストのビューである。
【図８】本発明の一実施形態に係る、一種類のリストのビューである。
【図９】本発明の一実施形態に係る、一種類のリストのビューである。
【図１０Ａ】本発明の一実施形態に係る、一種類のリストのビューである。
【図１０Ｂ】本発明の一実施形態に係る、一種類のリストのビューである。
【図１１Ａ】本発明の一実施形態に係る、一種類のリストのビューである。
【図１１Ｂ】本発明の一実施形態に係る、一種類のリストのビューである。
【図１１Ｃ】本発明の一実施形態に係る、一種類のリストのビューである。
【図１１Ｄ】本発明の一実施形態に係る、一種類のリストのビューである。
【図１２】本発明の一実施形態に係る、一種類のリストのビューである。
【図１３】本発明の一実施形態に係る、一種類のリストのビューである。
【図１４】本発明の一実施形態に係る、一種類のリストのビューである。
【図１５】本発明の一実施形態に係る、一種類のリストのビューである。
【図１６】本発明の一実施形態を実行することのできるコンピュータシステムを図示したブロック図である。
【図１７】本発明の実施形態に係る、タスク項目に関連付けられたアクションを開始するプロセスを示したフローチャートである。
【図１８】いくつかの実施形態に係る電子機器の機能ブロック図である。
【発明を実施するための形態】
【００１４】
以下の記載において、説明を目的として、本発明の完全な理解を提供するために、様々な具体的な詳細について説明する。しかしながら、本発明は、これらの具体的な詳細を伴わずとも実践することができる点が明らかとなるであろう。その他の場合において、本発明を不必要に不明瞭としないために、周知の構造体及び機器はブロック図の形態で示されている。
【００１５】
システムの概要
図１は、本発明の一実施形態に係る、タスク項目を作成及び処理するために使用されるシステム１００を示したブロック図である。システム１００は、機器１１０、ネットワーク１２０、及びクラウド１３０を含んでいる。
【００１６】
機器１１０は、ユーザから入力を受け取り、タスクに関する情報を表示することのできる任意のコンピュータデバイスである。機器１１０の非限定的な例としては、デスクトップコンピュータ並びにラップトップコンピュータ、タブレットコンピュータ、及び「スマート」フォンなどのハンドヘルド装置が挙げられる。図示した実施形態において、機器１１０は、タスクマネージャ１１２を含んでいる。タスクマネージャ１１２は、リマインダ型及び非リマインダ型の両方のタスク項目を処理する。タスクマネージャ１１２は、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの任意の組み合わせで実施することができる。
【００１７】
機器１１０は、他の機器と情報を共有するための通信技術（例えば、無線技術）を含んでいる。機器１１０は、様々な一体型のユーザインターフェース装置を含むことができ、又は機器の１つ以上の通信ポート若しくはデータリンクを介してユーザインターフェース装置と連結することができる。ユーザインターフェース装置の非限定的な例としては、音声入力装置（例えば、マイクロフォン）、物理的な入力装置（例えば、キーボード、マウス、トラックボール、ロータリーダイヤル若しくはホイール、タッチパッド、又はタッチスクリーン）、及びモーションセンサ（例えば、加速度計、磁力計、又はジャイロスコープ）が挙げられる。これらユーザインターフェース装置のいずれも、有線又は無線通信技術を使用して機器１１０と通信してユーザ入力を提供する外部装置として実施することができる。有線通信技術の例としては、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、ＦｉｒｅＷｉｒｅ（登録商標）インターフェースなどが挙げられる。無線通信技術の例としては、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、ＷｉＭａｘ（登録商標）、及び赤外線が挙げられる。機器１１０は、これらのユーザインターフェース装置を介してユーザからの物理的な入力又は音声入力を受け取ることができる。
【００１８】
機器１１０は、ユーザに視覚情報及びオーディオ情報を提示するための１つ以上の出力装置を含んでいる。出力装置の非限定的な例としては、視覚データを表示するディスプレイ装置及びオーディオを再生するスピーカを含んでいる。
【００１９】
クラウド１３０は１つ以上のコンピューティングデバイスによって実施されている。クラウド１３０は、ＮＬＰ（自然言語処理）サービス１３２及び１つ以上のその他のサービス１３４Ａ〜Ｎなどの複数のサービスをホスティングしている。ＮＬＰサービス１３２は、ユーザが言おうとしていることを理解するために、ユーザが語る可能性のある現実世界の事柄の１つ以上のモデルを使用している。例えば、ＮＬＰサービス１３２は、モデル及び文脈に基づいて、ユーザが「彼に」、「そこ」、又は「それ」のような言葉を使用した時にユーザが何を指しているのかを判定することができる。
【００２０】
ＮＬＰサービス１３２は、様々なＡＰＩを用いて１つ以上のその他のサービス１３４Ａ〜Ｎ及び必要に応じてクラウド１３０でホスティングされていない他のサービスと通信し、これらサービスによって実行されるアクションを開始することができる。例えば、機器１１０から送られた、音声データが「今夜７時にＳａｎ  ＪｏｓｅのＭａｒｉｂｅｌｌａ’ｓに２人分の席を予約する」というユーザコマンドを反映する場合、ＮＬＰサービス１３２は、この音声データに応じて、レストランＭａｒｉｂｅｌｌａ’ｓに午後７時の２人分の予約の作成を開始させるために、そのレストランの提供するオンライン予約サービスに対してＡＰＩコールを行う。このように、ＮＬＰサービス１３２は、機器１１０のユーザが手動でテキストデータを入力して様々なアプリケーションと対話する必要なく、多くの動作を自動的に実行することを可能とする。
【００２１】
機器１１０とクラウド１３０内でホスティングされているサービスとの間の通信は、ネットワーク１２０を介して可能となっている。ネットワーク１２０は、様々なコンピューティングデバイス間でデータの交換を提供する任意の媒体又は機構によって実施することができる。このようなネットワークの例としては、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、イーサネット（登録商標）若しくはインターネット、又は１つ以上の地上波リンク、衛星リンク、若しくは無線リンクなどのネットワークが挙げられるが、これに限定はされない。ネットワークには、記載したようなネットワークの組み合わせを含めることができる。ネットワークは、伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、及び／又はインターネットプロトコル（ＩＰ）に従ってデータを伝送することができるが、これに限定はされない。
【００２２】
以下の説明には、機器１１０及びクラウド１３０の両方が、タスク項目の生成、タスク項目の体系化、タスク項目の通知のトリガ、及びタスク項目の消化に係わる様々な例が含まれている。その代わりに、本明細書内で説明される１つ以上の技法を機器１１０上で完全に実施して（ネットワーク１２０及びクラウド１３０を不要とし、完全にクラウド１３０上で実施し、又は機器１１０及びクラウド１３０の何らかの組み合わせを使用して実施することができる。
【００２３】
タスク項目
既述のとおり、「タスク項目」とは、ユーザによってであれ又は自動的なプロセスによってであれ、実行すべきタスクに関する１つ以上の詳細を包含する電子データ項目である。タスク項目は、ユーザからの入力に基づいて生成される。タスク項目は、リマインダに関連付けられるタスク（「リマインダ型タスク」）及びリマインダに関連付けられないタスク（「非リマインダ型タスク」）の２類型のうちの一方であることができる。リマインダ型タスクは生成されユーザに提供される通知などのアクションに関連付けられ、非リマインダ型タスクは一切のアクションに関連付けられない。非リマインダ型タスクは、「完了期限」の日付又は時刻に関連付けることができる。しかし、完了期限の日付又は時刻は、通知の作成又はその他のアクションをトリガしない。換言すれば、リマインダ型タスクは、判定基準が満たされた時にアクションをトリガする１つ以上のトリガ判定基準に関連付けられるが、非リマインダ型タスクはこれらに関連付けられない。したがって、「タスク項目」は、判定基準が満たされた時にアクションをトリガする１つ以上のトリガ判定基準に関連付けられる場合もあれば、そうでない場合もある。
【００２４】
タスク項目の処理
タスク項目は、機器１１０で受け取られる入力に基づいて、機器１１０上又はクラウド１３０内で作成することができる。示してはいないものの、タスク項目は、機器１１０上若しくはクラウド１３０内に記憶することができ、又はその両方と同期させることができる。タスク項目がクラウド１３０に記憶されている場合、例えば、ユーザからの入力、又は判定基準が満たされる１つ以上のタスク項目に関連付けられた１つ以上のトリガ判定基準に応じて、タスクマネージャ１１２がタスク項目を取得することができる。
【００２５】
タスク項目が作成されクラウド１３０に記憶されるシナリオでは、タスクマネージャ１１２は、主として、タスクに関する情報を表示する１組の１つ以上のユーザインターフェースであることができる。したがって、クラウド１３０内のタスクサービス（図示せず）が、タスク項目の保守及びトリガを発すべきイベントが起こった時の全ての通知のトリガを担うこととなる。
【００２６】
あるいは、タスクマネージャ１１２は、タスク項目を作成し、機器１１０上に記憶する。このシナリオでは、タスクマネージャ１１２が、タスク項目の保守及びトリガを発すべきイベントが起こった時の全ての通知の生成を完全に担うことができる。このシナリオの１つの利点は、機器１１０がクラウド１３０内でホスティングされる一切のサービスと通信することのできない場合、機器１１０は「オフライン」モードで動作できることである。
【００２７】
このシナリオでは更に、機器１１０は、タスクマネージャ１１２の一部となることもでき又はタスクマネージャ１１２から分離して実行することもできる、ＮＬＰサービス１３２のようなサービスを含むことができる。このようなサービスは、ユーザが迅速かつ容易にタスクを作成することのできる会話インターフェースとして機能する。このようなサービスは、機器１１０のユーザがサービスに実行させるための入力を提供する必要なく、バックグラウンドで継続的に実行されているプロセスによって実行することができる。したがって、機器１１０が起動（又は再起動）する度に、サービスが自動的に開始される。
【００２８】
あるいは、タスク項目を作成するために必要な情報を、（即ち、クラウド１３０内でホスティングされる）ＮＬＰサービス１３２によって識別することができる。機器１１０は、バックグラウンドで継続的に実行され、ユーザからの入力（例えば音声又はテキスト）を識別し、この入力をネットワーク１２０を介してＮＬＰサービス１３２に送信する、ユーザ入力インターフェースを含むことができる。ＮＬＰサービス１３２が入力内のタスクの詳細を識別すると、ＮＬＰサービス１３２は、タスク情報（例えば、タスクの記述及びこのタスクを完了すべき時刻）を（ａ）ネットワーク１２０を介してタスクマネージャ１１２に送信して、タスクこの情報に基づいてタスク項目を作成し記憶することができ、又は（ｂ）クラウド１３０内のタスクサービスに送信して、この情報に基づいてタスク項目を作成することができる。
【００２９】
本明細書内で述べるほとんどの例では、機器１１０から入力データを受信し、この入力データに反映されている（タスクに関する）詳細を識別し、これらの詳細をタスクマネージャ１１２に提供するＮＬＰサービス１３２が関わっている。しかし、本発明の実施形態は、このシナリオに限定されるものではない。このような例は、別の方法として機器１１０のみを関与させることができ、又はＮＬＰサービス１３２及びクラウド１３０内のタスクサービスが主要な機能性を提供する場合には、ただ単に入力及び表示装置としてのみ機器１１０を関与させることもできる。
【００３０】
Ｉ．文脈に基づくタスク項目の生成
本発明の一実施形態によれば、タスク項目は、入力及びその入力の文脈に基づいて生成される。入力の「文脈」とは、（タスク項目の生成を開始した、ユーザからの入力に対して）機器１１０で現在又は最近、表示され又は処理されたデータを指す。したがって、文脈データは、ユーザからの入力には反映されていない。例えば、機器１１０のユーザは、「帰宅したらそのプロジェクトに関する電子メールを彼に送る」という音声入力を与えるかもしれない。「彼に」が誰を指すのかこの入力からだけでは明確ではないので、「彼に」という代名詞は不明瞭である。しかし、この音声入力の文脈は、機器１１０がＪａｃｋ  Ｂａｕｅｒという名前の個人からの電子メールを現在表示しており（又はつい最近表示しており）、この電子メールは、「Ｂｕｎｎｙ」と名付けられたプロジェクトに関する最新状況の要求を含んでいるということかもしれない。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）は、この音声入力及び文脈に基づいて、「Ｐｒｏｊｅｃｔ  Ｂｕｎｎｙに関する電子メールをＪａｃｋ  Ｂａｕｅｒに送る」という記述を含み、機器１１０がユーザの自宅又はその近くの地理的位置にあることのトリガ判定基準を含む、タスク項目を作成する。機器１１０がユーザの自宅又はその近くに至ると、タスクマネージャ１１２が、タスク項目からの記述を含む通知を機器１１０上に表示させる。
【００３１】
図２は、本発明の実施形態に係る、ユーザ入力の文脈に基づいてタスク項目を生成するプロセス２００を示したフローチャートである。ステップ２１０において、タスクに関する１つ以上の第１の属性を明示的に指定する入力がユーザから受け取られる。この入力は、テキスト入力又は音声入力であってもよい。テキスト入力は、機器１１０上の物理的なキーを押下し、又は仮想キーボードを含む機器１１０のタッチスクリーンを押圧した機器１１０のユーザからのものであってもよい。追加的に、又は別の方法として、機器１１０は、機器１１０が音声データに変換する音声入力をユーザから受け取るマイクロフォンを含んでいる。機器１１０が入力データ（音声データであれ又はテキストデータであれ）をＮＬＰサービス１３２に送信することができ、ＮＬＰサービス１３２が入力データを分析してタスクに関する１つ以上の第１の属性を識別する。その代わりに、前述のように、機器１１０は、入力データを分析してタスクの１つ以上の第１の属性を識別する機能性を含むこともできる。（本明細書内の多くの例では自然言語処理に言及するものの、自然言語処理は必須ではない。）
ステップ２２０において、入力データに基づいてタスクに関するタスク項目が生成される。ステップ２３０において、入力とは別個の文脈データに基づいて、タスクに関する１つ以上の第２の属性が判定される。ステップ２３０はステップ２２０の後に行うように示されているものの、ステップ２３０をステップ２２０の前に行ってもよい。
【００３２】
ステップ２４０において、これら１つ以上の第１の属性及び１つ以上の第２の属性が、タスク項目に関連付けられて記憶される。
【００３３】
プロセス２００のステップは、１台の又は複数の機器によって実行することができる。例えば、ステップ２１０での入力を機器１１０で処理してタスク項目を生成することができる。このシナリオでは、タスクマネージャ１１２（又は機器１１０上で実行される別のプロセス）が入力に関連付けられる文脈データを識別して、入力内では識別されないタスクに関するこれら１つ以上の第２の属性を判定する。次に、タスクマネージャ１１２が、これら１つ以上の第２の属性をタスク項目内に又はタスク項目に関連付けて記憶する。
【００３４】
あるいは、別のシナリオでは、機器１１０は、ユーザ入力をネットワーク１２０を介してＮＬＰサービス１３２に送信する。ＮＬＰサービス１３２は、この入力内では識別されないタスクの１つ以上の第２の属性を判定するために、この入力に関連付けられる文脈データを入力として受け取る。文脈データは、（ステップ２２０で）タスク項目の生成を開始するこの入力に先駆けて、ＮＬＰサービス１３２に送信しておいたものであってもよい。ＮＬＰサービス１３２は、これら１つ以上の第２の属性をタスクマネージャ１１２（又はクラウド１３０内のタスクサービス）に送信する。タスクマネージャ１１２は、これら１つ以上の第２の属性を新たに生成されたタスク項目内に又はこのタスク項目に関連付けて記憶する。
【００３５】
特定の単語又は語句を使用して、マネージャ１１２と通信するようにＮＬＰサービス１３２を促すことができる。例えば、ＮＬＰサービス１３２が「〜をリマインドして」及び「〜をしないといけない」で終わるユーザコマンドを使用してタスクマネージャ１１２と通信することを決定する。これらのユーザコマンドのうちの１つの検出に応じて、ＮＬＰサービス１３２が（機器１１０からの）入力データ、及び必要に応じて、場所、時刻、記述、及び／又はアクションなどの特定の種類のタスクの詳細に関する文脈データを分析する。次に、ＮＬＰサービス１３２は、タスクマネージャ１１２と通信することを決定し、通信の一部としてタスクマネージャ１１２にタスクの詳細を送信する。
【００３６】
文脈データの供給源
タスク項目の生成を開始するユーザ入力に関連付けられる文脈データは、多くの供給源のうちの１つからもたらすことができる。文脈データの非限定的な例としては、機器１１０上に表示されている又は表示されていたデータ（「表示データ」）、機器１１０内に又はこれと関連付けられて記憶されているデータ（「個人向けデータ」）、機器１１０によって処理される又は処理されたデータ（「処理データ」）、機器１１０のユーザによって以前に与えられたデータ（「入力データ」）、機器１１０の位置を示すデータ（「位置データ」）が挙げられる。
【００３７】
以下は、表示データ、即ち、機器１１０上に表示されている又は表示されていたデータの一例である。機器１１０が地図上の特定の位置に関連付けられる標識を含む地図を表示する。次に、地図が表示されている間又は地図が表示されていたすぐ後に、機器１１０のユーザが「今日の５時までにそこに行かなければならない」と言う。ＮＬＰサービス１３２（又は機器１１０上の音声分析器）が音声入力を反映する音声データを分析する。ＮＬＰサービス１３２が、機器１１０上に現在表示されているデータを分析して「そこ」が何を指すかを判定する。ＮＬＰサービス１３２が、標識及びそれに関連付けられた位置を識別し、「そこ」をこの位置で置き換える。ＮＬＰサービス１３２が、今日の午後５時をタスクの完了時刻として指示し、指定された位置をタスクの位置として指示するタスクデータを、タスクマネージャ１１２に送信する。タスクマネージャ１１２が、このタスクデータに基づいてタスク項目を生成する。
【００３８】
表示データの別の例として、機器１１０が、特定の送信者からの、ある件名を含む電子メールを表示する。次に、機器１１０のユーザが、「２時間後にその件に関する電子メールを彼に送らなければならない」と言う。機器１１０が、この入力を反映する音声データ及び表示されているものの画像をＮＬＰサービス１３２に送信する。これに応じて、ＮＬＰサービス１３２が電子メールの送信者の電子メールアドレス及び電子メールの件名を識別する。ＮＬＰサービス１３２が、現在時刻から２時間後の時刻をタスクの完了時刻として示すタスクデータを、タスクマネージャ１１２に送信する。
【００３９】
以下は、個人向けデータ、即ち、機器１１０上に若しくはこれに関連付けられて記憶されるデータの一例である。機器１１０のユーザが「明日の正午にＲａｃｈｅｌｌｅと一緒に昼食を食べる予定」と言う。機器１１０が、この入力を反映する音声データをＮＬＰサービス１３２に送信し、ＮＬＰサービス１３２が音声データ内の「Ｒａｃｈｅｌｌｅ」を識別する。ＮＬＰサービス１３２は、（機器１１０上又はクラウド１３０内に記憶された）連絡先データ、即ち「アドレス帳」内で「Ｒａｃｈｅｌｌｅ」を探し、Ｒａｃｈｅｌｌｅの苗字がＧｏｏｄｗｉｎであることを判定する。次に、ＮＬＰサービス１３２が、「Ｒａｃｈｅｌｌｅ  Ｇｏｏｄｗｉｎ」がこのタスクのために生成されたタスク項目に関連付けられるようにする。機器１１０上への記憶に加えて、又はその代わりに、個人向けデータをクラウド１３０内に、即ち機器１１０に対してリモートに記憶することができる。
【００４０】
以下は、処理データ、即ち、機器１１０によって最近処理されたデータの一例である。例えば、機器１１０のユーザが、友人と通信するために機器１１０を電話として使用した。機器１１０は、ユーザが最近誰と話をしたかを記録している。通話の終了後、ユーザが「３０分後に彼女に電話することをリマインドして」と言う。ＮＬＰサービス１３２が、音声入力を分析するのに加えて、最近、誰が機器１１０と通話をしたか（例えば、直近の５回の通話）を示すデータを分析する。ＮＬＰサービス１３２が、機器１１０と最後に通話を確立した電話番号を判定する。次に、ＮＬＰサービス１３２が、連絡先データに基づいて、その電話番号が特定の個人に関連付けられていることを判定する。ＮＬＰサービス１３２が、電話をかけるタスクを示すタスクデータ、そのタスクの完了時刻としての現在時刻から３０分後の時刻、その特定の個人の名前、及び必要に応じて、その特定の個人の電話番号を、タスクマネージャ１１２に送信する。タスクマネージャ１１２が、このタスク項目に基づいてタスク項目を生成する。
【００４１】
以下は、入力データ、即ち、機器１１０のユーザが最近（例えば、過去５分以内に）与えたデータの一例である。ユーザからの入力は、テキスト入力又は音声入力であってもよい。機器１１０又はＮＬＰサービス１３２は、最近入力された入力を記録し、その入力を使用して現在の入力に反映されている特定の言葉の識別子を判定することができる。例えば、機器１１０のユーザが「今夜７時にそこで彼に会うことをリマインドして」と言う。ＮＬＰサービス１３２がその音声入力を反映する音声データを受信し、「彼に」及び「そこで」という言葉を識別する。「彼に」が誰のことであるか、及び「そこで」が何処であるかは明確ではないものの、ＮＬＰサービス１３２が、ユーザから最近受け取った入力をアクセスする。このような最近受け取った入力は、（人名として識別された）「Ｇｅｏｒｇｅ  Ｒｅｅｄ」の名前及び（場所として識別された）「Ｓｔａｒｂｕｃｋｓ（登録商標）」を反映する。これに応じて、ＮＬＰサービス１３２は、タスクが「ＳｔａｒｂｕｃｋｓでＧｅｏｒｇｅ  Ｒｅｅｄと会う」ことで、その時刻が現在日の午後７時であるタスク項目を生じさせる。
【００４２】
以下は、位置データ、即ち、現在又は過去に拘わらず、機器１１０の位置を示すデータの例である。機器１１０のユーザが「来週木曜日にここでＪｕｌｉａｎと会って昼食を摂ることをリマインドして」と言う。機器１１０が、この入力を反映する音声データをＮＬＰサービス１３２に送信する。ＮＬＰサービス１３２が、「ここで」という言葉を識別し、それに応じて、機器１１０が現在何処に位置しているかを判定する。現在位置は、様々な方法で判定することができる。例えば、機器１１０がＮＬＰサービス１３２に、経度及び緯度の座標などの地理的位置を提供することができる。次に、ＮＬＰサービス１３２が、この座標に基づいて、この座標に位置する場所又は施設の名前を判定することができる。ＮＬＰサービス１３２が、場所又は施設の名前が指示された日付にＪｕｌｉａｎと会って昼食を摂るというタスクのためのタスク項目に関連付けられるようにする。
【００４３】
あるいは、ユーザが「先週の木曜日の正午に私がいたのと同じ場所で、明日、Ｊｏｓｈ  Ｐｅｔｅｒｓと会う必要がある」と言う。機器１１０が、この入力を反映する音声データをＮＬＰサービス１３２に送信する。ＮＬＰサービスが「先週の木曜日の正午に私がいたのと同じ場所で」という語句を識別し、それに応じて、先週の木曜日の正午に機器１１０が何処に位置していたかを判定する。ＮＬＰサービス１３２が、（クラウド１３０内に記憶されているか、又は機器１１０上に記憶されており、ＮＬＰサービス１３２に送信される）位置履歴データをアクセスし、先週の木曜日の正午に機器１１０が何処に位置していたかを判定する。位置履歴は、場所の名前を示すことができ、又は地理的座標からなることができる。地理的座標である場合は、ＮＬＰサービス１３２が、その座標に位置する場所又は施設の名前を判定する。ＮＬＰサービス１３２が、その名前が指示された日付にＪｏｓｈ  Ｐｅｔｅｒｓと会うというタスクのためのタスク項目に関連付けられるようにする。
【００４４】
機器１１０に関して発生するイベントもまた、タスク項目を作成するために使用することができる。このようなイベントは、表示データ、提示データ、及び処理データのような上述の文脈データの１つ以上のカテゴリ（又は種類）に分類される。例えば、機器１１０は、電話の着信を検出し、電話番号又は着信電話若しくは発信者に関するその他の識別情報を機器１１０の画面上に表示させることによって、ユーザに電話の着信を通知する。この情報に加えて、ディスプレイは、「受ける」、「無視する」、及び「後でかけ直す」の３つの選択肢を含むことができる。ユーザが「後でかけ直す」を選択した場合、発信者、並びに必要に応じて、着信時刻及び／又は発信者に電話をかける時刻を識別するタスク項目が作成される。また、このタスク項目を、「電話する」の種類のタスクとして自動的に分類することもできる。
【００４５】
本明細書内のタスク項目の生成に関する例の多くは、ユーザによるタスクに関する詳細を含む音声入力又はテキスト入力の提供を含んでいる。タスク項目を生成できる方法の別の非限定的な例は、ユーザによる機器１１０の画面上に表示されたテキストの選択（又は強調表示）である。選択されたテキストは文脈データとみなされる。テキストを選択した後、ユーザに対して１つ以上の選択肢を提示することができ、そのうちの１つは「リマインドする」選択肢であり、これが選択されると、タスク項目を生成させる。タスクマネージャ１１２は、選択されたテキストに反映された情報に基づいて、タスク項目を生成する。タスク項目の詳細は、タスクの通知をトリガすべき時刻又はイベントのような他の文脈データから判定することもできる。
【００４６】
仮想対話
状況によっては、ＮＬＰサービス１３２は、機器１１０から受信した入力及びその入力に関連付けられる文脈に基づいてタスクに関する１つ以上の詳細を判定することができない。したがって、一実施形態においては、ＮＬＰサービス１３２が機器１１０のユーザにこれら１つ以上の詳細を判定するための更なる入力を促す。これら１つ以上の詳細事項は、タスクの記述、タスクの位置、リマインダ（存在する場合）の位置、又はタスクの時刻など、タスク項目の任意の属性に関することであってよい。
【００４７】
例えば、ＮＬＰサービス１３２は、機器１１０から「７時にＳｔｅｖｅに電話することをリマインドして」というユーザのコマンドを反映する音声データを受信する。ＮＬＰサービス１３２は、Ｓｔｅｖｅの名前を有するユーザの様々な連絡先に関する情報（例えば、アドレス帳）をアクセスすることができる。更に、アドレス帳の中には、どのＳｔｅｖｅの連絡先に電話をするのかをはっきりさせるために使用できる事項がない場合がある。したがって、ＮＬＰサービス１３２が、機器１１０に、機器１１０によって表示されるべき（又は音声で再生されるべき）「Ｓｔｅｖｅ  Ａｎｄｅｒｓｏｎですか、Ｓｔｅｖｅ  Ｈａｎｓｏｎですか、それともＳｔｅｖｅ  Ｊｏｂｓですか？」というメッセージを送信する。すると、ユーザが、機器１１０に、３人のＳｔｅｖｅの連絡先のうちの１つを指示する音声入力又はテキスト入力を与える。これに応じて、機器１１０が、これに対応する音声データ又はテキストデータを、ネットワーク１２０を介してＮＬＰサービス１３２に送信する。
【００４８】
別の例として、ＮＬＰサービス１３２が、機器１１０から「ＷｈｏｌｅＦｏｏｄｓ（登録商標）でパンを買う必要がある」というユーザのコマンドを反映する音声データを受信する。これに応じて、ＮＬＰサービス１３２が、（ａ）機器１１０の現在位置又は（ｂ）ユーザの自宅に最寄りのＷｈｏｌｅ  Ｆｏｏｄｓの店舗の探索を実行する。機器１１０の現在位置の近く及びユーザの自宅の近くには複数のＷｈｏｌｅ  Ｆｏｏｄｓの店舗があるかもしれない。したがって、ＮＬＰサービス１３２が、機器１１０に、機器１１０によって表示されるべき「どのＷｈｏｌｅ  Ｆｏｏｄｓですか？  Ａｌｍａｄｅｎ  Ｒｄにある店ですか、Ｃｈｅｓｔｅｒ  Ｅｘｐｒｅｓｓｗａｙですか、それともＧｒｅｅｎ  Ｓｔｒｅｅｔですか？」というメッセージを送信する。すると、ユーザが、３つのＷｈｏｌｅ  Ｆｏｏｄｓの店舗のうちの１つを指示する音声入力又はテキスト入力を、機器１１０に与える。これに応じて、機器１１０が、対応する音声データ又はテキストデータを、ネットワーク１２０を介してＮＬＰサービス１３２に送信する。
【００４９】
別の例として、ＮＬＰサービス１３２が、機器１１０から、「８時までにＪｅｒｒｙにメッセージを送るようにリマインドして」というユーザのコマンドを反映する音声データを受信する。これに応じて、ＮＬＰサービス１３２が、音声データ及び入力の文脈に基づいて、Ｊｅｒｒｙとはユーザの連絡先リスト（即ち、アドレス帳）に示されているＪｅｒｒｙ  Ｗａｌｌのことであると判定する。しかし、ＪｅｒｒｙにＳＭＳメッセージを送る時刻としてユーザが午前８時を意図したのか又は午後８時を意図したのか、不明である。したがって、ＮＬＰサービス１３２が、機器１１０に、機器１１０によって表示されるべき「Ｊｅｒｒｙ  Ｗａｌｌにメッセージを送るのは午前８時ですか、それとも午後８時ですか？」というメッセージを送信する。すると、ユーザが、２つの時刻のうちの１つを選択する音声入力又はテキスト入力を、機器１１０に与える。これに応じて、機器１１０が、対応する音声データ又はテキストデータを、ネットワーク１２０を介してＮＬＰサービス１３２に送信する。
【００５０】
タスク項目の自動分類
一実施形態において、ＮＬＰサービス１３２は、機器１１０のユーザからの入力に基づいて、タスク項目に関連付けられる１つ以上のカテゴリを判定する。これら１つ以上のカテゴリは、事実上無限の多くの異なるカテゴリのうちの１つであることができる。タスク項目を関連付けることのできるカテゴリの非限定的な例としては、購入するもの、休暇中にやること、職場ですべきこと、及び運転中にすべきことが挙げられる。各々のカテゴリは、サブカテゴリに関連付けることができる。例えば、「購入品カテゴリ」は、食料品店で購入すべき品目を指示する食料品カテゴリ、購入すべき書籍を指示する書籍カテゴリ、及び購入すべき歌曲を指示する音楽カテゴリに分割することができる。
【００５１】
例えば、ユーザは「牛乳を買うことをリマインドして」という音声入力を機器１１０に与えるかもしれない。機器１１０は、この入力を反映する音声データを、ＮＬＰサービス１３２に送信する。ＮＬＰサービス１３２は、タスク項目が作成されるべきであり、「牛乳を買う」ことがそのタスク項目に関連付けられる記述であるべきであることを判定する。ＮＬＰサービス１３２はまた、牛乳は食料品品目であり、このタスク項目は食料品カテゴリ及び／又は購入品カテゴリに関連付けられるべきであることをも判定することができる。したがって、ＮＬＰサービス１３２は、タスクマネージャ１１２に、タスク項目（それを作成したのがＮＬＰサービス１３２か、クラウド１３０内のタスクサービスか、又はタスクマネージャ１１２かに拘わらず）が関連付けられるべき１つ以上のカテゴリを指示するカテゴリデータを送信することができる。
【００５２】
以下に説明するように、各タスク項目に関連付けられる１つ以上のカテゴリを使用して同一カテゴリに属するタスク項目を体系化し、同一カテゴリのタスク項目を機器１１０上に表示することができる。これにより、機器１１０のユーザは、タスク項目を、完了時期別、作成時期別、トリガの種類別（以下に説明）、位置別、類型別（例えば、リマインダ型タスク対非リマインダ型タスク）、若しくはその他何らかの判定基準別に加えて、又はこれらの代わりに、カテゴリ別に閲覧することが可能となる。
【００５３】
ＩＩ．タスク項目の通知のトリガ
前述のとおり、タスク項目を、判定基準が満たされた時に機器１１０のユーザに通知を提示させ、又はその他何らかのアクションを実行させる１つ以上のトリガ判定基準（又はトリガ）に関連付けることができる。タスク項目の１つ以上のトリガ判定基準が満たされた時に、通知（又はその他のアクション）が「トリガされる」。トリガ判定基準の非限定的な例としては、時刻、場所、相対的な移動時間、文脈トリガ、及び外因性のトリガが挙げられるが、これらの各々については下記により詳細に説明する。
【００５４】
時刻トリガ
時刻トリガの時刻は、絶対時刻、相対時刻、定期時刻、又は象徴的期限であることができる。絶対時刻の一例は、２０１１年６月６日、太平洋時午前９時である。相対時刻の一例は、「フットボールのＰａｔｒｉｏｔｓ対Ｊｅｔｓ戦の１０分前」である。定期時刻の一例は、「毎週木曜日の午前１０時」である。象徴的期限の一例は、「終業時」である。
【００５５】
位置トリガ
本発明の一実施形態によれば、機器１１０の位置は、タスク項目に関連付けられるトリガ判定基準である。本明細書内では、このようなトリガ判定基準を「位置トリガ」と呼ぶ。機器１１０の位置は、多くの方法のうちの１つによって判定することができる。例えば、機器１１０の位置は、Ｗｉ−Ｆｉ測位、セル測位、及び／又はＧＰＳ（全地球測位システム）測位に基づいて自動的に判定することができる。機器１１０は、クラウド１３０内のサービスからの入力を使用して、又は使用せずに、その現在位置を判定することができる。
【００５６】
一実施形態において、ユーザは、特定の地理的位置に関連付けられるラベルを示す入力を与えることができる。例えば、機器１１０のユーザは「自宅にいる」又は「Ｗｈｏｌｅ  Ｆｏｏｄｓにいる」という文を喋ればよい。すると、ＮＬＰサービス１３２は、「自宅」という単語又は「Ｗｈｏｌｅ  Ｆｏｏｄｓ」という語句を、前述の３通りの測位方法のうちの１つに基づいて判定した機器１１０の現在位置に関連付けることができる。この単語と位置との関連付けは、後ほど、「自宅」又は「Ｗｈｏｌｅ  Ｆｏｏｄｓ」が何処に位置しているかを判定するために活用することができる。
【００５７】
位置トリガは、特定の地理的位置又は区域に関連付けられない場合がある。その代わりに、位置トリガは、特定の地理的位置又は区域に限定されない場所に関連付けることができる。例えば、タスク項目の位置トリガは、「（自動車で）移動中」又は「運転中」であってもよい。機器１１０（即ち、機器１１０上で実行されているプロセス）は、機器１１０の現在位置が高速道路又は別の交通量の多い道にあると判定する。したがって、この判定は、機器１１０が動いている速度に拘わらずに、又は機器１１０がユーザが移動していることを示すであろう別の機器とペアリングされているか否かに拘わらずに、行うことができる。この判定に基づき、タスクマネージャ１１２が１つ以上のタスク項目を分析して、いずれかのタスク項目が「（自動車で）移動中」又は「運転中」の位置トリガに関連付けられているか否かを判定する。
【００５８】
別の例として、タスク項目の位置トリガは、ユーザの自動車であってもよい。具体的には、ユーザが「運転中にお母さんに電話するようにリマインドして」という音声コマンドを与えていたかもしれない。ＮＬＰサービス１３２は、そのコマンドを反映する音声データを分析し、「運転中」がユーザの自動車を指すことを判定する。ユーザの自動車は、機器１１０がユーザの自動車と通信することを可能とするＢｌｕｅｔｏｏｔｈ使用可能な構成要素を有しているかもしれない。機器１１０がユーザの自動車内のＢｌｕｅｔｏｏｔｈ使用可能な構成要素によって伝搬されているＢｌｕｅｔｏｏｔｈ信号の距離範囲内に至ると、機器１１０がユーザの自動車内に（又は少なくともその近くに）位置していると、機器１１０が判定する。この判定に応じて、タスクマネージャ１１２がタスク項目の位置トリガをトリガする。タスクマネージャ１１２が、ユーザにユーザの母親に電話をかけるように通知するリマインダメッセージを機器１１０上に表示させる。すると、ユーザは、機器１１０上で実行される電話アプリケーションにユーザのお母さんに関連付けられている電話番号との通話を開始させる単一のタップ又は音声応答を与えることができる。
【００５９】
別のＢｌｕｅｔｏｏｔｈ使用可能な機器との接続（又は「ペアリング」）の確立が機器１１０の位置を判定するために使用できるペアリングの一例であるが、その他の種類のペアリングも可能である。例えば、機器１１０は、夕方及び朝方の時間帯に特定のネットワークデータを検出してもよい。ネットワークデータは、機器１１０が接続できる１つ以上のネットワークを示す。ネットワークデータは、１つ以上のネットワークの名前又は１つ以上のルータのＭＡＣアドレスを含むことができる。次に、機器１１０は、そのネットワークデータが検出される度に機器１１０がユーザの自宅にあるとみなされると判定することができる。このように、ペアリングは機器１１０とルータなどの別の機器との間の接続の確立を必然的に伴うので、実際のペアリングは不要である。別の例として、機器１１０は、列車、地下鉄、又はバス内のＷｉ−Ｆｉ信号を検出することができる。Ｗｉ−Ｆｉ信号は、Ｗｉ−Ｆｉ信号に対応する輸送機関の種類を示すことができる。したがって、機器１１０は、そのＷｉ−Ｆｉ信号に基づいて、その位置が「列車内」、「地下鉄内」、又は「バスの車内」であることを検出することができる。タスク項目のトリガ判定基準がこれらの位置のうちの１つ以上を示す場合、そのタスク項目に関連付けられたアクションをトリガすることができる。更に、このような「交通機関本位」の位置はまた、「（交通機関で）移動中」又は「移動中」などの特定の文脈（下記により詳細に説明）に関連付けられるとみなすことができる。したがって、タスクマネージャ１１２によるこのような文脈の検出は、特定のタスク項目に関連付けられたアクションを実行させることができる。
【００６０】
位置トリガの前述の例は、「Ｙに到着した時にＸをするようにリマインドして」というユーザ入力に見られるような「到着トリガ」として分類することができる。別の種類の位置トリガは「出発トリガ」であり、この一例は、「退社時にＸをするようにリマインドして」又は「ここを出る時に〜」というユーザコマンドに見られる。一実施形態において、出発トリガのシナリオでは、特定の出発トリガが「発火する」前に、現在位置及び出発位置からの最小距離が必要である。このような最小距離は、誤って識別された開始が発生した場合に、これに対応するアクションの実行を回避する上で役立てることができる。
【００６１】
更に、位置トリガは、タスク項目のアクションをトリガする複数の条件のうちの１つであってもよい。複数の条件を含むユーザコマンドの例としては、「帰宅した時又は遅くとも午後８時までにはＸをするようにリマインドして」、「午後８時前又は出かける時のどちらか早い時にＸをするようにリマインドして」及び「午後８時前又は運転中のどちらか早い時にＸをするようにリマインドして」が挙げられる。
【００６２】
移動時間トリガ
一実施形態において、機器１１０のユーザに通知を提供するために、機器１１０の位置及びタスク項目に関連付けられる時刻が使用される。したがって、時刻がタスク項目に関連付けられる１つ以上のトリガ判定基準のうちの１つであるかもしれない一方で、機器１１０の位置は、少なくとも明示的には、そうではないかもしれない。
【００６３】
図３は、本発明の一実施形態に係る、タスクの予定された時刻に先駆けてユーザにリマインダを提供する時刻を判定するプロセス３００を示したフローチャートである。プロセス３００は、機器１１０上又はクラウド１３０内で実行される１つ以上のプロセスによって実行することができる。しかし、説明を容易にするために、プロセス３００の全てのステップがタスクマネージャ１１２によって実行されている。
【００６４】
ステップ３１０において、タスクマネージャ１１２が、機器１１０の現在位置を判定する。ステップ３２０において、タスクマネージャ１１２が、タスク項目に関連付けられた（又はタスク項目によって識別された）目的地の位置（即ち「目的地の場所」）を判定する。ステップ３２０において、２つの位置間の距離に基づいて、タスクマネージャ１１２が、「移動時間」、即ち、機器１１０のユーザが目的地位置まで移動するのにかかるかもしれない時間を判定する。ステップ３３０において、タスクマネージャ１１２が、「差分時間」、即ち、現在時刻とタスク項目に関連付けられたトリガ判定基準の時刻との差分を判定する。ステップ３４０において、移動時間が差分時間と同じであるか又はそれに近ければ、タスクマネージャ１１２がユーザに通知を提供する。この通知が、ユーザが目的地に向かって（ユーザが既に移動し始めていなければ）移動し始めるためのリマインダとして機能する。
【００６５】
例えば、タスク項目は、午後２時に特定のレストランでＳｕｅと会うというリマインダのためであってもよい。タスクマネージャ１１２が、機器１１０の位置及び特定のレストランの位置を判定する。特定のレストランの位置は、例えば、インターネット検索を開始し、機器１１０の位置に最も近い同名のレストランを識別することにより判定することができる。あるいは、特定のレストランの住所が、既にタスク項目に関連付けられて記憶されているかもしれない。タスクマネージャ１１２が、機器１１０の位置と特定のレストランとの距離に基づいて、機器１１０のユーザが特定のレストランまで移動するのにどのくらいの時間がかかるか（即ち、「移動時間」）を判定する。移動時間が現在時刻と時刻トリガ（即ち午後２時）との差分と同じであるか又はそれに近い（例えば１０分以内）時に、タスクマネージャ１１２が、機器１１０上に表示するために、特定のレストランに午後２時に到着するためには、ユーザはすぐに出かけるべきであることを示すメッセージをもたらす。
【００６６】
一実施形態において、目的地に向けて出かけるべき時の時刻は、機器１１０の現在位置に基づいて変化する。例えば、機器１１０の現在位置が位置Ａにあり、目的地が位置Ｂである時に、タスクマネージャ１１２は、ユーザは、予定されたタスクの時刻の５０分前に移動し始めるべきであると判定する。しかし、この時の機器１１０の現在位置が位置Ｃであるという検出に応じて、タスクマネージャ１１２は、ユーザは予定されたタスクの時刻の２０分前に移動し始めるべきであると判定する。例えば、機器１１０のユーザは、その日の始まりに自宅におり、タスクマネージャ１１２が、ユーザの自宅からその夕方の夕食会の位置まで５０分かかるであろうと判定する。その日の後ほど、機器１１０のユーザが、夕食会の位置により近い職場に移動する。機器１１０が異なる位置にあることに応じて、タスクマネージャ１１２が、ユーザの職場から夕食会の位置まで移動するのに２０分かかるであろうと判定する。
【００６７】
一実施形態において、目的地に向けて出かけるべき時の時刻は、現在の交通情報に基づいて変化する。例えば、午後２時３０分に、タスクマネージャ１１２が、機器１１０のユーザがレストランに向けて出かけるべき時の時刻は午後５時００分であると判定する。しかし、ユーザがレストランに到着するために使うことのできる高速道路での自動車事故のため、車の流れが相当に悪くなる。午後３時３０分に、タスクマネージャ１１２が、ユーザがレストランに向けて出かけるべき時の時刻は午後４時００分であると判定する。
【００６８】
図４は、本発明の一実施形態に係る、移動リマインダのビュー４００である。ビュー４００は、機器１１０によって表示されている。ビュー４００の移動リマインダは、６個のデータ項目を包含している。この６個のデータ項目は、（１）対応するタスク（「Ｃｈｌｏｅを迎えに行く」）の記述４１０、（２）タスクを完了するべき時の時刻４２０（「今日の午後５時００分」）、（３）機器１１０のユーザが目的地に向けて移動し始めるべき時に実行するべきアクション４３０、（４）ユーザが目的地に時刻どおりに到着するために移動し始めるべき時を、ユーザがリマインドして欲しいことを示すリマインダ時刻４４０、（５）ユーザが目的地に時刻どおりに到着するために移動し始めるべき時を示す開始時刻４５０、（６）目的地の名前及び目的地の住所を示す位置４６０、を含んでいる。機器１１０が表示する別の移動リマインダは、より多くの又はより少ないデータ項目を包含していてもよい。
【００６９】
アクション４３０に関連付けられるアクションは、タスクマネージャ１１２による、（移動リマインダの上部に示されている）現在時刻が開始時刻４５０によって示されている時刻と等しいとの判定に応じて、トリガする（又は実行する）ことができる。図示の例では、アクション４３０は、タスクマネージャ１１２が、開始時刻４５０に地図を生成させ機器１１０のユーザに対して表示させる、地図に関連したアクションである。地図は、位置４６０の住所の表示、ユーザの現在位置の表示、又はその両方を含んでいる。開始時刻４５０に地図を自動的に表示させる代わりに、タスクマネージャ１１２は、まず、機器１１０上に、地図を生成する選択肢を含むメッセージを表示させてもよい。ユーザが（例えば、音声入力又は画面上のタップ操作によって）この選択肢を選んだ場合、タスクマネージャ１１２は、地図を生成させ、表示させる。
【００７０】
リマインダ設定は、「オン」又は「オフ」モードとすることができる。図４では、リマインダ時刻４４０は、「オン」モードにある。リマインダ時刻４４０が「オフ」モードにある場合、ビュー４００の移動リマインダは、リマインダ時刻４４０又は開始時刻４５０を含まない場合がある。
【００７１】
前述のとおり、タスクマネージャ１１２は、機器１１０の位置の変化に応じて開始時刻４５０を変化させることができる。したがって、朝方に機器１１０がユーザの自宅にある時には開始時刻４５０は「今日の午後３時３０分」を示しているかもしれず、午後に機器１１０がユーザの勤め先のオフィスにある時には開始時刻４５０は「今日の午後４時２０分」を示しているかもしれない。
【００７２】
一実施形態において、タスクマネージャ１１２は、機器１１０の位置の著しい変化に応じて、計算された開始時刻４５０の変化を確認する。位置の著しい変化は、既に計算されつつある他のイベントの結果であると判定されるかもしれない。例えば、機器１１０は、機器１１０が携帯電話基地局間を移動中である時に既にイベントを処理するかもしれず、これらイベントが位置の変化の再計算をトリガすることがあり、したがって、更新された開始時刻４５０の変化の再計算をトリガすることがある。位置の潜在的な著しい変化を示すイベントの非限定的な例には、検出されたＷｉ−Ｆｉのシグネチャの変化、（地図又はナビゲーションなどの）何らかの他のアプリケーション用の正確なＧＰＳ位置の計算、パワーサイクルイベント、機器上の無線機のオン／オフ、加速度計の信号に基づいたアラート、及び位置情報を包含するテキストメッセージ又はプッシュ通知の受信がある。
【００７３】
一実施形態において、タスクマネージャ１１２は、イベントの著しい変化を検出する方法を組み合わせる。例えば、低出力／低解像度モードでは、タスクマネージャ１１２は、Ｎ分毎に、又は着信データの確認などの何らかの周期的な計算が発生した時にのみ、位置の著しい変化のみを確認する。高出力／高解像度モードでは、タスクマネージャ１１２は、セル測位及び／又はＧＰＳを使用する。組み合わせの方法では、デフォルトでは低出力ソリューションが実行され、推定された開始時刻が近い時又はその他のイベントが発生した（例えば、Ｗｉ−Ｆｉ若しくはＢｌｕｅｔｏｏｔｈのシグネチャの変化が検出された）時に高出力ソリューションが起動される。
【００７４】
一実施形態において、移動リマインダ又は移動リマインダ内の開始時刻項目を交通手段の１つ以上のモードに関連付けることができる。交通手段のモードの非限定的な例としては、自動車の運転、バスへの乗車、自転車による移動、又は徒歩が挙げられる。デフォルトの交通手段のモードは自動車の運転であってもよい。例えば、タスクマネージャ１１２は、ユーザに、「自動車」モード、「バス」モード、「自転車」モード、「徒歩」モード、又は複数のモードで同時に開始時間４５０を閲覧する選択肢を提供することができる。開始時刻４５０に選択されている現在のモード如何で、開始時刻は大きく変動する。例えば、図４では、自動車モードでの開始時刻４５０は「今日の午後４時２０分」を示しているものの、バスモードでの開始時刻４５０は「今日の午後３時１５分」を、自転車モードでは「今日の３時４５分」を、及び徒歩モードでは「今日の午前１１時３０分」を示すかもしれない。
【００７５】
関連した一実施形態では、タスク項目が位置及び日付／時刻の両方に関連付けられており、このタスクの通知は、ユーザ（というよりもむしろユーザの機器）がその位置にいる（ある）こと、又はその日付／時刻、のいずれかによってトリガすることができる。例えば、ユーザの機器が（その日付に、又は日付に拘わらず、のいずれでも）その位置にある場合、通知がトリガされる。ユーザが日付によって示された日までにその位置に（又はその時刻までにその位置に）到着していなかった場合、その時刻が、通知をトリガするための「最後の手段」として使用される。
【００７６】
文脈トリガ
前述のように、時刻及び位置が、タスク項目に関連付けられたトリガ判定基準の種類の例である。タスク項目に関連付けられる別の種類のトリガ判定基準が、文脈である。「文脈トリガ」とは、単なる機器１１０の位置以外の機器１１０の１つ以上の特性に関する。したがって、文脈トリガと同様に、移動トリガ及び移動時間トリガもまた、機器１１０の１つ以上の特性に関する。
【００７７】
文脈トリガは、データ本位の文脈トリガ及び空間本位の文脈トリガの２種類のうちの一方に分類することができる。データ本位の文脈トリガの非限定的な例としては、機器１１０がその画面上に表示しているデータの種類又は類型（例えば、ビデオ）、特定のアプリケーション又は機器１１０上で現在実行されているアプリケーションの種類（例えば、テキストメッセージアプリケーション又は音楽アプリケーション）、機器１１０がユーザから受け取っている入力の種類（例えば、音声又はデータ）、及び機器１１０が利用できるネットワーク接続の種類（例えば、Ｗｉ−Ｆｉ又はセルラーネットワーク）が挙げられる。
【００７８】
例えば、機器１１０が受け取るユーザコマンドは、「次に電話している時にはお母さんに電話するようにリマインドして」であってもよい。「電話している時」という語句は、ユーザが機器１１０を電話として使用している時にユーザのお母さんに電話をすることをユーザに知らせるためのリマインダがユーザに送られることを意味すると推定される。
【００７９】
別の例として、機器１１０が受け取るユーザコマンドは、「ネットサーフィンをしている時にＢｏｂに電子メールを送る必要がある」であってもよい。「ネットサーフィンをしている」という語句は、ユーザが機器１１０上でウェブブラウザと対話している時は、機器１１０の（即ち、ユーザの）文脈は「オンラインである時」であるという意味であると推定される。機器又はユーザの文脈の判定に応じて、Ｂｏｂに電子メールを送るようにユーザに知らせるリマインダが、ユーザに送られる。「オンラインである時」という文脈トリガに関連付けられたその他任意のタスク項目に関する更に別のリマインダを、ユーザに提供することができる。
【００８０】
別の例として、機器１１０が受け取るユーザコマンドは、「妹（姉）のＳａｒａｈと話している時にお母さんにメッセージを送る」であってもよい。「妹（姉）のＳａｒａｈと話している時」という語句は、ユーザが機器１１０を電話として使用しており、Ｓａｒａｈとの通話が確立されている時に、ユーザの母親にテキスト（又はＳＭＳ）メッセージを送ることをユーザに思い出させるリマインダが、ユーザに送られることを意味すると推定される。
【００８１】
別の例として、機器１１０が受け取るユーザコマンドは、「Ｗｉ−Ｆｉ接続がある時にＪａｎｅ  Ｓｍｉｔｈに電子メールを送るようにリマインドして」であってもよい。パスワードを必要としない又はパスワードを必要とするが機器１１０がアクセスできるＷｉ−Ｆｉ信号を機器１１０が検出するのに応じて、タスクマネージャ１１２が、ＪａｎｅがＪａｎｅ  Ｓｍｉｔｈに電子メールを送らなければならないことを示す通知を機器１１０の画面上に表示させる。
【００８２】
空間本位の文脈トリガの非限定的な例として、機器１１０が動いている速度（例えば、運転していることを示す時速３０マイル超、又は歩いていることを示す時速３マイル未満）、機器１１０が動いている（絶対的又は相対的）方向、及び機器１１０の１組の運動（例えば、水平方向に連続的に動いている間の短い垂直運動）が挙げられる。換言すれば、機器１１０は、機器１１０が空間の中を動いている様子を検出するように構成することができる。
【００８３】
例えば、機器１１０（というよりもむしろ機器１１０上で実行されているプロセス）が、ある時間に亘る位置の変化の検出に基づいて、機器１１０が時速６０マイルで動いていると判定する。この情報に基づいて、機器１１０は、機器の文脈が「運転中」又は「（自動車で）移動中」であることを判定する。タスクマネージャ１１２が、１つ以上のタスク項目を分析していずれかのタスク項目が「運転中」又は「（自動車で）移動中」という文脈トリガに関連付けられているかを判定する。タスク項目が「運転中」又は「（自動車で）移動中」という文脈トリガに関連付けられている場合、このタスク項目に関連付けられたアクション（例えば、通知の表示）が実行される。
【００８４】
別の例として、機器１１０が、ある時間に亘る機器１１０の位置の変化の検出に基づいて、機器１１０が一定時間の間（例えば５分間）ユーザの自宅に向かって動いていると判定する。この情報に基づいて、機器１１０は、その文脈が「帰宅中」であると判定する。タスクマネージャ１１２が１つ以上のタスク項目を分析して、いずれかのタスク項目が「帰宅中」という文脈トリガに関連付けられているかを判定する。タスク項目が「帰宅中」という文脈トリガに関連付けられている場合、このタスク項目に関連付けられたアクション（例えば、通知の表示）が実行される。
【００８５】
別の例として、機器１１０は、一定の反復運動を検出する加速器を含んでいる。機器１１０は、ある時間に亘るこれらの反復運動に基づいて、機器１１０のユーザがゆっくりとしたペースで走っているかもしれないと判定することができる。機器１１０は、この判定に基づいて、この文脈は「ジョギング中」であると判定する。タスクマネージャ１１２が１つ以上のタスク項目を分析して、いずれかのタスク項目が「ジョギング中」又は「歩行中」という文脈トリガに関連付けられているかを判定する。タスク項目が「ジョギング中」又は「歩行中」という文脈トリガに関連付けられている場合、このタスク項目に関連付けられたアクション（例えば、通知の表示）が実行される。
【００８６】
別の例として、機器１１０は、機器１１０がある時間（例えば３時間）の間動いていないことを検出するかもしれない。機器１１０のユーザは覚醒していたいと思っており、機器１１０に動きがないのはユーザが眠っていることを示しているかもしれない。したがって、ユーザは、「電話が３時間の間動かなければ警告して」というコマンドを発行するかもしれない。
【００８７】
データ本位のトリガ及び空間本位のトリガに加えて、その他の種類のトリガが機器１１０上の任意のセンサーに基づくことができる。機器１１０は、温度センサー及び光センサーなどの複数のセンサーを含むことができる。例えば、機器１１０は、機器１１０の外部温度又は内部温度を検出する温度計を含むことができる。したがって、機器１１０のユーザは、「１００度に達したらＨａｒｏｌｄに電話するようにリマインドして」というコマンドを出すことができる。
【００８８】
外因性トリガ
タスク項目に関連付けることのできる別の種類のトリガ判定基準は、外因性判定基準である。「外因性トリガ」は、機器１１０及び機器１１０のユーザの外部に、かつこれらから分離して存在する１つ以上の要因に依存するトリガ判定基準である。このような要因は、機器１１０以外の機器に関して又は機器１１０以外の１つ以上の機器上に記憶されているデータに関して発生する「イベント」とみなすことができる。外因性トリガの非限定的な例としては、社会的な場所、社会的近接性、継続クエリ、及びローカルイベントが挙げられる。
【００８９】
社会的な場所トリガの一例は、機器１１０のユーザの友人又は同僚が特定の場所に到着するか又は特定の場所から去る時である。例えば、タスク項目の作成を開始したユーザコマンドが「Ｓａｒａｈがそのモールを出たら知らせて」であったかもしれない。したがって、Ｓａｒａｈ（即ち、Ｓａｒａｈのモバイル機器）が、この種の外因性トリガを起動させる上での必須要因である。具体的には、タスクマネージャ１１２が、Ｓａｒａｈの機器の現在位置を判定する。Ｓａｒａｈの機器の現在位置は、Ｓａｒａｈの機器及び機器１１０の双方が加入している（例えば、クラウド１３０内の）クラウドサービスによって提供することができる。機器１１０が、クラウドサービスから、Ｓａｒａｈの機器の位置に関する最新情報を受信する。タスクマネージャ１１２が、その位置情報を使用して社会的な場所トリガを起動すべきかを判定する。同様のユーザコマンドが、「娘が帰宅した時にリマインドして」である。
【００９０】
社会的近接性トリガの一例は、機器１１０のユーザの友人又は同僚がユーザ（即ち、機器１１０）から一定の距離内にいる時である。例えば、タスク項目の作成を開始したユーザコマンドは、「Ｇｅｏｒｇｅが１００フィート以内にいる時に彼に電話するようにリマインドして」であったかもしれない。したがって、Ｇｅｏｒｇｅ（即ち、Ｇｅｏｒｇｅのモバイル機器）が、この外因性トリガを起動する上での必須要因である。具体的には、タスクマネージャ１１２又は機器１１０上で実行されている別のプロセスが、機器１１０の現在位置をＧｅｏｒｇｅの機器の現在位置と比較して２台の機器を隔てる距離を判定する。あるいは、Ｇｅｏｒｇｅの機器が、Ｇｅｏｒｇｅの機器及び機器１１０の双方が加入しているクラウドサービスにその位置を伝送することができる。機器１１０が、クラウドサービスから、Ｇｅｏｒｇｅの機器と機器１１０との間の距離に関する最新情報を受信する。タスクマネージャ１１２が、その距離情報を使用して社会的近接性トリガを起動すべきかを判定する。
【００９１】
継続クエリトリガの一例は、ウェブページが会社名などの特定の用語又は語句に言及する時である。これを検出するためには、継続クエリが生成され、継続的に（例えば、１日に１回）発行される。例えば、タスク項目の作成を開始したユーザコマンドは、「ｃｎｎ．ｃｏｍがＢｅｒｋｍａｎ  Ｉｎｄｕｓｔｒｉｅｓについて触れた時には知らせて」であったかもしれない。タスクマネージャ１１２又は機器１１０上で実行されている別のプロセスが（例えば、検索エンジンに対して）検索クエリを発行し、その結果を受信する。タスクマネージャ１１２が、その結果が「Ｂｅｒｋｍａｎ  Ｉｎｄｕｓｔｒｉｅｓ」という名前を含むｃｎｎ．ｃｏｍからのウェブページを含むと判定すると、タスクマネージャ１１２は、機器１１０のユーザに通知を提供する。
【００９２】
ローカルイベントトリガの一例は、特定のローカルイベントが起きる時である。これを検出するためには、タスクマネージャ１１２がオンラインサービスからデータを受信する。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）は、そのオンラインサービスに（１つ以上の通信プロトコルを介して）定期的に要求を送信する。あるいは、タスクマネージャ１１２は、特定のイベントに関する情報を受信するために、そのオンラインサービスに加入することもできる。例えば、タスク項目を作成したユーザコマンドは、「ＳｈｏｒｅｌｉｎｅでＢｅａｔｌｅｓのチケットが発売されたら知らせて」であったかもしれない。これに応じて、タスクマネージャ１１２、機器１１０上で実行されている別のプロセス、又はＮＬＰサービス１３２がオンラインチケットサービスに加入依頼を送信して、ＢｅａｔｌｅｓのＳｈｏｒｅｌｉｎｅ  Ａｍｐｈｉｔｈｅａｔｒｅでの公演のチケットが購入可能となった時に通知を受信する。Ｂｅａｔｌｅｓのチケットが購入可能であるとタスクマネージャ１１２が判定すると、タスクマネージャ１１２は、機器１１０のユーザに通知を提供する。
【００９３】
別の例として、ユーザは、波が上がる時を知りたいと思っているかもしれない。したがって、ユーザは、「波が上がる１時間前にリマインドして」というコマンドを発行するかもしれない。タスクサービス１１２（又はクラウド１３０内のタスクサービス）は、サーフィンのサイトのクエリを定期的に発行することもでき、又はそのサーフィンのサイトからのアラートに加入することができる。
【００９４】
前述に基づいて、外因性トリガの種類及び例は、事実上無限である。タスクマネージャ１１２（又はクラウド１３０内タスクサービス）が機器１１０から離れて起こるイベントに関する判定をすることができる限り、そのイベントを、タスク項目に関連付けられるアクションの実行をトリガするために使用することができる。
【００９５】
ＩＩＩ．タスク項目の消化（アクティブペイロード（active payload））
タスク項目に関連付けられたアクションが実行されると、そのタスク項目が「消化される」。このようなアクションは、機器１１０上に表示される通知（又は、その通知がオーディオ通知である場合は再生される通知）であってもよい。機器１１０のユーザへの通知の提供に加えて、又はその代わりに、その他に考えられるアクションとしては、通話又は検索クエリの開始、（ユニフォームリソースロケータ（ＵＲＬ）を含む）ＨＴＴＰリクエストの送信、電子メール又はテキスト（ＳＭＳ）メッセージの送信、アプリケーションに実行させる、及びユーザに代わっての購入行動をさせる、が挙げられる。タスク項目に関連付けることのできるこのようなアクションは、「アクティブペイロード」と呼ばれる。アクティブペイロードの処理により、タスクマネージャ１１２によってであれ若しくは別のプロセスによってであれ、又は機器１１０上でローカルにであれ若しくは同機器からリモートにであれ、何らかのアクションが実行される。換言すれば、タスク項目に関連付けられたタスクをただ単にユーザに通知する代わりに、タスクマネージャ１１２（又はクラウド１３０内のサービス）が、そのタスク項目のアクション部分を自動化することができる。
【００９６】
上述のように、アクションを実行させるには、タスクマネージャ１１２が別のアプリケーション又はプロセスにそのアクションを実行させる必要がある。（例えば、他のアプリケーションのＡＰＩを介した）他のアプリケーションの呼び出し又は起動は、以下の例で示すように、更なる入力を用いて、又は用いずに実行することができる。
【００９７】
「他の」アプリケーションの種類は、多岐に亘ることができる。機器１１０上で利用可能である可能性のあるアプリケーションの非限定的な例としては、電話アプリケーション、電子メールアプリケーション、ウェブブラウザ、音楽プレーヤアプリケーション、メディアプレーヤアプリケーション、音楽ダウンロードアプリケーション、画像処理アプリケーション、ジオポジショニングアプリケーション、連絡先アプリケーション、ＳＭＳアプリケーション、ビデオゲームアプリケーション、及びテキスト処理アプリケーションが挙げられる。
【００９８】
例えば、機器１１０のユーザが声に出して「今日の午後に彼女に折り返し電話するようにリマインドして」と言う。この音声入力が、機器１１０がネットワーク１２０を介してＮＬＰサービス１３２に（文脈データと共に）送る音声データに変換される。ＮＬＰサービス１３２がこの音声データ及び文脈データを分析して「彼女」とはＭａｒｉｌｙｎ  Ｍｅｒｌｏｔのことを指していると判定する。ＮＬＰサービス１３２が、「午後」とは（文脈データ、予め定義された設定、又は過去の履歴の何れに基づくかに拘わらず）午後２時であると判定し、Ｍａｒｉｌｙｎ  Ｍｅｒｌｏｔの１つ以上の電話番号を含む、ユーザに関連付けられた連絡先リスト（即ちアドレス帳）に基づいてＭａｒｉｌｙｎ  Ｍｅｒｌｏｔの電話番号を判定する。連絡先リストは、機器１１０上又はクラウド１３０内に記憶することができる。ＮＬＰ１３２が、タスクマネージャ１１２（又はクラウド１３０内のタスクサービスに）、タスク項目を生成するために使用されるリマインダデータを送信する。リマインダデータは、「今日」という日付、午後２時という時刻、及び特定の電話番号を使用してＭａｒｉｌｙｎ  Ｍｅｒｌｏｔに電話をするという命令を含んでいる。タスクマネージャ１１２が現在時刻が午後２時であると判定すると、タスクマネージャ１１２はＭａｒｉｌｙｎ  Ｍｅｒｌｏｔに電話をするようにユーザを促すメッセージを表示させる。メッセージは、「後ほど」ボタン及び「今すぐ電話する」ボタンを含んでもよい。ユーザが「後ほど」ボタンを選択した場合、タスクマネージャ１１２は午後の後ほどに（例えば、１時間後に）再度メッセージを送る。ユーザが「今すぐ電話する」ボタンを選択した場合、タスクマネージャ１１２はＭａｒｉｌｙｎ  Ｍｅｒｌｏｔの呼び出しを開始する。この開始では、タスクマネージャ１１２が機器１１０上で実行されている電話アプリケーション（図示せず）に対してＡＰＩコールを行い、このＡＰＩコールの引数として電話番号を渡す必要がある。次に、電話アプリケーションがこの電話番号を使用してこの電話番号に関連付けられた機器を呼び出す。
【００９９】
別の例として、機器１１０のユーザが声に出して「５時にＬｉｎｄｓａｙに愛しているとメッセージを送って」と言う。この音声入力が音声データに変換され、機器１１０によってネットワーク１２０を介してＮＬＰサービス１３２に送信される。ＮＬＰサービス１３２がこの音声データを分析して、Ｌｉｎｄｓａｙの携帯電話番号が必要であること、及び「５時」とは現在日の午後５時を指していることを判定する。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）が、（１）今日の午後５時という完了時刻、（２）テキスト（又はＳＭＳ）メッセージを送信するアクション、（３）Ｌｉｎｄｓａｙの携帯電話番号、及び（４）テキストメッセージの一部となる「愛してるよ」の文字列のデータ項目を含むタスク項目を作成する。タスクマネージャ１１２が、現在時刻が午後５時であることの判定に応じて、このタスク項目を分析して実行する必要のあるアクションを判定する。次に、タスクマネージャ１１２が、そのタスク項目に関連付けられた文字列を含むテキストメッセージをＬｉｎｄｓａｙの携帯電話に送信させる。このステップは、タスクマネージャ１１２が、機器１１０上で実行されているテキストメッセージアプリケーション（図示せず）のＡＰＩコールを呼び出すステップを含むことができ、この時に、その文字列（「愛してるよ」）がＡＰＩコールの引数である。
【０１００】
別の例として、機器１１０のユーザが声に出して「オフィスを出る時にＳａｎ  ＪｏｓｅのＲａｃｈｅｌ’ｓ  Ｒｅｓｔａｕｒａｎｔへの道順を教えて」と言う。この音声入力が音声データに変換され、機器１１０がこの音声データをネットワーク１２０を介してＮＬＰサービス１３２に送信する。ＮＬＰサービス１３２がこの音声データを分析して、Ｌｉｎｄｓａｙの携帯電話番号が必要であること、及び「５時」とは現在日の午後５時を指していることを判定する。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）が、（１）ユーザのオフィスを出る時の位置トリガ、及び（２）ユーザのオフィスからＲａｃｈｅｌ’ｓ  Ｒｅｓｔａｕｒａｎｔに至るまでの道案内（及び必要に応じて地図）を表示するアクションのデータ項目を含む、タスク項目を作成する。機器１１０のユーザがオフィスを出たという判定に応じて、タスクマネージャ１１２がこのタスク項目を分析し、実行する必要のあるアクションを判定する。次に、タスクマネージャ１１２が、（ユーザからの更なる入力を必要とせずに）道案内リクエストを道案内サービスに送信させる。道案内リクエストは、レストランの名前、レストランの何らかの所在地情報、又はその両方を含む。道案内サービスは機器１１０又は別の機器（図示せず）上でホスティングすることができる。
【０１０１】
別の例として、機器１１０のユーザが声に出して「Ｓａｎ  ＪｏｓｅのＰｉｚｚａ  Ｈｅａｖｅｎにチーズだけが載ったピザを注文して、Ｂｕｌｌｓ対Ｐａｃｅｒｓ戦が始まる３０分前に宅配させて」と言う。この音声入力が音声データに変換され、機器１１０がこの音声データをネットワーク１２０を介してＮＬＰサービス１３２に送信する。ＮＬＰサービス１３２がこの音声データを分析してＢｕｌｌｓ対Ｐａｃｅｒｓ戦は現地時間の午後６時に始まるので、時刻トリガは現地時間の午後５時３０分であると判定する。ＮＬＰサービス１３２はまた、Ｓａｎ  ＪｏｓｅのＰｉｚｚａ  Ｈｅａｖｅｎはオンライン注文を受け付けることを判定する。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）が、（１）午後５時３０分の時刻トリガ、及び（２）Ｐｉｚｚａ  Ｈｅａｖｅｎからのチーズだけが載ったピザを宅配の選択肢を選んで注文するアクションのデータ項目を含む、タスク項目を作成する。現在時刻が午後５時３０分であるとの判定に応じて、タスクマネージャ１１２（又はクラウド１３内のタスクサービス）がこのタスク項目を分析して実行する必要のあるアクションを判定する。次に、タスクマネージャ１１２が、ピザの注文リクエストをＰｉｚｚａ  Ｈｅａｖｅｎのオンライン注文サービスに送信させる。ピザの注文リクエストは、チーズのみというピザの種類、宅配という配達の選択肢、及びユーザの自宅の住所を含む。ピザの注文リクエストは、オンライン注文サービスに対するＡＰＩコールの形態であってもよく、この時に、このＡＰＩコールの引数には、チーズのみのトッピング、宅配、及びユーザの自宅の住所の指示が含まれる。あるいは、タスクマネージャ１１２は、送信する必要のあるピザの注文を生じさせる前に、機器１１０上に表示される（又は同機器によって再生される）このタスクに関する情報をユーザに伝えるメッセージを組み立てることができる。ユーザがそれを肯定する入力を与えた場合、タスクマネージャ１１２がピザをリクエストする注文を送信させる。ユーザがそれを否定する入力を与えた場合、ピザをリクエストする注文は送信されない。
【０１０２】
別の例として、機器１１０のユーザが声に出して「明日の午後３時にＰａｎｄｏｒａで私のクラシック音楽の局の番組を流して」と言う。「明日の午後３時」という時刻は、ユーザの予定されている試験の終わりと一致する。この音声入力が音声データに変換され、機器１１０がこの音声データをネットワーク１２０を介してＮＬＰサービス１３２に送信する。ＮＬＰサービス１３２がこの音声データを分析して意図されたアクションが実行される予定の日付及び時刻を判定する。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）が、（１）翌日を識別する日付を伴う午後３時の時刻トリガ、及び（２）ユーザによって設立され、ユーザのＰａｎｄｏｒａアカウントに関連付けられた、ユーザのＰａｎｄｏｒａ音楽アプリケーションのクラシック音楽の「局」の番組を流すアクションのデータ項目を含む、タスク項目を作成する。現在時刻が正しい日付の午後３時００分であるとの判定に応じて、タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）がこのタスク項目を分析して実行する必要のあるアクションを判定する。次に、タスクマネージャ１１２が、機器１１０上でのＰａｎｄｏｒａの音楽アプリケーション（図示せず）の実行を開始させ、ユーザのクラシック音楽の局の「番組を流させる」。タスクマネージャ１１２は、Ｐａｎｄｏｒａの音楽アプリケーションに対して、クラシック音楽の局の指示をその引数に含むＡＰＩコールを呼び出すことによりクラシック音楽の局に番組を流させることができる。
【０１０３】
いくつかの実施形態において、アクティブペイロードは、リマインダ又は通知を提供せずに、あるいはユーザからの許可を更に求めずに、１つ以上のトリガイベント（例えば、時刻、場所など）に基づいて自動的に処理される。このように、機器１１０は、ユーザが入力を更に与える必要なく、ユーザに代わって自動的にアクションを起こすことができる。例えば、タスク項目は、トリガイベントに応じて、機器１１０に、予め書かれた電子メール又はテキストメッセージを受信者に送信させることができる。ユーザは、機器１１０に向かって「高速道路を降りたら、もうすぐ着くと妻に伝えてくれ」と言う。ユーザが特定の位置（例えば、ユーザの自宅付近の出口）に到達すると、機器１１０（及び／又はＮＬＰサービス１３２などの関連付けられた任意のサービス）が「もうすぐ着く」という（テキストメッセージ又は電子メールなどの）メッセージをユーザの妻に送る、アクティブペイロードを有するタスク項目を作成することができる。いくつかの実施形態において、「もうすぐ着く」というメッセージに対応するユーザの音声入力の録音を、ボイスメールを介して、又は電子メール若しくはテキストメッセージの添付ファイルとして、受信者に送達することができる。また、その他のトリガイベントも、自動的に、かつ時刻、日付、他からのメッセージの受信などのようなユーザの介入を必要とせずに、アクティブペイロードを処理させることができる。
【０１０４】
上述のアクティブペイロードにより、機器１１０が、タスク項目のトリガ判定基準に基づいて特定のアクションを開始することができる。例えば、タスク項目が午後２時に同僚に電話をすることのリマインダである場合、機器１１０は午後２時に「今すぐ電話する」を使って自動的にユーザを促すことができる。しかし場合によっては、トリガイベントを必要とせずにアクティブペイロードを処理できるように、タスク項目を設定することが有益である。具体的には、ユーザはトリガを有しないタスク項目（時刻トリガ又は位置トリガなど）を作成するかもしれず、又はトリガ条件が満たされる前にタスク項目を完了することを望むかもしれない。これに適応するために、いくつかの実施形態では、ユーザによるタスク項目自体の選択に応じて、タスク項目に関連付けられたアクションが実行される。アクティブペイロードをタスク項目（又はタスク項目に関連付けられた入力）に結び付けることにより、その他のトリガ条件を満たす必要なく、ユーザの要求によってアクティブペイロードを処理することができる。さらに、タスクリストを閲覧しているユーザは、自分に都合のよい時にそのリストからただ単にタスク項目を選択することにより、アクティブペイロードを利用することができる。例えば、ユーザは、未処理のタスクを見直すためにタスクリストを閲覧し、ユーザが都合よく直ちに完了することのできるタスク項目を検討することができる。次にユーザは、アクティブペイロードを処理し（例えば、Ｇｒｅｇ  Ａｌｍｏｎｄに電話することを開始し）タスク完了するためには、ただ単にタスク項目（例えば、「Ｇｒｅｇ  Ａｌｍｏｎｄに電話する」という記述）を選択するだけでよい。
【０１０５】
ユーザによる選択を可能とするために、ユーザによって選択された時にタスクに関連付けられたアクションを実行させる起動領域にタスクリスト項目を関連付けることができる。起動領域は、グラフィックディスプレイの任意のエリアを押圧、クリック、タッチ、ないしは別の方法で選択することにより選択することのできる、このディスプレイのエリアであってもよい。いくつかの実施形態において、起動領域は、機器１１０の画面（例えばタッチスクリーン）上に表示されたグラフィカル要素又は文字要素と一致し又は重なり合う。いくつかの実施形態において、起動領域は、ユーザが表示された表題又は記述のテキストを選択すると、機器１１０がそのタスク項目に関連付けられたアクションを実行するように、タスク項目の表題又は記述と一致し又は重なり合う。いくつかの実施形態に係る選択可能なテキストを含むことのできるタスク項目を、図６に示す。
【０１０６】
いくつかの実施形態において、起動領域は、タスクリスト項目に関連付けられたタッチスクリーン上に表示されたグラフィカル要素と一致し又は重なり合う。グラフィカル要素は、タスクリスト項目の隣に、これに沿って、この上に、この下に、あるいはその付近の他の場所に表示することができ、グラフィカル要素を選択すると同時にそのタスクリスト項目に関連付けられたアクションが実行されることをユーザに示すことができる。
【０１０７】
タスク項目と共に表示されたグラフィカル要素の例を図６に示す。例えば、図形６３０は、起動領域を図形６３０上に重ね合わせることによってユーザ選択可能とすることのできる電話送受器の図形表示を含んでいる。ユーザが（例えば、押圧、タップ操作、タッチ操作などによって）図形６３０を選択すると、機器１１０が「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄ」への通話の開始に関連付けられたアクションを実行する。例えば、機器１１０は、Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄに関連付けられた電話番号に電話をかけることができる。
【０１０８】
同様に、図形６３２は、起動領域を図形６３２上に重ね合わせることによってユーザ選択可能とすることのできる手紙の図形表示を含んでいる。ユーザが（例えば、押圧、タップ操作、タッチ操作などによって）図形６３２を選択すると、機器１１０が受信者である「Ｐａｂｌｏ  Ｍａｒｃ」へのテキスト又は電子メールのメッセージの送信に関連付けられたアクションを実行する。例えば、機器１１０は、ユーザに対してテキスト入力領域と共にプロンプトを表示することができ、ユーザはこのテキスト入力領域内でＰａｂｌｏ  Ｍａｒｃに宛てたメッセージを作文することができる。
【０１０９】
いくつかの実施形態において、ユーザは、音声入力を使用してタスク項目を選択することができる。音声起動は、単独で使用することもでき、上述の起動領域と共に使用することもできる。いくつかの実施形態において、機器１１０がタスク項目の表題、記述、又はインジケータに一致する発話を検出すると、そのタスク項目が選択される。例えば、図６のタスクリストを閲覧しているユーザは「Ｐａｂｌｏ  Ｍａｒｃに返信して」と声に出して言えばよく、これにより、機器１１０によってそのタスク項目に関連付けられたアクティブペイロードが処理されることとなる。別の例では、ユーザが声に出して「Ｊｏｈｎに電話して」と言えばよく、機器１１０が、この発話が「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話する」というタスク項目に対応することを認識し、そのタスク項目に関連付けられたアクティブペイロードを処理する。
【０１１０】
いくつかの実施形態において、タスク項目が選択されると、そのタスクに関連付けられたアクションが、ユーザによる介入を更に必要とせずに実行される。例えば、ユーザが「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話する」というタスク項目を選択した場合、機器１１０がＪｏｈｎ  Ａｐｐｌｅｓｅｅｄへの通話を開始する。いくつかの実施形態では、タスク項目を選択することで、ユーザに対して、機器１１０がそのタスク項目に関連付けられたアクションを実行するべきであることの確認をユーザに問いかけるプロンプトが表示される。この確認又は許可のステップは、ユーザが誤ってタスクリスト項目を選択した場合の意図しないアクションの防止に役立てることができる。例えば、「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話する」というタスク項目を選択すると同時に、機器１１０は、「今すぐ電話する」又は「キャンセル」の選択肢を伴うプロンプトを表示することができる。同様に、「Ｐａｂｌｏ  Ｍａｒｃに返信する」というタスク項目を選択すると同時に、機器１１０は、（ユーザがＰａｂｌｏ  Ｍａｒｃに送る電子メール又はテキストメッセージの本文を作文することのできる）空欄のテキスト作文エリア及び「送信」又は「キャンセル」の選択肢を提供することができる。
【０１１１】
本発明の一実施形態に係る、タスク項目に関連付けられたアクションを開始するための方法１７００を示したフローチャートである、図１７を参照されたい。いくつかの実施形態において、方法１７００は、プロセッサ及びこのプロセッサによって実行される命令を記憶するメモリを有する電子機器（例えば、機器１１０）によって実行される。方法１７００は、タスクの１つ以上の属性を指定する入力をユーザから受け取るステップ（１７０２）を含む。（図２のステップ（２１０）及びそれに付随する説明も併せて参照されたい。）いくつかの実施形態において、入力はハンドヘルド装置（例えば、機器１１０）で受け取られた音声入力に基づく。いくつかの実施形態において、入力は、テキスト入力装置（例えば、物理的キーボード、タッチスクリーンキーボードなど）を介してハンドヘルド装置で受け取られたテキスト入力に基づく。いくつかの実施形態において、入力はタスク項目の作成を開始し、タスクに関連付けられた（機器によって実行される）アクションを識別するデータを含む。例えば、入力は、機器１１０がそのタスクに関連付けられるべきである特定のアクションを識別するステップとして認識することのできる「メッセージを送る」、「電子メールを送る」、又は「電話する」という言葉を含むことができる。方法１７００は、電子機器によって実行される、タスクに関連付けられるアクションの識別を含む入力に基づいて、タスク項目を生成するステップ（１７０４）を更に含む。（図２のステップ（２２０）及びそれに付随する説明も併せて参照されたい。）
いくつかの実施形態において、タスク項目は、タスクを完了するための通知をトリガすべき時又はアクションを実行すべき時を判定するトリガ判定基準（例えば、時刻トリガ又は位置トリガ）に関連付けられない。図６の「Ｇｒｅｇ  Ａｌｍｏｎｄに電話する」というタスク項目は、トリガ判定基準に関連付けられていないタスク項目を図示している。
【０１１２】
識別されたアクションは、アクティブペイロードに関連して上述したアクションも含め、機器１１０が実行できる任意のアクションであることができる。いくつかの実施形態において、このアクションは、電子メール又はテキストメッセージ（例えば、以前に起草されたメッセージを含む）を、ネットワークを介してそのタスク項目に関連付けられた受信者に送信させることである。いくつかの実施形態において、このアクションは、テキスト作文エリアを表示することである。すると、いくつかの実施形態では、ユーザがテキスト作文エリア内に入力したテキストが、電子メール又はテキストメッセージとして、タスク項目に関連付けられた受信者にネットワークを介して送信される。いくつかの実施形態において、テキスト作文エリアは、タスク項目に関連付けられた受信者の電子メールアドレス又は電話番号に関連付けられる。いくつかの実施形態において、このアクションは、タスク項目に関連付けられた電話番号に関連付けられた機器への通話を開始することである。いくつかの実施形態において、このアクションは、タスク項目に関連付けられた検索クエリ又はＵＲＬに基づいて検索を開始することである。
【０１１３】
いくつかの実施形態において、（上述のアクションのうちの１つのような）アクションを実行させるステップは、第１のプロセスによって第２のプロセスに第１のアクションを実行させるステップを含む。いくつかの実施形態において、第１のプロセスによって第２のプロセスにアクションを実行させるステップは、第１のプロセスによって第２のプロセスのＡＰＩコールを呼び出すステップを含み、このＡＰＩコールは、タスク項目に関連付けられる１つ以上の属性を含む。
【０１１４】
方法１７００は、タスク項目及びそれに関連付けられる起動領域をタスクリスト内で表示するステップ（１７０６）を更に含む。（図６及び８も併せて参照されたい。）いくつかの実施形態において、起動領域は、タスク項目の表題がユーザによって選択可能であるように、タスク項目の表題と重なり合う。いくつかの実施形態において、起動領域は、タスク項目の記述がユーザによって選択可能であるように、タスク項目の記述と重なり合う。いくつかの実施形態において、起動領域は、タスク項目の表題及び／又は記述の隣又はその近辺に表示することのできるグラフィカルオブジェクトがユーザによって選択可能であるように、そのグラフィカルオブジェクトと重なり合う。
【０１１５】
方法１７００は、起動領域のユーザ選択を受け取るステップ（１７０８）を更に含む。ユーザは、クリック、タッチ、押圧などの操作によって起動領域を選択することができる。いくつかの実施形態において、方法１７００は、起動領域のユーザ選択を受け取るステップの後でかつアクションを実行するステップの前に、アクションを実行する許可を求めるプロンプトを表示するステップ（１７１０）及びユーザから許可入力を受け取るステップ（１７１２）を含む。プロンプトを読み及び／又はこのプロンプトに対して続行するための許可で応答することをユーザに要求するステップは、機器１１０がユーザの意図しないアクションを起こすことの防止に役立てることができる。
【０１１６】
方法１７００は、起動領域のユーザ選択の受け取りに応じてアクションを実行するステップ（１７１４）を更に含む。実行することのできるアクションのいくつかの例についてはステップ（１７０４）に関連して上述している。
【０１１７】
いくつかの実施形態において、方法１７００は、アクションの実行に応じて、タスク項目を完了としてマーキングするステップ（１７２４）を更に含む。
【０１１８】
タスクの自動完了
いくつかの実施形態において、タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）は、タスク項目が消化されていることの検出に応じて、タスク項目を完了として「マーキング」する。換言すれば、タスク項目を、完了又は未完了の状態に関連付けることができる。タスクマネージャ１１２は、ユーザがタスクマネージャ１１２によって管理されるタスク項目を閲覧し、タスク項目が完了しているか否かを判定するための、インターフェースを提供することができる。タスクマネージャ１１２は、機器１１０のユーザが全ての完了したタスク項目を閲覧する選択肢を提供することができる。完了したタスク項目は、タスク項目が作成された時に、消化された（若しくは完了した）時に、又はその他何らかの判定基準に基づいて順序付けることができる。
【０１１９】
いくつかの実施形態において、タスクマネージャ１１２（又は機器１１０の別の構成要素）は、タスクが実際に実行されたことを検出した後にタスク項目を完了としてマーキングする。いくつかの実施形態において、タスク項目がアクティブペイロードを有する場合、そのアクティブペイロードに関連付けられたアクションが実行されると、タスクマネージャ１１２が、タスクが実行されたと判定する。例えば、タスク項目がある人物に電話をかけることのリマインダである場合、ユーザがタスク項目を選択した後に機器１１０がその人物への通話を開始した時に、タスクマネージャ１１２がそのタスク項目を完了としてマーキングする。
【０１２０】
いくつかの実施形態において、タスク項目は、タスクが実行されたか又はおそらく実行されたと思われると識別する１つ以上のルールに基づいて完了としてマーキングされる。具体的には、タスクマネージャ１１２は、ネットワーク通信トラフィック（例えば、音声、インターネットプロトコルなど）、ＡＰＩコールなどのような、機器１１０の様々なアスペクトを監視してタスクが実行されたかを判定することが可能であり得る。一例において、タスク項目が電子メール又はテキストメッセージを送信するためのリマインダである場合、タスクマネージャ１１２は、タスク項目の選択後に、機器１１０が電子メール又はテキストメッセージを実際に送信したかを検出することができる。電子メール又はテキストメッセージが送信されたことをタスクマネージャ１１２が検出した後、そのアクションに関連したタスク項目は、完了としてマーキングされる。
【０１２１】
別の例において、タスク項目が誰かに電話をするためのリマインダである場合、タスクマネージャ１１２は、通話が開始されたかを検出することができる。場合によっては、このことは、通話が開始されたかの検出だけではなく、通話に成功したかの検出もまた必要である。例えば、ユーザが電話をかけることを開始することができても、相手側がこれを受けないかもしれず、又は電話はボイスメールに送られるかもしれない。このような場合は、このタスクを完了としてマーキングするのは不適切である。したがって、電話をかけるというタスク項目が無事に完了したかを判定するためには、機器１１０のいくつかの異なるアスペクトを監視すればよい。
【０１２２】
いくつかの実施形態において、タスクマネージャ１１２は、機器１１０の通信インターフェース（例えば通信インターフェース１６１８）を監視して、ユーザがタスク項目を選択した後に通話が開始されたかを検出する。いくつかの実施形態において、タスクマネージャ１１２は、通話が無事に接続されたかを検出する。いくつかの実施形態において、タスクマネージャ１１２は、通話の特性であるユーザからの音声入力を監視する。タスクマネージャ１１２は、この情報（及び／又はその他の情報）のいずれかを単独で又は組み合わせで使用して、通話が無事に完了したかを判定することができる。
【０１２３】
いくつかの実施形態において、タスクマネージャ１１２はまた、タスク項目を完了としてマーキングすることを防止するために、タスクが無事に完了しなかったことも判定することもできる。具体的には、ユーザは、機器１１０上で、最近選択したタスク項目の完了とは一致しない特定のアクションをとることができる。例えば、ユーザが通話を開始するタスク項目を選択したが、短時間の後に（又は受け手が電話に出る前に）「通話の終了」ボタンを選択した場合、タスクマネージャ１１２は、このタスク項目を完了としてマーキングするべきではないと判定することができる。
【０１２４】
実際に、タスクが完了しなかったことを判定するために、タスクの完了に必要なプロセスの任意の種類のキャンセルを検出することができる。いくつかの実施形態において、機器１１０は、現在の動作をキャンセルするよう構成された、又は特定の動作をキャンセルする効果を有する１つ以上の制御要素を含む。この制御要素は、タッチスクリーンの起動領域、電源ボタン、制御ボタン、スイッチなどであることができる。ボタン６３４（図６）は、押下すると特定の動作をキャンセルし及び／又は機器１１０が異なる動作状態に入るようにすることのできる、制御要素の一例を図示している。
【０１２５】
いくつかの実施形態において、ユーザが、タスク項目を選択後でしかしタスクの完了前に特定の制御要素を（例えば、タッチ、クリック、押下などの操作によって）起動した場合、タスクマネージャ１１２は、このタスク項目を完了としてマーキングするべきではないことを認識する。上述の電子メールの例に戻って、テキスト入力エリアの表示を生じさせるタスク項目が選択され、メッセージが送信される前にユ−ザーがメッセージを終了する効果を有する制御要素を選択した場合、タスクマネージャ１１２は、このタスク（即ち、特定の受信者に電子メールを送信すること）は完了しなかったと認識する。
【０１２６】
タスク完了及びタスク未完了の両方を示すイベントを検出することにより、タスク項目を完了としてマーキングするべきかを、タスクマネージャ１１２が正確かつ自動的に判定することができる。これによりユーザがタスクリストに戻ってタスク項目を手動で完了としてマーキングする必要がないので、このことは、機器１１０のタスクリスト機能を更に自動化する上で役に立つ。更に、これにより、タスクマネージャ１１２が、完了としてマーキングするべきではないタスク項目を完了としてマーキングすることが防止される。
【０１２７】
追加的に又は別の方法として、消化された（即ち、完了した）タスク項目は記憶装置から削除される。例えば、タスクマネージャ１１２は、機器１１０上の記憶装置から、消化済みの一切のタスク項目を削除する。タスク項目の削除は、機器１１０のユーザが最近消化されたタスク項目を見直すことができるように、対応するタスクが完了してから一定期間（例えば、１ヶ月）の後に実施してもよい。クラウド１３０内のタスクサービスがクラウド１３０内に記憶されているタスク項目を管理している場合、そのタスクサービスが、消化されたタスク項目を削除することができる。
【０１２８】
本発明の一実施形態に係る、タスク項目を完了としてマーキングするべきかを判定するステップを含む方法１７００を図示した、図１７を参照されたい。
【０１２９】
いくつかの実施形態において、方法１７００は、アクションの実行に関連付けられた１つ以上のイベントを検出するステップ（１７１６）、及びこれら１つ以上のイベントがアクションが完了したことを示す１つ以上の条件を満たすかを判定するステップ（１７１８）を含む。異なる種類のアクションが、ステップ（１７０４）に関連して上述されている。
【０１３０】
いくつかの実施形態において、このアクションは電子メールの送信であり、これら１つ以上の条件は、電子機器によって電子メールが送信されたことの判定と同時に満たされる。いくつかの実施形態において、このアクションは通話の開始であり、これら１つ以上の条件は、通話開始要求の受け取りと同時に満たされる。いくつかの実施形態において、このアクションは通話の開始であり、これら１つ以上の条件は、通話接続イベントの検出と同時に満たされる。そのアクションが通話の開始である実施形態において、これら１つ以上の条件は、通話の特性である音声入力の検出と同時に満たすことができる。
【０１３１】
いくつかの実施形態において、方法１７００は、アクションの実行の不履行に関連付けられた１つ以上のイベントを検出するステップ（１７２０）、及びこれら１つ以上のイベントがアクションが完了していないことを示す１つ以上の条件を満たすかを判定するステップ（１７２２）を更に含む。このことは、タスク項目を選択した後でありながらそれを完了することができないうちにタスクが打ち切られた場合、これらタスクが完了としてマーキングされないことを確実にする上で役に立つ。いくつかの実施形態において、これら１つ以上の条件は、電子機器上の制御要素のユーザ選択の受け取りと同時に満たされる。いくつかの実施形態において、この制御要素は、タッチスクリーンの起動領域、電源ボタン、制御ボタン、及びスイッチからなる群から選択される。そのアクションが通話の開始であるいくつかの実施形態において、これら１つ以上の条件は、起動領域の選択後の所定の時間内に音声入力を検出しないことを含む。
【０１３２】
タスクの遅延解釈
一実施形態において、タスク項目が作成された時に、これに対応するタスクのうちのいくつかの詳細のみが既知であり、このタスク項目に関連付けられて記憶されていてもよい。記述、住所（存在する場合）、トリガ、及び／又はアクションに関するその他の詳細は、自動的であるにせよ又は手動プロセスであるにせよ、後ほど判定することができる。
【０１３３】
例えば、機器１１０がＮＬＰサービス１３２に、「５時にＳａｒａｈに電話する」ためのユーザコマンドを反映する音声データを送信する。ＮＬＰサービス１３２が、現在日の午後５時が時刻トリガであると判定し、タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）にその時刻トリガを有するタスク項目を作成させる。但し、そのタスク項目に関連付けられたアクション項目は、電話番号に関する一切の指示のない「Ｓａｒａｈに電話する」である。ＮＬＰサービス１３２は、Ｓａｒａｈが誰であるか、したがって彼女に電話をかけるためにどの電話番号を使用すべきか、未だ判定していない。その代わりに、これらの詳細は後ほど、例えば、現在時刻が午後５時でありこのアクションがトリガされる時に、又はこのトリガが起動する前のある時点で、判定される。タスクマネージャ１１２が、午後５時に、（テキストの形態であれ又はオーディオの形態であれ）「Ｓａｒａｈに電話する」アクション項目をＮＬＰサービス１３２又は別のサービスに送信して、（多くのＳａｒａｈが存在する場合は）特定のＳａｒａｈに関する情報を識別し、Ｓａｒａｈの電話番号を判定する。Ｓａｒａｈの電話番号が判定されると、タスクマネージャ１１２（又は別のプロセス）が、機器１１０上の電話アプリケーションにその電話番号を使用した通話を開始させる。この例では、（ａ）個人の身元及び（ｂ）その個人の電話番号の曖昧性除去は、タスク項目が生成された後まで遅延される。
【０１３４】
別の例として、機器１１０がＮＬＰサービス１３２に、「明日の朝、Ｓａｎ  Ｊｏｓｅの天気を調べる」ためのユーザコマンドを反映する音声データを送信する。ＮＬＰサービス１３２が、翌日の午前７時が時刻トリガであると判定し、タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）にその時刻トリガを有するタスク項目を作成させる。但し、このタスク項目に関連付けられたアクション項目は、このアクションをどのように実行するかに関する指示が一切ない「Ｓａｎ  Ｊｏｓｅの天気を調べる」である。ＮＬＰサービス１３２は、このユーザコマンドのうちの、Ｓａｎ  Ｊｏｓｅの天気をどのようにして調べるかを判定するその部分を未だ解釈していない。その代わりに、これらの詳細は後ほど、例えば、現在時刻が翌日の午前７時でありこのアクションがトリガされる時に、又はこのトリガが起動する前のある時点で、判定される。タスクマネージャ１１２は、翌日の午前７時に、（テキストの形態であれ又はオーディオの形態であれ）「Ｓａｎ  Ｊｏｓｅの天気を調べる」アクション項目をＮＬＰサービス１３２又は別のサービスに送信して、Ｊａｎ  Ｊｏｓｅの天気をどのようにして調べるかを識別する。これに応じて、ＮＬＰサービス１３２又は別のサービスがＳａｎ  Ｊｏｓｅの天気に関する情報を取得し、その情報を表示するためにこれを機器１１０に提供する。この例では、このアクションを実行する方法の判定が、タスク項目が生成された後まで遅延される。
【０１３５】
アラートに対する応答
前述のように、単なる通知に留まらないアクションに関連付けられるタスク項目について、機器１１０のユーザは、アクションを実行する代わりに、先ずタスクに関するアラートを受け、肯定応答又は否定応答で応答することができる。例えば、タスク項目のアクションは、Ｐｒｏｊｅｃｔ  Ｋｎｕｃｋｌｅｓについてタスクマネージャ１１２  Ｓｍｉｔｈに電子メールを送ることである。タスクマネージャ１１２が、機器１１０のユーザがＪａｎｅ  Ｓｍｉｔｈに電子メールを送ることになっていると示すメッセージを機器１１０上に表示させる。ユーザは、肯定応答を示す物理的なボタン又はグラフィカルボタンを押下することができる。あるいは、ユーザは、肯定応答を示す「実行」又は「はい」というコマンドを喋ってもよい。この入力（機器１１０のタッチスクリーンによってであれ、キーボードによる選択によってであれ、又は音声入力によってであれ）に応じて、タスクマネージャ１１２が機器１１０上の電子メールアプリケーションに、Ｊａｎｅ  Ｓｍｉｔｈ宛てのＰｒｏｊｅｃｔ  Ｋｎｕｃｋｌｅｓに関する件名の電子メールのメッセージを作文させる。あるいは、ユーザは、Ｊａｎｅ  Ｓｍｉｔｈに電子メールを送るタスクを後ほどリマインドしてもらおうと決めるかもしれない。したがって、ユーザは、通知に応じて、ユーザは１時間後なり又は翌日といった後ほどのある時点でＪａｎｅ  Ｓｍｉｔｈに電子メールを送りたい旨を示す入力を（機器１１０を介して）与える。このような入力は、ユーザの言う「後でリマインドして」又はただ単に「後で」であってもよい。
【０１３６】
一実施形態において、そのアクションが電子メールのメッセージのような通信の行為に応答することである場合、タスクマネージャ１１２は、タスクの作成時にこの通信の文脈を記憶し、このアクションの実行時にこの文脈を取得する。様々な実施形態において、通信の文脈は、その文脈又はその文脈のデータのコピーに関するユニバーサルリソース識別子若しくはその他の参照であるかもしれない。例えば、タスクマネージャ１１２は、返信すべき電子メールのメッセージの参照又はコピーを記憶する。アクションの実行時には、電子メールのメッセージの内容は、あたかもユーザがそれを初めて読んだ時に返信を実行したかのように再現される。このようにして記憶及び取得をすることのできる文脈データの他の例としては、テキストメッセージ、文書、ウェブページ、ボイスメールメッセージ、写真、オーディオ録音、及びビデオが挙げられるが、これらに限定はされない。
【０１３７】
別の例として、タスク項目のアクションは、Ｇｅｏｒｇｅ  Ｂｕｒｔに電話をかけることである。電話をするアクションをトリガすることの判定に応じて、タスクマネージャ１１２が、機器１１０のユーザに、リマインダが用意されていることの表示を提供する。この表示は、機器１１０の鳴動／振動、可聴音の生成、及び／又は通知メッセージの表示であってもよい。ユーザが、機器１１０を手に取ることなく、声に出して「読んで」という。タスクマネージャ１１２（又は別のプロセス）によるこの入力の処理に応じて、機器１１０が、「リマインダです。Ｇｅｏｒｇｅ  Ｂｕｒｔに電話してください」という文の音声版を再生する。この音声版は、ユーザによる元々の入力の再生に基づくこともでき、又はコンピュータによって生成された音声を反映することもできる。ユーザがＧｅｏｒｇｅ  Ｂｕｒｔに電話をかけると決めた場合、ユーザは単に「オーケー」又は「実行」と言うだけでよく、これによって機器１１０上の電話アプリケーションがＧｅｏｒｇｅ  Ｂｕｒｔに電話をかける。ユーザがＧｅｏｒｇｅ  Ｂｕｒｔに電話をかけないと決めた場合は、ユーザは「無視」又は「後でリマインドして」と言えばよい。
【０１３８】
ＩＶ．リストを使用したタスク項目の体系化
本発明の一実施形態によれば、タスク項目を１つ以上のリストに関連付けることができる。リストとは、同一のカテゴリに関連付けられた（又は属する）１つ以上のタスク項目の１組である。リストは、機器１１０のユーザがタスク項目を体系化された方法で閲覧することのできる方法である。異なるリストにより、ユーザはユーザが実行したい（又はユーザに代わって実行させたい）タスクをインテリジェントにかつ直感的にブラウズすることができる。図６〜１４は、本発明の一実施形態に係る様々な種類のリストのビューを示している。
【０１３９】
新しいタスク項目が作成されると、タスクマネージャ１１２（又はクラウド１３０内のサービス）がこの新しいタスク項目に関連付けられる１つ以上の属性を識別し、この新しいタスク項目を１つ以上のリストに割り当てる。例えば、新しいタスク項目が「電話する」アクションを含む場合、タスクマネージャ１１２（又はその他のプロセス）がこの新しいタスク項目を電話するリストに追加する。同様に、この新しいタスク項目が一定の文脈及び特定の場所を含む場合、タスクマネージャ１１２はこの文脈及び特定の場所を識別し、この新しいタスク項目を場所リスト及び／又は文脈リストに追加することができる。あるいは、ユーザがリストのうちから新しいタスク項目を追加するべき１つ以上を手動で識別することもできるが、このことについては下記に詳述する。
【０１４０】
全リストビュー
図５Ａは、本発明の一実施形態に係る、機器１１０が表示することのできる全リストビュー５００を示している。全リストビュー５００は、一切の特定のタスク項目に関する情報を包含していない。その代わりに、全リストビュー５００は、今日リスト５１０、全Ｔｏ  Ｄｏリスト５２０、近隣リスト５３０、自動車内リスト５４０、電話するリスト５５０、電子メールを送るリスト５６０、食料品リスト５７０、買い物リスト５８０、及び完了リスト５９０といった、タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）によって保守されている複数のリストへの参照を含む。前述のように、タスク項目は、複数のリストに関連付ける（又は属する）ことができる。例えば、牛乳を購入するという記述で時刻トリガが今日であるタスク項目は、今日リスト５１０、全Ｔｏ  Ｄｏリスト５２０、食料品リスト５７０、及び買い物リスト５８０に属することができる。
【０１４１】
リストは、組み込み若しくは定義済みリスト、スマートリスト、又はカスタム化リストの３種類のうちの１つとして分類することができる。今日リスト５１０、全Ｔｏ  Ｄｏリスト５２０、及び完了リスト５９０は、組み込み又は定義済みリストの例である。
【０１４２】
スマートリストは、アクション（例えば、電話する、電子メールを送る、メッセージを送る、アラートを出す）、場所、及び／又はアクションを実行すべき文脈のように、タスク項目が有することのできる異なる特性又は属性に基づいている。スマートリストの例としては、アクション別リスト、場所別リスト、及び文脈別リストが挙げられる。自動車内リスト５４０、電話するリスト５５０、及び電子メールを送るリスト５６０は、アクション別リストの例である。アクション別リストのその他の例としては、メッセージを送るリスト、検索するリスト、及び訪問するリストを挙げることができる。
【０１４３】
カスタム化リストの例としては、ＮＬＰサービス１３２によって識別されたカテゴリに基づくリスト、及びユーザによって作成されたリストが挙げられる。食料品リスト５７０及び買い物リスト５８０は、カスタム化リストの例である。カスタム化リストの別の例としては、ユーザのお気に入りのワインのリストを含むワインリスト（図示せず）である。
【０１４４】
図５Ａに示したリストに戻って、今日リスト５１０に属するタスク項目は、それぞれ対応するタスクを実行しなければならない又は実行すべき現在日の時刻を示すトリガ判定基準に関連付けられている。全てのタスク項目は、全Ｔｏ  Ｄｏリスト５２０に属する。近隣リスト５３０に属するタスク項目は、機器１１０の現在位置から一定距離（例えば、１マイル）内であるとみなされる場所に関連付けられている。自動車内リスト５４０に属するタスク項目は、自動車内で又は移動中に実行すべきタスクに関連付けられている。電話するリスト５５０に属するタスク項目は、人物又はエンティティに電話をかけるアクションに関連付けられている。電子メールを送るリスト５６０に属するタスク項目は、人物又はエンティティに電子メールを送るアクションに関連付けられている。食料品リスト５７０に属するタスク項目は、購入すべき食料品品目（例えば、牛乳、卵、果物）に関連付けられている。買い物リスト５８０に属するタスク項目は、衣類、書籍、歌曲、又は食料品などの購入すべき品目に関連付けられている。完了リスト５９０に属するタスク項目は、完了しているとみなされ、これらのタスク項目は、これらに対応するタスクが実行済みであり、又は少なくとも各タスク項目に関連付けられたアクション（例えば、アラート又は通知）が実行済みであることを示すことができる。
【０１４５】
全リストビュー５００はまた、それを選択することによって現行の及び／又は将来のタスク項目をそこに追加することができるように、機器１１０のユーザが別のカスタム化リストを作成することを可能とする、「＋」の表象をも含んでいる。
【０１４６】
図５Ｂは、図５Ａに示したリストのうちの一部を示しているが、機器１１０のユーザが特定のタスク項目を検索することができるように検索欄５０２を有している。タスク項目は、例えば、タスク項目に関連付けられた作成日、完了日（分かる場合）、完了状況、文脈トリガ（存在する場合）、場所（存在する場合）、及び／又はアクションの種類（例えば、通知するだけ、電話する、電子メールを送る、又は買い物する）に基づいて検索することができる。
【０１４７】
今日リスト
図６は、例えば、今日リスト５１０のユーザ選択に応じて、機器１１０が表示する今日リストのビュー６００を示している。ビュー６００は、特定の時刻に関連付けられたタスク項目のセクション６１０、及び特定の時刻に関連付けられていないタスク項目のセクション６２０の２つのセクションに分割されたタスクのリストを含んでいる。セクション６１０内のタスク項目の各々は、移動時刻リマインダに関連付けられている。セクション６１０内の３番目のタスク項目及びセクション６２０内の２番目から４番目までのタスク項目は、単なるリマインダ又はアラートに留まらないアクションに関連付けられている。
【０１４８】
例えば、セクション６１０内の３番目のタスク項目は、午後５時に「Ｃｈｌｏｅを迎えに行く」ことである。その記述の右側にあるアイコンはコンパスの表象で、このタスク項目に関連付けられたアクションは機器１１０のユーザを意図する目的地（この例ではＰｉｎｅｗｏｏｄ  Ｓｃｈｏｏｌである）まで誘導する補助をするための道案内を生成することであることを示している。
【０１４９】
別の例として、セクション６２０内の２番目のタスク項目は「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話する」ことである。その記述の右側にあるアイコンは、電話機の表象であり、このタスク項目に関連付けられたアクションはＪｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話をかけることであることを示している。電話機の表象に隣接しているのは自動車の表象であり、機器１１０のユーザは、ユーザが自動車内にいる時又は移動中にＪｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話をかけることになっていることを示している。
【０１５０】
別の例として、セクション６２０内の最後のタスク項目は「Ｐａｂｌｏ  Ｍａｒｃに返信する」ことである。その記述の右側にあるアイコンは封筒の表象であり、このタスク項目に関連付けられたアクションはＰａｂｌｏ  Ｍａｒｃに電子メールを送ることであることを示している。ビュー６００はまた、このタスク項目は期限を過ぎており、というよりも、Ｐａｂｌｏ  Ｍａｒｃに電子メールを送るように初期に予定された時刻が過ぎてしまっていることを示している。
【０１５１】
単一タスク項目ビュー
図７は、機器１１０が表示する、特定のタスク項目に関する詳細を含むビュー７００を示している。ビュー７００は、図６のビュー６００内のセクション６２０内にある２番目のタスク項目のユーザ選択に基づいて生成されたものであってもよい。表示されているタスク項目は、記述項目７１０、アクション項目７２０、リマインダ項目７３０、及びリスト割り当て項目７４０の４つのデータ項目を包含している。
【０１５２】
記述項目７１０は、タスクの高位記述（「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄに電話する」）を包含しており、主題（「アーモンド取引について相談する」）に関する詳細を含んでいる。記述項目７１０のセクションは、機器１１０のユーザが記述を編集することが可能であるようにすることができる。
【０１５３】
アクション項目７２０は、アクションの記述（「電話する」）を包含しており、Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄのどの電話（「携帯」）を使用するかを含んでいる。アクション項目７２０の選択は、機器１１０のユーザがＪｏｈｎ  Ａｐｐｌｅｓｅｅｄに関連付けられた電話番号を閲覧し、及び／又はＪｏｈｎ  Ａｐｐｌｅｓｅｅｄに関連付けられた別の電話番号、Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄの電子メールアドレスなどといった他の連絡先の選択肢を与えることを可能とすることができる。更に、アクション項目７２０内の電話機アイコンの選択は、このタスク項目に関連付けられた１つ以上のトリガ判定基準が満たされるのを待つ代わりに、タスクマネージャ１１２にその場でＪｏｈｎ  Ａｐｐｌｅｓｅｅｄへの呼び出し電話を開始させることができる。
【０１５４】
リマインダ項目７３０は、検出された時にアクションを実行させ、又は少なくともこのタスクに関するアラートを生じさせる、トリガの種類（「自動車内にいる時」）を示している。リマインダ項目７３０の選択は、ユーザがリマインダの種類を変更することを可能とすることができる。
【０１５５】
リスト割り当て項目７４０はタスク項目が属するリストを示しており、そのリストは、この例では「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔ」リストである。このリストは、カスタム化リストの一例である。リスト割り当て項目７４０の選択は、機器１１０に、「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔ」リストに属する複数のタスク項目を表示させることができる。
【０１５６】
全Ｔｏ  Ｄｏリスト
図８は、機器１１０の表示する、複数のタスク項目に関する情報を含む全Ｔｏ  Ｄｏリストのビュー８００を示している。この例では、複数のタスク項目が日付別に順序付けられている。ビュー８００は、図８Ａのビュー８００内の全Ｔｏ  Ｄｏリスト８２０のユーザ選択に基づいて生成されたものであってもよい。ビュー８００は、ある日に完了すべきタスク項目（又はその参照）を包含するセクション８１０、及びその翌日に完了すべきタスク項目を包含するセクション８２０の２つのセクションに分割されている。
【０１５７】
ビュー８００内で参照されているタスク項目のうちのいくつかは完了している。このような完了したタスク項目は、それぞれ対応する記述の左側にある薄灰色の表象を伴って表示されている。完了しているタスク項目は、まだ完了していないタスク項目と、チェックマークなどの他の技法によって区別することもできる。
【０１５８】
図８に示した例では、タスク項目は、それぞれ対応するタスクを実行すべき日付（即ち「期限」）によって体系化されている。但し、ビュー８００内で参照されているタスク項目は、機器１１０のユーザがそれぞれ対応するタスクに関するアラート若しくはリマインダを受け取る日付（「アラート日」）、タスク項目が作成された日付（「作成日」）、タスク項目が変更された日付（「変更日」）、又はそれぞれ対応するタスク項目が実行された日付（「完了日」）別に体系化することもできる。
【０１５９】
近隣リスト
図９は、機器１１０が表示する「近隣」リストのビュー９００を示している。ビュー９００は、図８Ａのビュー８００内の近隣リスト８３０のユーザ選択に基づいて生成されたものであってもよい。ビュー９００は、機器１１０の現在位置からの距離に基づいて順序付けられた複数の場所に関する情報を包含している。リストの最上部に示されている場所（「自宅」）が機器１１０の現在位置に最も近い一方で、リストの最下部に示されている場所（「Ｐｉｎｅｗｏｏｄ  Ｓｃｈｏｏｌ」）が機器１１０の現在位置から最も遠い。
【０１６０】
ビュー９００内に示されている各々の場所は、異なる場所リストに関連付けられている。各々の場所リストは、１つ以上のタスク項目に関連付けることができる。例えば、「自宅」の場所は４つの（「自宅」の場所のユーザ選択により表示することのできる）タスク項目に関連付けられているかもしれない一方で、「Ａｔｈｅｒｔｏｎ  Ｄｒｙ  Ｃｌｅａｎｉｎｇ」の場所は１つのタスク項目のみに関連付けられているかもしれない。
【０１６１】
ビュー９００に示されている場所は機器１１０の現在位置からの距離に基づいて順序付けられているので、機器１１０の現在位置が変ると、場所インジケータが順序付けし直されるかもしれず、そのいくつかがビュー９００から削除されるかもしれず、ビュー９００に現在表示されていない他の場所がビュー９００に表示されるかもしれない。例えば、機器１１０が現在、ビュー９００内で示されている２番目の場所によって識別されたＷｈｏｌｅ  Ｆｏｏｄｓの店舗の隣にある店舗に位置している場合に機器１１０がビュー９００を表示した場合は、そのＷｈｏｌｅ  Ｆｏｏｄｓの場所インジケータがリストの最上部に位置する。
【０１６２】
上述のように、ビュー９００は、「自宅」の場所及び「職場」の場所を含んでいる。「自宅」（又は「職場」）と名付けられた場所の特定の住所との関連付けは、様々な方法で行うことができる。例えば、多くのモバイル機器がそのモバイル機器のユーザに関するプロファイル情報を記憶している。この情報は、「私カード」と呼ばれる。私カードは、通常、ユーザの自宅住所及びユーザの職場住所を記憶している。したがって、タスクマネージャ１１２（又は別のプロセス）が、機器１１０上に記憶されている私カードを分析してユーザの自宅の住所及び（存在する場合は）職場の住所を判定する。
【０１６３】
一実施形態において、半径がある特定の場所に関連付けられ、この半径によって示される距離内にある場所に関連付けられた任意のタスク項目は、その特定の場所に関連付けられているとみなされる。例えば、機器１１０のユーザの自宅に関連付けられた半径は、２マイルである。タスク項目が公園に関連付けられており、この公園が自宅から２マイル以内にある場合、このタスク項目は、自宅に関連付けられている他のタスク項目と共に「自宅」リストに関連付けられる。
【０１６４】
場所リストビュー
前述のように、場所リストはスマートリストの一例である。一実施形態において、ある場所に（例えば、これら１つ以上のトリガ判定基準の一部として）関連付けられている任意のタスク項目は、このタスク項目の場所と同じ場所に関連付けられた場所リストに自動的に関連付けられる。タスクマネージャ１１２（又はクラウド１３０内のタスクサービス）は、複数の場所リストを保守することができる。
【０１６５】
図１０Ａは、機器１１０が表示する場所リストビュー１０００を示している。場所リストビュー１０００は、図９の近隣ビュー９００内の「自宅」場所インジケータのユーザ選択に基づいて生成したものであってもよい。場所リストビュー１０００は、６個のタスク項目を包含している。最初の４つのタスク項目の各々に隣接したベルの表象は、機器１１０がユーザの自宅若しくはその付近にある時に、又は少なくとも指定された日付のある時点で、これらのタスク項目のリマインダ（又はアラート）が発生することを示している。最後の２つのタスク項目については、リマインダ又はアラートは発生しない。
【０１６６】
場所リストビュー１０００はまた、選択されるとタスクマネージャ１１２に地図アイコンに関連付けられた場所の地図を生成する地図アプリケーションと通信させる、地図アイコン１００２をも含んでいる。この例では、ユーザの自宅の地図が生成されることとなる。
【０１６７】
図１０Ｂは、機器１１０が表示する場所リストビュー１０５０を示している。場所リストビュー１０５０は、図９の近隣ビュー９００内の「Ｗｈｏｌｅ  Ｆｏｏｄｓ」の場所インジケータのユーザ選択に基づいて生成したものであってもよい。場所リストビュー１０５０は、各々がタスク項目であってもよく、そうでなくてもよい、６個のデータ項目を包含している。その代わりに、場所リストビュー１０５０内の各データ項目は、ただ単にＷｈｏｌｅ  Ｆｏｏｄｓ食料品店で購入する食料品品目を識別している。食料品品目のいずれもリマインダに関連付けられておらず（但し、関連付けることもできる）、又は完了日に関連付けられていない（但し、関連付けることもできる）。
【０１６８】
場所リストビュー１０５０内で識別されている食料品品目は、機器１１０のユーザからの入力に応じてＷｈｏｌｅ  Ｆｏｏｄｓの食料品リストに関連付けられた。例えば、ユーザが「アーモンドミルクを食料品リストに加えて」又は「自宅の近くのＷｈｏｌｅ  Ｆｏｏｄｓでアーモンドミルクを買うことを忘れないで」というコマンドを喋った。機器１１０がこのコマンドを反映する音声データをＮＬＰサービス１３２に伝送する。ＮＬＰサービス１３２が、この音声データに基づいて、ユーザはアーモンドミルクを購入するつもりであることを判定する。ＮＬＰサービス１３２は、タスクマネージャ１１２に（ａ）アーモンドミルクを購入するタスクのタスク項目を作成させ、このタスク項目をＷｈｏｌｅ  Ｆｏｏｄｓリストに追加させるか、又は（ｂ）ただ単に「アーモンドミルク」をＷｈｏｌｅ  Ｆｏｏｄｓリストに追加させることができる。
【０１６９】
場所リストビュー１０５０はまた、選択されるとタスクマネージャ１１２に地図アイコンに関連付けられた場所の地図を生成する地図アプリケーションと通信させる、地図アイコン１０５２をも含んでいる。この例では、表示された住所によって識別されたＷｈｏｌｅ  Ｆｏｏｄｓの店舗の地図が生成されることとなる。
【０１７０】
スマートリスト
前述のように、場所別リスト、アクション別リスト、及び文脈別リストはスマートリストの例である。図１１Ａは、文脈別リスト、具体的には自動車内リストのビュー１１００を示している。図１１Ｂ及び図１１Ｄは、異なるアクション別リスト、具体的には電話するリスト及び電子メールを送るリストのビューを示している。
【０１７１】
ビュー１１００は、特定の文脈、即ち「自動車内」の文脈において実行されるべきタスクに関連付けられたタスク項目を包含している。自動車内リスト内のタスク項目は、電話をかけること及び道順を得ることなどの異なるアクションに関連付けることができる。
【０１７２】
対照的に、図１１Ｂに示されたビュー１１１０は、この例では人物又はエンティティに電話をかけることという、同じアクションに関連付けられたタスク項目を包含している。ビュー１１１０内の最初の３つのタスク項目は電話機のアイコンを有しており、タスクマネージャ１１２はそれぞれ対応するタスク内で示された人物の電話番号を知っていることを示している。しかし、ビュー１１１０内の最後のタスク項目は、電話機のアイコンに関連付けられておらず、ユーザの連絡先リスト内の多くの連絡先がおそらくＢｏｂという名前を有し得ることから、タスクマネージャ１１２は、「Ｂｏｂ」の電話番号を確実には知らないことを示している。ビュー１１１０内の「Ｂｏｂに電話する」タスク項目の選択により、機器１１０に図１１Ｃに示したビュー１１２０を表示させる。
【０１７３】
ビュー１１２０は、「Ｂｏｂに電話する」タスク項目に包含されている（又は関連付けられている）記述項目及びアクション項目の２つのデータ項目を示している。このアクション項目は、複数の連絡先が「Ｂｏｂ」として知られていることを示している。その結果、ビュー１１１０内の他のタスク項目に関連付けられた通話ボタンは無効とされていないのに、このアクション項目は無効とされた通話ボタンを含んでいる。このアクション項目の選択により、「Ｂｏｂ」の身元の曖昧性を解消するプロセスを開始することができる。例えば、このアクション項目を選択することにより、タスクマネージャ１１２に各々Ｂｏｂ又はＲｏｂｅｒｔの名前を有する名前のリストを表示させることができる。このようにすれば、それぞれ対応するタスク項目の作成のずっと後に、身元又は電話番号の曖昧性除去を行うことができる。
【０１７４】
図１１Ｄに示したビュー１１３０は、６個のタスク項目を含んでおりその各々が電子メールを送るアクションを含んでいる。電子メールを送るタスク項目のアクティブペイロードの引数は、「宛先」又は電子メールアドレス、及び必要に応じて、その電子メールの件名欄の表題を含んでいる。
【０１７５】
一実施形態において、「電子メール」のタスク項目は、タスクマネージャ１１２とは別個の電子メールアプリケーションによって作成される。電子メールアプリケーションは、タスクマネージャ１１２のＡＰＩコールを呼び出して、電子メールを送ることをアクションとし、このアクションに電子メールアドレス及び表題を含むアクティブペイロードが含まれている、タスク項目を作成することができる。
【０１７６】
カスタム化リスト
前述のように、カスタム化リストは、組み込みリスト及びスマートリストを含む主要な３種類のリストのうちの１つである。上記に示したカスタム化リストの例としては、（図５Ａで参照した）食料品リスト５７０及び買い物リスト５８０が挙げられる。図１２は、食料品リスト５７０のユーザ選択に応じて生成することのできるビュー１２００を示している。ビュー１２００は、各々が購入すべき異なる食料品品目を参照する６個のデータ項目を含んでいる。これらデータ項目の各々は、記述のみを有するタスク項目であってもよい。データ項目は、ＮＬＰサービス１３２からの入力に基づく食料品リストに関連付けられたものであってもよい。例えば、ＮＬＰサービスが、機器１１０から、「お店で焼きたてのパンを買う」ユーザコマンドを反映する音声データを受信する。ＮＬＰサービス１３２が、機器１１０のユーザは食料品店で焼きたてのパンを購入するつもりであることを判定し、「焼きたてのパン」を食料品のカテゴリに関連付ける。これに応じて、ＮＬＰサービス１３２が、タスクマネージャ１１２に、「焼きたてのパン」の記述を含み食料品のカテゴリに関連付けられるタスク項目を作成するための、タスク項目作成コマンドを送信する。これに応じて、タスクマネージャ１１２がタスク項目を作成し、このタスク項目をタスクマネージャ１１２が保守する食料品リストに関連付ける。
【０１７７】
図１３は、別の種類のカスタム化リストである、ユーザ定義リストのビュー１３００を示している。このユーザ定義リストは「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔ」と題されており、３つのタスク項目を包含しており、そのうちの１番目はアクション（即ち、電話する）及び文脈トリガ（例えば、「自動車内」又は「運転中」）に関連付けられている。機器１１０のユーザは、タスク項目をユーザ定義リストに「手動で」関連付けることができる。例えば、タスクマネージャ１１２がタスク項目を作成した後、ユーザがこのタスク項目を選択し、機器１１０上に表示された１つ以上の選択肢（例えば、メニュー）を介して特定のユーザ定義リストを選択することにより、タスクマネージャ１１２にこのタスク項目をこの特定のユーザ定義リストと関連付けさせる。
【０１７８】
あるいは、ＮＬＰサービス１３２が、機器１１０から受信した入力データ（音声であれ又はテキストであれ）に基づいて、タスク項目に関連付けるべき特定のリストを判定する。例えば、音声データは、「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔに関する提案書を書く必要がある」というユーザコマンドを反映することができる。ＮＬＰサービス１３２は、「提案書を書く」がタスクであり、「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔ」が、タスクマネージャ１１２が作成済みであるかもしれず又は未だ作成していないかもしれない、リストの名前であることを判定する。次に、ＮＬＰサービス１３２が、タスクマネージャ１１２に、記述（「提案書を書く」）及びこれから作成するタスク項目を追加できる可能性のあるリストの名前（「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔ」）を送信する。タスクマネージャ１１２が、「Ｎｕｔ  ｔｏ  Ｃｒａｃｋ  Ｐｒｏｊｅｃｔ」と同じ又は類似した名前を有するリストが存在するかを判定する。存在する場合は、タスクマネージャ１１２が新しいタスク項目を作成し、このタスク項目をそのリストに関連付ける。存在しない場合、タスクマネージャ１１２がその名前で新しいリストを作成し、新しいタスク項目を作成し、そのタスク項目をその新しいリストに関連付ける。
【０１７９】
リスト及びメモ
前述のように、リストは、タスクではない項目を包含することができる。このような「非タスク」は、記述のみからなる「メモ」と呼ばれる。図１４は、各々が異なるワインを参照する６個のメモを包含する、お気に入りワインリストのビュー１４００を示している。
【０１８０】
更に前述のように、ＮＬＰサービス１３２は、タスクマネージャ１１２がタスク及びメモを適切なリストに容易に割り当てることができるように、リストの名前を認識するように構成することができる。
【０１８１】
カレンダイベント
一実施形態において、タスクマネージャ１１２によって管理されるタスク項目を作成するために、カレンダアプリケーションの文脈で作成されたカレンダイベントが使用される。カレンダアプリケーションはタスクマネージャ１１２の一部であってもよく、又は別個に実行されるアプリケーションであってもよい。例えば、カレンダアプリケーションは、記述、日付、場所（存在する場合）、所要時間（存在する場合）、及びリマインダ（存在する場合）などのカレンダイベントの詳細に基づいてタスクマネージャ１１２にタスク項目を作成させる１つ以上のＡＰＩコールを介するなどして、タスクマネージャ１１２に新たに作成したカレンダイベントを送るように構成することができる。あるいは、タスクマネージャ１１２は、ユーザがカレンダを閲覧し、特定の日付及び時刻、又は１組の日付に関連付けられるイベントを作成することができる、カレンダサービスを提供することができる。タスクマネージャ１１２はまた、イベントの作成と同時にそのイベントのタスク項目をも作成する。
【０１８２】
図１５は、カレンダイベントに基づいて生成されたタスク項目のビュー１５００を示している。このタスク項目は、記述（「Ｅｌｉｚａｂｅｔｈ  Ｒｅｉｄと一緒に昼食」）、開始時刻（「今日の午後１２時」）、所要時間（「１時間」）、及びリマインダ（「１０分前」）の４つのデータ項目を含んでいる。４つのデータ項目のうちのいずれかを選択することにより、機器１１０のユーザがそれに対応するデータ項目を編集することを可能とすることができる。一実施形態において、カレンダイベントに基づいて生成されたタスク項目に変更を行った場合、その変更は、カレンダアプリケーションによって管理されるカレンダイベントに「プッシュ」される。
【０１８３】
何れのシナリオにおいても、カレンダサービスによって作成され保守されているカレンダイベントがある場所に関連付けられている場合、そのカレンダイベントに基づいて生成されたタスク項目もまた、その場所に関連付けることができる。その場合、タスクマネージャ１１２は、そのタスク項目を、図１０Ａのビュー１０００内の場所リストなどの場所リストに自動的に関連付けることができる。
【０１８４】
組み合わせ
前述の説明は、主要な４つの取り組み方（タスク項目の生成、タスク項目の体系化、通知のトリガ、及びタスク項目の消化）を含むものの、これらの取り組み方の各々は、多くの例で述べたように、個別に実施することもでき、又は一緒に使用することもできる。例えば、自然言語処理を使用してタスク項目を生成することができるが、本明細書内で説明したタスク項目を処理するための取り組み方（即ち、タスク項目の体系化、通知のトリガ、及びタスク項目の消化）は使用されない。別の例として、自然言語処理を使用してタスク項目を生成することができ、このタスク項目を体系化するための本明細書内で説明した取り組み方を使用することができるが、通知をトリガし、又はこのタスク項目を消化するための本明細書内で説明した取り組み方はいずれも使用されない。別の例として、タスク項目を生成し及び体系化し並びに通知のトリガするための取り組み方はいずれも使用されないが、このタスク項目を消化するための本明細書内で説明した取り組み方が使用される。
【０１８５】
ハードウェアの概観
一実施形態によれば、本明細書内で説明した技法は、１つ以上の専用コンピューティングデバイスによって実行される。専用コンピューティングデバイスは、これらの技法を実行するように実配線することができ、又はこれら技法を実行するためにプログラムされた１つ以上の特定用途向け集積回路（ＡＳＩＣ）若しくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのデジタル電子機器を含むことができ、又はファームウェア、メモリ、その他の記憶装置、若しくはこれらの組み合わせの中のプログラム命令に従ってこれら技法を実行するようにプログラムされた１つ以上の汎用ハードウェアプロセッサを含むことができる。このような専用コンピューティングデバイスはまた、実配線されたカスタム論理回路、ＡＳＩＣ、又はＦＰＧＡをカスタムプログラミングと組み合わせてこれら技法を実現することもできる。専用コンピューティングデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルド装置、ネットワーク機器、又はこれら技法を実施するために実配線された論理回路及び／又はプログラム論理回路を組み込んだその他任意の機器であってもよい。
【０１８６】
例えば、図１６は、本発明の一実施形態を実行することのできるコンピュータシステム１６００を図示したブロック図である。コンピュータシステム１６００は、情報を伝達するバス１６０２又はその他の伝達機構、及びバス１６０２に連結し情報を処理するハードウェアプロセッサ１６０４を含んでいる。ハードウェアプロセッサ１６０４は、例えば、汎用マイクロプロセッサであってもよい。
【０１８７】
コンピュータシステム１６００はまた、バス１６０２に連結し、プロセッサ１６０４によって実行される情報及び命令を記憶する、読み出し書き込み可能メモリ（ＲＡＭ）又はその他のダイナミック記憶装置などの主記憶装置１６０６をも含んでいる。主記憶装置１６０６はまた、プロセッサ１６０４によって実行される命令の実行中に一時的数値変数又はその他の中間情報を記憶するためにも使用することができる。このような命令は、プロセッサ１６０４にアクセス可能な記憶媒体内に記憶されると、コンピュータシステム１６００をこれら命令内で指定された動作を実行するためにカスタム化された専用機械に変える。
【０１８８】
コンピュータシステム１６００は、バス１６０２に連結し、プロセッサ１６０４のためのスタティックな情報及び命令を記憶する読み出し専用メモリ（ＲＯＭ）１６０８又はその他のスタティック記憶装置を更に含んでいる。情報及び命令を記憶する磁気ディスク又は光ディスクなどの記憶装置１６１０が設けられ、バス１６０２に連結している。
【０１８９】
コンピュータシステム１６００は、バス１６０２を経由して、コンピュータのユーザに対して情報を表示するブラウン管（ＣＲＴ）などのディスプレイ１６１２に連結することができる。情報及びコマンド選択をプロセッサ１６０４に伝達するための、英数字及びその他のキーを含む入力装置１６１４がバス１６０２に連結している。別の種類のユーザ入力装置は、方向情報及びコマンド選択をプロセッサ１６０４に伝達し、ディスプレイ１６１２上のカーソルの動きを制御する、マウス、トラックボール、又はカーソル方向キーなどのカーソル制御装置１６１６である。この入力装置は、通常、機器が平面内の位置を指定することを可能とする、第１の軸（例えば、ｘ）及び第２の軸（例えば、ｙ）の２軸上の２方向の自由度を有する。
【０１９０】
コンピュータシステム１６００は、このコンピュータシステムと結合してコンピュータシステム１６００を専用機械とし又はそのようにプログラムする、実配線されたカスタム化論理回路、１つ以上のＡＳＩＣ若しくはＦＰＧＡ、ファームウェア、及び／又はプログラム論理回路を使用して、本明細書内で説明した技法を実行することができる。一実施形態によれば、本明細書内の技法は、主記憶装置１６０６内に包含された１つ以上の命令の１つ以上のシーケンスのプロセッサ１６０４による実行に応じてコンピュータシステム１６００によって実行される。このような命令は、記憶装置１６１０などの別の記憶媒体から主記憶装置１６０６内に読み込むことができる。主記憶装置１６０６内に包含された命令のシーケンスを実行することにより、プロセッサ１６０４が本明細書内で説明したプロセスのステップを実行する。代替実施形態では、ソフトウェア命令の代わりに又はこれらと組み合わせて、実配線回路を使用してもよい。
【０１９１】
本明細書内で使用する「記憶媒体」という言葉は、機械を特定の方法で動作させるデータ及び／又は命令を記憶する任意の媒体を指す。このような記憶媒体は、不揮発性媒体及び／又は揮発性媒体を備えることができる。不揮発性媒体としては、例えば、記憶装置１６１０のような光ディスク又は磁気ディスクが挙げられる。揮発性媒体としては、主記憶装置１６０６のようなダイナミックメモリが挙げられる。記憶媒体の一般的な形態としては、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、若しくはその他任意の磁気データ記憶媒体、ＣＤ−ＲＯＭ、その他任意の光学的データ記憶媒体、穴のパターンによる任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、ＮＶＲＡＭ、その他任意のメモリチップ若しくはカートリッジが挙げられる。
【０１９２】
記憶媒体は伝送媒体とは別個のものであるが、伝送媒体と共に使用することができる。伝送媒体は、記憶媒体間の情報の転送に関与する。例えば、伝送媒体としては、バス１６０２を構成する電線などの同軸ケーブル、銅線、及び光ファイバーが挙げられる。伝送媒体はまた、電波データ伝送及び赤外線データ伝送時に発生するような音波又は光波の形態をとることもある。
【０１９３】
１つ以上の命令の１つ以上のシーケンスをプロセッサ１６０４に搬送して実行するために、様々な形態の媒体を含むことができる。例えば、命令は、はじめにリモートコンピュータの磁気ディスク又はソリッドステートドライブ上で搬送することができる。リモートコンピュータは、命令をそのダイナミックメモリにロードし、モデムを使用して電話回線を介してこの命令を送信することができる。コンピュータシステム１６００にとってローカルなモデムが電話回線上でデータを受信し、赤外線送信機を使用してこのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号内で搬送されたデータを受信することができ、適切な回路がバス１６０２上にデータを載せることができる。バス１６０２は主記憶装置１６０６にデータを搬送し、プロセッサ１６０４が主記憶装置１６０６から命令を取得し実行する。主記憶装置１６０６が受け取った命令は、必要に応じて、プロセッサ１６０４による実行の前又は後のいずれかに記憶装置１６１０上に記憶することができる。
【０１９４】
コンピュータシステム１６００はまた、バス１６０２に連結した通信インターフェース１６１８をも含んでいる。通信インターフェース１６１８は、ローカルネットワーク１６２２に接続されたネットワークリンク１６２０に連結して双方向データ通信を提供する。例えば、通信インターフェース１６１８は、サービス統合デジタル網（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、又はそれぞれ対応する種類の電話回線にデータ通信接続を提供するモデムであってもよい。別の例として、通信インターフェース１６１８は、互換性のあるローカルエリアネットワーク（ＬＡＮ）にデータ通信接続を提供するＬＡＮカードであってもよい。また、無線リンクを実施することもできる。このような任意の実施において、通信インターフェース１６１８は、様々な種類の情報を表すデジタルデータストリームを搬送する電気的、電気磁気的、又は光学的信号を送受信する。
【０１９５】
ネットワークリンク１６２０は、通常、１つ以上のネットワークを介して他のデータ装置にデータ通信を提供する。例えば、ネットワークリンク１６２０は、ローカルネットワーク１６２２を介してホストコンピュータ１６２４又はインターネットサービスプロバイダ（ＩＳＰ）１６２６が運用するデータ装置との接続を提供することができる。ＩＳＰ  １６２６は、次に、今日一般的に「インターネット」と呼ばれているワールドワイドパケットデータ通信ネットワーク（world wide packet data communication network）１６２８を介してデータ通信サービスを提供する。ローカルネットワーク１６２２及びインターネット１６２８はどちらも、デジタルデータストリームを搬送する電気的、電気磁気的、又は光学的信号を使用する。コンピュータシステム１６００内に及びこれから外にデジタル信号を搬送する様々なネットワークを経由する信号並びにネットワークリンク１６２０上の及び通信インターフェース１６１８を経由する信号は、伝送媒体の形態の例である。
【０１９６】
コンピュータシステム１６００は、ネットワーク、ネットワークリンク１６２０、及び通信インターフェース１６１８を介してメッセージを送信し、プログラムコードなどのデータを受信することができる。インターネットの例では、サーバ１６３０が、インターネット１６２８、ＩＳＰ  １６２６、ローカルネットワーク１６２２、及び通信インターフェース１６１８を介して、アプリケーションプログラムの求めるコードを伝送することができる。
【０１９７】
受信されたコードは、その受信と同時にプロセッサ１６０４によって実行することができ、及び／又は後ほど実行するために記憶装置１６１０若しくはその他の不揮発性記憶装置に記憶することができる。
【０１９８】
いくつかの実施形態に従い、図１８は、上述の本発明の原理により構成された電子機器１８００の機能ブロック図を示している。この機器の機能ブロックは、本発明の原理を実行するためのハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせにより実施することができる。当業者であれば、図１８に述べられる機能ブロックは、上記に述べたような本発明の原理を実施するために組み合わせるか、又はサブブロックに分割することができることを理解する。したがって、本明細書における説明は、あらゆる可能な組み合わせ若しくは分割、又は本明細書に述べられる更なる機能ブロックの定義を支持しうるものである。
【０１９９】
図１８に示すように、電子機器１８００は、ユーザ入力を受け取るように構成された入力受け取りユニット１８０２、及び情報を表示するように構成された表示ユニット１８０４を含んでいる。いくつかの実施形態において、入力受け取りユニット１８０２は、音声入力を受け取るように構成されている。電子機器１８００はまた、入力受け取りユニット１８０２及び表示ユニット１８０４に連結した処理ユニット１８０６を含んでいる。いくつかの実施形態において、処理ユニット１８０６は、生成ユニット１８０８、表示有効化ユニット１８１０、実行ユニット１８１２、マーキングユニット１８１４、検出ユニット１８１６、及び判定ユニット１８１８を含んでいる。
【０２００】
処理ユニット１８０６は、タスクの１つ以上の属性を指定する入力をユーザから（例えば、入力受け取りユニット１８０２によって）受け取り、このタスクに関連付けられた、電子機器によって実行されるべきアクションの識別を含む、この入力に基づいて、タスク項目を（例えば、生成ユニット１８０８によって）生成するように構成されている。処理ユニット１８０６はまた、このタスク項目及びこれに関連付けられた起動領域の表示をタスクリスト内で（例えば、表示有効化ユニット１８１０によって）有効化するようにも構成されている。処理ユニット１８０６は、起動領域のユーザ選択を（例えば、入力受け取りユニット１８０２によって）受け取り、この起動領域のユーザ選択の受け取りに応じてアクションを（例えば、実行ユニット１８１２によって）実行するように、更に構成されている。
【０２０１】
いくつかの実施形態において、起動領域は、タスク項目の表題と重なり合う。いくつかの実施形態において、起動領域は、タスク項目の記述と重なり合う。いくつかの実施形態において、起動領域は、グラフィカルオブジェクトと重なり合う。
【０２０２】
いくつかの実施形態において、グラフィカルオブジェクトは、タスク項目の表題の隣に表示される。いくつかの実施形態において、グラフィカルオブジェクトは、タスク項目の記述の隣に表示される。
【０２０３】
いくつかの実施形態において、処理ユニット１８０６は、アクションの実行に応じて、タスク項目を（例えば、マーキングユニット１８１４によって）完了としてマーキングするように、更に構成されている。
【０２０４】
いくつかの実施形態において、処理ユニット１８０６は、アクションを実行する許可を求めるプロンプトの表示を（例えば、表示有効化ユニット１８１０によって）有効化し、許可入力をユーザから（例えば、入力受け取りユニット１８０２によって）受け取るように、更に構成されている。
【０２０５】
いくつかの実施形態において、そのタスク項目は、タスクを完了するための通知をトリガするべき時を判定するトリガ判定基準に関連付けられていない。いくつかの実施形態において、そのタスク項目は、アクションを実行すべき時を指示するトリガ判定基準に関連付けられていない。
【０２０６】
いくつかの実施形態において、そのアクションは、電子メール又はテキストメッセージを、ネットワークを介してタスク項目に関連付けられた受信者へ送信させることである。いくつかの実施形態において、そのアクションは、テキスト作文エリアを表示することであり、ユーザによってテキスト作文エリアに入力されたテキストは、ネットワークを介して、そのタスク項目に関連付けられた受信者に電子メール又はテキストメッセージとして送信されるものである。いくつかの実施形態において、そのアクションは、タスク項目に関連付けられた電話番号に関連付けられた機器への通話を開始することである。いくつかの実施形態において、そのアクションは、タスク項目に関連付けられた検索クエリ又はＵＲＬに基づく検索を開始することである。
【０２０７】
いくつかの実施形態において、アクションを実行させることは、第１のプロセスによって第２のプロセスに第１のアクションを実行させることを含む。いくつかの実施形態において、第１のプロセスによって第２のプロセスにアクションを実行させるステップは、第１のプロセスによって第２のプロセスのＡＰＩコールを呼び出すステップを含み、このＡＰＩコールは、タスク項目に関連付けられる１つ以上の属性を含む。
【０２０８】
いくつかの実施形態において、その入力は（例えば、タスク生成ユニット１８０８によって）タスク項目の作成を開始し、タスクに関連付けられたアクションを識別するデータを含む。いくつかの実施形態において、その入力はハンドヘルド装置で（例えば、入力受け取りユニット１８０２によって）受け取られた音声入力に基づく。
【０２０９】
いくつかの実施形態において、処理ユニット１８０６は、アクションの実行に関連付けられた１つ以上のイベントを（例えば、検出ユニット１８１６によって）検出し、これら１つ以上のイベントがアクションが完了したことを示す１つ以上の条件を満たすかを（例えば、判定ユニット１８１８によって）判定するように、更に構成されている。
【０２１０】
いくつかの実施形態において、そのアクションは電子メールの送信であり、これら１つ以上の条件は、電子機器によって電子メールが送信されたことの判定と同時に満たされる。いくつかの実施形態において、そのアクションは通話の開始であり、これら１つ以上の条件は、通話開始要求の受信と同時に満たされる。いくつかの実施形態において、そのアクションは通話の開始であり、これら１つ以上の条件は、通話接続イベントの検出と同時に満たされる。いくつかの実施形態において、これら１つ以上の条件は、通話の特性である音声入力の検出と同時に満たされる。
【０２１１】
いくつかの実施形態において、処理ユニット１８０６は、アクションの実行の不履行に関連付けられた１つ以上のイベントを（例えば、検出ユニット１８１６によって）検出し、これら１つ以上のイベントがアクションが完了していないことを示す１つ以上の条件を満たすかを（例えば、判定ユニット１８１８によって）判定するように、更に構成されている。
【０２１２】
いくつかの実施形態において、これら１つ以上の条件は、電子機器上の制御要素のユーザ選択の受け取りと同時に満たされる。いくつかの実施形態において、その制御要素は、タッチスクリーンの起動領域、電源ボタン、制御ボタン、及びスイッチからなる群から選択される。いくつかの実施形態において、そのアクションは通話の開始であり、これら１つ以上の条件は、起動領域の選択後の所定の時間内に音声入力の検出と同時に満たされる。
【０２１３】
前述の明細書において、実施毎に異なってもよい様々な特定の詳細を参照しながら、本発明の実施形態について説明した。したがって、明細書及び図面は、限定的でなく、例示的な意味で考慮されるべきである。本発明の範囲の唯一かつ排他的な指標及び出願人が本発明の範囲として意図するものは、一切の後続の訂正を含む１組の請求項が由来する特定の形式において本出願に由来する当該請求項の文字通りでかつ等価の範囲である。
【図１】
2015519838.tif 000003
【図２】
2015519838.tif 000004
【図３】
2015519838.tif 000005
【図４】
2015519838.tif 000006
【図５Ａ】
2015519838.tif 000007
【図５Ｂ】
2015519838.tif 000008
【図６】
2015519838.tif 000009
【図７】
2015519838.tif 000010
【図８】
2015519838.tif 000011
【図９】
2015519838.tif 000012
【図１０Ａ】
2015519838.tif 000013
【図１０Ｂ】
2015519838.tif 000014
【図１１Ａ】
2015519838.tif 000015
【図１１Ｂ】
2015519838.tif 000016
【図１１Ｃ】
2015519838.tif 000017
【図１１Ｄ】
2015519838.tif 000018
【図１２】
2015519838.tif 000019
【図１３】
2015519838.tif 000020
【図１４】
2015519838.tif 000021
【図１５】
2015519838.tif 000022
【図１６】
2015519838.tif 000023
【図１７】
2015519838.tif 000024
【図１８】
2015519838.tif 000025
【手続補正書】
【提出日】平成27年1月9日(2015.1.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
タスク項目に関連付けられたアクションを開始する、コンピュータによって実行される方法であって、
プロセッサ及び前記プロセッサによって実行される命令を記憶するメモリを有する電子機器で、
タスクの１つ以上の属性を指定する入力をユーザから受け取るステップと、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成するステップと、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示するステップと、
前記起動領域のユーザ選択を受け取るステップと、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行するステップと、
を含む方法。
【請求項２】
前記起動領域が前記タスク項目の表題と重なり合う、請求項１に記載のコンピュータによって実行される方法。
【請求項３】
前記起動領域の前記ユーザ選択を受け取るステップの後でかつ前記アクションを実行するステップの前に、
前記アクションを実行する許可を求めるプロンプトを表示するステップと、
前記ユーザから許可入力を受け取るステップと、
を更に含む、請求項１又は２に記載のコンピュータによって実行される方法。
【請求項４】
前記アクションが、電子メール又はテキストメッセージを、ネットワークを介して前記タスク項目に関連付けられた受信者へ送信させることである、請求項１乃至３のいずれか一項に記載のコンピュータによって実行される方法。
【請求項５】
前記アクションがテキスト作文エリアを表示することであり、ユーザによって前記テキスト作文エリア内に入力されたテキストが、電子メール又はテキストメッセージとしてネットワークを介して前記タスク項目に関連付けられた受信者に送信される、請求項１乃至４のいずれか一項に記載のコンピュータによって実行される方法。
【請求項６】
前記アクションが、前記タスク項目に関連付けられた電話番号に関連付けられた機器への通話を開始することである、請求項１乃至５のいずれか一項に記載のコンピュータによって実行される方法。
【請求項７】
前記アクションが、前記タスク項目に関連付けられた検索クエリ又はＵＲＬに基づいて検索を開始することである、請求項１乃至６のいずれか一項に記載のコンピュータによって実行される方法。
【請求項８】
前記実行されるべきアクションを実行させるステップが、第１のプロセスによって第２のプロセスに前記第１のアクションを実行させるステップを含む、請求項１乃至７のいずれか一項に記載のコンピュータによって実行される方法。
【請求項９】
電子機器であって、
タスクの１つ以上の属性を指定する入力をユーザから受け取る手段と、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成する手段と、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示する手段と、
前記起動領域のユーザ選択を受け取る手段と、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行する手段と、
を備える、電子機器。
【請求項１０】
電子機器であって、
ユーザ入力を受け取るように構成された入力受け取りユニットと、
情報を表示するように構成された表示ユニットと、
前記入力受け取りユニット及び前記表示ユニットに連結した処理ユニットであって、前記処理ユニットは、
タスクの１つ以上の属性を指定する入力をユーザから受け取り、
前記タスクに関連付けられた、前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成し、
前記タスク項目及びそれに関連付けられた起動領域のタスクリスト内での表示を有効化し、
前記起動領域のユーザ選択を受け取り、
前記起動領域の前記ユーザ選択の受け取りに応じて、前記アクションを実行する、
ように構成された、前記処理ユニットと、
を備える、電子機器。
【請求項１１】
前記起動領域が前記タスク項目の表題と重なり合う、請求項１０に記載の電子機器。
【請求項１２】
前記起動領域が前記タスク項目の記述と重なり合う、請求項１０に記載の電子機器。
【請求項１３】
前記起動領域がグラフィカルオブジェクトと重なり合う、請求項１０に記載の電子機器。
【請求項１４】
前記グラフィカルオブジェクトが前記タスク項目の表題の隣に表示される、請求項１３に記載の電子機器。
【請求項１５】
前記グラフィカルオブジェクトが前記タスク項目の記述の隣に表示される、請求項１３に記載の電子機器。
【請求項１６】
前記処理ユニットが、
前記アクションを実行する許可を求めるプロンプトの表示を有効化し、
前記ユーザから許可入力を受け取るように、
更に構成されている、請求項１０乃至１５のいずれか一項に記載の電子機器。
【請求項１７】
前記アクションが、電子メール又はテキストメッセージを、ネットワークを介して前記タスク項目に関連付けられた受信者へ送らせることである、請求項１０乃至１６のいずれか一項に記載の電子機器。
【請求項１８】
前記アクションがテキスト作文エリアを表示させることであり、ユーザによって前記テキスト作文エリア内に入力されたテキストが電子メール又はテキストメッセージとしてネットワークを介して前記タスク項目に関連付けられた受信者に送信される、請求項１０乃至１７のいずれか一項に記載の電子機器。
【請求項１９】
前記アクションが、前記タスク項目に関連付けられた電話番号に関連付けられた機器への通話を開始することである、請求項１０乃至１８のいずれか一項に記載の電子機器。
【請求項２０】
１つ以上のプログラムを格納するコンピュータ可読記憶媒体であって、電子機器の１つ以上のプロセッサによって実行されると、前記電子機器に、
タスクの１つ以上の属性を指定する入力をユーザーから受け取ることと、
前記タスクに関連付けられた前記電子機器によって実行されるべきアクションの識別を含む、前記入力に基づいて、タスク項目を生成することと、
前記タスク項目及びそれに関連付けられた起動領域をタスクリスト内で表示することと、
前記起動領域のユーザー選択を受け取ることと、
前記起動領域の前記ユーザー選択の受信に応答して、前記アクションを実行することと、
させる、コンピュータ可読記憶媒体。
【国際調査報告】
2015519838.tif 000026
2015519838.tif 000027