JP6276388B2 - 共有コンテンツのアクセス許可 - Google Patents

共有コンテンツのアクセス許可 Download PDF

Info

Publication number
JP6276388B2
JP6276388B2 JP2016513143A JP2016513143A JP6276388B2 JP 6276388 B2 JP6276388 B2 JP 6276388B2 JP 2016513143 A JP2016513143 A JP 2016513143A JP 2016513143 A JP2016513143 A JP 2016513143A JP 6276388 B2 JP6276388 B2 JP 6276388B2
Authority
JP
Japan
Prior art keywords
content item
user account
client device
content
read
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
JP2016513143A
Other languages
English (en)
Other versions
JP2016522941A (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 JP2016522941A publication Critical patent/JP2016522941A/ja
Application granted granted Critical
Publication of JP6276388B2 publication Critical patent/JP6276388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity 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/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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願へのクロスリファレンス
本願は、2013年5月28日に出願された米国特許出願第13/903,547号の優先権の利益を享受する。この出願は、参照によりその全体が本明細書に組み入れられる。
技術分野
本技術はアクセス許可に関し、特に共有コンテンツのアクセス許可を設定することに関する。
オンラインコンテンツストレージはポピュラーになってきている。人々はよくオンラインコンテンツ管理システムにコンテンツを保持し、またはオンラインコンテンツ管理システムに保持されるコンテンツにアクセスするかそうでなければそのコンテンツと相互作用する。オンラインコンテンツ管理システムには、ドキュメントや写真や音楽やビデオやディレクトリやフォルダや他の種類のコンテンツアイテムが保持されうる。オンラインコンテンツ管理システムはそのユーザによってアクセスされうる。ある場合には、コンテンツアイテムはオンラインコンテンツ管理システムを介して、あるユーザによって他のユーザと共有されてもよい。
例えば、第1エンティティはオンラインコンテンツ管理システムにおける自己のアカウントに、コンテンツアイテムのコレクション(例えば、ディレクトリ、ディレクトリ内のドキュメント、フォトアルバム、メディアプレイリストなど)を格納してもよい。言い換えると、第1エンティティはコンテンツアイテムのコレクションの「所有者」であってもよい。一例では、第1エンティティ(すなわち、所有者)は、ドキュメントを含むディレクトリをひとつ以上の他のエンティティ(「レシピエンツ」としても知られる)とオンラインコンテンツ管理システムを介して共有すると決定してもよい。第1エンティティが、ひとつ以上の他のエンティティと共有されているドキュメントを変更(または削除)した場合、他のエンティティはその変更されたドキュメントへのアクセスを得るであろう。同様に、他のエンティティは自己と共有されているドキュメントを変更(または削除)してもよく、そのようなドキュメントの変更(または削除)は、元々そのドキュメントを共有した第1エンティティまたは所有者の知るところとなるであろう。
ある場合には、レシピエンツは所有者の共有コンテンツ(例えば、ドキュメント、ディレクトリ、コンテンツアイテムのコレクションなど)をうっかり変更または削除してしまうかもしれない。これは所有者に負の影響を与えうる。ある場合には、所有者は他のレシピエンツとコンテンツを共有したいと思っていても、共有コンテンツが所有者の許可無く変更されたり削除されたりすることを恐れて共有するのをためらう可能性がある。これらおよび他の懸念は、オンラインコンテンツ管理システムを介したコンテンツ共有に関連する全体的なユーザ体験を低減させうる。
本開示の追加的な特徴および利点は以下に説明されるであろうし、また部分的にはその説明から明らかであろうし、また本明細書で開示された原理の実施により学習されるであろう。本開示の特徴および利点は、添付の請求項において具体的に示す機器および組み合わせによって実現され、得られうるものである。本開示のこれらの特徴およびその他の特徴は、以下の記述および添付の請求項からさらに十分に明らかになるか、または本明細書で述べた原理の実施によっても分かるものである。
オンラインコンテンツ管理システムを介して共有されるコンテンツに対してアクセス許可を設定するためのシステム、方法、および非一時的なコンピュータ可読保持媒体が開示される。ある実施の形態では、オンラインコンテンツ管理システムのユーザは、オンラインコンテンツ管理システムにコンテンツアイテムのコレクションなどのデータを格納してもよい。ユーザはコンテンツアイテムのコレクションの「所有者」とされてもよい。
一例では、ユーザまたは所有者は、彼のコンテンツアイテムのひとつ以上をひとつ以上の他のユーザ(「レシピエンツ」)とコンテンツ管理システムを介して共有すると決定してもよい。レシピエンツは、所有者によるレシピエンツとのコンテンツアイテムの共有に同意するか否かを選択してもよい。コンテンツ共有に同意すると、レシピエンツは共有コンテンツアイテム(すなわち共有コンテンツ)のローカル表現を再構成してもよい。所有者は、共有コンテンツのローカル表現の変更または削除がレシピエンツに対して所有者が定義したアクセス設定に反する場合にそのような変更または削除を防ぐように、レシピエンツの共有コンテンツのローカル表現に関連するアクセス許可が設定されるようにしてもよい。言い換えると、例えば、所有者は、共有コンテンツのローカル表現の許されていない/認められていない変更または削除を防ぐように、レシピエンツの共有コンテンツのローカル表現に関連するアクセス許可が設定されるようにしてもよい。しかしながら、所有者は読み書き両方の許可を維持してもよく、それにより、彼は差し支えなく共有コンテンツに対して変更や削除を行うことができる。共有コンテンツに対する許された変更や削除はレシピエンツユーザに対して反映されるか有効となってもよい。言い換えると、レシピエンツの共有コンテンツのローカル表現は、所有者によってなされた許された変更や削除を含むようにコンテンツ管理システムによって更新されてもよい。
一例では、レシピエンツがローカル共有ディレクトリ内で共有ファイルのローカル表現を削除しようと試みた場合、かつ、レシピエンツによるその試みがレシピエンツに対して所有者が定義した/割り当てたアクセス設定に反する(例えば、所有者からの許可が無い)場合、共有ファイルのローカル表現はコンテンツ管理システムから再度ダウンロードされ、レシピエンツにおいて(例えば、レシピエンツのアカウントおよび/または計算デバイスにおいて)再構成または再現されてもよい。したがって、共有ファイルのローカル表現はコンテンツ管理システムを介して所有者のファイルと同期してもよい。他の例では、所有者によってレシピエンツに割り当てられた設定に反して(例えば、所有者の許可無く)レシピエンツがレシピエンツの共有ファイルのローカル表現を変更しようと試みた場合、共有ファイルのローカル表現のコピーがローカルで生成されてもよい。レシピエンツにより試みられた変更はローカルコピー(すなわち、補助的な/追加的なファイルまたはコンテンツアイテム)に適用されてもよく、それにより(コンテンツ管理システムからダウンロードされた)共有ファイルのローカル表現は変更されないままとされうる。したがって、共有ファイルのローカル表現はコンテンツ管理システムを介して所有者のファイルと再同期してもよい。さらに、ある実施の形態では、所有者はどのレシピエンツがどのアクセス許可を有するかを選択してもよい。例えば、所有者はいくつかのレシピエンツユーザが共有コンテンツに対する読み/書きアクセスを有することを許可する一方、他のレシピエンツには読み取り専用アクセスが与えられてもよい。
本明細書で議論される種々の実施の形態および/または例は説明のみを目的としていることを指摘しておくことは重要である。当業者であれば本開示の範囲と矛盾しないように使用されうる種々の他の方法やアプローチを認識しうる。種々の他の機能や利点は、種々の実施の形態にしたがい提供されうるものとして以下に記載され示唆される。
本開示の上記およびその他の利点および特徴は、添付の図面に示す特定の実施の形態を参照することにより明らかになるであろう。これらの図面は、本開示の例示的な実施の形態を示しているだけであり、それゆえ、本開示の範囲を限定しているとみなされてはならないことを理解した上で、添付の図面を用いてさらに具体的かつ詳細に本明細書の原理を記述して説明する。
本発明に係る、デバイスおよびネットワークの例示的な構成を示す。
共有コンテンツのアクセス許可が設定されうる例示的な環境を示す。
共有コンテンツに対するアクセス許可を設定するための例示的なシステムの実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的なシステムの実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的なシステムの実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的なユーザインタフェースを示す。
共有コンテンツに対するアクセス許可を設定するための例示的な方法の実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的な方法の実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的な方法の実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的な可能なシステムの実施の形態を示す。
共有コンテンツに対するアクセス許可を設定するための例示的な可能なシステムの実施の形態を示す。
本開示のさまざまな実施の形態について、以下に詳しく論じる特定の実装について論じているが、これは説明のみを目的として行われていることを理解されたい。当業者は、本開示の趣旨および範囲から逸脱することなく他のコンポーネントや構成が用いられうることを認識するであろう。
開示される技術は、オンラインコンテンツ管理システムを介して共有されるコンテンツに対してアクセス許可を設定することへの、当該技術分野における要求を満たす。一例では、オンラインコンテンツ管理システムの第1ユーザは、ファイルを含むディレクトリなどの彼のコンテンツアイテムのコレクションを他のユーザ(「レシピエンツ」)と共有してもよい。第1ユーザからのコンテンツ共有に同意すると、レシピエンツは共有ディレクトリおよび任意のそれに含まれるファイルのローカル表現(すなわち、共有コンテンツのローカル表現)を再構成してもよい。レシピエンツによるローカル表現の許されていない/認められていない変更または削除を防ぐように、レシピエンツの共有コンテンツのローカル表現に関連するアクセス許可が設定されてもよい。しかしながら、第1ユーザは読み書き許可を維持してもよく、それにより、彼は共有コンテンツに対して変更や削除を行うことができる。レシピエンツの共有コンテンツのローカル表現は、第1ユーザによってなされた変更や削除を含むようにオンラインコンテンツ管理システムによって更新されてもよい。
開示される技術の種々の実施の形態の実現に関して、図1には、例示的なシステム構成100が示される。このシステム構成100では、複数の電子デバイスが、コンテンツや他のデータを交換する目的でネットワークを介して通信する。システムは、図1に示されるように、ワイドエリアネットワーク上で使用されるよう構成されてもよい。しかしながら、本原理は、電子デバイス間の通信を促進する様々な種類のネットワーク構成に適用可能である。例えば、図1のシステム100の各コンポーネントは、ネットワークにおいて局在的または分散的に実装されてもよい。
システム100では、直接および/または間接通信によりネットワーク104と接続された複数のクライアントデバイス102、102、…、102(「102」と総称する)を通じて、ユーザはコンテンツ管理システム106と相互に作用してもよい。コンテンツ管理システム106は、デスクトップコンピュータや、モバイルコンピュータや、携帯電話、スマートフォン、タブレットなどのモバイル通信デバイスや、スマートテレビジョンや、セットトップボックスや、他の任意のネットワーク可能な計算デバイスなどの多種多様なクライアントデバイスからの接続をサポートしてもよい。クライアントデバイス102のタイプや性能やオペレーティングシステムなどはいろいろであってよい。さらにコンテンツ管理システム106は、複数のクライアントデバイス102からの接続を同時に受け付けて相互作用を行ってもよい。
クライアントデバイス102にインストールされたクライアント側アプリケーションを介して、ユーザはコンテンツ管理システム106と相互に作用してもよい。ある実施の形態では、クライアント側アプリケーションはコンテンツ管理システム用のコンポーネントを含んでもよい。例えば、コンポーネントはスタンドアローンアプリケーションやひとつ以上のアプリケーションプラグインやブラウザエクステンションであってもよい。しかしながら、クライアントデバイス102に存在しコンテンツ管理システム106と通信するよう構成されたウェブブラウザなどの第3者アプリケーションを介して、ユーザはコンテンツ管理システム106と相互に作用してもよい。いずれの場合でも、クライアント側アプリケーションは、ユーザがコンテンツ管理システム106と相互作用するためのユーザインタフェース(UI)を提供してもよい。例えば、ファイルシステムと統合されたクライアント側アプリケーションを介して、またはウェブブラウザアプリケーションを使用して表示されたウェブページを介して、ユーザはコンテンツ管理システム106と相互に作用してもよい。
コンテンツ管理システム106は、ユーザによるコンテンツの格納や、コンテンツの取得、変更、ブラウズ、および/または共有などの種々のコンテンツ管理タスクの実行を可能としてもよい。さらにコンテンツ管理システム106は、ユーザが複数のクライアントデバイス102からコンテンツにアクセスすることを可能としてもよい。例えば、クライアントデバイス102はネットワーク104を介してコンテンツ管理システム106にコンテンツをアップロードしてもよい。そのコンテンツは後に、同じクライアントデバイス102または他のクライアントデバイス102を使用してコンテンツ管理システム106から取得されてもよい。
種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム106にアカウントを生成してもよい。アカウント情報はユーザアカウントデータベース150に維持されてもよい。ユーザアカウントデータベース150は、登録ユーザについてのプロファイル情報を保持してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および/または電子メールアドレスのみであってもよい。しかしながら、コンテンツ管理システム106は追加的なユーザ情報を受け入れるよう構成されてもよい。
ユーザアカウントデータベース150は、有料/無料の別などのアカウントタイプや、ファイル編集履歴などの利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール124は、ユーザアカウントデータベース150におけるユーザアカウントの詳細を更新および/または取得するよう構成されてもよい。アカウント管理モジュール124は、コンテンツ管理システム106の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
アカウントは、そのアカウントで認証されたひとつ以上のクライアントデバイス102から、デジタルデータやドキュメントやテキストファイルや音声ファイルやビデオファイルなどのコンテンツを格納するために使用されてもよい。コンテンツは、フォルダまたは異なる振る舞いを伴うコンテンツアイテムを一緒にグループ化する他のメカニズム、例えばコレクションやプレイリストやアルバムなど、を含んでもよい。例えば、アカウントは、任意のユーザからアクセス可能なパブリックフォルダを含んでもよい。パブリックフォルダにはウェブアクセス可能なアドレスが割り当てられてもよい。ウェブアクセス可能なアドレスへのリンクを使用してパブリックフォルダのコンテンツにアクセスしてもよい。他の例では、アカウントは、写真に適する特定の属性やアクションを提供する写真用の写真フォルダや、音声ファイルを再生する能力を提供し他の音声関連アクションを実行する音声フォルダや、他の特殊用途フォルダを含んでもよい。アカウントは、複数のユーザアカウントとリンクされそれらのアカウントから利用可能な共有フォルダまたはグループフォルダを含んでもよい。ある共有フォルダについての複数のユーザに対する複数のパーミッションは異なっていてもよい。
コンテンツはコンテンツストレージ160に保持されてもよい。コンテンツストレージ160は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ160は、ひとつ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。コンテンツ管理システム106がクライアントデバイス102に対して複雑さと詳細とを隠すことで、クライアントデバイス102は、コンテンツアイテムがコンテンツ管理システム106によって正確にどこに保持されているのかを知る必要はない。ある変形例では、コンテンツ管理システム106は、クライアントデバイス102上に現れるフォルダ階層と同じフォルダ階層でコンテンツアイテムを保持してもよい。しかしながら、コンテンツ管理システム106は自身の順序や構成や階層でコンテンツアイテムを保持してもよい。コンテンツ管理システム106は、ネットワークアクセス可能ストレージ(SAN)デバイスや、廉価ディスクの冗長アレイ(RAID)などにコンテンツアイテムを保持してもよい。コンテンツストレージ160は、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、BTRFSなどのひとつ以上のパーティションタイプを使用して、コンテンツアイテムを保持してもよい。
コンテンツストレージ160は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを保持してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として保持されてもよいし、別個に保持されてもよい。ある変形例では、コンテンツストレージ160に保持される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
コンテンツストレージ160は、重複したファイルやファイルの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。複数の複製を保持する代わりに、コンテンツストレージ160は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ160はファイルをより効率的に保持できるだけでなく、ファイルへの変更や異なるバージョンのファイル(分岐バージョンツリーを含む)や変更履歴を追うファイルバージョン制御を使用することで、操作をやり直す能力を提供してもよい。変更履歴は、元のファイルバージョンに適用された場合、変更後のファイルバージョンを生成する一組の変更を含んでもよい。
コンテンツ管理システム106はひとつ以上のクライアントデバイス102からのコンテンツの自動同期をサポートするよう構成されてもよい。同期はプラットフォーム不可知的であってもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス102に亘って同期されてもよい。例えば、クライアントデバイス102はクライアントソフトウエアを含んでもよい。このソフトウエアは、コンテンツ管理システム106の同期モジュール132を介して、クライアントデバイス102のファイルシステムのなかのコンテンツを関連するユーザアカウントの下のコンテンツと同期させる。ある場合では、クライアントソフトウエアは、新たな、削除された、変更された、複製された、または移動されたファイルやフォルダなどの、指定されたフォルダおよびそのサブフォルダのコンテンツに対する任意の変更を同期させてもよい。クライアントソフトウエアは別個のソフトウエアアプリケーションであってもよく、またはオペレーティングシステム中の既存のコンテンツ管理アプリケーションに統合されていてもよく、またはそれらの組み合わせであってもよい。既存のコンテンツ管理アプリケーションに統合されるクライアントソフトウエアの一例では、ユーザはローカルフォルダ内で直接コンテンツを操作し、その間、バックグラウンド処理は変更がないかローカルフォルダを監視し、そのような変更の同期をコンテンツ管理システム106に対して実行する。逆に、バックグラウンド処理はコンテンツ管理システム106において更新されたコンテンツを特定し、そのような変更の同期をローカルフォルダに対して実行してもよい。クライアントソフトウエアは同期操作の通知を提供してもよく、コンテンツ管理アプリケーションの中で直接、コンテンツ状態の表示を提供してもよい。クライアントデバイス102が利用可能なネットワーク接続を有さない場合がある。このシナリオでは、クライアントソフトウエアはファイル変更がないかリンクされたフォルダを監視し、後にネットワーク接続が利用可能となったときにコンテンツ管理システム106に対して同期を実行するべくそのような変更をキューに入れてもよい。同様に、ユーザは、コンテンツ管理システム106との同期を手動で止めるか一時停止してもよい。
ユーザは、ユーザインタフェースモジュール122によって生成され提供されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム106によって提供されるウェブアドレスへと辿り着いてもよい。ファイルの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ160のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のクライアントデバイス102へと伝搬されてもよい。例えば、それぞれが自身のクライアントソフトウエアを有する複数のクライアントデバイス102は単一のアカウントと関連付けられていてもよく、そのアカウントのファイルは複数のクライアントデバイス102のそれぞれの間で同期されてもよい。
コンテンツ管理システム106は、アプリケーションプログラミングインタフェース(API)を介して他のコンテンツおよび/またはサービスプロバイダ109、109、…、109(「109」と総称する)と相互に作用可能な通信インタフェース120であって種々のクライアントデバイス102とのインタフェースとしての通信インタフェース120を含んでもよい。所定のソフトウエアアプリケーションは、ユーザの代わりに、APIを介してコンテンツストレージ160にアクセスしてもよい。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム106を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、APIは、ウェブサイトを通じてユーザがコンテンツストレージ160の全てまたは一部にアクセスすることを可能としてもよい。
コンテンツ管理システム106は認証モジュール126を含んでもよい。この認証モジュール126は、ユーザの資格証明やセキュリティトークンやAPIコールや特定のクライアントデバイスなどを検証し、認証されたクライアントおよびユーザのみがファイルにアクセスできることを確実なものとしてもよい。さらに、コンテンツ管理システム106は解析モジュール134モジュールを含んでもよい。この解析モジュール134は集合的ファイル操作やユーザアクションやネットワーク利用状況や使用されているトータルのストレージスペースや、他の技術的、利用状況的またはビジネス上の指標を追い、それについて報告してもよい。プライバシーおよび/またはセキュリティポリシーは、コンテンツ管理システム106に保持されるユーザデータへの許可を得ないアクセスを防止してもよい。
コンテンツ管理システム106は、公にまたは私的にコンテンツを共有することを管理するための共有モジュール130を含んでもよい。公にコンテンツを共有することは、コンテンツアイテムを、コンテンツ管理システム106とネットワーク通信可能な任意の計算デバイスからアクセス可能とすることを含んでもよい。私的にコンテンツを共有することは、コンテンツストレージ160のコンテンツアイテムを2以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。共有は、プラットフォーム不可知的態様でなされてもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス102に亘って共有されてもよい。コンテンツは、種々のタイプのユーザアカウントに亘って共有されてもよい。
ある実施の形態では、コンテンツ管理システム106は、コンテンツストレージ160における各コンテンツアイテムの位置を特定するコンテンツディレクトリを維持するよう構成されてもよい。コンテンツディレクトリは、コンテンツストレージに保持される各コンテンツアイテムに対して一意のコンテンツエントリを含んでもよい。
コンテンツエントリは、コンテンツ管理システムにおけるコンテンツアイテムの位置を特定するために使用されるコンテンツパスを含んでもよい。例えば、コンテンツパスはコンテンツアイテムの名前とコンテンツアイテムに関連するフォルダ階層とを含んでもよい。例えば、コンテンツパスは、コンテンツアイテムの名前に加えて、そのコンテンツアイテムが置かれているフォルダまたはフォルダのパスを含んでもよい。コンテンツ管理システム106はコンテンツパスを使用して、コンテンツアイテムを適切なフォルダ階層の中で提示してもよい。
コンテンツエントリは、コンテンツストレージ160におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツポインタはメモリにおけるコンテンツアイテムの正確なストレージアドレスを含んでもよい。ある実施の形態では、コンテンツポインタは複数の位置を指してもよく、複数の位置のそれぞれはコンテンツアイテムの一部を含む。
コンテンツパスおよびコンテンツポインタに加えて、コンテンツエントリはコンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含んでもよい。ある実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
私的にコンテンツアイテムを共有するために、共有モジュール130は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加し、それにより追加されたユーザアカウントにコンテンツアイテムへのアクセスを与えるよう構成される。共有モジュール130は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を除くよう構成されてもよい。
公にコンテンツを共有するために、共有モジュール130はユニフォームリソースロケータ(URL)などのカスタムネットワークアドレスを生成するよう構成されてもよい。このカスタムネットワークアドレスにより、任意のウェブブラウザが、コンテンツ管理システム106のコンテンツに認証なしでアクセスすることが可能となる。これを達成するために、共有モジュール130は生成されるURLにコンテンツ特定データを含めるよう構成されてもよい。コンテンツ特定データは、後に、要求されたコンテンツアイテムを適切に特定して返すために使用されてもよい。例えば、共有モジュール130は、生成されるURLにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。URLが選択されると、URLに含まれるコンテンツ特定データはコンテンツ管理システム106に送信されてもよい。コンテンツ管理システム106は受信したコンテンツ特定データを使用して適切なコンテンツエントリを特定し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返してもよい。
URLを生成することに加えて、共有モジュール130はコンテンツアイテムへのURLが生成されたことを記録するよう構成されてもよい。ある実施の形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、そのコンテンツアイテムへのURLが生成されたか否かを示すURLフラグを含んでもよい。例えば、URLフラグは、コンテンツアイテムへのURLがまだ生成されていないことを示すために最初に0またはfalseに設定されるブール値であってもよい。共有モジュール130は、コンテンツアイテムへのURLを生成した後はフラグの値を1またはtrueに変更するよう構成されてもよい。
ある実施の形態では、共有モジュール130は生成されたURLを非活性化するよう構成されてもよい。例えば、各コンテンツエントリは、要求に応じて生成されたURLからコンテンツが返されるべきか否かを示すURLアクティブフラグを含んでもよい。例えば、共有モジュール130は、URLアクティブフラグが1またはtrueに設定されている場合にのみ、生成されたリンクによって要求されるコンテンツアイテムを返すよう構成されてもよい。したがって、URLが既に生成されたコンテンツアイテムへのアクセスは、URLアクティブフラグの値を変更することにより、容易に制限されうる。これにより、ユーザは、コンテンツアイテムを移動したり生成されたURLを削除したりしなくても、共有コンテンツアイテムへのアクセスを制限できる。同様に、共有モジュール130は、URLアクティブフラグの値を1またはtrueに変えることでURLを再活性化してもよい。したがって、ユーザは、新たなURLを生成する必要なしにコンテンツアイテムへのアクセスを容易に復活させることができる。
具体的なコンポーネントを有するコンテンツ管理システム106が提示されたが、システム106のアーキテクチャ構成は単なる可能なひとつの構成であり、より多いまたはより少ないコンポーネントを有する他の構成もまた可能であることは、当業者には理解されるべきである。
図2を参照すると、図2は、共有コンテンツのアクセス許可が設定されうる例示的な環境を示す。図2の例示的な環境200はコンテンツ管理システム202(例えば図1のコンテンツ管理システム106)を含んでもよい。コンテンツ管理システム202は、ディレクトリおよび/または他のコンテンツアイテムなどのデータを保持するのに使用されてもよい。例えば、図2に示されるように、コンテンツ管理システム202はとりわけフォルダN204を保持してもよい。フォルダN204はファイルX206などのコンテンツアイテムを含んでもよく、そのようなコンテンツアイテムもまたコンテンツ管理システム202に保持されている。
図2に示されるように、コンテンツ管理システム202はユーザA210、ユーザB220、ユーザC230およびユーザD240などの複数のユーザによって使用されてもよい。ある実施の形態では、各ユーザは対応するユーザアカウントを有してもよい。例えば、エンティティ(例えば、ユーザ)はコンテンツ管理システム202にアカウント(例えば、ユーザアカウント)を登録するか、サインアップしてもよい。ある実施の形態では、コンテンツ管理システム202はエンティティに、アカウントと共に該エンティティが使用できるある量のストレージスペースを提供してもよい。ある場合には、ユーザアカウントは通常のユーザアカウント、無料ユーザアカウント、プレミアムユーザアカウント、有料ユーザアカウント、仮のユーザアカウント、ゲストユーザアカウントなどに対応してもよい。
図2では、ファイルX206を含むフォルダN204はユーザA210(またはユーザA210のユーザアカウント)に関連付けられ(例えば、所有され、所属し、など)てもよい。例えば、ユーザA210はコンテンツ管理システム202にユーザアカウントをサインアップしていてもよい。コンテンツ管理システム202はユーザAのユーザアカウントに対してある量のストレージスペース208を割り当てていてもよい。ユーザA210はコンテンツ管理システム202によってユーザAのアカウントに割り当てられたストレージスペース208内に、ファイルX206を含むフォルダN204を格納してもよい。
一例では、ユーザA210は、3人の同僚すなわちユーザB220、ユーザC230、ユーザD240とコンテンツ管理システム202を介してファイルX206を含むフォルダN204を共有したいと決定してもよい。ユーザA210はファイルX206およびフォルダN204を共有するための少なくとも2つの方法を有してもよい。1番目のアプローチでは、ユーザA210はシステム202上のフォルダN204に関連するリンクを送り、3人の同僚(ユーザB220、ユーザC230およびユーザD240)はリンクにアクセスしてファイルX206のローカルコピーを含む共有フォルダN204のローカルコピーをダウンロードすることを選択してもよい。2番目のアプローチでは、ユーザA210はファイルX206を含むフォルダN204のディレクトリを3人の同僚と共有してもよく、4人のユーザ(ユーザA210、ユーザB220、ユーザC230またはユーザD240)の誰もがフォルダN204のコンテンツすなわちファイルX206を変更(削除を含む)してもよい。
この例では、ファイルX206はユーザA210が定期的に改訂するビジネスレポートであってもよい。ユーザA210は、彼の3人の同僚がレポートの最新改訂版をいつでも見ることができるようにしておきたいと思ってもよい。この場合、ユーザA210は1番目のアプローチを使用すべきでない。なぜなら、1番目のアプローチの下では、3人の同僚は各同僚の計算デバイスに共有コンテンツ(例えば、ファイルX206)のローカルコピーをダウンロードすることとなり、その結果ユーザA210による共有コンテンツ(例えば、ファイルX206)への将来の改訂や変更は3人の同僚のローカルコピーには反映されないからである。したがって、ユーザA210は2番目のアプローチを使用してコンテンツを共有すべきである。
しかしながら、2番目のアプローチの下では、コンテンツを共有する全てのユーザ(例えば、ユーザA、B、CおよびD)は共有コンテンツに対して読み書き許可を有しうる。言い換えると、2番目のアプローチの下では、コンテンツを共有する全てのユーザが共有コンテンツの最新版にアクセス可能ではあるものの、それらのユーザの誰もが共有コンテンツを変更し、または削除することが可能である。
例を続けると、ユーザA210は彼の同僚に経済レポート(例えば、ファイルX206)の最新版を有してほしいと願うものの、ユーザA210は彼の同僚が彼の許可無くレポートを変更、削除できることは望まない。したがって、本開示の種々の実施の形態は、共有コンテンツのひとつ以上のアクセス許可が上述の懸念および他の問題を解決するように設定されることを可能とする。
図3を参照すると、共有コンテンツに対するアクセス許可を設定するための例示的なシステムの実施の形態が示される。例示的なシステムの実施の形態300は、コンテンツ管理システム302(例えば、図1のコンテンツ管理システム106)と、計算デバイス310と、計算デバイス320と、計算デバイス330と、計算デバイス340と、を含んでもよい。図3の例では、計算デバイス310はユーザAに関連付けられ(例えば、使用され、所有されなど)てもよく、計算デバイス320はユーザBに、計算デバイス330はユーザCに、計算デバイス340はユーザDに、関連付けられてもよい。
ある実施の形態では、図3の例に示されるように、各計算デバイス(例えば、310、320、330および340)は、コンテンツ管理システム302と共に動作するよう構成されたクライアント側アプリケーション(例えば、311、321、331および341)を実行していてもよい。各クライアント側アプリケーション(例えば、311、321、331および341)は、それに対応するユーザ(例えば、ユーザA、ユーザB、ユーザCおよびユーザD)がそのユーザのアカウントに保持されるデータと相互に作用することを可能としてもよい。
図3では、各クライアント側アプリケーション(すなわち、クライアントアプリケーション、クライアントアプリ、クライアントソフトウエアなど)はそれに対応するユーザがそのユーザのアカウントに保持されるコンテンツアイテムのコレクションを閲覧し、それにアクセスし、またはそうでなければそれと相互作用することを可能としてもよい。このコンテンツアイテムのコレクションは他のユーザアカウントによってそのユーザのアカウントと共有されたコンテンツを含む。図3に示されるように、例えば、ユーザAはコンテンツアイテムN304(例えば、ディレクトリN304)と共にディレクトリN304に含まれるコンテンツアイテムX306(例えばファイルX306)を「所有」する。ユーザAはコンテンツ管理システム302における彼のユーザアカウント308にディレクトリN304を格納してもよい。さらに、ユーザAの計算デバイス310において、ディレクトリN304のローカル表現312が維持されてもよい。ユーザAの計算デバイス310において、コンテンツアイテムX306のローカル表現314が維持されてもよい。
例を続けると、ユーザA(すなわち所有者)はユーザB、ユーザC、ユーザDなどのひとつ以上の他のユーザ(すなわちレシピエンツ)と彼のディレクトリN304およびコンテンツアイテムX306を共有してもよい。ある実施の形態では、ユーザAは計算デバイス310上で実行されているクライアントアプリケーション311を使用して、ユーザAがユーザB、CおよびDとコンテンツアイテムX306を含むディレクトリN304を共有したいと思っていることを示すコマンドをコンテンツ管理システム302に送ってもよい。コンテンツ管理システム302は次に各レシピエンツユーザB、CおよびDに(すなわち、各ユーザB、CおよびDのユーザアカウントに)メッセージを送り、レシピエンツユーザがユーザAの共有コンテンツを受け入れることに同意するか否かを尋ねてもよい。
ユーザAからのコンテンツの共有を受け入れることへのレシピエンツユーザの同意に応じて、コンテンツ管理システム302はそのレシピエンツユーザのクライアントアプリケーション(例えば、ユーザBのクライアントアプリ321、ユーザCのクライアントアプリ331、ユーザDのクライアントアプリ341など)と通信してもよい。各クライアントアプリは対応するレシピエンツユーザの計算デバイスにおける共有コンテンツのダウンロードおよび再構成版の生成を促してもよい。この例では、ユーザB、CおよびDはユーザAの共有コンテンツを受け入れることに同意し、各クライアントアプリ321、331および341はコンテンツ管理システム302からディレクトリN304およびコンテンツアイテムX306を表すデータをダウンロードしてもよい。各クライアントアプリ321、331および341は、対応するユーザのためにディレクトリN304およびコンテンツアイテムX306の再構成版の生成を促してもよい。これにより、ユーザBの計算デバイス320においては再構成されたディレクトリN322および再構成されたコンテンツアイテムX324が生成され、ユーザCの計算デバイス330においては再構成されたディレクトリN332および再構成されたコンテンツアイテムX334が生成され、ユーザDの計算デバイス340においては再構成されたディレクトリN342および再構成されたコンテンツアイテムX344が生成される。
さらに、レシピエンツユーザ(例えば、ユーザB、CおよびD)が共有コンテンツ(例えば、ディレクトリNおよびコンテンツアイテムX)を変更したり削除したりすることを防ぐために、ある実施の形態では、各クライアントアプリは対応するユーザの計算デバイスのオペレーティングシステムと通信し、共有コンテンツに関連する(すなわち、対応するユーザの計算デバイス上の共有コンテンツの再構成版に関連する)アクセス許可を設定してもよい。図3に示されるように、レシピエンツユーザに対するアクセス許可は、レシピエンツユーザが読み取りコマンドを起動できるが書き込みコマンドは起動できないように設定されていてもよい。言い換えると、レシピエンツユーザの計算デバイスにおける再構成されたコンテンツに対するアクセス許可は、読み取り専用に設定されていてもよい。したがって、図3では、レシピエンツユーザ(例えば、ユーザB、CおよびD)は共有コンテンツを読み取る(例えば、閲覧する、開く、実行するなど)ことはできるが、共有コンテンツへの書き込み(例えば、変更、削除)に対するアクセスは有していない。
しかしながら、ユーザAは共有コンテンツの所有者として読み書き許可を維持する。ユーザAは共有コンテンツを閲覧し、開き、実行し、変更し、および/または削除することができる。さらに、ユーザAが共有コンテンツ(例えば、ディレクトリNのコンテンツアイテムX)を変更したか削除した場合、レシピエンツユーザにおける共有コンテンツの再構成版のそれぞれもまた、ユーザAによってなされた変更または削除を含むように更新されるであろう。言い換えると、ユーザAによる共有コンテンツの変更や削除は、レシピエンツユーザのデバイスにおける共有コンテンツの再構成版に反映されるか有効となってもよい。しかしながら、読み取り専用許可を有するレシピエンツユーザは簡単には共有コンテンツを変更したり削除したりすることはできない。
さらに、ある実施の形態では、読み書き許可を有するコンテンツアイテムの共有コレクションの所有者は共有コレクションに追加的なコンテンツアイテムを追加してもよく、その結果、コレクションを共有するレシピエンツユーザもまたその再構成されたコレクションに追加的なコンテンツアイテムの再構成版を生成するであろう。言い換えると、例えば、ユーザAがディレクトリN312にファイルZ(図3では不図示)を追加する場合、ファイルZはシステム302のディレクトリN304に複製/再構成され、また各レシピエンツユーザの再構成ディレクトリN322、332および342にも複製/再構成されるであろう。
さらに、ある場合には、レシピエンツユーザは所有者によるレシピエンツユーザとのコンテンツ共有を終わらせるか止めたいと思うであろう。ある実施の形態では、レシピエンツユーザは彼の計算デバイスから再構成されたディレクトリ(の全部)またはコンテンツのコレクションを消去してもよい。これにより、再構成されたディレクトリやコレクションに含まれる再構成されたデータがレシピエンツユーザの計算デバイスから消去されてもよい。レシピエンツユーザによるこの動作により、所有者によるレシピエンツユーザとのコンテンツ共有は終わるか止まる。
図4を参照すると、共有コンテンツに対するアクセス許可を設定するための例示的なシステムの実施の形態が示される。例示的なシステムの実施の形態400は、コンテンツ管理システム400と、計算デバイス410、420、430および440と、を含んでもよい。図4の例では、計算デバイス410はユーザAに関連付けられていてもよく、ユーザAはコンテンツアイテムN404(例えば、ディレクトリN404)などのコンテンツアイテムのコレクションの所有者であってもよい。この例では、ディレクトリN404は始めにコンテンツアイテムX406(例えば、ファイルX406)を含んでもよい。ディレクトリN404およびコンテンツアイテムX406それぞれのローカル表現412および414はユーザAの計算デバイス410に含まれていてもよい。
図4の例では、ユーザAはレシピエンツユーザB、CおよびDと彼のディレクトリN(例えば、404、414)を共有している。したがって、ユーザBの計算デバイス420はディレクトリNの再構成版422とコンテンツアイテムXの再構成版424とをローカルで生成している。同様に、ユーザCの計算デバイス430はディレクトリNの再構成版432とコンテンツアイテムXの再構成版434とをローカルで生成している。同様に、ユーザDの計算デバイス440はディレクトリNの再構成版442とコンテンツアイテムXの再構成版444とをローカルで生成している。
ある実施の形態では、ユーザAは読み書きの両方の許可をひとつ以上のレシピエンツユーザに与えることを選択してもよい。例えば、図4に示されるように、ユーザAは読み書き許可をユーザDに与えることを選択してもよく、一方ユーザBおよびCには読み取り専用許可を付与してもよい。例を続けると、ユーザDは読み書きの両方の許可を有しているので、そのディレクトリN442のローカル版にコンテンツアイテムY446を追加してもよい。ユーザDは共有ディレクトリ(例えば、ディレクトリN)にデータを書き込む許可(ユーザAによって与えられた)を有しているので、コンテンツアイテムY446の追加はコンテンツ管理システム402において有効になり、またディレクトリNの各ユーザのローカル表現(例えば、ユーザAのローカルディレクトリN412、ユーザBのローカルディレクトリN422およびユーザCのローカルディレクトリN432)においても有効になってもよい。言い換えると、システム402のディレクトリN404は、ユーザDによる彼のローカルディレクトリN442へのコンテンツアイテムY446の追加にしたがい、コンテンツアイテムY408を複製/再構成してもよい。同様に、ユーザDの行動により、ユーザAのローカルディレクトリN412はコンテンツアイテムY416を複製/再構成するように更新されてもよく、ユーザBのローカルディレクトリN422はコンテンツアイテムY426を複製/再構成してもよく、ユーザCのローカルディレクトリN432はコンテンツアイテムY436を複製/再構成してもよい。同じ議論により、ある実施の形態では、ユーザDは既存の共有コンテンツ(図4では不図示)を変更または削除してもよい。その結果、ユーザDによる変更または削除は、システム302およびディレクトリNを共有する他のユーザ(ユーザA、BおよびC)のそれぞれのローカルディレクトリNに反映されるかまたは有効になってもよい。
図5は、共有コンテンツに対するアクセス許可を設定するための例示的なシステムの実施の形態を示す。図5の例示的なシステムの実施の形態500は、コンテンツ管理システム502と、計算デバイス510、520、530および540と、を含んでもよい。図5の例では、コンテンツ管理システム502のコンテンツアイテムN504(例えば、ディレクトリN504)はコンテンツアイテムX506(例えば、ファイルX506)およびコンテンツアイテムY508(例えば、ファイルY508)を含んでもよい。ディレクトリN504はユーザA、B、CおよびDの間で共有されてもよい。
ディレクトリN504はユーザA、B、CおよびDの間で共有されるので、各ユーザはコンテンツアイテムXおよびYのローカル表現を含むディレクトリNのローカル表現を生成してもよい。特に、ユーザBの計算デバイス520はローカルコンテンツアイテムX524およびY526を伴うローカルディレクトリN522を含んでもよく、ユーザCの計算デバイス530はローカルコンテンツアイテムX534およびY536を伴うローカルディレクトリN532を含んでもよく、ユーザAおよびDについても同様である。
例を続けると、ある実施の形態では、ディレクトリN504の所有者はどの共有ユーザがどの許可を得るかを選択してもよい。したがって、例えば、ユーザAはユーザBおよびCに読み取り専用許可を付与する一方、ユーザDに読み/書き許可を与えてもよい。したがって、ユーザDは共有コンテンツ(例えば、コンテンツアイテムXおよびY)にアクセスし、それを変更し、および/または削除することができる。一方ユーザBおよびCは共有コンテンツにアクセスすることができるのみである。
ある場合には、ユーザのデバイス上で実行されるクライアントアプリは共有コンテンツを監視し、ユーザが該ユーザに割り当てられたアクセス設定/許可に反して(例えば許可無く)共有コンテンツの削除を試みた場合、ユーザのアカウントおよび/またはデバイスにおいて共有コンテンツが復活されてもよい。ある実施の形態では、ユーザが該ユーザに割り当てられたアクセス設定/許可に反して(例えば許可無く)共有コンテンツアイテムを削除した場合、ユーザのデバイス(またはユーザのデバイス上で実行されるクライアントアプリ)はこの違反的(例えば、許されていない/認められていない)削除を認識し、システム502と通信してコンテンツアイテムを再ダウンロード、再構成、および/または復活してもよい。例えば、図5では、ユーザBは共有コンテンツアイテムX524およびY526に対して読み取り専用許可を有する。したがって、ユーザBがコンテンツアイテムY526の削除を試みた場合、コンテンツアイテムY526は置き換えられ/再構成され/復活し528てもよい。
さらに、ある例では、ユーザのデバイス上で実行されるクライアントアプリは共有コンテンツを監視し、ユーザが該ユーザに割り当てられた設定に反して共有コンテンツの変更を試みた場合、その変更は共有コンテンツの新たに生成されたローカルコピーに適用されてもよく、この場合共有コンテンツは変更されないままとされる。言い換えると、例えば、ユーザが許可無く共有コンテンツアイテムを変更しようとした場合、ユーザのデバイス(または、ユーザのデバイス上で実行されているクライアントアプリ)は共有コンテンツアイテムのローカルコピー(例えば、補助的なコンテンツアイテム)の生成を促し、変更をそのローカルコピーに適用してもよい。例えば、図5に示されるように、ユーザCは共有コンテンツアイテムX534およびY536に対して読み取り専用許可を有する。したがって、ユーザCがコンテンツアイテムX534を変更しようと試みた場合、コンテンツアイテムX534のコピーとしてコンテンツアイテムX’538がローカルで生成され、変更はコンテンツアイテムX’538に適用され、それによりコンテンツアイテムX534が変更されないままとされてもよい。さらに、コンテンツアイテムX’538はシステムディレクトリN504や他のローカルディレクトリNの表現(512、522、542)に対して反映されず、影響を与えず、および/または更新もされない。ユーザCは書き込み許可を有していないからである。
さらに、ある場合には、レシピエンツユーザは所有者によるレシピエンツユーザとのコンテンツ共有を終わらせるか止めたいと思うであろう。ある実施の形態では、レシピエンツユーザは彼の計算デバイスから再構成されたディレクトリ(の全部)またはコンテンツのコレクションを消去してもよい。これにより、再構成されたディレクトリやコレクションに含まれる再構成されたデータがレシピエンツユーザの計算デバイスから消去されてもよい。レシピエンツユーザによるこの動作により、所有者によるレシピエンツユーザとのコンテンツ共有は終わるか止まる。
図6に関して、共有コンテンツに対するアクセス許可を設定するための例示的なユーザインタフェースが示される。図6では、例示的なユーザインタフェース600はコンテンツ管理システムのユーザが共有コンテンツに対するアクセス許可を設定することを可能としてもよい。例えば、ユーザAはコンテンツ管理システムの彼のアカウントにサインインし、例示的なユーザインタフェース600を使用してコンテンツ共有を管理してもよい。
ある実施の形態では、コンテンツを共有するユーザのそれぞれに対するアクセス許可を設定するのに便利なひとつ以上の入力があってもよい。図6の例に示されるように、ユーザAはインタフェース600に含まれるトグルスイッチを使用して、レシピエンツユーザ(例えば、ユーザB、C、D、E、Fなど)がどのアクセス許可を有するかを設定してもよい。この例では、ユーザBおよびCはユーザAとのコンテンツ共有に同意しており、読み取り専用許可を有している。ユーザDもまたユーザAとのコンテンツ共有を受け入れているが、ユーザDには読み書き両方の許可が与えられている。さらに、ユーザEおよびFはユーザAにより共有コンテンツへアクセスするよう招待されているが、それらのユーザはまだ同意していないか受け入れていない。ユーザEおよびFがコンテンツ共有に同意するかそれを受け入れた場合、ユーザAにより設定されている通り、それらのユーザは読み取り専用許可を得るであろう。
図7は、共有コンテンツに対するアクセス許可を設定するための例示的な方法の実施の形態を示す。そうでないと宣言されない限り、種々の実施の形態の範囲内において、追加の、より少ない、または代替のステップが同様のまたは代替的な順序でまたは並列に実行されうることは理解されるべきである。例示的な方法の実施の形態700は、ステップ702において、ソースディレクトリなどのコンテンツのソースコレクションを少なくともひとつの第2ユーザアカウントと共有するためのインストラクションを第1ユーザアカウントから受けてもよい。第1ユーザアカウントおよび少なくともひとつの第2ユーザアカウントはオンラインコンテンツ管理システムと関連付けられていてもよい。さらに、ディレクトリは、少なくともひとつの第2ユーザアカウントと共有されるべきひとつ以上のソースコンテンツアイテムを含んでもよい。例示的な方法の実施の形態700は、ステップ704において、ソースディレクトリおよびひとつ以上のソースコンテンツアイテムが少なくともひとつの第2ユーザアカウントと共有されることに少なくともひとつの第2ユーザアカウントが同意することを示す情報を受けてもよい。言い換えると、少なくともひとつの第2ユーザアカウントは第1ユーザアカウントからのコンテンツ共有の受け入れを示してもよい。
方法700は、少なくともひとつの第2ユーザアカウントにおいて、ソースディレクトリおよびひとつ以上のソースコンテンツアイテムを再構成させてもよい。ステップ706において、ソースディレクトリおよびひとつ以上のソースコンテンツアイテムはそれぞれ、再構成されたディレクトリおよび該再構成されたディレクトリ内のひとつ以上の再構成されたコンテンツアイテムへと再構成されてもよい。方法700は、少なくともひとつの第2ユーザアカウントにおいてひとつ以上の再構成されたコンテンツアイテムが変更されたり削除されたりするのを防ぐようにひとつ以上のアクセス許可が構成されるようにしてもよい。この場合、変更や削除は、第1ユーザアカウントによって少なくともひとつの第2ユーザアカウントに対して割り当てられたひとつ以上の設定との衝突を引き起こす。
図8は、共有コンテンツに対するアクセス許可を設定するための例示的な方法の実施の形態を示す。上述の通り、そうでないと宣言されない限り、種々の実施の形態の範囲内において、追加の、より少ない、または代替のステップが同様のまたは代替的な順序でまたは並列に実行されうることは理解されるべきである。例示的な方法の実施の形態800は、ステップ802で、オンラインコンテンツ管理システムにおいて、ディレクトリなどのコンテンツのコレクションとコレクションまたはディレクトリに含まれるデータとを保持することで始まってもよい。ある実施の形態では、ディレクトリおよびデータはオンラインコンテンツ管理システムのソースユーザアカウントと関連付けられていてもよい。ある場合には、ソースユーザアカウントはディレクトリに含まれるデータに対して読み書き許可を有してもよい。
ステップ804において、方法800はデータを含むディレクトリをひとつ以上のレシピエンツユーザアカウントと共有してもよい。ある実施の形態では、ディレクトリに含まれるデータに対して許される変更や削除が生じた場合、その変更や削除はソースユーザアカウントおよびひとつ以上のレシピエンツユーザアカウントにおいて反映されるか有効となるか更新されてもよい。ステップ806は、ひとつ以上のレシピエンツユーザアカウントのうちの少なくともいくつかがディレクトリに含まれるデータを変更したり削除したりすることを防ぐように、ディレクトリに含まれるデータに関連するひとつ以上のアクセス許可が設定されるようにすることを含んでもよい。この場合、変更や削除は、ひとつ以上のレシピエンツユーザアカウントに対して割り当てられたひとつ以上の設定との衝突を引き起こす。
図9は、共有コンテンツに対するアクセス許可を設定するための例示的な方法の実施の形態を示す。再び、そうでないと宣言されない限り、種々の実施の形態の範囲内において、追加の、より少ない、または代替のステップが同様のまたは代替的な順序でまたは並列に実行されうることは理解されるべきである。ステップ902において、例示的な方法の実施の形態900は、オンラインコンテンツ管理システムから、計算デバイスとの共有対象のディレクトリなどのコンテンツのコレクションおよび該ディレクトリに含まれるデータについての情報を受けてもよい。データを含むディレクトリはソースユーザアカウントと関連付けられてもよい。
ステップ904は、計算デバイスにおいて、受けた情報に少なくとも部分的に基づいてディレクトリと該ディレクトリに含まれるデータとを再構成することを含んでもよい。次に方法900は、計算デバイスにおいて再構成されたディレクトリに含まれる再構成されたデータに関連するアクセス許可を設定するために、計算デバイスのオペレーティングシステムと通信してもよい。アクセス許可は、計算デバイスにおいて再構成されたデータが変更されたり削除されたりするのを防ぐように設定されてもよい。この場合、変更や削除は、ソースユーザアカウントによって計算デバイスに対して割り当てられたひとつ以上の設定との衝突を引き起こす。
ある実施の形態では、共有コンテンツアイテムのアクセス許可に関連するひとつ以上の設定は共有コンテンツアイテムのメタデータに保持されてもよい。
ある実施の形態では、読み取り専用共有コンテンツアイテムは、アプリケーションプログラミングインタフェース(API)クライアントを含む全てのクライアントに対して適用されてもよい。一例では、コンテンツ管理システムは、コンテンツ管理システムのためのアプリケーション(すなわち、アプリ)を開発する第三者ソフトウエアディベロッパにAPIを提供してもよい。この例では、第三者ディベロッパがAPIを使用してユーザの読み取り専用データへのアクセスを得る場合、データが第三者ディベロッパのアプリケーションへと送信されるおよび/またはそのアプリケーションから受信されるときにも、ユーザの読み取り専用データに対する読み取り専用アクセス許可は強制されるべきである。
種々の実施の形態は、アクセス許可に対する許されていない/認められていない変更を監視してもよい。ある実施の形態では、クライアントアプリは、ユーザの計算デバイスにおいて、ひとつ以上のアクセス許可が許可/承諾無く変更されたことを決定してもよい。それに応じて、クライアントアプリは、オペレーティングシステムと通信し、アクセス許可のひとつ以上の以前の設定にしたがい、ひとつ以上のアクセス許可を元に戻してもよい。
図10Aおよび図10Bを参照すると、図10Aおよび図10Bは、例示的な可能なシステムの実施の形態を示す。本技術を実施する場合に、より好適な実施の形態は当業者には明らかであろう。他のシステムの実施の形態が可能であることは、当業者には容易に理解されるであろう。
図10Aは、通常のシステムバス計算システムアーキテクチャ1000を示す。システムのコンポーネントはバス1005を使用して互いに電気的に通信可能となっている。例示的なシステム1000は、処理ユニット(CPUすなわちプロセッサ)1010と、読み取り専用メモリ(ROM)1020やランダムアクセスメモリ(RAM)1025などのシステムメモリ1015を含む各種のシステムコンポーネントをプロセッサ1010に接続するシステムバス1005と、を含む。システム1000は、プロセッサ1010に直接接続されているか、近接しているか、あるいはその一部として統合されている高速メモリのキャッシュを含んでもよい。システム1000は、データをメモリ1015および/またはストレージデバイス1030からキャッシュ1012へコピーして、プロセッサ1010が高速でアクセスできるようにしてもよい。このようにして、キャッシュは、データを待っている間のプロセッサ1010の遅延を回避するパフォーマンスブーストを提供してもよい。これらおよびその他のモジュールは、各種の動作を行うようにプロセッサ1010を制御するか、または制御するように構成されてもよい。その他のシステムメモリ1015が同様に使用可能であってもよい。メモリ1015は、異なる性能特性を持つ複数の異なるタイプのメモリを含んでもよい。プロセッサ1010は、いかなる汎用プロセッサを含んでもよいし、プロセッサ1010を制御するように構成されたハードウエアモジュールまたはソフトウエアモジュール、例えばストレージデバイス1030の中に格納されたモジュール1 1032、モジュール2 1034、モジュール3 1036を含んでもよいし、実際のプロセッサ設計の中にソフトウエアインストラクションが組み込まれている専用プロセッサを含んでもよい。プロセッサ1010は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含んでいる、完全に自己完結型のコンピュータシステムであってもよい。マルチコアプロセッサは、対称でも非対称でもよい。
ユーザと計算デバイス1000との対話を可能にするため、入力デバイス1045は、音声用マイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、動作入力、音声等、いくつもの入力メカニズムを表してもよい。出力デバイス1035は、当業者には公知の複数の出力メカニズムのうちの1つ以上であってもよい。場合によっては、マルチモーダルシステムによって、ユーザが、計算デバイス1000と通信するための複数のタイプの入力を行うことが可能になる。通常、通信インタフェース1040が、ユーザ入力とシステム出力とを管理してもよい。特定のハードウェア構成上で動作することについての制限はなく、従って、本明細書での基本的な特徴は、改良型のハードウェア構成やファームウェア構成が開発されれば、それらと容易に置き換わりうる。
ストレージデバイス1030は不揮発性メモリである。ストレージデバイス1030はハードディスクや、コンピュータによってアクセス可能でありかつデータを保持可能な他のタイプのコンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタルバーサタイルディスク、カートリッジ、ランダムアクセスメモリ(RAMs)1025、読み取り専用メモリ(ROM)1020、それらのハイブリッド、等であってもよい。
ストレージデバイス1030は、プロセッサ1010を制御するためのソフトウエアモジュール1032、1034、1036を含んでいてもよい。その他のハードウエアモジュールやソフトウエアモジュールも考えられる。ストレージデバイス1030は、システムバス1005に接続されていてもよい。一態様では、或る機能を行うハードウエアモジュールは、プロセッサ1010、バス1005、ディスプレイ1035等のような、その機能を実行するのに必要なハードウエアコンポーネントと関連してコンピュータ可読媒体の中に格納されたソフトウエアコンポーネントを含んでもよい。
図10Bは、説明された方法を実行したりグラフィカルユーザインタフェース(GUI)を生成して表示したりする際に使用可能なチップセットアーキテクチャを有するコンピュータシステム1050を示す。コンピュータシステム1050は、開示された技術を実施するのに使用可能なコンピュータハードウエア、ソフトウエアおよびファームウエアの一例である。システム1050はプロセッサ1055を含んでもよい。プロセッサ1055は、ソフトウエア、ファームウエアおよび特定された計算を行うよう構成されたハードウエアを実行可能な、任意の数の物理的および/または論理的に別個のリソースを表す。プロセッサ1055は、プロセッサ1055への入力およびプロセッサ1055からの出力を制御可能なチップセット1060と通信してもよい。本例では、チップセット1060はディスプレイなどの出力1065へ情報を出力し、ストレージデバイス1070に対して情報の読み書きを行ってもよい。ストレージデバイス1070は例えば磁気媒体やソリッドステート媒体を含んでもよい。チップセット1060はまた、RAM1075からデータを読み出し、RAM1075へデータを書き込んでもよい。チップセット1060とのインタフェースのために、種々のユーザインタフェースコンポーネント1085とのインタフェースとなるブリッジ1080が提供されてもよい。そのようなユーザインタフェースコンポーネント1085は、キーボードやマイクロフォンやタッチ検出および処理回路やマウスなどのポインティングデバイスなどを含んでもよい。一般に、システム1050への入力は種々のソースのうちの任意のものから来てもよく、または機械により生成されおよび/または人により生成されてもよい。
チップセット1060は、異なる複数の物理的インタフェースを有しうるひとつ以上の通信インタフェース1090と連結されてもよい。そのような通信インタフェースは、有線および無線ローカルエリアネットワークとのインタフェースと、ブロードバンド無線ネットワークとのインタフェースと、パーソナルエリアネットワークとのインタフェースと、を含んでもよい。本明細書で開示されるGUIを生成し表示し使用する方法のいくつかの応用は、物理的なインタフェースを介して順序付けられたデータセットを受けること、または順序付けられたデータセットがプロセッサ1055がストレージ1070または1075に保持されるデータを解析することで機械そのものにより生成されることを含んでもよい。さらに、機械はユーザインタフェースコンポーネント1085を介してユーザから入力を受け、プロセッサ1055を使用してこれらの入力を解釈することで、ブラウズ機能などの適切な機能を実行してもよい。
例示的なシステム1000および1050はひとつ以上のプロセッサ1010を有してもよく、または処理能力を高めるためにネットワーク化された計算デバイスのグループまたはクラスタの一部であってもよいことは理解されるであろう。
説明の明確化のため、ある例では、本技術はデバイスやデバイスコンポーネントやソフトウエアで実施される方法のステップまたはルーチンやハードウエアとソフトウエアとの組み合わせを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
ある実施の形態では、コンピュータ可読保持デバイス、媒体およびメモリは、ビットストリームを含むケーブルや無線信号などを含んでもよい。しかしながら、言及される場合、非一時的コンピュータ可読保持媒体は、エネルギやキャリア信号や電磁波や信号そのものなどの媒体を明示的に除外する。
上述の例に係る方法は、コンピュータ可読媒体に保持されるかそうでなければその媒体から利用可能なコンピュータ実行可能インストラクションを使用して実装されてもよい。そのようなインストラクションは、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに所定の機能もしくは機能のグループを実行させるかそうでなければ実行するよう設定するインストラクションおよびデータを含んでもよい。使用されるコンピュータリソースの一部はネットワークを介してアクセス可能であってもよい。コンピュータ実行可能インストラクションは、例えば、バイナリや、アセンブリ言語などの中間フォーマットインストラクションや、ファームウエアや、ソースコードであってもよい。インストラクション、使用される情報、および/または説明された例に係る方法中に生成される情報を保持するのに使用されうるコンピュータ可読媒体の例は、磁気または光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイスなどを含む。
本開示に係る方法を実装するデバイスはハードウエア、ファームウエアおよび/またはソフトウエアを含んでもよく、種々の形状ファクタのうちの任意のものをとりうる。そのような形状ファクタの典型的な例は、ラップトップや、スマートフォンや、小さい形状ファクタのパーソナルコンピュータや、パーソナルデジタルアシスタントなどを含む。本明細書で説明される機能は周辺機器やアドインカードにおいて実現されてもよい。さらなる例として、そのような機能は回路基板上で異なる複数のチップの間でまたは単一デバイスで実行される異なる複数の処理の間で実現されてもよい。
インストラクション、そのようなインストラクションを運ぶための媒体、そのようなインストラクションを実行するための計算リソース、およびそのような計算リソースをサポートするための他の構成は、本開示で説明される機能を提供するための手段である。
添付の請求項の範囲内の態様を説明するために様々な例および他の情報が使用されたが、そのような例における特定の特徴や構成に基づくいかなる請求項の限定も暗示されてはならない。当業者であれば、これらの例を使用して多種多様な実装を導くことができるであろう。さらに、いくつかの主題が構造的特徴および/または方法ステップの例に特有の言語で記述されたかもしれないが、添付の請求項で規定される主題はこれらの記述された特徴や行為に限定される必要はないことは理解されるべきである。例えば、そのような機能は異なるように分散されてもよいし、本明細書で特定されたもの以外のコンポーネントで実行されてもよい。むしろ、記述された特徴およびステップは、添付の請求項の範囲内のシステムおよび方法のコンポーネントの例として開示される。

Claims (20)

  1. システムであって、
    プロセッサとコンピュータ可読記憶媒体と前記コンピュータ可読記憶媒体に保持されるコンピュータ可読インストラクションとを備え、
    前記コンピュータ可読インストラクションは、前記プロセッサによって実行された場合、前記システムに、
    第1ユーザアカウントに関連するコンテンツアイテムを第2ユーザアカウントと共有するためのインストラクションを受けることであって、前記コンテンツアイテムは前記第1ユーザアカウントにおいて読み書き許可が割り当てられ、前記インストラクションは前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを示すことと、
    前記第2ユーザアカウントにおいて認証されたクライアントデバイス前記コンテンツアイテムを再構成させ、前記クライアントデバイス上の前記コンテンツアイテムに読み取り専用許可を割り当てることと、
    前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記コンテンツアイテムを変更せずに残したまま前記変更を含む前記コンテンツアイテムのコピーを生成するためのインストラクションを前記クライアントデバイスに送ることと、を行わせるのに有効であり、
    前記コンテンツアイテムの前記コピーには前記クライアントデバイスにおいて読み書き許可が割り当てられることを特徴とするシステム。
  2. 前記コンピュータ可読インストラクションは前記システムにさらに、
    前記第1ユーザアカウントにおいて前記コンテンツアイテムに対する変更が生じたことを決定することと、
    前記クライアントデバイス上の前記コンテンツアイテムを前記第1ユーザアカウントにおいて変更された前記コンテンツアイテム同期させ、前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることと、を行わせることを特徴とする請求項1に記載のシステム。
  3. 前記コンピュータ可読インストラクションは前記システムにさらに、
    前記第2ユーザアカウントにおいて前記コンテンツアイテム消去が試みられたことを決定することと、
    前記クライアントデバイス上の前記コンテンツアイテムを前記システム上の前記コンテンツアイテムと同期させることと、を行わせ、
    前記同期させることは、前記コンテンツアイテムを前記クライアントデバイスにダウンロードし、前記クライアントデバイスにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを含むことを特徴とする請求項1または2に記載のシステム。
  4. 前記コンピュータ可読インストラクションは前記システムにさらに、
    前記第2ユーザアカウントによる前記コンテンツアイテムの変更または削除を可能とするためのコマンドを前記第1ユーザアカウントから受けることと、
    前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可を割り当てることと、を行わせることを特徴とする請求項1から3のいずれか一項に記載のシステム。
  5. 前記コンピュータ可読インストラクションは前記システムにさらに、
    前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可が割り当てられた場合に、前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記システム上の前記コンテンツアイテムを変更された前記コンテンツアイテム同期させ、かつ、前記第1ユーザアカウントにおいて読み書き許可を割り当てることを行わせることを特徴とする請求項4に記載のシステム。
  6. 第1ユーザアカウントに関連するコンテンツアイテムを第2ユーザアカウントと共有するためのインストラクションを受けることであって、前記コンテンツアイテムは前記第1ユーザアカウントにおいて読み書き許可が割り当てられ、前記インストラクションは前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを示すことと、
    前記第2ユーザアカウントにおいて認証されたクライアントデバイス前記コンテンツアイテムを少なくともひとつのプロセッサを介して再構成させ、前記クライアントデバイス上の前記コンテンツアイテムに読み取り専用許可を割り当てることと、
    前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記コンテンツアイテムを変更せずに残したまま前記変更を含む前記コンテンツアイテムのコピーを生成するためのインストラクションを前記クライアントデバイスに送ることと、を含み、
    前記コンテンツアイテムの前記コピーには前記クライアントデバイスにおいて読み書き許可が割り当てられることを含むことを特徴とするコンピュータに実装される方法。
  7. 前記第1ユーザアカウントにおいて前記コンテンツアイテムに対する変更が生じたことを決定することと、
    前記クライアントデバイス上の前記コンテンツアイテムを前記第1ユーザアカウントにおいて変更された前記コンテンツアイテム同期させ、前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることと、をさらに含むことを特徴とする請求項6に記載のコンピュータに実装される方法。
  8. 前記第2ユーザアカウントにおいて前記コンテンツアイテム消去が試みられたことを決定することと、
    前記クライアントデバイス上の前記コンテンツアイテムを前記コンピュータ上の前記コンテンツアイテムと同期させることと、をさらに含み、
    前記同期させることは、前記コンテンツアイテムを前記クライアントデバイスにダウンロードし、前記クライアントデバイスにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを含むことを特徴とする請求項6または7に記載のコンピュータに実装される方法。
  9. 前記第2ユーザアカウントによる前記コンテンツアイテムの変更または削除を可能とするためのコマンドを前記第1ユーザアカウントから受けることと、
    前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可を割り当てることと、をさらに含むことを特徴とする請求項6から8のいずれか一項に記載のコンピュータに実装される方法。
  10. 前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可が割り当てられた場合に、前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記コンピュータ上の前記コンテンツアイテムを変更された前記コンテンツアイテム同期させ、かつ、前記第1ユーザアカウントにおいて読み書き許可を割り当てることをさらに含むことを特徴とする請求項9に記載のコンピュータに実装される方法。
  11. 第1ユーザアカウントに関連するコンテンツアイテムを第2ユーザアカウントと共有するためのインストラクションを受けることであって、前記コンテンツアイテムは前記第1ユーザアカウントにおいて読み書き許可が割り当てられ、前記インストラクションは前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを示す機能と、
    前記第2ユーザアカウントにおいて認証されたクライアントデバイス前記コンテンツアイテムを少なくともひとつのプロセッサを介して再構成させ、前記クライアントデバイス上の前記コンテンツアイテムに読み取り専用許可を割り当てる機能と、
    前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記コンテンツアイテムを変更せずに残したまま前記変更を含む前記コンテンツアイテムのコピーを生成するためのインストラクションを前記クライアントデバイスに送る機能と、をシステムに実現させ、
    前記コンテンツアイテムの前記コピーには前記クライアントデバイスにおいて読み書き許可が割り当てられることを含むことを特徴とするコンピュータプログラム。
  12. 前記第1ユーザアカウントにおいて前記コンテンツアイテムに対する変更が生じたことを決定する機能と、
    前記クライアントデバイス上の前記コンテンツアイテムを前記第1ユーザアカウントにおいて変更された前記コンテンツアイテム同期させ、前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てる機能と、をさらに前記システムに実現させることを特徴とする請求項11に記載のコンピュータプログラム。
  13. 前記第2ユーザアカウントにおいて前記コンテンツアイテム消去が試みられたことを決定する機能と、
    前記クライアントデバイス上の前記コンテンツアイテムを前記システム上の前記コンテンツアイテムと同期させる機能と、をさらに前記システムに実現させ、
    前記同期させる機能は、前記コンテンツアイテムを前記クライアントデバイスにダウンロードし、前記クライアントデバイスにおいて前記コンテンツアイテムに読み取り専用許可を割り当てる機能を含むことを特徴とする請求項11または12に記載のコンピュータプログラム。
  14. 前記第2ユーザアカウントによる前記コンテンツアイテムの変更または削除を可能とするためのコマンドを前記第1ユーザアカウントから受ける機能と、
    前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可を割り当てる機能と、をさらに前記システムに実現させることを特徴とする請求項11から13のいずれか一項に記載のコンピュータプログラム。
  15. 前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可が割り当てられた場合に、前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記システム上の前記コンテンツアイテムを変更された前記コンテンツアイテム同期させ、かつ、前記第1ユーザアカウントにおいて読み書き許可を割り当てる機能をさらに前記システムに実現させることを特徴とする請求項14に記載のコンピュータプログラム。
  16. 第1ユーザアカウントに関連するコンテンツアイテムを第2ユーザアカウントと共有するためのインストラクションを受ける手段であって、前記コンテンツアイテムは前記第1ユーザアカウントにおいて読み書き許可が割り当てられ、前記インストラクションは前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを示す手段と、
    前記第2ユーザアカウントにおいて認証されたクライアントデバイス前記コンテンツアイテムを少なくともひとつのプロセッサを介して再構成させ、前記クライアントデバイス上の前記コンテンツアイテムに読み取り専用許可を割り当てる手段と、
    前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記コンテンツアイテムを変更せずに残したまま前記変更を含む前記コンテンツアイテムのコピーを生成するためのインストラクションを前記クライアントデバイスに送る手段と、を備え、
    前記コンテンツアイテムの前記コピーには前記クライアントデバイスにおいて読み書き許可が割り当てられることを含むことを特徴とするシステム。
  17. 前記第1ユーザアカウントにおいて前記コンテンツアイテムに対する変更が生じたことを決定する手段と、
    前記クライアントデバイス上の前記コンテンツアイテムを前記第1ユーザアカウントにおいて変更された前記コンテンツアイテム同期させ、前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み取り専用許可を割り当てる手段と、をさらに備えることを特徴とする請求項16に記載のシステム。
  18. 前記第2ユーザアカウントにおいて前記コンテンツアイテム消去が試みられたことを決定する手段と、
    前記クライアントデバイス上の前記コンテンツアイテムを前記システム上の前記コンテンツアイテムと同期させる手段と、をさらに備え、
    前記同期させることは、前記コンテンツアイテムを前記クライアントデバイスにダウンロードし、前記クライアントデバイスにおいて前記コンテンツアイテムに読み取り専用許可を割り当てることを含むことを特徴とする請求項16または17に記載のシステム。
  19. 前記第2ユーザアカウントによる前記コンテンツアイテムの変更または削除を可能とするためのコマンドを前記第1ユーザアカウントから受ける手段と、
    前記クライアントデバイス上の前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き専用許可を割り当てる手段と、をさらに備えることを特徴とする請求項16から18のいずれか一項に記載のシステム。
  20. 前記第2ユーザアカウントにおいて前記コンテンツアイテムに読み書き許可が割り当てられた場合に、前記コンテンツアイテムに対する変更を同期させるための要求を前記クライアントデバイスから受けることに応じて、前記システム上の前記コンテンツアイテムを変更された前記コンテンツアイテム同期させ、かつ、前記第1ユーザアカウントにおいて読み書き許可を割り当てる手段をさらに備えることを特徴とする請求項19に記載のシステム。
JP2016513143A 2013-05-28 2014-05-28 共有コンテンツのアクセス許可 Active JP6276388B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/903,547 US9325571B2 (en) 2013-05-28 2013-05-28 Access permissions for shared content
US13/903,547 2013-05-28
PCT/US2014/039707 WO2014193911A1 (en) 2013-05-28 2014-05-28 Access permissions for shared content

Publications (2)

Publication Number Publication Date
JP2016522941A JP2016522941A (ja) 2016-08-04
JP6276388B2 true JP6276388B2 (ja) 2018-02-07

Family

ID=51059583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016513143A Active JP6276388B2 (ja) 2013-05-28 2014-05-28 共有コンテンツのアクセス許可

Country Status (5)

Country Link
US (1) US9325571B2 (ja)
EP (1) EP3005108A1 (ja)
JP (1) JP6276388B2 (ja)
AU (1) AU2014274300B2 (ja)
WO (1) WO2014193911A1 (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9489390B2 (en) 2012-12-20 2016-11-08 Bank Of America Corporation Reconciling access rights at IAM system implementing IAM data model
US9495380B2 (en) 2012-12-20 2016-11-15 Bank Of America Corporation Access reviews at IAM system implementing IAM data model
US9483488B2 (en) 2012-12-20 2016-11-01 Bank Of America Corporation Verifying separation-of-duties at IAM system implementing IAM data model
US9537892B2 (en) 2012-12-20 2017-01-03 Bank Of America Corporation Facilitating separation-of-duties when provisioning access rights in a computing system
US9189644B2 (en) 2012-12-20 2015-11-17 Bank Of America Corporation Access requests at IAM system implementing IAM data model
US9542433B2 (en) 2012-12-20 2017-01-10 Bank Of America Corporation Quality assurance checks of access rights in a computing system
US9529629B2 (en) 2012-12-20 2016-12-27 Bank Of America Corporation Computing resource inventory system
US9639594B2 (en) 2012-12-20 2017-05-02 Bank Of America Corporation Common data model for identity access management data
US9477838B2 (en) * 2012-12-20 2016-10-25 Bank Of America Corporation Reconciliation of access rights in a computing system
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US9934241B2 (en) * 2013-03-05 2018-04-03 Hightail, Inc. System and method for cloud-based read-only folder synchronization
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9600582B2 (en) 2013-05-23 2017-03-21 Microsoft Technology Licensing, Llc Blocking objectionable content in service provider storage systems
US9645947B2 (en) 2013-05-23 2017-05-09 Microsoft Technology Licensing, Llc Bundling file permissions for sharing files
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9614850B2 (en) 2013-11-15 2017-04-04 Microsoft Technology Licensing, Llc Disabling prohibited content and identifying repeat offenders in service provider storage systems
US9626720B2 (en) * 2013-11-25 2017-04-18 Apple Inc. Linked user accounts
US9288283B2 (en) * 2013-12-04 2016-03-15 Dropbox, Inc. Systems and methods for managing shared content based on sharing profiles
US9703974B1 (en) * 2013-12-20 2017-07-11 Amazon Technologies, Inc. Coordinated file system security via rules
US9405904B1 (en) * 2013-12-23 2016-08-02 Symantec Corporation Systems and methods for providing security for synchronized files
US20150199397A1 (en) * 2014-01-15 2015-07-16 International Business Machines Corporation Managing content item syndication by maintaining referential integrity between remote or isolated systems
US10530854B2 (en) * 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9418232B1 (en) * 2014-07-22 2016-08-16 Symantec Corporation Providing data loss prevention for copying data to unauthorized media
US10298547B2 (en) * 2014-11-14 2019-05-21 William J. Ziebell Systems, methods, and media for a cloud based social media network
US10320727B1 (en) 2014-12-15 2019-06-11 Amazon Technologies, Inc. Managing document feedback on a sharing service using a messaging client
US10110522B1 (en) * 2014-12-15 2018-10-23 Amazon Technologies, Inc. Setting sharing options for files using a messaging client
US10335677B2 (en) 2014-12-23 2019-07-02 Matthew Daniel Fuchs Augmented reality system with agent device for viewing persistent content and method of operation thereof
US10997188B2 (en) * 2015-03-23 2021-05-04 Dropbox, Inc. Commenting in shared folder backed integrated workspaces
US11329935B2 (en) * 2015-04-23 2022-05-10 Microsoft Technology Licensing, Llc Smart attachment of cloud-based files to communications
US10277601B1 (en) * 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
US9818228B2 (en) * 2015-08-07 2017-11-14 Microsoft Technology Licensing, Llc Mixed reality social interaction
US9922463B2 (en) 2015-08-07 2018-03-20 Microsoft Technology Licensing, Llc Virtually visualizing energy
US20170068693A1 (en) * 2015-09-04 2017-03-09 Microsoft Technology Licensing, Llc. Exposing external content in an enterprise
JP6597314B2 (ja) * 2016-01-05 2019-10-30 株式会社バッファロー ファイル共有支援システム、ネットワークストレージ装置、ファイル共有支援方法、及び、ファイル共有支援プログラム
US10726363B2 (en) * 2016-06-16 2020-07-28 International Business Machines Corporation Ticket event modification for a problem tracking system ticket
US10719408B2 (en) 2016-08-03 2020-07-21 Microsoft Technology Licensing, Llc Retain locally deleted content at storage service
US10614042B2 (en) 2016-08-08 2020-04-07 Microsoft Technology Licensing, Llc Detection of bulk operations associated with remotely stored content
US10616210B2 (en) 2016-08-19 2020-04-07 Microsoft Technology Licensing, Llc Protection feature for data stored at storage service
US10579443B2 (en) 2016-12-27 2020-03-03 Dropbox, Inc. Kernel event triggers for content item security
US10402786B2 (en) 2016-12-30 2019-09-03 Dropbox, Inc. Managing projects in a content management system
JP6738022B2 (ja) * 2017-03-28 2020-08-12 富士通クライアントコンピューティング株式会社 情報処理装置、情報処理方法および情報処理プログラム
KR101961644B1 (ko) * 2017-05-19 2019-03-25 소프트캠프(주) 데이터 분산형 통합 관리시스템
WO2018221988A1 (ko) * 2017-05-31 2018-12-06 고현승 컨텐츠의 정보 제공 방법 및 시스템
US10708275B2 (en) 2017-09-06 2020-07-07 Microsoft Technology Licensing, Llc Page lock for notebook application
US10140467B1 (en) * 2017-10-16 2018-11-27 Dropbox, Inc. Workflow functions of content management system enforced by client device
US10331623B2 (en) 2017-10-16 2019-06-25 Dropbox, Inc. Workflow functions of content management system enforced by client device
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
US10986169B2 (en) 2018-04-19 2021-04-20 Pinx, Inc. Systems, methods and media for a distributed social media network and system of record
US10783012B2 (en) 2018-04-20 2020-09-22 CopyBucket, Inc. Systems and methods for efficient inter-device data exchange
US11340760B2 (en) * 2019-09-06 2022-05-24 Dropbox, Inc. Generating a customized organizational structure for uploading content to a cloud-based storage system
CN110851863B (zh) * 2019-11-07 2022-06-03 北京无限光场科技有限公司 应用程序的权限控制方法、装置以及电子设备
US11550879B2 (en) * 2020-01-19 2023-01-10 Cloudinary Ltd. System, device, and method of providing authenticity and rights verification mechanism for media content and for its derived versions
CN113835928A (zh) * 2021-09-24 2021-12-24 青岛海信移动通信技术股份有限公司 应用的备份和恢复方法、设备、存储介质和程序产品
US20230216817A1 (en) * 2021-12-30 2023-07-06 Snap Inc. Providing permissions for accessing shared content collections
US11727145B1 (en) 2022-06-10 2023-08-15 Playback Health Inc. Multi-party controlled transient user credentialing for interaction with patient health data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706510A (en) * 1996-03-15 1998-01-06 Hewlett-Packard Company Zymbolic history management system
JP2002091818A (ja) * 2000-09-14 2002-03-29 Mitsui & Co Ltd 企業間のデータファイル共有・交換システム、および業務協働システム
CN1771480A (zh) * 2003-06-10 2006-05-10 富士通株式会社 图像管理方法
US7734690B2 (en) * 2003-09-05 2010-06-08 Microsoft Corporation Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system
US9372935B2 (en) * 2008-06-30 2016-06-21 Verizon Patent And Licensing Inc. Content management and access systems and methods
US9934241B2 (en) 2013-03-05 2018-04-03 Hightail, Inc. System and method for cloud-based read-only folder synchronization

Also Published As

Publication number Publication date
EP3005108A1 (en) 2016-04-13
US9325571B2 (en) 2016-04-26
WO2014193911A1 (en) 2014-12-04
AU2014274300B2 (en) 2017-03-09
JP2016522941A (ja) 2016-08-04
US20140359085A1 (en) 2014-12-04
AU2014274300A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
JP6276388B2 (ja) 共有コンテンツのアクセス許可
US20220283992A1 (en) Prioritizing content item synchronization based on sharing
JP6175181B2 (ja) 同期したオンラインコンテンツ管理システムのためのローカルサーバ
US9628560B2 (en) Sharing a content item
JP5976258B1 (ja) ライトインストーラ
US11023424B2 (en) Migrating content items
US9246875B2 (en) Identifying and blocking prohibited content items in a content management system
JP6178867B2 (ja) コンテンツプレビューの提供
JP2016529599A (ja) コンテンツクリップボードの同期
US9613047B2 (en) Automatic content item upload
US10348821B2 (en) Prioritizing structural operations and distributing changes in a synced online content management system
US20140304384A1 (en) Uploading large content items

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170901

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180111

R150 Certificate of patent or registration of utility model

Ref document number: 6276388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250