(57)【要約】  本開示の非限定的な例は、実行中のアプリケーションにおいてコンテンツが本来選択可能でない場合であっても、この実行中のアプリケーションのからのコンテンツのブロック・コピーを効率的に可能にする、コンテンツ選択のための機能について記載する。アプリケーションは、例えば、コンピューティング・デバイス上で実行していてもよい。コンテンツ選択のためのユーザー・インターフェースの有効化を誘起する入力を受け取ることができる。受け取った入力に基づいて、アプリケーションとユーザー・インターフェースとのレイヤード・ビューを提示することができる。一例として、レイヤード・ビューは、アプリケーション上に重ね合わされたユーザー・インターフェースを提示する。１回のアクションに基づいて、アプリケーションからコンテンツのブロック部分を選択することができる。数ある例の中でもとりわけ、１回のアクションは、不連続的なデバイスのクリック、またはユーザー・インターフェースを通じて処理される不連続的なタッチ入力であってもよい。コンテンツの選択された部分に対する追加のアクション（１つまたは複数）にも、ユーザー・インターフェースを通じてアクセス可能にすることもできる。【選択図】図５Ｂ
2019536156.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
コンピューティング・デバイスによって、コンテンツを含むアプリケーションを実行するステップと、
前記コンピューティング・デバイスによって、コンテンツ選択のためのユーザー・インターフェースの有効化を誘起する入力を受け取るステップと、
前記受け取った入力に基づいて、前記アプリケーション上に重ね合わされた前記ユーザー・インターフェースを提示するレイヤード・ビューを表示するステップと、
前記ユーザー・インターフェースを通じて処理された１回のアクションに応答して、前記アプリケーションから前記コンテンツのブロック部分を選択するステップであって、前記コンテンツのブロック部分がコンテンツの少なくとも２つのスニペットを含む、ステップと、
を含む、方法。
【請求項２】
請求項１記載の方法であって、更に、前記コンピューティング・デバイスによって、前記１回のアクションを受け取るステップを含む、方法。
【請求項３】
請求項２記載の方法において、前記１回のアクションが、不連続的なデバイスのクリックおよび不連続的なタッチ入力から成る一群から選択された１つである、方法。
【請求項４】
請求項１記載の方法であって、更に、前記コンテンツから選択された前記ブロック部分をコピーするための入力を受け取るステップと、前記コンテンツから選択されたブロック部分をコピーするステップとを含む、方法。
【請求項５】
請求項４記載の方法であって、更に、前記コンテンツから選択された前記ブロック部分をペーストするための入力を受け取るステップと、前記コンテンツから選択された前記ブロック部分をペーストするための前記受け取った入力に基づいて、前記コンテンツのブロック部分を他のアプリケーションにおいてペーストするステップとを含む、方法。
【請求項６】
請求項１記載の方法において、前記コンテンツの少なくとも２つのスニペットの内１つ以上が、前記アプリケーションにおいて選択可能でない、方法。
【請求項７】
請求項１記載の方法であって、更に、前記ユーザー・インターフェースを通じて、前記アプリケーションの前記コンテンツの１つ以上のブロック部分を識別するユーザー・インターフェース処理機能の選択を受け取るステップと、前記ユーザー・インターフェース処理機能の選択に基づいて、前記コンテンツの１つ以上の部分を選択可能として識別するステップとを含む、方法。
【請求項８】
システムであって、
少なくとも１つのプロセッサーと、
前記少なくとも１つのプロセッサーと動作的に接続され、コンピューター実行可能命令を格納するメモリーと、
を備え、前記コンピューター実行可能命令が前記少なくとも１つのプロセッサーによって実行されると、前記少なくとも１つのプロセッサーに、
第１アプリケーションを実行するステップと、
第２アプリケーションの有効化を誘起する入力を受け取るステップと、
前記受け取った入力に基づいて、前記第１アプリケーション上に重ね合わされた、前記第２アプリケーションを提示するレイヤード・ビューを表示するステップと、
前記第２アプリケーションを通じて処理された１回のアクションに応答して、前記第１アプリケーションからコンテンツのブロック部分を選択するステップであって、前記コンテンツのブロック部分がコンテンツの少なくとも２つのスニペットを含む、ステップと、
を含む方法を実行させる、システム。
【請求項９】
請求項８記載のシステムにおいて、前記実行される方法が、更に、
前記システムを通じて、前記１回のアクションを受け取るステップを含む、システム。
【請求項１０】
請求項９記載のシステムにおいて、前記１回のアクションが、不連続的なデバイスのクリックおよび不連続的なタッチ入力から成る一群から選択された１つである、システム。
【請求項１１】
請求項８記載のシステムにおいて、前記実行される方法が、更に、前記コンテンツから選択された前記ブロック部分をコピーするための入力を受け取るステップと、前記コンテンツから選択されたブロック部分をコピーするステップとを含む、システム。
【請求項１２】
請求項１１記載のシステムにおいて、前記実行される方法が、更に、前記コンテンツから選択された前記ブロック部分をペーストするための入力を受け取るステップと、前記コンテンツから選択された前記ブロック部分をペーストするための前記受け取った入力に基づいて、前記コンテンツのブロック部分を第３アプリケーションにおいてペーストするステップとを含む、システム。
【請求項１３】
請求項８記載のシステムにおいて、前記コンテンツの少なくとも２つのスニペットの内１つ以上が、前記第１アプリケーションにおいて選択可能でない、システム。
【請求項１４】
請求項８記載のシステムにおいて、前記実行される方法が、更に、前記第２アプリケーションにおいて、前記第１アプリケーションのコンテンツの１つ以上のブロック部分を識別するユーザー・インターフェース処理機能の選択を受け取るステップと、前記ユーザー・インターフェース処理機能の選択に基づいて、前記コンテンツの１つ以上のブロック部分を選択可能として識別するステップとを含む、システム。
【請求項１５】
コンピューター実行可能命令を格納するコンピューター読み取り可能媒体であって、前記コンピューター実行可能命令が少なくとも１つのプロセッサーによって実行されると、前記少なくとも１つのプロセッサーに、
前記少なくとも１つのプロセッサーによって、第１アプリケーションを実行するステップと、
第２アプリケーションの有効化を誘起する入力を受け取るステップと、
前記受け取った入力に基づいて、前記第１アプリケーション上に重ね合わされた、前記第２アプリケーションを提示するレイヤード・ビューを表示するステップと、
前記第２アプリケーションを通じて処理された１回のアクションに応答して、前記第１アプリケーションからコンテンツのブロック部分を選択するステップであって、前記コンテンツのブロック部分が少なくとも２つのコンテンツのスニペットを含む、ステップと、
を含む方法を実行させる、コンピューター読み取り可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  新たなアプリケーション／サービスは、多くの方法で生産性を高めてきた。ユーザーにとって共通の望みは、１つのアプリケーションからコンテンツをコピーし、そのコンテンツを他のアプリケーションにおいてペーストできることである。しかしながら、アプリケーションによっては、コンテンツを直接コピーすることを可能にするように構成されていないものがある。コンテンツをアプリケーションからコピーできる場合であっても、コンテンツを選択しコピーするプロセスは厄介である。コンテンツの選択を達成するためには、ユーザーは、コンテンツを選択するための選択ボックスの表示を要求する第１アクション（例えば、押下したまま長押しする）、ユーザーが選択したいコンテンツ上で選択ボックスをクリックおよびドラッグするための複数のアクション、ならびにコンテンツを選択するための後続のアクションというような、様々なアクションを実行しなければならない。したがって、本願の例は、コンテンツの選択に対して効率を高めることに関係する一般的な技術環境を対象とする。
【発明の概要】
【０００２】
[0002]  本開示の非限定的な例は、コンテンツ選択アプリケーションのための機能(functionality)について記載する。これは、実行中のアプリケーションからのコンテンツのブロック・コピー(block copying)を、その実行中のアプリケーションではコンテンツが本来選択できなくても、効率的に可能にする。アプリケーションは、例えば、コンピューティング・デバイス上で実行していてもよい。コンテンツ選択のためのユーザー・インターフェースの有効化(activation)を誘起する入力を受け取ることができる。一例として、ユーザー・インターフェースの有効化を誘起する入力は、コンピューティング・デバイスを通じて受け取られてもよい。受け取られた入力に基づいて、アプリケーションおよびユーザー・インターフェースのレイヤード・ビュー(layered view)を提示することができる。一例として、レイヤード・ビューはアプリケーション上に重ね合わされたユーザー・インターフェースを提示する。アプリケーションからのコンテンツのブロック部分を、１つのアクションに基づいて選択することができる。数ある例の中でもとりわけ、この１つのアクションは、ユーザー・インターフェースを通じて処理される不連続なデバイス・クリック、または不連続なタッチ入力であってもよい。コンテンツの選択されたブロック部分に対する追加のアクション（１つまたは複数）は、ユーザー・インターフェースを通じてアクセス可能であってもよい。
【０００３】
[0003]  他の非限定的な例では、コンテンツ選択のためのユーザー・インターフェースが、例示的な(exemplary)コンテンツ選択アプリケーションに組み込まれてもよい。第１アプリケーションは、例えば、コンピューティング・デバイスによって実行されてもよい。第２アプリケーションの有効化を誘起する入力を受け取ることができる。一例として、第２アプリケーションは例示的なコンテンツ選択アプリケーションである。第１アプリケーションおよび第２アプリケーションのレイヤード・ビューを、受け取った入力に基づいて提示してもよい。一例として、レイヤード・ビューは、第１アプリケーション上に重ね合わされた第２アプリケーションを提示する。１つのアクションに基づいて、第１アプリケーションからのコンテンツのブロック部分を選択することができる。一例として、この１つのアクションは第２アプリケーションによって処理されてもよい。コンテンツの選択されたブロック部分に対する追加のアクション（１つまたは複数）が、例示的なコンテンツ選択アプリケーションを通じてアクセス可能であってもよい。
【０００４】
[0004]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。例の追加の態様、特徴、および／または利点は、以下に続く説明において部分的に明記されて、以下の説明から部分的に明らかになるか、あるいは本開示の実施によって学習することができる。
【図面の簡単な説明】
【０００５】
[0005]  非限定的および非網羅的な例について、以下の図を参照しながら説明する。
【図１】図１は、本開示の態様を実施することができるコンピューティング・デバイスの例を示すブロック図である。
【図２Ａ】図２Ａは、本開示の態様を実施することができる移動体コンピューティング・デバイスの簡略ブロック図である。
【図２Ｂ】図２Ｂは、本開示の態様を実施することができる移動体コンピューティング・デバイスの簡略ブロック図である。
【図３】図３は、本開示の態様を実施することができる分散型コンピューティング・システムの簡略ブロック図である。
【図４】図４は、本開示の態様を実施することができるコンテンツ選択処理に関する例示的な方法である。
【図５Ａ】図５Ａは、本開示の態様を実施することができる例示的なコンテンツ選択アプリケーションに関連する処理について、例示的なユーザー・インターフェース・ビュー(view)を示す(present)。
【図５Ｂ】図５Ｂは、本開示の態様を実施することができる例示的なコンテンツ選択アプリケーションに関連する処理について、例示的なユーザー・インターフェース・ビュー(view)を示す(present)。
【図５Ｃ】図５Ｃは、本開示の態様を実施することができる例示的なコンテンツ選択アプリケーションに関連する処理について、例示的なユーザー・インターフェース・ビュー(view)を示す(present)。
【図５Ｄ】図５Ｄは、本開示の態様を実施することができる例示的なコンテンツ選択アプリケーションに関連する処理について、例示的なユーザー・インターフェース・ビュー(view)を示す(present)。
【図６】図６は、本開示の態様を実施することができる１つ以上のコンピューティング・デバイス上に実装可能な例示的なシステムを示す。
【発明を実施するための形態】
【０００６】
[0012]  本開示の非限定的な例は、実行中のアプリケーションではコンテンツが本来(traditionally)選択できなくても、その実行中のアプリケーションからのコンテンツのブロック・コピー(block copying)を効率的に可能にする、コンテンツ選択アプリケーションのための機能(functionality)について記載する。コンテンツ選択のための例示的なユーザー・インターフェースについて記載する。このインターフェースは、他の実行中のアプリケーションとインターフェースして、コンテンツを選択しようとするときに多数のアクション（例えば、クリック／ドラッグ／選択／コピー）を実行する必要なく、コンテンツの素早く効率的な選択を可能にする。本明細書において説明する例では、１回の不連続的なアクションを使用して、コンテンツのブロック部分を選択することができる。これは、コンテンツのブロック部分をコピーしようとするときにコンピューティング・デバイスとのユーザーの対話処理を改善するだけでなく、コンテンツのブロック部分をコピーするために利用されているコンピューティング・デバイスの処理効率も改善する。一例として、コンテンツ選択のためのユーザー・インターフェースは、コンテンツ選択アプリケーションのコンポーネントであってもよい。コンテンツ選択アプリケーションは、他の実行中のアプリケーションとインターフェースし、コンテンツの一部がそのアプリケーションから直接選択できない場合であっても、コンテンツの１つ以上の部分を他の実行中のアプリケーションからコピーすることを可能にする。
【０００７】
[0013]  例示的なコンテンツ選択アプリケーションは、コンテンツのブロック部分を識別し、ユーザーがコンテンツの１つ以上のブロック部分を効率的に選択することを可能にするユーザー・インターフェース処理機能(feature)を提供するように構成されている。ある例では、コンテンツのブロック部分がコンテンツの１つ以上のスニペットを含んでもよい。コンテンツのスニペットは、１つ以上の単語／文字／数／アイコン等を含んでもよい。更に他の例では、コンテンツのスニペットは、画像、ビデオ、オーディオ、手書き入力等を含む他のメディアを含んでもよい。テキスト部分が選択されている例では、コンテンツのブロック部分は、コンテンツの２つ以上のスニペットを含んでもよい。あるいは、コンテンツのブロック部分は、コンテンツ・タイプ、例えば、テキスト・コンテンツのスニペットおよびメディア・コンテンツのスニペットの任意の組み合わせを含んでもよい。ある場合には、例示的なコンテンツ選択アプリケーション以外のアプリケーションを使用するときは、コンテンツのスニペットが選択できなくてもよい。少なくとも１つの例では、コンテンツのブロック部分（例示的なコンテンツ選択アプリケーションによって選択された）は、コンテンツ選択アプリケーション以外のアプリケーションでは選択できないコンテンツの少なくとも１つのスニペットを含んでもよい。
【０００８】
[0014]  コンテンツ選択のためのユーザー・インターフェースは、レイヤード・ビューにおいて提示することもでき、この場合、ユーザー・インターフェース（例えば、コンテンツ選択アプリケーションのユーザー・インターフェース）は、コンテンツの部分を含む実行中のアプリケーションを表す他のレイヤの上に形成される(provided)レイヤ内に表示される。例示的なコンテンツ選択アプリケーションは、コンピューティング・デバイスの前景において実行中のアプリケーション（例えば、検出された前景アプリケーション）を検出するように構成されてもよい。コンテンツ選択アプリケーションが有効化されると、コンテンツ選択アプリケーションは、検出された前景アプリケーション上に重ね合わされ、コンテンツ選択アプリケーションの機能にアクセスしつつ、前景アプリケーションのコンテンツを見るおよびこれにアクセスする能力をユーザーに付与する。例示的なコンテンツ選択アプリケーションによって、選択されたコンテンツに対する追加のアクションへの素早いアクセスも提供される。更に、コンテンツ選択アプリケーションは、選択されたコンテンツに対する追加のアクションに素早くアクセスすることを可能にするユーザー・インターフェース処理機能も提供するように構成されている。追加のアクションの例には、数ある例の中でもとりわけ、コピーする、選択されたコンテンツ(selected content)をタスク・リストに追加する、選択コンテンツを電子メールで送る、選択コンテンツを他のユーザー／アプリケーションと共有する、および選択コンテンツを編集するアクションが含まれるが、これらに限定されるのではない。更に、他の例では、例示的なコンテンツ選択アプリケーションは、ユーザーに表示されるユーザー・インターフェース操作部(features)に優先順位を付けるように構成することもできる。少なくとも１つの例では、コンテンツ選択ユーザー・インターフェースに表示される１つ以上のユーザー・インターフェース操作部は、数ある例の中でもとりわけ、選択されたコンテンツ（例えば、タイプ、フォーマット、コンテキスト等）、コンテンツの関連メタデーター、コンテンツが選択されるアプリケーションのタイプ、クライアント・コンピューティング・デバイス上で実行している進行中のプロセスのタイプの内１つ以上に基づいて、動的に提示（または更新）することができる。例えば、コンテンツ選択アプリケーションは、ウェブ・ブラウザー・アプリケーションからテキスト・コンテンツのブロック部分がコピーされていることを検出し、メッセージング・アプリケーション、電子メール・アプリケーション、および／または文書処理アプリケーションにおいて、このコンテンツのブロック部分をペーストするためのユーザー・インターフェース操作部を提示するのでもよい。
【０００９】
[0015]  したがたって、本開示は、複数の技術的利点を提供する。とりわけ、これらの技術的利点には、限定ではなく、１つの不連続的なアクションでコンテンツを選択できること、コンテンツのブロック部分を効率的に識別および選択できること、コンテンツがアプリケーションから直接選択できない場合でも、コンテンツの部分を選択可能にできること、例示的なコンテンツ選択アプリケーションにアクセスしこれを利用するための処理デバイスの動作の一層の効率化（例えば、計算サイクル／コンピューティング・リソースを節約する）を図ること、ユーザーと、例示的なコンテンツ選択アプリケーションを実行しているコンピューティング・デバイスとの間におけるユーザー対話処理を改善すること、例示的なコンテンツ選択アプリケーション内に異なるアプリケーション／サービスを統合し機能を拡張する拡張性があることが含まれる。
【００１０】
[0016]  図１〜図３および関連する説明では、本発明の例を実施することができる種々の動作環境の論述を行う。しかしながら、図１〜図３に関して例示し論述するデバイスおよびシステムは、例(example)であることおよび例示(illustration)を目的とするに限り、本明細書において説明する本発明の例を実施するために利用することができる多数のコンピューティング・デバイスの構成を限定するのではない。
【００１１】
[0017]  図１は、コンピューティング・デバイス１０２、例えば、本開示の例を実施することができる移動体処理デバイスの物理コンポーネントを示すブロック図である。数ある例の中でもとりわけ、コンピューティング・デバイス１０２は、例示的なコンテンツ選択アプリケーション／サービスの実行に合わせて構成された例示的なコンピューティング・デバイスとしてもよい。基本的な構成において、コンピューティング・デバイス１０２は少なくとも１つの処理ユニット１０４とシステム・メモリー１０６とを含むことができる。コンピューティング・デバイスの構成およびタイプに応じて、システム・メモリー１０６は、揮発性ストレージ（例えば、ランダム・アクセス・メモリー）、不揮発性ストレージ（例えば、リード・オンリー・メモリー）、フラッシュ・メモリー、またはこのようなメモリーの任意の組み合わせを含むことができるが、これらに限定されるのではない。システム・メモリー１０６は、オペレーティング・システム１０７と、ＩＯマネージャ１２４、他のユーティリティ１２６、およびアプリケーション１２８のような、ソフトウェア・プログラム／モジュール１２０を実行するのに適した１つ以上のプログラム・モジュール１０８とを含むことができる。例として、システム・メモリー１０６は、実行のための命令を格納してもよい。システム・メモリー１０６の他の例では、アプリケーションに関連するデーターを格納してもよい。オペレーティング・システム１０７は、例えば、コンピューティング・デバイス１０２の動作を制御するのに適したものでもよい。更に、本発明の例は、グラフィクス・ライブラリー、他のオペレーティング・システム、または任意の他のアプリケーション・プログラムと併せて実施することもでき、いずれの特定のアプリケーションにもシステムにも限定されない。この基本的構成は、図１において、破線１２２の内側にあるコンポーネントによって例示されている。コンピューティング・デバイス１０２は、追加の処理機能(feature)または機能(functionality)も有することができる。例えば、コンピューティング・デバイス１０２は、例えば、磁気ディスク、光ディスク、またはテープのような、追加のデーター記憶デバイス（リムーバブルおよび／または非リムーバブル）も含んでもよい。このような追加のストレージは、図１では、リムーバブル記憶デバイス１０９および非リムーバブル記憶デバイス１１０によって例示されている。
【００１２】
[0018]  前述のように、複数のプログラム・モジュールおよびデーター・ファイルをシステム・メモリー１０６に格納することができる。処理ユニット１０４上で実行している間、プログラム・モジュール１０８（例えば、入力／出力（Ｉ／Ｏ）マネージャ１２４、他のユーティリティ１２６、およびアプリケーション１２８）は、本開示全体にわたって説明する動作の段階の１つ以上を含むがこれらに限定されないプロセスを実行することができる。本発明の例にしたがって使用することができる他のプログラム・モジュールには、電子メールおよび連絡先(contacts)アプリケーション、文書処理アプリケーション、表計算アプリケーション、データーベース・アプリケーション、スライド・プレゼンテーション・アプリケーション、描画またはコンピューター支援アプリケーション・プログラム、写真編集アプリケーション、オーサリング・アプリケーション等が含まれてもよい。
【００１３】
[0019]  更に、本発明の例は、電子回路においても実施することができる。電子回路には、ディスクリート電子エレメント、論理ゲートを内蔵するパッケージ型または集積電子チップ、マイクロプロセッサーを利用する回路、あるいは電子エレメントまたはマイクロプロセッサーを内蔵する単一チップが含まれる。例えば、本発明の例は、システム・オン・チップ（ＳＯＣ：system-on-a-chip)によって実施することもでき、この場合、図１に示すコンポーネントの各々または多くを１つの集積回路上に集積することができる。このようなＳＯＣデバイスは、１つ以上の処理ユニット、グラフィクス・ユニット、通信ユニット、システム仮想化ユニット、および種々のアプリケーション機能を含むことができ、これらの全てがチップ基板上に、１つの集積回路として、集積される（または「焼き付けられる」）。ＳＯＣによって動作するとき、本明細書において説明する機能は、コンピューティング・デバイス１０２の他のコンポーネントと共に１つの集積回路（チップ）上に集積された特定用途ロジックによって動作することもできる。また、本開示の例は、例えば、ＡＮＤ、ＯＲ、またはＮＯＴのような論理演算を実行することができる他の技術を使用して実施することもでき、他の技術には 力学、光学、流体、および量子技術が含まれるがこれらに限定されるのではない。加えて、本発明の例は、汎用コンピューター内、あるいは任意の他の回路またはシステムにおいても実施することができる。
【００１４】
[0020]  また、コンピューティング・デバイス１０２は、キーボード、マウス、ペン、音響入力デバイス、音声入力／認識用デバイス、タッチ入力デバイス等のような、１つ以上の入力デバイス（１つまたは複数）１１２も有することができる。ディスプレイ、スピーカー、プリンター等のような出力デバイス（１つまたは複数）１１４も含むことができる。以上のデバイスは例であり、他のものも使用してもよい。コンピューティング・デバイス１０４は、他のコンピューティング・デバイス１１８との通信を可能にする１つ以上の通信接続１１６を含むことができる。適した通信接続１１６の例には、ＲＦ送信機、受信樹、および／または送受信回路、ユニバーサル・シリアル・バス（ＵＳＢ）、パラレル・ポート、および／またはシリアル・ポートが含まれるが、これらに限定されるのではない。
【００１５】
[0021]  コンピューター読み取り可能媒体という用語は、本願において使用する場合、コンピューター記憶媒体を含んでもよい。コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含んでもよく、コンピューター読み取り可能命令、データー構造、またはプログラム・モジュールのような情報の格納のための任意の方法または技術で実現される。システム・メモリー１０６、リムーバブル記憶デバイス１０９、および非リムーバブル記憶デバイス１１０は、全てコンピューター記憶媒体の例である（即ち、メモリー・ストレージ）。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、電子的消去可能リード・オンリー・メモリー（ＥＥＰＲＯＭ）、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいは情報を格納するために使用することができ、コンピューティング・デバイス１０２によってアクセスすることができる任意の他の製品を含んでもよい。任意のこのようなコンピューター記憶媒体は、コンピューティング・デバイス１０２の一部であってもよい。コンピューター記憶媒体は、搬送波や、他の伝搬または変調データー信号を含まない。
【００１６】
[0022]  通信媒体は、搬送波のような変調データー信号、または他の移送メカニズムにおいて、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターによって具体化することができ、任意の情報配信媒体を含む。「変調データー信号」という用語は、その信号内に情報をエンコードするような方法で１つ以上の特性が設定または変更されている信号を記述することができる。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体と、音響、高周波（ＲＦ）、赤外線、または他のワイヤレス媒体のようなワイヤレス媒体とを含むことができる。
【００１７】
[0023]  図２Ａおよび図２Ｂは、本発明の例を実施することができる移動体コンピューティング・デバイス２００、例えば、移動体電話機、スマート・フォーン、パーソナル・データー・アシスタント、タブレット・パーソナル・コンピューター、ファブレット(phablet)、スレート(slate)、ラップトップ・コンピューター等を示す。移動体コンピューティング・デバイス２００は、例示的なコンテンツ選択アプリケーション／サービスの実行に合わせて構成された例示的なコンピューティング・デバイスであるとして差し支えない。移動体コンピューティング・デバイス２００のようなコンピューティング・デバイス上で実行するアプリケーションのために、アプリケーション・コマンド・コントロール(application command control)を設けることができる。アプリケーション・コマンド・コントロールは、ユーザー・インターフェース（ＵＩ）またはグラフィカル・ユーザー・インターフェース（ＧＵＩ）を通じてアプリケーションと共に使用するためのコマンドの提示および制御に関係する。一例では、アプリケーション・コマンド・コントロールは、１つのアプリケーションに対応する(work with)ように特定的にプログラミングすることができる。他の例では、アプリケーション・コマンド・コントロールは、１つよりも多いアプリケーションにまたがって対応するようにプログラミングすることもできる。図２Ａを参照すると、本例を実装するための移動体コンピューティング・デバイス２００の一例が示されている。基本的な構造において、移動体コンピューティング・デバイス２００は、入力エレメントおよび出力エレメントの双方を有するハンドヘルド・コンピューターである。移動体コンピューティング・デバイス２００は、通例、ディスプレイ２０５と、ユーザーが情報を移動体コンピューティング・デバイス２００に入力することを可能にする１つ以上の入力ボタン２１０とを含む。移動体コンピューティング・デバイス２００のディスプレイ２０５は、入力デバイスとして機能することもできる（例えば、タッチ・スクリーン・ディスプレイ）。随意の側面入力エレメント２１５が含まれる場合、更に他のユーザー入力を可能にする。側面入力エレメント２１５は、回転スイッチ、ボタン、または任意の他のタイプの手動入力エレメントであってもよい。代替例では、移動体コンピューティング・デバイス２００はもっと多くの入力エレメントまたはもっと少ない入力エレメントを組み込むこともできる。例えば、ディスプレイ２０５は、ある例では、タッチ・スクリーンでなくてもよい。更に他の代替例では、移動体コンピューティング・デバイス２００は、セルラー・フォンのような、携帯用電話システムである。また、移動体コンピューティング・デバイス２００は、随意のキーパッド２３５も含んでもよい。随意のキーパッド２３５は、物理キーパッド、あるいはタッチ・スクリーン・ディスプレイまたは任意の他のソフトウェア入力パネル（ＳＩＰ）上に生成される「ソフト」キーパッドであってもよい。種々の例において、出力エレメントは、ＧＵＩを示すためのディスプレイ２０５、視覚指示器２２０（例えば、発光ダイオード）、および／または音響変換器２２５（例えば、スピーカー）を含む。ある例では、��動体コンピューティング・デバイス２００は、ユーザーに触覚フィードバックを供給するために振動変換器を内蔵する。更に他の例では、移動体コンピューティング・デバイス２００は、オーディオ入力（例えば、マイクロフォン・ジャック）、オーディオ出力（例えば、ヘッドホン・ジャック）、および信号を外部デバイスに送るためまたは信号を外部デバイスから受信するためのビデオ出力（例えば、ＨＤＭＩ（登録商標）ポート）のような、入力および／または出力ポートを内蔵する。
【００１８】
[0024]  図２Ｂは、移動体コンピューティング・デバイスの一例のアーキテクチャを示すブロック図である。即ち、移動体コンピューティング・デバイス２００は、いくつかの例を実装するためにシステム（即ち、アーキテクチャ）２０２を内蔵することができる。一例では、システム２０２は、１つ以上のアプリケーション（例えば、ブラウザー、電子メール、カレンダー管理(calendaring)、連絡先管理(contact manager)、メッセージング・クライアント、ゲーム、およびメディア・クライアント／プレーヤー）を実行することができる「スマート・フォーン」として実装される。ある例では、システム２０２は、統合パーソナル・デジタル・アシスタント（ＰＤＡ）、タブレット、およびワイヤレス・フォンのようなコンピューティング・デバイスとして統合される。
【００１９】
[0025]  １つ以上のアプリケーション・プログラム２６６をメモリー２６２にロードし、オペレーティング・システム２６４上でまたはオペレーティング・システム２６４と連携して実行することができる。アプリケーション・プログラムの例には、発呼(phone dialer)プログラム、電子メール・プログラム、個人情報管理（ＰＩＭ）プログラム、文書処理プログラム、表計算プログラム、インターネット・ブラウザー・プログラム、メッセージング・プログラム等が含まれる。また、システム２０２は、メモリー２６２内部に不揮発性記憶エリア２６８も含む。不揮発性記憶エリア２６８は、システム２０２の電源が落ちても失われてはならない永続的情報を格納するために使用することができる。アプリケーション・プログラム２６６は、電子メール・アプリケーションによって使用される電子メールまたはその他のメッセージ等というような情報を使用し、不揮発性記憶エリア２６８に格納することができる。また、同期アプリケーション(図示せず）もシステム２０２に内在し(reside)、不揮発性記憶エリア２６８内に格納されている情報を、ホスト・コンピューターにおいて格納されている対応する情報を同期させ続けるために、ホスト・コンピューターに内在する対応する同期アプリケーションと相互作用するようにプログラミングされている。認められるであろうが、他のアプリケーションもメモリー２６２にロードし、本明細書において説明する移動体コンピューティング・デバイス（例えば、システム２０２）上で実行させることができる。
【００２０】
[0026]  システム２０２は、電源２７０を有する。電源２７０は、１つ以上のバッテリとして実装されてもよい。更に、電源２７０は、ＡＣアダプター、あるいはバッテリを補充または再充電する給電ドッキング・クレードル(powered docking cradle)のような、外部電源(power source)を含んでもよい。
【００２１】
[0027]  システム２０２は、システム２０２と１つ以上の周辺デバイスとの間における接続(connectivity)をし易くする機能(function)を実行する周辺デバイス・ポート２３０を含んでもよい。周辺デバイス・ポート２３０への送信および周辺デバイス・ポート２３０からの送信は、オペレーティング・システム（ＯＳ）２６４の制御下で行われる。言い換えると、周辺デバイス・ポート２３０によって受信される通信は、オペレーティング・システム２６４を通じて、アプリケーション・プログラム２６６に広める(disseminate)こと、およびその逆が可能である。
【００２２】
[0028]  また、システム２０２は無線インターフェース・レイヤ２７２も含むことができる。無線インターフェース・レイヤ２７２は、無線周波数通信を送信および受信する機能(function)を実行する。無線インターフェース・レイヤ２７２は、通信事業者またはサービス提供者を介したシステム２０２と「外部世界」との間におけるワイヤレス接続をし易くする。無線インターフェース・レイヤ２７２へおよびからの送信は、オペレーティング・システム２６４の制御下で行われる。言い換えると、無線インターフェース・レイヤ２７２によって受信された通信は、オペレーティング・システム２６４を通じて、アプリケーション・プログラム２６６に広めること、およびその逆が可能である。
【００２３】
[0029]  視覚指示器２２０は、視覚通知を供給するために使用することができ、および／または音響インターフェース２７４は、音響変換器２２５を介して可聴通知を生成する（移動体コンピューティング・デバイス２００の説明において説明したように）ために使用することができる。図示する例では、視覚指示器２２０は発光ダイオード（ＬＥＤ）であり、音響変換器２２５はスピーカーである。これらのデバイスは、電源２７０に直接結合することができ、プロセッサー２６０および他のコンポーネントがバッテリ電源を節約するために遮断されるかもしれない場合であっても、 有効化されているときには、通知メカニズムによって指令される(dictated)期間だけ動作状態に留まるようにすることができる。ＬＥＤは、デバイスの給電ステータス(powered-on status)を示すために、ユーザーが対応策を取るまで無期限に動作状態に留まるようにプログラミングすることができる。音響インターフェース２７４は、可聴信号をユーザーに供給するため、および可聴信号をユーザーから受信するために使用される。例えば、音響変換器２２５（図２Ａに示す）に結合されることに加えて、音響インターフェース２７４は、電話の会話を容易にするためというように、マイクロフォンに結合して可聴入力を受信することもできる。本発明の例によれば、マイクロフォンは、通知の制御を容易にするためにオーディオ・センサとしても機能することができる。これについては以下で説明する。更に、システム２０２は、ビデオ・インターフェース２７６も含むことができる。ビデオ・インターフェース２７６は、内蔵カメラ２３０の動作が、静止画像、ビデオ・ストリーム等を記録することを可能にする。
【００２４】
[0030]  システム２０２を実装する移動体コンピューティング・デバイス２００は、追加の処理機能(features)または機能(functionality)を有することもできる。例えば、移動体コンピューティング・デバイス２００は、磁気ディスク、光ディスク、またはテープのような、追加のデーター記憶デバイス（リムーバブルおよび／または非リムーバブル）を含んでもよい。このような追加のストレージは、図２Ｂでは、不揮発性記憶エリア２６８によって例示されている。
【００２５】
[0031]  移動体コンピューティング・デバイス２００によって生成または取り込まれシステム２０２を通じて格納されたデーター／情報は、前述のように、ローカルに移動体コンピューティング・デバイス２００上に格納されてもよく、あるいはデーターは任意の数の記憶媒体上に格納されてもよい。これらの記憶媒体は、無線インターフェース・レイヤ２７２を介して、または移動体コンピューティング・デバイス２００と、この移動体コンピューティング・デバイス２００に関連する別のコンピューティング・デバイス、例えば、インターネットのような分散型コンピューティング・ネットワークにおけるサーバー・コンピューターとの間の有線接続を介して、デバイスによってアクセスすることができる。認められるであろうが、このようなデーター／情報には、移動体コンピューティング・デバイス２００によって無線インターフェース・レイヤ２７２を介してアクセスすることができ、または分散型コンピューティング・ネットワークを通じてアクセスすることができる。同様に、このようなデーター／情報は、電子メールおよび連携データー／情報共有システムを含む、周知のデーター／情報転送および記憶手段による格納および使用のために、コンピューティング・デバイス間で容易に転送することができる。
【００２６】
[0032]  図３は、前述のように、記憶システム上のターゲット・データーに信頼性高くアクセスし、１つ以上のクライアント・デバイスに対する通信障害に対処するアプリケーションを提供するためのシステムのアーキテクチャの一例を示す。図３のシステムは、例示的なコンテンツ選択アプリケーション／サービスの実行に合わせて構成された例示的なシステムとして差し支えない。プログラミング・モジュール１０８および／またはアプリケーション１２０ならびにストレージ／メモリー（図１において説明した）によってアクセスされ、相互作用を受け、これらと関連して編集されるターゲット・データーは、異なる通信チャネルまたは他のタイプのストレージに格納されてもよい。例えば、ディレクトリー・サービス３３２、ウェブ・ポータル３２４、メールボックス・サービス３２６、インスタント・メッセージング・ストア３２８、またはソーシャル・ネットワーキング・サイト３３０、アプリケーション１２８、ＩＯマネージャ１２４、他のユーティリティ１２６を使用して、種々の文書を格納することができ、記憶システムは、本明細書において説明するようなデーター利用を可能にするために、これらのタイプのシステム等の内任意のものを使用することができる。サーバー３２０は、通常のコンピューティング・デバイス１０２および移動体デバイス（１つまたは複数）２００上で動作するクライアントによるネットワーク３１５を通じた使用のために、記憶システムを提供することができる。一例として、ネットワーク３１５は、インターネット、あるいは任意の他のタイプのローカルまたはワイド・エリア・ネットワークを構成するのでもよく、ネットワーク３１５に接続するために、クライアント・ノードが実装されてもよい。クライアント・ノードの例には、パーソナル・コンピューター、タブレット・コンピューティング・デバイス、および／または移動体コンピューティング・デバイス２００（例えば、移動体処理デバイス）において／によって具体化されるコンピューティング・デバイス１０２が含まれるが、これらに限定されるのではない。一例として、クライアント・ノードは、ワイヤレス・ネットワーク接続（例えば、ＷｉＦｉ接続、Ｂｌｕｅｔｏｏｔｈ（登録商標）等）を使用して、ネットワーク３１５に接続してもよい。しかしながら、本明細書において説明する例は、ハードワイヤ接続を介してネットワーク３１５に接続するように広げてもよい。クライアント・コンピューティング・デバイス１０２または２００のこれらの例はいずれも、ストア３１６からコンテンツを入手することができる。
【００２７】
[0033]  図４は、本開示の態様を実施することができるコンテンツ選択処理に関する例示的な方法４００である。一例として、方法４００は、図１〜図３に示したような、例示的な処理デバイスおよび／またはシステムによって実行することができる。複数の例(examples)では、方法４００は、動作、プログラム、または命令を格納し実行するように構成された少なくとも１つのプロセッサーを備えるデバイス上で実行することができる。方法４００において実行される動作は、数ある例の中でもとりわけ、コンピューター・プログラム、アプリケーション・プログラミング・インターフェース（ＡＰＩ）、ニューラル・ネットワーク、あるいは機械学習処理を実行するシステムおよび／またはサービスによって実行される動作に対応することができる。一例として、方法４００において実行される処理動作は、１つ以上のハードウェア・コンポーネントによって実行されてもよい。他の例では、方法４００において実行される処理動作は、１つ以上のソフトウェア・コンポーネントによって実行されてもよい。ある例では、方法４００において実行される処理動作は、複数のアプリケーション／サービス、デバイス、知識リソース等にアクセスすることができるウェブ・サービスに関連する１つ以上のアプリケーション／サービスによって実行されてもよい。代替例では、方法４００において説明する処理動作は、分散型ネットワークを通じて接続された１つ以上のコンポーネントによって、例えば、（図６の）システム６００において説明したように、実施されてもよい。方法４００は、クライアント・コンピューティング・デバイスの観点から書かれているが、特許請求する発明は、クライアント・デバイス、サーバー・デバイス、および／または複数のコンピューティング・デバイスを備えるシステムの観点から書かれた実施形態に広げることができる。
【００２８】
[0034]  方法４００は、処理動作４０２において開始し、ここで１つ以上のアプリケーションがコンピューティング・デバイス上で実行している。コンピューティング・デバイスの例については、図１〜図３の説明において既に示した。コンピューティング・デバイスの更に他の例については、図６の説明において後に示す（例えば、処理デバイス６０２）。一例では、コンピューティング・デバイスは、移動体フォン、タブレット、ラップトップ、ウェアラブル・デバイス等のような、移動体デバイスである。
【００２９】
[0035]  コンピューティング・デバイスは、１つ以上のアプリケーション／サービスを実行していてもよい（処理動作４０２）。コンテンツがアプリケーション／サービス・プロバイダーによって直接提供されるのか、または他のリソースからアクセスされるのかには関係なく、アプリケーション・サービスが、コンテンツを含む任意のタイプのアプリケーションであってもよいように、適用可能な例はアプリケーション／サービスのタイプを限定しない。アプリケーション／サービスの例には、オペレーティング・システム（ＯＳ）サービス、例えば、コンピューティング・デバイスのホーム画面上にＯＳコンテンツを提供するサービスが含まれる。ある場合には、アプリケーション／サービスのコンテンツが、そのコンテンツにアクセスするために使用されるアプリケーション／サービス内から選択可能ではないこともある。例えば、実行するアプリケーション／サービスが選択／コピー／ペースト機能を保有しない場合もある。
【００３０】
[0036]  フローは処理動作４０４に進むことができ、ここで、例示のコンテンツ選択アプリケーションを有効化する入力を受け取る。例示的なコンテンツ選択アプリケーション／サービスは、他の実行中のアプリケーションとインターフェースして、コンテンツを選択／コピーしようとするときに、多数のアクション（例えば、クリック／ドラッグ／選択／コピー）を実行する必要なく、素早く効率的なコンテンツの選択を可能にするように構成されている。コンテンツ選択アプリケーションは、コンテンツのブロック部分を識別し、ユーザーがコンテンツの１つ以上のブロック部分を効率的に選択することを可能にするユーザー・インターフェース処理機能(features)を提供するように構成されている。また、コンテンツ選択アプリケーションは、コンピューティング・デバイス（コンテンツ選択アプリケーションおよび／または他のアプリケーション／サービスを実行している）とインターフェースして、コンテンツ選択アプリケーションへのアクセスのための処理効率を高めるように構成されている。例示的なコンテンツ選択アプリケーションの例は、少なくとも図５Ａ〜図５Ｄに示されている。
【００３１】
[0037]  処理動作４０４において、例示的なコンテンツ選択アプリケーションの有効化は、コンテンツ選択アプリケーションを起動する(launch)する 例（例えば、未だアクティブでないとき）、またはコンテンツ選択アプリケーションの表示を呼び戻す例（例えば、コンテンツ選択アプリケーションが既に実行している）を含んでもよい。コンテンツ選択アプリケーションを有効化するための入力の受け取り（処理動作４０４）は、コンピューティング・デバイスとの相互作用を通じて、コンテンツ選択アプリケーションにアクセスする意図を検出する動作を含む。受け取られるとコンテンツ選択アプリケーションを有効化する意図を示すとしてもよい入力の例には、以下が含まれるがこれらに限定されるのではない。タッチまたはデバイス入力によるコンテンツ選択アプリケーションのアプリケーション／サービス・アイコンの選択、コンテンツ選択アプリケーションへのアクセスを要求する話し言葉(spoken utterance)の受信、実行中のアプリケーション／サービス内に表示されるユーザー・インターフェース・アドオンの選択、およびコンピューティング・デバイスのコンポーネントとの相互作用（例えば、ジェスチャ、ホット・キー(hot key)選択、ボタンの押下）。一例では、移動体コンピューティング・デバイスのホーム・キーを押し続けるというようなアクションが、コンテンツ選択アプリケーションのユーザー・インターフェースの有効化に対する誘起であってもよい。実例をあげると、例示的なコンテンツ選択アプリケーションがＯＳの背景において実行していてもよく、コンピューティング・デバイスを通じて受け取られた入力が、ＯＳの前景内においてコンテンツ選択アプリケーションのユーザー・インターフェースの表示を誘起するのでもよい。図５Ａおよび付随する説明を参照すると、コンピューティング・デバイス上のボタンが、コンテンツ選択のための例示的なユーザー・インターフェースの表示を誘起する例を更に示す。コンテンツ選択アプリケーションが実行しているが表示されていない場合（例えば、ＯＳの背景において）、例えば、あるアクションがコンテンツ選択アプリケーションの表示を誘起する場合、コンテンツ選択アプリケーションは、コンピューティング・デバイスを通じて受け取られた入力を検出するように構成されてもよい。
【００３２】
[0038]  フローは、処理動作４０６に進むことができ、ここで、コンピューティング・デバイスは実行中のアプリケーションのレイヤード・ビューを表示する。レイヤード・ビューは、少なくとも１つの実行中のアプリケーションの（処理動作４０２）とコンテンツ選択アプリケーションの提示(presentation)を含むことができる。レイヤード・ビューの一例では、コンテンツ選択アプリケーションが、コンテンツの複数の部分(portions)を構成する実行中のアプリケーションを表す他のレイヤの上に形成されるレイヤ内に表示される。例示的なレイヤード・ビューの実例(illustrative example)については、図５Bおよび図５Cを参照のこと。
【００３３】
[0039]  一例では、例示的なレイヤード・ビューは、以下の処理動作に基づいて、検出された前景アプリケーションの上に、コンテンツ選択のための例示的なユーザー・インターフェースを提示する。検出された前景アプリケーションのユーザー・インターフェース（ＵＩ）ツリーにアクセスし、評価する。検出された前景アプリケーションに対するＵＩツリーの評価は、検出された前景アプリケーションに関連する複数のＵＩエレメントを識別することを含むことができる。識別されたＵＩエレメントから、ユーザーによって選択される可能性が最も高いＵＩエレメントの部分集合を識別する。ユーザーがＵＩエレメントを選択する可能性を検出する際、数ある例の中でもとりわけ、ユーザー・インターフェース・エレメントに関連するコンテンツのタイプを評価するモデリングおよび／または統計的分析を応用することができる。実例をあげると、ナビゲーション関連エレメント、画像ボタン等に関連するＵＩエレメントは除外してもよい。何故なら、このようなＵＩエレメントは、ユーザーによって選択される可能性は高くないからである。更に、例示的なコンテンツ選択アプリケーションは、検出された前景アプリケーションから識別されたＵＩエレメントの部分集合において、各ＵＩエレメント上に、インタラクティブＵＩエレメントを作成するように構成することができる。これによって、ユーザーは、検出された前景アプリケーションのＵＩエレメントとの一貫性を維持しつつ、コンテンツ選択のためのユーザー・インターフェースを通じて、コンテンツの特定部分を選択することが可能になる。インタラクティブＵＩエレメントを作成するために、検出された前景アプリケーションのＵＩエレメントの位置および寸法を複製し、検出された前景アプリケーションのＵＩエレメント上に位置する(overlaying)インタラクティブＵＩエレメントに適用する。次いで、インタラクティブＵＩエレメントにインタラクティブ性(interactivity)を添付し、コンテンツ選択のためのユーザー・インターフェースを通じて、インタラクティブＵＩエレメントにアクセスすることが可能になる。
【００３４】
[0040]  コンテンツ選択アプリケーションは、コンピューティング・デバイスの前景において実行しているアプリケーション（即ち、前景アプリケーション）を検出するように構成することができる。コンテンツ選択アプリケーションが有効化されると、コンテンツ選択アプリケーションは、検出された前景アプリケーション上に重ね合わされ(layered)、こうすることによって、前景アプリケーションのコンテンツを見てコンテンツにアクセスしながら、コンテンツ選択アプリケーションの機能にアクセスする能力を、ユーザーに付与する。例示的なコンテンツ選択アプリケーションは、コンピューティング・デバイスおよび／または他の実行中のアプリケーションとインターフェースして、コンピューティング・デバイスの前景において実行されるアプリケーションを検出するように構成することができる。一例として、コンテンツ選択アプリケーションは、コンピューティング・デバイスの前景において実行しているアプリケーションを検出するために、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を採用してもよい。
【００３５】
[0041]  コンテンツ選択アプリケーションの実行中に（例えば、レイヤード・ビューにおいて提示される）、方法４００のフローは判断動作４０８に進むことができ、ここで、検出された前景アプリケーションからコンテンツの１つ以上のブロック部分を識別するために、ユーザー・インターフェース（ＵＩ）の処理機能が選択されたか否か判定する。コンテンツ選択アプリケーションは、検出された前景アプリケーションからコンテンツのブロック部分の識別を可能にするユーザー・インターフェース処理機能を提供するように構成されている。コンテンツのブロック部分の識別のための例示的なＵＩ処理機能の例を図５Ｂおよび図５Ｄに示し、本明細書において後に説明する。前景アプリケーションからコンテンツのブロック部分を識別するための例示的なＵＩ処理機能 (feature) の選択は、任意の方法で行うことができ、数ある例の中でもとりわけ、タップ・ジェスチャ、コンポーネント／デバイスを通じた選択、および話し言葉の受信を含むが、これらに限定されるのではない。一例では、タップ・ジェスチャを使用して例示的なＵＩ処理機能を選択することができ、タップ・ジェスチャは１回の不連続的なアクション（例えば、クリック）である。
【００３６】
[0042]  コンテンツのブロック部分は、コンテンツの１つ以上のスニペットを含む(contain)ことができる。コンテンツのスニペットは、１つ以上の単語／文字／数値／アイコン等を含むことができる。更に他の例では、コンテンツのスニペットは、画像、ビデオ、オーディオ、手書き入力等を含む(include)他のメディアを含む(comprise)こともできる。テキスト部分が選択されるという実例では、コンテンツのブロック部分はコンテンツの２つ以上のスニペットを含むこともできる。あるいは、コンテンツのブロック部分は、コンテンツ・タイプの任意の組み合わせ、例えば、テキスト・コンテンツのスニペットおよびメディア・コンテンツのスニペットを含むこともできる。ある場合には、コンテンツのスニペットは、例示的なコンテンツ選択アプリケーション以外のアプリケーションを使用するときには、選択可能でなくてもよい。少なくとも１つの例では、コンテンツのブロック部分（例示的なコンテンツ選択アプリケーションを通じて選択された）が、コンテンツ選択アプリケーション以外のアプリケーションでは選択可能でない少なくとも１つのコンテンツのスニペットを含んでもよい。
【００３７】
[0043]  例示的なコンテンツ選択アプリケーションは、コンテンツのブロック部分を識別するための処理動作を実行するように構成されている。実例をあげると、コンテンツ選択アプリケーションは、検出された前景アプリケーションとインターフェースして、以下の内任意のものを含む動作を実行するように構成することができる。数ある例の中でもとりわけ、検出された前景アプリケーションに関連するプログラム／ソース・コードにアクセスする、前景アプリケーション内においてフォーカス（例えば、特定のコンテンツ上の）を検出する、プログラム／ソース・コードを解析してコンテンツの部分を識別する（例えば、コンテンツのタイプ、区切り文字を評価する、言語理解処理を適用する）、コンテンツのブロック部分のサイズを識別する、コンテンツのブロック部分に対する境界箱のサイズを識別する、境界箱のエレメントを識別する（例えば、コンテンツの例示的なブロック部分に複数のコンテンツのスニペットが含まれる場合）、コンテンツの例示的なブロック部分を区切るために境界箱を生成する（例えば、予め描画する）、コンテンツの例示的なブロック部分をコピーする（例えば、ＵＩ処理機能の選択に基づいて）。
【００３８】
[0044]  複数の例では、選択不可コンテンツ（例えば、テキスト、メディア・オブジェクト等）は、そのコンテンツを提供している供給源(source)を調べることによって識別することもできる。実例をあげると、コンテンツ提供に関連するソース・コードを解析／クローリング／評価するための処理動作を実行して、コンテンツの部分を識別することができる。コンテンツが選択可能でないと識別された場合、バック・エンド上で、コンテンツ選択のための例示的なユーザー・インターフェースを通じて、コンテンツの一部分を提供することを可能にする更に他の処理動作を実行することができる。実例をあげると、コンテンツ選択のための例示的なユーザー・インターフェース内にコンテンツのブロック部分を提示する選択／コピー／ペースト動作を自動的に実行することができる。ある例では、コンテンツ選択のためのユーザー・インターフェースを通じてコンテンツの部分を表示する前に、コンテンツのその部分を修正する処理動作を実行することもできる。実例をあげると、コンテンツがフォーマットされていなくてもよく、あるいは綴りの間違いまたは前景アプリケーションにおける表示を妨げる誤りを含んでもよく、これらを操作して、例示的なコンテンツ選択アプリケーションを使用するときにユーザーの体験を改善することができる。例示的なコンテンツ選択アプリケーションは、コンテンツ選択アプリケーションの拡張可能性に対応する(provide)ために他のアプリケーション／サービスとインターフェースして、数ある例の中でもとりわけ、検出された前景アプリケーションとインターフェースするための処理動作、および検出された前景アプリケーションから選択不可コンテンツを識別するための処理動作を含む、処理動作を実行することもできる。
【００３９】
[0045]  コンテンツのブロック部分を識別するためのＵＩインターフェース処理機能が選択されないという実例では、フローはＮＯに分岐し、方法４００の処理は、以後の処理が受け入れられるまで、不動作状態のままでいる。コンテンツのブロック部分を識別するためのＵＩインターフェース処理機能が選択されたという実例では、フローはＹＥＳに分岐し、処理は動作４１０に進む。
【００４０】
[0046]  処理動作４１０において、コンテンツの１つ以上のブロック部分を識別する。一例では、処理動作４１０は、レイヤード・ビュー内において、前景アプリケーション内に存在するコンテンツの１つ以上のブロック部分を識別する動作を含む。コンテンツのブロック部分は、コンテンツ選択アプリケーション内におけるＵＩ処理機能（例えば、先に説明したインタラクティブＵＩ操作部(feature)）の選択に基づいて、識別することができる。識別（処理動作４１０）の視覚的な結果が、少なくとも図５Ｃに示されている。説明したコンテンツのブロック部分の識別のためのユーザー・インターフェース処理機能によって、例示的なコンテンツ選択アプリケーションは、ユーザーに手作業で複数の入力を入力させることなく、そしてコンピューティング・デバイスがこれら手作業の入力を処理する必要なく、コンテンツのブロック部分全体を選択する処理を自動化する。加えて、コンテンツの選択は、コンテンツのブロック部分を識別するための例示的なＵＩ機能を選択する１回のアクションに基づいて、コンテンツの複数のブロック部分を識別するように構成されている。一例では、この１回のアクションは、不連続的なジェスチャ／入力（例えば、タップまたはクリック）である。
【００４１】
[0047]  開示したコンテンツのブロック部分の識別は、「全選択」処理機能(feature)のような機能(functionality)に対して、 処理効率が向上し、ユーザーの対話処理（コンテンツ選択アプリケーションとの）が改善されるという技術的な利点を提供する。実例をあげると、アプリケーションからコンテンツを選択するために「全選択」機能(function)が使用される場合、コンテンツの全てが選択されるだけで、このコンテンツをいくつかのもっと小さいブロック部分に分解する柔軟性はユーザーに提供されない。ユーザーは、前景アプリケーションから、コンテンツの個々の部分を手作業で識別し選択する試みを行うことはできる。しかしながら、既に確認したように、このプロセスは厄介であり、このようなタスクを遂行するためには多数のアクションを実行することが必要となる。
【００４２】
[0048]  加えて、ブロック部分コンテンツの識別についてここで説明する機能（更に、続いてコンテンツのブロック部分の選択を可能にする機能）は、前景において実行するアプリケーション／サービスが本来選択／コピー／ペースト機能を可能にしない例では有益である。例示的なコンテンツ選択アプリケーションは、検出された前景アプリケーションとインターフェースして、選択不可コンテンツの選択を可能にする。更に、例示的なコンテンツ選択アプリケーションは、検出された前景アプリケーションとインターフェースして、数ある処理機能の中でもとりわけ、他のアプリケーション／サービスでは利用することができない場合もある選択／コピー／ペースト機能を拡張する。更に、別の例では、例示的なコンテンツ選択アプリケーションは、ユーザーに表示されるユーザー・インターフェース操作部に優先順位を付けるように構成することもできる。少なくとも１つの例では、数ある例の中でもとりわけ、以下の内１つ以上に基づいて、コンテンツ選択ユーザー・インターフェースにおいて表示される１つ以上のユーザー・インターフェース操作部を動的に提示（または更新）することができる。選択されたコンテンツ（例えば、タイプ、フォーマット、コンテキスト等）、コンテンツの関連するメタデーター、コンテンツが選択されるアプリケーションのタイプ、およびクライアント・コンピューティング・デバイス上で実行している進行中のプロセスのタイプ。実例をあげると、コンテンツ選択アプリケーションが、テキスト・コンテンツのブロック部分がウェブ・ブラウザー・アプリケーションからコピーされていることを検出し、メッセージング・アプリケーション、電子メール・アプリケーション、および／または文書処理アプリケーションにおいて、そのコンテンツのブロック部分をペーストするためのユーザー・インターフェース機能を提示するのでもよい。
【００４３】
[0049]  コンテンツの例示的なブロック部分の識別は、境界箱を使用して、そのコンテンツのブロック部分を強調する動作を含む。既に説明したように、コンテンツのブロック部分は複数のコンテンツのスニペットを含むこともある。少なくとも１つの例では、コンテンツ選択アプリケーションによって生成される例示的な境界箱は、１つ以上の個々の境界ボックスを含んでもよく（そのコンテンツのブロック部分に対するもっと大きな境界箱内に）、個々の境界箱にコンテンツのスニペットを関連付けてもよい。ある例では、ユーザーがコンテンツのブロック部分から個々の境界箱を選択／コピーすることを選択してもよく、その結果、個々の境界箱が選択されることになる。これは、例えば、コンテンツ上でクリックし、コンテンツ周囲に境界箱を描画し、次いでコンテンツを選択する必要なく、コンテンツのブロック部分の特定の一部分(part)を選択するときにユーザーを補助することができる。
【００４４】
[0050]  フローは、判断動作４１２に進み、ここで、コンテンツのブロック部分の選択が行われたか否か判定する。既に説明したように、コンテンツ選択アプリケーションは、検出された前景アプリケーションからコンテンツのブロック部分を識別するように構成されている。一例では、ユーザーが、タップ・ジェスチャまたはクリック・ジェスチャのような、１回の不連続的なアクションによって、コンテンツのブロック部分を選択することもできる。実例をあげると、ユーザーが、コンテンツの識別されたブロック部分（またはブロック部分の個々の境界箱）上でタップすることによって入力を供給してもよく、その結果、コンテンツ選択アプリケーションがそのコンテンツのブロック部分を選択することになる。
【００４５】
[0051]  代替例では、ユーザーが、追加のアクション（例えば、コピー、タスク、電子メール共有）のためにＵＩ機能を選択してもよく、その結果、１つ以上の識別されたコンテンツのブロック部分が自動的に選択される。
【００４６】
[0052]  更に他の代替例では、コンテンツのブロック部分を識別するための例示的なＵＩ機能を選択するための１回のアクションが、連続的な１回のジェスチャ（例えば、押し続ける）であってもよい。これが行われる可能性があるのは、コンテンツ選択アプリケーションが、１回のアクションに基づいてブロック・コンテンツの部分を識別、選択、および／またはコピーするように構成される場合に、ユーザーが機能にアクセスすることを望むときである。実例をあげると、コンテンツのブロック部分の識別のための例示的なＵＩ操作部を押し下げる時間量が短い程、ユーザーが押し続けるジェスチャを実行する時間量が長い場合よりも、少ない数のコンテンツのブロック部分を識別、選択、および／またはコピーすることができる。
【００４７】
[0053]  コンテンツのブロック部分が選択されない場合、フローはＮＯに分岐し、方法４００の処理は、後続の処理が受け入れられるまで、不動作のままでいる。コンテンツのブロック部分が選択された場合、フローはＹＥＳに分岐し、処理は動作４１４に進む。処理動作４１４において、コンテンツ選択アプリケーションは、例えば、受け取ったユーザー入力に基づいて、例示的なコンテンツのブロック部分を選択する。コンテンツの選択されたブロック部分に関して、後続のアクションを行うことができる。
【００４８】
[0054]  選択されたコンテンツに対して、フローは判断動作４１６に進み、ここで、選択されたコンテンツに関して追加のアクションを要求する入力が受け取られたか否か判定する。追加のアクションが要求されない場合、フローはＮＯに分岐し、方法４００の処理は、後続の処理が受け入れられるまで不動作状態のままでいる。追加のアクションを要求する入力が受け取られた例では、フローはＹＥＳに分岐し、動作４１８に進む。
【００４９】
[0055]  処理動作４１８において、ユーザーから受け取った入力に基づいて、追加のアクションを実行する。コンテンツ選択アプリケーションは、選択されたコンテンツのための追加アクションへの素早いアクセスを可能にするユーザー・インターフェース機能を提供するように構成されている。追加アクションの例には、数ある例の中でもとりわけ、選択されたコンテンツをコピーする、選択されたコンテンツをタスク・リストに追加する、選択されたコンテンツを電子メールで送る、選択されたコンテンツを他のユーザー／アプリケーションと共有する、および選択されたコンテンツを編集することが含まれるが、これらに限定されるのではない。一例では、実行される追加アクションは、例えば、コンテンツの選択されたブロック部分をコピーする要求を受け取ったことに基づいて、コンテンツの選択されたブロック部分をコピーすることである。更に後続のアクションは、コンテンツのブロック部分をペーストする入力を受け取ったことに基づいて、コンテンツのブロック部分を他のアプリケーションにおいてペーストすることを含んでもよい。コンテンツ選択アプリケーションのための例示的なアプリケーション・コマンド・コントロールを示す図５Ａ〜図５Ｄおよび付随する説明を参照のこと。尚、本開示を理解する当業者であれば、コンテンツ選択のためのアプリケーション・コマンド・コントロールが様々に変化してもよいことは当然認められよう。実例をあげると、例示的なコンテンツ選択アプリケーションは、拡張可能な機能へのアクセスに対する処理効率を向上させつつ、コンテンツ選択アプリケーションの機能を拡張することができる追加のリソースとインターフェースするように構成することができる。
【００５０】
[0056]  図５Ａ〜図５Ｄは、本開示の態様を実施することができる例示的なコンテンツ選択アプリケーションに関連する処理について、例示的なユーザー・インターフェース・ビューを示す。図５Ａ〜図５Ｄに示すユーザー・インターフェース・ビューは、例示的なコンテンツ選択アプリケーション、およびコンテンツ選択アプリケーションと他のアプリケーション／サービスとの間における相互作用に関係して追加されたユーザー・インターフェース機能の例である。尚、本開示を理解する当業者であれば、本明細書において説明するユーザー・インターフェース・エレメントの提示は、本開示の趣旨を維持しつつ、様々に変化してもよいことは当然認められよう。
【００５１】
[0057]  図５Ａは、ユーザー・インターフェース・ビュー５００を示す。ユーザー・インターフェース・ビュー５００は、移動体コンピューティング・デバイス（たとえば、移動体フォン）上で実行する文書処理アプリケーション５０２のビューである。しかしながら、ここで説明する例は、全てのタイプのコンピューティング・デバイスに適用可能である。文書処理アプリケーションは、移動体コンピューティング・デバイス上で実行していることが検出された前景アプリケーションの例である。実行中、文書処理アプリケーション５０２は、コンテンツの部分を含む文書（”Cooking Recipe.doc”）を提示している。ユーザーは、移動体コンピューティング・デバイスのホーム・ボタン５０４を利用して、例示的なコンテンツ選択アプリケーションの有効化を誘起することができる。実例をあげると、ユーザーがホーム・ボタン５０４を押し続けるのでもよく、こうすると、例示的なレイヤード・ビュー（既に説明した通り）の一部として、コンテンツ選択アプリケーションの例示的なユーザー・インターフェースの表示を誘起することができる。代替例では、ここで説明するユーザー・インターフェース機能は、他のタイプのアプリケーションへのアドオンであってもよく、この場合、入力の受け取りが、コンテンツ選択に関連するユーザー・インターフェース操作部の表示を誘起することができる。他の代替例では、コンテンツ選択に関連するユーザー・インターフェース操作部の表示は、ここで説明するコンテンツ選択機能(funcionality)の提示を誘起する入力を受け取ることを必要としなくてもよい。実例をあげると、ここで説明するコンテンツ選択機能は、数ある例の中でもとりわけ、ウェブ・ブラウザー・アプリケーション、またはパーソナル・インテリジェンス・アシスタント・アプリケーションのような任意のアプリケーション内部に組み込むこともできる。
【００５２】
[0058]  図５Bは、ユーザー・インターフェース・ビュー５２０を示す。ユーザー・インターフェース・ビュー５２０は、文書処理アプリケーション５０２上に重ね合わされる例示的なコンテンツ選択アプリケーションのユーザー・インターフェースを含む、例示的なレイヤード・ビューを提示する。ユーザー・インターフェース・ビュー５２０は、移動体コンピューティング・デバイス上に提示されるレイヤード・ビューを示す。しかしながら、ここで説明する例は全てのタイプのコンピューティング・デバイスに適用可能である。コンテンツ選択アプリケーションは、アプリケーション・コマンド・コントロールのためのユーザー・インターフェース（ＵＩ）操作部を含み、文書処理アプリケーション５０２上に重ね合わされている。実例をあげると、メニュー５２２は、ユーザーが選択したコンテンツに利用することができる追加のアクションに関連する種々のＵＩ操作部を提示する。加えて、コンテンツ選択アプリケーションは、コンテンツのブロック部分の識別のためのＵＩ操作部５２４（例えば、「Ｔ」）も含む。ＵＩ操作部５２４を選択した結果が、ユーザー・インターフェース・ビュー５４０（図５Ｃ）に示されている。
【００５３】
[0059]  図５Ｃは、ユーザー・インターフェース・ビュー５４０を示す。ユーザー・インターフェース・ビュー５４０は、文書処理アプリケーション５０２上に重ね合わされた例示的なコンテンツ選択アプリケーションのユーザー・インターフェースを含む、例示的なレイヤード・ビューを提示する。ユーザー・インターフェース・ビュー５４０は、移動体コンピューティング・デバイス上に提示されたレイヤード・ビューを示す。しかしながら、ここで説明する例は、全てのタイプのコンピューティング・デバイスに適用可能である。ユーザー・インターフェース・ビュー５４０は、ユーザー・インターフェース・ビュー５２０（図５Ｂ）に示されたＵＩ操作部５２４の選択の例示的な結果を提示する。ＵＩ操作部５２４の選択は、文書処理アプリケーション５０２において提示されている文書に関連するコンテンツのブロック部分の識別を誘起する。実例をあげると、コンテンツの第１ブロック部分５４２が、方法４００において説明した処理動作に基づいて生成された第１境界箱によって識別される。コンテンツの第２ブロック部分５４８は、方法４００において説明した処理動作に基づいて生成された第２境界箱によって識別される。ユーザー・インターフェース・ビュー５４０において示すように、識別されたコンテンツのブロック部分は、コンテンツのブロック部分内においてコンテンツのスニペットを識別することができる複数の個々の境界箱を含むことができる。一例として、このような機能は、少なくとも第１個別境界箱５４４および第２個別境界箱５４６を含む、コンテンツの第１ブロック部分５４２に関して例示されている。尚、例示した例は、コンテンツの第１ブロック部分５４２内部にある追加の個別境界箱を示し、ユーザーはコンテンツのスニペットの選択のために、追加の個別境界箱を選択できることは認められてしかるべきである。例示した個別境界箱５４４および５４６は、各々、１行のテキストを含むことが示されているが、このような箱は、各々、複数のテキスト行（例えば、複数の行にわたる文章または節）を含んでもよいことは認められてしかるべきである。尚、コンテンツの第２ブロック部分５４８も複数の個別境界箱（番号を付けない）を含む(contain)ことは認められてしかるべきである。ユーザーは、コンテンツの１つ以上のブロック部分（または個々の境界箱）の選択を指示する入力を供給し、更に、追加のアクションのためにコンテンツ選択アプリケーションのメニュー５２２からＵＩ操作部を選択することができる。一例として、ユーザーは、選択したコンテンツ部分のコピーのためのＵＩ操作部５５０を選択する。以前の例において確認したように、コンテンツ選択アプリケーションは、コンテンツのそれぞれのブロックの個別性を維持しつつ、コンテンツの１つよりも多いブロック部分を同時に選択することを可能にする。更に、これは、連続的なジェスチャ選択（例えば、コンテンツのブロック部分全体を選択するために押し続ける、またはコンテンツを再度コピーするために複数のアクションを実行する）ことを必要とせずに、コンテンツの個々のブロック部分を再選択および／または再コピーすることも可能にする。ＵＩ操作部５５０の選択の結果を、ユーザー・イン���ーフェース・ビュー５６０（図５Ｄ）に例示する。
【００５４】
[0060]  図５Ｄは、ユーザー・インターフェース・ビュー５６０を示す。ユーザー・インターフェース・ビュー５６０は、移動体コンピューティング・デバイス（例えば、移動体フォン）上で実行しているメッセージング・アプリケーション５６２上に重ね合わせられた例示的なコンテンツ選択アプリケーションのユーザー・インターフェースを提示する他の例示的なレイヤード・ビューである。ユーザー・インターフェース・ビュー５６０は、ユーザー・インターフェース・ビュー５４０（図５Ｃ）に示したＵＩ操作部５５０の選択の例示的な結果を提示する。当業者であれば、メッセージング・アプリケーション５６２を起動または有効化するというような、メッセージング・アプリケーションにアクセスするためにユーザーが追加の手動アクションを行えることは、当然認められよう。他の例では、コンテンツ選択アプリケーションは、ユーザーが、選択したコンテンツに関して追加のアクションを行うときに、アプリケーション（例えば、メッセージング・アプリケーション５６２）を選択することを可能にするように構成することができる。ユーザー・インターフェース・ビュー５６０は、メッセージング・アプリケーション５６２においてユーザーがペースト動作を実行した結果を示す。処理デバイスのビュー５６０に示すように、文書処理アプリケーション５０２から選択されたコンテンツが、メッセージング・アプリケーション５６２においてペーストされている。一例では、ペースト動作は、ＵＩ操作部５６４の選択に基づいて行うことができる。実例をあげると、コンテンツ選択アプリケーションを含む(comprise)レイヤード・ビューは、メッセージング・アプリケーション５６２上に表示されたＵＩ操作部５６４を含む(include)ことができる。コンテンツが選択されたとき（例えば、図５Ｃにおいて説明したように、文書処理アプリケーション５０２から）、ユーザー・インターフェース・ビュー５６０におけるＵＩ操作部５６４の選択が、選択されたコンテンツをメッセージング・アプリケーション５６２にペーストする動作を誘起することができる。ある例では、コンテンツ選択アプリケーションは、コンテンツを新たなアプリケーションにペーストしたときに直ちに、コンテンツの特定のブロック部分に対して境界箱を表示するように構成することができる。他の例では、ユーザーが、コンテンツのブロック部分を再選択するジェスチャを行ってもよく(provide)、これが、コンテンツのブロック部分に対する境界箱の表示を誘起することもできる。
【００５５】
[0061]  ある代替例では、コンテンツを他のアプリケーションにペーストすることが、コンテンツのプレビューの表示を誘起することもできる。あるいは、コンテンツ選択アプリケーションを通じて提供されたコンテンツが他のアプリケーション（例えば、メッセージング・アプリケーション５６２）を通じて送信されるときに、コンテンツのブロック部分のプレビューを生成し表示することもできる。実例をあげると、ユーザーが、例示的なコンテンツのブロック部分を含むメッセージを送ることを選択した場合、送られるメッセージ（例えば、テキスト・メッセージ）において、このコンテンツのブロック部分をプレビューとして表示することができる。一例では、ユーザーが、コンテンツのブロック部分の全体表現を表示するために、プレビューを選択してもよい。
【００５６】
[0062]  図６は、本開示の態様を実施することができる１つ以上のコンピューティング・デバイス上に実装可能な例示的なシステム６００を示す。システム６００は、ログ・データー評価、およびこのログ・データー評価の結果に基づく後続の処理のための例示的なシステムであってもよい。システム６００のコンポーネントは、ハードウェア・コンポーネント、あるいはハードウェア・コンポーネント上に実装されるおよび／またはハードウェア・コンポーネントによって実行されるソフトウェアであってもよい。複数の例では、システム６００は、ハードウェア・コンポーネント（例えば、ＡＳＩＣ、ＯＳを実行する(execute/run)ために使用される他のデバイス）、およびハードウェア上で実行するソフトウェア・コンポーネント（例えば、アプリケーション、アプリケーション・プログラミング・インターフェース、モジュール、仮想機械、ランタイム・ライブラリー）の内任意のものを含むことができる。一例では、例示的なシステム６００は、ソフトウェア・コンポーネントを実行するための環境を提供し、動作するために設定された制約にしたがい、システム／処理デバイスのリソースまたは設備(facilities)を利用することができ、コンポーネントは１つ以上の処理デバイス上で実行するソフトウェア（例えば、アプリケーション、プログラム、モジュール）であってもよい。実例をあげると、ソフトウェア（例えば、アプリケーション、動作命令、モジュール）は、コンピューター、移動体デバイス（例えば、スマート・フォーン／電話機、タブレット）、および／または任意の他のタイプの電子デバイスのような、処理デバイス上で実行することができる。処理デバイス動作環境の一例として、図１〜図３の動作環境を参照のこと。システム６００の１つ以上のコンポーネントは、図４の説明において説明した少なくとも方法４００において説明し、更に図５Ａ〜図５Ｄの説明において説明した処理動作の内任意のものを実行するように構成することができる。他の例では、本明細書において開示したシステムのコンポーネントを複数のデバイスに跨がって拡散することもできる。例示的なシステム６００は、アプリケーション・コンポーネント６０６を含み、アプリケーション・コンポーネント６０６は、更に、アプリケーション／サービス・コンポーネント６０８、コンテンツ選択コンポーネント６１０、およびプラットフォーム・リソース・コンポーネント６１２を含み、これら確認したコンポーネントの各々は、１つ以上の追加のコンポーネントを含んでもよい。
【００５７】
[0063]  １つ以上のデーター・ストア／ストレージまたは他のメモリーをシステム６００と関連付けることができる。例えば、システム６００のコンポーネントが、それに関連付けられた１つ以上のストレージ（１つまたは複数）６１４（以下で説明する）を有してもよい。システム６００のコンポーネントに関連するデーターをそこに格納し、更にシステム６００のコンポーネントによって実行される処理動作／命令もそこに格納することができる。更に、システム６００のアプリケーション・コンポーネントが他のアプリケーション・サービスとインターフェースできることも示す。アプリケーション・サービスは、システム６００の１つ以上のコンポーネントの機能を拡張することができる任意のリソースであってもよい。アプリケーション・サービスは、数ある例の中でもとりわけ、パーソナル・インテリジェント・アシスタント・サービス、生産性アプリケーション、ウェブ検索サービス、電子メール・アプリケーション、カレンダー、デバイス管理サービス、住所録サービス、情報サービス、ライン・オブ・ビジネス（ＬＯＢ）管理サービス、顧客関係管理（ＲＣＭ）サービス、デバッギング・サービス、アカウンティング・サービス、ペイロール・サービス、ならびにサード・パーティによってホストされるもしくは制御されるサービスおよび／またはウェブサイトを含むことができるが、これらに限定されるのではない。更に、アプリケーション・サービスは、ソーシャル・メディア・ウェブサイト、写真共有ウェブサイト、ビデオおよび音楽ストリーミング・ウェブサイト、検索エンジン・ウェブサイト、スポーツ、ニュース、または娯楽ウェブサイト等のような、サード・パーティによってホストされるその他のウェブサイトおよび／またはアプリケーションも含んでもよい。更に、アプリケーション・サービスは、分析(analytics)、データー編集、および／または記憶サービス等を、システム６００のコンポーネントと関連付けて提供することができる。
【００５８】
[0064]  システム６００は、システム６００の１つ以上のコンポーネントの動作に関連するデーターを格納することができる１つ以上のストレージ（１つまたは複数）６１４を含むことができる。複数の例では、ストレージ（１つまたは複数）６１４は、システム６００の他のコンポーネントとインターフェースすることができる。システム６００の任意のコンポーネントに関連するデーターは、ストレージ（１つまたは複数）６１４に格納することができ、コンポーネントは、クラウド・コンピューティング・プラットフォームを含む分散型ネットワークおよびインフラストラクチャ・サービスを通じて、ストレージ（１つまたは複数）６１４に接続することができる。例示的なストレージ（１つまたは複数）６１４は、ファースト・パーティ・ソース、セカンド・パーティ・ソース、およびサード・パーティ・ソースの内任意のものでよい。ストレージ（１つまたは複数）６１４は、任意の物理または仮想メモリー空間である。ストレージ（１つまたは複数）６１４は、数ある例の中でもとりわけ、システム６００のコンポーネントによって実行される処理動作のための任意のデーター、処理動作からの保持データー(retained data)、内蔵プログラム(stored program)、コード、またはアプリケーション・プログラミング・インターフェース（ＡＰＩ）、訓練データー、システム６００の内部および外部にあるリソースへのリンク、ならびに知識データーを格納することができる。更に、複数の例では、システム６００のコンポーネントはシステム６００のコンポーネントによる処理において知識データーを利用することもできる。知識は、システム６００の１つ以上のコンポーネントがアプリケーション・コンポーネント６０６の内任意のものの処理を改善するために使用することができ、知識データーは、システム６００の内部または外部にあるリソースから入手することができる。複数の例では、知識データーをストレージ（１つまたは複数）６１４に維持することができ、またはシステム６００の外部にある１つ以上のリソースから知識取り出し動作によって引き出すことができる。複数の例では（以下で説明するように）、ストレージ（１つまたは複数）６１４は、数ある例の中でもとりわけ以下のために、例示のデーター・プログラム／サービスおよび他の型のデーターを格納することができる。例示的なコンテンツ選択アプリケーションを含むアプリケーション／サービスの実行、アプリケーション／サービス間のインターフェース（例えば、コンテンツ選択アプリケーションと他の実行中のアプリケーションとの間の相互作用）、前景におけるアプリケーションの検出、アプリケーション／サービスに関連するコンテンツの評価、ブロック・コンテンツの識別、ブロック・コンテンツの選択、選択されたブロック・コンテンツに対する後続のアクション、例示的なコンテンツ選択アプリケーションのユーザー・インターフェース機能(feaure)を含むアプリケーション・コマンド・コントロール、コンピューティング・デバイスとの相互作用、知識データー、ユーザー特定データー、およびアプリケーション特定データーの引き出し。
【００５９】
[0065]  図６において、処理デバイス６０２は、少なくとも１つのプロセッサーと少なくとも１つのメモリー／ストレージとを備える任意のデバイスでよい。処理デバイス６０２の例には、デスクトップ・コンピューター、サーバー、電話機、タブレット、ファブレット、スレート、ラップトップ、ウェアラブル・コンピューティング・デバイスのような処理デバイス、ならびに１つ以上のプロセッサーまたは回路を有するデバイスというような、電気コンポーネントの任意の他の集合体を含むことができるが、これらに限定されるのではない。一例では、処理デバイス６０２は、アプリケーション／サービスを実行しているユーザーのデバイスであってもよい。複数の例では、処理デバイス６０２はネットワーク６０４を通じてアプリケーション・コンポーネント６０６と通信することができる。１つの態様では、ネットワーク４０４は、インターネットのような、分散型コンピューティング・ネットワークである。アプリケーション・サービスは、ネットワーク６０４を通じて、アプリケーション・コンポーネント６０６と通信することができる。処理デバイス６０２は、図１〜図３の説明において説明したようなデバイスであってもよい。ある例では、処理デバイス６０２が複数の接続されたデバイスを含んでもよい。処理デバイス６０２はユーザー・コンピューティング・デバイスの例である。
【００６０】
[0066]  処理デバイス６０２は、ユーザー・アカウントを通じてアプリケーション／サービスにアクセスする能力を含む、処理動作を実行することができる。一例では、処理デバイス６０２は、認証されたユーザーを、例示的なアプリケーション／サービスの１人以上のユーザーのためにユーザー・データーを格納するアプリケーション・サービスに接続することができる。例示的なストレージ・アプリケーション／サービスは、処理デバイス６０２のユーザーに、例示的なデーター・センターに格納されているデーターへのアクセスを付与することができる。一例では、分散型ネットワークを通じて、処理デバイス６０２をストレージ（１つまたは複数）６１４に接続することができ、これによってユーザー・データーへのアクセスをユーザーに付与することができる。１つ以上のテナント・リソース(tenant resource)（例えば、テナント・リソースＡ、テナント・リソースＢ、テナント・リソースＣ等）を処理デバイス６０２と関連付けてもよい。テナント・リソースとは、処理デバイスおよび／または分散型ネットワーク・サービスに関連付けられたユーザー・アカウントであるとしてよい。テナント・リソースに関連するデーターは、ストレージ（１つまたは複数）６１４上に格納することができ、テナント・アカウントは、処理デバイス６０２および／または他の処理デバイスによって、格納されているデーターにアクセスするために利用することができる。
【００６１】
[0067]  アプリケーション・コンポーネント６０６は、例示的なコンテンツ選択アプリケーション／サービスの処理を可能にするためにインターフェースするコンポーネントの集合体である。先に確認したように、アプリケーション・コンポーネント６０６は、アプリケーション／サービス・コンポーネント６０８、コンテンツ選択コンポーネント６１０、およびプラットフォーム・リソース・コンポーネント６１２を含むことができる。
【００６２】
[0068]  アプリケーション／サービス・コンポーネント６０８は、例示的なコンテンツ選択アプリケーション以外のアプリケーションを実行および管理するように構成されたコンポーネントである。コンテンツ選択コンポーネント６１０は、アプリケーション／サービス・コンポーネント６０８とインターフェースして、前景アプリケーションを検出し、コンテンツ選択アプリケーションを含む例示的なレイヤード・ビューを提示することができる。数ある例の中でもとりわけ、アプリケーション／サービス・コンポーネント６０８は、アプリケーション／サービスを通じて直接選択可能でないコンテンツの部分を含むコンテンツのブロック部分を、コンテンツ選択コンポーネント６１０が選択することを可能にするソース・コードへのアクセスも付与することができる。
【００６３】
[0069]  コンテンツ選択コンポーネント６１０は、少なくとも方法４００（図４）において説明した処理動作を実行するように構成されたコンポーネントである。コンテンツ選択コンポーネント６１０の処理動作の他の例も、図５Ａ〜図５Ｄの説明において説明されている。代替例では、コンテンツ選択コンポーネント６１０は、他の既存のアプリケーションにおいて機能および／またはアドオンを提供するように構成することもできる。実例をあげると、コンテンツ選択アプリケーションによって提供される処理機能は、他の実行中のアプリケーションのアプリケーション・コマンド・コントロールに組み込まれてもよい。
【００６４】
[0070]  プラットフォーム・リソース・コンポーネント６１２は、例示的なコンテンツ選択アプリケーションの機能を拡張するために、コンテンツ選択コンポーネント６１０とインターフェースするように構成されたコンポーネントである。一例として、プラットフォーム・リソース・コンポーネント６１２は、例示的なコンテンツ選択アプリケーションによる処理を改善する(enhance)アプリケーション・サービス（既に説明した）を提供することができる。
【００６５】
[0071]  本明細書全体にわたって「一例」(one example)または「例」(an example)に言及したが、これが意味するのは、特定の説明した機能(feature)、構造、または特性が少なくとも１つの例に含まれるということである。つまり、このような語句の使用は、単なる１つの例よりも多くを指す場合もある。更に、説明した機能(feature)、構造、または特性は、１つ以上の例において、任意の適した方法で組み合わされてもよい。
【００６６】
[0072]  しかしながら、以上の例は、前述の特定的な詳細の内１つ以上がなくても、または他の方法、リソース、材料等を用いても実施できることは、当業者には認めることができよう。他方において、周知の構造、リソース、または動作については詳細に示すことも説明することもなかったのは、単に前述の例の態様を曖昧にすることに注意する(observe)ためである。
【００６７】
[0073]  以上、見本としての例およびアプリケーションについて例示し説明したが、本願の例は、先に説明した通りの構成およびリソースそのものに限定されるのではないことは理解されてしかるべきである。特許請求する例の範囲から逸脱することなく、本明細書において開示した方法およびシステムの構成、動作、および詳細において、当業者には明白な種々の修正、変更、および変形を行ってもよい。
【図１】
2019536156.tif 000003
【図２Ａ】
2019536156.tif 000004
【図２Ｂ】
2019536156.tif 000005
【図３】
2019536156.tif 000006
【図４】
2019536156.tif 000007
【図５Ａ】
2019536156.tif 000008
【図５Ｂ】
2019536156.tif 000009
【図５Ｃ】
2019536156.tif 000010
【図５Ｄ】
2019536156.tif 000011
【図６】
2019536156.tif 000012
【国際調査報告】
2019536156.tif 000013
2019536156.tif 000014