JP6774493B2 - 相互作用情報のユーザ通知 - Google Patents

相互作用情報のユーザ通知 Download PDF

Info

Publication number
JP6774493B2
JP6774493B2 JP2018534593A JP2018534593A JP6774493B2 JP 6774493 B2 JP6774493 B2 JP 6774493B2 JP 2018534593 A JP2018534593 A JP 2018534593A JP 2018534593 A JP2018534593 A JP 2018534593A JP 6774493 B2 JP6774493 B2 JP 6774493B2
Authority
JP
Japan
Prior art keywords
user
interaction
content item
content
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018534593A
Other languages
English (en)
Other versions
JP2019509538A (ja
Inventor
ジュリアン マイケル,
ジュリアン マイケル,
アンヴィシャ ハリッシャイクス パイ,
アンヴィシャ ハリッシャイクス パイ,
Original Assignee
ドロップボックス, インコーポレイテッド
ドロップボックス, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ドロップボックス, インコーポレイテッド, ドロップボックス, インコーポレイテッド filed Critical ドロップボックス, インコーポレイテッド
Publication of JP2019509538A publication Critical patent/JP2019509538A/ja
Application granted granted Critical
Publication of JP6774493B2 publication Critical patent/JP6774493B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は一般にデバイス間で情報を共有することに関し、特にネイティブソフトウエアアプリケーションと共有コンテンツの間の相互作用に関する。
コンテンツ管理システムは、デバイスに、コンテンツ管理システム及び他のデバイスとの間でコンテンツアイテムを同期することを可能にする。デバイスはコンテンツアイテムのローカルコピーを格納する。コンテンツアイテムがデバイスにおいて追加され、削除され、及び編集される場合、これらの修正は、格納及び他のデバイスとの同期のためにコンテンツ管理システムに送信される。コンテンツアイテムと相互作用するため、ユーザは典型的にはデバイス上のネイティブアプリケーションを実行して、コンテンツアイテムを閲覧し修正する。複数のユーザがコンテンツアイテムと相互作用する場合、多くの場合、それらは電子メールなどの他のアプリケーションを用いてそのコンテンツアイテムについてやりとりする。この種のやりとりはコンテンツアイテムとの相互作用の不完全な描写を提供し、かつ、コンテンツアイテムとの相互作用の記録、追跡をユーザが行うことに依存する。ユーザは、コンテンツアイテムについてやりとりし、そのコンテンツアイテムとの相互作用を視るための便利な方法を欠いており、これは、複数のユーザがひとつのコンテンツアイテムと相互作用する状況に不便さと複雑さを加えるものである。
説明される実施の形態は、コンテンツ管理システムを介してコンテンツアイテムを共有するデバイスユーザが、自身のクライアントデバイス上のネイティブアプリケーション内でコンテンツアイテムを視ることおよび変更することを可能とする。様々な実施の形態では、ユーザ通知キューが生成され、変更され、かつクライアントデバイスへ送信される。また、ユーザのデバイスにおいて該ユーザに、ひとつ以上の他のデバイス上での共有コンテンツアイテムとの相互作用を示すグラフィカルおよびテキストの情報が提供される。
様々な実施形態に従うデバイスは、コンテンツ管理システムによってデバイス間で維持及び同期される、共有コンテンツアイテムのローカルコピーを保持する。デバイスは、ワードプロセッサ、メディアビューア、メディアエディタ等のような、コンテンツアイテムにアクセスするために用いられるネイティブアプリケーションを含む。ネイティブアプリケーションは、ウインドウ等のユーザインタフェース要素に、コンテンツアイテムを表示する。デバイスはまた、ネイティブアプリケーションに加えて、コンテンツアイテムとの相互作用を監視し、これらの相互作用についての情報を、直接的に又はコンテンツ管理システムを介してコンテンツアイテムを共有する他のデバイスへ通信するクライアントアプリケーションを含む。
相互作用情報は、ユーザによるクライアントアプリケーションとの相互作用とユーザによるネイティブアプリケーションとの相互作用とを含む。相互作用情報は、メッセージやメモや共同作業要求やプレゼンスイベントなどの相互作用イベントから決定されてもよい。プレゼンスイベントは、ネイティブアプリケーションにおいて生じるプログラム的イベントである。プレゼンスイベントは、コンテンツアイテムを開くこと、コンテンツアイテムを編集すること、コンテンツアイテムを保存すること、コンテンツアイテムの名称変更を行うこと、コンテンツアイテムを移動すること、コンテンツアイテムを削除することを含む。プレゼンスイベントはまた、ユーザインタフェース要素がフォーカスを得たり失ったりするような、ネイティブアプリケーションのユーザインタフェース要素と相互作用することを含む。フォーカスされたユーザインタフェース要素は、デバイスにおけるユーザ操作を受け取るユーザインタフェース要素である。例えば、ユーザインタフェース要素がフォーカスを有する場合、ユーザがユーザインタフェース要素を介してコンテンツアイテムを「閲覧している」ことを示す、プレゼンス情報が生成されてよい。ある実施形態では、プレゼンスイベントは、コンテンツアイテムと相互作用するネイティブアプリケーションとは別のクライアントアプリケーションによって収集される。すなわち、この実施形態では、プレゼンツ情報は、コンテンツアイテム又はプレゼンス情報にアクセスするネイティブアプリケーションに統合されていない、他のアプリケーション又はプロセスによって収集される。
クライアントアプリケーションによって受信されうる追加的なタイプの相互作用情報は、メモと、メッセージと、通知要求と、コンテンツアイテムに関連する共同作業要求と、を含む。メッセージは、他のデバイスへのチャットメッセージ、コンテンツアイテムと相互作用(例えば編集)するユーザの意図を示すメッセージを含んでよい。相互作用情報はまた、バージョン管理上のノートのようなメタデータの修正、又は、バージョン管理情報又は以前のコンテンツアイテムのバージョンを閲覧するための要求のような、コンテンツアイテムに関するコンテンツ管理システムに格納される更なる情報に対する要求を含む。相互作用情報を複数のデバイスによって交換することで、複数のユーザに、他のユーザのコンテンツアイテムとの相互作用に関する情報を提供することができる。
クライアントアプリケーションはデバイス上のイベントを監視して、いつユーザがコンテンツアイテムと相互作用するためにネイティブアプリケーションを使用しているかを判定する。イベントを監視する1つの方法では、クライアントアプリケーションは、ユーザインタフェース要素に関連するイベントを受信するために、ユーザインタフェース要素またはオペレーティングシステムを制御するプロセスに登録する。クライアントアプリケーションはそのような全てのイベント、或いは、コンテンツアイテムを開くことに関連付けられた所定のユーザインタフェース要素のみを監視してよい。プレゼンスイベントが発生した場合、クライアントアプリケーションは、ネイティブアプリケーションから又はオペレーティングシステムからプレゼンスイベントを受信する。クライアントアプリケーションは、イベントと関連付けられたユーザインタフェース要素を識別し、イベントに関連付けられたプレゼンス情報を判定する。クライアントアプリケーションは、同期されたコンテンツアイテムが相互作用されているか相互作用された旨をコンテンツ管理システムに通知し、当該コンテンツ管理システムにプレゼンス情報を送信する。プレゼンス情報(又は他の相互作用情報)は直接他のデバイスに送信されてもよい。
コンテンツ管理システムは相互作用情報を受信し、コンテンツアイテム用のユーザ通知キューを生成し、変更し、共有ユーザのデバイスに送信する。ユーザ通知キューは共有コンテンツアイテムとのひとつ以上の相互作用のグループであり、該相互作用をユーザに提示することで、共有ユーザによる共有コンテンツアイテムとの最近の相互作用を示すことができる。ある実施の形態では、コンテンツアイテムに関連付けられた各共有ユーザは、そのコンテンツアイテムに対応するユーザ通知キューを有する。ユーザ通知キューに加えられる相互作用のタイプは、コンテンツアイテムの閲覧、コンテンツアイテムの編集、コンテンツアイテムの共同作業、コンテンツアイテムへのコメント、およびコンテンツアイテムのメッセージを含んでもよい。ある実施の形態では、相互作用は関連相互作用優先度を有する。相互作用の優先度は、ある相互作用のタイプの、他の相互作用のタイプに対する相対的な優先度を指定する。通知キューモジュールは、候補相互作用およびユーザ通知キュー内の相互作用についての相互作用タイプおよび相互作用優先度を決定する。種々の実施の形態では、通知キューモジュールは、より高い優先度の相互作用を選択してユーザ通知キューに追加し、より低い優先度の相互作用を選択してユーザ通知キューから取り除く。
ユーザがデバイスのネイティブアプリケーション内でコンテンツアイテムを視るとき、コンテンツ管理システムは通知を受信し、そのデバイスに適切なユーザ通知キューを送信する。クライアントアプリケーションはそのコンテンツアイテムについての相互作用情報を表示する。ある実施の形態では、クライアントアプリケーションは、デバイスのユーザインタフェースに、ひとつ以上の相互作用インジケータを提供する。相互作用インジケータは、ユーザに対して、相互作用情報を表示する。これにより、ユーザは、コンテンツアイテムに関する他のユーザの行動を、実質的にリアルタイムでまたは準リアルタイムで、視ることができる。加えて、ネイティブアプリケーションのユーザインタフェースの側にコンテンツ管理システムと通信するためのインタフェースを提示することで、ユーザは、コンテンツアイテムを表示したままで、チャット情報を交換し、そのコンテンツアイテムについてのデータを取得することができ、便利である。
クライアントアプリケーションまたはコンテンツ管理システムは、ユーザに相互作用情報についての通知が提供されたか否か、またはユーザがユーザインタフェースに表示された相互作用情報を視たか否か、を判定してもよく、この情報をコンテンツ管理システムおよびユーザに関連付けられた他のデバイスに送信してもよく、この場合、ユーザにより視られた相互作用情報を複数のデバイスに亘って追跡することができる。この情報を用いることで、クライアントアプリケーションは通知を複製することを避けることができる。その結果、いくつかのデバイス上で同じ相互作用についての通知がユーザになされることはない。
ある実施の形態では、相互作用インジケータは、通知キューの内容を含むまだ視られていない相互作用情報を示すバッジ要素を含む。ユーザはその相互作用インジケータを選択することで、より多くの相互作用情報を視ることができる。クライアントアプリケーションはさらに、ユーザが相互作用情報を視て入力するための相互作用要素を表示してもよい。相互作用情報は、メタデータおよびイベント時刻やユーザ情報などの他の情報と共に、通知チャネルスタイルで表示されてもよい。相互作用要素はさらに、テキスト入力要素や他のチャットインタフェースを含むチャット機能を含んでもよい。ネイティブアプリケーションがチャット機能を提供しない場合であっても、これにより、ユーザはコンテンツアイテムについて直接チャットすることができるようになる。
相互作用情報の通信とユーザ共同作業とを含む、コンテンツアイテムを同期する環境の実施の形態を示す。
ある実施の形態に係る、デバイスの様々なモジュールと構成要素を示す。
図3A及び3Bは、デバイスのデスクトップ表示におけるユーザインタフェース要素のフォーカス変化を示す。 図3A及び3Bは、デバイスのデスクトップ表示におけるユーザインタフェース要素のフォーカス変化を示す。
ある実施の形態に係る、コンテンツ管理システムのコンポーネントを示す。
ある実施の形態に係る、コンテンツアイテムに関連付けられたプレゼンス情報を判定する例示的処理を示す。
図6A−6Dは、相互作用情報を表示する例示的ユーザインタフェースを示す。 図6A−6Dは、相互作用情報を表示する例示的ユーザインタフェースを示す。 図6A−6Dは、相互作用情報を表示する例示的ユーザインタフェースを示す。 図6A−6Dは、相互作用情報を表示する例示的ユーザインタフェースを示す。
ある実施の形態に係る、共有ユーザ用の通知キューを更新するための例示的処理を示す。
ある実施の形態に係る、コンテンツアイテムにアクセスするデバイスに通知キューを送信するための例示的処理を示す。
図は説明の目的のみのために本発明の様々な実施形態を図示するものである。当業者は、以下に示される構成及び方法の他の代替的な実施形態が以下に説明される発明の原理から離れることなく用いられ得ることを以降の記載から容易に理解する。
図1は、相互作用情報の通信を含む、コンテンツアイテムを同期する環境の実施形態を示す。図1は、デバイス100A、100B、100C(広くデバイス100として参照される)、コンテンツ管理システム110、及びネットワーク120を含む。3つのデバイスは図示の目的のみのために示されるものであり、実際には任意の数のデバイスが環境に存在してよい。同様に、全体を通して説明及び図示される他のモジュール又は構成要素は、実施のニーズに対して適切であり一般性を失わないものとして1つ又は複数のインスタンスを含んでよい。
デバイス100は、ローカルにコンテンツアイテムを格納して閲覧するため、及びコンテンツ管理システム110とコンテンツアイテムを同期するための任意の適切なコンピューティングデバイスであってよい。デバイスの例は、デスクトップ及びラップトップコンピュータ、携帯型モバイルデバイス、タブレットコンピュータ、及び他のコンピューティングデバイスを含む。様々な実施形態におけるデバイス100の動作は、更に以下で説明される。
各デバイス100は、ネットワーク120を介してコンテンツ管理システム110と通信する。ネットワーク120は、任意の適切なネットワークであり、ローカルネットワーク、業務用ネットワーク、グローバルネットワーク、及び任意のこれらの組み合わせを含んでよい。典型的な構成では、デバイス100は、有線又は無線の通信ネットワークを介してローカルのネットワークサービスプロバイダと通信し、インターネットを通じてコンテンツ管理システム110と通信する。ある構成では、デバイス100A、100B、100Cは、図1において破線で示されるように、ネットワーク120を介すること無く、互いに直接通信する。例えば、デバイス100は、Bluetooth通信を介した無線、又は、ユニバーサル・シリアル・ネットワーク(USB)を介した有線のような、有線又は無線接続を介して通信してもよい。
コンテンツ管理システム110は、デバイス100のユーザに対し、コンテンツ共有及び同期サービスを提供する。これらのサービスは、ユーザが他のデバイス100のユーザとコンテンツを共有できるようにする。コンテンツ共有に加えて、コンテンツ管理システム110は、変更に応じて共有コンテンツを更新し、複数のデバイス100に渡ってコンテンツアイテムに対する同期された変更を可能にする。ユーザは、ユーザが所有し、ユーザのアカウントに関連付けられている複数のデバイス100に渡ってコンテンツを同期してもよく、ユーザは、他のユーザのアカウントに関連付けられているデバイスと同期されるコンテンツを共有してもよい。コンテンツ管理システム110に格納されるコンテンツは、以下で合わせて「コンテンツアイテム」として参照される、デジタルデータ、書類、メディア(例えば画像、写真、ビデオ、音声、ストリーミングコンテンツ)、データファイル及びデータベース、ソースコード及びオブジェクトコード、記録、及び、任意の他のデータ又はファイルの種別などの、データの任意の種別を含み得る。コンテンツ管理システム110によって格納されるコンテンツアイテムはまた、フォルダ、テーブル、コレクション、アルバム、プレイリスト、又は他のデータベース構成物(例えば、オブジェクト指向のもの、キー/バリュー等)など、他のコンテンツアイテムを組織するために用いられてよい。実際には、様々なデバイス100は、ユーザ連携、パーミッション、コンテンツ共有パーミッション等に基づいて、コンテンツアイテムの異なるグループを同期させてもよい。様々な実施形態におけるコンテンツ管理システム110の動作は、更に以下で図4を参照して説明される。
図2は、ある実施形態に従う、デバイス100の様々なモジュールと構成要素を示す。デバイス100は、情報をユーザに提供するディスプレイ220を含み、あるクライアントデバイス100はタッチスクリーンを含む。デバイス100はまた、ネットワーク120を介してコンテンツ管理システム110と通信するためのネットワークインタフェース225を含む。デバイス100はまた、キーボード、マウス、タッチパッド、または他のデバイスなどの様々なユーザ入力デバイスからのユーザ入力を受け取る、ユーザ入力モジュール260を含む。重要でない、例えば、1つ以上のコンピュータプロセッサ、ローカルの固定メモリ(RAM及びROM)、及び、オプションとしての着脱可能メモリ(例えば、SDカード)、電源、及び音声-ビデオ入力といった、クライアントデバイス100の他の従来的な構成要素は示されていない。
ソフトウェアモジュールは、オペレーティングシステム245及び1つ以上のネイティブアプリケーション255を含む。ネイティブアプリケーション255は、クライアントデバイスに応じて異なり、ワードプロセッサ、スプレッドシート、データベース管理システム、コードエディタ、画像及びビデオエディタ、電子ブックリーダ、音声及びビデオプレーヤーなどの、コンテンツ管理システム110に格納されたコンテンツアイテムを生成し、閲覧し、消費し、及び修正するための様々なアプリケーションを含んでよい。各デバイス上のオペレーティングシステム245は、ローカルのファイル管理システムを提供し、コンテンツ管理システムクライアントアプリケーション200及びネイティブアプリケーション255などの、様々なソフトウェアモジュールを実行する。コンテンツディレクトリ240は、名前、写真、電話番号、会社、電子メールアドレス、物理アドレス、ウェブサイトURLなどの、ユーザの連絡先についての情報を格納する。ネイティブアプリケーション255、オペレーティングシステム245及びコンテンツ管理システムクライアントアプリケーション200の更なる動作は、以下で説明される。
ある実施形態では、デバイス100は、カメラ230及びロケーションモジュール235などの、追加的な構成要素を含む。カメラ230は、オンラインコンテンツ管理システム110にアップロードする画像又はビデオを撮影するために用いられてよい。ロケーションモジュール235は、例えば、全地球測位衛星(GPS)信号、携帯電話基地局の三角測量、又は他の方法を用いてデバイスの位置を決定する。ロケーションモジュール235は、位置データを取得し、カメラ230によって撮影された画像のようなコンテンツアイテムについてのメタデータに位置データを追加するために、クライアントアプリケーション200によって使用されてよい。
クライアントデバイス100は様々な方法でコンテンツ管理システム110にアクセスする。クライアントアプリケーション200は、コンテンツ管理システム110のサービスへのアクセスを提供する専用のアプリケーション又はモジュールであってもよく、ユーザインタフェースを通した共有ファイルへのユーザアクセスと他のアプリケーションによるプログラムでのアクセスの両方を提供する。クライアントデバイス100はまた、ウェブブラウザ250を通じてコンテンツ管理システム110にアクセスしてもよい。代替として、クライアントアプリケーション200は、コンテンツ管理システム110へのアクセスと、オペレーティングシステム245によって提供されるローカルファイル管理システムとを統合してもよい。コンテンツ管理システム110へのアクセスがローカルファイル管理システムに統合された場合、コンテンツ管理システム110において保守されるファイル組織化スキームは、オペレーティングシステム245とクライアントアプリケーション200との共同により、ローカルファイル構成物として表される。クライアントアプリケーション200は、スタンドアローンのアプリケーション、アプリケーションプラグイン、又はブラウザ拡張などの様々な形式をとってよい。クライアントアプリケーション200は、ユーザインタフェースモジュール202、相互作用管理モジュール204、コンテンツアクセスモジュール206、ローカルコンテンツデータストア208、監視プレゼンスデータストア210及び共同作業モジュール207を含む。
他のデバイスタスクを扱うことに加えて、オペレーティングシステム245は、デバイス100上で実行しているアプリケーションからの情報をディスプレイ220を介してユーザに表示する。このとき、情報は1つ以上のユーザインタフェース要素を含み得る。このようなユーザインタフェース要素は、特定のデバイス及び構成に応じて変化してよい。ユーザインタフェース要素は、モバイルデバイス上のユーザインタフェース要素及び、デスクトップインタフェース上のウィンドウを含み得る。ウインドウのようなユーザインタフェース要素を用いるオペレーティングシステムの例は、レッドモンドのMicrosoft CorporationによるMicrosoft Windows 8、カリフォルニアのクパチーノのApple Inc.によるOS Xである。更に、オペレーティングシステム245は、同時に動作している複数のネイティブアプリケーション255の制御を管理する。ユーザインタフェース要素は、1つのレイヤが他のレイヤに重なるようにレイヤー化されてもよい。いくつかのオペレーティングシステムと構成では、1つのユーザインタフェース要素のみが所定の期間に表示される。典型的には1つのユーザインタフェース要素がアクティブなユーザインタフェース要素であり、これはオペレーティングシステム245がキーボードエントリ、カーソル移動、タッチセンサ、タッチジェスチャ等のようなユーザ入力を送るユーザインタフェース要素であることを意味する。当業者によって理解されるように、特定の期間にアクティブな、ウィンドウ又は他のユーザインタフェース要素は、しばしばフォーカスを有する。ユーザは、あるユーザインタフェース要素から他の要素へフォーカスを移動させるために他のユーザインタフェース要素を選択してもよく、ある例では、オペレーティングシステム245はフォーカスをユーザ入力なしに変更してもよい。
典型的には、ユーザインタフェース要素、例えばネイティブアプリケーション255と関連付けられたウィンドウ、はオペレーティングシステム245によって管理され、オペレーティングシステムは、実行しているネイティブアプリケーション255のプロセス識別子とユーザインタフェース要素のユーザインタフェース要素識別子との間の関連を管理する。例えば、特定のアプリケーションはプロセスid「2587」に関連付けられ、このプロセスidは、ユーザインタフェース要素識別子4、8及び10を用いて複数のユーザインタフェース要素を管理し得る。各ユーザインタフェース要素識別子は、別々に、そのネイティブアプリケーション255によって開かれた特定のコンテンツアイテムと関連付けられてよく、複数のユーザインタフェース要素識別子とプロセス識別子とは同一のコンテンツアイテムに関連付けられてもよい。
オペレーティングシステム245はまた、様々なイベントを扱い、認識する。このようなイベントは、コンテンツアイテムを閉じたり開くためのネイティブアプリケーション255からの要求、ウィンドウ又は他のユーザインタフェース要素を閉じるためのネイティブアプリケーション255からの要求、及びユーザインタフェース要素のフォーカスを変更する要求、その他の多くのものを含む。以下で説明されるように、これらのイベントは、コンテンツアイテムに関連するプレゼンスの変更を識別するために、相互作用管理モジュール204によって用いられてよい。
クライアントアプリケーション200は、ユーザがデバイス上のコンテンツアイテムを開く、閉じる或いは変更するときのように、コンテンツアイテムに関して生じる相互作用を識別する。これらの相互作用は、コンテンツアイテムとの相互作用を記述する相互作用情報を生成するために、クライアントアプリケーション200によって識別される。相互作用情報は、クライアントアプリケーション200との相互作用とネイティブアプリケーション255との相互作用とを含む。ネイティブアプリケーション255内で行われる動作から決定される相互作用情報は、プレゼンス情報と呼ばれる。相互作用情報とプレゼンス情報とを判定するクライアントアプリケーション200などのアプリケーションは、プレセンスアプリケーションと呼ばれる。(プレゼンス情報に加えた)相互作用情報の更なる種別は、コンテンツアイテムに関連する、ノート、メッセージ及び通知要求を含み、これらはクライアントアプリケーション200によって受信され得る。メッセージは、他のデバイスへのチャットメッセージ、コンテンツアイテムと相互作用(例えば編集)するユーザの意図を示すメッセージ、及び、共同作業セッションを開始するユーザの意図を示すメッセージを含んでよい。通知要求は、他のユーザの相互作用情報が変化した際に通知される要求を含んでよい。相互作用情報はまた、バージョン管理上のノートやイベントタイムスタンプのようなメタデータの修正、又は、バージョン管理情報又は以前のコンテンツアイテムのバージョンを閲覧するための要求のような、コンテンツアイテムに関するコンテンツ管理システム110に格納される更なる情報に対する要求を含む。更なる相互作用情報の例は以下に説明される。クライアントアプリケーション200は、ユーザから、チャット情報または意図情報を受信してもよい。様々な実施形態では、デバイス100は、コンテンツアイテムにおけるユーザのプレゼンス(すなわちユーザがコンテンツアイテムを開く又はネイティブアプリケーション255を用いてコンテンツアイテムを編集すること)を、後に更に説明するオペレーティングシステム245との相互作用を通じて、識別する。相互作用情報は、コンテンツアイテムに関して同期される他のデバイス100へ送信される。
デバイス100は、コンテンツ管理システム110からコンテンツアイテムを受信し、ユーザがデバイス100上に格納された様々なネイティブアプリケーション255を用いてコンテンツアイテムを閲覧し、修正し、及び相互作用することを可能にする。例えば、デバイス100は、画像コンテンツアイテムを操作する写真編集アプリケーション、テキストコンテンツアイテムの編集を可能にするワードプロセッシングアプリケーション、又は、コンテンツアイテムの描画の修正を可能にするコンピュータ支援設計(CAD)アプリケーションを含んでよい。更に後述するように、相互作用情報は、ユーザの相互作用アプリケーションを介してデバイス100によって判定され、相互作用情報は他のデバイス100に送信される。更に、デバイス100が他のデバイス100に関連する相互作用情報を受信した場合、デバイス100はその相互作用情報を表示する。
ある実施形態では、コンテンツアイテムに関連する相互作用情報を検出するアプリケーションは、コンテンツアイテムを閲覧し又は操作するアプリケーションとは別のものである。例えば、相互作用情報を検出するクライアントアプリケーションは、画像コンテンツアイテムを操作し又は表示する写真編集アプリケーションとは別のものである。様々な実施形態では、相互作用情報を検出するアプリケーションはまた、コンテンツアイテムをコンテンツ管理システム110と同期する責務を有する。相互作用情報を検出するアプリケーションはプレセンスが検出されるアプリケーションとは別のものであるため、プレゼンスは、多数のアプリケーションとコンテンツアイテムとに対して一度に監視され、また、コンテンツアイテムビューアの種別のそれぞれに対するプレゼンスの監視を統合すること無く監視されてよい。すなわち、例えば、写真編集アプリケーション、ワードプロセッシングアプリケーション、及びプレイリスト編集アプリケーションのそれぞれに対して、追加的な特別なプレゼンス監視又はアプリケーションの修正を必要としない。
図3A及び3Bは、デバイス100のディスプレイ220上に表示される、デスクトップ300におけるユーザインタフェース要素のフォーカス変化を示している。図3Aでは、ウィンドウ310A、310B及び310Cはデスクトップ300上に表示されてユーザから見えるようになる。この実施形態では、デスクトップ300は、ディスプレイ220上のユーザインタフェース要素を取り囲む、オペレーティングシステム245によって管理される汎用のコンテナ又はフレームである。図3A及び3Bでは、ユーザインタフェース要素は、デスクトップコンピューティング環境におけるウィンドウ310である。モバイルデバイス又は領域の制限される他のディスプレイのような他の構成では、1つのユーザインタフェース要素のみが一度に表示されてよい。図3Aに示すように、ウィンドウ310Aは、フロントウィンドウとして示されるアクティブウィンドウであり、部分的にウィンドウ310B及び310Cを覆っている。図3Bでは、フォーカスがウィンドウ310Bに変更され、今はフロントウィンドウであってアクティブウィンドウとなっている。フォーカスは、ウィンドウ310Bとのユーザ相互作用によって、又は、そのウィンドウをアクティブウィンドウにすることを要求するプロセスによって、変更されてよい。あるオペレーティングシステム及び構成では、ユーザインタフェース要素は、フロントのユーザインタフェース要素になること無く、フォーカスを有してよい(すなわち、ユーザ入力を受け取っている)。
再び図2を参照すると、コンテンツアイテムを開くために、ネイティブアプリケーション255はオペレーティングシステム245からコンテンツアイテムを要求し、コンテンツアイテムに対し、コンテンツアイテムへのハンドルをオペレーティングシステム245から受け取る。ある場合には、アプリケーション245はハンドルを維持せずに、ネイティブアプリケーション255がコンテンツアイテムからのデータを使用する場合、又は、ユーザがコンテンツアイテムに対する編集を入力する場合であっても、コンテンツアイテムをメモリにロードし、続いてコンテンツアイテムのハンドルを閉じてもよい。従って、開いたコンテンツアイテムのハンドルは、アプリケーションが特定のコンテンツアイテムと相互作用しているかを判定するためには信頼性の高いものではない。このように、ある実施形態では、ネイティブアプリケーション255によって示される更なる振る舞いが、アプリケーションがコンテンツアイテムを編集しているかを判定するために用いられる。
ネイティブアプリケーション255はまた、ユーザがコンテンツアイテムを修正した場合及びユーザがコンテンツアイテムを保存する前に、様々な振る舞いを実行する。これらの振る舞いはアプリケーション及びオペレーティングシステム245に応じて変化する。例えば、いくつかのネイティブアプリケーション255は、例えば、主要な一時的なコンテンツアイテムのファイル名にチルダ又は他の認識可能なマークとを有する、開いているコンテンツアイテムと異なるファイル名を有する一時的なコンテンツアイテムを生成する。他の例では、ネイティブアプリケーション255は、ユーザから直接視認可能である又は視認可能でない、コンテンツアイテムに関連付けれたユーザインタフェース要素のタイトルを変更する。更なる例では、ネイティブアプリケーション255は、コンテンツアイテムが修正されたことを示すフラグを設定する。ネイティブアプリケーション255はまた、他のアプリケーション又はオペレーティングシステム245からの要求に応じて、コンテンツアイテムの修正に関する情報を提供してもよい。例えば、上述したようなOS XオペレーティングシステムにおけるアクセシビリティAPIはユーザインタフェース要素と関連付けられたコンテンツアイテムに関する情報を提供する。開いたコンテンツアイテムのハンドルは、コンテンツアイテムがネイティブアプリケーション255によって編集されているかを判定するための信頼性の高いものではないため、これらの振る舞いは、コンテンツアイテムを編集している又は修正していることに関するプレゼンスを判定するために、更に後に説明されるように、プレゼンス管理モジュールによって使用される。
ネイティブアプリケーション255は典型的に、他とは独立にデバイス100内で実行され、アプリケーションと、他のアプリケーション又はデバイス100上で実行するプロセスとの間の通信を可能にし得る。ネイティブアプリケーション255は典型的に、アプリケーションが実行しているプロセスから情報を要求することを可能にする、アプリケーションプログラミングインタフェース(API)を用いてプロセスに情報を提供する。例えば、ネイティブアプリケーション255は、アプリケーションによって制御されるユーザインタフェース要素に対する要求を可能にする、又は、ユーザインタフェース要素のタイトルを示すため又はネイティブアプリケーション255によって開かれたコンテンツアイテムに関連付けられたファイルシステム内のパスを要求するための、APIを公開してよい。同様に、オペレーティングシステム245は、特定のユーザインタフェース要素を制御するプロセスについての情報を要求するような、要求処理のための類似のAPIを提供してもよい。
クライアントアプリケーション200は、コンテンツ管理システム110へのアクセスを制御する。クライアントアプリケーション200は、以下で様々に示されるように、クライアントアプリケーション200によってアクセスされるコンテンツへのインタフェースを生成する、ユーザインタフェースモジュール202を含み、この機能を実行する1つの手段である。生成されたインタフェースはディスプレイ220によってユーザへ提供される。クライアントアプリケーション200は、コンテンツ管理システム110のコンテンツストレージからアクセスされたコンテンツを、ローカルのコンテンツデータストア208に格納してもよい。ここではクライアントアプリケーション200内のものとして示されるが、ローカルコンテンツデータストア208は、不揮発性ストレージ内にクライアントデバイス100のための他のデータと共に格納されてもよい。ローカルのコンテンツデータストア208がこのように格納される場合、コンテンツは、クライアントアプリケーション200がコンテンツ管理システム110と通信中でないときに、ユーザ及びネイティブアプリケーション255のような他のアプリケーション又はモジュールに利用可能である。コンテンツアクセスモジュール206は、ローカルのコンテンツデータストア208への更新を管理し、クライアントデバイス100によって修正されたコンテンツをコンテンツ管理システム110上に維持されるコンテンツと同期するために、同期ロジックを用いてコンテンツ管理システム110と通信する。そのような同期の一例は2013年9月27日出願の米国特許第9,053,165号において提供されており、参照によってその全体がここに取り込まれる。クライアントアプリケーション200は、スタンドアローンのアプリケーション、アプリケーションプラグイン、又はブラウザ拡張などの様々な形式をとってよい。
コンテンツ管理システム110は、コンテンツアイテムが削除されたことを示す情報、又はデバイス100がコンテンツアイテムの期限切れのバージョンを閲覧又は編集しているであろうことを示す情報などの、コンテンツアイテムを同期するための追加的なデータを提供してもよい。
相互作用管理モジュール204は、ユーザの同期されたコンテンツアイテムに関連する相互作用情報を取得し管理する。上述したように、相互作用管理モジュール204は典型的に、プレゼンス情報のために相互作用管理モジュール204によって監視されているネイティブアプリケーション255とは別のモジュールであり、別のプロセスとして動作する。相互作用管理モジュール204は、デバイス100で生じる、同期されたコンテンツアイテムについての相互作用イベントを検出する。相互作用管理モジュール204は、プレゼンスイベントを監視することによって、またはコメントやメッセージなどの受信したユーザ入力を監視することによって、相互作用イベントを検出してもよい。相互作用イベントは、ユーザがコンテンツアイテムと相互作用したことを示す。相互作用は、コンテンツアイテムを視ることと、コンテンツアイテムを編集することと、コメントアイテムにコメントすることと、コンテンツアイテムに関するメッセージを送信することと、コンテンツアイテムにおいて共同作業することと、を含む。相互作用管理モジュール204は、相互作用イベントおよび他の相互作用情報についての通知をコンテンツ管理システム110に送信する。相互作用管理モジュール204はまた、ユーザに表示するために、コンテンツ管理システム110から、他のユーザのコンテンツアイテムとの相互作用に関する相互作用情報(ユーザ通知キューを含む)を受信する。ある実施の形態では、相互作用管理モジュール204は、同期されたコンテンツアイテムに関連付けられたユーザインタフェース要素に相互作用インジケータを付けることによって、ユーザ通知キューからの相互作用情報を表示する。種々の実施の形態では、相互作用インジケータおよび関連ユーザインタフェース要素は、プレゼンス情報などのリアルタイム相互作用情報と、過去の活動に関する相互作用情報と、を表示する。これにより、ユーザは、コンテンツアイテムとそれに関連する相互作用情報を同時に視ることができ、その結果、コンテンツアイテムとそのコンテンツアイテムに関連付けられたユーザとそのコンテンツアイテムに対してなされた変更とのより全体的な像が提供される。
ある実施の形態では、相互作用管理モジュール204は、受信した通知キューの内容と他の相互作用情報とを、時系列で表示するようにして提供する。この場合、ユーザはコンテンツアイテムとの相互作用のシーケンスを視ることができる。表示される相互作用情報は、タイムスタンプやユーザ識別子やユーザの写真や他のデータなどのメタデータを含んでもよい。他の実施の形態では、相互作用モジュールは、相互作用情報を、受信されるにつれて通知チャネルスタイルで表示する。新たな相互作用情報片がユーザインタフェースを介して他のデバイス100からまたはコンテンツ管理システム110から受信された場合、それはチャネルに追加され、ユーザは相互作用インジケータや他のユーザインタフェース要素や他の方法により通知される。通知を含む相互作用情報を表示することは、図6A−6Dを参照して以下により詳細に説明される。
ある実施の形態では、相互作用管理モジュール204は、相互作用情報についての通知がユーザに提供されたとき、またはユーザインタフェースに表示される相互作用情報をユーザが視たときを検出する。相互作用管理モジュール204は、この情報を、コンテンツ管理システム110および/またはユーザおよびコンテンツ管理システム110に関連付けられた他のデバイス100に送信してもよい。この場合、ユーザにより視られた相互作用情報を複数のデバイス100に亘って追跡することができる。この情報を用いることで、相互作用管理モジュール204またはコンテンツ管理システム110は、ユーザに相互作用情報についての通知が提供されたか否か、またはユーザが相互作用情報を視たか否か、を判定し、通知の複製を避けることができる。その結果、いくつかのデバイス上で同じ相互作用についての通知がユーザになされることはない。
後に更に説明するように、相互作用情報の多くの種別を判定するため、相互作用管理モジュール204は、ユーザインタフェース要素を通して相互作用情報を受信する。同期コンテンツアイテムと関連するプレゼンス情報を判定するため、相互作用管理モジュール204は、ネイティブアプリケーション255に関連付けられたユーザインタフェース要素を監視する。相互作用管理モジュール204は、全てのユーザインタフェース要素を監視すること、或いは、代替的にユーザインタフェース要素がコンテンツアイテムと関連付けられた後に特定のユーザインタフェース要素についてのみ監視することができる。監視プレゼンスデータストア210は、同期されたコンテンツアイテムに関連する動作を判定するために特定のユーザインタフェース要素が監視されていることを示す、相互作用管理モジュール204によって維持される情報を含む。
ここではクライアントアプリケーション200の一部として示すが、様々な実施形態では、コンテンツアクセスモジュール206及び相互作用管理モジュール204は、それぞれの機能を実行するための別々のモジュールに分けられている。同様に、様々なモジュール及びデータストアは便宜のために本開示を通して別々に説明され、様々な実施形態において、所望に統合され又は更に別々の構成要素に分けられる。
図4は、ある実施の形態に係る、図1のコンテンツ管理システム110のコンポーネントを示す。コンテンツ管理システム110を用いる際、種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム110にアカウントを生成してもよい。ある実施の形態では、ユーザのアカウント情報はユーザアカウントデータベース418に維持される。ユーザアカウントデータベース418は、登録ユーザについてのプロファイル情報を保持してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および/または電子メールアドレスのみである。しかしながら、コンテンツ管理システム110はまた、パスワード復活情報や属性情報や支払い情報や実装者が興味を持つ他の詳細などの追加的なユーザ情報を受け入れるよう構成されてもよい。各ユーザは、ユーザIDやユーザ名などの識別子に関連付けられる。
ユーザアカウントデータベース418は、有料/無料の別などのアカウントタイプや、ファイル編集履歴などのユーザ毎の利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール404は、ユーザアカウントデータベース418におけるユーザアカウントの詳細を更新および/または取得するよう構成されてもよい。アカウント管理モジュール404は、コンテンツ管理システム110の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
ひとつのアカウントは複数のデバイス100に関連付けられてもよく、コンテンツアイテムはアカウントに関連して格納されてもよい。保持されるコンテンツはまた、異なる振る舞いを伴うかまたは他のコンテンツアイテムグループ化方法による種々のタイプのフォルダを含んでもよい。例えば、アカウントは、任意のユーザからアクセス可能なパブリックフォルダを含んでもよい。パブリックフォルダにはウェブアクセス可能なアドレスが割り当てられてもよい。ウェブアクセス可能なアドレスへのリンクを使用してパブリックフォルダのコンテンツにアクセスしてもよい。他の例では、アカウントは、写真に適する特定の属性やアクションを提供する写真コンテンツアイテム用の写真フォルダや、音声ファイルコンテンツアイテムを再生する能力を提供し他の音声関連アクションを実行する音声フォルダや、他の特殊用途フォルダを含んでもよい。アカウントは、複数のユーザアカウントとリンクされそれらのアカウントから利用可能な共有フォルダまたはグループフォルダを含んでもよい。ある共有フォルダについての複数のユーザに対する複数の権限は異なっていてもよい。ある実施の形態では、アカウントは複数のユーザに関連付けられてもよい名前空間であり、それらのユーザのそれぞれは名前空間と相互作用するための権限に関連付けられてもよい。
ある実施の形態では、コンテンツはコンテンツストレージ420に保持される。コンテンツストレージ420は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ420は、ひとつ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。ある構成では、コンテンツ管理システム110は、デバイス上に現れる配置構成と同じ配置構成でコンテンツアイテムを保持する。しかしながら、コンテンツ管理システム110は自身の順序や構成や階層でコンテンツアイテムを保持してもよい。
コンテンツストレージ420は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを保持してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として保持されてもよいし、別個に保持されてもよい。ある構成では、コンテンツストレージ420に保持される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
コンテンツストレージ420は、重複したコンテンツアイテムやコンテンツアイテムの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。ある実施の形態では、例えば、コンテンツアイテムの所有権メタデータ(例えば、所有権リスト)内にユーザの識別子を含めることによって、異なる複数のユーザの間でコンテンツアイテムを共有してもよいし、一方で、コンテンツアイテムのただひとつのコピーのみを保持しつつ、ポインタや他のメカニズムを用いることでそのただひとつのコピーと複製物とをリンクしてもよい。同様に、コンテンツストレージ420は、コンテンツアイテムへの変更と、コンテンツアイテムの異なるバージョン(分岐バージョンツリーなど)と、変更履歴と、を追跡するバージョン制御メカニズムを用いてコンテンツアイテムを保持する。変更履歴は、元のコンテンツアイテムのバージョンに適用された場合に、変更されたコンテンツアイテムのバージョンを生成する変更の組を含む。
ある実施の形態では、コンテンツ管理システム110は、同期モジュール412を用いることで、ひとつ以上のデバイスからの複数のコンテンツアイテムを自動的に同期する。同期はプラットフォーム不可知的である。すなわち、コンテンツアイテムは、種々のタイプや能力やオペレーティングシステムなどを有する複数のデバイス100に亘って同期されてもよい。例えば、クライアントアプリケーション200は、コンテンツ管理システム110の同期モジュール412を介して、デバイス100のファイルシステム内のコンテンツと、システム110上の関連ユーザアカウント内のコンテンツアイテムと、を同期させる。クライアントアプリケーション200は、指定されたフォルダおよびそのサブフォルダ内のコンテンツアイテムへの任意の変更を、同期モジュール412と同期させる。そのような変更は、新たな、削除された、変更された、コピーされた、または移動されたファイルやフォルダを含む。同期モジュール412はまた、クライアントアプリケーション200に、デバイス100に関連付けられたコンテンツへの任意の変更を提供する。これは、デバイス100におけるローカルコンテンツと、コンテンツ管理システム110におけるコンテンツアイテムと、を同期させる。
競合管理モジュール414は、異なる複数のデバイス100に置かれたコンテンツアイテムの複数のバージョンの間に矛盾が存在するか否かを判定する。例えば、コンテンツアイテムが第1デバイスおよび第2デバイスにおいて変更された場合、コンテンツアイテムの異なるバージョンが各デバイスに存在しうる。同期モジュール412は、例えばコンテンツアイテム変更の変更時刻を特定することによって、そのようなバージョン競合を判定する。競合管理モジュール414は、複数のバージョンをマージすることや後に提出されたバージョンをデバイスに通知することなどの任意の適切な手段によって、バージョン間の競合を解決する。
ユーザは、ユーザインタフェースモジュール402によって生成されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ250内で、コンテンツ管理システム110によって提供されるウェブアドレスへと辿り着いてもよい。ファイルの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ420のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のデバイス100へと再同期されてもよい。複数のデバイス100は単一のアカウントと関連付けられていてもよく、そのアカウントのファイルは複数のデバイス100のそれぞれの間で同期されてもよい。
コンテンツ管理システム110は、アプリケーションプログラミングインタフェース(API)を介して他のコンテンツおよび/またはサービスプロバイダとのおよび種々のデバイス100とのインタフェースとしての通信インタフェース400を含んでもよい。APIはこの機能を実行するためのひとつの手段である。所定のソフトウエアアプリケーションは、ユーザの代わりに、APIを介してコンテンツストレージ420にアクセスする。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム110を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、APIは、ウェブサイトを通じてユーザがコンテンツストレージ420の全てまたは一部にアクセスすることを可能としてもよい。
コンテンツ管理システム110はまた、認証モジュール406を含んでもよい。認証モジュール406は、ユーザ資格情報やセキュリティトークンやAPIコールや特定デバイスなどを検証することにより、要求されているコンテンツアイテムへのアクセスが認証されるか否かを判定する。これはこの機能を実行するためのひとつの手段である。認証モジュール406は、ユーザアカウント用の一回限り使用できる認証トークンを生成してもよい。認証モジュール406は、各認証トークンに、有効期間または使用期限を割り当てる。認証トークンを要求元のデバイスに送信することに加えて、認証モジュール406は、認証トークンデータベース422に、生成された認証トークンを格納してもよい。認証トークンの検証要求を受けると、認証モジュール406は、認証トークンデータベース422をチェックし、ユーザに割り当てられたマッチする認証トークンを探す。認証モジュール406がマッチする認証トークンを特定すると、認証モジュール406は、そのマッチする認証トークンがまだ正当であるか否かを判定する。例えば、認証モジュール406は、認証トークンが期限切れになっていないことまたは使用済みや無効というマークが付されていないことを確かめる。認証トークンを検証した後、認証モジュール406は、使い捨てトークンなどのマッチする認証トークンを無効化してもよい。例えば、認証モジュール406は、マッチする認証トークンに使用済みまたは無効というマークを付してもよいし、認証トークンデータベース422からマッチする認証トークンを削除してもよい。
コンテンツ管理システム110は、公にまたは私的にコンテンツを共有するための共有モジュール410を含む。公にコンテンツを共有することは、コンテンツアイテムを、コンテンツ管理システム110とネットワーク通信可能な任意の計算デバイスからアクセス可能とすることを含んでもよい。私的にコンテンツを共有することは、コンテンツストレージ420のコンテンツアイテムを2以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。コンテンツは、種々のタイプのユーザアカウントに亘って共有されてもよい。
ある実施の形態では、コンテンツ管理システム110は、コンテンツディレクトリを維持するためのコンテンツ管理モジュール408を含む。コンテンツディレクトリは、コンテンツストレージ420における各コンテンツアイテムの位置を特定し、クライアントアプリケーションがストレージ420内のコンテンツアイテムへのアクセスを要求することを可能とする。これは、この機能を行うひとつの手段である。コンテンツディレクトリのコンテンツエントリは、コンテンツストレージ420におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツエントリは、メモリにおけるコンテンツアイテムのストレージアドレスを指定するコンテンツポインタを含んでもよい。ある実施形態では、コンテンツエントリは、そのそれぞれがコンテンツアイテムの一部を含む複数の場所を指し示す複数のコンテンツポインタを含む。
コンテンツパスおよびコンテンツポインタに加えて、ある構成のコンテンツエントリはまた、コンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含む。ある実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
私的にコンテンツアイテムを共有するために、共有モジュール410は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加し、それにより追加されたユーザアカウントにコンテンツアイテムへのアクセスを与える。共有モジュール410は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を除くよう構成されてもよい。
公にコンテンツを共有するために、共有モジュール410はURLなどのカスタムネットワークアドレスを生成する。このカスタムネットワークアドレスにより、任意のウェブブラウザが、コンテンツ管理システム110のコンテンツに認証なしでアクセスすることが可能となる。共有モジュール410は生成されるURLにコンテンツ特定データを含める。コンテンツ特定データは、後に、要求されたコンテンツアイテムを適切に特定して返すために、コンテンツ管理システム110によって使用されてもよい。例えば、共有モジュール410は、生成されるURLにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。URLに含まれるコンテンツ特定データは、コンテンツアイテムにアクセスするために、デバイスによって、コンテンツ管理システム110に送信されてもよい。URLを生成することに加えて、共有モジュール410はコンテンツアイテムへのURLが生成されたことを記録するよう構成されてもよい。ある実施の形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、そのコンテンツアイテムへのURLが生成されたか否かを示すURLフラグを含んでもよい。
相互作用同期モジュール416は、デバイスからプレゼンス情報を受信し、それをプレゼンスレコードの一部として相互作用データストア424に格納し、コンテンツアイテムに関するユーザプレゼンスを判定する。各ユーザは、コンテンツアイテムに関する、そのユーザに関連付けられたプレセンスレコードを説明するユーザプレゼンスに関連付けられてもよい。それは、特定のユーザデバイスやプロセスやユーザインタフェース要素への参照を伴わないものであってもよい。プレゼンス情報は特定のユーザインタフェース要素やプロセスに関するプレゼンスを説明してもよいが、ユーザに関連付けられたこのプレゼンスはユーザプレゼンスと称される。ユーザプレゼンスの例は、共同作業中、編集中、閲覧中、開く、および不在を含む。この例では、「共同作業中」ユーザプレゼンスは、コンテンツアイテムが二つ以上のデバイス上で閲覧および変更のために提示されているユーザインタフェース要素に関連付けられていることを示し、「編集中」ユーザプレゼンスは、コンテンツアイテムがそのコンテンツアイテムを変更したユーザインタフェース要素に関連付けられていることを示し、「閲覧中」ユーザプレゼンスは、コンテンツアイテムがデバイス100上のアクティブなユーザインタフェース要素に関連付けられていることを示し、「開く」ユーザプレゼンスは、ユーザインタフェース要素がコンテンツアイテムに関連付けられており、かつ、そのコンテンツアイテムを開いたがまだそのコンテンツアイテムを閉じていないことを示す。種々の実施の形態は、より多くのまたはより少ないユーザプレゼンスを用いてもよい。例えば、ある実施の形態は「編集中」と「閲覧中」と「不在」とのみを含み、この場合、コンテンツアイテムを開いたがまだアクティブなユーザインタフェース要素ではないユーザインタフェース要素は、システムの構成により、閲覧中または不在として扱われてもよい。プレゼンス情報を取得して追跡することはまた、米国特許出願第14/635,192号にさらに説明されており、該出願は参照により本明細書に援用される。
相互作用同期モジュール416はデバイス100に亘る相互作用情報の同期を管理する。デバイス100は、相互作用同期モジュール416に相互作用情報を提供する。相互作用同期モジュール416は、相互作用データストア424に相互作用情報を格納する。相互作用同期モジュール416は、ユーザに表示するために、同期済みデバイス100に、同期済みコンテンツアイテムについての相互作用情報を送信する。相互作用同期モジュール416はさらに、ユーザに新たなまたは未閲覧の相互作用情報を知らせるためのインストラクションを送信してもよい。ある実施の形態では、デバイス100は、ユーザが相互作用情報を視たか否か、およびいつ視たかを示す閲覧情報を相互作用同期モジュール416に送信する。閲覧情報は相互作用データストア424に格納される。他の実施の形態では、閲覧情報は、ユーザが相互作用情報と相互作用したか否かおよびいつしたかを示す。相互作用同期モジュール416は、この情報を用いることで、同じユーザに関連付けられた複数のデバイス100で通知を複製することを避けることができる。例えば、あるユーザが第1デバイス100上で新たな相互作用情報について知らされ、その相互作用情報を視た場合、このイベントは格納され、その結果、第2デバイス上でそのユーザに同じ相互作用情報について通知することはないであろう。
ある実施の形態では、コンテンツ管理システム110は共同作業モジュール426を含む。共同作業モジュール426は、デバイス100間の共同作業を促進するよう構成される。例えば、共同作業モジュール426は、あるデバイスのアドレスを他のデバイスと共有することでデバイスハンドシェイクを開始し、共同作業が生じるようにしてもよい。さらに、共同作業モジュール426は、デバイス100の共同作業モジュール207やクライアントアプリケーション200の任意の他のモジュールによって行われるタスクのいずれかを行うよう構成されてもよい。
通知キューモジュール428は共有コンテンツアイテム用のユーザ通知キュー430を生成し管理する。ユーザ通知キュー430はコンテンツ管理システム110において保持され、デバイス100に送信される。ユーザ通知キュー430は共有コンテンツアイテムとのひとつ以上の相互作用のグループであり、該相互作用をユーザに提示することで、共有ユーザによる共有コンテンツアイテムとの最近の相互作用を示すことができる。ある実施の形態では、コンテンツアイテムに関連付けられた各共有ユーザは、そのコンテンツアイテムに対応するユーザ通知キュー430を有する。特定のコンテンツアイテムについての、異なるユーザのユーザ通知キューは異なりうる。
ある実施の形態では、通知キューモジュール428は、相互作用イベントの通知を受け、ユーザ通知キュー430に追加する候補となる相互作用を決定する。通知キューモジュール428は、共有コンテンツアイテムに対応するユーザ通知キュー430を変更する。ユーザ通知キュー430を変更することは、候補相互作用を通知キューに追加することと、通知キューに既に存在する相互作用を取り除くことと、を含んでもよい。共有コンテンツアイテムに対応する相互作用イベントがコンテンツ管理システム110によって受け付けられた場合、通知キューモジュール420は、共有ユーザのユーザ通知キュー430に相互作用を追加するか否かおよび/または共有ユーザのユーザ通知キュー430から相互作用を取り除くか否かを決定する。ユーザ通知キュー430に加えられる相互作用のタイプは、コンテンツアイテムの閲覧、コンテンツアイテムの編集、コンテンツアイテムの共同作業、コンテンツアイテムへのコメント、およびコンテンツアイテムのメッセージを含んでもよい。
ある実施の形態では、相互作用は関連相互作用優先度を有する。相互作用の優先度は、ある相互作用のタイプの、他の相互作用のタイプに対する相対的な優先度を指定する。例えば、コンテンツアイテムの編集は、コンテンツアイテムの閲覧よりも高い優先度を有してもよい。相互作用優先度は、コンテンツ管理システム110の実施者またはコンテンツ管理システム110のユーザによって指定されてもよい。通知キューモジュール428は、候補相互作用およびユーザ通知キュー430内の相互作用についての相互作用タイプおよび相互作用優先度を決定する。種々の実施の形態では、通知キューモジュール428は、より高い優先度の相互作用を選択してユーザ通知キュー430に追加し、より低い優先度の相互作用を選択してユーザ通知キュー430から取り除く。例えば、通知キューモジュール428は、ユーザAによる候補相互作用の優先度と、通知キュー430に既に存在するユーザAによる相互作用の優先度と、を比較してもよい。候補相互作用の優先度がユーザ通知キュー430内の相互作用の優先度よりも低い場合、その候補相互作用はキューに追加されない。候補相互作用の優先度がユーザ通知キュー430内の相互作用の優先度よりも高い場合、その候補相互作用はキューに追加され、キュー内に既にある相互作用はキューから取り除かれてもよい。これにより、コンテンツアイテムとの他のユーザの高優先度相互作用をユーザに提示することができ、その結果、ユーザを混乱させたりユーザインタフェース要素のスペースを無駄にする可能性のある比較的重要でない情報を提供することなく、ユーザにとって重要な情報を提供することができる。
通知キューモジュール428は、デバイス100に、ユーザ通知キュー430を送信してもよい。ある実施の形態では、通知キューモジュール428は、ユーザがコンテンツアイテムにアクセスしたという通知を受けることに応じて、ユーザ通知キュー430を送信してもよい。アクセスの通知は、デバイス100から直接来るか、または相互作用同期モジュール416から来てもよい。アクセスの通知は、閲覧や編集のためにコンテンツアイテムを開くことなどのコンテンツアイテムのアクセスに整合するプレゼンスイベントを検出することに応じて、生成されてもよい。ある実施の形態では、通知キューモジュール428は、関連ユーザが通知キューを閲覧したという通知を受けることに応じて、ユーザ通知キュー430をクリアしてもよい。このようにすることで、ユーザに、そのユーザが既に視た通知を提供することはない。
コンテンツ管理システム110は、単一のコンピュータやクラウドベースのコンピュータ実装を含むネットワークコンピュータを用いて実装されてもよい。本開示の目的のために、コンピュータは、ひとつ以上のプロセッサと、メモリと、ストレージデバイスと、ネットワーキングリソースと、を有するデバイスである。コンピュータは、好適には、ひとつ以上の高性能CPUと、1G以上のメインメモリと、500Gbから2Tbのコンピュータ可読永続ストレージと、を含み、LINUXやその亜種などのオペレーティングシステムを実行するサーバクラスコンピュータである。本明細書で説明されるコンテンツ管理システム110の動作は、ハードウエアを通じて、または、コンピュータストレージにインストールされ本明細書に記載される機能を実行するためにそのようなサーバのプロセッサによって実行されるコンピュータプログラムを通じて、制御可能である。これらのシステムは、本明細書で説明される動作のために必要な他のハードウエア要素を含み、それは、ネットワークインタフェースやプロトコル、データ入力用の入力デバイス、およびデータの表示、印刷または他の提示のための出力デバイスを含むが、これらは本明細書では説明されていない。同様に、システムの特徴を不明瞭にしないために、ファイヤウォールや負荷分散器やフェイルオーバサーバやネットワーク管理ツールなどの従来の要素は示されていない。最後に、コンテンツ管理システム110の機能および動作は、コンピュータシステムへの実装を必要とするほど十分に複雑であり、人の心のなかで単なる精神的なステップにより実行されうるものではない。
ある構成では、コンテンツ管理システム110を参照して後述されるコンポーネントは、コンテンツ管理システム110による管理なしにコンテンツアイテムを共有し同期するデバイス100に組み入れられる。これらのデバイス100は、上述のネットワーク120や直接接続を介して、コンテンツを同期し、相互作用情報を共有してもよい。この構成では、デバイス100は、同期モジュール412と、競合管理モジュール414と、相互作用同期モジュール416と、コンテンツ管理システム110によって提供されるような後述の機能を組み入れるための他のモジュールやデータストアと、の機能を組み入れてもよい。したがって、この構成のデバイス100はピアツーピア構成で動作し、コンテンツ管理システム110やネットワーク120なしでそうしてもよい。
図5は、ある実施に従う、コンテンツアイテムに関連付けられたプレゼンス情報を判定する例示的処理を示す。この処理は典型的には相互作用管理モジュール204によって実行される。ユーザインタフェース要素がコンテンツアイテムに関連付けられた後にのみ監視される場合において、相互作用管理モジュール204は、ユーザインタフェース要素を監視するかを判定するために、コンテンツアイテムがアプリケーション又はユーザインタフェース要素によって開かれていることを示すイベントを用いる。これは、コンテンツアイテムをユーザインタフェース要素に関連付けるかもしれないイベントの一例であり、監視イベントと呼ばれる。他の実施形態では、監視するユーザインタフェース要素の選択は、他の方法で決定され、又は、全てのユーザインタフェース要素が監視される。この場合、相互作用管理モジュール204は監視イベントを使用しなくてもよい。他の実施形態では、監視イベントはコンテンツアイテムを保存する処理を含む。
オペレーティングシステム245によって利用可能にされた場合、相互作用管理モジュール204は、特定のアプリケーションのための監視イベントを受信するために、オペレーティングシステム245に登録してもよい。これらの実施形態では、オペレーティングシステム245は、オペレーティングシステム245がコンテンツアイテムを開く又は保存する要求を受信した場合に、相互作用管理モジュール204に通知する。この実施形態では、相互作用管理モジュール204は、ウィンドウ又は他のユーザインタフェース要素がコンテンツアイテムと相互作用することを示す監視イベントを受信し(500)、このコンテンツアイテムは、同期されたコンテンツアイテムであってよい(すなわち、プロセスは特定のユーザインタフェース要素においてコンテンツアイテムと相互作用する)。監視イベントは監視イベントをトリガしたユーザインタフェース要素を少なくとも示す。他の実施形態では、相互作用管理モジュール204は、時々(例えば5分インターバルで)ユーザインタフェース要素に関連付けられたイベントを監視し、ユーザインタフェース要素が任意の開かれているコンテンツアイテムと関連付けられているかを問い合わせる。オペレーティングシステム245とネイティブアプリケーション255の構成に従って、この問い合せは、オペレーティングシステム245又はネイティブアプリケーション255に向けられてよい。ユーザインタフェース要素が新たに開かれたコンテンツアイテムを含む場合、その新たに開かれたコンテンツアイテムは、新たに開かれたコンテンツアイテムがコンテンツ管理システム110と同期されたコンテンツアイテムであるかを判定するために監視イベントとして扱われ、そして、そのプレゼンス情報は新たに開かれたコンテンツアイテムに対して判定されなければならない。
監視イベントが受信された場合、相互作用管理モジュール204は、どのプロセスが、監視イベントに関連付けられたユーザインタフェース要素に対する責務を負うかを510において判定する。相互作用管理モジュール204は典型的に、オペレーティングシステム245からユーザインタフェース要素に関連付けられたプロセスIDを要求することによってプロセスを判定する。いくつかの実施形態では、相互作用管理モジュール204は、ユーザインタフェース要素自身からプロセスの識別子を要求することによって、プロセスを識別する。
プロセスとユーザインタフェース要素とが互いに正しく関連付けられていること、及び、ユーザインタフェース要素が依然としてアクティブであることを確認するために、相互作用管理モジュール204は、プロセスから現在アクティブなユーザインタフェース要素の識別を要求してもよい。相互作用管理モジュール204は、プロセスから受信した現在アクティブなユーザインタフェース要素が、監視イベントと関連付けられたユーザインタフェース要素と一致することを確認する。
プロセスの識別子を用いて、相互作用管理モジュール204は、コンテンツアイテムに対する関連付けられたディレクトリパスを取得するために、プロセスから任意の開いているコンテンツアイテムを520において要求する。相互作用管理モジュール204は、監視イベントに関連付けられたユーザインタフェース要素に、開かれているコンテンツアイテムのパスに対する要求を結びつける。相互作用管理モジュール204は、プロセス又はオペレーティングシステムへの利用可能なインタフェースを用いて、プロセス又はオペレーティングシステムから開いているアイテムを要求する。ある例として、OS Xオペレーティングシステムでは、既知であるように、コンテンツアイテムとユーザインタフェース要素に対するコンテンツアイテムパスとに関連付けられた情報にアクセスするためにアクセシビリティAPIが用いられる。プロセスによって提供されるコンテンツアイテムパスを用いて、相互作用管理モジュール204は、開かれたコンテンツアイテムパスが任意の同期されたコンテンツアイテムに対応するかを判定する。そうであれば、相互作用管理モジュール204は、プロセスによってアクセスされるコンテンツアイテムがコンテンツ管理システム110に同期されたコンテンツアイテムであると判定し、当該プロセスとユーザインタフェース要素とをコンテンツアイテムに関連付ける。他の実施形態では、プロセスによってアクセスされるコンテンツアイテムが同期されたコンテンツアイテムであるかどうかを判定するために他の方法が用いられてもよい。
コンテンツアイテムが、コンテンツ管理システム110に530において同期される場合、相互作用管理モジュール204は、イベントに対するユーザインタフェース要素を540において監視するために、コンテンツアイテム、プロセス及びユーザインタフェース要素に関連する情報を格納する。監視イベントに関連付けられたコンテンツアイテムが同期されていない場合、プロセスは終了してもよいし、ユーザに同期インタフェースを表示することによって続いてもよい。監視情報は、監視プレゼンスデータストア210に格納される。監視し、その後ユーザインタフェース要素に関連するプレゼンスイベントを受信するために、相互作用管理モジュール204は、ユーザインタフェース要素に関連付けれたイベントを受信するために登録する。相互作用管理モジュール204による登録処理は、デバイス100の構成に従って変わる。典型的には相互作用管理モジュール204は、オペレーティングシステム245から、又は、利用可能なプロセス又はユーザインタフェース要素からのプレゼンスイベントを受信するための要求を登録する。監視イベントは、ユーザインタフェース要素又はプロセスが同期したコンテンツアイテムと関連付けられるかを判定する一方、プレゼンスイベントは、コンテンツアイテムに関連付けられたユーザインタフェース要素又はプロセスに関連する、ユーザのプレゼンスの状態の変化を示し得るイベントである。例示のプレゼンスイベントは、相互作用管理モジュール204によって認識されるプレゼンスの種別に基づく、ユーザインタフェース要素のフォーカスの変化、ユーザインタフェース要素を閉じること、コンテンツアイテムを閉じること、コンテンツアイテムを開くこと等を含む。様々な実施形態では、相互作用管理モジュール204によって使用されるプレゼンスイベントは、オペレーティングシステム245及びネイティブアプリケーション255が相互作用管理モジュール204による受信のために利用可能にしているイベントに基づく。
プレゼンスイベントは、プレゼンスイベントが関連するコンテンツアイテムと関連付けられたプレゼンス情報を判定するために用いられる。例えば、コンテンツアイテムに関連付けられるユーザインタフェース要素がフォーカスを有することを示すプレゼンスイベントは、ユーザがコンテンツアイテムを閲覧していることを示し、従って、当該コンテンツアイテムに対するプレゼンス情報は、その状態を示す。同様に、コンテンツアイテムに関連付けられていないユーザインタフェース要素がフォーカスを得たことを示すプレゼンスイベントは、以前にフォーカスされたユーザインタフェース要素に関連付けられたコンテンツアイテムがフォーカスを失ったことを示し、従って、ユーザがもはや当該コンテンツアイテムを閲覧していないことを示す。従って、プレゼンス情報はプレゼンスイベントそのものの基礎となるセマンティック解釈のレベルを提供する。
相互作用管理モジュール204が登録したプレゼンス情報を受信することに加えて、プレゼンス情報はまた、監視されるユーザインタフェース要素に対してプレゼンス情報が変化していないことを確認するために、相互作用管理モジュール204によって開始されてよい。これらのプレゼンスイベントは、閾値の時間が特定のユーザインタフェース要素又はプロセスに対する最後のプレゼンスイベントから経過した場合、又は特定のインターバル、例えば5分を経過した場合に開始されてもよい。
プレゼンスイベントに対する登録に加えて、相互作用管理モジュール204は他の方法によって相互作用イベントを受信してもよい。ある実施形態では、ユーザは、ユーザインタフェース要素を通じて相互作用情報を明示的に示してもよい。ユーザインタフェース要素は、例えば、特定の意図を表すメニューアイテム又はアイコンを選択することによって、例えばユーザがコンテンツアイテムの更新を意図することを示して、コンテンツアイテムを編集している又は閲覧している他のユーザにその意図を示すことができるように構成され得る。ユーザインタフェース要素は、もはやコンテンツアイテムを閲覧しない或いは現在又は将来にコンテンツアイテムがユーザに提示されないことを明示するような、ユーザの他の意図をユーザが示すことができるようにも構成され得る。他のユーザは、コンテンツアイテムを自由に編集できることを知るために、そのような「提示しない」意図を用いてもよい。ユーザ入力の相互作用イベントはまた、例えばデバイス上でコンテンツアイテムを現在閲覧している他のユーザへメッセージを送信する、コンテンツアイテムに関連付けられた他のユーザに広めるためのメッセージ又はチャット機能を含んでよい。
プレゼンス情報が550において受信された場合、相互作用管理モジュール204は、任意のプレゼンス情報が監視ユーザインタフェース要素に関連する最後のプレゼンスイベントから変更されたかを判定する(560)。ユーザが開始させる相互作用情報に対して、相互作用情報は、例えば、ユーザがコンテンツアイテム又はユーザのチャットメッセージを修正する意図することを示す、ユーザインタフェース要素のユーザの選択のような、ユーザによって提供される情報であってもよい。プレゼンスイベントに対し、相互作用管理モジュール204は、監視されるユーザインタフェース要素の状態を判定するために、監視プロセスに問い合わせる。特に、相互作用管理モジュール204は、監視されるユーザインタフェース要素がアクティブなユーザインタフェース要素であるかを判定するために、プロセスに問い合わせる。監視されるユーザインタフェース要素がアクティブなユーザインタフェース要素である場合、コンテンツアイテムはユーザによって閲覧されている。
いくつかの実施形態では、コンテンツアイテムに関するユーザプレゼンスを検出することに加えて、相互作用管理モジュール204はまた、コンテンツアイテムがユーザによって修正されている又は修正されたかを判定する。この更なる側面は、例えば、ユーザがコンテンツアイテムに関して閲覧者よりむしろ編集者としてプレゼンスを有することを示す表示を用いて、プレゼンス情報がより細かくレポートされるようにすることができる。上述したように、コンテンツアイテムが修正されている際にアプリケーションによって実行される特定のアクションは変化するため、相互作用管理モジュール204によってこれらのアクションのうちの1つを検出することは、プロセスがコンテンツアイテムを編集したことを示す。例えば、コンテンツアイテムが編集されている際にプロセスによって予期されるアクションの種別に従って、相互作用管理モジュール204は、コンテンツアイテムに修正されたことのフラグが立っていることをプロセスが示しているか、ユーザインタフェース要素のタイトル情報が変化したか、一時ファイルが保存され又はキャッシュされたか、又は、任意の他のデータが修正されたことを示唆するか、を判定するために、プロセスに問い合わせてよい。相互作用管理モジュール204はまた、例えば、コンテンツアイテムに類似したファイル名を有するコンテンツアイテムであるが、チルダ又は他の特殊なファイル名のバリエーションを有する、一時的なコンテンツアイテムの形式と一致するコンテンツアイテムが保存されたかを判定するために、オペレーティングシステムに問い合わせてもよい。このような修正は、コンテンツアイテムに関連付けられたプレゼンス情報が、ユーザがコンテンツアイテムを編集していることを反映しなければならないことを表す。
プレゼンス情報の560における判定の後には、ユーザインタフェース要素に対する任意の新たなプレゼンス情報が監視プレゼンスデータストアとして格納されてよい。ある実施形態におけるこのプレゼンス情報は、1のプロセスによって複数のユーザインタフェース要素が同一のコンテンツアイテムと関連付けられ、そして、個別に管理されるプレゼンス情報を有してもよいように、ユーザインタフェース要素ごとの原則で格納される。ある実施形態では、プレゼンス情報は現在のプレゼンス状態に応じて変化してもよい。例えば、コンテンツアイテムに対するプレゼンス情報が、コンテンツアイテムが編集されていることを反映する場合、ある実施形態では、ユーザが他のユーザインタフェース要素にフォーカスを変更したときに、ユーザインタフェース要素内のコンテンツアイテムのプレゼンスは変更されない。代わりに、編集された状態は、プレゼンスイベントがユーザインタフェース要素が閉じていることを示すまで、ユーザインタフェース要素に関して維持される。他の実施形態では、編集はコンテンツアイテムに変更を導入する可能性があるため、ある実施形態では、編集されたドキュメントに対するプレゼンス情報は、コンテンツアイテムへの変更がコミットされた又は修正が破棄されたといういずれかの通知をインタラクション管理モジュール204が受信するまで、変更されない。
閲覧されていることを示すプレゼンス情報を有するコンテンツアイテムは、ユーザインタフェース要素がフォーカスを失ったとき、又はフォーカスを失う閾値期間内にその状態変化を有してもよい。これは、コンテンツアイテムに関連付けられたユーザインタフェース要素がまだ開いている場合であってもよい。ある実施形態では、「閲覧された」プレゼンス情報は、コンテンツアイテムがアクティブなユーザインタフェース要素に関連付けられているかどうかを示す。ある実施形態では、「閲覧された」プレゼンス情報は、ユーザインタフェース要素が時間の閾値より長い間アクティブでなくなる(またはフォーカスを失ったとき)まで保持される。ある実施形態では、コンテンツアイテムがアプリケーションによって開かれている間には、コンテンツアイテムは「閲覧された」とみなされる。
相互作用情報に変化がある場合、相互作用管理モジュール204は、プレゼンス情報をコンテンツ管理システム110に送信する(570)。ある実施形態では、送信されたプレゼンス情報は、コンテンツアイテムの識別子、プロセスID、ユーザインタフェース要素ID、及びプレゼンス状態を含む。プレゼンス情報はさらに、バージョンに関するメモやプレゼンスイベントタイムスタンプなどのメタデータを含んでもよい。
ある実施の形態では、コンテンツ管理システム110は、例えばコンテンツ管理システム110のデータストアにおいて、同期済みコンテンツアイテムの受信した相互作用情報を維持する。コンテンツ管理システム110は、ユーザに表示するために、コンテンツアイテムに関して同期した他のデバイス100に、受信した相互作用情報を提供してもよい。
図6A−6Dは、相互作用情報を表示する例示的ユーザインタフェースを示す。これはユーザ通知キューコンテンツを含む。これらのユーザインタフェースは、例えば、ユーザインタフェースモジュール202によって生成され、これを行うための1つの手段である。図6Aでは、ユーザインタフェースの例示的ウインドウ605は、ここでは「コンテンツアイテム6」である同期済みコンテンツアイテムを表示する。例示的なユーザインタフェースは、コンテンツ管理システム110から受信した相互作用情報を表示する。相互作用情報を表示するために、相互作用管理モジュール204は、コンテンツアイテムに関連付けられたウインドウの縁または境界に沿って相互作用インジケータ600を提供する。
相互作用インジケータ600は、コンテンツアイテムに関連付けられたウインドウと共に表示され、ある実施の形態では、相互作用管理モジュール204は、ウインドウの位置を追跡し、そのウインドウに隣接してまたはその近くに(例えば、ウインドウの縁または境界のそばに)相互作用インジケータ600を表示する。相互作用インジケータ600は、ディスプレイ220の任意の都合のよい領域に配置されてよい。ある実施形態では、相互作用インジケータは、相互作用インジケータと特定のコンテンツアイテムとの間の関係をユーザに視覚的に示すように、コンテンツアイテムの関連するユーザインタフェース要素の近傍に表示される。更に、ウインドウの境界又は縁に沿った相互作用インジケータの表示は、ユーザが相互作用インジケータ600に気付く可能性を増加させる。ある実施形態では、相互作用インジケータ600は、コンテンツアイテムを含むウインドウの垂直エッジ上又はそのそば(例えば、図6Aに示すような右端)に表示される。代替的に、相互作用インジケータ600は、タスクバー又はトレイアイコンのようなディスプレイの別の領域に表示されてもよく、或いは、コンテンツアイテムのユーザインタフェース要素と相互作用しない別個のユーザインタフェース要素であってもよい。本明細書では単一の相互作用インジケータ600として示されているが、任意の数の相互作用インジケータ600をコンテンツアイテムに関連して表示してもよい。
図6Bでは、相互作用インジケータ600はバッジ要素610を含む。バッジ要素610は、相互作用情報についてのより多くの情報を提供するために複数の他の視覚的要素を含んでもよい。例えば、バッジ要素610は、図6Bに示されるように、まだ視られていない相互作用イベントの数を表す数を有してもよい。他の実施の形態では、バッジ要素610は、ユーザにまだ視られていない相互作用イベントを示すためのアイコンなどの視覚的要素であってもよい。
図6Cを見ると、ユーザが相互作用インジケータ600を選択したすなわちその上にカーソルを合わせた場合、ユーザにさらなる情報またはインタフェースを提供するための補足相互作用インジケータ620が現れてもよい。図6Cに示される例では、補足相互作用インジケータ620は、例えばアンドリューがコンテンツアイテム6を編集したという、コンテンツアイテムとの最近の相互作用を記述する。補足相互作用インジケータ620はまた、ユーザによるアクションなしで現れてもよく、例えばプレゼンスが変わったときに新たなユーザがドキュメントを編集しているか閲覧していることを示すために現れてもよい。
図6Dは、相互作用要素630を伴う例示的ユーザインタフェースを示し、ユーザはその相互作用要素630を通じて相互作用情報を閲覧し、それを入力する。このインタフェースは、更なるユーザインタフェース要素に加えて、相互作用インジケータ600を含む。相互作用要素630は図6A−6Cの例の代わりに提示されてもよく、またはコンテンツアイテムに関する追加的データを提供する補足要素として提示されてもよい。
相互作用要素630は、コンテンツアイテム情報セクション646を含み、そのセクション646は、コンテンツアイテムの名称と、保存アクションなどの最新の相互作用イベントの時刻と、を表示する。図6Dの例では、コンテンツアイテム情報セクション646は、コンテンツアイテム6が直近で3分前に保存されたことを示す。インタフェースはまた、共有要素642を含み、この共有要素642により、ユーザは、同期を介してまたは既に知られている他の方法を介して、他のユーザとコンテンツアイテムを共有することができる。
図6Dの例示的インタフェースは、相互作用閲覧セクション634を含む。該セクション634は、相互作用情報および関連情報をユーザに表示する。関連情報は、相互作用が発生した時刻および相互作用に関連付けられたユーザ情報を含んでもよい。図6Dの例では、相互作用閲覧セクション634はメッセージ634A−Bとプレゼンス情報650A−Bとを含む。表示されている相互作用情報の各アイテムについて、相互作用閲覧セクション634は相互作用時刻644A−Dを含む。ある実施の形態では、図6Dに示されるように、相互作用時刻644A−Dは相互作用が生じた時刻として表される。他の実施の形態では、相互作用時刻は相対的な時刻として表現される。例えば、相互作用が生じてからどれくらいの時間が経過したかである。
相互作用閲覧セクション634はメッセージについてのユーザイメージ636A−Bとユーザに関連付けられた他の相互作用情報とを含む。ユーザイメージ636A−Bはコンテンツ管理システム110から受け付けられてもよい。相互作用閲覧セクション634はユーザ識別子648A−Bを含み、これはユーザID、名前、または他の識別子であってもよい。相互作用閲覧セクション634は、相互作用情報についての他のアイコンやグラフィックを含んでもよい。例えば、アイコン638A−Bは表示されているプレゼンス情報に対応してもよい。アイコン638Aは閲覧を表す目であり、アイコン638Bは編集や新たなバージョンの保存を表す鉛筆である。
ある実施の形態では、ユーザは、追加的な情報を視るために、相互作用閲覧セクション634内の種々の要素と相互作用(例えば、クリック、カーソルを合わせる等)してもよい。例えば、名前要素648A−Bやユーザイメージ636A−Bを選択するまたはその上にカーソルを合わせることにより、ユーザは、そのユーザに関する追加的なユーザ情報を閲覧することができる。
このインタフェースはまた、ユーザがコンテンツアイテムに関連付けられた他のユーザと通信するためのチャットインタフェースを提供する。チャットインタフェースは、ユーザが他のユーザにメッセージを入力したり受信したりすることを可能にする。テキスト入力要素632はユーザが他のユーザへのメッセージを入力することができるようにし、相互作用閲覧要素634はユーザがメッセージを視ることを可能とする。チャットインタフェースは、ユーザがアイテムの編集を終了しそうな場合のような、ユーザがそのコンテンツアイテムに関する情報を具体的に議論することができるようにし得る。これらのメッセージは、相互作用情報として相互作用管理モジュール204によって受信され、コンテンツアイテムに同期される他のクライアントに送信される。ネイティブアプリケーションがチャット機能を提供しない場合であっても、これにより、ユーザはコンテンツアイテムについて直接チャットすることができるようになる。
図7は、ある実施の形態に係る、共有ユーザ用の通知キューを更新するための例示的処理を示す。コンテンツ管理システム110は、共有コンテンツアイテムについての相互作用イベントの通知を受ける(702)。相互作用イベントは共有ユーザによる共有コンテンツアイテムとの新たな相互作用を示し、我々は本明細書において説明のためにこの共有ユーザを「ユーザA」を称す。
ある実施の形態では、コンテンツ管理システム110は、複数のユーザがコンテンツアイテムにおいて共同作業をしているか否かを判定する(704)。すなわち、複数のユーザが現在閲覧または編集のためにドキュメントを開いているか否かを判定する。ユーザがコンテンツアイテムにおいて共同作業している場合、処理は終了し、ユーザの通知キューに通知は追加されない。ユーザがコンテンツアイテムにおいて現在共同作業していない場合、コンテンツ管理システム110は各共有ユーザについてのコンテンツアイテム用の通知キューを更新することに進む。
コンテンツ管理システム110は新たな相互作用の相互作用タイプおよび優先度を決定する(706)。コンテンツ管理システム110は、新たな相互作用の相互作用タイプおよび優先度を用いることで、コンテンツアイテム用の各ユーザの通知キューに相互作用を追加するか否かを決定する。各共有ユーザについて、コンテンツ管理システム110は、新たな相互作用の優先度よりも高い優先度を伴う、共有ユーザAによる相互作用を通知キューが既に含んでいるか否かを判定する(710)。共有ユーザAによるより高い優先度を伴う相互作用を通知キューが既に含んでいる場合、通知キューは更新されず、処理はステップ708から次のユーザへと進む。共有ユーザAによるより高い優先度を伴う相互作用を通知キューが含んでいない場合、コンテンツ管理システム110は新たな相互作用を通知キューに追加する(712)。ある実施の形態では、コンテンツ管理システム110は共有ユーザAによるより低い優先度を伴う相互作用を通知キューから取り除く(714)。
図8は、ある実施の形態に係る、コンテンツアイテムにアクセスするデバイスに通知キューを送信するための例示的処理を示す。コンテンツ管理システム110は、コンテンツアイテムが共有ユーザBによってアクセスされたという通知を受ける(802)。コンテンツ管理システム110は、共有ユーザBがコンテンツアイテムにおいて共同作業しているか否かを判定す(804)。共有ユーザBがコンテンツアイテムにおいて共同作業している場合、コンテンツ管理システム110は、キューを配信することなく、コンテンツアイテム用の共有ユーザBの通知キューをクリアする(806)。あるいはまた、共有ユーザBがコンテンツアイテムにおいて共同作業していない場合、コンテンツ管理システム110は、コンテンツアイテム用の共有ユーザBの通知キューを共有ユーザBのデバイス100に送信する。
本発明の実施形態に係る前述の説明は、説明の目的で提示されており、本発明を網羅する又はここで開示される同一の形態に限定することを意図していない。当業者であれば、上記開示に照らして種々の変更及び変形が可能であることを理解することができる。
当該記載のある部分は、情報におけるアルゴリズムと記号表現の操作に関する本発明の実施形態を説明するものである。これらのアルゴリズムに関する記載と表現は、データ処理の分野の当業者が他の当業者に効果的に本質を伝えるために通常用いられる。機能的、コンピュータ的、又は論理的に記載される一方で、これらの操作はコンピュータプログラム、同等の電気的な回路、又はマイクロコードなどによって実装されるべきであることが理解される。更に、一般性を失うこと無く、モジュールとして、これらの操作の変形に言及することが都合がよい場合もあることも証明されている。説明した動作及びそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせで具体化されてもよい。
ここで説明されるステップ、動作、又はプロセスのいずれかは、単独で、又は他のデバイスと組み合わせて、1以上のハードウェア又はソフトウェアモジュールで実行又は実装されてもよい。ある実施形態において、ソフトウェアモジュールは、記述されたステップ、動作、又はプロセスの何れか又は全てを実行するコンピュータプロセッサによって実行されうるコンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品で実装されてもよい。
本発明の実施形態はまた、ここでの動作を実行する装置に関連する。当該装置は、必要な目的のために特別に構成することができ、及び/又は、コンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成された汎用コンピューティングデバイスを含むことができる。このようなコンピュータプログラムは、非一時的な、有形のコンピュータ可読記憶媒体、又はコンピュータシステムバスに結合することができる電子命令を格納するのに適した任意の種別の媒体に格納することができる。 さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含むことができ、或いは、コンピューティング性能を高めるために複数のプロセッサ設計を採用するアーキテクチャであってもよい。
本発明の実施形態はまた、ここで説明されるコンピューティングプロセス(処理)によって生成される製品に関連してもよい。そのような製品は、非一時的な、有形のコンピュータ可読記憶媒体に情報が格納される計算プロセスから生じる情報を含むことができ、ここで記載されるコンピュータプログラム製品又は他のデータの組み合わせの任意の実施形態を含むことができる。
最後に、明細書において使用された言葉は主に可読性及び説明の目的のために選択されたものであり、本発明の主題の輪郭を描いたり制限を加えたりするために選択されたものではない。従って、本発明の範囲は、この詳細な説明によって限定されるのではなく、ここでの記載に基づく本出願で公表される任意の請求項によって限定されることが意図される。従って、本発明の実施形態の開示は説明のためを意図したものであって、以下の請求項において明らかにされる本発明の範囲を限定するものではない。

Claims (12)

  1. コンピュータが、複数のユーザのうちの第1ユーザによるコンテンツアイテムとの相互作用を示す相互作用イベントの通知を受信することであって、前記コンテンツアイテムがコンテンツ管理システムと複数のデバイスとの間で同期されており、各デバイスが前記コンテンツアイテムの共有先の前記複数のユーザのうちのひとつに関連付けられている、受信することと、
    前記コンピュータが、前記相互作用のタイプおよび前記相互作用の優先度を決定することと、
    前記複数のユーザのうち、前記第1ユーザを除く各他のユーザについて、
    前記コンピュータが、前記他のユーザおよび前記コンテンツアイテムに関連付けられた通知キューに既に存在する相互作用の優先度と、前記受信した第1ユーザによる相互作用の優先度とを比較し、前記通知キューに既に存在する相互作用の優先度が、前記受信した第1ユーザによる相互作用の優先度より低い場合に、前記通知キューに前記相互作用を追加し、
    前記コンピュータが、前記通知キューから、前記第1ユーザによるより低い優先度の相互作用を取り除くことと、を含み、
    前記相互作用の前記タイプおよび前記相互作用の前記優先度を決定することは、前記コンテンツアイテムにおいて共同作業が生じていないとの判定に応じて行われる方法。
  2. 前記コンピュータが、前記他のユーザに関連付けられた前記通知キューを前記他のユーザに関連付けられたデバイスに送信することをさらに含む請求項1に記載の方法。
  3. 前記他のユーザが前記コンテンツアイテムにおいて共同作業していないとの判定に応じて、前記他のユーザに前記通知キューが送信される請求項2に記載の方法。
  4. 前記相互作用イベントは前記第1ユーザが前記コンテンツアイテムを視たことを示す請求項1から3のいずれか一項に記載の方法。
  5. 前記相互作用イベントは前記第1ユーザが前記コンテンツアイテムを編集したことを示す請求項1から3のいずれか一項に記載の方法。
  6. 前記相互作用イベントは前記第1ユーザが前記コンテンツアイテムについてコメントしたことを示す請求項1から3のいずれか一項に記載の方法。
  7. コンピュータプログラムコードを含むコンピュータプログラムであって、前記コンピュータプログラムコードは、プロセッサに、
    複数のユーザのうちの第1ユーザによるコンテンツアイテムとの相互作用を示す相互作用イベントの通知を受信することであって、前記コンテンツアイテムがコンテンツ管理システムと複数のデバイスとの間で同期されており、各デバイスが前記コンテンツアイテムの共有先の前記複数のユーザのうちのひとつに関連付けられている、受信することと、
    前記相互作用のタイプおよび前記相互作用の優先度を決定することと、
    前記複数のユーザのうち、前記第1ユーザを除く各他のユーザについて、
    前記他のユーザおよび前記コンテンツアイテムに関連付けられた通知キューに既に存在する相互作用の優先度と、前記受信した第1ユーザによる相互作用の優先度とを比較し、前記通知キューに既に存在する相互作用の優先度が、前記受信した第1ユーザによる相互作用の優先度より低い場合に、前記通知キューに前記相互作用を追加し、
    前記通知キューから、前記第1ユーザによるより低い優先度の相互作用を取り除くことと、を行わせるよう構成され、
    前記相互作用の前記タイプおよび相互作用の前記優先度を決定することは、前記コンテンツアイテムにおいて共同作業が生じていないとの判定に応じて行われるコンピュータプログラム。
  8. 前記コードはさらに、前記プロセッサに、
    前記他のユーザに関連付けられた前記通知キューを前記他のユーザに関連付けられたデバイスに送信することを行わせるよう構成される請求項に記載のコンピュータプログラム。
  9. 前記他のユーザが前記コンテンツアイテムにおいて共同作業していないとの判定に応じて、前記他のユーザに前記通知キューが送信される請求項に記載のコンピュータプログラム。
  10. 前記相互作用イベントは前記第1ユーザが前記コンテンツアイテムを視たことを示す請求項7から9のいずれか一項に記載のコンピュータプログラム。
  11. 前記相互作用イベントは前記第1ユーザが前記コンテンツアイテムを編集したことを示す請求項7から9のいずれか一項に記載のコンピュータプログラム。
  12. 前記相互作用イベントは前記第1ユーザが前記コンテンツアイテムについてコメントしたことを示す請求項7から9のいずれか一項に記載のコンピュータプログラム。
JP2018534593A 2015-12-31 2016-07-06 相互作用情報のユーザ通知 Active JP6774493B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/985,552 2015-12-31
US14/985,552 US9413708B1 (en) 2015-12-31 2015-12-31 User notifications for interaction information
PCT/US2016/041174 WO2017116500A1 (en) 2015-12-31 2016-07-06 User notifications for interaction information

Publications (2)

Publication Number Publication Date
JP2019509538A JP2019509538A (ja) 2019-04-04
JP6774493B2 true JP6774493B2 (ja) 2020-10-21

Family

ID=56497873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018534593A Active JP6774493B2 (ja) 2015-12-31 2016-07-06 相互作用情報のユーザ通知

Country Status (5)

Country Link
US (5) US9413708B1 (ja)
EP (1) EP3398133A1 (ja)
JP (1) JP6774493B2 (ja)
AU (1) AU2016380694B2 (ja)
WO (1) WO2017116500A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US9876872B1 (en) * 2015-04-03 2018-01-23 Symantec Corporation Method or mechanism for self notification avoidance
US10620811B2 (en) * 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US20170288960A1 (en) * 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Cloud Action Center
US10382502B2 (en) * 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
US10725797B2 (en) * 2016-09-05 2020-07-28 Microsoft Technology Licensing, Llc Service-driven dynamic user interface technology
US20180091566A1 (en) * 2016-09-29 2018-03-29 Lenovo (Singapore) Pte. Ltd. Apparatus, method, and program product for content notification
US10713604B2 (en) * 2016-09-30 2020-07-14 Salesforce.Com, Inc. Bi-directional notification framework
US10592587B2 (en) * 2016-09-30 2020-03-17 Quantum Metric, Inc. Techniques for view capture and storage for mobile applications
US10491658B2 (en) * 2016-12-30 2019-11-26 Dropbox, Inc. In-collaborative content item notifications in shared collaborative content items
US10481781B2 (en) * 2016-12-30 2019-11-19 Dropbox, Inc. Presence, access, and seen state for local copies of shared content items
US10614058B2 (en) * 2017-06-20 2020-04-07 Eaddress LLC Methods and systems for electronic content delivery
US10977242B2 (en) * 2017-09-07 2021-04-13 Atlassian Pty Ltd. Systems and methods for managing designated content items
US10606620B2 (en) * 2017-11-16 2020-03-31 International Business Machines Corporation Notification interaction in a touchscreen user interface
CN109886764B (zh) * 2017-12-06 2021-01-26 航天信息股份有限公司 一种基于物料组合的商品去重方法和系统
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
US10693709B2 (en) * 2018-03-28 2020-06-23 Salesforce.Com, Inc. Processing gap events in a change detection management system
JP6726793B2 (ja) * 2018-09-10 2020-07-22 スラック テクノロジーズ, インコーポレイテッド インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション
JP7338200B2 (ja) * 2019-03-29 2023-09-05 村田機械株式会社 保守方法、及び、保守サーバ
US11308430B2 (en) 2019-10-11 2022-04-19 Microsoft Technology Licensing, Llc Keeping track of important tasks
US20210126983A1 (en) * 2019-10-24 2021-04-29 Microsoft Technology Licensing, Llc Status indicators for communicating user activity across digital contexts

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138158A (en) * 1998-04-30 2000-10-24 Phone.Com, Inc. Method and system for pushing and pulling data using wideband and narrowband transport systems
JP2001053785A (ja) * 1999-08-09 2001-02-23 Mitsubishi Materials Corp 情報送信装置、情報保管装置、情報受信装置、及びその使用方法ならびにその記録媒体
US7801777B2 (en) * 2001-01-23 2010-09-21 Oracle International Corporation System and method for managing the development and manufacturing of a beverage
US7539747B2 (en) * 2001-03-14 2009-05-26 Microsoft Corporation Schema-based context service
US20030131142A1 (en) * 2001-03-14 2003-07-10 Horvitz Eric J. Schema-based information preference settings
US7818678B2 (en) 2002-10-31 2010-10-19 Litera Technology Llc Collaborative document development and review system
US8577015B2 (en) * 2005-09-16 2013-11-05 Avaya Inc. Method and apparatus for the automated delivery of notifications to contacts based on predicted work prioritization
US20090024671A1 (en) * 2007-07-19 2009-01-22 Microsoft Corporation Content management system and external data storage system data synchronization
JP5233505B2 (ja) * 2008-03-17 2013-07-10 株式会社リコー 共同作業支援装置、共同作業支援システム、共同作業支援方法、プログラムおよび記録媒体
JP2012165313A (ja) 2011-02-09 2012-08-30 Sony Corp 編集装置及び方法、並びにプログラム
US20130019148A1 (en) 2011-07-14 2013-01-17 Korea Aerospace Research Institute Apparatus and method for updating online document
US9122546B1 (en) * 2011-09-27 2015-09-01 Emc Corporation Rapid processing of event notifications
US8838808B2 (en) * 2011-09-30 2014-09-16 Apple Inc. Asynchronous communication in web applications
US8990307B2 (en) * 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9292833B2 (en) * 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US20150019354A1 (en) * 2013-07-12 2015-01-15 Elwha Llc Automated cooking system that accepts remote orders
US9450904B2 (en) * 2013-07-15 2016-09-20 Dropbox, Inc. Coordinated notifications across multiple channels
WO2015066358A1 (en) * 2013-10-30 2015-05-07 Qwasi, Inc. Systems and methods for delivering messages via smpp bridge for multiple delivery channels and push notification management
US20150142742A1 (en) 2013-11-17 2015-05-21 Zhen-Chao HONG System and method for syncing local directories that enable file access across multiple devices
US9024747B1 (en) * 2013-11-27 2015-05-05 Google Inc. Deferring alert of notifications for a particular time
JP6492401B2 (ja) * 2014-01-31 2019-04-03 三菱電機株式会社 報知装置
US10270871B2 (en) * 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10171579B2 (en) * 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US10110536B2 (en) * 2014-04-21 2018-10-23 Dropbox, Inc. System for managing event notifications to client devices
US11074554B2 (en) * 2016-12-30 2021-07-27 Verizon Patent And Licensing Inc. Cloud-based event calendar synching and notification
US11115368B2 (en) * 2017-05-02 2021-09-07 Life360, Inc. Systems and methods for intelligent application notification management
US10938949B2 (en) * 2018-05-21 2021-03-02 Sap Se Notifications based on queues

Also Published As

Publication number Publication date
JP2019509538A (ja) 2019-04-04
US20180034868A1 (en) 2018-02-01
US20180375912A1 (en) 2018-12-27
US20170195381A1 (en) 2017-07-06
US9826004B2 (en) 2017-11-21
US10637896B2 (en) 2020-04-28
WO2017116500A1 (en) 2017-07-06
US9413708B1 (en) 2016-08-09
US9596276B1 (en) 2017-03-14
US10091259B2 (en) 2018-10-02
AU2016380694A1 (en) 2018-07-19
EP3398133A1 (en) 2018-11-07
AU2016380694B2 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
JP6774493B2 (ja) 相互作用情報のユーザ通知
US11943264B2 (en) Change comments for synchronized content items
US11789590B2 (en) User interface for content sharing client in a desktop file system context
JP6793766B2 (ja) 共有され同期されたコンテンツにアクセスするアプリケーションにおいてプレゼンスを表示すること
US10965746B2 (en) Determining presence in an application accessing shared and synchronized content
JP6785920B2 (ja) ネイティブアプリケーションプレゼンスとインタラクションデータのブラウザ表示
US10887388B2 (en) Managing presence among devices accessing shared and synchronized content
US10223135B2 (en) User interface extender

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201002

R150 Certificate of patent or registration of utility model

Ref document number: 6774493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250