(57)【要約】開示される主題の態様によれば、現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供するシステムおよび方法が提供される。コンピューティング・デバイス上で、インテリジェント・キャンバスがオペレーティング・システム・レベルのサービスとして提供される。インテリジェント・キャンバスをオペレーティング・システム・レベルのサービスとして実施および／または提供することにより、ユーザによるインテリジェント・キャンバスとの相互作用は現在の実行コンテキストからの変更を必要としない。インテリジェント・キャンバスとの相互作用の要求を受けると、表示のためにインテリジェント・キャンバス・ビューが提示される。インテリジェント・キャンバス・ビューは複数のユーザ・アクション可能コントロールを含み、少なくとも１つのユーザ・アクション可能コントロールは現在の実行コンテキストにインポートするコンテンツに対応する。更に、少なくとも１つのユーザ・アクション可能コントロールの対応するコンテンツはインテリジェント・キャンバス・ビューにおける提示のために先行して選択される。【選択図】図５
2017535005.tif 000002
【特許請求の範囲】
【請求項１】
現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供するためのコンピュータ実装方法であって、コンピューティング・デバイス上で実装された、
インテリジェント・キャンバスを前記コンピューティング・デバイス上のサービスとして提供するステップであって、前記インテリジェント・キャンバスがオペレーティング・システム・レベルのサービスとして提供され、前記インテリジェント・キャンバスとの相互作用が前記現在の実行コンテキストからの変更を必要としない、ステップと、
前記インテリジェント・キャンバスと相互作用するための要求を受けるステップと、
前記コンピューティング・デバイスでの表示のためにインテリジェント・キャンバス・ビューを提示するステップと、
のそれぞれを含み、
前記インテリジェント・キャンバス・ビューが複数のユーザ・アクション可能コントロールを含み、
少なくとも１つのユーザ・アクション可能コントロールが前記現在の実行コンテキストにインポートするためのコンテンツに対応し、
前記少なくとも１つのユーザ・アクション可能コントロールの対応するコンテンツが、前記インテリジェント・キャンバス・ビューにおける提示のために先行して選択される、方法。
【請求項２】
請求項１記載のコンピュータ実装方法であって、更に、
前記少なくとも１つのユーザ・アクション可能コントロールの選択を受けて、前記対応するコンテンツを前記現在の実行コンテキストに提供するステップと、
コンテンツを前記現在の実行コンテキストにインポートするためにコンテンツ・フォーマットのセットを決定するステップと、
前記対応するコンテンンツが前記フォーマットのセットの内１つで利用可能であるかを判定するステップと、
前記対応するコンテンツを、前記現在の実行コンテキストに前記フォーマットのセットの内少なくとも１つで提供するステップと、
を含む、方法。
【請求項３】
請求項２記載のコンピュータ実装方法であって、更に、
前記少なくとも１つのユーザ・アクション可能コントロールの選択を受けて、前記対応するコンテンツを前記現在の実行コンテキストに供給するステップと、
前記対応するコンテンツが、前記フォーマットのセットの内１つで現在利用可能ではないことを判断するステップと、
前記対応するコンテンツの前記コンテンツ・フォーマットのセットの内少なくとも１つへの変換を生じさせるステップと、
前記変換された対応するコンテンツを、前記現在の実行コンテキストに前記コンテンツ・フォーマットのセットの内少なくとも１で提供するステップと、
を含む。方法。
【請求項４】
請求項２記載のコンピュータ実装方法であって、更に、
前記コンピューティング・デバイス上でコンテンツ・キャプチャ・プロセスを実行するステップであって、前記コンテンツ・キャプチャ・プロセスが前記コンピューティング・デバイスのバックグラウンドで実行し、前記コンテンツ・キャプチャ・プロセスが、
前記ユーザによってアクセスされるコンテンツをキャプチャし、
前記対応するコンテンツを、１つ以上のコンテンツ・カードとして前記ユーザに関連付けられるコンテンツ・カード・インデックスに格納する、
ように構成される、ステップを含み、
前記少なくとも１つのユーザ・アクション可能コントロールの前記対応するコンテンツが、前記コンテンツ・カード・インデックスにおいて前記キャプチャされたコンテンツから選択される、方法。
【請求項５】
請求項４記載のコンピュータ実装方法において、
前記複数のユーザ・アクション可能コントロールの内の第１ユーザ・アクション可能コントロールは、前記コンテンツ・カード・インデックスに格納された前記キャプチャされたコンテンツを閲覧するためのコントロールであり、
前記複数のユーザ・アクション可能コントロールの内の第２ユーザ・アクション可能コントロールは、コンテンツのネットワークを閲覧するためのコントロールである、方法。
【請求項６】
請求項１記載のコンピュータ実装方法において、前記少なくとも１つのユーザ・アクション可能コントロールの前記対応するコンテンツが、前記現在の実行コンテキストにしたがって前記インティジェント・キャンバス・ビューにおける提示のために先行して選択される、方法。
【請求項７】
コンピュータ実行可能命令を保持するコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、少なくとも１つのプロセッサおよびメモリを備えるコンピューティング・デバイス上で実行されると、コンピューティング・デバイスに、現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供する方法を実行させ、
前記方法が、請求項１から６記載のコンピュータ実装方法の何れかを含む、コンピュータ可読媒体。
【請求項８】
現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供するコンピューティング・デバイスであって、プロセッサおよびメモリを備え、前記プロセッサが、コンテンツへの改良アクセスを提供する際に追加のコンポーネントの一部として、または追加のコンポーネントと協働して前記メモリに格納された命令を実行し、前記追加のコンポーネントが、
当該コンピューティング・デバイスのバックグラウンドで動作するように構成されるコンテンツ・キャプチャ・コンポーネントであって、更に、当該コンピューティング・デバイスのユーザによってアクセスされるコンテンツをキャプチャし、前記キャプチャされたコンテンツをコンテンツ・カード・インデックスに格納するように構成される、コンテンツ・キャプチャ・コンポーネントと、
当該コンピューティング・デバイス上でオペレーティング・システム・レベルのサービスとして動作するように構成されるインテリジェント・クリップボードであって、更に、前記インテリジェント・クリップボードと相互作用する要求をユーザから受けると、当該コンピューティング・デバイスで表示するためのインテリジェント・キャンバス・ビューを提示するように構成されるインテリジェント・クリップボードと、
を備え、
前記インテリジェント・キャンバス・ビューが複数のユーザ・アクション可能コントロールを含み、前記複数のユーザ・アクション可能コントロールの内の少なくとも１つのユーザ・アクション可能コントロールが、前記現在の実行コンテキストにインポートするためのコンテンツに対応し、
前記少なくとも１つのユーザ・アクション可能コントロールの対応するコンテンツが、前記インテリジェント・キャンバス・ビューにおける提示のために前記コンテンツ・カード・インデックスにおいて複数のコンテンツ・カードから先行して選択される、コンピューティング・デバイス。
【請求項９】
請求項８記載のコンピューティング・デバイスにおいて、前記コンテンツ・キャプチャ・コンポーネントが、１つ以上のキャプチャ・モジュールを動的に統合するためのフレームワークを含み、
各キャプチャ・モジュールが特定のフォーマットのコンテンツをキャプチャするように構成され、
当該コンピューティング・デバイスが更に、複数のキャプチャ・モジュールを備える、コンピューティング・デバイス。
【請求項１０】
請求項８記載のコンピューティング・デバイスであって、更に、インテリジェント・クリップボードを備え、
前記インテリジェント・クリップボードが、前記コンテンツ・カード・インデックスのコンテンツ・カードにアクセスするように構成され、更に、ユーザ・アクションを受けると、前記コンテンツ・カード・インデックスに格納されたコンテンツ・カードのコンテンツを前記現在の実行コンテキストにペーストするように構成される、コンピューティング・デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  多くのコンピュータ・ユーザは、デバイス上で起動している幾らかのａｐｐおよび／またはアプリケーションを有している。これらのａｐｐおよびアプリケーションは、所定の組のサービスおよび機能を提供するように設計される。しばしば、１つのアプリケーションのサービスは、他のアプリケーションへの入力として供与する情報またはデータを含むことになる。ａｐｐおよびアプリケーションの設計者は最初のアプリケーションの情報がどのように他のアプリケーションへの入力として使用されるかについて合理的に予見することができないので、ユーザのコンピュータ上で利用可能などんなツールを使用して情報の転送を容易にするかということは、コンピュータのユーザに任せられる。更に、外部データをアプリケーションの実行コンテンツに転送するために利用可能なツールは、ほとんど初歩的なサービスを提供するに過ぎない。ユーザはしばしば、アプリケーションの実行コンテキストを手動でスイッチしながら、データにアクセスし、データを実行コンテキストに転送し戻す。
【発明の概要】
【０００２】
[0002]  本摘要は、以下の詳細な説明で更に説明する簡略化された形態での概念の選択を導入するために設けられる。本概要は、特許請求された主題の鍵となる特徴または必須の特徴を排他的に特定することを意図せず、また、特許請求された主題の範囲を限定することを意図するものでもない。
【課題を解決するための手段】
【０００３】
[0003]  開示される主題の態様によれば、現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供するシステムおよび方法が提供される。コンピューティング・デバイス上で、インテリジェント・キャンバスが、オペレーティング・システム・レベルのサービスとして提供される。オペレーティング・システム・レベルのサービスとしてインテリジェント・キャンバスを実施および／または提供することによって、ユーザによるインテリジェント・キャンバスとの相互作用は、現在の実行コンテキストからの変更を必要としない。インテリジェント・キャンバスと相互作用するための要求を受けると、インテリジェント・キャンバス・ビューが表示のために提示される。インテリジェント・キャンバス・ビューは複数のユーザ・アクション可能コントロールを含み、少なくとも１つのユーザ・アクション可能コントロールは、現在の実行コンテキストにインポートするためのコンテンツに対応する。更に、少なくとも１つのユーザ・アクション可能コントロールの対応するコンテンツは、インテリジェント・キャンバス・ビューでの提示のために先行して選択される。
【０００４】
[0004]  開示される主題の追加の態様によれば、現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供するためのシステムおよび方法が提示される。一実施形態では、コンピュータ実行可能命令を保持するコンピュータ可読媒体は、コンピュータ実行可能命令がコンピューティング・デバイスで実行されると、現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供する方法を実行する。実行中に、オペレーティング・システム・レベルのサービスとしてインテリジェント・キャンバスが提供される。オペレーティング・システム・レベルのサービスとしてインテリジェント・キャンバスを実施および／または提供することにより、ユーザによるインテリジェント・キャンバスとの相互作用は、現在の実行コンテキストからの変更を必要としない。インテリジェント・キャンバスに加えて、コンテンツ・キャプチャ・プロセスがまたコンピューティング・デバイス上に提供される。動作中に、コンテンツ・キャプチャ・プロセスがコンピューティング・デバイスのバックグラウンドで実行する。更に、コンテンツ・キャプチャ・プロセスは、ユーザによってアクセスされるコンテンツをキャプチャし、キャプチャされたコンテンツを、１つ以上のコンテンツ・カードとしてユーザに関連付けられるコンテンツ・カード・インデックスに格納するように構成される。インテリジェント・キャンバスと相互作用するための要求を受けると、インテリジェント・キャンバス・ビューが表示のために提示される。インテリジェント・キャンバス・ビューは複数のユーザ・アクション可能コントロールを含み、少なくとも１つのユーザ・アクション可能コントロールが、現在の実行コンテキストにインポートするためのコンテンツに対応する。更に、少なくとも１つのユーザ・アクション可能コントロールの対応するコンテンツは、インテリジェント・キャンバス・ビューでの提示のために、コンテンツ・カード・インデックスにおいてキャプチャされたコンテンツから先行して選択される、
【０００５】
[0005]  開示された主題の更なる別の態様によれば、現在の実行コンテキスト外でアクセス可能なコンテンツへの改良アクセスを提供するコンピュータ・デバイスが提示される。コンピューティング・デバイスはプロセッサおよびメモリを備え、プロセッサが、コンテンツへの改良アクセスを提供する際の追加のコンポーネントの一部として、または追加のコンポーネントと協働してメモリに格納された命令を実行する。追加のコンポーネントは、少なくともコンテンツ・キャプチャ・コンポーネントおよびインテリジェント・クリップボードを含む。コンテンツ・キャプチャ・コンポーネントは、コンピューティング・デバイスにおいてバックグラウンドで動作するように構成される。コンテンツ・キャプチャ・コンポーネントは、コンピューティング・デバイスのユーザによってアクセスされるコンテンツをキャプチャし、キャプチャされたコンテンツをコンテンツ・カード・インデックスに格納するように構成される。
【０００６】
[0006]  更に、開示される主題の様々な実施形態によれば、インテリジェント・クリップボードが提供される。インテリジェント・クリップボードは、コンピューティング・デバイス上でオペレーティング・システム・レベルのサービスとして動作するように構成される。一般に、ユーザは、（例えば、カット、コピー、ペースト操作を通じて）「通常の」(typical)クリップボードを使用するときに、インテリジェント・クリップボードとインタフェース／相互作用する。このユーザ相互作用は公知である。しかしながら、通常のクリップボードとは異なり、インテリジェント・クップボードはクリップボードにキャプチャされている（即ち、クリップボードによって使用するための一時的なデータ・ストア／メモリに格納されている）データに関するリッチ情報をキャプチャする。このリッチ情報は、セマンティック・データ、関係、構造組織等を含む。更に、（通常はコピーまたはカット操作を通じて）データをインテリジェント・クリップボードにキャプチャすると、１つ以上のコンテンツ・カードが、キャプチャされたデータ／コンテンツのために生成される。インテリジェント・キャンバスとは異なり、これら動的に生成されたコンテンツ・カードは、コンテンツ・インデックスに格納されないものの、単純に、データがインテリジェント・クリップボードの主題(subject matter)として残存する限りは、インテリジェント・クリップボードによって維持される。有利なことに、インテリジェント・クリップボードからコンテンツをペーストするときに、キャプチャされたコンテンツに関する、動的に生成されたコンテンツ・カード（または複数のコンテンツ・カード）におけるリッチ情報が使用される。
【０００７】
[0007]  上述した態様、および開示される主題に付随する多くの利点は、次の図面に関連して行われる次の説明を参照することにより、より良く理解されるものとしてより容易に認められることになろう。
【図面の簡単な説明】
【０００８】
【図１】図１は、開示される主題の様々な対応を実装するように最適に構成されコンピューティング・デバイスが有する例示のコンポーネント間の相互作用を示すブロック図である。
【図２】図２は、コンテンツ・キャプチャ・プロセスを介してユーザ関連コンテンツをキャプチャし、コンテンツ・カードを生成すると共に、コンピュータのユーザに対応するコンテンツ・カード・インデックスにそれらを格納してインデックス化する例示のルーチンを示すフロー図である。
【図３Ａ】図３Ａは、コンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とのユーザ相互作用を示す画面図である。
【図３Ｂ】図３Bは、コンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とのユーザ相互作用を示す画面図である。
【図３Ｃ】図３Cは、コンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とのユーザ相互作用を示す画面図である。
【図３Ｄ】図３Dは、コンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とのユーザ相互作用を示す画面図である。
【図４Ａ】図４Ａは、代替のコンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とので代替のユーザ相互作用を示す画面図である。
【図４Ｂ】図４Bは、代替のコンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とので代替のユーザ相互作用を示す画面図である。
【図４Ｃ】図４Cは、代替のコンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とので代替のユーザ相互作用を示す画面図である。
【図４Ｄ】図４Dは、代替のコンピューティング・デバイス上で実施されるインテリジェント・キャンバスの例示の実施形態とので代替のユーザ相互作用を示す画面図である。
【図５】図５は、コンピューティング・デバイス上でインテリジェント・キャンバスを実施するための例示のルーチンを示すフロー図である。
【図６】図６は、インテリジェント・クリップボードによる実施のための例示のカット／コピー・ルーチンを示すフロー図である。
【図７】図７は、インテリジェント・クリップボードによる実施のための例示のペースト・ルーチンを示すフロー図である。
【図８】図８は、インテリジェント・キャンバスおよび強化クリップボードによって最適に構成される例示のコンピューティング・デバイスを示すブロック図である。
【発明を実施するための形態】
【０００９】
[0016]  明確化のために、この文書の「例示」という語は、何かの図示または例として供するものと解釈されなければならない。また、そのものの理想的(ideal)および／または優れた(leading)な図示として解釈されてはならない。
【００１０】
[0017]  「コンテンツ」という語は、提示され、格納され、配置され、そして作用され得るアイテムおよび／またはデータに関する。排他的ではないが、しばしば、データ／アイテムに対応するコンテンツは、コンピューティング・デバイスを介してコンピュータ・ユーザに提示することができる。コンテンツの例には、限定的でなく例示的に、データ・ファイル、イメージ、オーディオ、ビデオ、Ｗｅｂページ、ユーザ・ポスト、データ・ストリーム等がその一部と同様に含まれる。「ユーザ関連コンテンツ」という語は、コンピュータ・ユーザに関連するものと判断されるコンテンツに関する。コンテンツを有するユーザ相互作用の性質および／または量に従ってこの判断がなされる。コンテンツとのユーザ相互作用の性質および／または量に関する特定の閾値が満たされるときに、コンテンツはユーザ関連コンテンツとみなされる。例えば（一例では）、ソーシャル・ネットワークに対しユーザによって生成されたポストは、それがユーザによって生成およびポストされたという事実によって「ユーザ関連」のものと考えられる。同様に、ポストがなされた全ソーシャル・ネットワークのスレッドは、ユーザがコンテンツをスレッドにポストしたという事実に基づいて「ユーザ関連」のものとしてビューされる。
【００１１】
[0018]  「キャプチャ」という語は、「コンテンツをキャプチャする」(capturing content)の文脈で用いられるときは、関連するコンテンツ（即ち、キャプチャするコンテンツ）に関するレコードを生成することに関する。（コンテンツ・カードと称される）レコードは、参照されたコンテンツのコピー(duplicate copy)を含み、或いは、コンテンツへの参照を含む。および／または、コンテンツへの参照と同様に、参照されるコンテンツの情報について関連した要素も含む。更にまた、レコードはコンテンツの他にコンテンツについての付加情報を含む。即ち、コンテンツに関するメタデータ、コンテンツへのユーザ・アクセスのコンテキスト、ネットワークのコンテンツの位置を特定するＵＲＬ（ユニバーサル・リソース・ロケータ）等である。後述するように、コンテンツをキャプチャすることの一部として、コンテンツにおけるリッチ、ロバスト情報もキャプチャされる。当該リッチ情報は、データのセマンティックな理解、並びにセマンティックな関係およびデータ構造等のような情報を含む。
【００１２】
[0019]  上に示唆されるように、開示される主題は、ユーザ関連コンテンツのキャプチャを容易にし、そして、現在の実行コンテキスト外に位置するコンテンツに効率的で容易にアクセスすることに向けられる。より詳細には、開示された主題の第一組の態様によれば、ユーザ関連コンテンツをキャプチャするプロセスが開示される。このプロセスは通常、進行中の(on-going)プロセスであり、即ち継続的に動作し、コンピューティング・デバイスの実行中のバックグラウンドで動作することを含む。このコンテンツ・キャプチャ・プロセスは、明確なユーザ指示に従ってユーザ関連コンテンツをキャプチャし、および／または自動化された手法で（例えば、コンテンツがユーザに関係すると判断する閾値が満たされたときに）コンテンツをキャプチャする。勿論、コンピュータ・ユーザはまた、特定コンテンツがキャプチャされなければならないこと（それ故、ユーザ関連のものであること）を明確に示す。プロセスによってキャプチャされるコンテンツは、リッチまたはロバスト・コンテンツとしてビューされる。キャプチャされる情報には、コンテンツとの関係と、データ構造およびコンテンツの組織／配置と、コンテンツのユーザのアクセスおよびコンテンツの提示の両方に関するコンテキスト情報と、コンテンツに関するメタデータ等とについてのセマンティックな理解を含む。キャプチャされる情報は、コンテンツ・カードに組織および配置され、また、ユーザに対応する、およびユーザに関連付けられるコンテンツ・カード・ストアに格納される。後述するように、コンテンツ・カード・ストアは、関連付けられるユーザのコンピューティング・デバイス上に、ローカルに、または、コンテンツ・カード・ストアがネットワークを介して容易にアクセスできる共有若しくはオンラインの位置に格納される。或いは、ローカルおよびネットワーク化されたストレージの両方の組み合わせとして格納される。当業者に認められるように、ネットワーク・ストレージは、「クラウド・ストレージ」、即ち、サード・パーティまたはサービスによってその加入者のために保持されるネットワーク・アクセス可能なストレージを含んでもよい。
【００１３】
[0020]  ユーザ関連コンテンツをキャプチャする進行中のプロセスに加えて、開示される主題の追加の態様によれば、インテリジェント・キャンバスが、コンピューティング・デバイス上の現在の実行コンテンツ外にあるコンテンツへのアクセスを容易にするように実装される。インテリジェント・キャンバスは、オペレーティング・システム・レベルのサービスとして実施される（即ち、インテリジェント・キャンバスがオペレーティング・システムの一部であるか否かであるかに拘わらず、インテリジェント・キャンバスはアクセスするオペレーティング・システム・サービスと整合してアクセスされる）。その結果、コンピュータ・ユーザは、当該キャンバスと容易に相互作用して、コンピューティング・デバイス上で現在のアプリケーション・コンテキスト外からのみアクセス可能なコンテンツ（即ち、当該コンテンツは、ユーザが実行コンテンツを切り替える（例えば、コンピュータ・デバイス上で別のアプリケーションに切り替える）ことを求めることになる、または、コンテンツにアクセスするオペレーティング・システム・サービスに依存することになる。）にアクセスすることができる。換言すれば、インテリジェント・キャンバスはオペレーティング・システム・レベルのサービスとして提供されるので、ユーザは、現在のアプリケーション／実行コンテンツの状態を維持し、さもなければアクセスする１つ以上のコンテキストの切り替えを求めることになるリッチ・コンテンツを調査し(explore)、これにアクセスする。
【００１４】
[0021]  開示される主題の更なる別の態様によれば、インテリジェント・クリップボードが提示される。有利なことに、コンピュータ・ユーザは、コンピュータ・ユーザが現在アクセスしているコンテンツの内、リッチ／ロバスト・コンテンツを一時的にキャプチャし、また、そのリッチ／ロバスト・コンテンツをクリップボード上にキャプチャすることができる（即ち、インテリジェント・クリップボードに関連付けられるデータ・ストアにリッチ／ロバスト・コンテンツを一時的に格納する）。更にまた、典型的な多くのクリップボードの特徴である「無保証の」(as is)フォーマットとは異なり、１つ以上のコンテンツ・カードはキャプチャされるコンテンツから生成される。これら１つ以上のコンテンツ・カードを使用して、コンテンツ・カードからのコンテンツがインテリジェント・キャンバスからアプリケーションに適用されるのと同様の手法で、情報をアプリケーションにペーストすることができる（以下により詳細に説明する）。
【００１５】
[0022]  これより図面を参照する。図１は、開示される主題の各種態様を実施するように最適に構成されるコンピュータ１０２が有する例示のコンポーネント間の相互作用１００を示すブロック図である。特に、相互作用１００は、コンピューティング・デバイス１０２上の特定の論理コンポーネント間を例示して表しており、進行中のコンテンツ・キャプチャ・プロセス１０４、インテリジェント・キャンバス１０６、インテリジェント・クリップボード１０８、およびコンテンツ・カード・インデックス１１０を含む。
【００１６】
[0023]  容易に認められるように、コンピュータ（例えば、ユーザ・コンピュータ１０２）を使用する過程で、コンピュータ・ユーザ１０１（或いはユーザ１０１）は通常、相当な量のコンテンツに触れる。勿論、コンテンツの一部はそのユーザによって生成されるものの、一般には、ユーザによってアクセスされるコンテンツの大部分は他の者によって生成される。更に、コンピュータ・ユーザ（例えばコンピュータ・ユーザ１０１）がビューするコンテンツの中には、ユーザが当該コンテンツをキャプチャすることを望むことがあるという、ユーザにとって重要性または関連性を十分に有すると見込まれるものもある。開示される主題の態様によれば、また上に示唆されるように、コンテンツ・キャプチャ・プロセス１０４は、ユーザがアクセスし、ビューし、および／または生成し、並びにコンテンツがユーザ関連コンテンツであるか否かについての判断を行う様々なコンテンツ・アイテムを分析する。その結果、コンテンツは、ユーザのためにまたユーザを代理してキャプチャおよび格納されなければならなくする。これらの判断は、明確なユーザ指示に従うのと同様に、ユーザがコンテンツと行う相互作用の性質、種別、質および量に従ってなされる。
【００１７】
[0024]  コンテンツ・キャプチャ・プロセス１０４に関し、上述したように、当該プロセスは通常、排他的ではないが、ユーザ・コンピュータ１０２上で進行中の実行プロセスとして構成される。勿論、コンテンツ・キャプチャ・プロセス１０４は、様々な構成（非図示）で、コンピュータ・ユーザ１０１のために他のデバイス上で実行するコンテンツ・キャプチャ・プロセスと協働して機能してもよい。例えば、ユーザのコンピュータ・デバイス（例えば、コンピューティング・デバイス１０２）で実行するコンテンツ・キャプチャ・プロセス１０４に加えて、関連の同胞(sibling)コンテンツ・キャプチャ・プロセス（非図示）が、ユーザ（または複数のユーザ）を代理してサーバ・コンピュータ上で動作し、ユーザ関連コンテンツを特定およびキャプチャすることができる。
【００１８】
[0025]  ユーザ関連であると判断されるコンテンツの多数の種別および配置が存在するので、有限に制限される、キャプチャされるコンテンツ種別のセットを用いてコンテンツ・キャプチャ・プロセス１０４をコード化するのではなく、その代わりに、コンテンツ・キャプチャ・プロセス１０４は、フレームワーク１１２を含む。フレームワーク１１２は、コンテンツ・キャプチャ・プロセスがキャプチャ・モジュール（例えば、キャプチャ・モジュール１１４および１１６）を用いて更新されるのを可能にする。ここでは、各キャプチャ・モジュールは特定の種別のコンテンツをキャプチャするように構成される。コンテンツ・キャプチャ・プロセス１０４は、必要とされるときに、または更新されるときに、キャプチャ・モジュールをソース（例えば、コンテンツ・キャプチャ・モジュール（非図示）のプロバイダのＷｅｂページ）から取得するように構成される。更に、コンピューティング・デバイス１０４の性能に応じて、有限セットのキャプチャ・モジュールがフレームワーク１１２にインストールされ、潜在的には非常により大きい別のセットのキャプチャ・モジュールが、関連または同胞のコンテンツ・キャプチャ・プロセスを動作させるネットワーク・アクセス可能なコンピューティング・デバイス上で実装される。
【００１９】
[0026]  開示される主題の態様によれば、ユーザによってアクセスされるコンテンツのソースは、限定的でない一例では、ユーザ・ファイル、Ｗｅｂページ、電子メール、ユーザ・ポスト、ブログ、データ・ストリーム等を含む。コンテンツがユーザ関連のものと判断されるときに、（キャプチャ・モジュールを含む／用いる）コンテンツ・キャプチャ・プロセスはコンテンツをキャプチャする結果、コンテンツは１つ以上のコンテンツ・カード（例えばコンテンツ・カード１２０）にレコードされる。各コンテンツ・カードは、コンテンツの特定のアイテムに対応し、また、コンテンツ、関係、配置および構造、並びにコンテキスト・データ等に関するセマンティック情報を含む、コンテンツに関するリッチ、ロバストな情報を収容することができる。また、開示される主題の様々な非排他的な実施形態によれば、コンテンツ・キャプチャ・プロセス１０４は、アクセスされるコンテンツの特定アイテムについてのコンテンツ・カード（例えば、コンテンツ・カード１２０）を生成するのではなく、当該コンテンツ・キャプチャ・プロセスは、更新される新規の、即ちより最新の情報を用いて、既に存在するコンテンツ・カードを更新してもよい。
【００２０】
[0027]  各コンテンツ・カード（例えば、コンテンツ・カード１２０）の主題(subject matter)を容易に抽出するために、コンテンツ・カードの様々な要素は、インデックス鍵として使用され、コンテンツ・カード・インデックス１１０に格納されるコンテンツ・カードのインデックスとされる。１つ以上のインデックス鍵によるインデックス情報（例えば、コンテンツ・カード）については、従来技術において知られている。上述したように、コンテンツ・カード・インデックス１１０は、ユーザのコンピューティング・デバイス（例えば、コンピューティング・デバイス１０２）上にローカルに、または、複数のデバイスからのユーザによるアクセスのための共有位置（例えば、ネットワーク・ドライブまたはクラウド・ストレージ）に格納される。
【００２１】
[0028]  図示されていないが、当業者には容易に認められるように、多数のコンピュータ・ユーザは通常、２つ以上のコンピューティング・デバイスと相互作用し、および／またはこれを使用する。例えば、通常のコンピュータ・ユーザは、彼／彼女の家庭に設置されたデスクトップ・コンピュータ、移動時のラップトップおよび／またはタブレット・コンピュータを、スマートフォンまたは所謂「ファブレット」(phablet)（スマートフォンとタブレット・コンピュータの中間にあるデバイス）と同様に使用することがある。勿論、コンピュータ・ユーザは、現在使用しているコンピュータに拘わらず同一のコンテンツの全てにアクセスすることを望むことがある。したがって、開示される主題の態様では、ユーザに関連したコンピューティング・デバイスの各々は、インテリジェント・キャンバス１０６を通じてコンテンツ・カード・インデックス１１０にアクセスすることができるように構成されることになる。
【００２２】
[0029]  図１にまた示されるように、コンピューティング・デバイス１０２上で動作するインテリジェント・キャンバス１０６は、以下により詳細に説明される、コンテンツ・カード・インデックス１１０からの１つ以上のコンテンツ・カードにアクセスする。勿論、コンテンツ・カード・インデックス１１０におけるコンテンツ・カードをレビューするように設計されたアプリケーションまたは他のサービスを使用することにより、コンピュータ・ユーザはコンテンツ・カードをインテリジェント・クリップボード１０８上にコピーすることができる。より詳細には、コンピュータ・ユーザは、コンテンツ・カード・インデックス１１０のコンテンツ・カードを読み(peruse)、また、コンテンツ・カードをビューしている間、コピーおよび／またはペースト操作のためにコンテンツ・カードをインテリジェント・クリップボード１０８上にコピーすることができる。これにより、コンテンツ・カード・インデックス１１０においてコンテンツ・カードが有するリッチ情報を使用する。
【００２３】
[0030]  図２を参照する。図２は、コンテンツ・キャプチャ・プロセス１１２を介してユーザ関連コンテンツをキャプチャし、コンテンツ・カードを生成し、コンピュータ・ユーザに対応するコンテンツ・カード・インデックス１１０にコンテンツ・カードを格納してインデックス化する例示のルーチン２００を示すフロー図である。ブロック２０２で開始し、コンテンツ・キャプチャ・プロセス１０４は、ユーザ関連コンテンツをキャプチャする指標または指示を受ける。明示的なユーザ指示にしたがって（例えば、特定のｗｅｂページをキャプチャしなければならないとコンピュータ・ユーザが示すときに）、或いは、コンテンツのユーザ・アクセスの性質、量および／または頻度、並びに質についての（コンテンツ・キャプチャ・プロセス１０４の一部である）進行中の分析にしたがって（例えば、コンピュータ・ユーザがポストを生成したとき、または特定のオンライン・イメージを頻繁にレビューするときに）、特定のアイテムまたはコンテンツ・セットをキャプチャするために、指標または指示が生成される。
【００２４】
[0031]  ブロック２０４では、キャプチャされることになるユーザ関連コンテンツは、コンテンツの性質を決定するために分析され、その結果、適切なコンテンツ・キャプチャ・モジュール（例えば、図１のモジュール１１４または１１６）を特定することができる。開示される主題の態様によれば、限定的でない一例では、コンテンツの分析は、コンテンツ・フォーマット、コンテンツのソース、およびコンテンツに関連するメタデータ等に関して行われる。例えば、コンテンツがＸＭＬ（拡張可能マークアップ言語）ページである場合は、ＸＭＬドキュメントをキャプチャするコンテンツ・キャプチャ・モジュールは、コンテンツをキャプチャするために選択される。代替として、コンテンツがモバイル・フォン・ベンダからの電子メールであり、オンラインの請求書を収容する場合は、特定のオンライン請求書／モバイル・フォン・ベンダに対応するコンテンツ・キャプチャ・モジュールが選択される。これに対応して、ブロック２０６では、コンテンツは、選択されたコンテンツ・キャプチャ・モジュールによってキャプチャされる。一般的に、コンテンツ・キャプチャ・モジュールの各々は、関連した態様のコンテンツをキャプチャするように構成される。例えば、オンライン請求書／モバイル・フォン・ベンダについてのコンテンツ・キャプチャ・モジュールは、請求金額、請求日、請求の支払期限、以前の残高、モバイル・フォン・ベンダ名等をキャプチャするように構成される。勿論、コンテンツの性質に応じて、コンテキスト情報（例えば、ユーザのポストについてのソーシャル・スレッドを特定する情報）、セマンティック情報、データ間の関係および構造的組織等がキャプチャされる。
【００２５】
[0032]  ブロック２０８では、コンテンツ・カードは、キャプチャされたコンテンツから生成される。勿論、コンテンツをキャプチャする際に、コンテンツ・キャプチャ・モジュールは、代替として、コンテンツが既にキャプチャされたかを判断し、また、コンテンツ・カードを生成する替わりに、既存のコンテンツ・カードを更新および／または修正する。例えば、モバイル・フォン・ベンダからのオンラインの通話請求に関し、コンテンツ・キャプチャ・モジュールは、モバイル・フォン・ベンダからの請求書に対応するコンテンツ・カードが既に存在するかを判断する。つまり、この例では、新規なコンテンツ・カードを生成するのではなく、その替わりに、オンラインの通話請求当たりの最新の情報を反映するように、既存のコンテンツ・カードの情報を更新する。
【００２６】
[0033]  ブロック２１０では、コンテンツ・カード・インデックス１１０は、コンテンツ・カードを用いて更新される。その後にルーチン２００は終了する。
【００２７】
[0034]  開示される主題の追加の態様によれば、上に示されるように、インテリジェント・キャンバス１０６は、ユーザ・コンピュータ１０２において実施される。また、インテリジェント・キャンバス１０６は、有利なことに、コンテンツ・カード・インデックス１１０と組み合わせて使用されるのと共に、後述するように、インテリジェント・キャンバスはあまり制限されずに、コンテンツ・カード・インデックス外の情報によって動作する。上述したように、インテリジェント・キャンバス１０６は、（サービスがオペレーティング・システムによって、またはサード・パーティ・ベンダから実装されるかどうかに拘わらず）オペレーティング・システム・レベルのサービスであり、アプリケーションの現在の実行コンテキスト外のコンテンツにユーザがアクセスするのを可能にする。つまり、実行コンテキストを変更する必要性をコンピュータ・ユーザから解放する。より詳細には、インテリジェント・キャンバスはモーダル・サービスとして頻繁に実施される。モーダル・サービスは、特定の実行コンテキスト内にある間（例えば、アプリケーションの実行中）に呼び出され(involve)、１つ以上のソース（例えば、コンテンツ・カード・インデックス）からコンテンツをユーザがビューおよび選択するのを可能にし、選択されたコンテンツを実行コンテキストにインポートする。インテリジェント・キャンバスがどのように動作するかについてより良く示すために、まず図３Ａから図３Ｄの参照を行う。
【００２８】
[0035]  図３Ａから図３Ｄは、コンピューティング・デバイス（例えば、コンピューティング・デバイス１０２）上で実施されるインテリジェント・キャンバス１０６の例示の実施形態とのユーザ相互作用を示す画面図である。インテリジェント・キャンバスの動作および利点を示す目的で、これらの図について、コンピュータ・ユーザ１０１は休暇場所に旅行中であり、その場所にあるホテルに滞在することになるというシナリオに関して検討する。また、コンピュータ・ユーザ１０１は滞在の間にタキシードを必要とすることになり、彼は、その場所でタキシードをレンタすると決めている。図３Ａは、彼の休暇場所で確実にタキシードをレンタルする際に、ユーザのコンピューティング・デバイス１０２上に表示される例示のディスプレイ・ビュー３００を示す。当然、コンピュータ・ユーザは、レンタルしたタキシードを、彼が滞在中のホテルまで配達することを望むことになる。つまり、ディスプレイ・ビュー３００は、現在の実行コンテキストにおいて、レンタル・タキシードの配達のための場所に関連する発送フォーム３０２を示している。生憎、通常のケースでは、コンピュータ・ユーザ１０１は、記憶からではホテルの特定アドレスが分からない。勿論、コンピュータ・ユーザ１０１は、配達先のアドレスを取得するために、現在の実行コンテキスト（レンタル・フォーム３０２の表示）から離れて、ホテルについての彼の電子メール確認に切り替えてもよい。しかしながら、コンピューティング・デバイス１０２上で実施されるインテリジェント・キャンバス１０６と相互作用することによって、現在の実行コンテキストの使用を維持することができる。
【００２９】
[0036]  開示される主題の態様によれば、トリガするアクションの活性化を通じて、現在の実行コンテキストから離れる(leave)ことなく、インタラクティブ・キャンバスがコンピュータ・ユーザ１０１に提示される。トリガするアクションは、如何なる数のユーザ・アクション、限定的でない例によれば、１つ以上のキー押しまたはキー押しシーケンス、オーディオ・コマンド、タッチ感知表面へのジェスチャ、光感知ジェスチャ等に対応する。図３Ａでは、ユーザ・アクションは、タッチ感知表面（スクリーン）上のスワイプであるものの、これは例示であり限定的なものとして見てはならない。より詳細には、図３Ａおよび図３Ｂを参照すると、コンピュータ・ユーザがインテリジェント・キャンバス１０６を活性化するために指定される位置から彼の指をスワイプした場合に、インテリジェント・キャンバス・ビュー３０４がディスプレイ・ビューに提示される。
【００３０】
[0037]  開示される主題によれば、インテリジェント・キャンバス１０６はユーザ・インタフェース（インテリジェント・キャンバス・ビュー３０４）を提供する。これを通じて、コンピュータ・ユーザは現在の実行コンテキストにインポートされるコンテンツを特定／選択することができる。更に、図示されていないが、インテリジェント・キャンバスは、ユーザが、選択されたコンテンツを（コンテンツ・カードとして）インテリジェント・クリップボード１０８上に更に配置することができる機能を含む。理解されるように、示されたインテリジェント・キャンバス・ビュー３０４は、様々な選択可能なコントロール３０６から３１４を含み、これによって、コンピュータ・ユーザは、現在の実行コンテキストで使用するためにコンテンツをビュー、調査(explore)および／または選択することができる。
【００３１】
[0038]  開示される主題の態様によれば、インテリジェント・キャンバス１０６は、活性化に応じて、現在の実行コンテキストの性質を決定し、また、当該コンテキストにおいてユーザに関連することになると見込まれるコンテンツを先行して提供する。例えば、インテリジェント・キャンバス・ビュー３０４は、ユーザの対応するコンテンツ・カード・インデックスから例示的に取得される、アドレスに関する選択可能コントロール３０６から３１０を提示する。図３Ｃおよび図３Ｄに示されように、コントロール３１０を活性化することにより（この例では、ディスプレイ・ビュー３００のレンタル・フォーム３０２上にコントロールをドラッグすることにより）、コンピュータ・ユーザは、アプリケーションに現在の実行コンテンツを通知し、次いで、コントロール３１０によって表されるコンテンツ・カードの関連するデータをフォームにインポートすることになる。
【００３２】
[0039]  アプリケーションは通常、コンテンツ・カードから情報を受け入れる機能をサポートすべきである。排他的ではないが通常は、インテリジェント・キャンバス１０６は、アプリケーション／実行コンテキストをクエリするように構成され、アプリケーション／実行コンテキストが受け入れ可能な「種別」の情報について判断することができる。当業者には認められるように、この「種別」の情報は、限定的でなく一例では、特定のデータのフォーマットに、または、アプリケーションがデータ構造およびセマンティック情報等を受け入れる情報に対応する。例えば、図３Ａから図３Ｃの例において選択されるコンテンツ・カードは、ユーザの旅行先のホテルに関する構造データを含んでもよい。この例では、アプリケーションは、構造化されたデータ（対応する値／データを有するフィールド）を受け入れて、レンタル・フォーム３０２に情報を挿入することができる。
【００３３】
[0040]  図３Ｂに戻る。「提案」された複数のコンテンツ・カード（コンテンツ・カード３０６から３１０）の内１つを選択すること（これは、アプリケーションにおける所与の現在のコンテキスト／実行コンテキストにおいて使用する潜在的な選択肢として先行して特定される。）に加えて、コンピューティング・デバイス上で動作するインテリジェント・キャンバス１０６はまた、全てのコンテンツ・カードを通じて閲覧することができる機能をコンピュータ・ユーザに提供するように構成することができる。全てのコンテンツ・カードは、ユーザのコンテンツ・カード・インデックスにおいてユーザに利用可能である。更に、図示されないが、コンピュータ・ユーザはまた、アプリケーション／現在の実行コンテンツにインポートするために、コンテンツ・カードを選択することができる機能も提供される。例えば、図３Ｂに示されるように、ユーザ・アクション可能コントロール３１２は、コンテンツ・インデックスにおけるコンテンツ・カードの閲覧機能をユーザが呼び出すことができるユーザ・インタフェース・コントロールを提供する。
【００３４】
[0041]  ユーザの対応するコンテンツ・カード・インデックスにおけるコンテンツ・カードの閲覧／ビューに加えて、インテリジェント・キャンバス１０６は、現在の実行コンテキスト外にある(reside)、また、ユーザのコンテンツ・カード・インデックス外にあるデータをユーザが取得できるインテリジェント・キャンバス・ビュー３０４上に追加のチャネルを提供してもよい。例えば、図３Ｂに示すように、インテリジェント・キャンバス３０４は、現在の実行コンテキストにインポートされることになるコンテンツについてＷｅｂ／インターネットを検索する機能をユーザに提供するユーザ・アクション可能コントロール３１４を含む。これら特徴の全てを通じて、有利なことに、コンピュータ・ユーザには、現在の実行コンテキストから切り替えることなく現在の実行コンテキスト外にあるユーザ・アクセス情報をイネーブルにするツールが提供される。更に、コンテンツ・キャプチャ・プロセスの例では、ユーザは、（キャプチャされたコンテンツに関するセマンティック情報を含む）コンテンツを中央の位置で容易にキャプチャすることができ、また、キャプチャされたコンテンツを、インテリジェント・キャンバスを通じて後続のアクセスのために容易にアクセス可能とすることができる。これらの利点は、（ファイルを保存し、電子メールを受信する等によって）コンテンツを取得し、続いて所望のデータが配置される場所を記憶するのを必要とすし、そして、このような情報を現在の実行コンテキストにインポートする一環として実行コンテキストを切り替えるという現在の方法に対する重大な改良となるということである。
【００３５】
[0042]  これより図４Ａから図４Ｄを参照する。これらの図は、代替のコンピューティング・デバイス４００上で実施されるインテリジェント・キャンバス１０６の例示の実施形態との代替のユーザ相互作用を示す画面図である。より詳細には、図４Ａから図４Ｄは、インテリジェント・キャンバスとのユーザ相互作用を、コンピューティング・デバイス４００（例えばスマートフォン）上で例示的に実施されるものとして示す。図４Ａから図４Ｄに関する例では、コンピュータ・ユーザは、オンラインＷｅｂサービスからズボンを購入する過程にあり、無料の発送のためにベンダからのプロモーションに関する電子メールをユーザが受信したのを思い出している。勿論、ユーザは、ベンダからのこのプロモーションを利用することを望んでいる。このシナリオでは、インテリジェント・キャンバスのないコンピュータ・システムでは、ユーザは、現在の実行コンテキスト（ズボンを購入するというもの）から電子メール・アプリケーションに切り替え、プロモーション・コードを含む電子メールを見つけ出し、そのプロモーション・コードをコピーして（またはそれを記憶して）、そして、実行コンテキストへと戻るように遷移することが必要となる。ここでは、ユーザは、プロモーション・コードを対応するプロモーション・コード・フィールド４０４に入力することができる。代替として、また有利なことに、インテリジェント・キャンバスがコンピューティング・デバイス４００上で動作しているときに、ユーザは、インテリジェント・キャンバスとの相互作用を開始して、現在存在する実行コンテキストから離れることなく情報にアクセスすることができる。実際は、図４Ａの例に示されるように、コンピュータ・ユーザは、コンピュータ・デバイス上で動作するインテリジェント・キャンバス・サービスと相互作用するために、ディスプレイ・スクリーン４０２の上部からスワイプ・ダウンする（タッチ感知デバイスに関し、従来技術において公知のジェスチャである。）。
【００３６】
[0043]  先の図４Ａに関する例を続けると、ユーザがインテリジェント・キャンバス・サービス１０６を活性化させると、インテリジェント・キャンバス・ビュー４０６がユーザに表示される。この例示の実施形態では、インテリジェント・キャンバス・ビュー４０６は、先行して特定される（コントロール４１２によって表される）コンタクト・カードを、インテリジェント・キャンバスにおける閲覧（コンテンツ・カード・インデックスまたは他のソース（例えばｗｅｂ）の何れかについて）のためのコントロール４０８、およびオーディオ命令を受けるコントロール４１０と同様に含む。この例では、現在の実行コンテキストの性質に因り、先行して特定されるインテリジェント・キャンバスは、ユーザがズボンの購入を試行している、ベンダからの電子メールに関連する（コントロール４１２によって表される）コンテンツ・カードを含む。
【００３７】
[0044]  図４Ｃを参照する。ユーザが閲覧コントロール４０８を選択していると想定すると、一連のコンテンツ・カード４１４から４１８がユーザに表示される。そこから、（インテリジェント・キャンバス・ビュー４０６からコンテンツ・カード４１６を表示スクリーン４０２に向けて引き下げることによって）ユーザはコンテンツ・カード４１６を選択している。勿論、これは、コンテンツ・カードを選択する例示の一実施形態であり、ユーザがコンテンツ・カードを選択できる唯一の手法として見てはならない。
【００３８】
[0045]  選択されたコンテンツ・カードの情報に基づいて、また、現在の実行コンテキストのアプリケーションが受け入れることができる情報にしたがって、コンテンツ・カードの情報はアプリケーションにインポートされる。図４Ｄに示すように、ベンダからの電子メールに含まれるプロモーション・コードは、（コンテンツ・カード４１６に表されたものとして）適切なフィールドにインポートされる。上に示唆されるように、コンテンツ・カードの情報はフィールド・ラベルおよび値を含む結果、アプリケーションはインポートされたコンテンツを適切に利用することができる。この例では、コンテンツ・カード４１６からプロモーション・コードを抽出して、プロモーション・コード・フィールド４０４のプロモーション・コードを配置する。
【００３９】
[0046]  図３Ａから図３Ｄおよび図４Ａから図４Dに示されるインテリジェント・キャンバス１０６についての例示の実施形態についてタッチ感知デバイスに関して説明される一方で、これらは、インテリジェント・キャンバスのユーザ・インタフェースの例示の実施形態であり、唯一の例として見てはならないことが認められるべきである。インテリジェント・キャンバスは、如何なる数のユーザ・インタフェースと相互作用するように構成されてもよい。ユーザ・インタフェースは、一例によれば、キー押しシーケンス、音声コマンド、ポインティング・デバイス（例えば、マウス、トラック・パッド等）、（光学または無線トライアンギュレーションによって検知される）物理的なジェスチャ、（加速度計および他の動き感知デバイスによって感知される）デバイスの動き等である。
【００４０】
[0047]  これにより図５を参照する。図５は、コンピューティング・デバイス上でインテリジェント・キャンバス１０６を実施するための例示のルーチン５００を示すフロー図である。ブロック５０２で開始し、インテリジェント・キャンバスは、コンピューティング・デバイス上に提供される。開示される主題の態様によれば、インテリジェント・キャンバスは、オペレーティング・システム・レベルのサービスとして提供される。インテリジェント・キャンバスに関し、オペレーティング・システム・レベルのサービスが提供される一方で、これは、クラウド・サービス、シェル・サービスおよびブラウザのプラグ・イン等としてオペレーティング・システム・レベルで実施されるかどうかに拘わらず、現在の実行コンテキストの拡張機能として動作する（即ち、インテリジェント・キャンバスを呼び出すことは、現在の実行コンテキストの変更を生じさせるのではなく、実行コンテキストの拡張機能としてビューされる）ことを意味するものと認められるべきである。更に、インテリジェント・キャンバスが実施される特定の手法に拘わらず、インテリジェント・キャンバスの呼び出しおよび相互作用は、コンピューティング・システム上で同一である。ブロック５０４では、インテリジェント・キャンバスとの相互作用の要求が受け取られる。ブロック５０６では、インテリジェント・キャンバスのユーザ・インタフェースが、要求元のユーザに提示される。
【００４１】
[0048]  ブロック５０８では、現在の実行コンテキスト／アプリケーションのコンテキスト情報が任意に判断される。上に示されるように、インテリジェント・キャンバス１０６は、コンピュータ・ユーザがアクセスすることを望むコンテンツを先行して特定する際に、コンテキスト情報を利用することができる。つまり、ブロック５１０では、インテリジェント・キャンバスは、所与の現在のアプリケーション／実行コンテキストについて、予想される／見込まれるコンテンツをユーザのために任意に特定（および提示）する。
【００４２】
[0049]  ブロック５１２では、インテリジェント・キャンバス１０６は、コンテンツの選択を受ける。上に示されるように、コンテンツの選択は、ユーザのコンテンツ・カード・インデックスからのコンテンツ・カードの選択としてもよく、または、他のソース（例えば、インターネット、ユーザの電子メール、およびコンピューティング・デバイス上のファイル等）からのものとしてもよい。ブロック５１４では、現在の実行コンテキストが受け入れることができる様々なフォーマットまたは種別についての判断が行われる。判定ブロック５１６では、選択されたコンテンツをインテリジェント・キャンバスが変換する必要があるかについての判定が行われる。例えば、選択されたコンテンツ・カードのコンテンツを、実行コンテキストが受け入れることができるフォーマットにインテリジェント・キャンバスが変換しなければならないかについて判定が行われる。ＹＥＳの場合は、ルーチン５００はブロック５１８へ進み、ここでは、インテリジェント・キャンバスは、要求されたフォーマットで、選択されたコンテンツを変換する（或いは、選択されたコンテンツの変換を取得する）。選択されたコンテンツの変換がアプリケーション／現在の実行コンテキストによって、或いは、インテリジェント・キャンバスによって実施される一方で、更なる別の実施形態では、インテリジェント・キャンバスは、オンライン・サービスに依存して、選択されたコンテンツへの変換を提供できることが認められるべきである。代替として、または、選択されたコンテンツを変換した後に、ブロック５２０では、コンテンツが、現在の実行コンテキスト／アプリケーションに提供される。その後に、ルーチン５００は終了する。
【００４３】
[0050]  上記の考察は、インテリジェント・キャンバス１０６を通じてコンテンツ・カード・インデックスのコンテンツ・カードにアクセスすることに関して行われるものである。インテリジェント・キャンバス１０６は、オペレーティング・システム・レベルのサービスを提供し、その結果、ユーザは、実行コンテキストの外にあるデータにアクセスするために、現在の実行コンテキストから切り替えるのを強いられない。他方、コンテンツ・カード・インデックス１１０のコンテンツ・カードは、インテリジェント・クリップボード１０８（即ち、コンテンツ・カード・インデックス１１０のコンテンツ・カードをビューして、コンテンツ・カードをインテリジェント・クリップボード１０８の一時ストレージに一時的に配置するコピー操作を実行するように提供されるインタフェース）へとアクセス可能とする。勿論、インテリジェント・クリップボード１０８は通常、ユーザによって現在ビューされている（または選択的に特定されている）コンテンツを、現在選択された（ビューされた）コンテンツに対するカットまたはコピー操作の使用によってインテリジェント・クリップボードの一時ストレージ上にキャプチャするように実施される。
【００４４】
[0051]  図６は、インテリジェント・クリップボード１０８へのコピー（またはカット）操作を実施するための例示のルーチン６００を示すフロー図である。ブロック６０２で開始し、インテリジェント・クリップボードは、カット操作（例えば、現在の実行コンテキスト／アプリケーションから選択されるコンテンツを配置し、インテリジェント・クリップボード上に配置し、現在の実行コンテキストから選択されたコンテンツを除去する）またはコピー操作（例えば、インテリジェント・クリップボード上に現在の実行コンテキストから選択されたコンテンツを配置する）についてコンピュータ・ユーザから指標を受け取る。ブロック６０４では、インテリジェント・クリップボードは、選択されたコンテンツを、現在の実行コンテキスト／アプリケーションから取得する。上に示されるように、選択されたまたは現在のコンテンツを取得するときに、リッチおよびロバスト情報が取得される。当該情報は、セマンティック情報、構造関係、およびコンテキスト・データ等を含む。ブロック６０６では、インテリジェント・クリップボード１０８は、取得されたコンテンツについての１つ以上のコンテンツ・カードを動的に生成する。ブロック６０８では、コンテンツ・カード（または複数のコンテンツ・カード）は、インテリジェント・クリップボードの一時ストレージに格納される。判定ブロック６１０では、コピーまたはカット操作であるかについての判定が行われる。操作が「カット」操作である場合、ブロック６１２では、選択されたコンテンツが現在のアプリケーションから除去される。その後に、またはこれがコピー操作である場合に、ルーチン６００は終了する。
【００４５】
[0052]  図７は、インテリジェント・クリップボードに関して「ペースト」操作を実施するための例示のルーチン７００を示すフロー図である。ブロック７０２で開始し、インテリジェント・クリップボード１０８は、コンピュータ・ユーザから指標／指示を受けて、ペースト操作（即ち、現在のクリップボード・コンテンツを現在の実行コンテキスト／アプリケーションにコピーする）を実行する。ブロック７０４では、インテリジェント・クリップボード１０８は、現在の実行コンテキストについての現在の必要性（即ち、現在の実行コンテキストを受け入れ可能とする必要性および／またはフォーマット）を判断する。判定ブロック７０６では、インテリジェント・クリップボードによって保持される（コンテンツ・カードとしての）コンテンツが変換されなければならないかどうかについて判定が行われる。ＹＥＳの場合、ブロック７０８ではコンテンツが変換される。或いは、またはその後に、ブロック７１０では、コンテンツは現在の実行コンテキストに提供される。その後に、ルーチン７００は終了する。
【００４６】
[0053]  （図２および図５から図７に関して）上述したルーチンに関し、本明細書で説明する他のプロセスと同様に、これらルーチン／プロセスが別個のステップに関して表現されるが、これらステップは事実上、論理的なものとして見られるべきものであり、特定の実装態様における如何なる実際のステップおよび／または別個のステップにも対応してもよく、そうでなくてもよい。これらステップが様々なルーチンおよびプロセスで提示される順序は、ステップが実行される順序のみであるものと解釈してはならない。更に、開示される主題の様々な新規な特徴をこれらルーチンが含む一方で、他のステップ（リストしていない）がまた、ルーチンの実行時に実行されてもよい。当業者にとって、これらルーチンの論理ステップは、共に組み合わされてもよく、或いは複数のステップから成ってもよい。上述したルーチンのステップは並列して或いは連続して実行してもよい。排他的ではないが、しばしば、様々なルーチンの機能性はソフトウェア（例えば、アプリケーション、システム・サービス、ライブラリ等）に組み込まれる。当該ソフトウェアは、コンピューティング・デバイス（例えば、図８に関して後述されるコンピューティング・デバイス）上で実行される。様々な実施形態では、様々なルーチンの全部または一部はまた、限定的ではないが、コンピュータ・システム上のシステム・オン・チップ、特別に設計されたプロセッサおよび／または他の論理回路等を含む実行可能なハードウェア・モジュールに組み込んでもよい。
【００４７】
[0054]  これらルーチン／プロセスは通常、ルーチン、機能、セレクタ（例えば、if-thenおよびif-then-elseの記述）、アサインメント、算術計算等を含む実行可能コードで実装される。しかしながら、各ルーチンにおける実行可能な記述の正確な実装は、プログラミング言語、コンパイラ、ターゲット・プロセッサ、動作環境等を含む様々な実装構成および決定に基づく。当業者は、これらルーチンで識別される論理ステップは如何なる数の手法で実装されてよく、したがって、上述した論理説明が類似の結果の達成を十分に可能にすることを容易に認めるであろう。
【００４８】
[0055]  開示される主題についての多くの新規の態様は、アプリケーションに組み込まれるルーチン（コンピュータ・プログラムとも称される）、アプリ（小さく、汎用的な単一或いは狭小目的(narrow purposed)アプリケーション）、および／またはメソッドで表現される。その一方で、これらの態様はまた、コンピュータ可読ストレージ媒体とも称されるコンピュータ可読媒体によって格納されるコンピュータ実行可能命令として組み込まれてもよい。当業者が認めるように、コンピュータ可読媒体は、その後の抽出および実行のためにコンピュータ実行可能命令をホストすることができる。コンピュータ可読ストレージ／デバイスに格納されるコンピュータ実行可能命令が実行されると、それらは、図示した様々なルーチンに関し、上述したステップ、方法およびルーチンを含む様々なステップ、方法および／または機能を実行する。コンピュータ可読媒体の例には、限定的ではないが以下が含まれる。即ち、光ストレージ媒体（例えば、ブルーレイ・ディスク、デジタル・ビデオ・ディスク（ＤＶＤ）、コンパクト・ディスク（ＣＤ）、光学ディスク・カートリツジ等）と、ハードディスク・ドライブ、フロッピー・ディスク、磁気テープ等を含む磁気記録媒体と、メモリ・ストレージ・デバイス（例えば、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、メモリ・カード、ｔｈｕｍｂドライブ等）と、クラウド・ストレージ（即ち、オンライン・ストレージ・サービス）等とである。しかしながら、本開示の目的では、コンピュータ可読媒体は、搬送波信号および伝播信号を明示的に除外している。
【００４９】
[0056]  これより図８を参照する。図８は、インテリジェント・キャンバス１０６およびインテリジェント・クリップボード１０８によって最適に構成される例示のコンピューティング・デバイス８００を示すブロック図である。例示のコンピューティング・デバイス８００は、プロセッサ８０２（または処理ユニット）およびメモリ８０４を含み、システム・バス８１０を通じて相互接続される。容易に認められるように、メモリ８０４は（常にではないが）通常は、揮発性メモリ８０６および不揮発性メモリ８０８の両方を備える。揮発性メモリ８０６は、メモリが給電されている限り情報を保持または格納する。対照的に、不揮発性メモリ８０８は、電源が利用可能でない場合でも格納する（または残す）ことができる。一般に、ＲＡＭおよびＣＰＵキャッシュ・メモリは、揮発性メモリ８０６の例であり、他方、ＲＯＭ、ソリッド・ステート・メモリ・デバイス、メモリ・ストレージ・デバイス、および／またはメモリ・カードは不揮発性メモリ８０８の例である。
【００５０】
[0057]  プロセッサ８０２は、特に、上述したようにコンテンツをキャプチャしてコンテンツ・カード・インデックスにし、インテリジェント・キャンバスを提供し、そして、インテリジェント・クリップボードを提供することに関する様々な機能を実行する際に、メモリ８０４から抽出される指示を実行する。プロセッサ８０２は、様々な商業的に入手可能なプロセッサ（例えば、シングル・プロセッサ、マルチ・プロセッサ、シングル・コア・ユニット、およびマルチ・コア・ユニット）の何れかから成る。更に、当業者にとって、開示される主題についての新規の態様は、他のコンピュータ・システム構成で実施できることが認められるであろう。他のコンピュータ・システム構成は、限定的ではないが、パーソナル・デジタル・アシスタント、ウェアラブル・コンピューティング・デバイス、スマートフォン・デバイス、タブレット・コンピューティング・デバイス、ファブレット・コンピューティング・デバイス、ラップトップ・コンピュータ等を含む。
【００５１】
[0058]  システム・バス８１０は、モバイル・デバイスの様々なコンポーネント用のインタフェースを相互通信に提供する。システム・バス８１０は、任意の幾らかの種別のバス構造とすることができ、（内部および外部コンポーネントの両方を含む）様々なコンポーネントを相互接続することができる。例示のコンピューティング・システム８００は更に、ネットワーク・コンポーネント８１２を含み、コンピューティング・デバイス８００を、他のネットワーク・アクセス可能なコンピュータ、オンライン・サービス、および／またはネットワーク・エンティティ、並びにコンピュータ・ネットワーク上の他のデバイスと相互接続する。ネットワーク通信コンポーネント８１２は、有線接続、無線接続、またはその両方によって、ネットワーク（非図示）を介して様々なコンピュータおよびデバイスと通信するように構成される。
【００５２】
[0059]  また、例示のコンピューティング・デバイス８００には、コンテンツ・キャプチャ・コンポーネント８１８が含まれる。これは、上述したコンテンツ・キャプチャ・プロセス１０４を実施する。上に示されるように、コンテンツ・キャプチャ・プロセスは、フレームワーク１１２を利用するように構成され、様々なコンテンツ・キャプチャ・モジュール（例えば、キャプチャ・モジュール８１６）によって更新することができる。通常、排他的ではないが、キャプチャ・モジュール８１６は、コンテンツ・キャプチャ・コンポーネント８１８のフレームワーク１１２とインタフェースするソフトウェア・コンポーネントである。キャプチャされるコンテンツは、コンテンツ・カードに組み込まれ(embody)、コンテンツ・カード・インデックス１１０に格納される。
【００５３】
[0060]  例示のコンピューティング・デバイス８００にはまた、インテリジェント・キャンバス・モジュール１０６が含まれる。上述したように、インテリジェント・キャンバス・モジュールは、オペレーティング・システム・レベルのサービスとして実施され、コンピューティング・デバイス８００上で現在の実行コンテキストを変更することなく、コンピューティング・デバイス８００のユーザによってアクセスすることができる。インテリジェント・キャンバス・モジュール１０６は、コンピュータのユーザとインタフェースして、コンピューティング・デバイス８００のユーザＩ／Ｏサブシステム８２２を通じて上述した機能性を提供することができる。更にまた、例示のコンピューティング・デバイス８００は、上述したインテリジェント・クリップボード１０８を含む。
【００５４】
[0061]  例示のコンピューティング・デバイス８００の様々なコンポーネントに関し、当業者は、これらコンポーネントは、コンピューティング・デバイスが有するメモリに格納される実行可能なソフトウェア・モジュールとして、ハードウェア・モジュール（ＳｏＣｓを含む）として、またはこれら２つの組み合わせで実装することができることを認めるであろう。また、様々なコンポーネントの各々は、独立して、協働的なプロセスまたはデバイスとして実装され、１つ以上のコンピュータ・システムおよび／またはコンピューティング・デバイスと協働して動作する。更に、勿論、例示のコンピューティング・デバイス８００に関して上述した様々なコンポーネントは、説明した様々な機能を実行するための論理コンポーネントとして見るべきであることが認められなければならない。当業者は容易に認めることになるように、論理コンポーネントおよび／またはサブシステムは、直接、１対１で、実際の個別コンポーネントに対応してもよいし、そうでなくてもよい。実際の実施形態では、各コンピュータ・システムの様々なコンポーネントは、共に結合されてもよく、若しくは、複数の実際のコンポーネントにわたり分散されてもよいし、および／またはコンピュータ・ネットワーク上で協働プロセスとして実装されてもよい。
【００５５】
[0062]  開示される主題の様々な新規の態様について説明してきたが、これらの態様は例示のものであり、限定的なものと解釈されてはならないことが認められるべきである。様々な態様に対する変更および代替が、開示される主題の主旨を逸脱しない範囲でなされてもよい。
【図１】
2017535005.tif 000003
【図２】
2017535005.tif 000004
【図３Ａ】
2017535005.tif 000005
【図３Ｂ】
2017535005.tif 000006
【図３Ｃ】
2017535005.tif 000007
【図３Ｄ】
2017535005.tif 000008
【図４Ａ】
2017535005.tif 000009
【図４Ｂ】
2017535005.tif 000010
【図４Ｃ】
2017535005.tif 000011
【図４Ｄ】
2017535005.tif 000012
【図５】
2017535005.tif 000013
【図６】
2017535005.tif 000014
【図７】
2017535005.tif 000015
【図８】
2017535005.tif 000016
【国際調査報告】
2017535005.tif 000017
2017535005.tif 000018