JP2022549983A - コンテキスト付きのコンテンツ・アイテム共有 - Google Patents

コンテキスト付きのコンテンツ・アイテム共有 Download PDF

Info

Publication number
JP2022549983A
JP2022549983A JP2021576729A JP2021576729A JP2022549983A JP 2022549983 A JP2022549983 A JP 2022549983A JP 2021576729 A JP2021576729 A JP 2021576729A JP 2021576729 A JP2021576729 A JP 2021576729A JP 2022549983 A JP2022549983 A JP 2022549983A
Authority
JP
Japan
Prior art keywords
content
shared
sharing
content item
user account
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.)
Granted
Application number
JP2021576729A
Other languages
English (en)
Other versions
JP7374232B2 (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 JP2022549983A publication Critical patent/JP2022549983A/ja
Application granted granted Critical
Publication of JP7374232B2 publication Critical patent/JP7374232B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/101Collaborative creation, e.g. joint development of products or services
    • 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/403Arrangements for multi-party communication, e.g. for conferences
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • 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
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents
    • G06Q50/184Intellectual property management
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本技術は、コンテンツ・アイテムが共有されるメッセージで提供されるコンテキストが、コンテンツ・アイテムにリンクされるデータベース内に保存されるシステムを提供する。さらに、コンテンツ・アイテムを送信しているユーザがコンテンツ・アイテムを共有する場合に、よりよいコンテキストを提供することを助けるために、本技術は、第1ユーザに有用なコンテキストを提供することを奨励する共有ユーザ・インタフェースを提供する。さらに、本技術は、コンテンツ・アイテムが共有されたコンテキストとともに共有コンテンツ・アイテムを提示できる共有インタフェースを提供する。

Description

本技術は一般に、コンテンツ・アイテムを、共有にコンテキストを与えるメッセージとともに共有することに関し、より具体的に、コンテンツ・アイテムを共有するためのインタフェースと、共有のコンテキストをコンテンツ・アイテムの表現に関連付ける共有コンテンツ・アイテムを閲覧するためのインタフェースとに関する。
コンテンツ・アイテムが共有されている理由に対する何らかのコンテキストを提供するメッセージとともにコンテンツ・アイテムを共有するのに有用なサービスがいくつか存在する。例えば、第1ユーザ・アカウントは、コンテンツ・アイテムとメッセージとを含む電子メールをターゲット・ユーザ・アカウントへ送信できる。別の例では、第1ユーザ・アカウントは、コンテンツ・アイテムと、コンテンツ・アイテムが共有されている理由に関するメッセージとを含めることができる(インスタント・メッセージングのような)メッセージング・サービス又は(SLACKやWEBEX TEAMSのような)チーム・ベースのコミュニケーション・サービスを使用してメッセージを送信できる。別の例では、第1ユーザは、ワークフロー・サービスでタスクを割り当て、タスクとともにコンテンツ・アイテムを送信できる。
本技術の上記及び他の利点及び特徴は、添付の図面に説明される特定の実装を参照することによって明らかになるだろう。当業者はこれらの図面が本技術のいくつかの例のみを示し、本技術の範囲をこれらの例に限定しないことを理解するだろう。さらに、当業者は、添付の図面を使用することによって、さらなる特異性及び詳細を伴って記載及び説明されるような本技術の原理を理解するだろう。
本技術のいくつかの態様によるコンテンツ管理システム及びクライアント・デバイスの例を示す。
本技術のいくつかの態様による共有モーダルの例示的な実施形態を示す。
本技術のいくつかの態様による共有インタフェースの例示的な実施形態を示す。
本技術のいくつかの態様による共有インタフェースの例示的な実施形態を示す。
共有コンテキストを用いて共有リクエストを受信するための例示的な方法の実施形態を示す。
共有コンテキストを用いて共有リクエストを提示するための例示的な方法の実施形態を示す。
本技術のある態様を実施するためのシステムの例を示す。
以下、本技術の様々な例について詳細に説明する。特定の実装が説明されているが、これは説明の目的でのみ行われることが理解されるべきである。当業者は、本技術の精神及び範囲から逸脱することなく、他の構成要素及び構成が使用されてもよいことを認識するだろう。
開示された技術は、共有コンテンツ・アイテムに関連するコンテキストを強化できるインタフェースのための、及びコンテンツ・アイテムを共有した当初のコミュニケーションの外部のコンテンツ・アイテムにリンクされる方法で共有コンテンツ・アイテムに関連するコンテキストを記憶できるシステムのための技術分野におけるニーズに対処する。多くのユーザは、様々な共有サービス及びアプリケーションを通じて多くのコンテンツ・アイテムを受信し、当初のコミュニケーションはある程度の量のコンテンツを含む可能性があるが、コンテンツ・アイテムが編集可能な場所に保存されるか、将来検索するために記憶されるとすぐに、コンテキストはコンテンツ・アイテムから分離される。
コンテンツ・アイテムが共有されている理由に対する何らかのコンテキストを提供するメッセージとともにコンテンツ・アイテムを共有するのに有用なサービスがいくつか存在する。例えば、第1ユーザ・アカウントは、コンテンツ・アイテムとメッセージとを含む電子メールをターゲット・ユーザ・アカウントへ送信できる。別の例では、第1ユーザ・アカウントは、コンテンツ・アイテムと、コンテンツ・アイテムが共有されている理由に関するメッセージとを含めることができる(インスタント・メッセージングのような)メッセージング・サービス又は(SLACKやWEBEX TEAMSのような)チーム・ベースのコミュニケーション・サービスを使用してメッセージを送信できる。別の例では、第1ユーザは、ワークフロー・サービスでタスクを割り当て、タスクとともにコンテンツ・アイテムを送信できる。これらの各例では、共有に関連するコンテキストは、共有が発生したコミュニケーションに固定されたままである。
上記システムにおいてコンテンツ・アイテムに関連するコンテキストを閲覧するためには、ターゲット・ユーザが、コンテンツ・アイテムを共有するためにどのサービス又はアプリケーションが使用されたかを覚えておき、コンテンツ・アイテムが共有されたコミュニケーションを見つける必要がある。これは、複数の共有サービスを利用し、多くの異なるソース及びチームから共有されたコンテンツ・アイテムを受信するユーザにとって、実用的な解決策ではない。
本技術は、コンテンツ・アイテムが共有されるメッセージで提供されるコンテキストが、コンテンツ・アイテムにリンクされるデータベース内に保存されるシステムを提供する。コンテンツ・アイテムが閲覧される場合に、データベース内のコンテンツ・アイテムに関連する任意のコンテキストが、コンテンツ・アイテムとともに提示されうる。さらに、コンテンツ・アイテムを送信しているユーザが、コンテンツ・アイテムを共有している場合によりよいコンテキストを提供することを助けるために、本技術は、有用なコンテキストを提供することをユーザに奨励する共有ユーザ・インタフェースを提供する。さらに、本技術は、コンテンツ・アイテムが共有されたコンテキストとともに、すべての共有コンテンツ・アイテムを提示できる共有インタフェースを提供する。
いくつかの実施形態では、開示された技術は、とりわけ、コンテンツ・アイテム同期能力及びコラボレーション機能を有するコンテンツ管理システムの文脈で展開される。例示的なシステム構成100が図1に示されており、図1は、クライアント・デバイス150と対話するコンテンツ管理システム110を示す。
アカウント
コンテンツ管理システム110は、コンテンツ・アイテムをアカウントに関連付けて記憶でき、コンテンツ・アイテムの読み出し、修正、閲覧、及び/又は共有のような様々なコンテンツ・アイテム管理タスクを実行できる。さらに、コンテンツ管理システム110は、アカウントが複数のクライアント・デバイスからコンテンツ・アイテムにアクセスできるようにできる。
コンテンツ管理システム110は、複数のアカウントをサポートする。エンティティ(ユーザ、ユーザのグループ、チーム、会社など)は、コンテンツ管理システムを用いてアカウントを作成でき、アカウント・データベース140にアカウント詳細が記憶されうる。アカウント・データベース140は、登録されたエンティティについてのプロファイル情報を記憶できる。いくつかの場合に、登録されたエンティティについてのプロファイル情報は、ユーザ名及び/又は電子メール・アドレスを含む。アカウント・データベース140は、アカウント・タイプ(例えば、様々な層の無料又は有料アカウント)と、割り当てられた記憶スペースと、使用された記憶スペースと、登録されたコンテンツ管理クライアント・アプリケーション152が常駐するクライアント・デバイス150と、セキュリティ設定と、個人用構成設定となどのようなアカウント管理情報を含みうる。
アカウント・データベース140は、エンティティに関連付けられたアカウントのグループを記憶できる。グループは、グループ・ポリシー及び/又はアクセス制御リストに基づいて権限を有することができ、グループのメンバーは権限を継承できる。例えば、マーケティング・グループは、コンテンツ・アイテムの1つの集合へアクセスでき、エンジニアリング・グループは、コンテンツ・アイテムの別の集合へアクセスできる。管理者グループは、グループの変更、ユーザ・アカウントの変更などを行うことができる。
コンテンツ・アイテム・ストレージ
コンテンツ管理システム110の1つの機能は、コンテンツ・アイテムの記憶であり、これはコンテンツ・ストレージ142に記憶されうる。コンテンツ・アイテムは、文書、コラボレーション・コンテンツ・アイテム、テキスト・ファイル、オーディオ・ファイル、イメージ・ファイル、ビデオ・ファイル、ウェブ・ページ、実行可能ファイル、バイナリ・ファイルなどのような任意のデジタル・データでありうる。コンテンツ・アイテムは、フォルダ、zipファイル、プレイリスト、アルバムなどのような、様々な挙動とともにコンテンツ・アイテムをグループ化するためのコレクション又はその他のメカニズムも含みうる。コレクションは、フォルダ、又は共通の属性によって関連付けられた又はグループ化された複数のコンテンツ・アイテムを指しうる。いくつかの実施形態では、コンテンツ・ストレージ142は、特定の機能を処理するために、他のタイプのストレージ又はデータベースと組み合わされる。コンテンツ・ストレージ142は、コンテンツ・アイテムを記憶でき、一方、コンテンツ・アイテムに関するメタデータは、メタデータ・データベース146に記憶されうる。同様に、コンテンツ・アイテムがコンテンツ・ストレージ142に格納されている場所に関するデータがコンテンツ・ディレクトリ144に記憶されうる。さらに、変更、アクセスなどに関するデータがサーバ・ファイル・ジャーナル148に記憶されうる。コンテンツ・ストレージ142、コンテンツ・ディレクトリ144、サーバ・ファイル・ジャーナル148、及びメタデータ・データベース146のような様々なストレージ/データベースのそれぞれは、複数のこのようなストレージ又はデータベースで構成され、多くのデバイス及び場所に分散されうる。その他の構成も可能である。例えば、コンテンツ・ストレージ142、コンテンツ・ディレクトリ144、サーバ・ファイル・ジャーナル148、及び/又はメタデータ・データベース146からのデータは、1つ以上のコンテンツ・ストレージ又はデータベースに結合されてもよく、又は追加のコンテンツ・ストレージ又はデータベースにさらにセグメント化されてもよい。よって、コンテンツ管理システム110は、図1に示されるものよりも多い又は少ないストレージ及び/又はデータベースを含んでもよい。
いくつかの実施形態では、コンテンツ・ストレージ142は、少なくとも1つのコンテンツ記憶サービス116に関連付けられており、これはコンテンツ・アイテムの記憶を管理するためのソフトウェア又は他のプロセッサ実行可能命令を含み、ストレージの管理は、ストレージのためにコンテンツ・アイテムを受信することと、ストレージのためにコンテンツ・アイテムを準備することと、コンテンツ・アイテムのための記憶場所を選択することと、ストレージからコンテンツ・アイテムを読み出すこととなどを含むが、これらに限定されない。いくつかの実施形態では、コンテンツ記憶サービス116は、コンテンツ・アイテムを、コンテンツ・ストレージ142に記憶するために、より小さいチャンクに分割できる。コンテンツ・アイテムを構成する各チャンクの場所は、コンテンツ・ディレクトリ144に記録されうる。コンテンツ・ディレクトリ144は、コンテンツ・ストレージ142に記憶された各コンテンツ・アイテムについてのコンテンツ・エントリを含みうる。コンテンツ・エントリは、コンテンツ・アイテムを識別する一意のIDに関連付けられうる。
いくつかの実施形態において、コンテンツ・ディレクトリ144内のコンテンツ・アイテムを識別する一意のIDは、決定論的ハッシュ関数から導出されうる。コンテンツ・アイテムについての一意のIDを導出するこの方法は、決定論的ハッシュ関数が同じコンテンツ・アイテムのすべてのコピーについて同じ識別子を出力するが、異なるコンテンツ・アイテムについて異なる識別子を出力するため、コンテンツ・アイテムの重複がそのようなものとして認識されることを保証できる。この方法論を使用して、コンテンツ記憶サービス116は、各コンテンツ・アイテムについて一意のIDを出力できる。
コンテンツ記憶サービス116は、メタデータ・データベース146内のコンテンツ・アイテムについてのコンテンツ・パスを指定又は記録することもできる。コンテンツ・パスは、コンテンツ・アイテムの名前、及び/又はコンテンツ・アイテムに関連付けられたフォルダ階層を含みうる。例えば、コンテンツ・パスは、コンテンツ・アイテムがクライアント・デバイスのローカル・ファイル・システムに記憶されているフォルダ又はフォルダのパスを含みうる。コンテンツ・アイテムはコンテンツ・ストレージ142にブロックで記憶され、ツリー状のディレクトリ構造の下に記憶されなくてもよいが、このようなディレクトリ構造はユーザにとって快適なナビゲーション構造である。コンテンツ記憶サービス116は、コンテンツ・アイテムについてのコンテンツ・パスを規定又は記録でき、ディレクトリ構造の「ルート」ノードは、各アカウントについての名前空間でありうる。名前空間内に、アカウント及び/又はコンテンツ記憶サービス116のユーザによって規定されるディレクトリ構造が存在しうる。メタデータ・データベース146は、コンテンツ・エントリの一部として、各コンテンツ・アイテムについてのコンテンツ・パスを記憶できる。
いくつかの実施形態では、名前空間は、ルート・ノード内に格納されているかのように、ディレクトリ構造内にネストされた追加の名前空間を含みうる。これは、アカウントが共有コレクションにアクセスできる場合に生じうる。共有コレクションは、コンテンツ管理システム110内で独自の名前空間が割り当てられうる。いくつかの共有コレクションは実際に共有コレクションについてのルート・ノードであるが、これらはディレクトリ構造内のアカウント名前空間の下位に配置され、アカウントについてのフォルダ内にフォルダとして表示されうる。上述したように、ディレクトリ構造は、ユーザにとって快適なナビゲーション構造にすぎないが、コンテンツ・ストレージ142内のコンテンツ・アイテムの記憶場所とは相関しない。
アカウントがコンテンツ・アイテムを閲覧するディレクトリ構造は、コンテンツ管理システム110における記憶場所と相関しないが、ディレクトリ構造は、クライアント・デバイス150によって使用されるファイル・システムに依存して、クライアント・デバイス150上の記憶場所と相関しうる。
上述したように、コンテンツ・ディレクトリ144内のコンテンツ・エントリは、コンテンツ・アイテムを構成する各チャンクの場所も含みうる。より具体的には、コンテンツ・エントリは、コンテンツ・アイテムを構成するチャンクのコンテンツ・ストレージ142内の場所を識別するコンテンツ・ポインタを含みうる。
コンテンツ・パス及びコンテンツ・ポインタに加えて、コンテンツ・ディレクトリ144内のコンテンツ・エントリは、コンテンツ・アイテムへアクセスできるユーザ・アカウントを識別するユーザ・アカウント識別子及び/又はコンテンツ・エントリが属するコンテンツ・アイテム及び/又は名前空間へアクセスできるグループを識別するグループ識別子も含みうる。
コンテンツ記憶サービス116は、コンテンツ・アイテム又はコンテンツ・アイテムのバージョンを構成する重複コンテンツ・アイテム又は重複ブロックを識別することによって、必要とされる記憶スペースの量を減らすことができる。複数のコピーを記憶する代わりに、コンテンツ・ストレージ142は、コンテンツ・アイテムの単一のコピー又はコンテンツ・アイテムのブロックを記憶でき、コンテンツ・ディレクトリ144は、その複製を単一のコピーにリンクするためのポインタ又は他のメカニズムを含みうる。
コンテンツ記憶サービス116は、コンテンツ・アイテム、コンテンツ・アイテム・タイプ、フォルダ、ファイル・パス、及び/又はコンテンツ・アイテムと様々なアカウント、コレクション、又はグループとの関係を記述するメタデータを、コンテンツ・アイテムの一意のIDに関連付けてメタデータ・データベース146に記憶することもできる。
コンテンツ記憶サービス116は、変更、アクセス等に関するデータのログをサーバ・ファイル・ジャーナル148に記憶することもできる。サーバ・ファイル・ジャーナル148は、タイム・スタンプ又はバージョン番号及び任意の他の関連データとともに、コンテンツ・アイテムの一意のIDと、変更又はアクセス・アクションの記述とを含みうる。サーバ・ファイル・ジャーナル148は、変更又はコンテンツ・アイテム・アクセスの影響を受けるブロックへのポインタも含みうる。コンテンツ記憶サービスは、コンテンツ・アイテムに対する変更、コンテンツ・アイテムの種々のバージョン(派生バージョン・ツリーを含む)、及びサーバ・ファイル・ジャーナル148から取得されうる変更履歴を追跡するコンテンツ・アイテム・バージョン・コントロールを使用することによって、動作を取り消す機能を提供できる。
コンテンツ・アイテムの同期
コンテンツ管理システム110の別の特性は、コンテンツ・アイテムと少なくとも1つのクライアント・デバイス150との同期である。クライアント・デバイスは、種々の形態をとることができ、種々の能力を有しうる。例えば、クライアント・デバイス150は、常駐する複数のアプリケーションによってアクセス可能なローカル・ファイル・システムを有するコンピューティング・デバイスである。クライアント・デバイス150はコンピューティング・デバイスであり、コンテンツ・アイテムは特定のアプリケーションにのみアクセス可能であるか、又は特定のアプリケーションによって与えられる権限によってのみアクセス可能であり、コンテンツ・アイテムは、典型的にはアプリケーション固有の空間又はクラウドのいずれかに記憶される。クライアント・デバイス150は、ウェブ・ブラウザを介してコンテンツ管理システム110にアクセスし、ウェブ・インタフェースを介してコンテンツ・アイテムにアクセスする任意のクライアント・デバイスである。例示的なクライアント・デバイス150、150、及び150は、ラップトップ、モバイル・デバイス、又はウェブ・ブラウザのようなフォーム・ファクタで描かれているが、それらの記述はこれらの例示的なフォーム・ファクタのデバイスに限定されないことが理解されるべきである。例えば、クライアント150のようなモバイル・デバイスは、常駐する複数のアプリケーションによってアクセス可能なローカル・ファイル・システムを有してもよく、又はクライアント150は、ウェブ・ブラウザを介してコンテンツ管理システム110にアクセスしてもよい。したがって、フォーム・ファクタは、クライアント150の能力を考慮する場合に限定的であると考えられるべきではない。クライアント・デバイス150に関して本書で説明される1つ以上の機能は、デバイスの特定の能力に依存してすべてのクライアント・デバイスに利用可能であってもよし、そうでなくてもよく、ファイル・アクセス・モデルはこのような能力の1つである。
多くの実施形態では、クライアント・デバイスは、コンテンツ管理システム110のアカウントに関連付けられているが、いくつかの実施形態では、クライアント・デバイスは、共有リンクを使用してコンテンツにアクセスでき、アカウントを必要としない。
上述したように、いくつかのクライアント・デバイスは、ウェブ・ブラウザを使用してコンテンツ管理システム110にアクセスできる。しかし、クライアント・デバイスは、クライアント・デバイス150上に記憶され実行されているクライアント・アプリケーション152を使用してコンテンツ管理システム110にアクセスすることもできる。クライアント・アプリケーション152は、クライアント同期サービス156を含みうる。
クライアント同期サービス156は、クライアント・デバイス150とコンテンツ管理システム110との間でコンテンツ・アイテムへの変更を同期するために、サーバ同期サービス112と通信できる。
クライアント・デバイス150は、クライアント同期サービス156を介してコンテンツ管理システム110とコンテンツを同期できる。同期は、プラットフォーム非依存でありうる。すなわち、コンテンツは、様々なタイプ、能力、オペレーティング・システムなどの複数のクライアント・デバイスにわたって同期されうる。クライアント同期サービス156は、任意の変更(新しい、削除された、変更された、コピーされた、又は移動されたコンテンツ・アイテム)を、クライアント・デバイス150のファイル・システムの指定された場所にあるコンテンツ・アイテムに同期できる。
コンテンツ・アイテムは、クライアント・デバイス150からコンテンツ管理システム110に同期でき、その逆も可能である。クライアント・デバイス150からコンテンツ管理システム110への同期であるいくつかの実施形態では、ユーザは、クライアント・デバイス150のファイル・システムからコンテンツ・アイテムを直接操作でき、一方、クライアント同期サービス156は、監視対象フォルダ内のファイルに対する変更について、クライアント・デバイス150上のディレクトリを監視できる。
クライアント同期サービス156が監視するディレクトリ内のコンテンツの書き込み、移動、コピー、又は削除をクライアント同期サービス156が検出すると、クライアント同期サービス156は、変更をコンテンツ管理記憶サービス116に同期できる。いくつかの実施形態において、クライアント同期サービス156は、コンテンツ・アイテムをブロックに分割したり、一意の識別子を生成するためにコンテンツ・アイテムをハッシュしてしたりするなどのような、上記で取り上げた機能を含むコンテンツ管理記憶サービス116のいくつかの機能を実行できる。クライアント同期サービス156は、クライアント・ストレージ・インデックス164内のコンテンツをインデックス付けし、その結果をストレージ・インデックス164に保存できる。インデックス付けは、パスに加えて、一意のサーバ識別子、及び各コンテンツ・アイテムについての一意のクライアント識別子を記憶することを含みうる。いくつかの実施形態では、クライアント同期サービス156は、サーバ同期サービス112から一意のサーバ識別子を学習し、クライアント・デバイス150のオペレーティング・システムから一意のクライアント識別子を学習する。
クライアント同期サービス156は、クライアント・ストレージ内のコンテンツの少なくとも一部と、コンテンツ管理システム110上のユーザ・アカウントに関連するコンテンツとの同期を容易するために、ストレージ・インデックス164を使用できる。例えば、クライアント同期サービス156は、ストレージ・インデックス164をコンテンツ管理システム110と比較し、クライアント・ストレージ上のコンテンツとコンテンツ管理システム110上のユーザ・アカウントに関連するコンテンツとの間の差異を検出できる。その後、クライアント同期サービス156は、クライアント・ストレージ上のコンテンツを適宜アップロード、ダウンロード、変更、及び削除することによって、差異の調整を試みることができる。コンテンツ記憶サービス116は、コンテンツ・アイテムについて変更された又は新しいブロックを記憶でき、サーバ・ファイル・ジャーナル148、メタデータ・データベース146、コンテンツ・ディレクトリ144、コンテンツ・ストレージ142、アカウント・データベース140などを適宜更新できる。
コンテンツ管理システム110からクライアント・デバイス150に同期する場合に、サーバ・ファイル・ジャーナル148に記録されたコンテンツ・アイテムのマウント、変更、追加、削除、移動は、通知サービス117を使用してクライアント・デバイス150へ送信される通知を引き起こせる。クライアント・デバイス150に変更が通知された場合に、クライアント・デバイスに知られている最後の同期ポイント以降、サーバ・ファイル・ジャーナル148にリストされた要求が変化する。コンテンツ管理システム110と同期していないとクライアント・デバイス150が判定した場合に、クライアント同期サービス156は、変更を含むコンテンツ・アイテム・ブロックを要求し、変更されたコンテンツ・アイテムの自身のローカル・コピーを更新する。
いくつかの実施形態では、ストレージ・インデックス164は、ツリー・データ構造を記憶し、一方のツリーはサーバ同期サービス112に従ってディレクトリの最新の表現を反映し、別のツリーはクライアント同期サービス156に従ってディレクトリの最新の表現を反映する。クライアント同期サービスは、サーバ同期サービス112にデータを要求するか、又はクライアント・デバイス150上の変更をコンテンツ管理システム110にコミットすることによって、ツリー構造が一致することを保証するように動作できる。
クライアント・デバイス150は、ネットワーク・コネクションを利用できない場合がある。このシナリオでは、クライアント同期サービス156は、コンテンツ・アイテムの変更についてリンクされたコレクションを監視でき、ネットワーク・コネクションが利用可能な場合にコンテンツ管理システム110への後の同期のためにそれらの変更を待ち行列に入れることができる。同様に、ユーザは、コンテンツ管理システム110との同期を手動で開始、停止、一時停止、又は再開できる。
クライアント同期サービス156は、コンテンツ管理システム110上の特定のユーザ・アカウントに関連するすべてのコンテンツを同期できる。これに代えて、クライアント同期サービス156は、コンテンツ管理システム110上の特定のユーザ・アカウントに関連する全コンテンツのコンテンツの一部を選択的に同期できる。コンテンツの一部のみを選択的に同期することは、クライアント・デバイス150上のスペースを保ち、帯域幅を節約できる。
いくつかの実施形態では、クライアント同期サービス156は、特定のユーザ・アカウントに関連するコンテンツの一部を選択的に記憶し、コンテンツの残りの部分のために、プレースホルダ・コンテンツ・アイテムをクライアント・ストレージに記憶する。例えば、クライアント同期サービス156は、コンテンツ管理システム110上に、自身の個別の完全なコンテンツ・アイテムのファイル名、パス、拡張子、メタデータが同一であるが、完全なコンテンツ・アイテムのデータが欠落しているプレースホルダ・コンテンツ・アイテムを記憶できる。プレースホルダ・コンテンツ・アイテムは、数バイトであるか小さいサイズでありうるが、個別の完全なコンテンツ・アイテムは非常に大きいものでありうる。クライアント・デバイス150がコンテンツ・アイテムにアクセスしようとした後に、クライアント同期サービス156は、コンテンツ管理システム110からコンテンツ・アイテムのデータを読み出し、完全なコンテンツ・アイテムを、アクセスしているクライアント・デバイス150に提供できる。このアプローチは、コンテンツ管理システム110上のユーザのコンテンツへの完全なアクセスを依然として提供しながら、かなりのスペース及び帯域幅の節約を提供できる。
コラボレーション特性
コンテンツ管理システム110の別の特性は、ユーザ間のコラボレーションを容易にすることである。コラボレーション特性は、コンテンツ・アイテムの共有、コンテンツ・アイテムに関するコメント付け、コンテンツ・アイテムに関する共同作業、インスタント・メッセージング、コンテンツ・アイテムに関するプレゼンス及び既読状態情報の提供などを含む。
共有
コンテンツ管理システム110は、共有サービス128を介してコンテンツの共有を管理できる。コンテンツへのリンクを提供することによるコンテンツの共有は、コンテンツ管理システム110とのネットワーク通信において、任意のコンピューティング・デバイスからコンテンツ・アイテムにアクセス可能にすることを含みうる。しかし、いくつかの実施形態では、リンクは、コンテンツ管理システム110及びアクセス制御リスト145によって行使されるアクセス制限に関連付けられうる。コンテンツの共有はまた、各ユーザ・アカウントがコンテンツ・アイテムにアクセスできるように、(コンテンツ・アイテムに関連付けられた元のユーザ・アカウントに加えて、)少なくとも1つの追加のユーザ・アカウントとコンテンツ管理システム110内のコンテンツを共有するために、共有サービス128を使用してコンテンツをリンクすることを含みうる。追加のユーザ・アカウントは、コンテンツを受け入れることによってコンテンツにアクセスできるようになり、これはその後、ウェブ・インタフェース・サービス124を介して、又はクライアント・デバイス150上のアカウントに関連付けられたディレクトリ構造内から直接アクセス可能になりうる。共有は、プラットフォーム非依存の方法で実行されうる。すなわち、コンテンツは、様々なタイプ、能力、オペレーティング・システムなどの複数のクライアント・デバイス150にわたって共有されうる。コンテンツは、様々なタイプのユーザ・アカウント間でも共有されうる。
コンテンツ管理システム110内でコンテンツ・アイテムを共有するために、共有サービス128は、ユーザ・アカウント識別子又は複数のユーザ・アカウント識別子を、コンテンツ・アイテムに関連付けられたアクセス制御リスト・データベース145内のコンテンツ・エントリに追加でき、これにより、追加されたユーザ・アカウントにコンテンツ・アイテムへのアクセス権を付与できる。共有サービス128は、ユーザ・アカウントのコンテンツ・アイテムへのアクセスを制限するために、コンテンツ・エントリからユーザ・アカウント識別子を削除することもできる。共有サービス128は、コンテンツ・アイテム識別子、コンテンツ・アイテムへのアクセスが与えられたユーザ・アカウント識別子、及びアクセス制御リスト・データベース145内のアクセスレベルを記録できる。例えば、いくつかの実施形態では、単一のコンテンツ・エントリに関連するユーザ・アカウント識別子は、関連するコンテンツ・アイテムに関して、個別のユーザ・アカウント識別子について異なる権限を指定できる。
コンテンツ管理システム110の外部にコンテンツ・アイテムを共有するために、共有サービス128は、任意のウェブ・ブラウザが認証なしでコンテンツ管理システム110内のコンテンツ・アイテム又はコレクションにアクセスすることを可能にする、統一リソース・ロケータ(URL)のようなカスタム・ネットワーク・アドレスを生成できる。これを実現するために、共有サービス128は、生成されたURL内にコンテンツ識別データを含めることができ、これは、後に、要求されたコンテンツ・アイテムを適切に識別し、それを返すために使用されうる。例えば、共有サービス128は、アカウント識別子及びコンテンツ・パス、又は生成されたURL内のコンテンツ・アイテム識別コードを含みうる。URLを選択すると、URLに含まれるコンテンツ識別データがコンテンツ管理システム110に送信されてもよく、コンテンツ管理システム110は、適切なコンテンツ・アイテムを識別し、コンテンツ・アイテムを返すために、受信されたコンテンツ識別データを使用できる。
URLの生成に加えて、共有サービス128は、コンテンツ・アイテムへのURLが作成されたことをアクセス制御リスト・データベース145に記録するようにも構成されうる。いくつかの実施形態では、コンテンツ・アイテムに関連付けられたコンテンツ・エントリは、コンテンツ・アイテムへのURLが作成されたかどうかを示すURLフラグを含みうる。例えば、URLフラグは、コンテンツ・アイテムへのURLが作成されていないことを示すために、最初は0又は偽に設定されたブール値でありうる。共有サービス128は、コンテンツ・アイテムへのURLを生成した後に、フラグの値を1又は真に変更できる。
いくつかの実施形態では、共有サービス128は、コンテンツ・アイテムについてのURLに権限の集合を関連付けることができる。例えば、ユーザがURLを介してコンテンツ・アイテムにアクセスしようとするならば、共有サービス128は、コンテンツ・アイテムについての制限された権限の集合を提供できる。制限された権限の例は、ユーザがコンテンツ・アイテムをダウンロードできない、コンテンツ・アイテムを保存できない、コンテンツ・アイテムをコピーできない、コンテンツ・アイテムを変更できないなどの制限を含む。いくつかの実施形態では、制限された権限は、コンテンツ・アイテムが指定されたドメインから、すなわち、企業ネットワーク・ドメイン内から、又は指定されたドメインに関連付けられたアカウント、例えば、企業アカウントに関連付けられたアカウント(例えば、@acme.com)によってのみアクセスされることを許可する制限を含む。
いくつかの実施形態では、共有サービス128は、生成されたURLを非アクティブ化するようにも構成されうる。例えば、各コンテンツ・エントリは、生成されたURLからの要求に応答してコンテンツを返すべきかどうかを示すURLアクティブ・フラグをも含みうる。例えば、共有サービス128は、URLアクティブ・フラグが1又は真に設定されている場合にのみ、生成されたリンクによって要求されたコンテンツ・アイテムを返すことができる。このように、URLアクティブ・フラグの値を変更することによって、URLが生成されたコンテンツ・アイテムへのアクセスが容易に制限されうる。これにより、ユーザはコンテンツ・アイテムを移動したり、生成されたURLを削除したりすることなく、共有コンテンツ・アイテムへのアクセスを制限できる。同様に、共有サービス128は、URLアクティブ・フラグの値を1又は真に再び変更することによって、URLを再アクティブ化できる。よって、ユーザは、新しいURLを生成する必要なく、コンテンツ・アイテムへのアクセスを簡単に復元できる。
いくつかの実施形態では、コンテンツ管理システム110は、コンテンツ・アイテムをアップロードするためのURLを指定できる。例えば、ユーザ・アカウントを有する第1ユーザがこのようなURLを要求でき、投稿ユーザにURLを提供でき、投稿ユーザがURLを使用して第1ユーザのユーザ・アカウントにコンテンツ・アイテムをアップロードできる。
チーム・サービス
いくつかの実施形態では、コンテンツ管理システム110は、チーム・サービス130を含む。チーム・サービス130は、ユーザ・アカウントの規定されたチームを作成及び管理するための機能を提供できる。チームは、サブチーム(例えば、ビジネス単位、又はプロジェクト・チームなど)を有する会社について作成されてもよく、チーム及びサブチームに割り当てられたユーザ・アカウント、又はチームは、ユーザ・アカウントの任意の規定されたグループについて作成されうる。チーム・サービス130は、チームのための共通の共有スペース、プライベート・ユーザ・アカウント・フォルダ、及びアクセス制限された共有フォルダを提供できる。チーム・サービスは、管理者がチーム内のコレクション及びコンテンツ・アイテムを管理するための管理インタフェースを提供したり、チームに関連付けられているユーザ・アカウントを管理したりすることもできる。
認可サービス
いくつかの実施形態では、コンテンツ管理システム110は、認可サービス132を含む。認可サービス132は、名前空間にアクセスしようとするユーザ・アカウントが名前空間にアクセスするための適切な権利を有することを保証する。認可サービス132は、名前空間にアクセスすることの要求に続いてクライアント・アプリケーション152からトークンを受信でき、ユーザ・アカウントに許可された能力を返すことができる。複数レベルのアクセスを有するユーザ・アカウント(例えば、ユーザ権限及び管理者権限を有するユーザ・アカウント)について、認可サービス132は、管理者による意図しないアクションを回避するために、明示的な権限昇格を要求することもできる。
プレゼンス及び既読状態
いくつかの実施形態では、コンテンツ管理システムは、コンテンツ・アイテムが共有されているユーザがコンテンツ・アイテムとどのように対話しているか、又は対話してきたかについての情報を提供できる。いくつかの実施形態では、コンテンツ管理システム110は、コンテンツ・アイテムが共有されているユーザが現在コンテンツ・アイテムを閲覧していることを報告できる。例えば、クライアント・コラボレーション・サービス160は、クライアント・デバイス150がコンテンツ・アイテムにアクセスしている場合に、通知サービス117に通知できる。その後、通知サービス117は、コンテンツ・アイテムに関して、クライアント・デバイス150のユーザの存在を、同じコンテンツ・アイテムにアクセスできる他のユーザのすべてのクライアント・デバイスに通知できる。
いくつかの実施形態では、コンテンツ管理システム110は、共有コンテンツ・アイテムとのユーザ対話の履歴を報告できる。コラボレーション・サービス126は、ユーザがコンテンツ・アイテムを保存したこと、ユーザがコンテンツ・アイテムをまだ閲覧していないことなどを判定するために、メタデータ・データベース146及びサーバ・ファイル・ジャーナル148のようなデータ・ソースに問い合わせることができ、誰がコンテンツ・アイテムを現在閲覧しているか又は閲覧したか、又は現在変更しているか又は変更したかを知ることができるようにできるように、通知サービス117を使用してこのステータス情報を他のユーザに広めることができる。
コラボレーション・サービス126は、コンテンツ・アイテムがコメント機能をネイティブにサポートしない場合であっても、コンテンツに関連するコメントを促進にできる。このようなコメントは、メタデータ・データベース146に記憶されうる。
コラボレーション・サービス126は、ユーザに対して通知の起点となり、通知を送信できる。例えば、ユーザは、コメントの中で別のユーザにメンションでき、コラボレーション・サービス126は、コメントでメンションされたことの通知を当該ユーザへ送信できる。コンテンツ・アイテムの削除、コンテンツ・アイテムの共有などを含む、他の様々なコンテンツ・アイテム・イベントが通知を引き起こせる。
コラボレーション・サービス126は、ユーザがインスタント・メッセージ、音声通話、電子メール等を送受信できるメッセージング・プラットフォームを提供できる。
コラボレーション・コンテンツ・アイテム
いくつかの実施形態では、コンテンツ管理サービスはまた、ユーザがコラボレーション・コンテンツ・アイテムを同時に作成し、コラボレーション・コンテンツ・アイテム内でコメントを付け、コラボレーション・コンテンツ・アイテム内でタスクを管理できる、インタラクティブ・コンテンツ・アイテム・コラボレーション・プラットフォームを提供できるコラボレーション文書サービス134を含みうる。コラボレーション・コンテンツ・アイテムは、ユーザがコラボレーション・コンテンツ・アイテム・エディタを使用して作成及び編集できるファイルであってもよく、コラボレーション・コンテンツ・アイテム要素を含みうる。コラボレーション・コンテンツ・アイテム要素は、コラボレーション・コンテンツ・アイテム識別子、1つ以上の作成者識別子、コラボレーション・コンテンツ・アイテム・テキスト、コラボレーション・コンテンツ・アイテム属性、インタラクション情報、コメント、共有ユーザなどを含んでもよい。コラボレーション・コンテンツ・アイテム要素は、データベース・エンティティとして記憶されてもよく、これにより、コラボレーション・コンテンツ・アイテムの検索及び読出しが可能になる。複数のユーザは、コラボレーション・コンテンツ・アイテムに同時に、又は異なる時刻にアクセス、閲覧、編集、及びコラボレーションしてもよい。いくつかの実施形態では、これは2人のユーザがウェブ・インタフェースを通じてコンテンツ・アイテムにアクセスすることを要求することによって管理されてもよく、そこでは同時にコンテンツ・アイテムの同じコピー上で作業できる。
コラボレーション・コンパニオン・インタフェース
いくつかの実施形態において、クライアント・コラボレーション・サービス160は、クライアント・デバイス150上に提示されているコンテンツ・アイテムに関連する情報を表示する目的のために、ネイティブ・アプリケーション・コンパニオン・インタフェースを提供できる。クライアント・デバイス150上に記憶され実行されるネイティブ・アプリケーションによってコンテンツ・アイテムがアクセスされる実施形態では、コンテンツ・アイテムがコンテンツ・アプリケーション152によって管理されるように、コンテンツ・アイテムがクライアント・デバイス150のファイル・システムの指定された場所にあり、ネイティブ・アプリケーションは、上記のアドレス指定されたコラボレーション・データを表示するいかなるネイティブな方法も提供しないかもしれない。このような実施形態では、クライアント・コラボレーション・サービス160は、ユーザがコンテンツ・アイテムを開いたことを検出でき、コラボレーション・データのようなコンテンツ・アイテムについての追加情報を有するオーバレイに提供できる。例えば、追加情報は、コンテンツ・アイテムについてのコメント、コンテンツ・アイテムのステータス、以前に又は現在コンテンツ・アイテムを閲覧している他のユーザの共有を含みうる。このようなオーバレイは、別のユーザが現在コンテンツ・アイテムを編集しているために変更が失われる可能性があることをユーザに警告できる。
いくつかの実施形態では、上述のサービス又はストレージ/データベースのうちの1つ以上は、パブリック又はプライベートなアプリケーション・プログラミング・インタフェースを使用してアクセスされうる。
特定のソフトウェア・アプリケーションは、ユーザに代わってAPIを介してコンテンツ・ストレージ142にアクセスできる。例えば、クライアント・デバイス150上で実行されるアプリケーションのようなソフトウェア・パッケージは、ユーザが認証クレデンシャルを提供する場合に、コンテンツの読み出し、書き込み、作成、削除、共有、又はその他の操作を行うために、コンテンツ管理システム110に対して直接にAPI呼び出しをプログラム的に行いうる。
ユーザは、ウェブ・インタフェース・サービス124によって生成され提供されるウェブ・インタフェースを介して、ユーザ・アカウントに記憶されたコンテンツを閲覧又は操作できる。例えば、ユーザは、コンテンツ管理システム110によって提供されるウェブアドレスまでウェブ・ブラウザ内をナビゲートできる。コンテンツ・アイテムの新しいバージョンのアップロードのような、ウェブ・インタフェースを介して行われたコンテンツ・ストレージ142内のコンテンツへの変更又は更新は、ユーザのアカウントに関連付けられた他のクライアント・デバイスに伝搬して戻されうる。例えば、それぞれが自身のクライアント・ソフトウェアを有する複数のクライアント・デバイスは、単一のアカウントに関連付けられてもよく、アカウント内のコンテンツ・アイテムは、複数のクライアント・デバイス間で同期されてもよい。
クライアント・デバイス150は、ユーザに代わってコンテンツ管理システム110に接続できる。ユーザは、例えばクライアント・デバイス150がデスクトップ又はラップトップ・コンピュータ、電話、テレビ、モノのインターネット・デバイスなどである場合に、クライアント・デバイス150と直接対話できる。これに代えて又はこれに加えて、クライアント・デバイス150は、例えばクライアント・デバイス150がサーバである場合に、ユーザがクライアント・デバイス150に物理的にアクセスすることなく、ユーザに代わって動作できる。
クライアント・デバイス150のいくつかの特性は、クライアント・デバイス150にインストールされたアプリケーションによって可能にされる。いくつかの実施形態では、アプリケーションは、コンテンツ管理システムに固有の構成要素を含みうる。例えば、コンテンツ管理システムに固有の構成要素は、スタンドアロン・アプリケーション152、1つ以上のアプリケーション・プラグイン、及び/又はブラウザ拡張であってもよい。しかし、ユーザは、クライアント・デバイス150上に存在し、コンテンツ管理システム110と通信するように構成されているウェブ・ブラウザのようなサードパーティ・アプリケーションを介して、コンテンツ管理システム110と対話することもできる。様々な実装において、クライアント側アプリケーション152は、ユーザがコンテンツ管理システム110と対話するためのユーザ・インタフェース(UI)を提示できる。例えば、ユーザは、ファイル・システムに統合されたファイル・システム・エクスプローラを介して、又はウェブ・ウェブ・ブラウザ・アプリケーションを使用して表示されたウェブ・ページを介して、コンテンツ管理システム110と対話できる。
いくつかの実施形態では、クライアント・アプリケーション152は、コンテンツ管理システム110の複数のアカウントについてのコンテンツを管理し、同期するように構成されうる。このような実施形態では、クライアント・アプリケーション152は、複数のアカウントにログインしたままであり、複数のアカウントに対して通常のサービスを提供できる。いくつかの実施形態では、各アカウントは、ファイル・システム内のフォルダとして現れることができ、当該フォルダ内のすべてのコンテンツ・アイテムはコンテンツ管理システム110と同期されうる。いくつかの実施形態では、クライアント・アプリケーション152は、複数のアカウントのうちの1つをプライマリ・アカウント又はデフォルト・アカウントに選択するセレクタを含みうる。
特定の構成要素を有するコンテンツ管理システム110が提示されているが、当業者であれば、システム100のアーキテクチャ構成は単に1つの可能な構成であり、より多い又はより少ない構成要素を有する他の構成も可能であることを理解されたい。さらに、サービスは、より多い又はより少ない機能を有してもよく、別のサービスと一緒に記載された機能を含みさえしてもよい。さらに、実施形態に関して本書で説明される特徴は、別の実施形態に関して説明される特徴と組み合わされうる。
いくつかの実施形態では、コンテンツ管理システム110は、追加の機能を実行するために、1つ以上のサードパーティ・サービス190と対話できる。
特定の構成要素を有する100が提示されているが、当業者であれば、システム100のアーキテクチャ構成は単に1つの可能な構成であり、より多い又はより少ない構成要素を有する他の構成も可能であることを理解されたい。
図2は、例示的な共有モーダル200を説明する。共有モーダルは、ウェブ・インタフェース・サービス124を通じてウェブ・ブラウザで、又はクライアント・アプリケーション152を通じて、共有サービス128によって提示されうる。共有モーダル200は、有用なコンテキスト情報を提供することを、コンテンツ・アイテムを共有している第1ユーザに奨励するように設計されたユーザ・インタフェースである。
共有モーダル200は、共有されるべきコンテンツ・アイテムを識別するためのコンテンツ・アイテム・フィールド202を含みうる。コンテンツ・アイテムは、コンテンツ・アイテム・フィールド202において共有するためのコンテンツ・アイテムが選択された場合に、共有モーダル200において識別されるようになりうる。
共有モーダル200はまた、コンテンツ・アイテム202を共有する少なくとも1つのターゲット・ユーザ・アカウントを識別するための受信者フィールド204を含む。いくつかの実施形態では、複数のターゲット・ユーザ・アカウントを表す1つ以上の個々のユーザ・アカウント及び/又はチーム名が、受信者フィールド204で識別されうる。いくつかの実施形態では、第1ユーザが受信者フィールド204に受信者名をタイプすると、共有モーダル200は、タイプされた受信者名を含むチームを含む、タイプされた文字が受信者名に一致する連絡先を示す動的ピックリスト206を提供できる。例えば、図2に説明されるように、選択可能なオプション「ジェイソン・デッセン」及び「オフィス移転」を含むピックリスト206が示されている。オプション「ジェイソン・デッセン」は、受信者フィールド204にこれまでタイプされた文字と一致し、一方、名前「ジェイソン・デッセン」を有するユーザ・アカウントがチーム「オフィス移転」に含まれているため、オプション「オフィス移転」が提供される。
共有モーダル200はまた、選択可能なステータス・フラグ208を含みうる。ステータス・フラグ208は、第1ユーザによって選択され、コンテンツ・アイテムの共有に関連する一般的なステータスを識別できる。例えば、図2に説明されるように、いくつかのステータス・フラグは、「要レビュー」、「透明性のため」、「コメント希望」、「要署名」、及び「仕上げて送信」を含む。
いくつかの実施形態では、コンテンツ管理システム110はまた、共有モーダル又は共有通信で受信された他の情報に基づいて、ステータス・フラグ208を自動的に決定し適用するように構成された分類器を含みうる。
第1ユーザがより具体的なコンテキストを提供する意思があるならば、共有モーダル200はメッセージ・フィールド210を含む。第1ユーザは、特定のユーザ・アカウントに@メンションするために、メッセージ・フィールド210を使用できる。これは、コンテンツ・アイテムがチーム全体と共有されているが、第1ユーザがユーザ・アカウントの部分集合の特定のアテンションを取得したい場合に有用である。いくつかの実施形態では、特定のユーザ・アカウントに@メンションするメッセージは、コンテンツ・アイテムがより大きなユーザ・アカウントのグループと共有されている場合であっても、そのユーザ・アカウントにのみ送信されてもよい。
メッセージ・フィールド210はまた、プロジェクトを識別するコードネームのように、特定のプロジェクトにコンテンツ・アイテムをタグ付けするために使用されうる。第1ユーザは、メッセージ・フィールド210内に任意の追加コンテキストを提供することもできる。
共有モーダル200はまた、任意の特定のアクション又はステータスが完了又は更新される必要がある期限日を選択することを第1ユーザに奨励するために、日付ピッカー214を含みうる。
共有モーダル200に入力されたすべての情報は、コンテンツ・アイテム202に関連して、メタデータ・データベース146に記憶されうる。このようにして、共有モーダル200で収集されたコンテキスト・データは、コンテンツ管理システム110で閲覧されるときはいつでもコンテンツ・アイテム202に関連付けられたままにでき、コンテキスト・データは、コンテンツ管理システム110によってサードパーティ・サービス190でコンテンツ・アイテム202が共有されるときはいつでも、それに付随できる。
図3は、共有インタフェース250を説明する。共有インタフェース250は、共有コンテンツ・アイテムの受信者である任意のターゲット・ユーザ・アカウントによって閲覧されうるインタフェースである。共有インタフェース250は、コンテンツ管理システム110又はサードパーティ・サービス190内の任意の共有コンテンツ・アイテムを含む、ターゲット・ユーザ・アカウントと共有されている任意のコンテンツ・アイテムに関するコンテキスト情報を提示できる。例えば、図3に説明されるように、共有インタフェース250は、「特許出願」と呼ばれるコンテンツ・アイテムに関するコンテキスト情報254と、コンテンツ・アイテム「移転計画」に関するコンテキスト情報260とを示す。
コンテキスト情報254及びコンテキスト情報260のそれぞれは、コンテンツ・アイテムを共有したユーザ・アカウントに関する情報と、コンテンツ・アイテムがどれくらい前に共有されたかと、ステータス・フラグ258と、個別のコンテンツ・アイテムに関する最新のステータス情報とを含む。いくつかの実施形態では、コンテキスト情報254に関連して見られるように、期限日256が提示されうる。
コンテキスト情報254は、アレキサンダ・ロストフがコンテンツ・アイテム「特許出願」を5分前にターゲット・ユーザと共有したことを示し、さらに、コンテンツ・アイテム「特許出願」が5分前にアレキサンダ・ロストフによって最後に編集されたことを示す。コンテキスト情報254は、コンテンツ・アイテム「特許出願」が共有された理由が258のようなステータスによって示されるように、レビューを必要とすること、及びステータス・フラグ258によって示されるアクションの要求の期限日256が2020年1月1日であることをさらに示す。
コンテキスト情報260は、デリン・シャープがコンテンツ・アイテム「移転計画」を2時間前にグループ「オフィス移転」と共有し、デリン・シャープがターゲット・ユーザ(ジェイソン・デッセン)にコンテンツ・アイテム「移転計画」に署名するように依頼し、署名が必要であることを示すアクションへの要求を伴うステータス・フラグ258を含めたことを示す。
いくつかの実施形態では、補足コンテキスト情報262が表示されうる。例えば、補足コンテキスト情報262は、コンテキスト情報260と関連付けて表示されうる。補足情報262は、ステータス・フラグ「要署名」によって反映されるアクションへの特定の要求に関する情報を提供できる。補足情報262は、ターゲット・ユーザが要求されたアクションを実行したことを示す完了通知であり、この場合に、ターゲット・ユーザ(ジェイソン・デッセン)は、要求されたように文書に署名した。
共有インタフェース250はさらに、共有コンテンツ・アイテム及び関連コンテキストをソート、フィルタリング、及び検索するためのオプションを含む。図3に説明されるように、共有インタフェース250は、共有エンティティ252(ユーザ・アカウント及びチーム)を表す選択可能なオブジェクトを提示する。共有エンティティ252は、共有インタフェース250を閲覧している特定のターゲット・ユーザとコンテンツ・アイテムが共有されている場合に、コンテンツ・アイテムの共有元又は共有先のエンティティを含みうる。いくつかの実施形態では、共有インタフェース250は、直近に共有されたか、又は直近に対話されたコンテンツ・アイテムに関連付けられたエンティティに従って、共有エンティティ252を順序付けることができる。
共有インタフェース250はまた、日付253によってソートするための選択可能なオプションを含む。いくつかの実施形態では、共有インタフェース250におけるコンテンツのソート基準となる日付は、コンテンツ・アイテムが共有された日付又はコンテンツ・アイテムが最後に対話された日付である。
さらに、共有インタフェース250は、特定の時間内に共有されたコンテンツ・アイテムをフィルタリングするためのフィルタ264を含む。
共有インタフェース250によって提供される別のフィルタは、トップ共有チーム266に従ってフィルタリングするためのものである。図3に示される例では、唯一の共有チームがチーム「オフィス移転」であるが、他のチームがターゲット・ユーザとコンテンツを共有したならば、これもここに現れる。共有インタフェース250はまた、コンテンツ・アイテムを共有した特定のユーザ・アカウントに従ってフィルタリングするフィルタを提供する。フィルタ268は、コンテンツ・アイテムを最後に共有したユーザ・アカウントと、ここにリストされていない他のユーザ・アカウントを検索するための検索ボックスとを提示する。
最後に、共有インタフェース250は、共有コンテンツ・アイテムを検索するためのオープン検索フィールド270も提供する。
図4は、チーム「オフィス移転」266に対するフィルタが選択された場合の共有インタフェース250の例を説明する。よって、図4では、コンテキスト情報260及び補足コンテキスト情報262がチーム「オフィス移転」と共有されたコンテンツに関連するならば、これらのみが示される。
いくつかの実施形態では、共有インタフェース280は、それ自体が、コンテンツ・アイテムに対するアクションを行うことに直接結びついていない追加のコンテキストを受けるためのインタフェースでありうる。例えば、コンテンツ・アイテムを共有しているグループ内のユーザは、コンテンツ・アイテムへの共有アクセス権を有するユーザ・アカウントのグループへの総括的なコメントを作成でき、このコンテンツが表示されうる。
図5は、コンテンツ・アイテムに関連する共有コンテキストを受信し、記憶するための例示的な方法を説明する。いくつかの実施形態では、図2に説明されるように、共有サービス128は、共有モーダルを提示でき(302)、共有モーダルは少なくとも1つのターゲット・ユーザ・アカウントの識別情報を受信でき(304)、コンテンツ・アイテムを受信するための、ターゲット・ユーザ・アカウントを一部とするグループを自動的に提案できる(306)。
いくつかの実施形態では、コンテンツ・アイテムは、例えばサードパーティ・サービス190を通じて、コンテンツ管理システム110の外部で共有されてもよい。サードパーティ・サービス190の例は、コンテンツ・アイテムが共有されている理由に対して何らかのコンテキストを提供するメッセージとともにコンテンツ・アイテムを共有するのに有用な任意のサービスでありうる。例えば、第1ユーザ・アカウントは、コンテンツ・アイテムとメッセージとを含む電子メールをターゲット・ユーザ・アカウントへ送信できる。別の例では、第1ユーザ・アカウントは、コンテンツ・アイテムと、コンテンツ・アイテムが共有されている理由に関するメッセージとを含めることができる(インスタント・メッセージングのような)メッセージング・サービス又は(SLACKやWEBEX TEAMSのような)チーム・ベースのコミュニケーション・サービスを使用してメッセージを送信できる。別の例では、第1ユーザは、ワークフロー・サービスでタスクを割り当て、タスクとともにコンテンツ・アイテムを送信できる。しかし、本技術では、サードパーティ・サービス190は、コンテンツ管理システム110の管理下にあるコンテンツ・アイテムが共有された場合に、サードパーティ・サービス190がコンテンツ管理システム110に通知できるように、コンテンツ管理システム110にリンクされる。
サードパーティ・サービス190は、コンテンツ管理システム110又はサードパーティ・サービス190によって提供されるアプリケーション・プログラミング・インタフェースを介してコンテンツ管理システム110にリンクされうる。いくつかの実施形態では、サードパーティ・サービスは、コンテンツ・アイテムが、共有される方法として、又はそのメタデータ内のいずれかで、コンテンツ管理システムへのリンク、ポインタ、又は参照を含む場合に、コンテンツ・アイテムがコンテンツ管理システム110によって管理されていることを判定できる。コンテンツ管理システム110によって管理されるコンテンツ・アイテムをサードパーティ・サービス190が検出すると、サードパーティ・サービス190は、それが管理するコンテンツ・アイテムがサードパーティ・サービス190を介して共有されたことをコンテンツ管理システム110に通知する通信を送信でき、コンテンツ管理システム110はそれを受信できる(308)。いくつかの実施形態では、サードパーティ・サービス190は、コンテンツ・アイテムが共有された任意のメッセージを送信することもできる。
いくつかの実施形態では、コンテンツ管理システム110は、コンテンツ管理システム110におけるユーザ・アカウントがサードパーティ・サービス190におけるユーザ・アカウントにクレデンシャルを提供する場合に、サードパーティ・サービス190のユーザ・アカウントへのアクセスを許可されうる。このタイプのアクセスにより、コンテンツ管理システム110は、コンテンツ管理システム110の管理下にあるコンテンツ・アイテムに関連して送信されたメッセージを判定し、サードパーティ・サービス190においてコンテンツ・アイテムが誰と共有されているかを判定するために、サードパーティ・サービス190におけるユーザ・アカウントを監視できる。
共有モーダル200のような共有モーダルを通じてであろうと、サードパーティ・サービス190を通じてであろうと、コンテンツ管理システム110の共有サービス128は、第1ユーザ・アカウントから共有リクエストを取得できる(310)。共有リクエストは、共有されるコンテンツ・アイテムと、共有コンテンツ・アイテムを受信するターゲット・ユーザ・アカウントと、コンテンツ・アイテムに関連付けられた共有コンテキストとを識別できる。
その後、共有サービス128は、任意のターゲット・ユーザに、アクセス制御リスト145においてコンテンツ・アイテムへのアクセス権を与え、コンテンツ・アイテムへのポインタとともに、共有コンテキストをメタデータ・データベース146内に記憶できる(314)。さらに、共有サービス128は、共有通知をターゲット・ユーザのアカウントへ送信できる(312)。共有通知は、少なくともコンテンツ・アイテムと、共有コンテキストとを識別できる。共有コンテキストは、コンテキスト情報254、260に表示されるような情報を含むことができ、これは、コンテンツ・アイテムを共有した第1ユーザ、期限日、ステータス・フラグ、共有に関連するメッセージなどを含む。
いくつかの実施形態では、共有リクエストは、複数のユーザ・アカウントに対処でき、又はコンテンツ・アイテムは、複数のユーザ・アカウントと事前に共有されていてもよいが、共有リクエストは、ユーザ・アカウントの部分集合への特定のコンテキストに対処する。このような実施形態では、共有コンテンツ・アイテムへのアクセスが許可されているかもしれないより大きなグループではなく、ユーザ・アカウントの部分集合にのみアドレス指定される任意の特定のコンテキストが、これらのユーザ・アカウントにのみ送信されうる。共有通知は、コンテンツ・アイテムへのアクセス権を受けた各ユーザ・アカウントへ送信されうるが、コンテキストがアドレス指定されているユーザ・アカウントの部分集合に送信される共有通知のみが共有コンテキストを識別する。
図6は、共有コンテキストとともに共有コンテンツ・アイテムを提示するための例示的な方法の実施形態を説明する。共有サービス128は、コンテンツ・アイテムの表現とともに、共有コンテキストをターゲット・ユーザに示す共有インタフェース250を提示できる(340)。いくつかの実施形態では、共有インタフェース250は、共有コンテキストの属性に従って、複数の共有コンテンツ・アイテムをソート(342)又はフィルタリングするために使用されうる。
共有インタフェース250に表されるコンテンツ・アイテムは、ユーザ・インタフェース・デバイスを操作するユーザによって選択され、開かれうる。
いくつかの実施形態では、ターゲット・ユーザは、要求されたアクションを完了でき、ターゲット・ユーザは、共有コンテキストを含む共有インタフェース250において通知に返信することによって、コンテンツ・アイテムが共有されている他のユーザ・アカウントに通知できる。コンテンツ管理システム110の共有サービス128は、ターゲット・ユーザ・アカウントが要求されたアクションを完了したことのインジケーションをターゲット・ユーザから受信でき(344)、完了通知を第1ユーザ・アカウントへ自動的に送信できる(346)。完了通知は、要求されたアクションが完了したことを示すことができる。完了通知は、補足コンテキストとして、第1ユーザ及びターゲット・ユーザの共有インタフェース250に提示されうる。
上述のように、いくつかの実施形態では、共有リクエストは、サードパーティ・サービス190で生じうる。時には、これらの共有リクエストは、複数のターゲット・ユーザ・アカウントを識別できる。このような実施形態では、コンテンツ管理システム110は、複数のターゲット・アカウントがコンテンツ管理システム110においてチームとして識別されるべきであると判定してもよい。コンテンツ管理システム110は、サードパーティ・サービス190におけるユーザ・アカウントに対応するコンテンツ管理システム110におけるユーザ・アカウントを識別し、これらのユーザ・アカウントを有するチームを作成するようにチーム・サービス130に指示できる。いくつかの実施形態では、コンテンツ管理システム110は、チームを自動的に作成する前に、チームの作成を提案できる。
いくつかの実施形態では、コンテンツ管理システム110は、コンテンツ管理システム110で生成されたコンテキストがサードパーティ・サービス190で反映されるように、サードパーティ・サービス190で、コンテンツ管理システム110を起点とする共有メッセージを送信することもできる。
いくつかの実施形態では、コンテンツ・アイテムに関連するコンテキストは、コンテンツ・アイテムに関して様々な機能をよりインテリジェントに実行するために、コンテンツ管理システム110によって使用されうる。このような機能の1つは、コンテンツ・アイテムをユーザがより簡単にアクセスできるようにすることでありうる。例えば、コンテンツ管理システムは、特定のユーザ・アカウントがコンテンツ・アイテムに対してアクションを実行する必要があることをコンテンツ・アイテムに関連付けられたコンテキストが指定していることを認識できる。その後、コンテンツ管理システム110は、コンテンツ・アイテムが見つけやすくなるように、コンテンツ・アイテムをコンテンツ・アイテム閲覧インタフェースのトップにソートしうる。コンテンツ管理システム110は、コンテンツ・アイテムがユーザ・アカウントのクライアント・デバイス150上でローカルに利用可能であることを確実にすることもできる。上述したように、コンテンツ管理システム110は、コンテンツ・アイテムをクライアント・デバイス150と同期でき、いくつかの実施形態では、クライアント・デバイス150上の記憶スペースを節約するために、すべてのコンテンツ・アイテムの部分集合のみがクライアント・デバイス150に同期する。本技術を用いて、コンテンツ管理システム110は、ユーザ・アカウントがコンテンツ・アイテムに対してアクションを行う必要があることを示すコンテキストにコンテンツ・アイテムが関連付けられている場合に、コンテンツ・アイテムをクライアント・デバイス150に選択的に同期できる。
本書に提供される記述の大部分はコンテンツ・アイテムが共有されるか、又は作用される場合に作成されるコンテキストに対処するが、コンテンツ・アイテムに対するいかなるアクションがなくても、コンテンツが作成されうる。コンテンツ・アイテムを共有する結果として、共有グループが作成される可能性がある。共有グループが作成されると、本技術は、コンテンツ・アイテムに対するアクションを必要とせずに、グループのメンバーであるユーザ・アカウント間でメッセージが送信されることを提供することもできる。
いくつかの実施形態では、コンテキストは、コンテンツ・アイテム識別子に加えて(又はこれに代えて)共有グループ識別子と関連付けて、メタデータ・データベース146に記憶されうる。それにより、グループ(オフィス移転)に固有の共有インタフェース280のようなインタフェースが表示される場合に、グループ間で共有されるすべてのコンテキストが提示されうる。このようにして、共有インタフェース280は、共有コンテンツ・アイテムに直接関連付けられていない他のすべてのコンテキストを捕捉するワークスペースとしても機能できる。上記の他の実施形態と同様に、グループ間で共有されるコンテキストは、サードパーティ・サービス190を起点としうる。
図7は、コンピューティング・システム400の例を示し、これは、例えば、クライアント・デバイス150、コンテンツ管理システム110、又はその任意の構成要素を構成するコンピューティング・デバイスであってもよく、システムの構成要素は、コネクション405を使用して互いに通信できる。コネクション405は、バスを介した物理的なコネクションであってもよく、又はチップセット・アーキテクチャ内にあるようなプロセッサ410への直接的なコネクションであってもよい。コネクション405は、仮想コネクション、ネットワーク・コネクション、又は論理コネクションであってもよい。
いくつかの実施形態では、コンピューティング・システム400は、この開示に記載されている機能がデータセンタ、複数のデータセンタ、ピア・ネットワークなどの中で分散されうる分散システムである。いくつかの実施形態では、記載されたシステム構成要素のうちの1つ以上は、構成要素が記載される機能の一部又は全部をそれぞれ実行する多くのこのような構成要素を表す。いくつかの実施形態では、構成要素は、物理デバイス又は仮想デバイスでありうる。
提示的なシステム400は、少なくとも1つの処理部(CPU又はプロセッサ)410と、リード・オンリ・メモリ(ROM)420及びランダム・アクセス・メモリ(RAM)425のようなシステム・メモリ415を含む様々なシステム構成要素をプロセッサ410に結合するコネクション405とを含む。コンピューティング・システム400は、プロセッサ410と直接接続された、近接している、又はその一部として統合された高速メモリ412のキャッシュを含みうる。
プロセッサ410は、任意の汎用プロセッサと、プロセッサ410を制御するように構成された、記憶デバイス430に記憶されたサービス432、434及び436のようなハードウェア・サービス又はソフトウェア・サービスと、ソフトウェア命令が実際のプロセッサ設計に組み込まれる特定用途向けプロセッサとを含みうる。プロセッサ410は本質的に、複数のコア又はプロセッサ、バス、メモリ・コントローラ、キャッシュなどを含む、完全に自己完結したコンピューティング・システムであってもよい。マルチコア・プロセッサは、対称であっても非対称であってもよい。
ユーザ対話を可能にするために、コンピューティング・システム400は、音声用のマイクロフォン、ジェスチャ又はグラフィック入力用のタッチセンシティブ・スクリーン、キーボード、マウス、モーション入力、音声などのような任意の個数の入力メカニズムを表すことができる入力デバイス445を含む。コンピューティング・システム400はまた、出力デバイス435を含むことができ、これは、当業者に知られている多数の出力メカニズムのうちの1つ以上でありうる。いくつかの場合に、マルチモーダル・システムは、ユーザがコンピューティング・システム400と通信するために複数のタイプの入出力を提供することを可能にできる。コンピューティング・システム400は、一般にユーザ入力及びシステム出力を統治及び管理できる通信インタフェース440を含みうる。特定のハードウェア構成での動作に関する制限はなく、したがって、本書に記載されている基本的な機能は、開発時に、改善されたハードウェア又はファームウェア構成に簡単に代わられてもよい。
記憶デバイス430は、不揮発性メモリ・デバイスであってもよく、ハードディスク又は他のタイプのコンピュータ可読媒体であってもよく、これは、磁気カセット、フラッシュ・メモリ・カード、ソリッド・ステート・メモリ・デバイス、デジタル多目的ディスク、カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、及び/又はこれらのデバイスの何らかの組み合わせのように、コンピュータによってアクセス可能なデータを記憶できる。
記憶デバイス430は、ソフトウェア・サービス、サーバ、サービスなどを含んでもよく、このようなソフトウェアを規定するコードがプロセッサ410によって実行された場合に、システムに機能を実行させる。いくつかの実施形態では、特定の機能を実行するハードウェア・サービスは、その機能を実行するために、プロセッサ410、コネクション405、出力デバイス435などの必要なハードウェア構成要素に関連して、コンピュータ可読媒体に記憶されたソフトウェア構成要素を含みうる。
説明を明確にするために、いくつかの例では、本技術は、デバイス、デバイス構成要素、ソフトウェアで実施われる方法におけるステップ又はルーチン、又はハードウェアとソフトウェアとの組合せを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
本書で説明されるステップ、動作、機能、又はプロセスのいずれも、ハードウェア及びソフトウェアのサービス又はサービスの組合せによって、単独で、又は他のデバイスと組み合わせて、実行又は実装されてもよい。いくつかの実施形態では、サービスは、クライアント・デバイスのメモリ及び/又はコンテンツ管理システムの1つ以上のサーバに常駐し、プロセッサがサービスに関連するソフトウェアを実行する場合に1つ以上の機能を実行するソフトウェアでありうる。いくつかの実施形態では、サービスは、特定の機能を実行するプログラム又はプログラムのコレクションである。いくつかの実施形態では、サービスは、サーバとみなされうる。メモリは、一時的でないコンピュータ可読媒体であってもよい。
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、及びメモリは、ビット・ストリームなどを含む有線又は無線信号を含みうる。しかし、言及された場合に、非一時的なコンピュータ可読記憶媒体は、エネルギ、キャリア信号、電磁波、及び信号自体などの媒体を明示的に除外する。
上述の例による方法は、コンピュータ可読媒体から記憶されるか、又は他の方法で利用可能なコンピュータ実行可能命令を使用して実施されうる。このような命令は例えば、汎用コンピュータ、特殊目的コンピュータ、又は特殊目的処理デバイスに、特定の機能又は機能のグループを実行させる又は他のように構成する命令及びデータを含みうる。使用されるコンピュータ・リソースの一部は、ネットワーク経由でアクセスされうる。コンピュータ実行可能命令は例えば、バイナリ、アセンブリ言語、ファームウェア、又はソース・コードのような中間フォーマット命令であってもよい。記載された例による方法の間に作成される命令、使用される情報、及び/又は情報を記憶するために使用されてもよいコンピュータ可読媒体の例は、磁気又は光ディスク、ソリッド・ステート・メモリ・デバイス、フラッシュ・メモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク接続された記憶デバイスなどを含む。
これらの開示による方法を実装するデバイスは、ハードウェア、ファームウェア、及び/又はソフトウェアを備えることができ、様々なフォーム・ファクタのいずれかをとりうる。このようなフォーム・ファクタの典型的な例は、サーバ、ラップトップ、スマートフォン、スモール・フォーム・ファクタのパーソナル・コンピュータ、パーソナル・デジタル・アシスタントなどを含む。本書で説明される機能は、周辺機器又はアドイン・カードで実施されうる。このような機能性は、さらなる例として、異なるチップ間の回路基板上で、又は単一のデバイス内で実行される異なるプロセス上で実施されうる。
命令、このような命令を伝達するための媒体、これらを実行するためのコンピューティング・リソース、及びこのようなコンピューティング・リソースをサポートするための他の構造は、これらの開示に記載される機能を提供するために手段である。
様々な例及び他の情報が添付の特許請求の範囲内の態様を説明するために使用されたが、当業者はこれらの例を使用して、多種多様な実施を導出できるので、特許請求の範囲の限定がこのような例における特定の特徴又は構成に基づいて暗示されるべきではない。さらに、いくつかの主題を、構造的特徴及び/又は方法ステップの例に特有の用語で説明してきたが、添付の特許請求の範囲で規定される主題は必ずしもこれらの説明された特徴又は動作に限定されないことを理解されたい。例えば、このような機能は、本書で識別されるもの以外の構成要素において、異なるように分散されるか、又は実行されうる。むしろ、記載された特徴及びステップは、添付の特許請求の範囲内のシステム及び方法の構成要素の例として開示される。

Claims (20)

  1. 方法であって、
    コンテンツ管理システムによって、第1ユーザ・アカウントから共有リクエストを受信することであって、前記共有リクエストは、コンテンツ・アイテムと、ターゲット・ユーザ・アカウントと、前記ターゲット・ユーザ・アカウントに割り当てられた前記コンテンツ・アイテムに関連付けられた共有コンテキストとを識別する、ことと、
    前記コンテンツ管理システムによって、前記ターゲット・ユーザ・アカウントへ共有通知を送信することであって、前記共有通知は、少なくとも、前記コンテンツ・アイテムと、前記共有コンテキストとを識別する、ことと、
    共有インタフェースにおいて、前記コンテンツ・アイテムの表現とともに前記ターゲット・ユーザ・アカウントに提示される前記共有コンテキストを提供することと、を有する方法。
  2. 請求項1に記載の方法であって、前記共有コンテキストは、前記ターゲット・ユーザ・アカウントによって完了される要求アクションを示し、前記方法は、
    前記コンテンツ管理システムによって、前記ターゲット・ユーザ・アカウントが前記要求アクションを完了したことのインジケーションを受信することと、
    前記コンテンツ管理システムによって、完了通知を前記第1ユーザ・アカウントへ自動的に送信することであって、前記完了通知は、前記要求アクションが完了したことを示す、ことと、をさらに有する、方法。
  3. 請求項1に記載の方法であって、前記共有リクエストは、複数のターゲット・ユーザ・アカウントを識別し、前記共有コンテキストは、前記ターゲット・ユーザ・アカウントの部分集合のみに割り当てられ、前記方法は、
    前記複数のターゲット・ユーザ・アカウントの各ユーザ・アカウントへ前記共有通知を送信することであって、ユーザ・アカウントの前記部分集合へ送信される共有通知のみが前記共有コンテキストを識別する、ことをさらに有する、方法。
  4. 請求項1に記載の方法であって、
    コンテンツ・アイテム・ストレージ内の前記コンテンツ・アイテムへのポインタとともに、前記共有コンテキストをメタデータ・データベースに記憶することをさらに有する、方法。
  5. 請求項1に記載の方法であって、前記共有インタフェースは、
    複数の共有コンテンツ・アイテムの表現を、個別の関連する共有コンテキストとともに提供し、前記方法は、
    前記複数の共有コンテンツ・アイテムを、前記個別の関連する共有コンテキストの属性に従ってソートすることをさらに有する、方法。
  6. 請求項1に記載の方法であって、前記共有コンテキストを提供することは、要求アクションに関する注記と、ステータス・フラグとを提供することを含む、方法。
  7. 請求項1に記載の方法であって、前記共有リクエストは、サードパーティ・アプリケーションを起点とし、前記方法は、
    前記コンテンツ管理システムによって、前記コンテンツ・アイテムが前記サードパーティ・アプリケーションにおいて前記第1ユーザ・アカウントによって共有されたことの通知を前記サードパーティ・アプリケーションから受信することであって、前記通知は、前記ターゲット・ユーザ・アカウントについての識別子と、前記コンテンツ・アイテムの識別子と、前記コンテンツ・アイテムとともに送信されたメッセージとを含む、ことをさらに有する、方法。
  8. 請求項7に記載の方法であって、
    前記ターゲット・ユーザ・アカウントの前記識別子を含む前記通知に加えて、前記通知が、前記サードパーティ・アプリケーションにおける複数のユーザ・アカウントについての識別子を含むことと、
    前記サードパーティ・アプリケーションにおける前記複数のユーザ・アカウントのうちの少なくとも一部が、前記コンテンツ管理システムにおける個別のユーザ・アカウントに対応すると判定することと、
    前記コンテンツ管理システムにおいて共有グループを自動的に作成することと、をさらに有する、方法。
  9. 請求項1に記載の方法であって、
    前記共有リクエストを受信する前に、第1ユーザ・アカウントへ共有モーダルを提供することと、
    前記ターゲット・ユーザ・アカウントの識別情報を前記共有モーダル内で受信することと、
    前記コンテンツ・アイテムを受信するためのグループを前記共有モーダルで自動的に提案することであって、前記ターゲット・ユーザ・アカウントは、前記提案されたグループに関連付けられる、ことと、をさらに有する、方法。
  10. 命令を記憶する非一時的なコンピュータ可読媒体であって、前記命令は、実行された場合に、少なくとも1つのプロセッサに、
    コンテンツ管理システムによって、第1ユーザ・アカウントから共有リクエストを受信することであって、前記共有リクエストは、コンテンツ・アイテムと、ターゲット・ユーザ・アカウントと、前記ターゲット・ユーザ・アカウントに割り当てられた前記コンテンツ・アイテムに関連付けられた共有コンテキストとを識別する、ことと、
    前記コンテンツ管理システムによって、前記ターゲット・ユーザ・アカウントへ共有通知を送信することであって、前記共有通知は、少なくとも、前記コンテンツ・アイテムと、前記共有コンテキストとを識別する、ことと、
    共有インタフェースにおいて、前記コンテンツ・アイテムの表現とともに前記ターゲット・ユーザ・アカウントに提示される前記共有コンテキストを提供することと、を行わせる、非一時的なコンピュータ可読媒体。
  11. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記共有コンテキストは、前記ターゲット・ユーザ・アカウントによって完了される要求アクションを示し、前記命令は、前記少なくとも1つのプロセッサに、
    前記コンテンツ管理システムによって、前記ターゲット・ユーザ・アカウントが前記要求アクションを完了したことのインジケーションを受信することと、
    前記コンテンツ管理システムによって、完了通知を前記第1ユーザ・アカウントへ自動的に送信することであって、前記完了通知は、前記要求アクションが完了したことを示す、ことと、をさらに行わせる、非一時的なコンピュータ可読媒体。
  12. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記共有リクエストは、複数のターゲット・ユーザ・アカウントを識別し、前記共有コンテキストは、前記ターゲット・ユーザ・アカウントの部分集合のみに割り当てられ、前記命令は、前記少なくとも1つのプロセッサに、
    前記複数のターゲット・ユーザ・アカウントの各ユーザ・アカウントへ前記共有通知を送信することであって、ユーザ・アカウントの前記部分集合へ送信される共有通知のみが前記共有コンテキストを識別する、ことをさらに有する、非一時的なコンピュータ可読媒体。
  13. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記命令は、前記少なくとも1つのプロセッサに、
    コンテンツ・アイテム・ストレージ内の前記コンテンツ・アイテムへのポインタとともに、前記共有コンテキストをメタデータ・データベースに記憶することをさらに行わせる、非一時的なコンピュータ可読媒体。
  14. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記共有インタフェースは、
    複数の共有コンテンツ・アイテムの表現を、個別の関連する共有コンテキストとともに提供し、前記命令は、前記少なくとも1つのプロセッサに、
    前記複数の共有コンテンツ・アイテムを、前記個別の関連する共有コンテキストの属性に従ってソートすることをさらに行わせる、非一時的なコンピュータ可読媒体。
  15. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記共有コンテキストを提供することは、要求アクションに関する注記と、ステータス・フラグとを提供することを含む、非一時的なコンピュータ可読媒体。
  16. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記共有リクエストは、サードパーティ・アプリケーションを起点とし、前記命令は、前記少なくとも1つのプロセッサに、
    前記コンテンツ管理システムによって、前記コンテンツ・アイテムが前記サードパーティ・アプリケーションにおいて前記第1ユーザ・アカウントによって共有されたことの通知を前記サードパーティ・アプリケーションから受信することであって、前記通知は、前記ターゲット・ユーザ・アカウントについての識別子と、前記コンテンツ・アイテムの識別子と、前記コンテンツ・アイテムとともに送信されたメッセージとを含む、ことをさらに行わせる、非一時的なコンピュータ可読媒体。
  17. 請求項16に記載の非一時的なコンピュータ可読媒体であって、前記命令は、前記少なくとも1つのプロセッサに、
    前記ターゲット・ユーザ・アカウントの前記識別子を含む前記通知に加えて、前記通知が、前記サードパーティ・アプリケーションにおける複数のユーザ・アカウントについての識別子を含むことと、
    前記サードパーティ・アプリケーションにおける前記複数のユーザ・アカウントのうちの少なくとも一部が、前記コンテンツ管理システムにおける個別のユーザ・アカウントに対応すると判定することと、
    前記コンテンツ管理システムにおいて共有グループを自動的に作成することと、をさらに行わせる、非一時的なコンピュータ可読媒体。
  18. 請求項10に記載の非一時的なコンピュータ可読媒体であって、前記命令は、前記少なくとも1つのプロセッサに、
    前記共有リクエストを受信する前に、第1ユーザ・アカウントへ共有モーダルを提供することと、
    前記ターゲット・ユーザ・アカウントの識別情報を前記共有モーダル内で受信することと、
    前記コンテンツ・アイテムを受信するためのグループを前記共有モーダルで自動的に提案することであって、前記ターゲット・ユーザ・アカウントは、前記提案されたグループに関連付けられる、ことと、をさらに行わせる、非一時的なコンピュータ可読媒体。
  19. システムであって、
    記憶された命令を有する非一時的なコンピュータ可読媒体と、
    前記命令を実行するように構成された少なくとも1つのプロセッサとを備え、前記命令は、実行された場合に、前記少なくとも1つのプロセッサに、
    コンテンツ管理システムによって、第1ユーザ・アカウントから共有リクエストを受信することであって、前記共有リクエストは、コンテンツ・アイテムと、ターゲット・ユーザ・アカウントと、前記ターゲット・ユーザ・アカウントに割り当てられた前記コンテンツ・アイテムに関連付けられた共有コンテキストとを識別する、ことと、
    前記コンテンツ管理システムによって、前記ターゲット・ユーザ・アカウントへ共有通知を送信することであって、前記共有通知は、少なくとも、前記コンテンツ・アイテムと、前記共有コンテキストとを識別する、ことと、
    共有インタフェースにおいて、前記コンテンツ・アイテムの表現とともに前記ターゲット・ユーザ・アカウントに提示される前記共有コンテキストを提供することと、を行わせる、システム。
  20. 請求項19に記載のシステムであって、前記命令は、前記少なくとも1つのプロセッサに、
    コンテンツ・アイテム・ストレージ内の前記コンテンツ・アイテムへのポインタとともに、前記共有コンテキストをメタデータ・データベースに記憶することをさらに行わせる、システム。
JP2021576729A 2019-09-30 2020-04-28 コンテキスト付きのコンテンツ・アイテム共有 Active JP7374232B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/587,441 2019-09-30
US16/587,441 US20210099502A1 (en) 2019-09-30 2019-09-30 Content item sharing with context
PCT/US2020/030271 WO2021066881A1 (en) 2019-09-30 2020-04-28 Content item sharing with context

Publications (2)

Publication Number Publication Date
JP2022549983A true JP2022549983A (ja) 2022-11-30
JP7374232B2 JP7374232B2 (ja) 2023-11-06

Family

ID=70779883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021576729A Active JP7374232B2 (ja) 2019-09-30 2020-04-28 コンテキスト付きのコンテンツ・アイテム共有

Country Status (4)

Country Link
US (1) US20210099502A1 (ja)
JP (1) JP7374232B2 (ja)
AU (1) AU2020357554C1 (ja)
WO (1) WO2021066881A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048384B2 (en) * 2019-10-25 2021-06-29 Facebook, Inc. Generating content to be shared between users
USD962250S1 (en) 2019-12-10 2022-08-30 Meta Platforms, Inc. Display screen or portion thereof with a graphical user interface
USD945440S1 (en) 2019-12-10 2022-03-08 Facebook, Inc. Display screen with a graphical user interface
WO2023102143A1 (en) 2021-12-01 2023-06-08 Videoamp, Inc. Symmetric data clean room
US20230188577A1 (en) * 2021-12-13 2023-06-15 Atlassian Pty Ltd. Apparatuses, computer-implemented methods, and computer program products for generating content for presentation at a collaborative content interface based on a captured content source

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137003A1 (en) * 2012-11-13 2014-05-15 Johan Christiaan Peters Conversation graphical user interface (gui)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415669B1 (en) * 2001-02-27 2008-08-19 Open Invention Network Method and apparatus for viewing electronic commerce-related documents
US7853629B2 (en) * 2005-03-23 2010-12-14 Executive Data Systems, Inc. Document imaging and management system for paperless workflow
US8826375B2 (en) * 2008-04-14 2014-09-02 Lookwithus.Com Inc. Rich media collaboration system
US9553758B2 (en) * 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10303778B2 (en) * 2013-01-28 2019-05-28 Virtual Strongbox, Inc. Virtual storage system and method of sharing electronic documents within the virtual storage system
EP3080742A4 (en) * 2013-12-11 2017-08-30 Intralinks, Inc. Customizable secure data exchange environment
CA3013322A1 (en) * 2016-02-02 2017-08-10 ActiveWrite, Inc. Document collaboration and consolidation tools and methods of use
US10469426B2 (en) * 2016-06-14 2019-11-05 Microsoft Technology Licensing, Llc Content delivery control
US11038973B2 (en) * 2017-10-19 2021-06-15 Dropbox, Inc. Contact event feeds and activity updates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137003A1 (en) * 2012-11-13 2014-05-15 Johan Christiaan Peters Conversation graphical user interface (gui)

Also Published As

Publication number Publication date
AU2020357554A1 (en) 2022-02-10
JP7374232B2 (ja) 2023-11-06
AU2020357554B2 (en) 2023-09-21
AU2020357554C1 (en) 2024-02-15
US20210099502A1 (en) 2021-04-01
WO2021066881A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
US9923851B1 (en) Content management features for messaging services
JP7374232B2 (ja) コンテキスト付きのコンテンツ・アイテム共有
US11474977B2 (en) Snapshot isolation in a distributed storage system
JP7074745B2 (ja) 共有コンテンツアイテムに関連するプレゼンス情報を提供するグラフィカルユーザインタフェースの提示
US20220035865A1 (en) Content capture across diverse sources
US11151086B2 (en) Comment previews displayed in context within content item
US20210350303A1 (en) Task list for tasks created at a third-party source
US20180191652A1 (en) Content management system with integrated email service
JP2020537212A (ja) クライアントデバイスによって実施されるコンテンツ管理システムのワークフロー機能
US11860823B2 (en) Aggregated details displayed within file browser interface
US11500518B2 (en) Contact cards with dynamic interaction information
US20220103565A1 (en) Team member transfer tool
US11182348B2 (en) Sharing collections with external teams
JP7407275B2 (ja) 同期のためのローカルデバイスフォルダのコンテンツ管理システムへのバインディング
JP2020502605A (ja) プレースホルダーを介したコンテンツ管理システムの履歴コンテンツアイテムへのアクセス
AU2019261524C1 (en) Aggregated Details Displayed Within File Browser Interface
US11112948B2 (en) Dynamic preview in a file browser interface
US11822513B2 (en) Work spaces including links to content items in their native storage location

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230710

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: 20231002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231024

R150 Certificate of patent or registration of utility model

Ref document number: 7374232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150