(57)【要約】  タスクを集約するため、および提示するための概念および技術が、本明細書で説明される。タスクエンジンが、タスクをホストするタスクシステムと通信する。それらのタスクが、タスクエンジンによって提供されるユーザーインターフェースにおいてレンダリングされる。ユーザーインターフェース内のタスクに対する変更が、タスクシステム、ならびにタスクエンジンに関連するキャッシュの中に格納されたタスクのコピーに書き込まれることが可能である。一部の実施形態において、それらのタスクは、タスクシステムに格納され、タスクエンジンによって提供されるユーザーインターフェースによって参照される。このため、それらのタスクに対する変更は、タスクシステムに格納されたタスクに書き込まれることが可能である。また、それらのタスクを閲覧するため、および編集するためのユーザーインターフェースも提供される。
2015505385.tif 000002
【特許請求の範囲】
【請求項１】
タスクを提示する(presenting)ためのコンピューターによって実施される方法であって、
タスクエンジンにおいて前記タスクを獲得する(obtaining)、前記タスクは、第１のタスクシステムに関連する第１のタスクと、第２のタスクシステムに関連する第２のタスクとを備えるステップ、
前記タスクをユーザーインターフェースにおいてレンダリングするステップ、
前記ユーザーインターフェースを提示するステップ、
前記ユーザーインターフェースにおいて提示された前記タスクのうちの１つが変更されているかどうかを判定するステップ、および
前記タスクのうちの１つが変更されていると判定したことに応答して、前記第１のタスクシステムにおける前記第１のタスク、または前記第２のタスクシステムにおける前記第２のタスクのうちの１つまたは複数に前記変更を書き込むステップのためのコンピューターによって実施される動作を実行するステップを備えるコンピューターによって実施される方法。
【請求項２】
前記タスクを獲得するステップは、
前記第１のタスクシステムと通信するステップと、
前記第１のタスクシステムから前記第１のタスクを獲得するステップと、
前記タスクエンジンに関連するデータストレージデバイスの中に前記第１のタスクを格納するステップとを備える請求項１に記載の方法。
【請求項３】
前記タスクのうちの前記１つが変更されていると判定したことに応答して、前記変更を反映する(reflect)ように前記データストレージデバイスの中に格納された前記第１のタスクを編集する(editing)ステップをさらに備える請求項２に記載の方法。
【請求項４】
前記データストレージデバイスは、前記タスクエンジンによってホストされるキャッシュを備える請求項３に記載の方法。
【請求項５】
前記タスクは、期限日または完了日の少なくともいずれかを示すデータを備える請求項１に記載の方法。
【請求項６】
前記タスクを獲得するステップは、前記タスクのそれぞれに関する外部リファレンスを前記ユーザーインターフェースに埋め込むステップを備える請求項１に記載の方法。
【請求項７】
コンピューターによって実行されると、前記コンピューターに、
タスクエンジンにおいて複数のタスクを獲得させ、前記複数のタスクは、第１のタスクシステムに関連する第１のタスクと、第２のタスクシステムに関連する第２のタスクとを備え、
前記タスクを、前記タスクエンジンによって実行されるプレゼンテーションモジュールによって生成されたユーザーインターフェースにおいてレンダリングさせ、
前記ユーザーインターフェースを提示させ、
前記ユーザーインターフェースにおいて提示された前記複数のタスクのうちの１つが、前記ユーザーインターフェースを介して変更されているかどうかを判定させ、さらに
前記タスクのうちの１つが変更されていると判定したことに応答して、前記第１のタスクシステムにおいてホストされる第１のタスクのバージョン、または前記第２のタスクシステムにおいてホストされる前記第２のタスクのバージョンのうちの少なくともいずれかを変更させるコンピューター可読命令が格納されているコンピューター記憶媒体。
【請求項８】
前記コンピューターによって実行されると、前記コンピューターに、
前記第１のタスクシステムと通信して、前記第１のタスクシステムから前記第１のタスクのコピーを獲得させ、
前記第２のタスクシステムと通信して、前記第２のタスクシステムから前記第２のタスクのコピーを獲得させ、
前記第１のタスクの前記コピー、および前記第２のタスクの前記コピーを、前記タスクエンジンのデータストレージデバイスによって提供されるキャッシュの中に格納させ、さらに
前記タスクのうちの前記１つが変更されていると判定したことに応答して、前記キャッシュの中に格納された前記第１のタスクの前記コピーまたは前記第２のタスクの前記コピーの少なくともいずれかを、前記変更に応じて編集させるコンピューター実行可能命令をさらに備える請求項７に記載のコンピューター記憶媒体。
【請求項９】
前記ユーザーインターフェースを提示するステップは、
タイムラインによって表示される時間枠内に期限日または完了日を有するタスクを表示するための前記タイムラインと、前記タスクを表示するためのタスクリストとを備える第１のビューを提示するステップ、
前回のキャッシュ更新以来、追加されているタスクのリストを備える第２のビューを提示するステップ、
完了されたものとして印が付けられている(marked)タスクのリストを備える第３のビューを提示するステップ、または
前記ユーザーインターフェースを閲覧するエンティティーに関連するユーザーに関連する任意のタスクを備える第４のビューを提示するステップ、
のうちの少なくとも１つを備える請求項７に記載のコンピューター記憶媒体。
【請求項１０】
前記コンピューターによって実行されると、前記コンピューターに、
タスクエンジンと通信状態にある複数のタスクシステムと通信させ、前記複数のタスクシステムのそれぞれは、１つまたは複数のタスクを格納し、
前記タスクエンジンにおいて、前記タスクシステムによって格納された前記１つまたは複数のタスクの各タスクのコピーを獲得させ、前記タスクの前記コピーは、前記タスクエンジンによって公開されるアプリケーションプログラミングインターフェースを介して受け取られ、
前記タスクエンジンに関連するキャッシュにおいて前記タスクの前記コピーを格納させ、
前記タスクの前記コピーを提示するためのユーザーインターフェースをレンダリングさせ、
前記ユーザーインターフェースを提示させ、
前記ユーザーインターフェースにおいて提示される前記複数のタスクのうちの１つが、前記ユーザーインターフェースを介して変更されているかどうかを判定させ、さらに
前記タスクのうちの１つが変更されていると判定したことに応答して、前記タスクシステムのうちの少なくとも１つによって格納された前記タスクのうちの少なくとも１つを変更させるコンピューター可読命令が格納されているコンピューター記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、タスクを集約すること、および提示することに関する。
【背景技術】
【０００２】
[0001]従業員が、複数のソフトウェアアプリケーションを使用して、作業、スケジュール、タスク、タイムライン、および／または従業員の作業のその他の態様を管理することが可能である。しばしば、これらのソフトウェアアプリケーションは、別々の、さらに／または両立しないアプローチを使用して、作業を表現し、特定のタスクの時間ベースの態様を示し、もしくは追跡し、さらに／または他のソフトウェアと通信する。このため、従業員は、複数のソフトウェアアプリケーションを使用して従業員の作業の様々な態様を管理することが可能である。
【０００３】
[0002]一部のソフトウェアアプリケーションは、ユーザーに関連する作業、タスク、または他の情報に対応するデータをエクスポートすることができる。このエクスポートされるデータが一部のソフトウェアにインポートされ得るが、他の一部のソフトウェアと互換性がない場合がある。このため、データをエクスポートする能力は、一部の事例において有用であり得るが、この有用性は、従業員が互換性のないソフトウェアを使用する場合、小さくなり得る。
【０００４】
[0003]さらに、このエクスポートされるデータが他のソフトウェアアプリケーションにインポートされる際、古くなっている、または妥当でない場合がある。例えば、従業員が、エクスポートされるデータによって表現される作業を、そのデータがエクスポートされた後に完了する場合がある。このため、そのデータが互換性のあるソフトウェアパッケージにインポートされた場合、完了された作業が、完了されていない作業として表現される可能性がある。このことを訂正するのに、従業員が、その作業の完了を示すように、そのデータをエクスポートした元のソフトウェアアプリケーションにおける作業のステータスを更新し、そのデータを再エクスポートし、さらにそのデータをソフトウェアアプリケーションに再インポートする可能性がある。
【０００５】
[0004]本明細書で開示が提示されるのは、これら、およびその他の考慮事項に関してである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願発明の一実施例は、例えば、タスクを集約すること、および提示することに関する。
【課題を解決するための手段】
【０００７】
[0005]タスクを集約するため、および提示するための概念および技術が、本明細書で説明される。本明細書で開示される概念および技術によれば、システムが、タスクシステムと通信するタスクエンジンを含み得る。これらのタスクシステムは、ユーザーに関連するタスクをホストする、または管理する。一部の実施形態において、タスクエンジンは、タスクシステムからタスクのコピーを獲得し、それらのタスクを集約し、さらにそれらの集約されたタスクを、タスクエンジンに関連するキャッシュまたは他のデータストレージデバイスの中に格納するように構成される。他の実施形態において、タスクエンジンは、タスクのローカルコピーを獲得することなしに、タスクシステムによって格納された、またはホストされるタスクを参照するように構成される。
【０００８】
[0006]また、タスクエンジンは、集約されたタスクを閲覧するため、および管理するための１つまたは複数のユーザーインターフェースを生成し、提示するようにも構成される。これらのユーザーインターフェースは、最近の、または来たるべき期限、本日に関する期限、新たなタスクを提示するためのビュー、完了されたタスクを提示するためのビュー、すべてのタスクを提示するためのビュー、およびその他のビューと一緒にタスクを提示するためのビューを含み得る。一部の実施形態において、これらのビューのうちの１つまたは複数は、集約されたタスクを提示するためのタイムラインを含む。ユーザーインターフェースによって表示される集約されたタスクに対して、例えば、それらのタスクを変更するように、重要であるものとして、もしくは完了したものとしてそれらのタスクに印を付けるように、さらに／または他の理由でユーザーが対話することが可能である。それらのタスクに対して行われた変更は、キャッシュ内のそれらのタスクのコピーに、さらに／またはそれらのタスクをホストし、作成し、さらに／または格納するタスクシステムに書き込まれることが可能である。
【０００９】
[0007]一態様によれば、タスクエンジンが、タスクを格納する２つ以上のタスクシステムと通信する。タスクエンジンは、タスクを、タスクエンジンによって公開されるアプリケーションプログラミングインターフェースを介して、その２つ以上のタスクシステムからタスクのコピーを獲得することによって集約する。それらの集約されたタスクは、タスクエンジンに関連するキャッシュまたは他のデータストレージデバイスに格納される。それらの集約されたタスクを提示するためのユーザーインターフェースが、タスクエンジンによって生成されて、ユーザーまたは他のエンティティーに提示される。他の実施形態において、集約されたタスクは、アプリケーションプログラミングインターフェースを介して他のシステムまたはコンシューマーと共有される。
【００１０】
[0008]別の態様によれば、タスクエンジンによって生成されるユーザーインターフェースは、集約されたタスクのうちの１つまたは複数を変更するための機能を含む。集約されたタスクに行われる変更は、タスクエンジンによって格納されたタスクのコピーに書き込まれることが可能であり、さらに／またはタスクシステムによってホストされる、もしくは格納されたタスクに直接に行われることが可能である。このため、本明細書で開示される概念および技術の実施形態は、ユーザーが、別々の複数のタスクシステムからタスクを集約し、単一のユーザーインターフェースにおいて集約されたタスクを閲覧し、提示される集約されたタスクと対話し、さらに集約されたタスクに対する変更を、それらのタスクが獲得された出所のタスクシステムに再び書き込むことを可能にする。
【００１１】
[0009]前述の主題は、コンピューターによって制御される装置として、コンピュータープロセスとして、コンピューティングシステムとして、またはコンピューター可読記憶媒体などの製造品として実施され得ることを理解されたい。これら、および他の様々な特徴は、以下の詳細な説明を読むこと、および関連する図面を検討することで明白となろう。
【００１２】
[0010]この概要は、詳細な説明において後段でさらに説明される選定された概念を、簡略化した形態で概説するように与えられる。この概要は、主張される主題の重要な特徴または不可欠な特徴を特定することは意図しておらず、この概要が、主張される主題の範囲を限定するのに使用されることも意図していない。さらに、主張される主題が、本開示のいずれかの部分に記載されるいずれかの欠点、またはすべての欠点を解決する実装形態に限定されることもない。
【図面の簡単な説明】
【００１３】
【図１】[0011]本明細書で開示される様々な実施形態に関する例示的な動作環境を示すシステム図である。
【図２】[0012]例示的な実施形態による、タスクを集約するための方法の態様を示す流れ図である。
【図３】[0013]例示的な実施形態による、集約されたタスクを提示するための方法の態様を示す流れ図である。
【図４Ａ】[0014]様々な例示的な実施形態による、タスクを提示するため、および管理するためのユーザーインターフェースの態様を示すユーザーインターフェース図である。
【図４Ｂ】[0014]様々な例示的な実施形態による、タスクを提示するため、および管理するためのユーザーインターフェースの態様を示すユーザーインターフェース図である。
【図４Ｃ】[0014]様々な例示的な実施形態による、タスクを提示するため、および管理するためのユーザーインターフェースの態様を示すユーザーインターフェース図である。
【図４Ｄ】[0014]様々な例示的な実施形態による、タスクを提示するため、および管理するためのユーザーインターフェースの態様を示すユーザーインターフェース図である。
【図４Ｅ】[0014]様々な例示的な実施形態による、タスクを提示するため、および管理するためのユーザーインターフェースの態様を示すユーザーインターフェース図である。
【図４Ｆ】[0014]様々な例示的な実施形態による、タスクを提示するため、および管理するためのユーザーインターフェースの態様を示すユーザーインターフェース図である。
【図５】[0015]本明細書で提示される実施形態の態様を実施することができるコンピューティングシステムに関する例示的なコンピューターハードウェアおよびソフトウェアのアーキテクチャーを示すコンピューターアーキテクチャー図である。
【図６】[0016]本明細書で提示される実施形態の態様を実施することができる分散コンピューティング環境を示す図である。
【図７】[0017]本明細書で提示される実施形態の態様を実施することができるコンピューティングデバイスアーキテクチャーを示すコンピューターアーキテクチャー図である。
【図８】[0018]例示的な実施形態による、ユーザーが、タブレットコンピューターによって提供されるユーザーインターフェースと対話することを示す図である。
【発明を実施するための形態】
【００１４】
[0019]以下の詳細な説明は、タスクを集約するため、および提示するための概念および技術を対象とする。本明細書で説明される概念および技術によれば、タスクエンジンが、複数のタスクシステムと通信する。それらのタスクシステムは、タスクをホストし、または管理し、さらに、それらのタスクを集約のためにタスクエンジンに公開する、または供給するように構成される。一部の実施形態において、集約されたタスクは、それらのタスクを格納することなしにタスクエンジンによって提示される。他の実施形態において、タスクエンジンは、タスクを集約し、それらの集約されたタスクを、タスクエンジンに関連するキャッシュまたは他のデータストレージデバイスの中に格納するように構成される。
【００１５】
[0020]また、タスクエンジンは、集約されたタスクを閲覧するため、および管理するための１つまたは複数のユーザーインターフェースを生成し、提示するように構成される。このユーザーインターフェースは、キャッシュの中に格納された、またはタスクシステムによって格納された集約されたタスクを提示するのに使用され得る。このため、一部の実施形態では、タスクエンジンは、ユーザーインターフェースの中にそれらのタスクに対するリファレンスを埋め込む一方で、他の実施形態では、タスクエンジンは、キャッシュの中に格納されたタスクのコピーを使用して、それらのユーザーインターフェースを生成する。ユーザーインターフェースにおいて表示される集約されたタスクに対して、例えば、それらのタスクを変更するように、重要であるものとして、もしくは完了したものとしてそれらのタスクに印を付けるように、さらに／または他の理由でユーザーが対話することが可能である。それらのタスクに対して行われた変更は、キャッシュ内のそれらのタスクのコピーに、さらに／またはタスクシステムによってホストされる、もしくは格納されたタスクに書き込まれることが可能である。
【００１６】
[0021]本明細書で説明される主題は、コンピューターシステム上のオペレーティングシステムおよびアプリケーションプログラムの実行に関連して実行されるプログラムモジュールの一般的な脈絡で提示されるが、他の実装形態が、他のタイプのプログラムモジュールと組み合わせで実行されてもよいことが認識されよう。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、構成要素、データ構造、および他のタイプの構造が含まれる。さらに、本明細書で説明される主題は、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースの家庭用電子機器もしくはプログラマブル家庭用電子機器、ミニコンピューター、メインフレームコンピューターなどを含む、他のコンピューターシステム構成を用いて実施されてもよいことが、当業者には理解されよう。
【００１７】
[0022]以下の詳細な説明において、本明細書の一部分を成す添付の図面が参照され、図面では、例示として、特定の実施形態または実施例が示されている。以下に、いくつかの図で同様の参照符号が同様の要素を指す図面を参照して、タスクを集約するため、および提示するためのコンピューティングシステム、コンピューター可読記憶媒体、およびコンピューターによって実施される方法の態様が提示される。
【００１８】
[0023]以下に図１を参照して、本明細書で提示される様々な実施形態のための１つの動作環境１００の態様が説明される。図１に示される動作環境１００は、ネットワーク１０４の一部として、またはネットワーク１０４と通信状態で動作するタスクエンジン１０２を含む。タスクエンジン１０２は、オペレーティングシステム１０６、ならびに、例えば、タスクアグレゲーター１０８、プレゼンテーションモジュール１１０、および／または他のアプリケーションプログラムなどの１つまたは複数のアプリケーションプログラムを実行するように構成される。
【００１９】
[0024]オペレーティングシステム１０６は、タスクエンジン１０２の動作を制御するためのコンピュータープログラムである。タスクアグレゲーター１０８およびプレゼンテーションモジュール１１０は、オペレーティングシステム１０６の上で実行されて、本明細書でさらに詳細に説明されるとおり、タスクを集約するため、および提示するための本明細書で説明される機能をもたらすように構成された実行可能プログラムである。タスクアグレゲーター１０８およびプレゼンテーションモジュール１１０は、タスクエンジン１０２の構成要素として示されるものの、これらの構成要素のそれぞれ、またはこれらの構成要素の組み合わせは、ネットワーク１０４および／またはタスクエンジン１０２の一部として、またはネットワーク１０４および／またはタスクエンジン１０２と通信状態で動作するスタンドアロンのデバイス、もしくはそのようなスタンドアロンのデバイスの構成要素として、またはそのようなスタンドアロンのデバイス、もしくはそのようなスタンドアロンのデバイスの構成要素において実施されてもよいことを理解されたい。さらに、一部の実施形態において、タスクエンジン１０２は、ワシントン州レッドモンド市所在のマイクロソフトコーポレーションからのＭＩＣＲＯＳＯＦＴ  ＳＨＡＲＥＰＯＩＮＴファミリーの共同作業製品のメンバーを実行する１つまたは複数のデバイスによって提供され、タスクアグレゲーター１０８および／またはプレゼンテーションモジュール１１０のうちのいずれか、または両方の機能は、ＭＩＣＲＯＳＯＦＴ  ＳＨＡＲＥＰＯＩＮＴ内で実行されるサービスによって提供される。このため、図示される実施形態は、例示的であり、全く限定するものと解釈されるべきではない。
【００２０】
[0025]タスクアグレゲーター１０８は、１つまたは複数のタスクシステム１１２Ａ〜Ｎ（以降、全体的に、またはひとまとめに「タスクシステム１１２」と呼ばれる）と通信して、タスクシステム１１２によってホストされる、または格納された１つまたは複数のタスク１１４を獲得するように構成される。様々な実装形態によれば、タスクシステム１１２の機能は、ネットワーク１０４の一部として、もしくはネットワーク１０４と通信状態で、さらに／またはタスクエンジン１０２と通信状態で動作する１つまたは複数のサーバーコンピューターもしくは他のコンピューティングデバイスによって提供される。本明細書で説明される「タスク」とは、特定の作業タスク、ジョブ、動作、プロセス、マイルストーン、または作業の他の態様を表すデータである。例えば、ウェブサイトを構築するためのプロジェクトに関連するタスクには、例えば、ホームページバナーを作成することが含まれ得る。同一のプロジェクトに関連する別のタスクには、そのページの１つまたは複数の部分に関するコードを作成することが含まれ得る。タスク１１４は、任意のタイプの作業の任意の態様を含み得るため、これらの実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００２１】
[0026] 様々な実施形態によれば、タスク１１４は、タスク１１４が関係する作業に関連する様々なタイプの情報を含み得るデータによって表される。例えば、タスク１１４は、タスク１１４の題名、タスク１１４の作成の時刻と日付（「作成日時」）、タスク１１４に関する期限日、タスク１１４に関連するロケーション、およびタスク１１４に関連する他の情報を含み得る。タスク１１４のロケーションは、例えば、タスク１１４が獲得されるタスクシステム１１２のＵＬＲもしくはリソースロケーション、または別のロケーションに対応することが可能である。その他の情報には、タスク１１４にユーザーまたは他のエンティティーにフラグが付けられているかどうかを示すフラグインジケータ、タスク１１４に関連する完了のレベルを示すタスク１１４に関する完了状態１１４、タスク１１４が関連付けられているプロジェクト、タスク１１４が関連付けられているチームもしくは他のユーザー、および／または他の情報が含まれ得るが、以上には限定されない。「フラグ」は、ユーザーがタスク１１４を重要なものとして、もしくはフォローアップのために識別するかどうかの２値のはい／いいえ指示もしくは真／偽指示を含むことが可能であり、またはレターグレード、数値尺度、レターグレードと数値尺度の組み合わせ、重要性フラグが期限切れになる時刻などの関連する重要性の他の２値でない指示を含むことが可能である。タスク１１４は、任意の所望される情報を含むことが可能であり、情報は、タスク１１４を編成し、さらに／またはタスク１１４のカタログを作成するようにタスクアグレゲーター１０８によって、さらに／またはタスク１１４を提示するようにプレゼンテーションモジュール１１０によって、必ずではないが、使用されることが可能である。
【００２２】
[0027]タスクアグレゲーター１０８は、タスクシステム１１２と通信してタスク１１４に対応するデータを獲得するように構成される。一部の実施形態において、タスクアグレゲーター１０８は、タスクシステム１１２と通信して、タスク１１４を要求し、受信されたデータをタスク１１４として認識し、所望される場合、タスク１１４を編成し、さらに／またはタスク１１４のカタログを作成し、さらに／またはデータストレージロケーションにタスク１１４を格納する。他の実施形態において、タスクエンジン１０２は、タスクシステム１１２がタスクアグレゲーター１０８と通信することを可能にするように構成される。このため、タスクシステム１１２は、タスク１１４をサブミットするようにタスクエンジン１０２と通信するように構成されることが可能であり、タスクアグレゲーター１０８は、サブミットされたデータをタスク１１４として認識し、さらにタスク１１４を編成して、さらに／またはタスク１１４のカタログを作成して、またはそうすることなしに、データストレージデバイスの中にタスク１１４を格納するように構成されることが可能である。
【００２３】
[0028]いくつかの実施形態において、タスクアグレゲーター１０８は、キャッシュ１１６の中にタスク１１４を格納するように構成される。キャッシュ１１６は、タスクエンジン１０２によってホストされること、またはタスクエンジン１０２と通信状態にあることが可能である。一部の実施形態において、キャッシュ１１６の機能は、タスクエンジン１０２の機能を提供するデバイスのメモリーデバイス、ハードドライブ、または他のストレージデバイスによって提供される。他の実施形態において、キャッシュ１１６の機能は、例えば、１つまたは複数のデータベース、サーバーコンピューター、大容量ストレージデバイス、メモリーデバイス、以上の組み合わせなどの、タスクエンジン１０２と通信状態にある１つまたは複数のデータストレージデバイスによって提供される。したがって、タスク１１４は、タスクエンジン１０２に組み込まれたデータストレージデバイスに格納されることも、タスクエンジン１０２から遠隔のデータストレージデバイスに格納されることも可能である。このため、図１に示される実施形態は、例示的であり、全く限定するものと解釈されるべきではない。
【００２４】
[0029]また、タスクアグレゲーター１０８は、タスクシステム１１２と通信して、タスク１１４に対して行われた変更をタスクシステム１１２に書き込むようにも構成される。本明細書でより詳細に説明されるとおり、タスク１１４は、１つまたは複数のユーザーインターフェース（「ＵＩ」）１１８を介して１名または複数名のユーザーまたは他のエンティティー（「ユーザー」）に提示され得る。ＵＩ１１８は、ユーザーがタスク１１４を管理することを可能にすることもできる。例えば、ユーザーが、完了されたタスク１１４を削除する、または完了されたものとして示すことが可能である。この指示が捕捉されて、タスクアグレゲーター１０８に供給されることが可能である。タスクアグレゲーター１０８は、タスクシステム１１２によって格納されたタスクを更新するようにタスクシステム１１２にこの指示を通信するように構成されることが可能である。
【００２５】
[0030]プレゼンテーションモジュール１１０は、ＵＩ１８を生成して、ユーザーに提示するように構成される。前述したとおり、ユーザーには、ソフトウェアユーザー、他のソフトウェアアプリケーション、他のシステム、および／または他のエンティティーが含まれ得る。図示される実施形態において、ユーザーは、ネットワーク１０４を介してタスクエンジン１０２と通信状態で動作しているクライアントデバイス１２０として示される。この実施形態は、例示的であり、本明細書で開示される概念および技術を簡単に説明するように与えられる。例えば、一部の実施形態において、ユーザーは、ワシントン州レッドモンド市所在のマイクロソフトコーポレーションからのＭＩＣＲＯＳＯＦＴ  ＥＸＣＨＡＮＧＥファミリーの製品（「ＥＸＣＨＡＮＧＥサーバー」）のメンバーを実行するサーバーコンピューターなどのタスクシステム１１２に対応することが可能である。ＥＸＣＨＡＮＧＥサーバーは、集約のためにタスクエンジン１０２にタスク１１４を供給する、もしくは公開することが可能であり、さらに／またはＵＩ１１８を介して、さらに／またはタスク１１４を集約するタスクエンジン１０２によって公開されたアプリケーションプログラミングインターフェース（「ＡＰＩ」）１２２を介して、集約されたタスクを消費することが可能である。また、ＡＰＩ１２２は、タスクシステム１１２がタスクアグレゲーター１０８にタスク１１４をサブミットすることを可能にするようにタスクエンジン１０２によって公開されることも可能である。このため、本明細書で使用される「ユーザー」という用語は、多種多様なシステム、ユーザー、デバイス、構成要素などを指すものとして理解されるべきであり、例示される実施形態は、全く限定するものと解釈されるべきではない。
【００２６】
[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]図４Ａに示される画面表示４００Ａは、様々なメニュー項目４０２を含む。図示されるメニュー項目４０２は、例示的であること、およびさらなるメニュー項目および／または代替のメニュー項目が可能であるとともに、企図されていることを理解されたい。詳細には、結果のページを閲覧するため、および／または結果のページと対話するための様々なアイコン、コマンドリボン、入力ボックス、および／または他のＵＩコントロールが、添付の特許請求の範囲を逸脱することなく、画面表示４００Ａ上に提示され得る。また、画面表示４００Ａは、タスク１１４の間で検索するための検索文字列を入力するため、タスクエンジン１０２に関連するサイトを検索するため、タスクシステム１１２を検索するため、および／または他の目的の検索クエリー入力ボックス４０４を含むものとしても例示される。図４Ａには示されないものの、他の検索ボックスが含められることも可能である。例えば、一部の実施形態において、タスク１１４をインラインでフィルタリングするための検索ボックスが提供される。また、フィルタリングは、タスク１１４に関連するロケーション、グループ、題名、または期限日に基づいて、さらにタスク１１４の他の態様に基づいて、タスク１１４に対して実行されることも可能である。
【００５３】
[0058]前述したとおり、画面表示４００Ａは、ユーザーまたは他のエンティティーにタスク１１４を提示するように構成される。タスク１１４は、タスクエンジン１０２のＡＰＩ１２２を介して他のエンティティーに送られ得るため、図４Ａ〜図４Ｅに示される情報は、任意の数のデバイスまたはエンティティーに送られることが、その情報がレンダリングされることを伴っても、伴わなくても可能であることを理解されたい。このため、画面表示４００Ａは、タスク１１４を集約するため、および提示するための本明細書で開示される概念および技術の様々な態様を例示するものでもある。
【００５４】
[0059]画面表示４００Ａは、タスクリスト４０６を含む。タスクリスト４０６は、ユーザーに関連する、またはユーザーが関与している作業に関連するタスク４０８Ａ〜Ｄのリスト（以降、ひとまとめに、さらに／または全体的に「タスク４０８」と呼ばれる）を含む。タスクリスト４０６の中で提示されるタスク４０８は、図１〜図３を参照して前述したタスク１１４に対応することが可能であることが認識され得る。一部の実施形態において、タスク４０８は、様々な見出し４１０Ａ〜Ｃ（以降、ひとまとめに、さらに／または全体的に「見出し４１０」と呼ばれる）の下に分類されたものとしてタスクリスト４０６の中で表示される。図４Ａに示されるように、見出し下の別の層が、タスクに関連するプロジェクトに基づいて、タスクに関連するカスタムグループに基づいて、さらに／またはタスクに関連する他のグループ化もしくはカテゴリに基づいて、タスクをグループ化するように含まれ得る。この層は、図４Ａにおいて「ロケーション」の見出し４１０Ｃとして示される。この実施形態は、例示的であり、全く制限するものと解釈されるべきではないことを認識されたい。
【００５５】
[0060]例示される実施形態において、見出し４１０には、ユーザーまたは他のエンティティーによって１つまたは複数のタスク４０８にフラグが付けられているタスクが表示され得る「重要なタスク」見出し４１０Ａ、期限が過ぎた、または期限日が近づいているタスクが表示され得る「期限が過ぎたタスクおよび期限が近づいているタスク」見出し４１０Ｂが含まれる。図４Ａに示されるとおり、タスク４０８は、複数の見出し４１０の下で出現することが可能であり、ただし、必ずしもそうなるわけではない。さらなる見出しおよび／または代替の見出し４１０が企図されるため、図示される実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００５６】
[0061]画面表示４００Ａに示されるタスク４０８は、タスク４０８をインラインで編集する能力を備え得る。このため、ユーザーまたは他のエンティティーが、画面表示４００Ａに示されるタスク４０８と対話することが可能であり、さらに表示されたタスク４０８に対して行われた変更が、タスクエンジン１０２によって検出され、関連するタスク１１４に書き込まれることが可能である。前述したとおり、画面表示４００Ａに関連して説明される機能を介してタスク４０８に行われた変更は、キャッシュ１１６の中に格納されたタスク１１４、および／またはタスクシステム１１２によってホストされるタスク１１４に書き込まれることが可能である。
【００５７】
[0062]また、プレゼンテーションモジュール１１０が、画面表示４００Ａに示される他の様々な動作もサポートする。例えば、画面表示４００Ａが、ＵＩコントロール４１２を含むことが可能であり、ＵＩコントロール４１２の選択は、ユーザーまたは他のエンティティーが新たなタスク１１４を作成することを可能にする。ＵＩコントロール４１２の選択は、所望される場合、新たなタスクを入力するための入力画面またはインラインフォームを提示するようプレゼンテーションモジュール１１０を促すことが可能である。また、画面表示４００Ａが、ＵＩコントロール４１４を含むことも可能であり、ＵＩコントロール４１４の選択は、タスクアグレゲーター１０８が、タスク４０８Ｂによって表現されるタスクをタスク４０８Ｂに関連するグループの他のメンバーに移動するように、またはコピーするようにさせる。したがって、所望の場合、タスク１１４はグループの他のメンバーと共有され得る。これらの実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００５８】
[0063]一部の実施形態において、画面表示４００Ａは、タイムライン４１６も含む。タイムライン４１６は、ユーザーまたは他のエンティティーにタスク１１４の視覚表示を提示するのに使用され得る。一部の実施形態によれば、タイムライン４１６は、ユーザー設定またはソフトウェア設定によって設定される、または調整されることが可能なスライドする時間枠を使用して提示される。一部の実施形態において、タイムライン４１６上に表示されるタスク１１４は、タスク１１４が由来するロケーションに基づいて、プロジェクトもしくは他のグループ化に基づいて、タスク１１４に関連する重要度フラグもしくは期限日に基づいて、さらに／または他の考慮事項に基づいて色分けされることが可能である。例示される実施形態におけるスライドする時間枠には、過去１週間、および今後２週間が含まれる。この３週間の時間枠内の期限日が、ユーザーが期限日超過および近づいている期限日を見ることができるようにタイムライン４１６上に示される。タイムライン４１６は、「期限が過ぎたタスクおよび期限が近づいているタスク」見出し４１０Ｂの下でリストアップされたタスク４０８を、必然的にではないが、表示することが可能であることが認識され得る。また、一部の実施形態において、ユーザーが、タスク４０８をタイムライン４１６に選択的に追加することが可能である。例えば、図示される実施形態において、ユーザーが、タスク４０８Ｄの隣に示されるＵＩコントロール４１８などのＵＩコントロールを選択することによって、タイムライン４１６にタスク４０８を追加する。前述したとおり、タスク１１４は、フィルタリングされ得る。タイムライン４１６上に示されるタスク１１４を含むが、そのようなタスク１１４に限定されない、タスク１１４のうちのいずれか、またはすべてがフィルタリングされ得ることに留意されたい。この実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００５９】
[0064]図４Ａを参照して本明細書で説明される様々なＵＩコントロールとは、ユーザーによって使用される入力デバイスおよび／またはディスプレイデバイスに依存して、様々な動き、入力デバイス、および／またはジェスチャーを使用して対話することができることを理解されたい。例えば、一部の実施形態によれば、ＵＩコントロールは、ユーザーが、それらのＵＩコントロールのうちの１つの上にマウスポインタもしくは他の入力デバイスを置くこと、マウスもしくは他の入力デバイスでそれらのＵＩコントロールのうちの１つを、もしくはその１つの近くでクリックすること、表示されたＵＩコントロールの位置で、またはそのようなＵＩコントロールの近くでディスプレイまたは画面に１つまたは複数の指、スタイラス、および／または他の構造体もしくはデバイスで触れること、音声コマンドをサブミットすること、１つまたは複数のキーストロークもしくは他の入力を介してコマンドをサブミットすること、以上の組み合わせなどによって選択され得る。本明細書で開示される概念および技術は、いくつかの入力デバイスおよび／またはコントロールをサポートする様々なデバイスで使用され得るため、コマンドの前述のリストは、例示的であると見なされるべきであり、タスク１１４を閲覧するのに、さらに／またはタスク１１４にアクセスするのに使用され得る入力および／またはデバイスのタイプを全く限定するものではない。
【００６０】
[0065]次に図４Ｂを参照して、別の実施形態におけるタスク１１４を提示するためのＵＩの態様を示すＵＩ図を説明する。図４Ｂに示されるＵＩは、図４Ａに示されるタスク４０８のうちの１つのタスク４０８の選択を受け取ったことに応答して、タスクエンジン１０２によって、必然的にではないが、生成され得る。このため、画面表示４００Ａにおけるタスク４０８の選択が、選択されたタスク４０８に関連するさらなる詳細を提示するようタスクエンジン１０２を促すことが可能である。図４Ｂに示されるＵＩ図は、企図される１つの実施形態を例示するものであり、したがって、全く限定するものと解釈されるべきではないことを認識されたい。
【００６１】
[0066]画面表示４００Ｂは、タスクウインドウ４２０を含む。タスクウインドウ４２０は、選択されたタスク４０８に関連するさらなる詳細を表示するものとして例示される。図４Ｂに示されるとおり、タスクウインドウ４２０は、タスク題名、作成日時、完了日もしくは期限、完了状態、タスク１１４をホストするタスクシステム１１２に関連するロケーション、タスクが関連するプロジェクトまたはチームなどの他の情報、プロジェクトもしくはチームについての情報、および／またはタスク１１４についての他の情報を含む。一部の実施形態において、コンテキスト情報の一部、もしくはすべてが対話型であること、またはいずれも対話型でないことが可能であり、さらに、例えば、ユーザーが、プロジェクトサイトもしくはチームサイトに移動すること、それらのサイトに情報ステータスを投稿すること、および／またはその情報に関して他のアクションを行うことを可能にすることができる。この実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００６２】
[0067]次に図４Ｃを参照して、別の実施形態におけるタスク１１４を閲覧するためのＵＩの態様を示すＵＩ図を説明する。図４Ｃに示されるＵＩは、図３に関連して例示され、説明される方法３００の動作３０４でタスクエンジン１０２によって、必然的にではないが、生成され得る。一部の実施形態において、図４Ｃに示される実施形態は、タスク１１４を提示するためにタスクエンジンによってもたらされるデフォルトのビューである。図４Ｃは、識別された任意のタスクを表示する活性のビュー４３０においてタスク１１４を提示するようにタスクエンジン１０２によって生成される画面表示４００Ｃを示す。活性のビュー４３０に示されるタスク１１４は、それぞれのタスク１１４に関連する重要度にかかわらず、ユーザーによってタスク１１４にフラグが付けられているかどうか、それぞれの完了状態、および／または期限日を、必然的にではないが、含み得る。図４Ｃに示されるＵＩ図は、企図される１つの実施形態を例示するものであり、したがって、全く限定するものと解釈されるべきではないことを認識されたい。
【００６３】
[0068]次に図４Ｄを参照して、別の実施形態におけるタスク１１４を閲覧するためのＵＩの態様を示すＵＩ図を説明する。図４Ｄに示されるＵＩは、図３に関連して例示され、説明される方法３００の動作３０４でタスクエンジン１０２によって、必然的にではないが、生成され得る。図４Ｄに示される画面表示４００Ｄの一部の態様、すべての態様が、所望される場合、図４Ａ〜図４Ｃおよび／または図４Ｅに示される画面表示４００のいずれかに含められること、または全く含められないことが可能である。画面表示４００Ｄは、タスクエンジン１０２によって最近、識別されたタスク１１４を表示するための新たなタスクビュー４４０を含む。図４Ｄのために、「最近のタスク」とは、前回のレンダリング以来、さらに／または最近のキャッシュリフレッシュ動作中に識別されたタスク１１４を含む。
【００６４】
[0069]いくつかのタスク１１４は、それらのタスク１１４に関連する期限日に依存して、タイムライン４１６上に表示されることも、表示されないことも可能であることが認識され得る。例えば、図４Ｄで、タスク４０８Ｅは、タイムライン４１６によって表示される時間枠外の期限日を有し、したがって、タイムライン４１６上に表示されない。図４Ｄに示されるＵＩ図は、企図される１つの実施形態を例示するものであり、したがって、全く限定するものと解釈されるべきではないことを認識されたい。
【００６５】
[0070]画面表示４００Ｄは、「ステータス報告ビュー」および／または「タイムシートビュー」にアクセスするためのＵＩコントロール４４２も表示する。ＵＩコントロール４４２の選択は、タスク１１４のＰｒｏｊｅｃｔ  ＳｅｒｖｅｒサイトコレクションをロードするためのＰｒｏｊｅｃｔ  Ｓｅｒｖｅｒ  Ｓｔａｔｕｓｉｎｇフィーチャーをホストする１つまたは複数のダイアログを立ち上げるようタスクエンジン１０２を促すことが可能である。また、ＵＩコントロール４４２は、例示されるロケーションに提示される代わりに、またはそうされることに加えて、ビューセレクター４４４におけるオプションとして提示されることも可能である。このため、「ステータス報告ビュー」は、選択されたプロバイダーに基づくＵＩ図の拡張性オプションとして提示され得る。このため、図示される実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００６６】
[0071]次に図４Ｅを参照して、別の実施形態におけるタスク１１４を閲覧するためのＵＩの態様を示すＵＩ図を説明する。図４Ｅに示される画像表示４００Ｅの態様のいくつか、またはすべてが、所望される場合、図４Ａ〜図４Ｅに示される画像表示４００のいずれかに含められること、または全く含められないことが可能である。画像表示４００Ｅは、ユーザーまたは他のエンティティーによって完了されたものとして印が付けられているタスク１１４を表示するための完了されたタスクビュー４５０を含む。企図される１つの実施形態において、他のビューにおいて完了されたものとして印が付けられたタスク１１４が、ユーザーにフィードバックを与えるように、さらに／またはタスク１１４を完了したことに対する満足感をユーザーに与えるようにアニメーションで表示されることが可能である。抹消線が使用される、そのようなフィードバックの企図される１つの例が、図４Ｆに例示される。他の実施形態において、完了されたタスク１１４は、タスク１１４の完了を示すように除去される、または消える。図４Ｅ〜図４Ｆに示されるＵＩ図は、例示的であり、したがって、全く限定するものと解釈されるべきではないことを認識されたい。
【００６７】
[0072]図４Ａ〜図４Ｅに関連して前段で例示され、説明された画像表示４００において、タスク１１４は、様々なインライン編集プロセスがユーザーによって完了されることを可能にするＵＩコントロールとして表示され得る。例示的な編集プロセスは、タスク１１４に関連する題名、期限日、重要度フラグ、完了状態、または他の情報をインラインで編集する能力、タスク１１４に関連するさらなる詳細を閲覧するように、さらに／または編集するようにタスク１１４に関するタスクフォームを立ち上げる能力、プロバイダーまたはタスクシステム１１２に依存する可能性がある、タスク１１４が関連するプロジェクト、サイト、システム、および／またはロケーションを示すグループ化、関連するタスク１１４、タスク１１４に関連するプロジェクト、関連する文書、および／または他の情報などの、タスク１１４に関連する作業を完了しようと試みているユーザーに役立つ可能性があるコンテキスト情報を含み得る、タスク１１４に関するメタデータを表示する立ち上げポイント、特定のセクションもしくはグループの中で、または新たなセクションもしくはグループの中で新たなタスクを作成する能力、タスク１１４を並べ替えるように、グループの間でタスク１１４をドラッグアンドドロップする能力、および／または他の機能を含み得るが、以上には限定されない。例えば、図４Ａ〜図４Ｆに示されるが、本明細書に開示される概念および技術のいくつかの実施形態は、「来るべき」、「活性の」、「新規の」および「終了した」セクションおよび／またはビューの下のロケーションのグループ化を含む。その他の機能が画像表示４００に含められることが可能であるため、これらの実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００６８】
[0073]前段の説明は、タスクシステム１１２からタスク１１４を集約すること、および様々なユーザーインターフェース１１８においてタスク１１４を提示することについて述べたが、本明細書で説明される機能は、必ずしもユーザーインターフェース１１８においてタスク１１４を提示することなしに、タスク１１４を集約し、編成するのに使用され得ることを理解されたい。さらに、本明細書で説明されるＵＩ１１８は、例示的であり、全く限定するものと解釈されるべきではない。本明細書で開示される概念および技術は、タスクシステム１１２のニーズまたは所望に基づいて、ＵＩ１１８の拡張性をサポートする。このため、ＵＩ１１８は、タスクシステム１１２に関連する許可されたエンティティーによって所望されるとおりに、情報を提示する、または表示しないように調整され得る。
【００６９】
[0074]前述したとおり、タスク１１４には、様々なＵＩ１１８のいくつか、またはすべてにおいて「重要」という印が付けられることが可能であり、あるいはいずれにおいてもそのような印が付けられないことが可能である。一部の実施形態において、タスク１１４に重要であるという印が付けられた時刻が追跡され、さらに／またはログ記録されることが可能である。重要性フラグは、イベントまたはタスク１１４に重要であるという印を付けてから一定の、または指定された時間が経過した後、無効になるように設定されることが、必然的にではないが、可能である。このため、重要な項目またはフラグが付けられた項目を追跡するリストが、削減される、またはそれ以外で管理されることが可能である。この実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００７０】
[0075]図５は、タスクを集約するため、および提示するための本明細書で説明されるソフトウェア構成要素を実行することができるデバイスに関する例示的なコンピューターアーキテクチャー５００を示す。このため、図５に示されるコンピューターアーキテクチャー５００は、サーバーコンピューター、モバイル電話機、ＰＤＡ、スマートフォン、デスクトップコンピューター、ネットブックコンピューター、タブレットコンピューター、および／またはラップトップコンピューターに関するアーキテクチャーを示す。コンピューターアーキテクチャー５００は、本明細書で提示されるソフトウェア構成要素の任意の態様を実行するのに利用されることが可能である。
【００７１】
[0076]図５に示されるコンピューターアーキテクチャー５００は、中央処理装置５０２（「ＣＰＵ」）と、ランダムアクセスメモリー５０６（「ＲＡＭ」）および読み取り専用メモリー（「ＲＯＭ」）５０８を含むシステムメモリー５０４と、メモリー５０４をＣＰＵ５０２に結合するシステムバス５１０とを含む。起動中などに、コンピューターアーキテクチャー５００内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システムが、ＲＯＭ５０８の中に格納される。コンピューターアーキテクチャー５００は、オペレーティングシステム１０６、タスクアグレゲーター１０８、プレゼンテーションモジュール１１０、および／または他のアプリケーションプログラムを格納するための大容量ストレージデバイス５１２をさらに含む。また、大容量ストレージデバイス５１２は、所望される場合、タスク１１４および／または他のデータを格納するように構成されることも可能である。このため、大容量ストレージデバイス５１２は、図１を参照して前述したキャッシュ１１６に関連する機能を、図５にはキャッシュ１１６が示されないものの、提供することが可能であることが認識され得る。
【００７２】
[0077]大容量ストレージデバイス５１２は、バス５１０に接続された大容量ストレージコントローラー（図示せず）を介してＣＰＵ５０２に接続される。大容量ストレージデバイス５１２、および関連するコンピューター可読媒体は、コンピューターアーキテクチャー５００に不揮発性ストレージをもたらす。本明細書に含まれるコンピューター可読媒体の説明は、ハードディスクまたはＣＤ−ＲＯＭドライブなどの大容量ストレージデバイスについて述べるものの、コンピューター可読媒体は、コンピューターアーキテクチャー５００によってアクセスされ得る任意の利用可能なコンピューター記憶媒体または通信媒体であり得ることが当業者には認識されよう。
【００７３】
[0078]通信媒体は、搬送波または他のトランスポート機構などの変調されたデータ信号内のコンピューター可読命令、データ構造、プログラムモジュール、および他のデータを含み、任意の配信媒体を含む。「変調されたデータ信号」という用語は、信号内に情報を符号化するように特性の１つまたは複数が変更されている、または設定されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークもしくは直接配線接続などの有線媒体、ならびに音響媒体、ＲＦ媒体、赤外線媒体、または他のワイヤレス媒体などのワイヤレス媒体が含まれる。また、前述した媒体のうちの任意の媒体の組み合わせも、コンピューター可読媒体の範囲に含められなければならない。
【００７４】
[0079]例として、限定としてではなく、コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、リムーバブルメディアおよび非リムーバブルメディアを含み得る。例えば、コンピューター媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーもしくは他のソリッドステートメモリー技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（「ＤＶＤ」）、ＨＤ−ＤＶＤ、ＢＬＵ−ＲＡＹ（登録商標）、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または所望される情報を格納するのに使用され得るとともに、コンピューターアーキテクチャー５００によってアクセスされ得る他の任意の媒体が含まれるが、以上には限定されない。特許請求の範囲に関して、「コンピューター記憶媒体」という用語、およびそのような用語の変種は、波、信号、および／または他の一時的であり、さらに／または実体のない通信媒体は含まない。
【００７５】
[0080]様々な実施形態によれば、コンピューターアーキテクチャー５００は、ネットワーク１０４などのネットワークを介した遠隔コンピューターに対する論理接続を使用するネットワーク化された環境において動作することが可能である。コンピューターアーキテクチャー５００は、バス５１０に接続されたネットワークインターフェースユニット５１６を介してネットワーク１０４に接続され得る。ネットワークインターフェースユニット５１６は、他のタイプのネットワークおよび遠隔コンピューターシステム、例えば、タスクシステム１１２、クライアントデバイス１２０、および／または他のシステムもしくはデバイスに接続するのに利用されてもよいことを認識されたい。また、コンピューターアーキテクチャー５００は、キーボード、マウス、または電子スタイラス（図５には示されない）を含む、いくつかの他のデバイスから入力を受け取り、処理するための入出力コントローラー５１８を含むことも可能である。同様に、入出力コントローラー５１８は、ディスプレイスクリーン、プリンター、または他のタイプの出力デバイス（やはり図５には示されない）に出力を供給することも可能である。
【００７６】
[0081]
本明細書で説明されるソフトウェア構成要素は、ＣＰＵ５０２にロードされて、実行されると、ＣＰＵ５０２および全体的なコンピューターアーキテクチャー５００を、汎用コンピューティングシステムから、本明細書で提示される機能を円滑にするようにカスタマイズされた専用コンピューティングシステムに変換することが可能であることを認識されたい。ＣＰＵ５０２は、任意の数の状態を個々に、または集合的にとることが可能な、任意の数のトランジスタまたは他のディスクリートの回路要素から構築され得る。より詳細には、ＣＰＵ５０２は、本明細書で開示されるソフトウェアモジュール内に含まれる実行可能命令に応答して、有限状態マシンとして動作することが可能である。これらのコンピューター実行可能命令は、ＣＰＵ５０２が、状態の間をどのように遷移して、ＣＰＵ５０２を構成するトランジスタまたは他のディスクリートのハードウェア要素を変換するかを指定することによって、ＣＰＵ５０２を変換することが可能である。
【００７７】
[0082]また、本明細書で提示されるソフトウェアモジュールを符号化することが、本明細書で提示されるコンピューター可読媒体の物理構造を変換することが可能である。物理構造の特定の変換は、この説明の様々な実装形態において、様々な要因に依存し得る。そのような要因の例には、コンピューター可読媒体を実装するのに使用される技術などが、そのコンピューター可読媒体が一次ストレージとして特徴付けられるか、または二次ストレージとして特徴付けられるかにかかわらず、含まれ得るが、含まれる要因の例は、そのような技術には限定されない。例えば、コンピューター可読媒体が半導体ベースのメモリーとして実装される場合、本明細書で開示されるソフトウェアは、その半導体メモリーの物理状態を変換することによってコンピューター可読媒体上に符号化され得る。例えば、このソフトウェアは、その半導体メモリーを構成するトランジスタ、コンデンサ、または他のディスクリートの回路要素の状態を変換することが可能である。また、このソフトウェアは、そのような構成要素の物理状態を、そのような構成要素上にデータを格納するために変換することも可能である。
【００７８】
[0083]別の例として、本明細書で開示されるコンピューター可読媒体は、磁気技術または光技術を使用して実装されることが可能である。そのような実装形態において、本明細書で提示されるソフトウェアは、そのソフトウェアが磁気媒体または光媒体に符号化されると、磁気媒体または光媒体の物理状態を変換することが可能である。これらの変換は、所与の磁気媒体内の特定のロケーションの磁気特性を変えることを含み得る。また、これらの変換は、所与の光媒体内の特定のロケーションの物理的特徴または物理特性を、それらのロケーションの光学特性を変化させるように変えることを含むことも可能である。物理媒体の他の変換が、この説明の範囲および趣旨を逸脱することなく、可能であり、前述の例は、この説明を容易にするためにだけ与えられている。
【００７９】
[0084]以上のことに鑑みて、本明細書で提示されるソフトウェア構成要素を格納し、実行するために、コンピューターアーキテクチャー５００において多くのタイプの物理的変換が行われることを認識されたい。また、コンピューターアーキテクチャー５００は、ハンドヘルドコンピューター、組み込み型コンピューターシステム、携帯情報端末、および当業者に知られている他のタイプのコンピューティングデバイスを含め、他のタイプのコンピューティングデバイスを含み得ることも認識されたい。また、コンピューターアーキテクチャー５００は、図５に示される構成要素のすべてを含むわけではないことが可能であり、図５に明示されない他の構成要素を含むことが可能であり、または図５に示されるのとは完全に異なるアーキテクチャーを利用することが可能であることも企図される。
【００８０】
[0085]図６は、タスクを集約するため、および提示するための本明細書で説明されるソフトウェア構成要素を実行することができる例示的な分散コンピューティング環境６００を示す。このため、図６に示される分散コンピューティング環境６００は、タスクエンジン１０２に関連して本明細書で説明される機能をもたらすのに使用され得る。このため、分散コンピューティング環境６００は、本明細書で提示されるソフトウェア構成要素の任意の態様を実行するのに利用されることが可能である。
【００８１】
[0086]様々な実装形態によれば、分散コンピューティング環境６００は、ネットワーク６０４上で動作する、ネットワーク６０４と通信状態で動作する、またはネットワーク６０４の一部として動作するコンピューティング環境６０２を含む。また、ネットワーク６０４は、様々なアクセスネットワークを含むことも可能である。様々な実装形態によれば、ネットワーク６０４の機能は、図１および図５に示されるネットワーク１０４によって提供される。１つまたは複数のクライアントデバイス６０６Ａ〜６０６Ｎ（以降、ひとまとめに、さらに／または全体的に「クライアント６０６」と呼ばれる）が、ネットワーク６０４および／または他の接続（図６には示されない）を介してコンピューティング環境６０２と通信することが可能である。例示される実施形態において、クライアント６０６は、ラップトップコンピューター、デスクトップコンピューター、もしくは他のコンピューティングデバイスなどのコンピューティングデバイス６０６Ａ、スレートコンピューティングデバイスもしくはタブレットコンピューティングデバイス（「タブレットコンピューティングデバイス」）６０６Ｂ、モバイル電話機、スマートフォン、または他のモバイルコンピューティングデバイスなどのモバイルコンピューティングデバイス６０６Ｃ、サーバーコンピューター６０６Ｄ、および／または他のデバイス６０６Ｎを含む。任意の数のクライアント６０６が、コンピューティング環境６０２と通信することができることを理解されたい。クライアント６０６に関する２つの例示的なコンピューティングアーキテクチャーが、図５および図７を参照して本明細書で例示され、説明される。本明細書で例示され、説明される図示されるクライアント６０６およびコンピューティングアーキテクチャーは、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。
【００８２】
[0087]例示される実施形態において、コンピューティング環境６０２は、アプリケーションサーバー６０８と、データストレージ６１０と、１つまたは複数のネットワークインターフェース６１２とを含む。様々な実装形態によれば、アプリケーションサーバー６０８の機能は、ネットワーク６０４の一部として、またはネットワーク６０４と通信状態で実行される１つまたは複数のサーバーコンピューターによってもたらされ得る。アプリケーションサーバー６０８は、様々なサービス、仮想マシン、ポータル、および／または他のリソースをホストすることが可能である。例示される実施形態において、アプリケーションサーバー６０８は、アプリケーションまたは他の機能をホストするための１つまたは複数の仮想マシン６１４をホストする。様々な実装形態によれば、仮想マシン６１４は、タスクを集約するため、および提示するための本明細書で説明される機能を提供するための１つまたは複数のアプリケーションおよび／またはソフトウェアモジュールをホストする。この実施形態は、例示的であり、全く限定するものと解釈されるべきではないことを理解されたい。また、アプリケーションサーバー６０８は、１つまたは複数のウェブポータル、リンクページ、ウェブサイト、および／または他の情報（「ウェブポータル」）６１６をホストする、または以上に対するアクセスを提供することも行う。
【００８３】
[0088]様々な実装形態によれば、アプリケーションサーバー６０８は、１つまたは複数のメールボックスサービス６１８、および１つまたは複数のメッセージングサービス６２０も含む。メールボックスサービス６１８は、電子メール（「Ｅメール」）サービスを含むことが可能である。また、メールボックスサービス６１８は、カレンダーサービス、連絡先管理サービス、共同作業サービス、および／または他のサービスを含むが、以上には限定されない様々なパーソナル情報管理（「ＰＩＭ」）サービスを含むことも可能である。メッセージングサービス６２０は、インスタントメッセージングサービス、チャットサービス、フォーラムサービス、および／または他の通信サービスを含み得るが、以上には限定されない。
【００８４】
[0089]また、アプリケーションサーバー６０８は、１つまたは複数のソーシャルネットワーキングサービス６２２を含むことも可能である。ソーシャルネットワーキングサービス６２２は、ステータス更新、インスタントメッセージ、リンク、写真、ビデオ、および／または他の情報を共有する、もしくは投稿するためのサービス、記事、製品、ブログ、または他のリソースにコメントするため、もしくは関心を示すためのサービス、および／または他のサービスを含むが、以上には限定されない様々なソーシャルネットワーキングサービスを含み得る。いくつかの実施形態において、ソーシャルネットワーキングサービス６２２は、ＦＡＣＥＢＯＯＫソーシャルネットワーキングサービス、ＬＩＮＫＥＤＩＮプロフェッショナルネットワーキングサービス、ＭＹＳＰＡＣＥソーシャルネットワーキングサービス、ＦＯＵＲＳＱＵＡＲＥジオグラフィックネットワーキングサービス、ＹＡＭＭＥＲオフィスカレッジネットワーキングサービスなどによって提供される、またはそのようなサービスを含む。他の実施形態において、ソーシャルネットワーキングサービス６２２は、ソーシャルネットワーキングプロバイダーとして明示的に知られていることも、そうでないことも可能な他のサービス、サイト、および／またはプロバイダーによって提供される。例えば、一部のウェブサイトは、ユーザーが、公開された記事を読むこと、品物もしくはサービスについてコメントすること、出版、共同作業、ゲームなどの様々な活動中、および／またはコンテキストにおいて電子メール、チャットサービス、および／または他の手段を介して互いに対話することを可能にする。そのようなサービスの例には、ワシントン州レッドモンド市所在のマイクロソフトコーポレーションからのＷＩＮＤＯＷＳ  ＬＩＶＥサービスおよびＸＢＯＸ  ＬＩＶＥサービスが含まれるが、例は、以上のサービスには限定されない。他のサービスが、可能であるとともに、企図される。
【００８５】
[0090]また、ソーシャルネットワーキングサービス６２２は、コメントサービス、ブログサービス、および／またはマイクロブログサービスを含むことも可能である。そのようなサービスの例には、ＹＥＬＰコメントサービス、ＫＵＤＺＵレビューサービス、ＯＦＦＩＣＥＴＡＬＫエンタープライズマイクロブログサービス、ＴＷＩＴＴＥＲメッセージングサービス、ＧＯＯＧＬＥ  ＢＵＺＺサービス、および／または他のサービスが含まれるが、例は、以上には限定されない。サービスの前述のリストは、網羅的ではないこと、および簡単にするため、さらなる、さらに／または代替の多数のソーシャルネットワーキングサービス６２２が本明細書では言及されないことを認識されたい。このため、前述の実施形態は、例示的であり、全く限定するものと解釈されるべきではない。
【００８６】
[0091]図６に示されるとおり、アプリケーションサービス６０８は、その他のサービス、その他のアプリケーション、およびその他のポータル、および／またはその他のリソース（「その他のリソース」）６２４をホストすることも可能である。その他のリソース６２４は、タスクシステム１１２を含み得るが、タスクシステム１１２には限定されない。このため、コンピューティング環境６０２は、タスクを集約するため、および提示するための本明細書で提供される、本明細書で開示される概念および技術を、様々なメールボックスサービス、メッセージングサービス、ソーシャルネットワーキングサービス、および／またはその他のサービスもしくはリソースと統合することをもたらすことができることが認識され得る。例えば、本明細書で開示される概念および技術を、様々なパーソナル情報管理などに関連するソーシャルネットワーキングタスク、またはメッセージングタスクを集約し提示するために使用することが可能である。さらに、ユーザーは、ユーザーのタスク１１４に関連する情報をソーシャルネットワークと共有すること、タスク１１４に関連するメッセージを作成すること、および／またはタスク１１４に関して他のアクションを行うことが可能である。
【００８７】
[0092]前述したとおり、コンピューティング環境６０２は、データストレージ６１０を含み得る。様々な実装形態によれば、データストレージ６１０の機能は、ネットワーク６０４上で動作する、またはネットワーク６０４と通信状態で動作する１つまたは複数のデータベースによって提供される。また、データストレージ６１０の機能は、コンピューティング環境６０２に関するデータをホストするように構成された１つまたは複数のサーバーコンピューターによって提供されることも可能である。データストレージ６１０は、１つまたは複数の現実の、または仮想のデータストア６２６Ａ〜６２６Ｎ（以降、全体的に、またはひとまとめに「データストア６２６」と呼ばれる）を含む、ホストする、または提供することが可能である。データストア６２６は、アプリケーションサーバー６０８によって使用される、もしくは作成されたデータ、および／または他のデータをホストするように構成される。図６には示されないものの、データストア６２６は、所望される場合、キャッシュ１１６、タスク１１４、およびＵＩ１１８をホストする、または格納することも可能である＞。＞
[0093]コンピューティング環境６０２は、ネットワークインターフェース６１２と通信する、またはネットワークインターフェース６１２によってアクセスされることが可能である。ネットワークインターフェース６１２は、クライアント６０６およびアプリケーションサーバー６０８を含むが、以上には限定されない、２つ以上のコンピューティングデバイス間の通信をサポートするための様々なタイプのネットワークハードウェアおよびネットワークソフトウェアを含み得る。また、ネットワークインターフェース６１２は、他のタイプのネットワークおよび／またはコンピューターシステムに接続するのに利用されることも可能であることを認識されたい。
【００８８】
[0094]本明細書で説明される分散コンピューティング環境６００は、本明細書で説明されるソフトウェア要素の任意の態様を、本明細書で開示されるソフトウェア構成要素の任意の態様を実行するように構成され得る任意の数の仮想コンピューティングリソースおよび／または他の分散コンピューティング機能と一緒に提供することが可能であることを理解されたい。本明細書で開示される概念および技術の様々な実装形態によれば、分散コンピューティング環境６００は、本明細書で説明されるソフトウェア機能を、クライアント６０６に対するサービスとして提供する。クライアント６０６は、サーバーコンピューター、ウェブサーバー、パーソナルコンピューター、モバイルコンピューティングデバイス、スマートフォン、および／または他のデバイスを含むが、以上には限定されない現実の、または仮想のマシンを含み得ることを理解されたい。このため、本明細書で開示される概念および技術の様々な実施形態は、分散コンピューティング環境６００にアクセスするように構成された任意のデバイスが、タスクを集約するため、および提示するための本明細書で説明される機能を利用することを可能にする。
【００８９】
[0095]次に図７を参照すると、タスクを集約するため、および提示するための本明細書で説明される様々なソフトウェア構成要素を実行することができるコンピューティングデバイスに関する例示的なコンピューティングデバイスアーキテクチャー７００。コンピューティングデバイスアーキテクチャー７００は、部分的には、フォームファクター、ワイヤレス接続、および／またはバッテリー駆動の動作のため、モバイルコンピューティングを円滑にするコンピューティングデバイスに適用可能である。一部の実施形態において、それらのコンピューティングデバイスには、モバイル電話機、タブレットデバイス、スレートデバイス、ポータブルビデオゲームデバイスなどが含まれるが、以上には限定されない。さらに、コンピューティングデバイスアーキテクチャー７００は、図６に示されるクライアント７０６のいずれにも適用可能である。さらに、コンピューティングデバイスアーキテクチャー７００の態様は、図５を参照して説明されるような、従来のデスクトップコンピューター、ポータブルコンピューター（例えば、ラップトップ、ノートブック、ウルトラポータブル、およびネットブック）、サーバーコンピューター、および他のコンピューターシステムに適用可能であり得る。例えば、本明細書の後段で開示されるシングルタッチ態様およびマルチタッチ態様が、タッチスクリーン、またはタッチ対応型トラックパッドもしくはタッチ対応型マウスなどの他のタッチ対応型デバイスを利用するデスクトップコンピューターに適用されることが可能である。
【００９０】
[0096]図７に示されるコンピューティングデバイスアーキテクチャー７００は、プロセッサー７０２と、メモリー構成要素７０４と、ネットワーク接続構成要素７０６と、センサー構成要素７０８と、入出力構成要素７１０と、電源構成要素７１２とを含む。例示される実施形態において、プロセッサー７０２は、メモリー構成要素７０４、ネットワーク接続構成要素７０６、センサー構成要素７０８、入出力（「Ｉ／Ｏ」）構成要素７１０、および電力構成要素７１２と通信状態にある。図７に示される個々の構成要素の間に接続は全く示されないものの、これらの構成要素は、デバイス機能を実行するように対話することが可能である。一部の実施形態において、これらの構成要素は、１つまたは複数のバス（図示せず）を介して通信するように構成される。
【００９１】
[0097]プロセッサー７０２は、本明細書で説明される様々な機能を実行するためにデータを処理し、１つまたは複数のアプリケーションプログラムのコンピューター実行可能命令を実行し、さらにコンピューティングデバイスアーキテクチャー７００の他の構成要素と通信するように構成された中央処理装置（「ＣＰＵ」）を含む。プロセッサー７０２は、本明細書で提示されるソフトウェア構成要素の、特に、少なくとも部分的には、タッチ対応型入力を利用するソフトウェア構成要素の態様を実行するのに利用され得る。
【００９２】
[0098]一部の実施形態において、プロセッサー７０２は、汎用の科学技術コンピューティングアプリケーション、ならびに高解像度ビデオ（例えば、７２０Ｐ、１０８０Ｐ以上）などのグラフィックスを多用するコンピューティングアプリケーション、ビデオゲーム、３次元（「３Ｄ」）モデリングアプリケーションなどを実行することによって実行される動作を含むが、以上には限定されない、ＣＰＵによって実行される動作を加速させるように構成されたグラフィックス処理装置（「ＧＰＵ」）を含む。一部の実施形態において、プロセッサー７０２は、ディスクリートのＤＰＵ（図示せず）と通信するように構成される。いずれにしても、ＣＰＵおよびＧＰＵは、アプリケーションのシーケンス部分がＣＰＵ上で実行され、計算リソースを多用する部分がＧＰＵによって加速されるコプロセッシングＣＰＵ／ＧＰＵコンピューティングモデルに準拠して構成されることが可能である。
【００９３】
[0099]一部の実施形態において、プロセッサー７０２は、システムオンチップ「「ＳｏＣ」」である、または本明細書で以下に説明されるその他の構成要素のうちの１つまたは複数とともにＳｏＣに含められる。例えば、ＳｏＣは、プロセッサー７０２と、ＧＰＵと、ネットワーク接続構成要素７０６のうちの１つまたは複数と、センサー構成要素７０８のうちの１つまたは複数とを含み得る。一部の実施形態において、プロセッサー７０２は、部分的には、パッケージオンパッケージ（「ＰｏＰ」）集積回路パッケージング技法を利用して製造される。さらに、プロセッサー７０２は、シングルコアプロセッサーであることも、マルチコアプロセッサーであることも可能である。
【００９４】
[00100]プロセッサー７０２は、英国ケンブリッジ市所在のＡＲＭホールディングスからライセンスが入手可能なＡＲＭアーキテクチャーに準拠して作成され得る。代替として、プロセッサー７０２は、カリフォルニア州、マウンテンビュー市所在のインテルコーポレーション他から入手可能であるようなｘ８６アーキテクチャーに準拠して作成されてもよい。一部の実施形態において、プロセッサー７０２は、カリフォルニア州サンディエゴ市所在のクアルコム社から入手可能なＳＮＡＰＤＲＡＧＯＮ  ＳｏＣ、カリフォルニア州サンタクララ市所在のＮＶＩＤＩＡ社から入手可能なＴＥＧＲＡ  ＳｏＣ、韓国ソウル市所在のサムスン社から入手可能なＨＵＭＭＩＮＧＢＩＲＤ  ＳｏＣ、テキサス州ダラス市所在のテキサスインスツルメンツ社から入手可能なオープンマルチメディアアプリケーションプラットフォーム（「ＯＭＡＰ」）ＳｏＣ、前述のＳｏＣのカスタマイズされたバージョン、または独自のＳｏＣである。
【００９５】
[00101]メモリー構成要素７０４は、ランダムアクセスメモリー（「ＲＡＭ」）７１４、読み取り専用メモリー（「ＲＯＭ」）７１６、組み込まれたストレージメモリー（「組み込まれたストレージ」）７１８、およびリムーバブルストレージメモリー（「リムーバブルストレージ」）７２０を含む。一部の実施形態において、ＲＡＭ７１４、もしくはＲＡＭ７１４の一部分、ＲＯＭ７１６、もしくはＲＯＭ７１６の一部分、および／またはＲＡＭ７１４とＲＯＭ７１６の何らかの組み合わせが、プロセッサー７０２に組み込まれる。一部の実施形態において、ＲＯＭ７１６は、ファームウェア、オペレーティングシステム、もしくはオペレーティングシステムの一部分（例えば、オペレーティングシステムカーネル）、および／または組み込まれたストレージ７１８もしくはリムーバブルストレージ７２０からオペレーティングシステムカーネルをロードするブートローダーを格納するように構成される。
【００９６】
[00102]組み込まれたストレージ７１８は、ソリッドステートメモリー、ハードディスク、またはソリッドステートメモリーとハードディスクの組み合わせを含み得る。組み込まれたストレージ７１８は、プロセッサー７０２、および本明細書で説明される他の構成要素がやはり接続され得るロジックボードにはんだ付けされる、またはそれ以外で接続されることが可能である。このため、組み込まれたストレージ７１８は、コンピューティングデバイスに組み込まれる。組み込まれたストレージ７１８は、オペレーティングシステム、もしくはオペレーティングシステムの部分、アプリケーションプログラム、データ、および本明細書で説明される他のソフトウェア構成要素を格納するように構成される。
【００９７】
[00103]リムーバブルストレージ７２０は、ソリッドステートメモリー、ハードディスク、またはソリッドステートメモリーとハードディスクの組み合わせを含み得る。一部の実施形態において、リムーバブルストレージ７２０は、組み込まれたストレージ７１８の代わりに提供される。他の実施形態において、リムーバブルストレージ７２０は、追加のオプションのストレージとして提供される。一部の実施形態において、リムーバブルストレージ７２０は、利用可能な全体的なストレージが、組み込まれたストレージ７１８とリムーバブルストレージ７２０の組み合わされた合計の容量としてユーザーに提供され、示されるように、組み込まれたストレージ７１８と論理上、組み合わされる。
【００９８】
[00104]リムーバブルストレージ７２０は、リムーバブルストレージ７２０が、プロセッサー７０２などのコンピューティングデバイスの他の構成要素と通信できる接続を円滑にするようにリムーバブルストレージメモリースロット（図示せず）に、またはリムーバブルストレージ７２０が挿入されて、固定される他の機構に挿入されるように構成される。リムーバブルストレージ７２０は、ＰＣカード、ＣｏｍｐａｃｔＦｌａｓｈカード、メモリースティック、セキュアデジタル（「ＳＤ」）、ミニＳＤ、マイクロＳＤ、ユニバーサル集積回路カード（「ＵＩＣＣ」）（例えば、加入者ＩＤモジュール（「ＳＩＭ」）もしくはユニバーサルＳＩＭ（「ＵＳＩＭ」））、独自のフォーマットなどを含むが、以上には限定されない様々なメモリーカードフォーマットで実現され得る。
【００９９】
[00105]メモリー構成要素７０４のうちの１つまたは複数が、オペレーティングシステムを格納することが可能であることが理解され得る。様々な実施形態によれば、オペレーティングシステムには、シンビアンリミテッドからのシンビアンＯＳ、ワシントン州レッドモンド市所在のマイクロソフトコーポレーションからのＷＩＮＤＯＷＳ（登録商標）  ＭＯＢＩＬＥ  ＯＳ、マイクロソフトコーポレーションからのＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ＯＳ、マイクロソフトコーポレーションからのＷＩＮＤＯＷＳ、カリフォルニア州パロアルト市所在のヒューレットパッカード社からのＰＡＬＭ  ＷＥＢＯＳ、カナダ国、オンタリオ州ウォータールー市所在のリサーチインモーションリミテッドからのＢＬＡＣＫＢＥＲＲＹ  ＯＳ、カリフォルニア州クパチーノ市所在のアップル社からのＩＯＳ、およびカリフォルニア州マウンテンビュー市所在のグーグル社からのＡＮＤＲＯＩＤ（登録商標）  ＯＳが含まれるが、以上には限定されない。他のオペレーティングシステムも企図される。
【０１００】
[00106]ネットワーク接続構成要素７０６は、ワイヤレスワイドエリアネットワーク構成要素（「ＷＷＡＮ構成要素」）７２２と、ワイヤレスローカルエリアネットワーク構成要素（「ＷＬＡＮ構成要素」）７２４と、ワイヤレスパーソナルエリアネットワーク構成要素（「ＷＰＡＮ構成要素」）７２６とを含む。ネットワーク接続構成要素７０６は、ＷＷＡＮ、ＷＬＡＮ、またはＷＰＡＮであり得るネットワーク７２８に対する通信、およびネットワーク７２８からの通信を円滑にする。単一のネットワーク７２８が例示されるものの、ネットワーク接続構成要素７０６は、複数のネットワークとの同時の通信を円滑にすることが可能である。例えば、ネットワーク接続構成要素７０６は、ＷＷＡＮ、ＷＬＡＮ、またはＷＰＡＮのうちの１つまたは複数を介した複数のネットワークとの同時の通信を円滑にすることが可能である。一部の実施形態において、ネットワーク７２８は、ネットワーク１０４、６０４の１つまたは複数によって提供される。一部の実施形態において、ネットワーク７２８は、ネットワーク１０４、６０４を含む。さらに他の実施形態において、ネットワーク７２８は、ネットワーク１０４、６０４に対するアクセスをもたらす。
【０１０１】
[00107]ネットワーク７２８は、１つまたは複数のモバイル遠隔通信技術を利用して、ＷＷＡＮ構成要素７２２を介してコンピューティングデバイスアーキテクチャー７００を利用するコンピューティングデバイスに音声サービスおよび／またはデータサービスを提供するモバイル遠隔通信ネットワークなどのＷＷＡＮであり得る。モバイル遠隔通信技術には、グローバルシステムフォーモバイルコミュニケーションズ（「ＧＳＭ（登録商標）」）、符号分割多元接続（「ＣＤＭＡ」）ＯＮＥ、ＣＤＭＡ２０００、ユニバーサルモバイルテレコミュニケーションズシステム（「ＵＭＴＳ」）、ロングタームエボリューション（「ＬＴＥ」）、およびワールドワイドインターオペラビリティフォーマイクロウェイブアクセス（「ＷｉＭＡＸ」）が含まれ得るが、以上には限定されない。さらに、ネットワーク７２８は、時分割多元接続（「ＴＤＭＡ」）、周波数分割多元接続（「ＦＤＭＡ」）、ＣＤＭＡ、広帯域ＣＤＭＡ（「Ｗ−ＣＤＭＡ」）、直交周波数分割多重化（「ＯＦＤＭ」）、空間分割多元接続（「ＳＤＭＡ」）などを含むが、以上には限定されない、様々なチャネルアクセス方法（前述した標準によって使用されることも、使用されないこともあり得る）を利用することが可能である。データ通信は、汎用パケット無線サービス（「ＧＰＲＳ」）、エンハンストデータレートフォーグローバルエボリューション（「ＥＤＧＥ」）、高速ダウンリンクパケットアクセス（「ＨＳＤＰＡ」）、エンハンストアップリンク（「ＥＵＬ」）と呼ばれる、またはそれ以外の名称の高速アップリンクパケットアクセス（「ＨＳＵＰＡ」）を含む高速パケットアクセス（「ＨＳＰＡ」）プロトコルファミリー、発展型ＨＳＰＡ（「ＨＳＰＡ＋」）、ＬＴＥ、ならびに様々な現在、および未来のワイヤレスデータアクセス標準を使用して提供され得る。ネットワーク７２８は、前述した技術の任意の組み合わせを用いて音声通信および／またはデータ通信を提供するように構成され得る。ネットワーク７２８は、未来世代の技術に準拠して音声通信および／またはデータ通信を提供するように構成される、または適応させられることが可能である。
【０１０２】
[00108]一部の実施形態において、ＷＷＡＮ構成要素７２２は、ネットワーク７２８にデュアル、マルチモード接続を提供するように構成される。例えば、ＷＷＡＮ構成要素７２２が、ネットワーク７２８に接続を提供するように構成され、ネットワーク７２８は、ＧＳＭ技術およびＵＭＳＴ技術を介して、または技術のなんらかの他の組み合わせを介してサービスを提供する。代替として、複数のＷＷＡＮ構成要素７２２が、そのような機能を実行し、さらに／またはさらなる機能を提供して、他の互換性のない技術（すなわち、単一のＷＷＡＮ構成要素によってサポートされることが不可能な）をサポートするのに利用されてもよい。ＷＷＡＮ構成要素７２２は、複数のネットワーク（例えば、ＵＭＴＳネットワークおよびＬＴＥネットワーク）に対する同様の接続を円滑にすることが可能である。
【０１０３】
[00109]ネットワーク７２８は、ＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、および／または未来の８０２．１１標準（本明細書では、ひとまとめにＷＩ−ＦＩと呼ばれる）などの１つまたは複数のインスティテュートオブエレクトリカルアンドエレクトロニックエンジニアズ（「ＩＥＥＥ」）８０２．１１標準に準拠して動作するＷＬＡＮであり得る。また、原案の８０２．１１標準も企図される。一部の実施形態において、ＷＬＡＮは、１つまたは複数のワイヤレスＷＩ−ＦＩアクセスポイントを利用して実施される。一部の実施形態において、ワイヤレスＷＩ−ＦＩアクセスポイントのうちの１つまたは複数は、ＷＩ−ＦＩホットスポットとして機能しているＷＷＡＮに対する接続を有する別のコンピューティングデバイスである。ＷＬＡＮ構成要素７２４は、ＷＩ−ＦＩアクセスポイントを介してネットワーク７２８に接続されるように構成される。そのような接続は、ＷＩ−ＦＩ保護アクセス（「ＷＰＡ」）、ＷＰＡ２、ワイヤードイクイバレントプライバシー（「ＷＥＰ」）などを含むが、以上には限定されない様々な暗号化技術を介してセキュリティ保護され得る。
【０１０４】
[00110]ネットワーク７２８は、インフラレッドデータアソシエーション（「ＩｒＤＡ」）、ＢＬＵＥＴＯＯＴＨ（登録商標）、ワイヤレスユニバーサルシリアルバス（「ＵＳＢ」）、Ｚ−Ｗａｖｅ、ＺＩＧＢＥＥ、または他の何らかの短距離ワイヤレス技術に準拠して動作するＷＰＡＮであり得る。一部の実施形態において、ＷＰＡＮ構成要素７２６は、ＷＰＡＮを介した周辺装置、コンピューター、または他のコンピューティングデバイスなどの他のデバイスとの通信を円滑にするように構成される。
【０１０５】
[00111]センサー構成要素７０８は、磁力計７３０と、環境光センサー７３２と、近接センサー７３４と、加速度計７３６と、ジャイロスコープ７３８と、全地球測位システムセンサー（「ＧＰＳセンサー」）７４０とを含む。温度センサーまたは衝撃検出センサーなどの、ただし、以上には限定されない他のセンサーがコンピューティングデバイスアーキテクチャー７００に組み込まれることも可能であることが企図される。
【０１０６】
[00112]磁力計７３０は、磁界の強度および方向を測定するように構成される。一部の実施形態において、磁力計７３０は、東西南北という基本方位を含む基準系にて正確な方向をユーザーに与えるために、メモリー構成要素７０４のうちの１つの中に格納されたコンパスアプリケーションプログラムに測定を供給する。同様の測定が、コンパス構成要素を含むナビゲーションアプリケーションプログラムに供給されることも可能である。磁力計７３０によって獲得された測定の他の用途も企図される。
【０１０７】
[00113]環境光センサー７３２は、環境光を測定するように構成される。一部の実施形態において、環境光センサー７３２は、低光量環境および高光量環境を補償するようにディスプレイ（後段で説明される）の明るさを自動的に調整するために、メモリー構成要素７０４のうちの１つの中に格納されたアプリケーションプログラムに測定を供給する。環境光センサー７３２によって獲得された測定の他の用途も企図される。
【０１０８】
[00114]近接センサー７３４は、直接の接触なしにコンピューティングデバイスの近くにある物体または物の存在を検出するように構成される。一部の実施形態において、近接センサー７３４は、ユーザーの身体（例えば、ユーザーの顔）の存在を検出し、この情報を、近接情報を利用してコンピューティングデバイスの何らかの機能を有効にする、または無効にするメモリー構成要素７０４のうちの１つの中に格納されたアプリケーションプログラムに供給する。例えば、電話アプリケーションプログラムが、近接情報を受け取ったことに応答してタッチスクリーン（後段で説明される）を自動的に無効にして、ユーザーの顔が通話を意図せずに終了させることがないようにすること、または通話中に電話アプリケーションプログラム内の他の機能を有効にする／無効にすることが可能である。近接センサー７３４によって検出された近接性の他の用途も企図される。
【０１０９】
[00115]加速度計７３６は、固有加速度を測定するように構成される。一部の実施形態において、加速度計７３６からの出力は、アプリケーションプログラムによって、アプリケーションプログラムの何らかの機能を制御する入力機構として使用される。例えば、そのアプリケーションプログラムが、キャラクター、キャラクターの一部分、またはオブジェクトが、加速度計７３６を介して受け取られた入力に応答して動かされる、またはそれ以外で操作されるビデオゲームであることが可能である。一部の実施形態において、加速度計７３６からの出力が、ランドスケープモードとポートレートモードの間で切り換えを行う際に、座標加速度を計算する際に、または落下を検出する際に使用されるようにアプリケーションプログラムに供給される。加速度計７３６の他の用途も企図される。
【０１１０】
[00116]ジャイロスコープ７３８は、向きを測定し、維持するように構成される。一部の実施形態において、ジャイロスコープ７３８からの出力は、アプリケーションプログラムによって、アプリケーションプログラムの何らかの機能を制御する入力機構として使用される。例えば、ジャイロスコープ７３８は、ビデオゲームアプリケーションまたは他の何らかのアプリケーションの３Ｄ環境内の動きの正確な認識のために使用され得る。一部の実施形態において、アプリケーションプログラムが、ジャイロスコープ７３８および加速度計７３６からの出力を利用して、アプリケーションプログラムの何らかの機能の制御を強化する。ジャイロスコープ７３８の他の用途も企図される。
【０１１１】
[00117]ＧＰＳセンサー７４０は、位置を計算する際に使用するためにＧＰＳ衛星から信号を受信するように構成される。ＧＰＳセンサー７４０によって計算された位置は、位置情報を要求する、または役立てる任意のアプリケーションプログラムによって使用され得る。例えば、ＧＰＳセンサー７４０によって計算された位置は、その位置から目的地までの道順を与えるように、またはその目的地からその位置までの道順を与えるようにナビゲーションアプリケーションプログラムで使用され得る。さらに、ＧＰＳセンサー７４０は、Ｅ９１１サービスなどの外部の位置ベースのサービスに位置情報を供給するのに使用され得る。ＧＰＳセンサー７４０は、ＧＰＳセンサー７４０が位置特定を獲得するのを支援するようにネットワーク接続構成要素７０６のうちの１つまたは複数を利用して、ＷＩ−ＦＩ技法、ＷｉＭＡＸ技法、および／またはセルラ三角測量技法を介して生成された位置情報を獲得することが可能である。また、ＧＰＳセンサー７４０は、補助ＧＰＳ（「Ａ−ＧＰＳ」）システムにおいて使用されることも可能である。
【０１１２】
[00118]入出力構成要素７１０は、ディスプレイ７４２と、タッチスクリーン７４４と、データ入出力インターフェース構成要素（「データＩ／Ｏ」）７４６と、オーディオ入出力インターフェース構成要素（「オーディオＩ／Ｏ」）７４８と、ビデオ入出力インターフェース構成要素（「ビデオＩ／Ｏ」）７５０と、カメラ７５２とを含む。一部の実施形態において、ディスプレイ７４２とタッチスクリーン７４４が組み合わされる。一部の実施形態において、データ入出力構成要素７４６、オーディオ入出力構成要素７４８、およびビデオ入出力構成要素７５０のうちの２つ以上が組み合わされる。入出力構成要素７１０は、後段で説明される様々なインターフェースをサポートするように構成されたディスクリートのプロセッサーを含むことが可能であり、またはプロセッサー７０２に組み込まれた処理機能を含むことが可能である。
【０１１３】
[00119]ディスプレイ７４２は、情報を視覚形態で提示するように構成された出力デバイスである。詳細には、ディスプレイ７４２は、グラフィカルユーザーインターフェース（「ＧＵＩ」）要素、テキスト、画像、ビデオ、通知、仮想ボタン、仮想キーボード、メッセージングデータ、インターネットコンテンツ、デバイスステータス、時刻、日付、暦のデータ、選好、地図情報、位置情報、および視覚形態で提示されることが可能な他の任意の情報を提示することが可能である。一部の実施形態において、ディスプレイ７４２は、任意のアクティブマトリックス技術または単純マトリックス技術、および任意のバックライト技術（使用される場合）を利用する液晶ディスプレイ（「ＬＣＤ」）である。一部の実施形態において、ディスプレイ７４２は、有機発光ダイオード（「ＯＬＥＤ」）ディスプレイである。他のディスプレイタイプも企図される。
【０１１４】
[00120]タッチスクリーン７４４は、タッチの存在および位置を検出するように構成された入力デバイスである。タッチスクリーン７４４は、抵抗型タッチスクリーン、静電容量型タッチスクリーン、表面弾性波型タッチスクリーン、赤外線タッチスクリーン、光学イメージングタッチスクリーン、分散信号タッチスクリーン、音響パルス認識タッチスクリーンであることが可能であり、または他の任意のタッチスクリーン技術を利用することが可能である。一部の実施形態において、タッチスクリーン７４４は、トランスペアレントな層としてディスプレイ７４２の上に組み込まれて、ユーザーが１つまたは複数のタッチを使用して、ディスプレイ７４２上に提示されるオブジェクトまたは他の情報と対話することを可能にする。他の実施形態において、タッチスクリーン７４４は、ディスプレイ７４２を含まないコンピューティングデバイスの表面上に組み込まれたタッチパッドである。例えば、コンピューティングデバイスは、ディスプレイ７４２の上に組み込まれたタッチスクリーンと、ディスプレイ７４２の反対側の表面上のタッチパッドとを有することが可能である。
【０１１５】
[00121]一部の実施形態において、タッチスクリーン７４４は、シングルタッチタッチスクリーンである。他の実施形態において、タッチスクリーン７４４は、マルチタッチタッチスクリーンである。一部の実施形態において、タッチスクリーン７４４は、個別のタッチ、シングルタッチジェスチャー、および／またはマルチタッチジェスチャーを検出するように構成される。これらは、便宜上、ひとまとめに、本明細書でジェスチャーと呼ばれる。次に、いくつかのジェスチャーについて説明する。これらのジェスチャーは、例示的であり、添付の特許請求の範囲を限定することは意図していないことを理解されたい。さらに、説明されるジェスチャー、さらなるジェスチャー、および／または代替のジェスチャーが、タッチスクリーン７４４で使用するためのソフトウェアにおいて実施されてもよい。このため、開発者は、特定のアプリケーションプログラムに特有のジェスチャーを作り出すことができる。
【０１１６】
[00122]一部の実施形態において、タッチスクリーン７４４は、ユーザーが、ディスプレイ７４２上に提示された項目上で１回、タッチスクリーン７４４をタップするタップジェスチャーをサポートする。タップジェスチャーは、どのようなものであれユーザーがタップするものを開くことまたは起動することを含むが、以上には限定されない様々な理由で使用され得る。一部の実施形態において、タッチスクリーン７４４は、ユーザーが、ディスプレイ７４２上に提示された項目上で２回、タッチスクリーン７４４をタップするダブルタップジェスチャーをサポートする。ダブルタップジェスチャーは、段階的にズームインすること、またはズームアウトすることを含むが、以上には限定されない様々な理由で使用され得る。一部の実施形態において、タッチスクリーン７４４は、ユーザーがタッチスクリーン７４４をタップし、少なくとも事前定義された時間にわたって接触を維持するタップアンドホールドジェスチャーをサポートする。タップアンドホールドジェスチャーは、コンテキスト特有のメニューを開くことを含むが、このことには限定されない様々な理由で使用され得る。
【０１１７】
[00123]一部の実施形態において、タッチスクリーン７４４は、ユーザーが、タッチスクリーン７４４上に指を置き、その指をタッチスクリーン７４４上で動かしながらタッチスクリーン７４４との接触を維持するパンジェスチャーをサポートする。パンジェスチャーは、制御されたレートで画面、画像、またはメニューを移動することを含むが、このことには限定されない様々な理由で使用され得る。また、複数の指のパンジェスチャーも企図される。いくつかの実施形態において、タッチスクリーン７４４は、ユーザーが、ユーザーが画面を動かしたい方向に指をスワイプするフリックジェスチャーをサポートする。フリックジェスチャーは、メニューまたはページを水平に、または垂直にスクロールすることを含むが、このことに限定されない様々な理由で使用され得る。一部の実施形態において、タッチスクリーン７４４は、ユーザーが、タッチスクリーン７４４上で２つの指（例えば、親指と人差し指）でつまむ動きをする、または２つの指を離すように動かすピンチアンドストレッチジェスチャーをサポートする。ピンチアンドストレッチジェスチャーは、ウェブサイト、マップ、もしくはピクチャに次第にズームインすること、またはウェブサイト、マップ、もしくはピクチャから次第にズームアウトすることを含むが、以上には限定されない様々な理由で使用され得る。
【０１１８】
[00124]前述のジェスチャーは、それらのジェスチャーを実行するための１つまたは複数の指の使用に関連して説明されてきたが、つま先などの他の付属器官、またはスタイラスなどの物体が、タッチスクリーン７４４と対話するのに使用されてもよい。このため、前述のジェスチャーは、例示的であるものと理解されるべきであり、全く限定するものと解釈されるべきではない。タッチインターフェースを使用する例示的なユーザーインターフェースが、図８に示される。
【０１１９】
[00125]データ入出力インターフェース構成要素７４６は、コンピューティングデバイスに対するデータの入力、およびコンピューティングデバイスからのデータの出力を円滑にするように構成される。一部の実施形態において、データ入出力インターフェース構成要素７４６は、例えば、同期動作の目的で、コンピューティングデバイスとコンピューターシステムの間で有線接続をもたらすように構成されたコネクターを含む。このコネクターは、独自のコネクターであっても、ＵＳＢ、マイクロＵＳＢ、ミニＵＳＢなどの標準化されたコネクターであってもよい。一部の実施形態において、このコネクターは、コンピューティングデバイスを、ドッキングステーション、オーディオデバイス（例えば、デジタル音楽プレーヤー）、またはビデオデバイスなどの別のデバイスとドッキングさせるためのドックコネクターである。
【０１２０】
[00126]オーディオ入出力インターフェース構成要素７４８は、コンピューティングデバイスにオーディオ入力能力および／またはオーディオ出力能力をもたらすように構成される。一部の実施形態において、オーディオ入出力インターフェース構成要素７４６は、オーディオ信号を収集するように構成されたマイクロホンを含む。一部の実施形態において、オーディオ入出力インターフェース構成要素７４６は、ヘッドホンまたは他の外部スピーカに関する接続をもたらすように構成されたヘッドホンジャックを含む。一部の実施形態において、オーディオインターフェース構成要素７４８は、オーディオ信号を出力するためのスピーカを含む。一部の実施形態において、オーディオ入出力インターフェース構成要素７４６は、光オーディオケーブル出力を含む。
【０１２１】
[00127]ビデオ入出力インターフェース構成要素７５０は、コンピューティングデバイスにビデオ入力能力および／またはビデオ出力能力をもたらすように構成される。一部の実施形態において、ビデオ入出力インターフェース構成要素７５０は、別のデバイス（例えば、ＤＶＤプレーヤーもしくはＢＬＵＲＡＹプレーヤーなどのビデオメディアプレーヤー）から入力としてビデオを受け取るように、または別のデバイス（例えば、モニタ、テレビ、または他の何らかの外部ディスプレイ）に出力としてビデオを送るように構成されたビデオコネクターを含む。一部の実施形態において、ビデオ入出力インターフェース構成要素７５０は、ビデオコンテンツを入力する／出力する高精細度マルチメディアインターフェース（「ＨＤＭＩ（登録商標）」）、ミニＨＤＭＩ、マイクロＨＤＭＩ、ＤｉｓｐｌａｙＰｏｒｔ、または独自のコネクターを含む。いくつかの実施形態において、ビデオ入出力インターフェース構成要素７５０、またはビデオ入出力インターフェース構成要素７５０の部分は、オーディオ入出力インターフェース構成要素７４８、またはオーディオ入出力インターフェース構成要素７４８の部分と組み合わされる。
【０１２２】
[00128]カメラ７５２は、静止画像および／またはビデオをキャプチャするように構成され得る。カメラ７５２は、電荷結合素子（「ＣＣＤ」）または相補型金属酸化膜半導体（「ＣＭＯＳ」）画像センサーを利用して、画像をキャプチャすることが可能である。一部の実施形態において、カメラ７５２は、低光量環境において撮影するのを支援するフラッシュを含む。カメラ７５２に関する設定は、ハードウェアボタンまたはソフトウェアボタンとして実施され得る。
【０１２３】
[00129]図示されないものの、１つまたは複数のハードウェアボタンが、コンピューティングデバイスアーキテクチャー７００に含められることも可能である。ハードウェアボタンは、コンピューティングデバイスの何らかの動作上の態様を制御するために使用され得る。ハードウェアボタンは、専用のボタンであっても、多目的のボタンであってもよい。ハードウェアボタンは、機械的であっても、センサーベースであってもよい。
【０１２４】
[00130]図示される電源構成要素７１２は、バッテリーゲージ７５６に接続され得る１つまたは複数のバッテリー７５４を含む。バッテリー７５４は、充電可能であっても、使い捨てであってもよい。充電可能バッテリータイプには、リチウムポリマー、リチウムイオン、ニッケルカドミウム、およびニッケル水素が含まれるが、以上には限定されない。バッテリー７５４のそれぞれは、１つまたは複数のセルから成ることが可能である。
【０１２５】
[00131]バッテリーゲージ７５６は、電流、電圧、および温度などのバッテリーパラメータを測定するように構成され得る。一部の実施形態において、バッテリーゲージ７５６は、バッテリーの放電率、温度、経年、および他の要因の効果を測定して、或るパーセンテージの誤差の範囲内で残存寿命を予測するように構成される。一部の実施形態において、バッテリーゲージ７５６は、測定を、それらの測定を利用して、役立つ電力管理データをユーザーに提示するように構成されたアプリケーションプログラムに供給する。電力管理データは、使用されたバッテリーのパーセンテージ、残っているバッテリーのパーセンテージ、バッテリー条件、残りの時間、残りの容量（例えば、ワット時単位の）、消費電流、および電圧のうちの１つまたは複数を含み得る。
【０１２６】
[00132]また、電源構成要素７１２は、前述した入出力構成要素７１０のうちの１つまたは複数と組み合わされることが可能な電源コネクターを含むことも可能である。電源構成要素７１２は、電源入出力構成要素７４４を介して外部の電源システムまたは充電機器とインターフェースをとることが可能である。
【０１２７】
[00133]以上のことに基づいて、タスクを集約するため、および提示するための技術が本明細書で開示されたことが認識されよう。本明細書で提示される主題は、コンピューター構造上の特徴、方法、および変換動作、特定のコンピューティングマシン、ならびに特定のコンピューター可読媒体に特有の言い回しで説明されてきたものの、添付の特許請求の範囲において規定される本発明は、本明細書で説明される特定の特徴、動作、または媒体に必ずしも限定されないことを理解されたい。むしろ、特定の特徴、動作、および媒体は、特許請求の範囲を実施する例示的な形態として開示される。
【０１２８】
[00134]前述した主題は、例示として与えられているに過ぎず、限定するものと解釈されるべきではない。例示され、説明される例示的な実施形態および応用例に従うことなく、添付の特許請求の範囲に記載される本発明の真の趣旨および範囲を逸脱することなしに、本明細書で説明される主題に様々な変形および変更が行われることが可能である。
【図１】
2015505385.tif 000003
【図２】
2015505385.tif 000004
【図３】
2015505385.tif 000005
【図４Ａ】
2015505385.tif 000006
【図４Ｂ】
2015505385.tif 000007
【図４Ｃ】
2015505385.tif 000008
【図４Ｄ】
2015505385.tif 000009
【図４Ｅ】
2015505385.tif 000010
【図４Ｆ】
2015505385.tif 000011
【図５】
2015505385.tif 000012
【図６】
2015505385.tif 000013
【図７】
2015505385.tif 000014
【図８】
2015505385.tif 000015
【国際調査報告】
2015505385.tif 000016
2015505385.tif 000017