(57)【要約】クライアントデバイスは、デバイス上のプロセスに関連付けられたウィンドウにコンテンツアイテムを表示する。クライアントアプリケーションは、コンテンツアイテムに対するプロセスを監視し、コンテンツアイテムがクライアントデバイス又はコンテンツ管理システムと同期しているかを判定する。コンテンツアイテムが同期されていない場合、同期インタフェースが表示されて、ユーザはコンテンツアイテムの同期を要求することができる。ユーザが同期を要求する場合、コンテンツアイテムはコンテンツ管理システム又はクライアントデバイスと同期される共有フォルダに移動される。
2019509530.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
第１のプロセスによって、コンテンツアイテムと相互作用し且つ第２のプロセスによって制御されるユーザインタフェース要素に関連付けられるユーザのプレゼンスの状態の変化を示す監視イベントを受信することと、
前記第１のプロセスによって、前記コンテンツアイテムがコンテンツ管理システムに同期されているかを判定することと、
前記コンテンツアイテムが前記コンテンツ管理システムに同期されていないと判定したことに応じて、
前記第１のプロセスによって、ユーザが前記コンテンツアイテムの前記コンテンツ管理システムへの同期を要求するための選択を提供する同期インタフェースを提供することと、
前記同期インタフェースから前記コンテンツアイテムを同期する要求を受信することと、
前記コンテンツアイテムを同期する要求を受信した後に、前記コンテンツアイテムを、前記コンテンツ管理システムに同期される共有フォルダに追加することと、を含む、方法。
【請求項２】
請求項１に記載の方法であって、前記コンテンツアイテムは、前記コンテンツアイテムを同期する前記要求を受信した後に、１つ以上のクライアントデバイスに同期される、方法。
【請求項３】
請求項１に記載の方法であって、更に、前記共有フォルダの場所を識別することを含む、方法。
【請求項４】
請求項３に記載の方法であって、前記共有フォルダの前記場所は前記ユーザによって特定される、方法。
【請求項５】
請求項３に記載の方法であって、前記共有フォルダの前記場所は同期されるコンテンツアイテムのためのディレクトリツリーのルートである、方法。
【請求項６】
請求項１に記載の方法であって、前記監視イベントは前記コンテンツアイテムを保存することを含む、方法。
【請求項７】
請求項１に記載の方法であって、前記監視イベントは前記コンテンツアイテムを開くことを含む、方法。
【請求項８】
請求項１に記載の方法であって、前記同期インタフェースは前記ユーザインタフェース要素に隣接して又は前記ユーザインタフェース要素と重複して表示される、方法。
【請求項９】
１つ以上のプロセッサによって実行可能な命令を含む非一時的コンピュータ可読媒体であって、前記命令は、実行されたときに、前記プロセッサに、
第１のプロセスによって、コンテンツアイテムと相互作用し且つ第２のプロセスによって制御されるユーザインタフェース要素に関連付けられるユーザのプレゼンスの状態の変化を示す監視イベントを受信させ、
前記第１のプロセスによって、前記コンテンツアイテムがコンテンツ管理システムに同期されているかを判定させ、
前記コンテンツアイテムが前記コンテンツ管理システムに同期されていないと判定したことに応じて、
前記第１のプロセスによって、ユーザが前記コンテンツアイテムの前記コンテンツ管理システムへの同期を要求するための選択を提供する同期インタフェースを提供させ、
前記同期インタフェースから前記コンテンツアイテムを同期する要求を受信させ、
前記コンテンツアイテムを同期する要求を受信した後に、前記コンテンツアイテムを、前記コンテンツ管理システムに同期される共有フォルダに追加させる、非一時的コンピュータ可読媒体。
【請求項１０】
請求項９に記載の非一時的コンピュータ可読媒体であって、前記コンテンツアイテムは、前記コンテンツアイテムを同期する前記要求を受信した後に、１つ以上のクライアントデバイスに同期される、非一時的コンピュータ可読媒体。
【請求項１１】
請求項９に記載の非一時的コンピュータ可読媒体であって、前記命令は更に、前記１つ以上のプロセッサに、前記共有フォルダの場所を識別させる、非一時的コンピュータ可読媒体。
【請求項１２】
請求項１１に記載の非一時的コンピュータ可読媒体であって、前記共有フォルダの前記場所は前記ユーザによって特定される、非一時的コンピュータ可読媒体。
【請求項１３】
請求項１１に記載の非一時的コンピュータ可読媒体であって、前記共有フォルダの前記場所は同期されるコンテンツアイテムのためのディレクトリツリーのルートである、非一時的コンピュータ可読媒体。
【請求項１４】
請求項９に記載の非一時的コンピュータ可読媒体であって、前記監視イベントは前記コンテンツアイテムを保存することを含む、非一時的コンピュータ可読媒体。
【請求項１５】
請求項９に記載の非一時的コンピュータ可読媒体であって、前記監視イベントは前記コンテンツアイテムを開くことを含む、非一時的コンピュータ可読媒体。
【請求項１６】
請求項１に記載の非一時的コンピュータ可読媒体であって、前記同期インタフェースは前記ユーザインタフェース要素に隣接して又は前記ユーザインタフェース要素と重複して表示される、非一時的コンピュータ可読媒体。
【請求項１７】
システムであって
命令を実行するように構成される１つ以上のプロセッサと、
命令を含む非一時的な不揮発性記録媒体であって、前記命令は、前記１つ以上のプロセッサによって実行されると前記１つ以上のプロセッサに、
第１のプロセスによって、コンテンツアイテムと相互作用し且つ第２のプロセスによって制御されるユーザインタフェース要素に関連付けられるユーザのプレゼンスの状態の変化を示す監視イベントを受信することと、
前記第１のプロセスによって、前記コンテンツアイテムがコンテンツ管理システムに同期されているかを判定することと、
前記コンテンツアイテムが前記コンテンツ管理システムに同期されていないと判定したことに応じて、
前記第１のプロセスによって、ユーザが前記コンテンツアイテムの前記コンテンツ管理システムへの同期を要求するための選択を提供する同期インタフェースを提供することと、
前記同期インタフェースから前記コンテンツアイテムを同期する要求を受信することと、
前記コンテンツアイテムを同期する要求を受信した後に、前記コンテンツアイテムを、前記コンテンツ管理システムに同期される共有フォルダに追加することと、のステップを実行させる、システム。
【請求項１８】
請求項１７に記載のシステムであって、前記コンテンツアイテムは、前記コンテンツアイテムを同期する前記要求を受信した後に、１つ以上のクライアントデバイスに同期される、システム。
【請求項１９】
請求項１７に記載のシステムであって、前記監視イベントは前記コンテンツアイテムを保存すること又は開くことを含む、システム。
【請求項２０】
請求項１７に記載のシステムであって、前記同期インタフェースは前記ユーザインタフェース要素に隣接して又は前記ユーザインタフェース要素と重複して表示される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般にデバイス間で情報を共有することに関し、特にネイティブアプリケーションと共有コンテンツの間の相互作用に関する。
【背景技術】
【０００２】
コンテンツ管理システムは、デバイスに、コンテンツ管理システム及び他のデバイスとの間でコンテンツアイテムを同期することを可能にする。デバイスはコンテンツアイテムのローカルコピーを格納する。コンテンツアイテムがデバイスにおいて追加され、削除され、及び編集される場合、これらの修正は、格納及び他のデバイスとの同期のためにコンテンツ管理システムに送信される。コンテンツアイテムと相互作用するため、ユーザは典型的にはデバイス上のネイティブアプリケーションを実行して、コンテンツアイテムを閲覧し修正する。ユーザがコンテンツ管理システムにコンテンツアイテムを追加することを望む場合、ユーザは典型的にはネイティブアプリケーションを終了しなければならず、ユーザは、ネイティブアプリケーションでコンテンツアイテムを閲覧ながら共有フォルダにコンテンツアイテムを追加する便利な方法を有しない。
【発明の概要】
【０００３】
説明される実施形態は、コンテンツ管理システムを介してコンテンツアイテムを共有するデバイスの一組のユーザが、ネイティブアプリケーション内の同一のコンテンツアイテムの単一のインスタンスを同時に閲覧することと修正することを可能にする。様々な実施形態では、共有コンテンツアイテムが１つ以上の他のデバイスで閲覧され又は編集されていることを示すユーザの各デバイスにおいて、グラフィカル及びテキストの情報がユーザに提供される。更に、様々な実施形態では、ユーザは２以上のデバイスから協同的に共有コンテンツアイテムを編集することができる。
【０００４】
様々な実施形態に従うデバイスは、デバイス間で維持及び同期される、共有コンテンツアイテムのローカルコピーを格納する。同期は、コンテンツ管理システムによって、又はそれらのうちのデバイスによって実行されてもよい。デバイスは、ワードプロセッサ、メディアビューア、メディアエディタ等のような、コンテンツアイテムにアクセスするために用いられるネイティブアプリケーションを含む。ネイティブアプリケーションは、ウィンドウ等のユーザインタフェース要素に、コンテンツアイテムに関連する情報を表示する。デバイスはまた、コンテンツアイテムとの相互作用を監視し、これらの相互作用についての情報を、直接的に又はコンテンツ管理システムを介してコンテンツアイテムを共有する他のデバイスへ通信するクライアントアプリケーションを含む。クライアントアプリケーションは、コンテンツアイテムとのユーザの相互作用を表すデータを含む相互作用情報を生成する。クライアントアプリケーションはまた、２つ以上のデバイス間のコラボレーションを容易にする。
【０００５】
相互作用情報は、クライアントアプリケーションとの相互作用とネイティブアプリケーションとの相互作用とを含む。相互作用情報は、ネイティブアプリケーション内で発生するプログラムイベントを含むプレゼンス情報から決定されてよい。プレゼンスイベントは、コンテンツアイテムを開くこと、コンテンツアイテムを編集すること、コンテンツアイテムを保存すること、コンテンツアイテムの名称変更を行うこと、コンテンツアイテムを移動すること、コンテンツアイテムを削除することを含む。プレゼンスイベントはまた、ユーザインタフェース要素がフォーカスを得たり失ったりするような、ネイティブアプリケーションのユーザインタフェース要素と相互作用することを含む。フォーカスされたユーザインタフェース要素は、デバイスにおけるユーザ操作を受け取るユーザインタフェース要素である。例えば、ユーザインタフェース要素がフォーカスを有する場合、ユーザがユーザインタフェース要素を介してコンテンツアイテムを「閲覧している」ことを示す、プレゼンス情報が生成されてよい。ある実施形態では、プレゼンスイベントは、コンテンツアイテムと相互作用するネイティブアプリケーションとは別のクライアントアプリケーションによって収集される。すなわち、この実施形態では、プレゼンツ情報は、コンテンツアイテム又はプレゼンス情報にアクセスするネイティブアプリケーションに統合されていない、他のアプリケーション又はプロセスによって収集される。
【０００６】
クライアントアプリケーションはデバイス上のイベントを監視して、いつユーザがコンテンツアイテムと相互作用するためにネイティブアプリケーションを使用しているかを判定する。イベントを監視する１つの方法では、クライアントアプリケーションは、ユーザインタフェース要素に関連するイベントを受信するために、ユーザインタフェース要素またはオペレーティングシステムを制御するプロセスに登録する。クライアントアプリケーションはそのような全てのイベント、或いは、コンテンツアイテムを開くことに関連付けられた所定のユーザインタフェース要素のみを監視してよい。プレゼンスイベントが発生した場合、クライアントアプリケーションは、ネイティブアプリケーションから又はオペレーティングシステムからプレゼンスイベントを受信する。クライアントアプリケーションは、イベントと関連付けられたユーザインタフェース要素を識別し、イベントに関連付けられたプレゼンス情報を判定する。クライアントアプリケーションは、コンテンツアイテムが相互作用されている又は相互作用されたコンテンツアイテムを同期するコンテンツ管理システムに通知し、当該コンテンツ管理システムにプレゼンス情報を送信する。プレゼンス情報（又は他の相互作用情報）は直接他のデバイスに送信されてもよい。
【０００７】
コンテンツ管理システムは、相互作用情報を受信し、相互作用情報の種別に基づいて相互作用情報に応答する或いは他のデバイスに相互作用情報を送信してもよい。メッセージに関する相互作用情報は、コンテンツアイテムを同期する他のデバイスに送信される。プレゼンス情報は、ある実施形態では、コンテンツアイテム、デバイス、プロセス、ユーザインタフェース要素、及びプレゼンスの種別（例えばコンテンツアイテムが開いている、閲覧されている、編集されている、又は協同して編集されている）を示す、プレゼンス記録として格納される。相互作用の優先度を示すユーザプレゼンスは、相互作用の順番に従って判定されてよい。順序付けの例として、コンテンツアイテムを編集することは、コンテンツアイテムを閲覧することよりも高い優先度を有し、コンテンツアイテムを閲覧することは、コンテンツアイテムを開くことよりも高い優先度を有する。ユーザプレゼンスは、コンテンツアイテムに関するユーザのプレゼンスを表し、そして、任意の特定のデバイス、プロセス又はユーザインタフェース要素への参照を有さなくてもよい。コンテンツ管理システムは、コンテンツアイテムに関して同期する全てのデバイスへ当該情報を送信してもよく、又は、コンテンツアイテムに関してアクティブなプレゼンス記録に関連付けられているデバイスにのみ送信してもよい。ある実施形態では、デバイスは、通知をトリガするための特定の相互作用を特定し得る、コンテンツアイテムについての相互作用情報を受信するためにコンテンツ管理システムに登録する。相互作用が発生した場合、トリガする相互作用情報が通知に関連付けられたデバイスに送信される。
【０００８】
コンテンツ管理システムに同期されていないコンテンツアイテムに対して監視イベントが受信された場合、同期インタフェースがユーザに提示され得る。同期インタフェースでは、ユーザは、コンテンツ管理システムに同期されるコンテンツアイテムを指定してもよい。コンテンツアイテムを同期するための、ユーザからの要求を受信した場合、クライアントアプリケーションは、共有フォルダ内のコンテンツアイテムへのパスを決定し、コンテンツアイテムと関連付けられているネイティブアプリケーションに命令してコンテンツアイテムを共有フォルダに保存させる。この場合、ネイティブアプリケーションは、保存し及び同期するプロセスの間はコンテンツアイテムを開いたままにしてもよい。コンテンツアイテムがローカル共有フォルダに保存される場合、クライアントアプリケーションは、コンテンツアイテムを他のデバイスへ又はコンテンツ管理システムへ同期させ、同期中には、同期インタフェースを更新してコンテンツアイテムの同期状態を示してもよい。コンテンツアイテムの同期が完了した場合、共有及びコンテンツ管理システムを介したコンテンツアイテムとの他の相互作用を可能にする、コンテンツアイテムの状態の監視が通常の状態でなされてよい。
【図面の簡単な説明】
【０００９】
【図１】図１は、相互作用情報の通信とユーザコラボレーションとを含む、コンテンツアイテムを同期する環境の実施形態を示す。
【００１０】
【図２】図２は、ある実施形態に従う、デバイスの様々なモジュールと構成要素を示す。
【００１１】
【図３Ａ】、
【図３Ｂ】図３Ａ及び図３Ｂは、デバイスのデスクトップ表示におけるユーザインタフェース要素のフォーカス変化を示す。
【００１２】
【図４】図４は、ある実施に従う、コンテンツアイテムに関連付けられたプレゼンス情報を判定する例示的処理を示す。
【００１３】
【図５Ａ】、
【図５Ｂ】、
【図５Ｃ】、
【図５Ｄ】図５Ａ〜図５Ｂは、相互作用情報を表示する例示的ユーザインタフェースを示す。
【００１４】
【図６】図６は、コンテンツアイテムを共有フォルダに追加する例示的処理を示す。
【００１５】
【図７Ａ】、
【図７Ｂ】、
【図７Ｃ】、
【図７Ｄ】図７Ａ〜図７Ｄは、共有フォルダに追加されたコンテンツアイテムを表示する例示的ユーザインタフェースを示す。
【００１６】
図は説明の目的のみのために本発明の様々な実施形態を図示するものである。当業者は、以下に示される構成及び方法の他の代替的な実施形態が以下に説明される発明の原理から離れることなく用いられ得ることを以降の記載から容易に理解する。
【発明を実施するための形態】
【００１７】
図１は、相互作用情報の通信とユーザコラボレーションとを含む、コンテンツアイテムを同期する環境の実施形態を示す。図１は、デバイス１００Ａ、１００Ｂ、１００Ｃ（広くデバイス１００として参照される）、コンテンツ管理システム１１０、及びネットワーク１２０を含む。３つのデバイスは図示の目的のみのために示されるものであり、実際には任意の数のデバイスが環境に存在してよい。同様に、全体を通して説明及び図示される他のモジュール又は構成要素は、実施のニーズに対して適切であり一般性を失わないものとして１つ又は複数のインスタンスを含んでよい。
【００１８】
デバイス１００は、ローカルにコンテンツアイテムを格納して閲覧するため、及びコンテンツ管理システム１１０とコンテンツアイテムを同期するための任意の適切なコンピューティングデバイスであってよい。デバイスの例は、デスクトップ及びラップトップコンピュータ、携帯型モバイルデバイス、タブレットコンピュータ、及び他のコンピューティングデバイスを含む。様々な実施形態におけるデバイス１００の動作は、更に以下で説明される。
【００１９】
各デバイス１００は、ネットワーク１２０を介してコンテンツ管理システム１１０と通信する。ネットワーク１２０は、任意の適切なネットワークであり、ローカルネットワーク、業務用ネットワーク、グローバルネットワーク、及び任意のこれらの組み合わせを含んでよい。典型的な構成では、デバイス１００は、有線又は無線の通信ネットワークを介してローカルのネットワークサービスプロバイダと通信し、インターネットを通じてコンテンツ管理システム１１０と通信する。ある構成では、デバイス１００Ａ、１００Ｂ、１００Ｃは、図１において破線で示されるように、ネットワーク１２０を介すること無く、互いに直接通信する。例えば、デバイス１００は、Bluetooth通信を介した無線、又は、ユニバーサル・シリアル・ネットワーク（ＵＳＢ）を介した有線のような、有線又は無線接続を介して通信してもよい。
【００２０】
コンテンツ管理システム１１０は、デバイス１００のユーザに対し、コンテンツ共有及び同期サービスを提供する。これらのサービスは、ユーザが他のデバイス１００のユーザとコンテンツを共有できるようにする。コンテンツ共有に加えて、コンテンツ管理システム１１０は、変更に応じて共有コンテンツを更新し、複数のデバイス１００に渡ってコンテンツアイテムに対する同期された変更を可能にする。ユーザは、ユーザが所有し、ユーザのアカウントに関連付けられている複数のデバイス１００に渡ってコンテンツを同期してもよく、ユーザは、他のユーザのアカウントに関連付けられているデバイスと同期されるコンテンツを共有してもよい。コンテンツ管理システム１１０に格納されるコンテンツは、以下で合わせて「コンテンツアイテム」として参照される、デジタルデータ、書類、メディア（例えば画像、写真、ビデオ、音声、ストリーミングコンテンツ）、データファイル及びデータベース、ソースコード及びオブジェクトコード、記録、及び、任意の他のデータ又はファイルの種別などの、データの任意の種別を含み得る。コンテンツ管理システム１１０によって格納されるコンテンツアイテムはまた、フォルダ、テーブル、コレクション、アルバム、プレイリスト、又は他のデータベース構成物（例えば、オブジェクト指向のもの、キー／バリュー等）など、他のコンテンツアイテムを組織するために用いられてよい。実際には、様々なデバイス１００は、ユーザ連携、パーミッション、コンテンツ共有パーミッション等に基づいて、コンテンツアイテムの異なるグループを同期させてもよい。様々な実施形態におけるコンテンツ管理システム１１０の動作は、更に以下で説明される。
【００２１】
図２は、ある実施形態に従う、デバイス１００の様々なモジュールと構成要素を示す。デバイス１００は、情報をユーザに提供するディスプレイ２２０を含み、あるクライアントデバイス１００はタッチスクリーンを含む。デバイス１００はまた、ネットワーク１２０を介してコンテンツ管理システム１１０と通信するためのネットワークインタフェース２２５を含む。デバイス１００はまた、キーボート、マウス、タッチパッド、又は他のデバイスなどの様々なユーザ入力デバイスからのユーザ入力を受け取る、ユーザ入力モジュール２６０を含む。重要でない、例えば、１つ以上のコンピュータプロセッサ、ローカルの固定メモリ（ＲＡＭ及びＲＯＭ）、及び、オプションとしての着脱可能メモリ（例えば、ＳＤカード）、電源、及び音声-ビデオ入力といった、クライアントデバイス１００の他の従来的な構成要素は示されていない。
【００２２】
ソフトウェアモジュールは、オペレーティングシステム２４５及び１つ以上のネイティブアプリケーション２５５を含む。ネイティブアプリケーション２５５は、クライアントデバイスに応じて異なり、ワードプロセッサ、スプレッドシート、データベース管理システム、コードエディタ、画像及びビデオエディタ、電子ブックリーダ、音声及びビデオプレーヤーなどの、コンテンツ管理システム１１０に格納されたコンテンツアイテムを生成し、閲覧し、消費し、及び修正するための様々なアプリケーションを含んでよい。各デバイス上のオペレーティングシステム２４５は、ローカルのファイル管理システムを提供し、コンテンツ管理システムクライアントアプリケーション２００及びネイティブアプリケーション２５５などの、様々なソフトウェアモジュールを実行する。コンテンツディレクトリ２４０は、名前、写真、電話番号、会社、電子メールアドレス、物理アドレス、ウェブサイトＵＲＬなどの、ユーザの連絡先についての情報を格納する。ネイティブアプリケーション２５５、オペレーティングシステム２４５及びコンテンツ管理システムクライアントアプリケーション２００の更なる動作は、以下で説明される。
【００２３】
ある実施形態では、デバイス１００は、カメラ２３０及びロケーションモジュール２３５などの、追加的な構成要素を含む。カメラ２３０は、オンラインコンテンツ管理システム１１０にアプロードする画像又はビデオを撮影するために用いられてよい。ロケーションモジュール２３５は、例えば、全地球測位衛星（ＧＰＳ）信号、携帯電話基地局の三角測量、又は他の方法を用いてデバイスの位置を決定する。ロケーションモジュール２３５は、位置データを取得し、カメラ２３０によって撮影された画像のようなコンテンツアイテムについてのメタデータに位置データを追加するために、クライアントアプリケーション２００によって使用されてよい。
【００２４】
クライアントデバイス１００は様々な方法でコンテンツ管理システム１１０にアクセスする。クライアントアプリケーション２００は、コンテンツ管理システム１１０のサービスへのアクセスを提供する専用のアプリケーション又はモジュールであり得、ユーザインタフェースを通した共有ファイルへのユーザアクセスと他のアプリケーションによるプログラムでのアクセスの両方を提供する。クライアントデバイス１００はまた、ウェブブラウザ２５０を通じてコンテンツ管理システム１１０にアクセスしてもよい。代替として、クライアントアプリケーション２００は、コンテンツ管理システム１１０へのアクセスと、オペレーティングシステム２４５によって提供されるローカルファイル管理システムとを統合してもよい。コンテンツ管理システム１１０へのアクセスがローカルファイル管理システムに統合された場合、コンテンツ管理システム１１０において保守されるファイル組織化スキームは、オペレーティングシステム２４５とクライアントアプリケーション２００との共同により、ローカルファイル構成物として表される。クライアントアプリケーション２００は、スタンドアローンのアプリケーション、アプリケーションプラグイン、又はブラウザ拡張などの様々な形式をとってよい。クライアントアプリケーション２００は、ユーザインタフェースモジュール２０２、相互作用管理モジュール２０４、コンテンツアクセスモジュール２０６、ローカルコンテンツデータストア２０８、監視プレゼンスデータストア２１０及びコラボレーションモジュール２０７を含む。
【００２５】
他のデバイスタスクを扱うことに加えて、オペレーティングシステム２４５は、デバイス１００上で実行しているアプリケーションからの情報をディスプレイ２２０を介してユーザに表示する。このとき、情報は１つ以上のユーザインタフェース要素を含み得る。このようなユーザインタフェース要素は、特定のデバイス及び構成に応じて変化してよい。ユーザインタフェース要素は、モバイルデバイス上のユーザインタフェース要素及び、デスクトップインタフェース上のウィンドウを含み得る。ウィンドウのようなユーザインタフェース要素を用いるオペレーティングシステムの例は、レッドモンドのMicrosoft CorporationによるMicrosoft Windows 8、カリフォルニアのクパチーノのApple Inc.によるOS Xである。更に、オペレーティングシステム２４５は、同時に動作している複数のネイティブアプリケーション２５５の制御を管理する。ユーザインタフェース要素は、１つのレイヤが他のレイヤに重なるようにレイヤ化されてもよい。いくつかのオペレーティングシステムと構成では、１つのユーザインタフェース要素のみが所定の期間に表示される。典型的には１つのユーザインタフェース要素がアクティブなユーザインタフェース要素であり、これはオペレーティングシステム２４５がキーボードエントリ、カーソル移動、タッチセンサ、タッチジェスチャ等のようなユーザ入力を送るユーザインタフェース要素であることを意味する。当業者によって理解されるように、特定の期間にアクティブな、ウィンドウ又は他のユーザインタフェース要素は、しばしばフォーカスを有する。ユーザは、あるユーザインタフェース要素から他の要素へフォーカスを移動させるために他のユーザインタフェース要素を選択してもよく、ある例では、オペレーティングシステム２４５はフォーカスをユーザ入力なしに変更してもよい。
【００２６】
典型的には、ユーザインタフェース要素、例えばネイティブアプリケーション２５５と関連付けられたウィンドウ、はオペレーティングシステム２４５によって管理され、オペレーティングシステムは、実行しているネイティブアプリケーション２５５のプロセス識別子とユーザインタフェース要素のユーザインタフェース要素識別子との間の関連を管理する。例えば、特定のアプリケーションはプロセスid「２５８７」に関連付けられ、このプロセスidは、ユーザインタフェース要素識別子４、８及び１０を用いて複数のユーザインタフェース要素を管理し得る。各ユーザインタフェース要素識別子は、別々に、そのネイティブアプリケーション２５５によって開かれた特定のコンテンツアイテムと関連付けられてよく、複数のユーザインタフェース要素識別子とプロセス識別子とは同一のコンテンツアイテムに関連付けられてもよい。
【００２７】
オペレーティングシステム２４５はまた、様々なイベントを扱い、認識する。このようなイベントは、コンテンツアイテムを閉じたり開いたりするためのネイティブアプリケーション２５５からの要求、ウィンドウ又は他のユーザインタフェース要素を閉じるためのネイティブアプリケーション２５５からの要求、及びユーザインタフェース要素のフォーカスを変更する要求、その他の多くのものを含む。以下で説明されるように、これらのイベントは、コンテンツアイテムに関連するプレゼンスの変更を識別するために、相互作用管理モジュール２０４によって用いられてよい。
【００２８】
クライアントアプリケーション２００は、ユーザがデバイス上のコンテンツアイテムを開く、閉じる或いは変更するときのように、コンテンツアイテムに関して生じる相互作用を識別する。これらの相互作用は、コンテンツアイテムとの相互作用を記述する相互作用情報を生成するために、クライアントアプリケーション２００によって識別される。相互作用情報は、クライアントアプリケーション２００との相互作用とネイティブアプリケーション２５５との相互作用とを含む。ネイティブアプリケーション２５５の動作から決定される相互作用情報は、プレゼンス情報と呼ばれる。相互作用情報とプレゼンス情報とを判定するクライアントアプリケーション２００などのアプリケーションは、プレセンスアプリケーションと呼ばれる。（プレゼンス情報に加えた）相互作用情報の更なる種別は、コンテンツアイテムに関連する、ノート、メッセージ及び通知要求を含み、これらはクライアントアプリケーション２００によって受信され得る。メッセージは、他のデバイスへのチャットメッセージ、コンテンツアイテムと相互作用（例えば編集）するユーザの意図を示すメッセージ、及び、コラボレーションセッションを開始するユーザの意図を示すメッセージを含んでよい。通知要求は、他のユーザの相互作用情報が変化した際に通知される要求を含んでよい。相互作用情報はまた、バージョン管理上のノートのようなメタデータの修正、又は、バージョン管理情報又は以前のコンテンツアイテムのバージョンを閲覧するための要求のような、コンテンツ管理システム１１０に格納されるコンテンツアイテムに関する更なる情報に対する要求を含む。更なる相互作用情報の例は以下に説明される。
【００２９】
相互作用情報は、コンテンツアイテムに関して同期される他のデバイス１００へ送信される。意図の指示は、例えば、第１のユーザがコンテンツアイテムを編集しようとする或いは協同的な編集セッションを開始しようとすることを、他のデバイス上のコンテンツアイテムの第２のユーザに注意を促す。クライアントアプリケーション２００は、ユーザがいつネイティブアプリケーション２５５を用いてコンテンツアイテムと相互作用するのかを識別し、また、ユーザからのチャット又は意図情報を受信する。様々な実施形態では、デバイス１００は、コンテンツアイテムにおけるユーザのプレゼンス（すなわちユーザがコンテンツアイテムを開く又はコンテンツアイテムを編集すること）を、後に更に説明するオペレーティングシステム２４５との相互作用を通じて、識別する。
【００３０】
デバイス１００は、コンテンツ管理システム１１０からコンテンツアイテムを受信し、ユーザがデバイス１００上に格納された様々なネイティブアプリケーション２５５を用いてコンテンツアイテムを閲覧し、修正し、及び相互作用することを可能にする。例えば、デバイス１００は、画像コンテンツアイテムを操作する写真編集アプリケーション、テキストコンテンツアイテムの編集を可能にするワードプロセッシングアプリケーション、又は、コンテンツアイテムの描画の修正を可能にするコンピュータ支援設計（ＣＡＤ）アプリケーションを含んでよい。更に後述するように、相互作用情報は、ユーザの相互作用アプリケーションを介してデバイス１００によって判定され、相互作用情報は他のデバイス１００に送信される。更に、デバイス１００が他のデバイス１００に関連する相互作用情報を受信した場合、デバイス１００はその相互作用情報を表示する。
【００３１】
ある実施形態では、コンテンツアイテムに関連する相互作用情報を検出するアプリケーションは、コンテンツアイテムを閲覧し又は操作するアプリケーションとは別のものである。例えば、相互作用情報を検出するクライアントアプリケーションは、画像コンテンツアイテムを操作し又は表示する写真編集アプリケーションとは別のものである。様々な実施形態では、相互作用情報を検出するアプリケーションはまた、コンテンツアイテムをコンテンツ管理システム１１０と同期する責務を有する。相互作用情報を検出するアプリケーションはプレセンスが検出されるアプリケーションとは別のものであるため、プレゼンスは、多数のアプリケーションとコンテンツアイテムとに対して一度に監視され、また、コンテンツアイテムビューアの種別のそれぞれに対するプレゼンスの監視を統合すること無く監視されてよい。すなわち、例えば、写真編集アプリケーション、ワードプロセッシングアプリケーション、及びプレイリスト編集アプリケーションのそれぞれに対して、追加的な特別なプレゼンス監視又はアプリケーションの修正を必要としない。
【００３２】
図３Ａ及び３Ｂは、デバイス１００のディスプレイ２２０上に表示される、デスクトップ３００におけるユーザインタフェース要素のフォーカス変化を示している。図３Ａでは、ウィンドウ３１０Ａ、３１０Ｂ及び３１０Ｃはデスクトップ３００上に表示されてユーザから見えるようになる。この実施形態では、デスクトップ３００は、ディスプレイ２２０上のユーザインタフェース要素を取り囲む、オペレーティングシステム２４５によって管理される汎用のコンテナ又はフレームである。図３Ａ及び３Ｂでは、ユーザインタフェース要素は、デスクトップコンピューティング環境におけるウィンドウ３１０である。モバイルデバイス又は領域の制限される他のディスプレイのような他の構成では、１つのユーザインタフェース要素のみが一度に表示されてよい。図３Ａに示すように、ウィンドウ３１０Ａは、フロントウィンドウとして示されるアクティブウィンドウであり、部分的にウィンドウ３１０Ｂ及び３１０Ｃを覆っている。図３Ｂでは、フォーカスがウィンドウ３１０Ｂに変更され、今はフロントウィンドウであってアクティブウィンドウとなっている。フォーカスは、ウィンドウ３１０Ｂとのユーザ相互作用によって、又は、そのウィンドウをアクティブウィンドウにすることを要求するプロセスによって、変更されてよい。あるオペレーティングシステム及び構成では、ユーザインタフェース要素は、フロントのユーザインタフェース要素になること無く、フォーカスを有してよい（すなわち、ユーザ入力を受け取っている）。
【００３３】
再び図２を参照すると、コンテンツアイテムを開くために、ネイティブアプリケーション２５５はオペレーティングシステム２４５からコンテンツアイテムを要求し、コンテンツアイテムに対し、コンテンツアイテムへのハンドルをオペレーティングシステム２４５から受け取る。ある場合には、アプリケーション２４５はハンドルを維持せずに、ネイティブアプリケーション２５５がコンテンツアイテムからのデータを使用する場合、又は、ユーザがコンテンツアイテムに対する編集を入力する場合であっても、コンテンツアイテムをメモリにロードし、続いてコンテンツアイテムのハンドルを閉じてもよい。従って、開いたコンテンツアイテムのハンドルは、アプリケーションが特定のコンテンツアイテムと相互作用しているかを判定するためには信頼性の高いものではない。このように、ある実施形態では、ネイティブアプリケーション２５５によって示される更なる振る舞いが、アプリケーションがコンテンツアイテムを編集しているかを判定するために用いられる。
【００３４】
ネイティブアプリケーション２５５はまた、ユーザがコンテンツアイテムを修正した場合及びユーザがコンテンツアイテムを保存する前に、様々な振る舞いを実行する。これらの振る舞いはアプリケーション及びオペレーティングシステム２４５に応じて変化する。例えば、いくつかのネイティブアプリケーション２５５は、例えば、主要な一時的なコンテンツアイテムのファイル名にチルダ又は他の認識可能なマークを有する、開いているコンテンツアイテムと異なるファイル名を有する一時的なコンテンツアイテムを生成する。他の例では、ネイティブアプリケーション２５５は、ユーザから直接視認可能である又は視認可能でない、コンテンツアイテムに関連付けられたユーザインタフェース要素のタイトルを変更する。更なる例では、ネイティブアプリケーション２５５は、コンテンツアイテムが修正されたことを示すフラグを設定する。ネイティブアプリケーション２５５はまた、他のアプリケーション又はオペレーティングシステム２４５からの要求に応じて、コンテンツアイテムの修正に関する情報を提供してもよい。例えば、上述したようなOS XオペレーティングシステムにおけるアクセシビリティＡＰＩはユーザインタフェース要素と関連付けられたコンテンツアイテムに関する情報を提供する。開いたコンテンツアイテムのハンドルは、コンテンツアイテムがネイティブアプリケーション２５５によって編集されているかを判定するための信頼性の高いものではないため、これらの振る舞いは、コンテンツアイテムを編集している又は修正していることに関するプレゼンスを判定するために、更に後に説明されるように、プレゼンス管理モジュールによって使用される。
【００３５】
ネイティブアプリケーション２５５は典型的に、他とは独立にデバイス１００内で実行され、アプリケーションと、他のアプリケーション又はデバイス１００上で実行するプロセスとの間の通信を可能にし得る。ネイティブアプリケーション２５５は典型的に、アプリケーションが実行しているプロセスから情報を要求することを可能にする、アプリケーションプログラミングインタフェース（ＡＰＩ）を用いてプロセスに情報を提供する。例えば、ネイティブアプリケーション２５５は、アプリケーションによって制御されるユーザインタフェース要素に対する要求を可能にする、又は、ユーザインタフェース要素のタイトルを示すため又はネイティブアプリケーション２５５によって開かれたコンテンツアイテムに関連付けられたファイルシステム内のパスを要求するための、ＡＰＩを公開してよい。同様に、オペレーティングシステム２４５は、特定のユーザインタフェース要素を制御するプロセスについての情報を要求するような、要求処理のための類似のＡＰＩを提供してもよい。
【００３６】
クライアントアプリケーション２００は、コンテンツ管理システム１１０へのアクセスを制御する。クライアントアプリケーション２００は、以下で様々に示されるように、クライアントアプリケーション２００によってアクセスされるコンテンツへのインタフェースを生成する、ユーザインタフェースモジュール２０２を含み、この機能を実行する１つの手段である。生成されたインタフェースはディスプレイ２２０によってユーザへ提供される。クライアントアプリケーション２００は、コンテンツ管理システム１１０のコンテンツストレージからアクセスされたコンテンツを、ローカルのコンテンツデータストア２０８に格納してもよい。ここではクライアントアプリケーション２００内のものとして示されるが、ローカルコンテンツデータストア２０８は、不揮発性ストレージ内にクライアントデバイス１００のための他のデータと共に格納されてもよい。ローカルのコンテンツデータストア２０８がこのように格納される場合、コンテンツは、クライアントアプリケーション２００がコンテンツ管理システム１１０と通信中でないときに、ユーザ及びネイティブアプリケーション２５５のような他のアプリケーション又はモジュールに利用可能である。コンテンツアクセスモジュール２０６は、ローカルのコンテンツデータストア２０８への更新を管理し、クライアントデバイス１００によって修正されたコンテンツをコンテンツ管理システム１１０上に維持されるコンテンツと同期するために、同期ロジックを用いてコンテンツ管理システム１１０と通信する。このような同期の１つの例は２０１３年９月２７日に出願された米国特許出願第１４／０４０，５８４号において提供されており、参照によってその全体がここに取り込まれる。クライアントアプリケーション２００は、スタンドアローンのアプリケーション、アプリケーションプラグイン、又はブラウザ拡張などの様々な形式をとってよい。
【００３７】
コンテンツ管理システム１１０は、コンテンツアイテムが削除されたことを示す情報、又はデバイス１００がコンテンツアイテムの期限切れのバージョンを閲覧又は編集しているであろうことを示す情報などの、コンテンツアイテムを同期するための追加的なデータを提供してもよい。
【００３８】
相互作用管理モジュール２０４は、ユーザの同期されたコンテンツアイテムに関連する相互作用情報を取得し管理する。上述したように、相互作用管理モジュール２０４は典型的に、プレゼンス情報のために相互作用管理モジュール２０４によって監視されているネイティブアプリケーション２５５とは別のモジュールであり、別のプロセスとして動作する。相互作用管理モジュール２０４は、デバイス１００に同期されたコンテンツアイテムに関する決定された相互作用情報を、コンテンツ管理システム１１０に送信する。相互作用管理モジュール２０４はまた、コンテンツ管理システム１１０から、他のユーザに関する相互作用情報をユーザに表示するために受信する。後に更に説明するように、ある実施形態では、相互作用管理モジュール２０４は、同期されたコンテンツアイテムに関連付けられたユーザインタフェース要素にプレゼンスインジケータを付加することによって、他のユーザに関するプレゼンス情報を表示する。更に、相互作用情報は、プレゼンスインジケータとも表示される。
【００３９】
後に更に説明するように、相互作用情報の多くの種別を判定するため、相互作用管理モジュール２０４は、ユーザインタフェース要素を通して相互作用情報を受信する。同期コンテンツアイテムと関連するプレゼンス情報を判定するため、相互作用管理モジュール２０４は、ネイティブアプリケーション２５５に関連付けられたユーザインタフェース要素を監視する。相互作用管理モジュール２０４は、全てのユーザインタフェース要素を監視すること、或いは、代替的にユーザインタフェース要素がコンテンツアイテムと関連付けられた後に特定のユーザインタフェース要素についてのみ監視することができる。監視プレゼンスデータストア２１０は、同期されたコンテンツアイテムに関連する動作を判定するために特定のユーザインタフェース要素が監視されていることを示す、相互作用管理モジュール２０４によって維持される情報を含む。
【００４０】
ここではクライアントアプリケーション２００の一部として示すが、様々な実施形態では、コンテンツアクセスモジュール２０６及び相互作用管理モジュール２０４は、それぞれの機能を実行するための別々のモジュールに分けられている。同様に、様々なモジュール及びデータストアは便宜のために本開示を通して別々に説明され、様々な実施形態において、所望に統合され又は更に別々の構成要素に分けられる。
【００４１】
図４は、ある実施に従う、コンテンツアイテムに関連付けられたプレゼンス情報を判定する例示的処理を示す。この処理は典型的には相互作用管理モジュール２０４によって実行される。ユーザインタフェース要素がコンテンツアイテムに関連付けられた後にのみ監視される場合において、相互作用管理モジュール２０４は、ユーザインタフェース要素を監視するかを判定するために、コンテンツアイテムがアプリケーション又はユーザインタフェース要素によって開かれていることを示すイベントを用いる。これは、コンテンツアイテムをユーザインタフェース要素に関連付けるかもしれないイベントの一例であり、監視イベントと呼ばれる。他の実施形態では、監視するユーザインタフェース要素の選択は、他の方法で決定され、又は、全てのユーザインタフェース要素が監視される。この場合、相互作用管理モジュール２０４は監視イベントを使用しなくてもよい。他の実施形態では、監視イベントはコンテンツアイテムを保存する処理を含む。
【００４２】
オペレーティングシステム２４５によって利用可能にされた場合、相互作用管理モジュール２０４は、特定のアプリケーションのための監視イベントを受信するために、オペレーティングシステム２４５に登録してもよい。これらの実施形態では、オペレーティングシステム２４５は、オペレーティングシステム２４５がコンテンツアイテムを開く又は保存する要求を受信した場合に、相互作用管理モジュール２０４に通知する。この実施形態では、相互作用管理モジュール２０４は、ウィンドウ又は他のユーザインタフェース要素がコンテンツアイテムと相互作用することを示す監視イベント４００を受信し、このコンテンツアイテムは、同期されたコンテンツアイテムであってよい（すなわち、プロセスは特定のユーザインタフェース要素においてコンテンツアイテムと相互作用する）。監視イベントは監視イベントをトリガしたユーザインタフェース要素を少なくとも示す。他の実施形態では、相互作用管理モジュール２０４は、時々（例えば５分インターバルで）ユーザインタフェース要素に関連付けられたイベントを監視し、ユーザインタフェース要素が任意の開かれているコンテンツアイテムと関連付けられているかを問い合わせる。オペレーティングシステム２４５とネイティブアプリケーション２５５の構成に従って、この問い合せは、オペレーティングシステム２４５又はネイティブアプリケーション２５５に向けられてよい。ユーザインタフェース要素が新たに開かれたコンテンツアイテムを含む場合、その新たに開かれたコンテンツアイテムは、新たに開かれたコンテンツアイテムがコンテンツ管理システム１１０と同期されたコンテンツアイテムであるかを判定するために監視イベントとして扱われ、そして、そのプレゼンス情報は新たに開かれたコンテンツアイテムに対して判定されなければならない。
【００４３】
監視イベントが受信された場合、相互作用管理モジュール２０４は、どのプロセスが、監視イベントに関連付けられたユーザインタフェース要素に対する責務を負うかを４１０において判定する。相互作用管理モジュール２０４は典型的に、オペレーティングシステム２４５からユーザインタフェース要素に関連付けられたプロセスＩＤを要求することによってプロセスを判定する。いくつかの実施形態では、相互作用管理モジュール２０４は、ユーザインタフェース要素自身からプロセスの識別子を要求することによって、プロセスを識別する。
【００４４】
プロセスとユーザインタフェース要素とが互いに正しく関連付けられていること、及び、ユーザインタフェース要素が依然としてアクティブであることを確認するために、相互作用管理モジュール２０４は、プロセスから現在アクティブなユーザインタフェース要素の識別を要求してもよい。相互作用管理モジュール２０４は、プロセスから受信した現在アクティブなユーザインタフェース要素が、監視イベントと関連付けられたユーザインタフェース要素と一致することを確認する。
【００４５】
プロセスの識別子を用いて、相互作用管理モジュール２０４は、コンテンツアイテムに対する関連付けられたディレクトリパスを取得するために、プロセスから任意の開いているコンテンツアイテムを４２０において要求する。相互作用管理モジュール２０４は、監視イベントに関連付けられたユーザインタフェース要素に、開かれているコンテンツアイテムのパスに対する要求を結びつける。相互作用管理モジュール２０４は、プロセス又はオペレーティングシステムへの利用可能なインタフェースを用いて、プロセス又はオペレーティングシステムから開いているアイテムを要求する。ある例として、OS Xオペレーティングシステムでは、既知であるように、コンテンツアイテムとユーザインタフェース要素に対するコンテンツアイテムパスとに関連付けられた情報にアクセスするためにアクセシビリティＡＰＩが用いられる。プロセスによって提供されるコンテンツアイテムパスを用いて、相互作用管理モジュール２０４は、開かれたコンテンツアイテムパスが任意の同期されたコンテンツアイテムに対応するかを判定する。そうであれば、相互作用管理モジュール２０４は、プロセスによってアクセスされるコンテンツアイテムがコンテンツ管理システム１１０に同期されたコンテンツアイテムであると判定し、当該プロセスとユーザインタフェース要素とをコンテンツアイテムに関連付ける。他の実施形態では、プロセスによってアクセスされるコンテンツアイテムが同期されたコンテンツアイテムであるかどうかを判定するために他の方法が用いられてもよい。
【００４６】
コンテンツアイテムが、コンテンツ管理システム１１０に４３０において同期される場合、相互作用管理モジュール２０４は、イベントに対するユーザインタフェース要素を４４０において監視するために、コンテンツアイテム、プロセス及びユーザインタフェース要素に関連する情報を格納する。監視イベントの関連付けられたコンテンツアイテムが同期されていない場合、プロセスは、図６において更に詳細化され図７Ａ−７Ｄに示されるように、ユーザに同期インタフェースを表示することによって継続してもよい。この監視情報は、監視プレゼンスデータストア２１０に格納される。監視し、その後ユーザインタフェース要素に関連するプレゼンスイベントを受信するために、相互作用管理モジュール２０４は、ユーザインタフェース要素に関連付けられたイベントを受信するために登録する。相互作用管理モジュール２０４による登録処理は、デバイス１００の構成に従って変わる。典型的には相互作用管理モジュール２０４は、オペレーティングシステム２４５から、又は、利用可能なプロセス又はユーザインタフェース要素からのプレゼンスイベントを受信するための要求を登録する。監視イベントは、ユーザインタフェース要素又はプロセスが同期したコンテンツアイテムと相互作用するかが判定される一方、プレゼンス情報は、コンテンツアイテムに関連付けられたユーザインタフェース要素又はプロセスに関連する、ユーザのプレゼンスの状態を示し得るイベントである。例示のプレゼンスイベントは、相互作用管理モジュール２０４によって認識されるプレゼンスの種別に基づく、ユーザインタフェース要素のフォーカスの変化、ユーザインタフェース要素を閉じること、コンテンツアイテムを閉じること、コンテンツアイテムを開くこと等を含む。様々な実施形態では、相互作用管理モジュール２０４によって使用されるプレゼンスイベントは、オペレーティングシステム２４５及びネイティブアプリケーション２５５が相互作用管理モジュール２０４による受信のために利用可能にしているイベントに基づく。
【００４７】
プレゼンスイベントは、プレゼンスイベントが関連するコンテンツアイテムと関連付けられたプレゼンス情報を判定するために用いられる。例えば、コンテンツアイテムに関連付けられるユーザインタフェース要素がフォーカスを有することを示すプレゼンスイベントは、ユーザがコンテンツアイテムを閲覧していることを示し、従って、当該コンテンツアイテムに対するプレゼンス情報は、その状態を示す。同様に、コンテンツアイテムに関連付けられていないユーザインタフェース要素がフォーカスを得たことを示すプレゼンスイベントは、以前にフォーカスされたユーザインタフェース要素に関連付けられたコンテンツアイテムがフォーカスを失ったことを示し、従って、ユーザがもはや当該コンテンツアイテムを閲覧していないことを示す。従って、プレゼンス情報はプレゼンスイベントそのものの基礎となるセマンティック解釈のレベルを提供する。
【００４８】
相互作用管理モジュール２０４が登録したプレゼンス情報を受信することに加えて、プレゼンス情報はまた、監視されるユーザインタフェース要素に対してプレゼンス情報が変化していないことを確認するために、相互作用管理モジュール２０４によって開始されてよい。これらのプレゼンスイベントは、閾値の時間が特定のユーザインタフェース要素又はプロセスに対する最後のプレゼンスイベントから経過した場合、又は特定のインターバル、例えば５分を経過した場合に開始されてもよい。
【００４９】
イベントに対する登録に加えて、相互作用管理モジュール２０４は他の方法によって相互作用イベントを受信してもよい。ある実施形態では、ユーザは、ユーザインタフェース要素を通じて相互作用情報を明示的に示してもよい。ユーザインタフェース要素は、例えば、特定の意図を表すメニューアイテム又はアイコンを選択することによって、例えばユーザがコンテンツアイテムの更新を意図することを示して、コンテンツアイテムを編集している又は閲覧している他のユーザにその意図を示すことができるように構成され得る。ユーザインタフェース要素は、もはやコンテンツアイテムを閲覧しない或いは現在又は将来にコンテンツアイテムがユーザに提示されないことを明示するような、ユーザの他の意図をユーザが示すことができるようにも構成され得る。他のユーザは、コンテンツアイテムを自由に編集できることを知るために、そのような「提示しない」意図を用いてもよい。ユーザ入力の相互作用イベントはまた、例えばデバイス上でコンテンツアイテムを現在閲覧している他のユーザへメッセージを送信する、コンテンツアイテムに関連付けられた他のユーザに広めるためのメッセージ又はチャット機能を含んでよい。
【００５０】
プレゼンス情報が４５０において受信された場合、相互作用管理モジュール２０４は、任意のプレゼンス情報が監視ユーザインタフェース要素に関連する最後のプレゼンスイベントから変更されたかを判定する。ユーザが開始させる相互作用情報に対して、相互作用情報は、例えば、ユーザがコンテンツアイテム又はユーザのチャットメッセージを修正する意図することを示す、ユーザインタフェース要素のユーザの選択のような、ユーザによって提供される情報であってもよい。プレゼンスイベントに対し、相互作用管理モジュール２０４は、監視されるユーザインタフェース要素の状態を判定するために、監視プロセスに問い合わせる。特に、相互作用管理モジュール２０４は、監視されるユーザインタフェース要素がアクティブなユーザインタフェース要素であるかを判定するために、プロセスに問い合わせる。監視されるユーザインタフェース要素がアクティブなユーザインタフェース要素である場合、コンテンツアイテムはユーザによって閲覧されている。
【００５１】
いくつかの実施形態では、コンテンツアイテムに関するユーザプレゼンスを検出することに加えて、相互作用管理モジュール２０４はまた、コンテンツアイテムがユーザによって修正されている又は修正されたかを判定する。この更なる側面は、例えば、ユーザがコンテンツアイテムに関して閲覧者よりむしろ編集者としてプレゼンスを有することを示す表示を用いて、プレゼンス情報がより細かくレポートされるようにすることができる。上述したように、コンテンツアイテムが修正されている際にアプリケーションによって実行される特定のアクションは変化するため、相互作用管理モジュール２０４によってこれらのアクションのうちの１つを検出することは、プロセスがコンテンツアイテムを編集したことを示す。例えば、コンテンツアイテムが編集されている際にプロセスによって予期されるアクションの種別に従って、相互作用管理モジュール２０４は、コンテンツアイテムに修正されたことのフラグが立っていることをプロセスが示しているか、ユーザインタフェース要素のタイトル情報が変化したか、一時ファイルが保存され又はキャッシュされたか、又は、任意の他のデータが修正されたことを示唆するか、を判定するために、プロセスに問い合わせてよい。相互作用管理モジュール２０４はまた、例えば、コンテンツアイテムに類似したファイル名を有するコンテンツアイテムであるが、チルダ又は他の特殊なファイル名のバリエーションを有する、一時的なコンテンツアイテムの形式と一致するコンテンツアイテムが保存されたかを判定するために、オペレーティングシステムに問い合わせてもよい。このような修正は、コンテンツアイテムに関連付けられたプレゼンス情報が、ユーザがコンテンツアイテムを編集していることを反映しなければならないことを表す。
【００５２】
プレゼンス情報の４６０における判定の後には、ユーザインタフェース要素に対する任意の新たなプレゼンス情報が監視プレゼンスデータストアとして格納されてよい。ある実施形態におけるこのプレゼンス情報は、１のプロセスによって複数のユーザインタフェース要素が同一のコンテンツアイテムと関連付けられ、そして、個別に管理されるプレゼンス情報を有してもよいように、ユーザインタフェース要素ごとの原則で格納される。ある実施形態では、プレゼンス情報は現在のプレゼンス状態に応じて変化してもよい。例えば、コンテンツアイテムに対するプレゼンス情報が、コンテンツアイテムが編集されていることを反映する場合、ある実施形態では、ユーザが他のユーザインタフェース要素にフォーカスを変更したときに、ユーザインタフェース要素内のコンテンツアイテムのプレゼンスは変更されない。代わりに、編集された状態は、プレゼンスイベントがユーザインタフェース要素が閉じていることを示すまで、ユーザインタフェース要素に関して維持される。他の実施形態では、編集はコンテンツアイテムに変更を導入する可能性があるため、ある実施形態では、編集されたドキュメントに対するプレゼンス情報は、コンテンツアイテムへの変更がコミットされた又は修正が破棄されたといういずれかの通知をインタラクション管理モジュール２０４が受信するまで、変更されない。
【００５３】
閲覧されていることを示すプレゼンス情報を有するコンテンツアイテムは、ユーザインタフェース要素がフォーカスを失ったとき、又はフォーカスを失う閾値期間内にその状態変化を有してもよい。これは、コンテンツアイテムに関連付けられたユーザインタフェース要素がまだ開いている場合であってもよい。ある実施形態では、「閲覧された」プレゼンス情報は、コンテンツアイテムがアクティブなユーザインタフェース要素に関連付けられているかどうかを示す。ある実施形態では、「閲覧された」プレゼンス情報は、ユーザインタフェース要素が時間の閾値より長い間アクティブでなくなる（またはフォーカスを失ったとき）まで保持される。ある実施形態では、コンテンツアイテムがアプリケーションによって開かれている間には、コンテンツアイテムは「閲覧された」とみなされる。
【００５４】
相互作用情報に変化がある場合、相互作用管理モジュール２０４は、相互作用情報をコンテンツ管理システム１１０に送信する。ある実施形態では、送信されたプレゼンス情報は、コンテンツアイテムの識別子、プロセスＩＤ、ユーザインタフェース要素ＩＤ、及びプレゼンス状態を含む。
【００５５】
図５Ａ−５Ｂは、相互作用情報を表示する例示的ユーザインタフェースを示す。様々なユーザインタフェース要素は、図３Ａおよび３Ｂに示したインタフェース要素と類似する。図５Ａでは、例示的ユーザインタフェースはプレゼンス情報を表示する。プレゼンス情報を表示するために、相互作用管理モジュール２０４は、コンテンツアイテムに関連付けられたウィンドウの縁または境界に沿ってプレゼンスインジケータ５００を提供する。この例では、相互作用管理モジュール２０４は、ユーザJeffがコンテンツアイテム２を編集しており、４人のユーザがコンテンツアイテム２を閲覧していることを示すプレゼンス情報を受信する。相互作用管理モジュール２０４は、Jeffが文書を編集中であることを示すプレゼンスインジケータ５００Ａと、ユーザが文書を閲覧していることを示すプレゼンスインジケータ５００Ｂとを表示する。ある実施形態では、プレゼンスインジケータ５００は、プレゼンスインジケータに関連付けられたユーザのアイコン又は写真を表示する。アイコン又は写真は、連絡先ディレクトリ２４０から相互作用管理モジュール２０４によって取得されてもよいし、コンテンツ管理システム１１０から受信されてもよい。プレゼンスインジケータによって表示される個々のユーザは、実施形態に応じて変化してもよく、例えば、特定のプレゼンスを有する第１のユーザ（例えば、第１の閲覧者）又は最近コンテンツアイテムを開いたユーザを表示してもよい。
【００５６】
プレゼンスインジケータ５００は、コンテンツアイテムに関連付けられたウィンドウに沿って表示され、ある実施形態では、相互作用管理モジュール２０４は、ウィンドウの位置を追跡し、ウィンドウの近傍または隣接して、例えば、ウィンドウの境界又は縁のそばにプレゼンスインジケータ５００を表示する。補足プレゼンスインジケータ５１０は、ユーザがプレゼンスインジケータ５００上で停止する場合にユーザに更なる情報またはインタフェースを提供するために現れてよい。図５に示す例では、補足プレゼンスインジケータ５１０は、プレゼンスインジケータ５００Ａを記述し、具体的にはJeffはコンテンツアイテム２を編集することのプレゼンスに関連付けられて記述される。補足プレゼンスインジケータ５１０は、新しいユーザが例えば文書を閲覧しているか編集していることを示すために、プレゼンスが変化したときにも現れてよい。
【００５７】
プレゼンスインジケータ５００及び補足プレゼンスインジケータ５１０は、ディスプレイ２２０の任意の都合のよい領域に配置されてよい。ある実施形態では、プレゼンスインジケータは、プレゼンスインジケータと特定のコンテンツアイテムとの間の関係をユーザに視覚的に示すように、コンテンツアイテムの関連するユーザインタフェース要素の近傍に表示される。更に、ウィンドウの境界又は縁に沿ったプレゼンスインジケータの表示は、ユーザがプレゼンスインジケータに気付く可能性を増加させる。ある実施形態では、プレゼンスインジケータ５００は、コンテンツアイテムを含むウィンドウの垂直エッジ上又はそのそば（例えば、図５Ａに示すような右端）に表示される。
【００５８】
代替的に、プレゼンスインジケータは、タスクバー又はトレイアイコンのようなディスプレイの別の領域に表示されてもよく、或いは、コンテンツアイテムのユーザインタフェース要素と相互作用しない別個のユーザインタフェース要素であってもよい。ここでは、プレゼンスの各種別（編集または閲覧）に対する１つのプレゼンスインジケータ５００として示されるが、任意の数のプレゼンスインジケータ５００がコンテンツアイテムに関連して表示されてよい。例えば、循環インジケータは、コンテンツアイテムを閲覧しているユーザの数を含んでよく、他の循環インジケータは、コンテンツアイテムを編集しているユーザの数を含んでよい。代替的に、複数のプレゼンスインジケータ５００が表示される場合、これらは、上から下に順序付けられてもよく、順序は、最新から最も古いもの、又は最も高い優先度から最も低い優先度、又はこれらの組み合わせ（例えば、優先順に並べられ、同じ優先順位のプレゼンスインジケータについては、最新の順に並べられる）。プレゼンスインジケータは、図示するように、他のユーザに関連付けられたアイコン又は写真も示してもよい。インジケータはまた、ユーザが他のユーザによる編集に影響を及ぼすリスクを示すために色分けされていてもよい。例えば、プレゼンスインジケータは、他のユーザが編集している場合には赤色（またはプレゼンスインジケータが赤色に変わってもよい）であってもよく、これはユーザにそのユーザの変更を伴う任意の所望の変更を調整するように示している。同様に、編集インジケータは、他のユーザがコンテンツアイテムを閲覧している場合には黄色であってよく、現在のユーザがコンテンツアイテムを閲覧する唯一のユーザである場合には緑色であってよい。
【００５９】
図５Ｂは、ユーザが相互作用情報を相互作用管理モジュール２０４に入力することができるユーザインタフェースを示している。このインタフェースは、更なるユーザインタフェース要素に加えて、プレゼンスインジケータ５００を含む。このインタフェースは、図５Ａの例の代わりに提示されてもよく、又はコンテンツアイテムに関する追加のデータを提供する補足プレゼンスインジケータとして提示されてもよい。
【００６０】
図５Ｂのユーザインタフェースは、通知要素５２０を提供し、プレゼンスの変化が他のユーザに関連して発生した場合に通知されることについてのユーザの希望を、ユーザが示すことができるようにする。通知要素５２０を選択した場合、ユーザは、特定のユーザのプレゼンスが変化した場合（例えば、Jeffがもはや編集中でない）に、全てのユーザが特定のプレゼンスを停止した（例えば、誰も編集していない）、又はユーザがアクティブなプレゼンスを有していない（例えば他のだれもコンテンツ２にアクセスしていない）ことが通知されるように、更に特定の通知オプションを選択してよい。ユーザの通知プリファレンスは、要求されたプレゼンスが変化した場合に通知を要求するように、コンテンツ管理システム１１０又は適用可能なユーザに送信される。
【００６１】
インタフェースはまた、ユーザがコンテンツアイテムを開いている他のユーザとのコラボレーションセッションを開始することができるようにする、コラボレーション要素５７０を提供する。コラボレーション要素５７０を選択した場合、ユーザは特定のコラボレーションオプションを更に選択してもよい。例えば、コラボレーションセッションに含めるユーザを選択し、編集コントロールを用いてコラボレーションするかどうかを選択する。
【００６２】
このインタフェースはまた、ユーザがコンテンツアイテムに現れる他のユーザと通信するためのチャットインタフェースを提供する。チャットインタフェースは、ユーザが他のユーザにメッセージを入力したり受信したりすることを可能にする。プレゼンスの変化は、例えば、Amandaが現在コンテンツアイテムを閲覧していることがチャットウィンドウにも表示される。チャットウィンドウは、ユーザがアイテムの編集を終了しそうな場合のような、ユーザがそのコンテンツアイテムに関する情報を具体的に議論することができるようにし得る。これらのチャットメッセージは、相互作用情報として相互作用管理モジュール２０４によって受信され、コンテンツアイテムに同期される他のクライアントに送信される。ネイティブアプリケーションがチャット機能を提供しない場合であっても、これにより、ユーザはコンテンツアイテムについて直接チャットすることができるようになる。
【００６３】
ノートユーザインタフェース５４０は、コンテンツアイテムに関して格納されたノートをユーザが検索し、入力できるようにする。ノートインタフェース５４０が選択された場合、相互作用管理モジュール２０４は、コンテンツアイテムに関するコンテンツ管理システム１１０からの任意のノート又は他の永続的な情報を要求し、他の同期されるデバイス及びコンテンツ管理システム１１０に送信される追加のノートを入力するためのインタフェースとともに、ユーザに任意のそのようなノートを表示する。チャットウィンドウのように、これにより、コンテンツアイテムに対して入力される追加的なノート、及びノート機能をネイティブでは提供し得ないユーザインタフェースを提供するアプリケーションが可能になる。ノート要素５４０は、コンテンツアイテム内に他のユーザが存在しない場合にも使用され、コンテンツアイテムについて他のユーザのためにメッセージを残すために使用されてもよい。
【００６４】
コンテンツデータ要素５５０により、ユーザは、任意の関連するメタデータ、ユーザ許可などのような、コンテンツアイテムについての追加データを要求できるようになる。これにより、ユーザは、コンテンツアイテムに関連付けられたユーザインタフェース要素の近くのインタフェースから直接的に、コンテンツ管理システムからのコンテンツアイテムの詳細を要求できるようになる。
【００６５】
同様に、バージョン要素５６０はバージョン情報のための要求を示す。相互作用管理モジュール２０４は、バージョン情報に対する要求を、コンテンツアイテムに関連する相互作用情報としてコンテンツ管理システム１１０に送信する。これに応じて、コンテンツ管理システム１１０は、コンテンツアイテムに対する関連バージョン情報を識別する。ある実施形態では、以前のバージョンは、ユーザインタフェース要素内に表示されるコンテンツアイテムのバージョンと並んで比較される。他の実施形態では、以前のバージョンは、ユーザインタフェース要素において列状に比較される。
【００６６】
図５Ｃは、他のコンテンツアイテムに関連するプレゼンスの変化について、ユーザに通知するユーザインタフェースを示す。この場合、ユーザJeffがコンテンツアイテム２の編集を終了した場合に、通知要素５２０を使用して、ユーザは以前に選択したものが通知されるようにする。通知を要求した後には、ユーザは、コンテンツアイテム２に関連するウィンドウ３１０Ｂを閉じるように進み、現在コンテンツアイテム１を閲覧している。この実施形態では、プレゼンスインジケータ５００Ｅは、ユーザがこのコンテンツアイテムに関するプレゼンスを有する唯一のユーザであることを示す。これは、図示されているように、明示的に表示されてもよい（「誰もこのファイルを見ていない」）し、又は、ユーザがプレゼンスインジケータ５００Ｅと相互作用する場合に提供されてもよい。相互作用管理モジュール２０４は、Jeffがコンテンツアイテム２の編集を終了したことの通知を受信する。通知５９０がユーザに対して表示される。この通知は、ユーザが、通知が関係するコンテンツアイテム以外の別のアプリケーションまたは別のコンテンツアイテムと相互作用している場合であっても提供される。
【００６７】
図５Ｄは、ユーザがコンテンツアイテムが修正されたという通知を受信するユーザインタフェースを示す。この例では、ユーザによって閲覧されたコンテンツアイテム２の新たなバージョンが、別のユーザであるJeffによって保存されている。相互作用管理モジュール２０４は、コンテンツ管理システム１１０から、コンテンツアイテム２が変更され、新しいバージョンが利用可能であることを示すメッセージを受信する。典型的に、ユーザの編集は、コンテンツ管理システム１１０によって維持されたバージョンでは古くなるため、ユーザが、コンテンツ管理システム１１０にユーザの編集を同期させようとする場合には、ユーザの編集が失われるかもしれない。ユーザがコンテンツアイテムを編集中であることを示すプレゼンス情報を用いて、ユーザがJeffからの任意の編集をユーザの編集へ組み込むことを支援する選択肢を提供することができる。バージョン通知５８０は、新しいバージョンに応じてなされる選択と共に、ユーザに提示される。この例では、ユーザは新しいバージョンをロードしたり、ユーザの編集を破棄したり、ユーザの編集を新しいファイルとして保存したりしてよい。ユーザに利用可能な特定の選択肢は、以下で更に説明するように、デバイスのプレゼンス１００についてのコンテンツ管理システム１１０の記録に基づいて、コンテンツ管理システム１１０によって提供されてもよい。他の実施形態では、相互作用管理モジュール２０４は、ユーザに対する表示のためのオプションを決定する。
【００６８】
相互作用管理モジュール２０４がウィンドウ３１０Ｂのネイティブアプリケーション２５５とは別のアプリケーションである実施形態では、プレゼンスインジケータ５００は相互作用管理モジュール２０４によって提供される。従って、相互作用管理モジュール２０４は、アプリケーションに関連付けられたプレゼンス情報を監視し、アプリケーションに関連付けられたコンテンツアイテムについて他のユーザに関するプレゼンス情報を表示する。他のウィンドウがアクティブになった場合、同一の相互作用管理モジュール２０４が、アクティブになったウィンドウに関するプレゼンス情報を表示する。
【００６９】
プレゼンスインジケータを表示するために、相互作用管理モジュール２０４は、典型的にはコンテンツ管理システム１１０から、他のデバイスに対するプレゼンス情報を受信する。相互作用管理モジュール２０４は、同期されたコンテンツアイテムがウィンドウ又はプロセスによって使用されていること、及びウィンドウがユーザに表示されていることを判定する。例えば、相互作用管理モジュール２０４は、上述のように監視されているウィンドウ又はプロセスからプレゼンスイベントを受信してもよい。プレゼンスイベントがウィンドウにフォーカスがあることを示す場合、相互作用管理モジュール２０４はプレゼンスインジケータをディスプレイに追加する。ある実施形態における相互作用管理モジュール２０４はまた、デスクトップ内のウィンドウの動きを追跡し、ウィンドウに対するプレゼンスインジケータの位置を維持するように、プレゼンスインジケータを移動させる。
【００７０】
ある実施形態では、プレゼンスインジケータをディスプレイに追加するために、相互作用管理モジュール２０４は、フォーカスされるウィンドウとその境界の位置を決定し、ウィンドウ境界に隣接するプレゼンスインジケータを追加する。相互作用管理モジュール１０４がフォーカスされるウィンドウが変化したことを識別した場合には、そのコンテンツアイテムのプレゼンスインジケータはまた、そのウィンドウが再びフォーカスされるまで除去されてもよい。
【００７１】
再び図５Ｂを参照すると、ある実施形態では、少なくとも２つのデバイス上のネイティブアプリケーションで閲覧又は編集するために開いているコンテンツアイテムに関連して、コラボレーション要素５７０が表示される。閲覧している又は編集しているユーザは、コラボレーション要素５７０を介してコラボレーションを開始してもよい。コラボレーションの間には、あるデバイスはプライマリデバイスの役割を担い、他のデバイスはセカンダリデバイスとなる。プライマリデバイスは、コラボレーションが発生するコンテンツアイテムのインスタンスを有するデバイスである。従って、セカンダリデバイスは、プライマリデバイス上に置かれるコンテンツアイテムのインスタンスに関して閲覧及び編集機能を提供する。所定のコラボレーションセッションには複数のセカンダリデバイスが存在してもよいが、プライマリデバイスは１つのみである。
【００７２】
コラボレーションの前に、コンテンツアイテムのインスタンスは、どれがセカンダリデバイスになるかを閲覧又は編集するために開かれてよい。ある実施形態では、コラボレーション要素５７０は、ユーザのうちの１人、例えば要求するユーザに、どのデバイスがコラボレーションセッションのプライマリデバイスになるかを選択するように促す。他の実施形態では、プライマリデバイスはコラボレーションモジュール２０７によって選択される。例えば、あるユーザが編集のために開いたコンテンツアイテムを有するとともに、他のユーザが閲覧のためにアイテムを開いている場合、コラボレーションモジュール２０７は、アイテムが編集されているデバイスをプライマリとして指定する。
【００７３】
図６は、コンテンツアイテムを共有フォルダに追加する例示的処理を示す。図４に関して説明したように、図６は、コンテンツ管理システムに同期されていないコンテンツアイテムに対する監視イベントが受信された場合の処理を継続する。図６に示す処理は、クライアントアプリケーション２００によって実行されてよい。この例では、監視イベントは、ネイティブアプリケーションのウィンドウまたは他のユーザインターフェイス要素に関連付けられたプロセスによって開かれた又は保存されたコンテンツアイテムであってよい。いくつかの例では、同期インタフェースは、共有フォルダと同期していないネイティブアプリケーションの任意のコンテンツアイテムについて表示される。他の例では、同期インタフェースは、保存後の５秒又は１０秒などの、コンテンツアイテムが保存される時間の閾値の後に表示される。同期インタフェースは、ネイティブアプリケーションのウィンドウに隣接して又は近傍に６００において表示され、ウィンドウの一部と重複してもよい。同期インタフェースのための例示的ユーザインタフェースを図７Ａ−図７Ｄに示している。同期インタフェースは、ユーザが、コンテンツ管理システム１００、又は、１以上の他のクライアントデバイス１００と同期した共有フォルダにコンテンツアイテムを追加する要求を示すことを可能にする。次に、ユーザは、コンテンツアイテムを共有フォルダに追加する要求を提供してよく、これはクライアントアプリケーション２００によって６００において受信される。
【００７４】
コンテンツアイテムを共有フォルダに保存するために、クライアントアプリケーション２００は、コンテンツアイテムのための対象の共有フォルダを６２０において決定する。すなわち、クライアントアプリケーションは、コンテンツ管理システム１００又は他のクライアントデバイス１１０と同期するローカルのコンテンツデータストア２０８内の特定の共有フォルダ又は他の場所又はコレクションなどの、コンテンツアイテムを保存する場所を決定する。ある実施形態では、同期インタフェースは、ユーザがコンテンツアイテムを格納するためにローカルコンテンツデータストア２０８内の場所を選択するためのファイルブラウザインタフェースを表示する。代替的に、対象の共有フォルダは、同期されるコンテンツアイテムのためのディレクトリツリーのルート又は他の自動的に選択された場所など、自動的に選択されてもよい。
【００７５】
ユーザが共有フォルダにコンテンツアイテムを追加することを要求する場合、コンテンツアイテムはネイティブアプリケーションによってアクセスされ、ネイティブアプリケーションはコンテンツアイテムへのハンドル又は他のファイルアクセス連携を有し得る。コンテンツアイテムを対象の共有フォルダに移動するために、クライアントアプリケーション２００は、６３０においてコンテンツアイテムを対象の共有フォルダに保存するようにプロセスに指示する。プロセスへの指示は、例えばアプリケーションプログラミングインタフェースを介して提供されてよく、コンテンツアイテムのウィンドウと共有フォルダのパスを特定してよい。他の例では、コンテンツアイテムを保存するようにプロセスに指示するよりむしろ、クライアントアプリケーション２００は、その既存の場所でコンテンツアイテムを閉じるようにプロセスに指示する。クライアントアプリケーション２００は、コンテンツアイテムを既存の場所から対象の共有フォルダにコピーし、対象の共有フォルダでコンテンツアイテムを開くようにプロセスに指示する。このようにしてコンテンツアイテムを共有フォルダに移動することにより、コンテンツアイテムはネイティブアプリケーションにおいてユーザから引き続き使用され、コンテンツアイテムは、ネイティブアプリケーションにおけるコンテンツアイテムの通常の使用を中断することなくシームレスに共有フォルダに追加され得る。
【００７６】
コンテンツアイテムが対象の共有フォルダに保存される場合、コンテンツアイテムのコピーは、依然としてコンテンツアイテムの前の場所に格納されていてもよい。クライアントアプリケーションは、コンテンツアイテムのコピーを削除してもよく、又、コンテンツアイテムのコピーを前の場所に残しておいてもよい。
【００７７】
コンテンツアイテムが対象の共有フォルダに保存される場合、コンテンツアイテムは、その共有フォルダを同期するクライアントデバイス１１０及びコンテンツ管理システム１００などの他のシステムと６４０において同期される。コンテンツアイテムが同期されている間には、同期インタフェースは、コンテンツアイテムが同期されていることを示すために６５０において更新される。同期が完了すると、同期インタフェースは、コンテンツアイテムが成功裏に同期されたことを示すために再び更新されてもよい。この時点では、コンテンツアイテムに対する他のユーザとのプレゼンス情報の共有、他のユーザとのコンテンツアイテムの共有、同期されたコンテンツアイテムの他の使用など、同期に関するコンテンツアイテムとの相互作用のための追加オプションが利用可能であってよい。コンテンツアイテムに対する追加的なプレゼンスのアクションを実行するため、ウィンドウイベントは、図４に関して説明したように、６６０において続いて監視され得る。
【００７８】
図７Ａ−図７Ｄは、共有フォルダに追加されたコンテンツアイテムを表示する例示的ユーザインタフェースを示す。これらのユーザインタフェースは、例えば、ユーザインタフェースモジュール２０２によって生成され、これを行うための1つの手段である。この例では、ウィンドウ７００は、コンテンツアイテム、ここでは「コンテンツアイテム７」、を表示する。このコンテンツアイテムは共有フォルダと同期されておらず、上述したように、同期インタフェース７１０がウィンドウ７００の近くに表示される。この例では、同期インタフェース７１０は、この例ではウィンドウの側部に沿って示されているが、いくつかの実施形態ではウィンドウ７００と重複しない、或いはウィンドウの側部に沿ってドッキングしてもよい。ユーザインタフェースモジュール２０２は、同期インタフェース７１０をウィンドウ７００の相対的な位置に置くために、ウィンドウ７００の位置を監視してもよい。
【００７９】
図７Ａに示す例では、同期インタフェース７１０は、コンテンツアイテムが共有フォルダの一部ではないことを示すアイコンを表示する。この例では、同期インタフェース７１０は、コンテンツアイテムが共有されていないことを表すためのグレーアウトアイコンを表示するが、他のアイコンまたは表示を用いてもよい。
【００８０】
ユーザが同期インタフェース７１０と相互作用する場合、図７Ｂに示すように、同期メニュー７２０が表示されてよい。ユーザの相互作用は、例えば、同期インタフェース７１０のクリック又は選択を含んでよく、又は、期間の閾値（例えば、「ホバリング」）にわたってローカルインタフェース７１０の位置が維持されるカーソル、或いは他の相互作用を含んでよい。
【００８１】
同期メニュー７２０は、「このアイテムは同期されていない」のようなコンテンツアイテムについての情報をユーザに提供し、ユーザがコンテンツアイテムを共有フォルダに追加するためのオプションを提供する。ユーザがコンテンツアイテムを共有フォルダに追加するために「はい」を選択した場合、図6に関して説明したように、コンテンツアイテムは共有フォルダに追加されてよい。更に、コンテンツアイテムを保存する対象の共有フォルダをユーザが選択するために、インタフェース要素（不図示）が提供されてもよい。ユーザが「いいえ」を選択した場合、コンテンツアイテムは共有フォルダに追加されず、同期メニュー７２０は閉じられる。この例における同期化メニュー７２０は、追加情報のための又は同期メニュー７２０を隠すためのインタフェースも提供する。ユーザが追加情報のためにインタフェース（「Info」）と相互作用する場合、例えば、コンテンツアイテムを同期させる利点及び特徴といった、追加の情報がユーザに表示される。ユーザが「隠す」ためのインタフェースと相互作用する場合、同期メニュー７２０は閉じられ、同期インタフェース７１０もこのコンテンツアイテムに対して削除される。
【００８２】
ユーザが「はい」を選択してコンテンツアイテムが共有フォルダに追加された後には、この例における同期メニュー７２０は閉じられ、そして、閉じられた、及び同期インタフェース７１０は、図７Ｃにおいてインタフェース７３０に示すように、コンテンツアイテムの同期を示すように変化する。この例では、同期インタフェース７３０は、他のクライアントデバイス１１０又はコンテンツ管理システム１００へのコンテンツアイテムの同期を示す円形の矢印を表示する。
【００８３】
コンテンツアイテムが同期された後には、図７Ｄに示すように、同期インタフェースが変更される。同期インタフェース７４０は、コンテンツアイテムが他の共有フォルダと同期されていることを示し、コンテンツアイテムが成功裏に共有フォルダに追加され、他のデバイスと同期されていることの表示をネイティブアプリケーションで提供する。ユーザは、プレゼンス情報、バージョン管理、ノート、及びクライアントアプリケーション２００によって提供される同期されたコンテンツの他の特徴を提供するなど、コンテンツアイテムに対する同期機能にアクセスするために、同期インタフェース７４０とさらに相互作用してもよい。
【００８４】
本発明の実施形態に係る前述の説明は、説明の目的で提示されており、本発明を網羅する又はここで開示される同一の形態に限定することを意図していない。当業者であれば、上記開示に照らして種々の変更及び変形が可能であることを理解することができる。
【００８５】
当該記載のある部分は、情報におけるアルゴリズムと記号表現の操作に関する本発明の実施形態を説明するものである。これらのアルゴリズムに関する記載と表現は、データ処理の分野の当業者が他の当業者に効果的に本質を伝えるために通常用いられる。機能的、コンピュータ的、又は論理的に記載される一方で、これらの操作はコンピュータプログラム、同等の電気的な回路、又はマイクロコードなどによって実装されるべきであることが理解される。更に、一般性を失うこと無く、モジュールとして、これらの操作の変形に言及することが都合がよい場合もあることも証明されている。説明した動作及びそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせで具体化されてもよい。
【００８６】
ここで説明されるステップ、動作、又はプロセスのいずれかは、単独で、又は他のデバイスと組み合わせて、１以上のハードウェア又はソフトウェアモジュールで実行又は実装されてもよい。ある実施形態において、ソフトウェアモジュールは、記述されたステップ、動作、又はプロセスの何れか又は全てを実行するコンピュータプロセッサによって実行されうるコンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品で実装されてもよい。
【００８７】
本発明の実施形態はまた、ここでの動作を実行する装置に関連する。当該装置は、必要な目的のために特別に構成することができ、及び／又は、コンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成された汎用コンピューティングデバイスを含むことができる。このようなコンピュータプログラムは、 非一時的な、有形のコンピュータ可読記憶媒体、又はコンピュータシステムバスに結合することができる電子命令を格納するのに適した任意の種別の媒体に格納することができる。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含むことができ、或いは、コンピューティング性能を高めるために複数のプロセッサ設計を採用するアーキテクチャであってもよい。
【００８８】
本発明の実施形態はまた、ここで説明されるコンピューティングプロセス（処理）によって生成される製品に関連してもよい。そのような製品は、 非一時的な、有形のコンピュータ可読記憶媒体に情報が格納される計算プロセスから生じる情報を含むことができ、ここで記載されるコンピュータプログラム製品又は他のデータの組み合わせの任意の実施形態を含むことができる。
【００８９】
最後に、明細書において使用された言葉は主に可読性及び説明の目的のために選択されたものであり、本発明の主題の輪郭を描いたり制限を加えたりするために選択されたものではない。従って、本発明の範囲は、この詳細な説明によって限定されるのではなく、ここでの記載に基づく本出願で公表される任意の請求項によって限定されることが意図される。従って、本発明の実施形態の開示は説明のためを意図したものであって、以下の請求項において明らかにされる本発明の範囲を限定するものではない。
【図１】
2019509530.tif 000003
【図２】
2019509530.tif 000004
【図３Ａ】
2019509530.tif 000005
【図３Ｂ】
2019509530.tif 000006
【図４】
2019509530.tif 000007
【図５Ａ】
2019509530.tif 000008
【図５Ｂ】
2019509530.tif 000009
【図５Ｃ】
2019509530.tif 000010
【図５Ｄ】
2019509530.tif 000011
【図６】
2019509530.tif 000012
【図７Ａ】
2019509530.tif 000013
【図７Ｂ】
2019509530.tif 000014
【図７Ｃ】
2019509530.tif 000015
【図７Ｄ】
2019509530.tif 000016
【手続補正書】
【提出日】平成30年6月27日(2018.6.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
第１のプロセスによって、コンテンツアイテムと相互作用し且つ第２のプロセスによって制御されるユーザインタフェース要素に関連付けられるユーザのプレゼンスの状態の変化を示す監視イベントを受信することと、
前記第１のプロセスによって、前記コンテンツアイテムがコンテンツ管理システムに同期されているかを判定することと、
前記コンテンツアイテムが前記コンテンツ管理システムに同期されていないと判定したことに応じて、
前記第１のプロセスによって、ユーザが前記コンテンツアイテムの前記コンテンツ管理システムへの同期を要求するための選択を提供する同期インタフェースを提供することと、
前記同期インタフェースから前記コンテンツアイテムを同期する要求を受信することと、
前記コンテンツアイテムを同期する要求を受信した後に、前記コンテンツアイテムを、前記コンテンツ管理システムに同期される共有フォルダに追加することと、とを含む方法。
【請求項２】
請求項１に記載の方法であって、前記コンテンツアイテムは、前記コンテンツアイテムを同期する前記要求を受信した後に、１つ以上の共有デバイスに同期される、方法。
【請求項３】
請求項１に記載の方法であって、更に、前記共有フォルダの場所を識別することを含む、方法。
【請求項４】
請求項３に記載の方法であって、前記共有フォルダの前記場所は前記ユーザによって特定される、方法。
【請求項５】
請求項３に記載の方法であって、前記共有フォルダの前記場所は同期されるコンテンツアイテムのためのディレクトリツリーのルートである、方法。
【請求項６】
請求項１に記載の方法であって、前記監視イベントは前記コンテンツアイテムを保存することを含む、方法。
【請求項７】
請求項１に記載の方法であって、前記監視イベントは前記コンテンツアイテムを開くことを含む、方法。
【請求項８】
請求項１に記載の方法であって、前記同期インタフェースは前記ユーザインタフェース要素に隣接して又は前記ユーザインタフェース要素と重複して表示される、方法。
【請求項９】
プロセッサによって実行可能な命令を含むコンピュータプログラムであって、前記命令は、実行されたときに、前記プロセッサに、
第１のプロセスによって、コンテンツアイテムと相互作用し且つ第２のプロセスによって制御されるユーザインタフェース要素に関連付けられるユーザのプレゼンスの状態の変化を示す監視イベントを受信させ、
前記第１のプロセスによって、前記コンテンツアイテムがコンテンツ管理システムに同期されているかを判定させ、
前記コンテンツアイテムが前記コンテンツ管理システムに同期されていないと判定したことに応じて、
前記第１のプロセスによって、ユーザが前記コンテンツアイテムの前記コンテンツ管理システムへの同期を要求するための選択を提供する同期インタフェースを提供させ、
前記同期インタフェースから前記コンテンツアイテムを同期する要求を受信させ、
前記コンテンツアイテムを同期する要求を受信した後に、前記コンテンツアイテムを、前記コンテンツ管理システムに同期される共有フォルダに追加させる、コンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムであって、前記コンテンツアイテムは、前記コンテンツアイテムを同期する前記要求を受信した後に、１つ以上の共有デバイスに同期される、コンピュータプログラム。
【請求項１１】
請求項９に記載のコンピュータプログラムであって、前記命令は更に、前記プロセッサに、前記共有フォルダの場所を識別させる、コンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムであって、前記共有フォルダの前記場所は前記ユーザによって特定される、コンピュータプログラム。
【請求項１３】
請求項１１に記載のコンピュータプログラムであって、前記共有フォルダの前記場所は同期されるコンテンツアイテムのためのディレクトリツリーのルートである、コンピュータプログラム。
【請求項１４】
請求項９に記載のコンピュータプログラムであって、前記監視イベントは前記コンテンツアイテムを保存することを含む、コンピュータプログラム。
【請求項１５】
請求項９に記載のコンピュータプログラムであって、前記監視イベントは前記コンテンツアイテムを開くことを含む、コンピュータプログラム。
【請求項１６】
請求項９に記載のコンピュータプログラムであって、前記同期インタフェースは前記ユーザインタフェース要素に隣接して又は前記ユーザインタフェース要素と重複して表示される、コンピュータプログラム。
【請求項１７】
システムであって
命令を実行するように構成されるプロセッサと、
命令を含む不揮発性記録媒体であって、前記命令は、前記プロセッサによって実行されると前記プロセッサに、
第１のプロセスによって、コンテンツアイテムと相互作用し且つ第２のプロセスによって制御されるユーザインタフェース要素に関連付けられるユーザのプレゼンスの状態の変化を示す監視イベントを受信することと、
前記第１のプロセスによって、前記コンテンツアイテムがコンテンツ管理システムに同期されているかを判定することと、
前記コンテンツアイテムが前記コンテンツ管理システムに同期されていないと判定したことに応じて、
前記第１のプロセスによって、ユーザが前記コンテンツアイテムの前記コンテンツ管理システムへの同期を要求するための選択を提供する同期インタフェースを提供することと、
前記同期インタフェースから前記コンテンツアイテムを同期する要求を受信することと、
前記コンテンツアイテムを同期する要求を受信した後に、前記コンテンツアイテムを、前記コンテンツ管理システムに同期される共有フォルダに追加することと、のステップを実行させる、システム。
【請求項１８】
請求項１７に記載のシステムであって、前記コンテンツアイテムは、前記コンテンツアイテムを同期する前記要求を受信した後に、１つ以上の共有デバイスに同期される、システム。
【請求項１９】
請求項１７に記載のシステムであって、前記監視イベントは前記コンテンツアイテムを保存すること又は開くことを含む、システム。
【請求項２０】
請求項１７に記載のシステムであって、前記同期インタフェースは前記ユーザインタフェース要素に隣接して又は前記ユーザインタフェース要素と重複して表示される、システム。
【国際調査報告】
2019509530.tif 000017
2019509530.tif 000018