(57)【要約】  クラウドコンテンツを認識する技術が本明細書に記載される。サービスに対応するクラウドコンテンツの指定された記憶位置はデバイスにおいてローカルに登録される。登録された記憶位置に関連付けて格納されたファイルは、対応するサービスのクラウドコンテンツとして認識することができる。認識されたクラウドコンテンツは、ユーザーエクスペリエンスをカスタマイズしクラウドコンテンツとのインタラクションを調整するために様々な方法で処理することができる。例えば、アイコン又は他の視覚的識別子は、クラウドコンテンツとしてのファイルの認識に基づいて、特定のサービスとのファイルの関連付けを表すために、デバイス、オペレーティングシステム及び／又はアプリケーションユーザーインターフェイス内で使用することができる。また、デバイスの登録された記憶位置は、異なるデバイス間でファイルアクティビティリストをローミングするために使用することができる、ファイルに対する相対パスを得るために使用することができる。
2015505627.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスによって実施される方法であって、
コラボレーションサービスに関連付けられるファイルについて、コンピューティングデバイス上のローカル記憶位置を登録するステップと、
前記登録された位置に対応するファイルを検出するステップと、
前記検出されたファイルを前記コラボレーションサービスに関連付けられるクラウドコンテンツとして認識するステップと、
前記コラボレーションサービスとの前記認識されたファイルの関連付けを反映するために、前記コンピューティングデバイスの１つ又は複数のアプリケーションを介して表示するための指示を出力するステップと
を含む方法。
【請求項２】
前記ローカル記憶位置を登録するステップは、コラボレーションサービスに対応するファイルについての位置の登録のために指定されたデータオブジェクトを介して前記ローカル記憶位置を記憶するステップを含む請求項１に記載の方法。
【請求項３】
前記データオブジェクトはファイルシステム構成及び設定エントリーを含む請求項２に記載の方法。
【請求項４】
前記ファイルは、前記ファイルが同期される複数のデバイス上でローカルに格納されるバージョンを有する同期されたオフラインファイルを含む請求項１に記載の方法。
【請求項５】
前記指示が、アクティビティリストにおいて提示される対応するアイテムによる表示のための前記コラボレーションサービスを表すアイコンを含む請求項１に記載の方法。
【請求項６】
前記登録された位置に対応するファイルを検出するステップは、前記登録された位置を含む参照を検出するために前記ファイルに対する参照を解析するステップを含む請求項１に記載の方法。
【請求項７】
前記１つ又は複数のアプリケーションは、複数のオフィス生産性モジュールを統合する生産性スイートを含む請求項１に記載の方法。
【請求項８】
前記認識されたファイルのうちの特定のファイルに対してアプリケーションによって実行される処理動作を検出するステップと、
前記特定のファイルへの完全なパスから前記登録されたローカル記憶位置のパスを除去することによって前記特定のファイルへの相対パスを構築するステップと、
前記特定のファイルの前記処理動作を説明したアイテムをアクティビティリストに追加するために前記相対パスを使用するステップと
をさらに含む請求項１に記載の方法。
【請求項９】
クライアントデバイスによって実行されると認識モジュールを実施する命令を含む１つ又は複数のコンピューター読み取り可能な記憶媒体であって、前記認識モジュールは、
コラボレーションサービスを介して複数のデバイスにわたって同期されるファイルの相対パスに関連付けられるアクティビティを確認するステップと、
前記相対パスを、前記クライアントデバイスに対して登録された前記コラボレーションサービスに関連付けられるファイルについての登録された位置と組み合わせることにより、前記クライアントデバイスのローカルストレージ内の前記ファイルのローカルバージョンへのパスを構築するステップと、
前記コラボレーションサービスに関連付けられる前記ファイルに対応するリストアイテムについての構築されたパスを使用するアクティビティのリストをレンダリングするステップと
を含む動作を実行するように構成される、１つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項１０】
前記認識モジュールが、
前記登録された位置の下の前記クライアントデバイスのローカルストレージに格納されたファイルを、前記コラボレーションサービスに関連付けられるクラウドコンテンツとして認識するステップと、
前記ローカルストレージ内の前記ファイルへのパスから前記登録された位置を除去することによって形成される相対パスを使用して、クラウドコンテンツとして認識された前記ファイルを有する１つ又は複数のアプリケーションのアクティビティを追跡するステップと、
他のデバイスが前記アクティビティを前記他のデバイスのローカルストレージ内のファイルの対応するバージョンに一致させることを可能にするために、前記相対パスを使用して、クラウドコンテンツとして認識された前記ファイルの前記アクティビティのリストを、前記コラボレーションサービスを介してローミングするステップと
を含む動作を実行するようにさらに構成される請求項９に記載の１つ又は複数のコンピューター読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンテンツの認識に関する。
【背景技術】
【０００２】
[0001]ユーザーがドキュメントや他のコンテンツを管理し、「クラウドに」コンテンツを格納し、ネットワークを介して様々なデバイスからクラウドコンテンツにアクセスするのを助けるのに利用可能なファイルストレージ及び同期ソリューションは、ますます一般的になりつつある。従来、アプリケーション及びファイルシステムは、ファイルがユーザーに対してどのように取り扱われ及び／又は提示されるかという観点で、ローカルに保持されるコンテンツ（例えば、ローカルファイル）とクラウドコンテンツ（例えば、同期されたファイル）との間の区別をしない。複数の．ｔｘｔファイルなどの同じタイプを有するファイルは、ファイルがローカルに保持されるのか又は他のデバイスと同期されるのかどうかに関係なく、デバイスによって実質的に同様に取り扱われ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、クラウドコンテンツを認識し、クラウドコンテンツを対応するプロバイダーと関連付け、及び／又はクラウドコンテンツに対するカスタマイズされた処理を可能にするような適切なメカニズムは、現在存在しない。
【課題を解決するための手段】
【０００４】
[0002]クラウドコンテンツを認識する技術が説明される。実施例では、サービスに対応するクラウドコンテンツに対して指定された保存先についてのパス名又は他の適切な識別子がデバイスにおいてローカルに登録される。登録された保存先に関連付けて格納されたファイルは、対応するストレージサービスのクラウドコンテンツとして認識される。認識されたクラウドコンテンツは、ユーザーエクスペリエンスをカスタマイズするために種々の方法で処理することができる。例えば、アイコンや他の視覚的な識別子は、ファイルをクラウドコンテンツとして認識することに基づいて特定のサービスとのファイルの関連付けを表すために、デバイス、オペレーティングシステム及び／又はアプリケーションユーザーインターフェイス内で使用することができる。さらに、デバイスについて登録された保存先は、異なるデバイス間でファイルアクティビティリストをローミングするために使用することができる、ファイルに対する相対パスを得るために使用されてもよい。
【０００５】
[0003]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化した形で紹介するために設けられる。この概要は、特許請求される主題の重要な特徴又は不可欠な特徴を特定することを意図したものではなく、特許請求される主題の範囲を決定する助けとして使用されることも意図されない。
【０００６】
[0004]詳細な説明は添付の図面を参照して説明される。図面において、参照番号の最も左の数字は、その参照番号が最初に現れる図を特定する。明細書及び図面における異なる例における同一の参照番号の使用は、類似又は同一の項目を示してもよい。図に示されるエンティティは１つ又は複数のエンティティを示してもよく、したがって、以下の説明において、単一又は複数の形態のエンティティに対して取り替え可能に参照することができる。
【図面の簡単な説明】
【０００７】
【図１】[0003]クラウドコンテンツを認識するための技術を使用するように動作可能な例示的な動作環境の図である。
【図２】[0006]１つ又は複数の実施例による、クラウドコンテンツを認識して取り扱うためのいくつかの例示的なシナリオを示す図である。
【図３】[0007]１つ又は複数の実施例による、認識されたクラウドコンテンツについて視覚表示を出力する例示的手順を示す流れ図である。
【図４】[0008]１つ又は複数の実施例による、相対パスを使用して認識されたクラウドコンテンツとのアクティビティについてのパスを構築するための例示的な手順を示す流れ図である。
【図５】[0009]１つ又は複数の実施例による、認識されたクラウドコンテンツについてのアクティビティをローミングする例示的手順を示す流れ図である。
【図６】[0008]１つ又は複数の実施例による、クラウドコンテンツとのインタラクトのための例示的なユーザーインターフェイスを示す図である。
【図７】[0011]本明細書に記載の技術の実施例を実施するために用いることができる様々な例示的なシステムを示す。
【発明を実施するための形態】
【０００８】
概要
[0012]クラウドコンテンツの認識技術が説明される。実施例において、サービス（例えば、ファイルコラボレーション及び／又は同期サービス）に対応するクラウドコンテンツについての指定された保存先のパス名又は他の適切な識別子が、デバイスにおいてローカルに登録される。たとえば、パス名は、ダイナミックリンクライブラリー（ｄｌｌ）エントリー、データベースレコード及び／又はフィールド、テキストファイル、マークアップ言語ドキュメント、レジストリーエントリー、そのような保存先を登録するために指定される他の適切なデータオブジェクト／パラメーターを含むがこれらに限定されない、指定されたデータオブジェクトを使用して登録することができる。ファイル同期アプリケーションがクライアントにおいてインストールされる場合に登録が生じてもよい。登録されたパスの下のフォルダーやサブフォルダー内などの、登録される保存先と関連付けて格納されたファイルは、対応するサービスのクラウドコンテンツとして認識される。例えば、デバイスのアプリケーションは、ファイルコラボレーションサービス及び／又は同期サービスの登録のために指定される指定されたデータオブジェクトを介して、登録されたパスを検索するように構成されてもよい。認識されたクラウドコンテンツは、次いで、ユーザーエクスペリエンスをカスタマイズするために種々の方法でデバイスにおいて処理されてもよい。例えば、アイコンや他の視覚的な識別子は、ファイルをクラウドコンテンツとして認識することに基づいて特定のサービスとのファイルの関連付けを表すために、様々なデバイス、オペレーティングシステム及び／又はアプリケーションユーザーインターフェイス内で使用することができる。
【０００９】
[0013]さらに、デバイスについての登録された保存先は、アクティビティリスト中のファイルとのアクティビティを追跡するために使用され得る、対応するファイルに対する相対パスを取得するためにアプリケーションによって使用することができる。クラウドコンテンツについての相対パスを様々なアクティビティと関連付けるアクティビティリストは、様々なデバイス間でローミングすることができる。各々の個々のデバイスにおいて、それぞれの登録されたパスは、同期されたクラウドコンテンツのローカルに格納されるバージョンを正しく参照する構築されたパスを有するアクティビティリストをレンダリングするために、相対パスと組み合わせることができる。
【００１０】
[0014]以下の説明では、本明細書に記載された技術を使用することができる例示的な環境が最初に説明される。次いで、例示的環境及び他の環境で実行することができる例示的な手順が説明される。それ故、例示的な手順の実行は例示的な環境に限定されるものではなく、例示的な環境は例示的な手順の実行に限定されるものではない。次に、認識されたクラウドコンテンツとのインタラクションを可能にするための例示的なユーザーインターフェイスについて説明する。最後に、本明細書に記載の技術の実施例を実施するために使用することができる例示的なシステム及びシステムのコンポーネントが説明される。
例示的な環境
[0015]図１は、本明細書に記載の技術を使用するように動作可能である例示的な実施例における環境１００の図である。図示される環境１００は、ネットワーク１０８を介して通信するように接続される、クライアントデバイス１０２、他のクライアントデバイス１０４及びサービスプロバイダー１０６を含む。クライアントデバイス１０２、他のクライアントデバイス１０４及びサービスプロバイダー１０６は、１つ又は複数のコンピューティングデバイスによって実施することができ、また、１つ又は複数のエンティティを表してもよい。
【００１１】
[0016]コンピューティングデバイスは、様々な方法で構成することができる。例えば、コンピューティングデバイスは、デスクトップコンピューター、移動局、エンターテイメント機器、表示デバイスに通信可能に結合されたセットトップボックス、携帯電話、ゲームコンソールなどの、ネットワーク１０８を介して通信することが可能なコンピューターとして構成することができる。したがって、コンピューティングデバイスは、十分なメモリー及びプロセッサーリソースを有するフルリソースデバイス（例えば、パーソナルコンピューター、ゲームコンソール）から、限られたメモリー及び／又は処理リソースを有する低リソースデバイス（例えば、従来のセットトップボックス、ハンドヘルドゲーム機）に及んでもよい。また、単一のコンピューティングデバイスがいくつかの例で示されるが、コンピューティングデバイスは、複数の動作を実行するビジネスで利用されるサービスプロバイダー１０６の複数のサーバーなどの、複数の異なるデバイスを表してもよい。本明細書に記載された技術を実施するのに適したコンピューティングシステム及びデバイスの更なる例は、図７に関連して以下に説明される。
【００１２】
[0017]ネットワーク１０８はインターネットとして図示されるが、ネットワークは多種多様な構成をとることができる。例えば、ネットワーク１０８は、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスネットワーク、公衆電話網、イントラネットなどを含むことができる。さらに、単一のネットワーク１０８が示されるが、ネットワーク１０８は、複数のネットワークを含むように構成することができる。
【００１３】
[0018]クライアントデバイス１０２は、さらに、オペレーティングシステム１１０を含むものとして示される。オペレーティングシステム１１０は、クライアントデバイス１０２上で実行可能なアプリケーション１１２に、基礎となるデバイスの基本機能を要約するように構成される。例えば、オペレーティングシステム１１０は、基本的な機能が「どのように」実施されるかを知ることなくアプリケーション１１２を書くことができるように、処理、メモリー、ネットワーク、及び／又は表示機能を要約することができる。アプリケーション１１２は、例えば、レンダリングがどのように実行されるかを理解することなく、示されるようにレンダリングされて表示デバイスによって表示されるデータをオペレーティングシステム１１０に提供することができる。通常、クライアントデバイスに関連付けられた様々なアプリケーション１１２は、複数のオフィス生産性モジュールを統合する製品一式、ウェブブラウザー、ゲーム、マルチメディアプレーヤー、ワードプロセッサー、スプレッドシートプログラム、フォトマネージャーなどを含むがこれらに限定されないと考えられる。
【００１４】
[0019]クライアントデバイス１０２はまた、ファイル同期モジュール１１４を含むものとして示される。ファイル同期モジュール１１４は、ネットワーク１０８を介して様々なファイルの様々な同期を可能にするクライアント側の機能である。例えば、クライアントデバイス１０２は、ローカルファイルと、他のデバイスと同期させることができるクラウドコンテンツ１１８（例えば、「同期されたファイル」）とを格納するために使用することができるローカルストレージ１１６を含んでもよい。ファイル同期モジュール１１４は、ファイルの同期及び関連する動作を実行するためにサービスプロバイダー１０６によって提供されるサービスに接続するように動作することができる。一例として、クラウドコンテンツ１１８は、クライアントデバイス１０２及び他のクライアントデバイス１０４の両方と関連付けられるものとして図１に示される。この文脈において、クラウドコンテンツ１１８は、複数の異なるデバイスのそれぞれのローカルストレージ１１６に保持され、複数のデバイスに分散されたファイル同期モジュール１１４を介して複数の異なるデバイスにわたって同期させることができるファイルのローカルバージョンを表す。ファイル同期モジュール１１４は、図示されるようにスタンドアロンのアプリケーションとして及び／又は別のアプリケーションのコンポーネントとして提供されてもよい。
【００１５】
[0020]また、クライアントデバイス１０２は、本明細書に記載されるように、クラウドコンテンツを認識し、それに従って認識されたクラウドコンテンツを処理するための技術を実施するように構成された認識モジュール１１９を含むことができる。図示のように、認識モジュール１１９は、様々なアプリケーション１１２がクラウドコンテンツを認識するために利用することができるスタンドアロンのアプリケーションとして提供されてもよい。さらに又は代替的に、認識モジュール１１９は、ワードプロセッサー又は他のデスクトップアプリケーションのコンポーネントであるなど、別のアプリケーションのコンポーネントとして実施されてもよい。さらに、別々に示されているが、認識モジュール１１９の機能は、少なくともいくつかの実施例では、ファイル同期モジュール１１４と組み合わせることができる。
【００１６】
[0021]サービスプロバイダー１０６は、ネットワーク１０８を介して利用可能にすることができる様々なリソース１２２を管理するためにサービスプロバイダー１０６によって操作可能な機能を表すリソースマネージャー１２０を格納するものとして示される。例えば、様々なリソース１２２は、ウェブページを介して、又はウェブブラウザーや他のクライアントアプリケーションを介した１つ又は複数のクライアントによる出力のためにネットワークを介して通信される他のユーザーインターフェイス１２４を介して提供することができる。リソースマネージャー１２０は、リソース１２２へのアクセス、リソースのパフォーマンス、及びリソース１２２を提供するためのユーザーインターフェイス１２４の設定などを管理してもよい。サービスプロバイダー１０６は、様々なリソース１２２を提供するために使用される１つ又は複数のサーバーデバイスを表すことができる。
【００１７】
[0022]一般に、サービスプロバイダー１０６によってアクセス可能にされるリソース１２２は、１つ又は複数のプロバイダーによってネットワークを介して通常は利用可能にされるサービス及び／又はコンテンツの任意の適切な組み合わせを含むことができる。サービスのいくつかの例は、検索サービス、電子メールサービス、インスタントメッセージサービス、オンライン生産性スイート（productivity suite）、及びリソース１２２へのクライアントのアクセスを制御する認証サービスを含むが、これらに限定されるものではない。コンテンツは、テキスト、マルチメディアストリーム、ドキュメント、アプリケーションファイル、写真、オーディオ／ビデオファイルアニメーション、イメージ、ウェブページ、ウェブアプリケーション、デバイスアプリケーション、ブラウザー又は他のクライアントアプリケーションによって表示するためのコンテンツなどの様々な組み合わせを含んでもよい。
【００１８】
[0023]サービスプロバイダー１０６によって提供することができるリソース１２２の１つの特定の例は、図１に示すようなコラボレーションサービス１２６である。コラボレーションサービス１２６は、サービスプロバイダー１０６に関連付けられるユーザーアカウントに割り当てることができるオンラインストレージ１２８を提供し、管理するように動作可能な機能を表す。オンラインストレージ１２８は、ドキュメント、アプリケーションファイル、写真、モバイルアップロード、及びオーディオ／ビデオファイルなどのクラウドコンテンツ１１８について「クラウド内の」ストレージをユーザーに提供し、そのため、ユーザーは、ネットワーク１０８を介して任意の場所から自身のコンテンツアイテムにアクセスし、他の人と共同作業をするためにコンテンツを共有することができる。コラボレーションサービス１２６はまた、ユーザーによって指定された複数の異なるデバイスにわたってユーザーがファイルを同期することを可能にする。第三者（例えば、他のプロバイダー）によって提供される複数のコラボレーションサービスはまた、それぞれのストレージ及びファイル同期を提供することができる。したがって、クラウドコンテンツ１１８は、クライアントデバイスに配置される対応するファイル同期モジュール１１４とのインタラクションを介して、異なるコラボレーションサービスを経由して複数のデバイスにわたって同期させることができる。
【００１９】
[0024]図１に示されるように、特定のコラボレーションサービス１２６に関連付けられるクラウドコンテンツ１１８に対応するファイルのそれぞれのバージョンは、ローカルストレージ１１６内の各クライアントデバイスによってローカルに格納することができる。実施例では、コラボレーションサービス１２６はまた、各デバイスにおいてローカルにコンテンツを格納することに加えて、オンラインのアクセスのためにオンラインストレージ１２８内にファイルのそれぞれのバージョンを格納するように構成される。
【００２０】
[0025]サービスプロバイダー１０６はまた、クライアントアカウントに関連して、プロファイルデータを格納することができる。クライアントアカウントに関連付けられるプロファイルデータは、１つ又は複数のアプリケーションについて、ファイル、ユーザー設定、カスタムテンプレート／設定などにより、挙動及びアクティビティを記述することができる。「クラウド内に」保持されるプロファイルデータは、デバイス間でローミングされ、対応するアカウントに対してクライアントが認証された場合にそれに応じてアプリケーションをカスタマイズするために適用することができる。これは、以下の図面に関連してより詳細に説明するように、固定のアイテム及びアクティビティリストをローミングすることを含んでもよい。単一のサービスプロバイダー１０６が、クラウドコンテンツに関連するアクティビティについてローミングを可能にすることに加えて、コラボレーションサービス１２６を提供してもよい。さらに、サービスプロバイダー１０６は、サービスプロバイダー及び／又は第三者を含む異なるプロバイダーから利用可能な複数のコラボレーションサービスについてアクティビティローミングを可能にするために使用することができるローミングサービスを提供してもよい。したがって、本明細書に記載されるクラウドコンテンツを認識するための技術は、第三者によって及びアプリケーションのアクティビティローミングを可能にする同じサービス／サービスプロバイダーによって提供されるコラボレーションサービスで使用することができる。
【００２１】
[0026]少なくともいくつかの実施例では、クライアントは、それに対してクライアントが認証されるクライアント／ユーザーアカウントを介してサービスプロバイダー１０６によって提供されるコラボレーションサービス１２６及び他のリソース１２２にアクセスすることができる。例えば、リソース１２２にアクセスするために、クライアントデバイスは、認証サービスによって認証されたユーザー名とパスワードを提供することができる。認証が成功する（例えば、クライアントが、「自分がそれであるというものである」）と、認証サービスは、対応するリソースへのアクセスを可能にするためにトークン（又は他の適切な認証識別子／シークレット）を渡してもよい。単一の認証が１つ又は複数のリソースに対応してもよく、その結果、「単一のサインオン」による単一のアカウントに対する認証は、個々のリソース、複数のサービスプロバイダー１０６からのリソース及び／又はサービスプロバイダー１０６から利用可能な一連のリソース全体へのアクセスを提供することができる。
【００２２】
[0027]クラウドコンテンツを認識するための技術をさらに説明するために、ここで、一般に２００においてクラウドコンテンツとのインタラクションのためのいくつかの例示的なシナリオを示す図を示す図２を考える。ここで、クライアントデバイス１０２と他のクライアントデバイス１０４は、各々が、ファイル同期モジュール１１４、認識モジュール１１９、アクティビティリスト２０２、クラウドコンテンツの登録された位置２０４、及び様々なファイル２０８をローカルに格納するために使用され得るストレージ２０６を含むものとして図示される。サービスプロバイダー１０６は、コラボレーションサービス１２６及びサーバーアクティビティリスト２１０を含むものとして示される。異なる実施例では、コラボレーションサービス１２６並びにサーバーアクティビティリスト２１０を管理しデバイス間でアクティビティをローミングするように構成されたローミングサービスは、同じサービスプロバイダー１０６によって又は異なるプロバイダーによって実現されてもよい。
【００２３】
[0028]一般的に言えば、デバイスの登録された位置２０４は、特定のコラボレーションサービス１２６に対応するファイルの記憶のために指定された最上位の保存先（記憶位置、storage location）を表す。登録された位置２０４の下に論理的に配置されるファイル、ディレクトリー、及びフォルダーは、特定のコラボレーションサービス１２６に関連付けられるクラウドコンテンツとして自動的に認識することができる。位置は任意の適切な方法で登録してもよく、異なる位置が同一のコラボレーションサービスについて異なるデバイスに対して指定されてもよい。
【００２４】
[0029]１つのアプローチでは、認識モジュール１１９は、ファイル同期モジュール１１４がインストールされる場合、対応するコラボレーションサービスがデバイス上及び／又は特定のアプリケーションでの使用のためにアクティブ化される場合、対応するファイルが処理される場合、又は他の場合に、ファイルの位置を登録するように動作可能なクライアントの機能を表す。一般に、登録された位置２０４は、登録された位置２０４を取得するためにアプリケーションによって参照することができる指定されたデータオブジェクトに対して記録される。これにより、異なるプロバイダーからのコラボレーションサービス１２６がそのサービスを登録してそれによってアプリケーション内でクラウドコンテンツについてデバイスにわたってカスタムインタラクション及びアクティビティのローミングを可能にするために利用することができる、インフラストラクチャーが提供される。
【００２５】
[0030]より具体的には、本明細書に記載の技術をサポートするアプリケーションは、指定されたデータオブジェクトを介して１つ又は複数のコラボレーションサービスの登録された位置２０４を検索（ルックアップ）するように構成されてもよい。単なる一例として、ファイルシステムレジストリー又は他の同等のファイルシステム構成及び設定メカニズムは、位置を登録するために実施例において用いることができる。したがって、アプリケーションは、サービスの対応する登録された位置２０４を取得するために、コラボレーションサービスに割り当てられた特定の登録エントリー（例えば、キーと値のペア）をルックアップしてもよい。様々な他のデータオブジェクト及び技術もまた、登録された位置２０４を格納するために指定することができる。限定ではなく例として、登録された位置２０４は、ファイルシステム構成及び設定エントリー／値、データベースレコード、ダイナミックリンクライブラリー（ｄｌｌ）値、テキストファイル、マークアップ言語ドキュメント、及び／又はそのような保存先（記憶位置）を登録するために指定される他の適切なデータオブジェクト又はパラメーターとして実施されてもよい。
【００２６】
[0031]登録はまた、短いサービス名又は数値ＩＤなどの、異なるサービスを互いに区別するためのサービス識別子を含むことができる。サービス識別子は、複数の位置及び／又はコラボレーションサービスが特定のデバイスに対して登録されることを可能にする。デバイスはまた、ローミングされる情報を適切なサービス及び対応する登録された位置に一致させるようにサービス識別子を使用することができ、その更なる詳細は本明細書において後に見ることができる。
【００２７】
[0032]したがって、「Ｃ：／Ｒｏｂｙｎｓ＿Ｆｉｌｅｓ／ＣＳｅｒｖｉｃｅ」などのファイルシステム位置がクライアントデバイス１０２について登録されてもよく、「Ｄ：Ｐｒｏｇｒａｍ＿Ｆｉｌｅｓ／Ｗｏｒｋ＿ｄｏｃｓ／ＣＳｅｒｖｉｃｅ」などの異なる位置が他のクライアント・デバイス１０４について登録されてもよい。ユーザーは、特定のコラボレーションサービスのインストールシーケンス中に位置を選択するように促されてもよく、これにより、位置に対するパスが登録される。アプリケーションは、認識モジュール１１９を介して登録された位置をルックアップし、この位置に該当するファイルを対応するサービスと関連付けるように構成されていてもよい。これは、登録された位置の下のファイル階層に論理的に配置され得る様々なファイル、フォルダー、及びサブフォルダーを含むことができる。換言すれば、アプリケーションは、コラボレーション・サービスに対応するクラウドコンテンツを認識するために、登録された位置２０４を参照することができる。
【００２８】
[0033]アプリケーションがコンテンツをクラウドコンテンツとして認識すると、コンテンツは、ユーザーエクスペリエンスをカスタマイズし及び／又はクラウドコンテンツとのカスタムのインタラクションを提供するために、様々な方法で扱うことができる。これは、デバイスのユーザーエクスペリエンスを通じたクラウドコンテンツの指示を提供すること、デバイス間でクラウドコンテンツに関連するアクティビティを追跡及び同期すること、アプリケーション内でクラウドコンテンツ関連の通知、オプション、及び他の機能を選択的に有効にすることなどを含む。たとえば、ファイルアイコンやフォルダー、最近使用したドキュメントのリスト、お気に入りのリスト、ピン止めされたドキュメント、リンク、及び／又はアプリケーションユーザーインターフェイス内で提示されたドキュメントに対する他の参照は、ドキュメントを対応するサービスに関連付ける視覚表示でレンダリングされてもよい。別の例では、まだデバイスにインストールされていない特定のコラボレーションサービスに対応したクラウドコンテンツが認識されたときに、デバイスにおいて特定のコラボレーションサービスをインストールするためのプロンプトが出力されてもよい。これら及び他の例に関するさらなる詳細は、以下の図６の例示的なユーザーインターフェイスに関連して説明される。
【００２９】
[0034]さらに、登録された位置に置かれるドキュメント及び／又はフォルダーへの相対パスを、取得し、ファイルに関連するアクティビティに関連付け、他のデバイスで使用するためにローミングすることができる。これは、リストをデバイスにわたってアクセスできるようにするために、クライアントアカウントに対応するプロファイルデータとしてアクティビティリストを格納することによって生じてもよい。相対パスは、ローミングされるアクティビティを、異なるデバイスによって使用され得る特定の保存先／パスとは独立させるために使用される。
【００３０】
[0035]「Ｃ：／Ｒｏｂｙｎｓ＿Ｆｉｌｅｓ／ＣＳｅｒｖｉｃｅ／ｊｏｂ＿ｓｅａｒｃｈ／ｒｅｓｕｍｅ．ｔｘｔ」という完全なパスを有する位置で、上記の例におけるクライアントデバイス１０２にローカルに格納されるテキストドキュメント「ｒｅｓｕｍｅ．ｔｘｔ」を考えてみる。ドキュメントへの相対パスは、ドキュメントについての完全なパスから登録された位置を削除することにより構築することができる。この例では、相対パス「／ｊｏｂ＿ｓｅａｒｃｈ／ｒｅｓｕｍｅ．ｔｘｔ」が形成される。相対パスは、最近使用したドキュメントのリスト、アプリケーションユーザーインターフェイス及び／又はメニューにピン止めされたアイテムのリスト、好きなアイテムなどファイル関連のアクティビティに関連付けられてもよい。ここで、相対パス及びアクティビティは、図２に示すように他のクライアントデバイス１０４に対してなど、他のデバイスに対してローミングされてもよい。
【００３１】
[0036]実施例では、相対パスはまた、サービス識別子、「ＣＳ」のようなコラボレーションサービスの短縮名、「２２」などの数値ＩＤなどに関連付けられたりこれらを含んだりしてもよい。他のメタデータはまた、サービスからのアイテムとともに使用するアイコン又は他の視覚的インジケーター、単一のサービスについての複数のパスをサポートするパス識別子、ヘルプにアクセスするリンクを提供し、適切な場合にはサービスをインストールし、設定を管理するなどするための、サービスのユニフォームリソースロケーター（ＵＲＬ）を含むがこれらに限定されない相対パスに関連付けられてもよい。サービス識別子は、相対パスに関連付けられる別個のパラメーター又はデータフィールドとして実施することができる。別のアプローチでは、パスは、サービス識別子を含むように構成されてもよい。例えば、サービス識別子は、相対パスの先頭に挿入されてもよい。上記の例の場合、このアプローチは、「ＣＳ／ｊｏｂ＿ｓｅａｒｃｈ／ｒｅｓｕｍｅ．ｔｘｔ」、「２２／ｊｏｂ＿ｓｅａｒｃｈ／ｒｅｓｕｍｅ．ｔｘｔ」などの相対パスを形成する。この場合、相対パスは、登録された位置を対応するサービス識別子で置き換えることによって作成される。
【００３２】
[0037]他のクライアントデバイス１０４などの、ローミングされるパスに関連付けられたデータを受信するデバイスにおいて、ドキュメントの対応するローカルバージョンに対する完全なパスは、デバイスについての登録された位置２０４を相対位置へ追加（例えば、プリペンディング）することによって構築することができる。サービス識別子がパスに含まれている場合、サービス識別子は、完全なパスを形成するために登録された位置２０４によって置き換えられてもよい。たとえば、前述の例を続けると、テキストファイルのパス「Ｄ：／Ｐｒｏｇｒａｍ＿Ｆｉｌｅｓ／Ｗｏｒｋ＿ｄｏｃｓ／ＣＳｅｒｖｉｃｅ／ｊｏｂ＿ｓｅａｒｃｈ／ｒｅｓｕｍｅ．ｔｘｔ」は、デバイス固有の登録されたパス「Ｄ：／Ｐｒｏｇｒａｍ＿Ｆｉｌｅｓ／Ｗｏｒｋ＿ｄｏｃｓ／ＣＳｅｒｖｉｃｅ」を相対パス「／ｊｏｂ＿ｓｅａｒｃｈ／ｒｅｓｕｍｅ．ｔｘｔ」と組み合わせることによって、又は、適切な場合、サービス識別子（例えば、「ＣＳ」、「２２」）を登録されたパスで置き換えることによって、他のクライアントデバイス１０４において構築することができる。構築されたパスは、次いで、テキストドキュメントのローカルに格納されたバージョンを参照し及び／又は適切にリンクするためにデバイスのアプリケーション及びユーザーインターフェイス内で様々な方法で使用することができる。
【００３３】
[0038]したがって、デバイスにおけるファイル２０８との様々なインタラクションは、今述べたようなアクティビティをローミングするのに使用される様々なデバイスや相対パスに固有の登録された位置を使用して、デバイス間で追跡し、同期することができる。いくつかの例示的なシナリオが図２に示され、それぞれの文字を用いて指定され、認識モジュール１１９、ファイル同期モジュール１１４又は他の方法によって実施することができるいくつかの例示的な動作を含む。例えば、認識モジュール１１９は、ファイルやフォルダーを処理するための様々なアクションを含み得る、ファイル２０８に関連する様々なアクティビティを監視し、検出し、追跡するように構成されてもよい。図２においてクライアントデバイス１０２に関連して示されるように、処理動作２１２がファイルに対して実行されると、動作が検出され、動作「Ａ」は、アクティビティに関連付けるファイル／フォルダー名及びファイルの完全なパスを取得する。動作「Ｂ」は、登録された位置２０４を検索し、対応する相対パスを構築するために取得される完全なパスから位置／パスを除去する。相対パスはまた、上記のように、サービス識別子に関連付けることができ、又はサービス識別子を含むように構築することができる。ここで、動作「Ｃ」は、対応するファイルに関連してアクティビティを記録するために、相対パスを使用する。図示されるように、アクティビティに対してファイルの相対パスをマッチングするデータは、クライアントデバイス１０２のアクティビティリスト２０２に書き込むことができる。
【００３４】
[0039]前述のように、クラウドコンテンツや他のファイルとの様々な異なるアクティビティが考えられる。例として、図２は、変更がファイル２０８に対して行われる編集ファイル２１４アクションを示す。このシナリオでは、ファイルは、更新され、ローカルに格納され、ファイル同期モジュール１１４及びコラボレーションサービスを介して同期されてもよい。また、アクティビティリスト２０２は、最近使用されたドキュメントのリストにファイルを追加したり及び／又は相対パスを使用してファイル編集を記録することなどによって、ファイルとのインタラクションを記録するために、編集されたファイルに関して更新することができる。図２はまた、アイテムが「固定された（pinned）」ままである限り、アプリケーションユーザーインターフェイスがレンダリングされるときはいつでも、アイテムの表現及び／又はアイテムへのリンクが位置において利用可能とされるように、アイテムがアプリケーションユーザーインターフェイス内の当該位置に固定される、固定（ピン、pin）ファイル／フォルダーアクション２１６を示す。したがって、「固定（pinned）」ファイルへのリンクは、特定のアプリケーションのユーザーインターフェイス内で永続的に利用可能であってもよい。アクティビティリスト２０２は、相対パスを使用して固定アイテムリストにファイルを追加することなどによって、固定アイテムを反映するように更新されてもよい。このように、固定されたアイテムは、他のデバイスにローミングしてもよい。ファイルの保存、コピー、移動、作成、お気に入りリストへのアイテムの追加などの他のファイルインタラクションもまた考えられる。
【００３５】
[0040]したがって、アクティビティリスト２０２は、異なるデバイス間でのアクティビティのローミングを可能にする様々な種類のアクティビティに関連して記録されたデータを表す。例えば、アクティビティリスト２０２は、いくつか例を挙げると、最近使用したドキュメントリスト、お気に入りリスト、及び固定アイテムリストのうちの１つ又は複数を含むことができる。アクティビティリスト２０２は、クラウドコンテンツ（例えば、同期されたファイル）及び他のデバイスと同期されないローカルコンテンツの両方に関連付けられるアクティビティを組み合わせることができる。相対パスは、アクティビティリスト２０２をデバイス固有のパスから独立させるようにクラウドコンテンツについて用いることができる。サービス識別子は、異なるサービス間で区別するために、リスト項目に組み込むことができる。このように、クラウドコンテンツの相対パスを有するアクティビティリスト２０２は、デバイスからデバイスへとローミングすることができる。
【００３６】
[0041]幾つかの実施例では、コラボレーションサービス１２６は、複数のデバイスにわたってアクティビティを反映するように更新することができる、サーバーアクティビティリスト２１０を保持する。例えば、サーバーアクティビティリスト２１０は、クライアントアカウントに関連付けられたプロファイルデータとして格納することができる。個々のデバイスは、クライアントのアカウントに対して認証し、ローカルなアクティビティリスト２０２をサーバーアクティビティリスト２１０と同期させてもよい。例えば、図２の他のクライアントデバイス１０４に関連して示されるように、対応するアクティビティリスト２０２は、ダウンロードされてもよく、又はそうでなければローミングされるアクティビティを反映するように同期されてもよい。種々の処理アクション２１８は、他のクライアントデバイス１０４に、クラウドコンテンツに関連付けられるローミングされたアクティビティを含むファイル２０８とのアクティビティを提示するように構成されたユーザーインターフェイス又はユーザーインターフェイスの一部を出力させてもよい。
【００３７】
[0042]動作「Ｄ」は、他のクライアントデバイス１０４のための完全なパスを生成するために用いることができる、アクティビティリスト２０２から相対パスに関連付けられるアクティビティを取得する。デバイス固有のアクティビティリストをレンダリングするために、他のクライアントデバイス１０４の登録された位置２０４が取得され、動作「Ｅ」は、他のクライアントデバイス１０４におけるファイル２０８のバージョンに対応する完全なパスを形成するために、登録される位置のパスをアクティビティリスト２０２の相対パスに追加する。動作「Ｆ」は、他のクライアントデバイス１０４のアクティビティリスト２２０をレンダリングするために構築される完全なファイル／フォルダーパスを使用する。アクティビティリスト２２０はまた、クラウドコンテンツのローミングされるアイテムを、同期／ローミングされていないローカルファイルのアイテムと組み合わせることができる。ここで、レンダリングされたアクティビティリストは、ローミングされるアイテムのいくつかの表現／リンクを含む、ファイル２０８の様々なローカルに格納されたバージョンに対する適切な表現及びリンクを含む。
【００３８】
[0043]したがって、動作「Ｇ」は、レンダリングされたアクティビティリストからの同期されたファイル／フォルダーの選択を検出することができ、アプリケーションに、構築されたパスを使用して２２２において適切なファイルを開かせる。このように、クラウドコンテンツに関連付けられる様々なアクティビティは、コンテンツとインタラクトするために使用されるデバイス間でローミングされてもよい。
【００３９】
[0044]例示的な環境とシナリオについて考察したが、１つ又は複数の実施例による、クラウドコンテンツを認識するためのいくつかの例示的な手順についての説明を検討する。
例示的な手順
[0045]以下の議論は、前述のシステム及びデバイスを利用して実施することができるクラウドコンテンツ認識技術を説明する。手順の各々の態様は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせで実現されてもよい。手順は、１つ又は複数のデバイスによって実行され、それぞれのブロックによる動作を実行するために示される順序に必ずしも限定されない動作を特定するブロックのセットとして示される。以下の説明の一部では、図１の環境１００及び図２の２００が参照されてもよい。少なくともいくつかの実施例では、手順は、ファイル同期モジュール１１４及び／又は認識モジュール１１９を含むかそうでなければ利用するクライアントデバイスなどの、適切に構成されたコンピューティングデバイスによって実行することができる。
【００４０】
[0046]図３は、クラウドコンテンツが認識され、対応する識別子に関連付けられる手順３００を示す流れ図である。コラボレーションサービスに関連付けられたファイルについてコンピューティングデバイス上のローカルの保存先（記憶位置）が登録される（ブロック３０２）。デバイス固有の位置は、前述のように適切なデータオブジェクトを使用して登録してもよい。登録された位置は、特定のコラボレーションサービスに関連付けられるファイルの最上位のパスを提供する。したがって、データオブジェクトは、指定された位置として機能し、ここで、サービスはパスを格納することができ、アプリケーションは、対応するファイルをサービスからの同期されたクラウドコンテンツとして認識して扱うためのパスを取得することができる。
【００４１】
[0047]複数の異なるコラボレーションサービスを単一のデバイス上で登録することができることに留意されたい。また、同じコラボレーションサービスに対応する複数のパスもまた登録することができる。この場合、各パスは、共通の識別子を使用して、他のデバイスに対する対応するパスに関連してもよい。異なるデバイスについての同じ識別子に関連付けられたパスが異なっていたとしても、識別子はデバイス間で同じである。識別子は、異なるデバイス間での関連するパスのマッチングを可能にする。
【００４２】
[0048]登録された位置に対応するファイルが検出され（ブロック３０４）、検出されたファイルはコラボレーションサービスに関連付けられるクラウドコンテンツとして認識される（ブロック３０６）。例えば、デバイスの生産性スイート（productivity suite）、ワードプロセッサー、又は他のアプリケーションは、少なくともいくつかがクラウドコンテンツであるファイルをレンダリングするように動作することができる。ファイルを開くこと、ファイルの編集／保存、お気に入りリストへのファイルの追加、アプリケーションユーザーインターフェイスにおけるリスト及び／又は位置へのファイルの固定、又はその他、ファイルにアクセスしてファイルに対するアクティビティを実行することを含む、アプリケーションを介して生じるファイルとの様々なインタラクションを検出することができる。ファイルがいくつかの方法でアクセスされると、登録された位置の下のローカルストレージに論理的に配置されるファイルは、クラウドコンテンツとして自動的に検出され、認識されてもよい。これは、ファイルのパス名が、デバイスについて登録されるローカル保存先のパスを含むか又はそうでなければそれに関係すると判断することによって生じ得る。たとえば、ファイルへのリンク、パス名及びファイルに対する他の参照は、登録された位置を含む参照を検出するために、認識モジュール１１９によって解析されてもよい。登録された位置を含む参照に対応するファイルは、次いで、登録された位置が属するコラボレーションサービスに関連付けられるクラウドコンテンツとして認識される。したがって、認識されたクラウドコンテンツは、対応するコラボレーションサービスに関連付けられ、そのように扱われる。
【００４３】
[0049]認識されたファイルのコラボレーションサービスとの関連付けを反映するために、１つ又は複数のアプリケーションを介した表示のための指示（indications）が出力される（ブロック３０８）。例えば、ファイルシステムアイコン、リスト指定子、テキストの色、シェーディング、グラフィック、アニメーション、及び／又はコラボレーションサービスを表す他の指示が、コンテンツアイテムがそれぞれのコラボレーションサービスに関連付けられることを示すために提示されてもよい。したがって、最近使用したドキュメントのリストや他のアクティビティリストは、それぞれのコラボレーションサービスとのこれらのアイテムの関連付けを示すために、特定のリストアイテムとともにコラボレーションサービスを表すアイコンを含むことができる。別の例では、カスタムコラボレーションサービスアイコン／グラフィックスを、特定のコラボレーションサービスとのファイルやフォルダーの関連付けを示すために、オペレーティングシステム、ファイルシステム、及び／又はデバイスの様々なアプリケーションによって使用することができる。したがって、クラウドコンテンツドキュメントがワードプロセッシングプログラムや表計算プログラムなどの特定のクライアントアプリケーションに対応することができるとしても、コラボレーションサービスを示すカスタムアイコンは、特定のアプリケーションのファイルについて指定されるアイコンを使用するよりも、ドキュメントを表すために使用されてもよい。特定のコラボレーションサービスの識別のために使用する特定のアイコン又は他のインジケーターは、登録された位置と共に格納されるメタデータを介して提供することができる。このように、ユーザーは、クラウドコンテンツを提供することができる視覚的な指示に基づいて、デバイスの他のコンテンツからクラウドコンテンツを迅速に区別することができる。
【００４４】
[0050]図４は、認識されたクラウドコンテンツとのアクティビティのためのパスが相対パスを使用して構築される手順４００を示す流れ図である。コラボレーションサービスを介して複数のデバイス間で同期されたファイルの相対パスに関連付けられるアクティビティが確認される（ブロック４０２）。これは、任意の適切な方法で行うことができる。１つのアプローチでは、クライアントデバイスのローカルアクティビティリスト２０２が、複数のデバイスにわたって実行されるファイルとのアクティビティを表すサーバーアクティビティリスト２１０に対して同期されてもよい。これは、変更を反映するようにアクティビティリスト２０２を編集すること、ローカルバージョンを置き換えるためにサーバーアクティビティリスト２１０をダウンロードすることなどを含んでもよい。少なくともいくつかの実施例では、サーバーアクティビティリスト２１０は、対応するクライアントアカウントを介してアクセス可能であってもよい。複数のデバイスのローカルアクティビティリスト２０２はまた、サーバーアクティビティリスト２１０に頼ることなく、ピアツーピア方式で互いに同期されてもよい。
【００４５】
[0051]コンピューティングデバイス上のコラボレーションサービスに関連付けられたファイルの登録された位置に相対パスを組み合わせることにより、コンピューティングデバイスのローカルストレージ内のファイルのローカルバージョンへのパスが構築される（ブロック４０４）。ここで、相対パスは、同期されたアクティビティリスト２０２から取得（検索）することができ、レジストリーエントリーなどの指定されたデータオブジェクトに対して記録される登録された位置２０４と組み合わせることができる。アプリケーションは、指定されたデータオブジェクトへの参照によって、登録された位置２０４を検索（ルックアップ）又はそうでなければ取得するように構成されてもよい。登録された位置２０４は、コンピューティングデバイスによってローカルに格納されるファイルに適した完全なパスを形成するために、相対パスに追加され（例えば、前に付加され）てもよい。
【００４６】
[0052]前述のように、同じ又は異なるコラボレーションサービスに対応する複数の登録された位置は、いくつかのシナリオでは、デバイスについて登録することができる。複数の登録された位置が使用される場合、登録された位置に関連付けられるサービス識別子及び／又はパス識別子並びに相対パスは、アイテムを適切な登録された位置に一致させるために使用されてもよい。サービス識別子が異なるサービスのトップレベルのパスに対応する一方で、パス識別子は、単一のサービスに関連して登録することができる複数のサブパスやフォルダーに対応する。したがって、相対パスに関連付けられたメタデータは、対応する登録された位置を取得するために特定のサービス、パス、及び／又は位置を示す数値又は他の識別子を含むことができる。識別子は、複数の登録された位置が保持される、レジストリー、リスト、データベースレコード、又は他のデータオブジェクト内の位置に対応してもよい。したがって、アイテムの完全なパスは、アイテムの相対パスに関連付けられる識別子によって指定された位置から登録された位置を検索すること、及びその位置からの登録された位置をアイテムの相対パスと組み合わることによって、構築することができる。
【００４７】
[0053]コラボレーションサービスに関連付けられるファイルに対応するリストアイテムの構築されたパスを使用するアクティビティのリストがレンダリングされる（ブロック４０６）。換言すれば、レンダリングされたリストに含まれる認識されたクラウドコンテンツのアイテムが、構築されたパスを使用してレンダリングされる。これは、構築されたパスを使用するために、リスト内にパスを示すこと及び／又はリスト内のアイテムへのリンクを構成することを含んでもよい。
【００４８】
[0054]図５は、認識されたクラウドコンテンツについてのアクティビティがデバイス間でローミングされる手順５００を示す流れ図である。コンピューティングデバイスにおけるローカルストレージ内のコラボレーションサービスに関連付けられる同期されたファイルについて指定された位置が確立される（ブロック５０２）。たとえば、レジストリーエントリー又は他の適切なデータオブジェクトは、特定のコラボレーションサービスに関連付けられるファイルについてのデバイスにおける登録された位置を格納するように実施することができる。アプリケーションは、デバイス間でアクティビティローミングを実施し、「オフライン」ローカルファイル及び他のデバイスと同期されるクラウドコンテンツを区別するために、登録された位置を参照するように構成されてもよい。
【００４９】
[0055]指定された位置におけるファイルに対する相対パスを使用して、コンピューティングデバイス上の同期されたファイルに対応するアクティビティが追跡される（ブロック５０４）。ここで、同期されたファイルに対して又はそれとともに実行される様々なアクティビティを追跡することができる。説明したように、コラボレーションサービスの指定された位置に関連付けられる同期されたファイルは、クラウドコンテンツとして認識されてもよい。この認識に基づいて、同期されたファイル（例えば、クラウドコンテンツ）に対応するアクティビティは、ファイルへの相対パスを使用して格納することができる。相対パスは、登録された位置を参照し、ファイルの完全パスから登録された位置のパスを除去することによって構築することができる。したがって、様々なアクティビティを同期されたファイルの相対パスに関連させるデータベース又はリストを形成することができる。
【００５０】
[0056]同期されたファイルの相対パスを含むアクティビティのリストは、別のコンピューティングデバイスへとローミングされて、他のコンピューティングデバイスが、アクティビティを、他のコンピューティングデバイスのローカルストレージ内の特定の位置に配置された対応する同期されたファイルにマッチングすることを可能にする（ブロック５０６）。ここで、１つのデバイスにおいて形成されるアクティビティのリストは、他のデバイスに対して同期されてもよい。リストは、ドキュメントを編集し又は他の方法で操作し、お気に入りリストにアイテムを追加し、ユーザーインターフェイスにアイテムを固定するなどのために、ファイルとのユーザーの最近のインタラクションを示してもよい。これら及び他のアクティビティは、本明細書において以前に述べた相対パスを使用して、ファイルに関連づけられてもよい。アクティビティリストは、コラボレーションサービスを介してアップロードされ、必要に応じてサーバーアクティビティリストとして格納することができる。他のデバイスは、サーバーから、又はコラボレーションサービスを介して直接的にデバイス間で、アクティビティリストにアクセスし及び／又はダウンロードすることができる。これにより、デバイスがそのアクティビティリストを互いに同期させることが可能になる。
【００５１】
[0057]デバイスは、ローカルに格納された同期されたファイルのバージョンに別のデバイスによって実行されるアクティビティをマッチングするために、アクティビティに関連付けられる相対パスを使用してもよい。１つのアプローチでは、同期されたファイルのローカルバージョンへの完全なパスは、アクティビティリストにおいて使用される相対パスにデバイスの登録された位置を追加することによって構築することができる。このように、各々の個別のデバイスは、同期されたファイルのローカルバージョンを正しく参照するように構築されたパス（例えば、登録されたパスと相対パスの組み合わせ）を使用するデバイス固有のアクティビティリストを作成してもよい。
【００５２】
[0058]いくつかの手順の例を検討したが、ここで、１つ又は複数の実施例による、認識されたクラウドコンテンツとのインタラクションのための例示的なユーザーインターフェイスについての説明を考える。
例示的なユーザーインターフェイス
[0059]図６は、６００において、認識されたクラウドコンテンツとの様々なカスタムインタラクションを可能にするアプリケーションのための例示的なユーザーインターフェイス６０２を一般的に示す。この例では、ユーザーインターフェイスは、ワードプロセッサーアプリケーションのためのインターフェイスとして示される。特に、ワードプロセッサーアプリケーションについての固定（ピン止め）アイテムリスト６０４、最近のドキュメントのリスト６０６、最近の位置のリスト６０８を表示するように構成されるページが提示される。当該ページは、（図示されるように）「最近」のメニューアイテムの選択に応答して、ナビゲーションコントロールの選択に応答して、アプリケーションが起動されるとき、又は他の方法で表示されてもよい。
【００５３】
[0060]本明細書に記載の技術によれば、例示的なリスト内のアイテムは、相対パスを使用してデバイス間でローミングされるアクティビティに対応するアイテムを含んでもよい。リスト内のアイテムはまた、対応するドキュメントをナビゲートし、レンダリングするために、選択可能であってもよい。このように、リスト内のアイテムは、対応するドキュメントのローカルの保存先へのリンクに関連付けられてもよい。ローミングされるアイテムについて、リンクのためのパスは、前述のように、相対パスを登録された位置と組み合わせることによって構築することができる。
【００５４】
[0061]また、前述したように、認識されたクラウドコンテンツは、対応するクラウドサービスとのクラウドコンテンツの関連付けを示すために、視覚的な識別子に関連してレンダリングすることができる。クラウドコンテンツアイテム／ドキュメントを他のアイテム／ドキュメントから区別するのに適した、アイコン、アニメーション、シェーディング、着色及び／又は他の視覚的なグラフィック及び効果などの、様々なタイプの識別子が考えられる。リストアイテム、グラフィック、リンク、及びクラウドコンテンツへの他の参照がデバイス上でどこに現れようとも、クラウドコンテンツのこのような識別子を使用することができる。これは、幾つか例を挙げると、デスクトップアイテム（例えば、ファイル又はフォルダーのアイコン）として、及び／又は固定のアイテムとともに、オペレーティングシステム、ファイルマネージャープログラム、及びデバイスの他のアプリケーションのユーザーインターフェイス内で表示されるファイルリストにおいて提供される認識されたクラウドコンテンツの様々な表現を含むことができる。換言すれば、認識されたクラウドコンテンツの視覚的識別子は、デバイスによって提供されるユーザーエクスペリエンス全体にわたって使用することができる。
【００５５】
[0062]たとえば、デフォルトのアイコンは、認識されたクラウドコンテンツについてのサービス特有のアイコンへと変更されてもよい。図示される例では、クラウドアイコン６１０は、これらのアイテムが特定のコラボレーションサービスからのクラウドコンテンツであることを表現するために、複数のリストされたアイテムとともに使用される。最近の位置のリスト６０８におけるフォルダーの位置について、クラウドアイコン６１０は、フォルダーアイコンと合体するものとして示される。球体（globe）アイコン６１２もまた、最近のドキュメントのリスト６０６中のレターテンプレートアイテムに関連して示される。球体アイコン６１２は、レターテンプレートが関連付けられる別の異なるコラボレーションサービスに対応してもよい。したがって、様々な視覚的識別子を、１つ又は複数のコラボレーションサービスとのコンテンツの関連付けを示すために、アプリケーションユーザーインターフェイス内（及びデバイス上のどこかの位置）で使用することができる。
【００５６】
[0063]いくつかの実施例では、デバイスに対してローミングされるアクティビティリストは、デバイス上で利用できない（例えば、インストールされていない）サービスに対応するアイテムを含むことができる。例えば、球体アイコン６１２によって提示されるレターテンプレートが、デバイス上にインストールされていないか又はそうでなければデバイス上で利用可能でないコラボレーションサービスに関連付けられると仮定する。アイテムは、まだクラウドコンテンツとして認識されてもよい。そうするために、メタデータ及び／又は他の識別子が、ローミングされるアクティビティリストから参照されてもよい。このデータは、デバイスが、コンテンツが特定のコラボレーションサービスに対応することを認識し、パスが特定のコラボレーションサービスについて登録されていないと判断することを可能にする。
【００５７】
[0064]利用できないサービスに関連付けられるものとして認識されるクラウドコンテンツは、様々な方法で扱うことができる。１つのアプローチでは、コンテンツは、無視することができ、及び／又はアクティビティリスト内に示されなくてもよい。代替的に、アイテムは、リンクを無効にし、「グレー表示（graying out）」し、及び／又はそうでなければアイテムを利用できないものとして設定して提示することなどによって、リストにおいて、利用できないアイテム又は非アクティブなアイテムとして現れてもよい。加えて、又は代替的に、ファイル／サービスが利用できないという通知及び／又は対応するサービスをインストールするプロンプトが、利用できないサービスに関連付けられるアイテムの選択に応答して出力されてもよい。したがって、上記の例のレターテンプレートが選択される場合、ユーザーが関連するドキュメントにアクセスすることを可能にするために、対応するコラボレーションサービスをインストールするための通知及び／又は選択可能なオプションを与えるプロンプトが現れてもよい。インストールするための選択可能なオプションは、前述のように、相対パス又は登録された位置に関連付けられたメタデータとして提供されるＵＲＬを使用して構成することができる。
【００５８】
[0065]クラウドコンテンツのアプリケーションユーザーインターフェイスの他のカスタマイズも考えられる。例えば、クラウドコンテンツ位置に対するアクセス及び／又はアイテムの保存のためのコントロールは、メニューアイテム、選択可能なボタンなどとして、ユーザーインターフェイス６０２内に組み込まれてもよい。１つのアプローチでは、アプリケーションは、アプリケーションがロードするときに登録されたサービスをルックアップし、それに応じてユーザーインターフェイスをカスタマイズして、発見された登録されたサービスに対応するカスタム機能を含むように機能を追加したり他の方法でユーザーインターフェイスを修正したりすることができる。サービスは、本明細書に述べたように、レジストリーエントリー又は他の適切な指定されたデータオブジェクトを介して格納されるサービスについての登録される位置を参照することによって発見することができる。認識されたクラウドコンテンツを受け入れるための機能の修正は、異なるコラボレーションサービスに対応するメニューアイテム６１４及び６１６に対するカスタム保存によって図６に示される。コラボレーションサービスについての登録される位置が発見されると、メニューアイテム６１４及び６１６に対するカスタム保存をメニューに追加してもよい。
【００５９】
[0066]もちろん、様々な異なるタイプのカスタム機能及びコントロールが、メニューアイテム６１４及び６１６に対する説明された保存が代表的な例である認識されたクラウドコンテンツのためのアプリケーションユーザーインターフェイス内で有効にされてもよい。他の例は、限定されるものではないが、コラボレーションサービスに対応するフォルダーを開くためのリンク、１つ又は複数のコラボレーションサービスのウェブサイトへのハイパーリンク、コラボレーションサービスの構成及び設定ページ、発見されたサービスについての自動保存オプションなどを含んでもよい。
【００６０】
[0067]例示的なユーザーインターフェイスについて考察したが、ここで、本明細書に記載されるクラウドコンテンツを認識するための技術の実施例を実施するために使用することができる例示的なシステム及びシステムのコンポーネントの説明を考える。
例示的なシステム及びデバイス
[0068]図７は、本明細書に記載される様々な技術を実施することができる１つ又は複数のコンピューティングシステム及び／又はデバイスを表す例示的なコンピューティングデバイス７０２を含む例示的なシステムを７００において一般的に示す。コンピューティングデバイス７０２は、例えば、サービスプロバイダーのサーバー、クライアントに関連付けられるデバイス（例えば、クライアントデバイス）、オンチップシステム、及び／又は任意の他の適切なコンピューティングデバイス又はコンピューティングシステムであってもよい。
【００６１】
[0069]図示される例示的なコンピューティングデバイス７０２は、互いに通信可能に結合される、処理システム７０４、１つ又は複数のコンピューター読み取り可能な媒体７０６、及び１つ又は複数のＩ／Ｏインターフェイス７０８を含む。図示していないが、コンピューティングデバイス７０２はさらに、様々なコンポーネントを互いに結合する、システムバス又は他のデータ及びコマンド転送システムを含むことができる。システムバスは、メモリーバス又はメモリーコントローラー、周辺バス、ユニバーサルシリアルバス、及び／又は様々なバスアーキテクチャーのいずれかを利用するプロセッサー又はローカルバスなど、様々なバス構造のいずれか又は組み合わせを含むことができる。制御ライン及びデータラインなどの様々な他の例も考えられる。
【００６２】
[0070]処理システム７０４は、ハードウェアを使用して１つ又は複数の動作を実行するための機能を表している。したがって、処理システム７０４は、プロセッサー、機能ブロックなどとして構成することができるハードウェア要素７１０を含むものとして示される。これは、特定用途向け集積回路又は１つ又は複数の半導体を用いて形成された他の論理デバイスとしてハードウェアでの実施例を含むことができる。ハードウェア要素７１０は、それらが形成される材料又はその中で使用される処理機構によって限定されるものではない。例えば、プロセッサーは、半導体及び／又はトランジスター（例えば、電子集積回路（ＩＣ））で構成されてもよい。このようなコンテキストにおいて、プロセッサー実行可能命令は、電子的に実行可能な命令であってもよい。
【００６３】
[0071]コンピューター読み取り可能な媒体７０６は、メモリー／ストレージ７１２を含むものとして示される。メモリー／ストレージ７１２は、１つ又は複数のコンピューター読み取り可能な媒体に関連付けられるメモリー／ストレージ容量を表す。メモリー／ストレージ７１２は、（ランダムアクセスメモリー（ＲＡＭ）などの）揮発性媒体及び／又は（読み取り専用メモリー（ＲＯＭ）、フラッシュメモリー、光ディスク、磁気ディスクなどの）不揮発性媒体を含むことができる。メモリー／ストレージ７１２は、固定媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハードドライブなど）、並びに取り外し可能な媒体（例えば、フラッシュメモリー、取り外し可能なハードドライブ、光ディスクなど）を含むことができる。コンピューター読み取り可能な媒体７０６は、以下にさらに記載されるような様々な他の方法で構成することができる。
【００６４】
[0072]入力／出力インターフェイス７０８は、ユーザーがコンピューティングデバイス７０２にコマンド及び情報を入力することを可能にし、また、情報が様々な入力／出力デバイスを使用してユーザー及び／又は他のコンポーネントもしくはデバイスに提示することを可能にする、機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス（例えば、マウス）、マイクロフォン、スキャナー、タッチ機能（例えば、物理的な接触を検出するように構成される容量性又は他のセンサー）、（例えば、接触をジェスチャーとして含まない動きを検出する、赤外周波数などの可視又は不可視の波長を使用することができる）カメラなどを含む。出力デバイスの例は、ディスプレイデバイス（例えば、モニター又はプロジェクター）、スピーカー、プリンター、ネットワークカード、触覚応答デバイスなどを含む。したがって、ユーザーインタラクションをサポートするために、以下にさらに説明するように、コンピューティングデバイス７０２は様々な方法で構成することができる。
【００６５】
[0073]本明細書において、様々な技術は、ソフトウェア、ハードウェア要素、又はプログラムモジュールの一般的な文脈で説明することができる。一般に、このようなモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などを含む。本明細書で使用されるとき、「モジュール」、「機能」、及び「コンポーネント」という語は、一般に、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせを表す。本明細書に記載の技術の特徴は、プラットフォーム非依存であることであり、これは、本技術が様々なプロセッサーを有する様々な市販のコンピューティングプラットフォーム上で実施できることを意味する。
【００６６】
[0074]記載されるモジュール及び技術の実施例は、何らかの形態のコンピューター読み取り可能な媒体上に格納することができるか又はこれを介して送信することができる。コンピューター読み取り可能な媒体は、コンピューティングデバイス７０２によってアクセスすることができる様々な媒体を含むことができる。限定ではなく、例として、コンピューター読み取り可能な媒体は、「コンピューター読み取り可能な記憶媒体」及び「通信媒体」を含むことができる。
【００６７】
[0075]「コンピューター読み取り可能な記憶媒体」とは、単なる信号送信、搬送波、又は信号自体とは対照的に、情報の永続的及び／又は非一時的な記憶を可能にする媒体及び／又はデバイスを指してもよい。したがって、コンピューター読み取り可能な記憶媒体は、非信号担持媒体を指す。コンピューター読み取り可能な記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、論理素子／回路又は他の情報等の情報の記憶のために適した方法又は技術で実施される、揮発性及び不揮発性の、取り外し可能な及び取り外し不能な媒体及び／又はストレージデバイスなどのハードウェアを含む。コンピューター読み取り可能な記憶媒体の例は、限定しないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、又は他のストレージデバイス、有形の媒体、又は所望の情報を格納しているのに適しておりコンピューターによってアクセスすることができる製品を含んでもよい。
【００６８】
[0076]「通信媒体」とは、ネットワークを介するなどして、コンピューティングデバイス７０２のハードウェアに命令を送信するように構成される信号担持媒体を指すことができる。通信媒体は、通常、搬送波、データ信号、又は他の搬送機構などの変調データ信号に、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータを具現化することができる。信号媒体はまた、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号中に情報を符号化するような方法で設定又は変更された１つ又は複数の特性を有する信号を意味する。例として、限定はしないが、通信媒体は、有線ネットワーク又は直接配線接続などの有線媒体、並びに音響、ＲＦ、赤外線及び他の無線媒体などの無線媒体を含む。
【００６９】
[0077]前述のように、ハードウェア要素７１０及びコンピューター読み取り可能な媒体７０６は、本明細書に記載された技術の少なくともいくつかの態様を実施するためにいくつかの実施例で使用することができる、命令、モジュール、プログラム可能なデバイスロジック及び／又はハードウェアの形態で実施される固定デバイスロジックを表す。ハードウェア要素は、集積回路又はオンチップシステム、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）、及びシリコン又は他のハードウェアデバイスにおける他の実施例のコンポーネントを含んでもよい。このコンテキストでは、ハードウェア要素は、命令、モジュール、及び／又はハードウェア要素によって具現化されるロジックによって定義されるプログラムタスクを実行する処理デバイス、並びに、例えば前述したコンピューター読み取り可能な記憶媒体などの、実行のための命令を記憶するために使用されるハードウェアデバイスとして動作することができる。
【００７０】
[0078]上記の組み合わせはまた、本明細書に記載の種々の技術及びモジュールを実施するために使用することができる。したがって、ソフトウェア、ハードウェア、又はアプリケーション１１２、ファイル同期モジュール１１４、認識モジュール１１９、リソースマネージャー１２０、コラボレーションサービス１２６及び他のプログラムモジュールを含むプログラムモジュールは、何らかの形式のコンピューター読み取り可能な記憶媒体上で及び／又は１つ又は複数のハードウェア要素７１０により具体化される１つ又は複数の命令及び／又はロジックとして実施することができる。コンピューティングデバイス７０２は、ソフトウェア及び／又はハードウェアモジュールに対応する特定の命令及び／又は機能を実施するように構成されてもよい。したがって、コンピューティングデバイス７０２によってソフトウェアとして実行可能なモジュールとしてのモジュールの実装は、例えば、コンピューター読み取り可能な記憶媒体及び／又は処理システムのハードウェア要素７１０の使用を介して、ハードウェアで少なくとも部分的に達成することができる。命令及び／又は機能は、本明細書に記載された技術、モジュール、及び例を実施するために、１つ又は複数の製品（例えば、１つ又は複数のコンピューティングデバイス７０２及び／又は処理システム７０４）によって実行可能／動作可能であってもよい。
【００７１】
[0079]さらに図７に示されるように、例示的なシステム７００は、パーソナルコンピューター（ＰＣ）、テレビジョンデバイス、及び／又はモバイルデバイス上でアプリケーションを実行する場合、シームレスなユーザーエクスペリエンスのためのユビキタス環境を可能にする。アプリケーションを利用したり、ビデオゲームをプレイしたり、ビデオを見たりしながら、あるデバイスから次のデバイスへと移行するとき、サービスやアプリケーションは、共通のユーザーエクスペリエンスのために３つのすべての環境で実質的に同様に実行する。
【００７２】
[0080]例示的なシステム７００では、複数のデバイスは、中央コンピューティングデバイスを介して相互接続される。中央コンピューティングデバイスは、複数のデバイスに対してローカルであってもよいし、複数のデバイスから遠隔に配置されてもよい。１つの実施例において、中央コンピューティングデバイスは、ネットワーク、インターネット又は他のデータ通信リンクを介して複数のデバイスに接続される１つ又は複数のサーバーコンピューターのクラウドであってもよい。
【００７３】
[0081]１つの実施例では、この相互接続アーキテクチャーは、複数のデバイスのユーザーに対して共通のシームレスなエクスペリエンスを提供するために、機能が複数のデバイス間で配信されることを可能にする。複数のデバイスの各々は異なる物理的要件及び能力を有していてもよく、中央コンピューティングデバイスは、両方がデバイスに対して調整され、すべてのデバイスに共通である、デバイスに対するエクスペリエンスの配信を可能にするためにプラットフォームを使用する。１つの実施例では、ターゲットデバイスのクラスが作成され、エクスペリエンスがデバイスの一般的なクラスに合わせて調整される。デバイスのクラスは、物理的特徴、使用のタイプ、又はデバイスの他の共通の特性によって定義することができる。
【００７４】
[0082]様々な実施例では、コンピューティングデバイス７０２は、コンピューター７１４、モバイル７１６、テレビ７１８の用途のためなど、様々な異なる構成を仮定してもよい。これらの構成の各々は、異なる構成と機能を一般に有し得るデバイスを含み、したがって、コンピューティングデバイス７０２は、異なるデバイスクラスの１つ又は複数に従って構成することができる。例えば、コンピューティングデバイス７０２は、パーソナルコンピューター、デスクトップコンピューター、マルチ画面コンピューター、ラップトップコンピューター、ネットブックなどを含むデバイスのコンピューター７１４クラスとして実施されてもよい。
【００７５】
[0083]コンピューティングデバイス７０２はまた、携帯電話、携帯音楽プレーヤー、携帯型ゲーム機、タブレットコンピューター、マルチ画面コンピューターなどのモバイルデバイスを含むデバイスのモバイル７１６クラスとして実施されてもよい。コンピューティングデバイス７０２はまた、カジュアルな視聴環境において一般により大きな画面を有し又はこれに接続されるデバイスを含むデバイスのテレビジョン７１８クラスとして実施されてもよい。これらのデバイスは、テレビ、セットトップボックス、ゲーム機などを含む。
【００７６】
[0084]本明細書において記載される技術は、コンピューティングデバイス７０２のこれらの種々の構成によってサポートすることができ、本明細書に記載される技術の具体例に限定されない。これは、コンピューティングデバイス７０２上に認識モジュール１１４を含めることによって示される。認識モジュール１１４及び他のモジュールの機能はまた、以下に述べるように、プラットフォーム７２２を介して「クラウド」７２０を介するなどして、分散システムの使用を通じて全て又は部分的に実施されてもよい。
【００７７】
[0085]クラウド７２０は、リソース７２４のプラットフォーム７２２を含み及び／又はこれを表す。プラットフォーム７２２は、クラウド７２０のハードウェア（例えば、サーバー）やソフトウェアリソースの基本的な機能を抽象化する。リソース７２４は、コンピューティングデバイス７０２から遠隔にあるサーバー上でコンピューター処理が実行される間に利用することができるアプリケーション及び／又はデータを含んでもよい。リソース７２４はまた、インターネットを介して及び／又はセルラーもしくはＷｉ−Ｆｉネットワークなどの加入者ネットワークを介して提供されるサービスを含むことができる。
【００７８】
[0086]プラットフォーム７２２は、コンピューティングデバイス７０２を他のコンピューティングデバイスと接続するためのリソース及び機能を抽象化してもよい。プラットフォーム７２２はまた、プラットフォーム７２２を介して実施されるリソース７２４について発生した要求に対して対応するレベルのスケールを提供するためにリソースのスケーリングを抽象化するのに役立ち得る。したがって、相互接続されたデバイスの実施例において、本明細書に記載される機能の実施例は、システム７００全体にわたって分散されてもよい。例えば、機能は、コンピューティングデバイス７０２上で部分的に及びクラウド７２０の機能を抽象化するプラットフォーム７２２を介して、実施されてもよい。
結論
[0087]本発明は、構造的特徴及び／又は方法論的動作に特有の言葉で説明されたが、添付の特許請求の範囲で定義される本発明は必ずしも説明した特定の特徴又は動作に限定されないことを理解すべきである。むしろ、特定の特徴及び動作は、特許請求される発明を実施する例示的な形態として開示されるものである。
【図１】
2015505627.tif 000003
【図２】
2015505627.tif 000004
【図３】
2015505627.tif 000005
【図４】
2015505627.tif 000006
【図５】
2015505627.tif 000007
【図６】
2015505627.tif 000008
【図７】
2015505627.tif 000009
【国際調査報告】
2015505627.tif 000010
2015505627.tif 000011