JP2020501213A - カーネルイベントトリガ - Google Patents

カーネルイベントトリガ Download PDF

Info

Publication number
JP2020501213A
JP2020501213A JP2019512632A JP2019512632A JP2020501213A JP 2020501213 A JP2020501213 A JP 2020501213A JP 2019512632 A JP2019512632 A JP 2019512632A JP 2019512632 A JP2019512632 A JP 2019512632A JP 2020501213 A JP2020501213 A JP 2020501213A
Authority
JP
Japan
Prior art keywords
content item
content
instructions
computer
client device
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
JP2019512632A
Other languages
English (en)
Other versions
JP6876790B2 (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 JP2020501213A publication Critical patent/JP2020501213A/ja
Application granted granted Critical
Publication of JP6876790B2 publication Critical patent/JP6876790B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • 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/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • 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
    • 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
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept

Abstract

本技術はコンテンツアイテムのカーネルレベルファイルイベントに応答し、コンテンツアイテムに関連するファイルイベントウィンドウを提示することに関する。クライアントデバイスは、コンテンツアイテムのカーネルレベルファイルイベントを検出することができる。これは、コンテンツ管理システムとネットワーク接続されたクライアントデバイス上のカーネル拡張を使用して達成することができる。次いで、クライアントデバイスは、コンテンツアイテムを処理または提示するための命令を含む、コンテンツアイテムに関連するデータを取得できる。次いで、クライアントデバイスは、命令を実行することができる。この命令はコンテンツ管理システムから協調データを取り出し、ファイルイベントウィンドウ内に協調データを提示することとすることができる。

Description

本発明は、カーネルイベントトリガに関する。
[関連出願の相互参照]
本出願は2017年3月31日に出願された米国特許出願第15/475,627号、2017年3月31日に出願された米国特許出願第15/475,886号、2017年3月31日に出願された米国特許出願第15/475,735号、2017年3月31日に出願された米国特許出願第15/476,059号、および2016年12月27日に出願された米国仮出願第62/439,373号の利益を主張するものであり、それらのすべては、参照により本明細書に明示的に援用される。
協調ワークフローが普及することにつれて、システムは、同時に編集、コメント、メッセージングなどを可能にするように開発されてきた。これらの実装は、コンテンツアイテムのタイプ、システム、およびアプリケーションの間で異なる。
様々なコンテンツアイテムタイプ、システム、およびアプリケーションを使用するコラボレータは、分離されたコラボレーティブワークフローを維持することが困難である。これらの制限のために、コラボレータは通常、並列ワークフロー、すなわち、コンテンツアイテム操作のための1つのワークフローと、通信のための別のワークフローとを使用する。例えば、コラボレータは文書管理システムを使用して、コンテンツアイテムを格納し、電子メールを使用して、それらのコンテンツアイテムについて通信することができる。これらの制限の多くは、従来のデスクトップ・ファイル管理パラダイムおよびレガシーアプリケーションの結果として、協調環境に保持される。
本開示のさらなる特徴および利点は以下の説明に記載され、一部は本説明から明らかになるか、または本明細書に開示された原理の実施によって知ることができる。本開示の特徴および利点は、添付の特許請求の範囲において特に指摘される機器および組み合わせによって実現および獲得され得る。本開示のこれらの特徴および他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになるか、または本明細書に記載の原理の実施によって理解することができる。
カーネルイベントトリガのためのシステム、方法、および非一時的なコンピュータ可読記憶媒体が開示される。
カーネル・レベル・ファイル・イベントに応答して命令を実行するための例示的なコンピュータ実施方法は、コンテンツアイテムのカーネル・レベル・ファイル・イベントを検出することを含む。これは、コンテンツ管理システムとネットワーク接続されたクライアントデバイス上のカーネル拡張を使用して達成することができる。次いで、クライアントデバイスは、コンテンツアイテムを処理または提示するための命令を含む、コンテンツアイテムに関連するデータを取得できる。次いで、クライアントデバイスは、命令を実行することができる。この命令はコンテンツ管理システムから協調データを取り出し、協調データを提示し、ファイルへのアクセスまたは権利を制限することなどであり得る。
本開示の上記および他の利点および特徴は、添付の図面に示されるその特定の実施形態を参照することによって明らかになるのであろう。これらの図面は本開示の例示的な実施形態のみを示し、したがって、その範囲を限定すると考えられるべきではないことを理解すると、本明細書の原理は、添付の図面を使用することによって、さらなる特異性および詳細を伴って記述され、説明される:
いくつかの実施形態に従う、装置およびネットワークの例示的な構成を示す。 様々な実施形態に従うカーネルレベルファイルイベントを検出するための例示的な方法を示す。 様々な実施形態に従うイベント命令を実行するための例示的な方法を示す。 様々な実施形態に従う、コンテンツアイテムを復号するための例示的な方法を示す。 様々な実施形態に従う、コンテンツアイテムの提示を適応させるための例示的な方法を示す。 様々な実施形態に従う、コンテンツアイテムを動的に変換するための例示的な方法を示す。 様々な実施形態に従う例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、復号のために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、データ紛失防止のために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、署名取得のために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、バジェットを追跡するために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、コンテンツアイテムを購入するために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、コンテンツアイテムのフォーマット選択のために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、コンテンツアイテムの代替バージョンを選択するために使用される例示的なファイルイベントウィンドウを示す。 様々な実施形態に従う、コンテンツアイテムに関連する変更を記録するために使用される例示的なファイルイベントウィンドウを示す。 は、様々な実施形態に従う、コンテンツアイテムエクスポートのために使用される例示的なファイルイベントウィンドウを示す。 は本技術の各種実施形態を実装するための例示的な可能なシステム実施形態を示す。 本技術の各種実施形態を実装するための例示的な可能なシステム実施形態を示す。
本開示の様々な実施形態が、以下で詳細に説明される。特定の実施形態が説明されているが、これは例示の目的のためだけに行われていることを理解されたい。当業者は、本開示の精神および範囲から逸脱することなく、他の構成要素および構成が使用され得ることを認識するのであろう。
開示された技術の様々な実施形態を実装することに関して、例示的なシステム構成100が図1に示され、電子デバイスは、コンテンツおよび他のデータを交換する目的でネットワークを介して通信する。本システムは、図1に示すような広域ネットワーク上で使用するように構成することができる。しかし、本原理は、電子デバイスの相互通信を容易にする多種多様なネットワーク構成に適用可能である。例えば、図1のシステム100の構成要素の各々は、ネットワークにおいてローカライズされたまたは分散された様式で実装され得る。
システム100では、ユーザが直接および/または間接通信によってネットワーク104に接続されたクライアントデバイス102、102、..., 102n(集合的に「102」)を介して、コンテンツ管理システム106(例えば、オンライン同期コンテンツ管理システム、またはコンテンツ管理システムサーバ)と対話することができる。コンテンツ管理システム106はデスクトップコンピュータ、モバイルコンピュータ、モバイル通信デバイス、例えば、モバイル電話、スマートフォン、タブレット、スマートテレビ、セットトップボックス、および/または任意の他のネットワーク対応コンピューティングデバイスなどの様々な異なるクライアントデバイスからの接続をサポートすることができる。クライアントデバイス102は、様々なタイプ、機能、オペレーティングシステム等のものとすることができる。さらに、コンテンツ管理システム106は、複数のクライアントデバイス102からの接続を同時に受け入れ、複数のクライアントデバイス102とインタラクトすることができる。
ユーザは、クライアントデバイス102iにインストールされたネットワーク化されたコンテンツアイテムクライアント側アプリケーションを介して、コンテンツ管理システム106とインタラクトすることができる。いくつかの実施形態では、クライアント側アプリケーションがコンテンツ管理システム特有のコンポーネントを含むことができる。例えば、当該コンポーネントは、スタンドアロンアプリケーション、1つ以上のアプリケーションプラグイン、および/またはブラウザ拡張とすることができる。しかし、ユーザはクライアントデバイス102i上に常駐し、コンテンツ管理システム106と通信するように構成されたウェブブラウザなどのサードパーティアプリケーションを介して、コンテンツ管理システム106とインタラクトすることもできる。いずれの場合も、クライアント側アプリケーションは、ユーザがコンテンツ管理システム106とインタラクトするためのユーザインターフェース(UI)を提示することができる。例えば、ユーザは、ファイルシステムと統合されたクライアント側アプリケーションを介して、またはウェブブラウザアプリケーションを使用して表示されるウェブページを介して、コンテンツ管理システム106とインタラクトすることができる。
コンテンツ管理システム106は、ユーザがコンテンツを格納すること、ならびにコンテンツを取得、変更、ブラウジング、および/または共有するなど、様々なコンテンツ管理タスクを実行することを可能にすることができる。さらに、コンテンツ管理システム106は、ユーザが複数のクライアントデバイス102からコンテンツにアクセスすることを可能にすることができる。例えば、クライアントデバイス102iは、ネットワーク104を介してコンテンツ管理システム106にコンテンツをアップロードすることができる。その後、同じクライアントデバイス102iまたは他の何らかのクライアントデバイス102jが、コンテンツ管理システム106からコンテンツを取得することができる。
様々なコンテンツ管理サービスを容易にするために、ユーザは、コンテンツ管理システム106を用いてアカウントを作成することができる。ユーザアカウントデータベース150は、アカウント情報を維持することができる。ユーザアカウントデータベース150は、登録ユーザのプロファイル情報を格納することができる。場合によっては、ユーザプロファイル内の唯一の個人情報をユーザ名および/または電子メールアドレスとすることができる。しかし、コンテンツ管理システム106は、誕生日、住所、課金情報などの追加のユーザ情報を受け入れるように構成することもできる。
ユーザアカウントデータベース150はアカウントタイプ(例えば、無料または有料)、使用情報(例えば、ファイル編集履歴)、許可された最大保存スペース、使用された保存スペース、コンテンツ保存場所、セキュリティ設定、個人コンフィグレーション設定、コンテンツ共有データなどのアカウント管理情報を含むことができる。アカウント管理モジュール124は、ユーザアカウントデータベース150内のユーザアカウント詳細を更新および/または取得するように構成することができる。アカウント管理モジュール124は、コンテンツ管理システム106内の任意の数の他のモジュールとインタラクトするように構成することができる。
アカウントはアカウント上で許可された1つまたは複数のクライアントデバイス102から、デジタルデータ、ドキュメント、テキストファイル、オーディオファイル、ビデオファイルなどのコンテンツを格納するために使用することができる。また、コンテンツは、フォルダ、プレイリスト、アルバムなどの異なる挙動と共にコンテンツアイテムをグループ化するためのコレクションを含むことができる。例えば、アカウントは、任意のユーザがアクセス可能なパブリックフォルダを含むことができる。公開フォルダには、webアクセス可能なアドレスを割り当てることができる。ウェブアクセス可能な宛先へのリンクは、パブリックフォルダのコンテンツにアクセスするために使用することができる。別の例では、アカウントは、写真用に意図され、写真用に調整された特定の属性およびアクションを提供する写真コレクション、オーディオファイルを再生し、他のオーディオ関連アクションを実行する能力を提供するオーディオコレクション、または他の特殊目的コレクションを含むことができる。アカウントはまた、複数のユーザアカウントにリンクされ、利用可能な共有コレクションまたはグループコレクションを含むことができる。複数のユーザに対する許可は、共有コレクションに対して異なっていてもよい。
コンテンツは、コンテンツストレージ160に記憶することができる。コンテンツストレージ160は、記憶装置、複数の記憶装置、またはサーバとすることができる。代替として、コンテンツストレージ160は、1つ以上の通信ネットワークを介してアクセス可能なクラウド・ストレージ・プロバイダまたはネットワーク・ストレージとすることができる。コンテンツ管理システム106はクライアントデバイス102がコンテンツ管理システム106によってコンテンツアイテムがどこに、またはどのように格納されているかを正確に知る必要がないように、クライアントデバイス102から複雑さおよび詳細を隠すことができる。いくつかの実施形態では、コンテンツ管理システム106がコンテンツアイテムがクライアントデバイス102i上に現れるのと同じコレクション階層内にコンテンツアイテムを格納することができる。しかし、コンテンツ管理システム106は、コンテンツアイテムをそれ自体の順序、配置、または階層で格納することができる。
コンテンツ管理システム106は、コンテンツアイテムを、NAS(ネットワークアクセス可能ストレージ)装置、RAID(独立ディスクの冗長アレイ)などに格納することができる。コンテンツストレージ160は、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、HFS/HFS+、BTRFSなどの1つ以上のパーティションタイプを使用してコンテンツアイテムを格納することができる。
コンテンツストレージ160はまた、コンテンツアイテム、コンテンツアイテムタイプ、および様々なアカウント、コレクション、またはグループに対するコンテンツアイテムの関係を記述するメタデータを格納することができる。コンテンツアイテムのメタデータはコンテンツアイテムの一部として格納することができ、または別々に格納することができる。一変形例では、コンテンツストレージ160に格納された各コンテンツアイテムに、システム全体にわたる一意の識別子を割り当てることができる。
コンテンツストレージ160は、重複コンテンツアイテムまたはコンテンツアイテムの重複セグメントを識別することによって必要とされるストレージスペースの量を低減することができる。複数のコピーを格納する代わりに、コンテンツストレージ160は単一のコピーを格納し、次いで、ポインタまたは他のメカニズムを使用して、複製を単一のコピーにリンクすることができる。同様に、コンテンツストレージ160はコンテンツアイテムへの変更、コンテンツアイテムの異なるバージョン(分岐バージョンツリーを含む)、および変更履歴を追跡するコンテンツアイテムバージョンコントロールを使用することによって、コンテンツアイテムをより効率的に格納することができ、また、アンドゥ動作の能力を提供することができる。変更履歴は、元のコンテンツアイテムバージョンに適用されると、変更されたコンテンツアイテムバージョンを生成する1組の変更を含むことができる。
コンテンツ管理システム106は、1つ以上のクライアントデバイス102からのコンテンツの自動同期をサポートするように構成することができる。同期は、プラットフォーム非依存とすることができる。すなわち、コンテンツは、様々なタイプ、機能、オペレーティングシステムなどの複数のクライアントデバイス102にわたって同期させることができる。例えば、クライアントデバイス102iはクライアントソフトウェアを含むことができ、クライアントソフトウェアは、コンテンツ管理システム106の同期モジュール132を介して、クライアントデバイス102iのファイルシステム内のコンテンツを、関連するユーザアカウント内のコンテンツと同期させる。場合によっては、クライアントソフトウェアが新しい、削除された、変更された、コピーされた、または移動されたコンテンツアイテムまたはコレクションなど、指定されたコレクションおよびそのサブコレクション内のコンテンツに対する任意の変更を同期させることができる。クライアントソフトウェアは別個のソフトウェアアプリケーションとすることができ、オペレーティングシステム内の既存のコンテンツ管理アプリケーションと統合することができ、またはそれらの何らかの組合せとすることができる。既存のコンテンツ管理アプリケーションと統合するクライアントソフトウェアの一例では、ユーザがローカルコレクション内のコンテンツアイテムを直接操作することができ、一方、バックグラウンドプロセスは変更についてローカルコレクションを監視し、それらの変更をコンテンツ管理システム106に同期させる。逆に、バックグラウンドプロセスはコンテンツ管理システム106で更新されたコンテンツを識別し、それらの変更をローカルコレクションに同期させることができる。クライアントソフトウェアは同期動作の通知を提供することができ、コンテンツ管理アプリケーション内でコンテンツ状態の指示を直接提供することができる。場合によっては、クライアントデバイス102iが利用可能なネットワーク接続を有さなくてもよい。このシナリオでは、クライアントソフトウェアがコンテンツアイテムの変更についてリンクされたコレクションを監視し、ネットワーク接続が利用可能であるときに、コンテンツ管理システム106への後の同期のために、これらの変更をキューに入れることができる。同様に、ユーザは、コンテンツ管理システム106との同期を手動で開始、停止、一時停止、または再開することができる。
ユーザは、ユーザインターフェース部122によって生成され、提供されるウェブインターフェースを介して、コンテンツを閲覧または操作することができる。例えば、ユーザは、ウェブブラウザにおいて、コンテンツ管理システム106によって提供されるウェブアドレスにナビゲートすることができる。コンテンツアイテムの新しいバージョンをアップロードするなど、ウェブインターフェースを介して行われるコンテンツストレージ160内のコンテンツの変更または更新は、ユーザのアカウントに関連付けられた他のクライアントデバイス102に戻るように伝播することができる。例えば、それぞれが独自のクライアントソフトウェアを有する複数のクライアントデバイス102を単一のアカウントに関連付けることができ、アカウント内のコンテンツアイテムを複数のクライアントデバイス102のそれぞれの間で同期させることができる。
コンテンツ管理システム106は様々なクライアントデバイス102とインタフェースするための通信インタフェース120を含むことができ、アプリケーションプログラムインターフェース(API)を介して他のコンテンツおよび/またはサービスプロバイダ109、109、...,109n(集合的に「109」)とインタラクトすることができる。特定のソフトウェアアプリケーションは、ユーザの代わりにAPIを介してコンテンツストレージ160にアクセスすることができる。例えば、スマートフォンまたはタブレットコンピューティングデバイス上で実行されるアプリなどのソフトウェアパッケージはユーザが認証情報(credentials)を提供するときに、コンテンツ管理システム106に直接呼び出しをプログラム的に行って、コンテンツを読み取り、書き込み、作成、削除、共有、または他の方法で操作することができる。同様に、APIは、ユーザがウェブサイトを介してコンテンツストレージ160の全部または一部にアクセスすることを可能にすることができる。
コンテンツ管理システム106はまた、認証モジュール126を含むことができ、認証モジュール126は許可されたクライアントおよびユーザのみがコンテンツアイテムにアクセスできることを確実にするために、ユーザ信用情報、セキュリティトークン、API呼び出し、特定のクライアントデバイスなどを検証することができる。さらに、コンテンツ管理システム106は、集合ファイル操作、ユーザアクション、ネットワーク使用量、使用される全格納スペース、ならびに他の技術、使用量、またはビジネスメトリックについて追跡し、報告することができる分析モジュール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または偽に設定されたブール値とすることができる。共有モジュール130は、コンテンツアイテムへのURLを生成した後、フラグの値を1または真に変更するように構成することができる。
いくつかの実施形態では、共有モジュール130が生成されたURLを非アクティブ化するように構成することもできる。例えば、各コンテンツエントリは、生成されたURLからの要求に応答してコンテンツを返すべきかどうかを示すURLアクティブフラグを含むこともできる。例えば、共有モジュール130はURLアクティブフラグが1または真に設定されている場合にのみ、生成されたリンクによって要求されたコンテンツアイテムを返すように構成することができる。このように、URLアクティブフラグの値を変更することにより、URLが生成されたコンテンツへのアクセスを容易に制限することができる。これにより、ユーザはコンテンツアイテムを移動したり、生成されたURLを削除したりすることなく、共有コンテンツアイテムへのアクセスを制限することができる。同様に、共用モジュール130はURLアクティブフラグの値を再び1または真に変更することにより、URLを再活性化することができる。したがって、ユーザは、新しいURLを生成する必要なく、コンテンツアイテムへのアクセスを容易に復元することができる。
コンテンツ管理システム106には特定のコンポーネントが提示されているが、当業者であれば、システム106のアーキテクチャ上の構成は単に1つの可能性のある構成であり、より多くのまたはより少ないコンポーネントを有する他の構成も可能であることを理解されたい。
図2は、様々な実施形態に従う、コンテンツアイテムのカーネルレベルファイルイベントを検出するための例示的な方法200を示す。例示的な方法200を実行するシステム(例えば、クライアントデバイス102)は、開始すると、コンテンツアイテムのカーネルレベルファイルイベントを検出することができる(ステップ202)。コンテンツ管理システムクライアントアプリケーションは例示的な方法200の少なくともいくつかを実行するために、クライアントデバイス102上のオペレーティングシステムのためのカーネル拡張を有することができる。本明細書で使用される「カーネル」は、ハードウェアとインタフェースするタスクを管理するオペレーティングシステムの中心部分である。「ハードウェア」は物理ハードウェア、シミュレートされたハードウェア(例えば、仮想マシン、ネットワークリソース、ドライブのパーティション、バッファ、RAMなどにおける。)、またはハードウェアコンポーネントの同様の機能を有する任意のシステムを意味し得ることを理解されたい。同様に、「カーネル・レベル・ファイル・イベント」は、ファイル、コンテンツアイテム、またはハードウェア(または同様の)レベルのリソースを扱う任意のイベントとすることができる。例えば、ファイルのロード(例えば、ファイルのオープンまたはアクセス)、ファイルの保存、ファイルの変更、ファイルプロパティへのアクセス、ファイルプロパティの変更、ファイルの移動、ファイルの複製、ファイルのデフラグなどである。カーネル・レベル・ファイル・イベントはたとえそれが達成されなくても(例えば、もはや存在しないファイルにアクセスしようと試みること、十分な許可なしにファイルを開こうと試みることなど)、前述のいずれか1つを行う試みとすることができることを理解されたい。カーネル・レベル・ファイル・イベントは、クライアントデバイス102のオペレーティングシステムのカーネルにインストールされた、クライアントデバイス102のカーネル拡張を使用して検出することができる。
いくつかの実施形態ではカーネル・レベル・ファイル・イベントがステップ202を直接トリガすることができ、あるいはシステムがカーネル・レベル・ファイル・イベントを(例えば、ログを参照することによって)監視し、そのようなイベントがログ内で検出されたときにステップ202を開始することができる。いくつかの実施形態ではステップ202がカーネル・レベル・ファイル・イベントに対するデフォルトのオペレーティングシステムの動作を一時停止または中断する(例えば、プログラムがファイルを開くようにオペレーティングシステムに指示した場合、ステップ202はファイルの開きを一時的に停止するか、または少なくとも一時的に防止する)、或いは、カーネル・レベル・ファイル・イベントに対するデフォルトの動作は例示の方法200と並行して実行することができる。カーネル・レベル・ファイル・イベントはローカル・ファイル・システム(例えば、ファイルブラウザ)へのグラフィカル・ユーザ・インターフェースによってトリガすることができる。いくつかの実施形態では、カーネル・レベル・ファイル・イベントがローカル・ファイル・システムへのインタフェース(例えば、アプリケーション・プログラミング・インターフェース)によってトリガされる。
システムはコンテンツアイテムのためのファイルイベント命令を継続し、取り出すことができる(ステップ204)。ファイルイベント命令は、コンテンツアイテムに関連する命令を含む、任意のタイプの命令とすることができる。例えば、命令はグラフィカルユーザインタフェースオブジェクトを表示すること、カーネルレベルファイルイベントを遅延させること、(例えば、コンテンツ管理システム106、別のクライアントデバイス102、クライアントデバイス102上のモジュール、コンテンツアイテムに関連するユーザアカウントなどへ)コンテンツアイテムについてのメッセージを送信すること、コンテンツアイテムを復号/暗号化すること、コンテンツアイテムについての警告を表示すること、コンテンツアイテムを変更すること、コンテンツアイテムをスキャンすること、コンテンツアイテムを複製すること、コンテンツアイテムについての協調(collaboration)情報を取り出すこと、(例えば、もしファイルイベントがコンテンツアイテムスタブに対応する場合に)コンテンツアイテムの完全なバージョンを取り出すこと、を含むことができる。
ファイルイベント命令は、コンテンツ管理システム106および/またはクライアントデバイス102から取り出すことができる。例えば、ファイルイベント命令は、コンテンツ管理システム106に格納され、クライアントデバイス102によって取り出され得る。ファイルイベント命令は、コンテンツアイテムに関連するか、またはコンテンツアイテム内に位置するメタデータから取り出すことができる。いくつかの実施形態では、メタデータがファイルイベント命令の位置を識別するアドレスまたはポインタを含む。いくつかの実施形態では、(例えば、コンテンツアイテムを開く前に協調画面を開くための)一般的な命令は複数のコンテンツアイテムに適用することができ、一般的な命令の実装はコンテンツアイテムの特性(例えば、ファイルタイプ、タグ、許可、メタデータなど)に基づいて、コンテンツアイテムに特有であり得る。これは、例えば、コンテンツアイテム識別子を使用して、一般的なファイルイベント命令をコンテンツアイテムに特有に適応させることによって達成することができる。
次いで、システムは、ファイルイベント命令を実行することができる(ステップ206)。本明細書では、様々な実施形態、例えば、ステップ206のための従属的方法が開示される。いくつかの実施形態では、クライアントデバイス102がステップ202、204、および/または206のいずれか1つのレポートをコンテンツ管理システム106に送信することができる。
ステップ206の例示的な命令は、コンテンツ管理システム106と協働してコンテンツアイテムを処理または提示するための命令を含むことができる。例えば、コンテンツ管理システム106はクライアントデバイス102にアクセス命令(例えば、読み出し専用モード、フルアクセスモード、または限定アクセスモードでコンテンツアイテムを開くため)を送信することができ、コンテンツアイテムを開くアプリケーションは、アクセス命令に従ってコンテンツアイテムを開くことができる。
図3は、様々な実施形態に従う例示的な方法300を示す。例えば、例示的な方法300は、(ステップ206の)イベント命令を実行する例とすることができる。クライアントデバイス102は開始すると、コンテンツアイテム(すなわち、例示的な方法200のコンテンツアイテム)に関する協調データを要求することができる(ステップ302)。協調データの要求は、コンテンツ管理システム106に送信することができる。いくつかの実施形態では、要求がコンテンツアイテム識別子(例えば、ファイル名、パス、ハッシュなど)を含む。要求は、コンテンツ管理システム106上のユーザアカウントに関連するアカウント識別子を使用して認証することができる。
次いで、コンテンツ管理システム106は、コンテンツアイテムに関する協調データを送信することができる(ステップ304)。例えば、ステップ304はコンテンツアイテムに関連するコメント、変更履歴(例えば、変更ログ)、タスク/割り当て、ステータス(例えば、1人以上のユーザが現在文書を編集または閲覧しているかどうか、コンテンツアイテムがアクセス可能であるかどうか)などを送信することを含むことができる。いくつかの実施形態では、協調データが主にコンテンツアイテムに向けられ、特定のユーザアカウントに向けられない。代替的にまたは追加的に、協調データは要求に関連するユーザアカウントに基づくことができる(例えば、協調データをフィルタリングすることができる)。例えば、ユーザはコンテンツアイテムに関連する制限的な許可を有し、コンテンツアイテムに関連する全てのコメントにアクセスすることが許可されない場合がある。
協調データはコンテンツアイテムに関連する複数のユーザ(例えば、ユーザアカウント)間の調整を容易にすることができる。例えば、ジョイントワークフローは、ユーザにタグ付けすること、ユーザにタスクを割り当てること、コンテンツアイテムについてコメントすること、コンテンツアイテムを共有することなどを含むことができる。
コンテンツ管理システム106は、多くの異なる形式で協調データを送信することができる。例えば、ステップ304はクライアントデバイス上でレンダリングするためのレンダリング可能なウェブページ(例えば、HTML)を生成することを含むことができる。あるいは、コンテンツ管理システム106が協調データをデータオブジェクト(例えば、JSONファイル、XMLデータ、または任意の他のタイプのデータオブジェクト)として送信することができる。
いくつかの実施形態では、ステップ304がステップ302の前に(例えば、同期処理中に)実行される。
クライアントデバイス102はコンテンツ管理システム106から協調データを継続し、受信することができる。次いで、クライアントデバイス102は、コンテンツアイテムに関する協調データを提示することができる(ステップ306)。いくつかの実施形態では、ステップ306がコンテンツ管理システム106によって生成されたウェブサイトのウェブビューを提示することを含む。コンテンツアイテムに関連する協調データは、コンテンツアイテムをオープンするアプリケーションとは異なるアプリケーションによって提示することができる。
クライアントデバイス102はコンテンツアイテムを継続し、提示することができる(ステップ308)。ステップ308はコンテンツアイテムアプリケーション、すなわち、コンテンツアイテムを開くアプリケーションによって実行することができる。クライアントデバイス102は、協調データのプレゼンテーションの横、後ろ、前などにコンテンツアイテムを提示することができる。コンテンツアイテムに関連する協調データの提示はコンテンツアイテムを開き続けるためのオプションを含むことができ、いくつかの実施形態では、クライアントデバイス102がユーザがそのオプションを選択することに応答してステップ308を実行することができる。クライアントデバイス102は、協調データの提示がクローズされるか、または他の方法でデフォーカスされた後にステップ308を実行することができる。
いくつかの実施形態では、コンテンツアイテムのメタデータをワークフローデータと呼ぶことができ、コンテンツ管理システム106をワークフローサーバと呼ぶことができる。
いくつかの実施形態では、クライアントデバイス102がコンテンツアイテムのプレゼンテーション内で協調データを提示する。例えば、協調データがコメントを含む場合、クライアントデバイス102は、コンテンツアイテム内にコメントを挿入することができる。
図4は、様々な実施形態に従う例示的な方法400を示す。例示的な方法400は、ステップ206の従属的方法とすることができる。いくつかの実施形態では、コンテンツアイテムが暗号化された形式でクライアントデバイス102上に配置されてもよい。例示的な方法400は、コンテンツアイテムが開かれる前に「ジャストインタイム」でコンテンツアイテムを復号するために使用することができる。いくつかの実施形態では、コンテンツアイテムがファイルタイプがネイティブに暗号化をサポートしない(またはファイルタイプのネイティブ暗号化が利用されない)場合であっても、そのレガシー拡張子(例えば、テキストファイルの場合は「txt」)を保持する。クライアントデバイス102は、開始すると、ユーザに認証情報を要求することができる(ステップ402)。ステップ402は、コンテンツアイテムが暗号化されていること、およびユーザが関連する認証情報を供給できることを示すグラフィカルユーザインターフェースウィンドウを提示することを含むことができる。例えば、ユーザは、アカウント識別子及びパスワードをコンテンツ管理システム106上のアカウントに供給することができる。
次に、クライアントデバイス102は、認証情報をコンテンツ管理システム106に送信することができる(ステップ404)。いくつかの実施形態では、ステップ404がデバイス記述子(例えば、クライアントデバイス102が電話、タブレット、ラップトップ、デスクトップなどであることを示す)、デバイス識別子(例えば、クライアントデバイス102のシリアル番号、MACアドレスなど)、クライアントデバイス102の地理的位置情報などの追加情報を送信することを含む。この追加情報はコンテンツ管理システム106に、コンテンツアイテムのロック解除を許可するかどうかを通知することができる。例えば、データ紛失防止システムでは、ユーザが認可されており、ユーザが認可されたデバイスを使用していることが重要であり得る。
次いで、コンテンツ管理システム106は、認証情報をアクセス制御リストと比較することができる(406)。アクセス制御リストは、コンテンツアイテム、コンテンツアイテムを含むフォルダ、要求ユーザ、および/またはユーザグループに関連付けることができる。アクセス制御リストは、どのユーザ、ロケーション、デバイス、時間などがコンテンツアイテムにアクセスできるかを指定することができる。
次に、コンテンツ管理システム106は、認証情報が有効であるかどうかを判定することができる(ステップ408)。それらが有効でない場合、コンテンツ管理システム106は、認証情報が無効であることをクライアントデバイス102に通知することができる。クライアントデバイス102はステップ402に戻り、ユーザに認証を要求することができる。適切な認証情報なしでは、クライアントデバイス102は、コンテンツアイテムへのアクセスを拒否することができる。
ステップ408において、コンテンツ管理システム106が認証情報が有効であると判定した場合、コンテンツ管理システム106は、クライアントデバイス102にコンテンツアイテムを復号することを許可することができる(ステップ410)。例えば、コンテンツアイテムを復号するための命令を送信することができ、および/またはコンテンツアイテムを復号するための復号鍵を送信することができる。
次に、クライアントデバイス102は、コンテンツアイテムを開くことができる(ステップ412)。これは、様々な手段によって達成することができる。例えば、クライアントデバイス102はファイルシステム内で、コンテンツアイテムの暗号化されたバージョンをコンテンツアイテムの復号されたバージョンで置き換えることができる。別の例は、(コンテンツアイテムの暗号化されたバージョンをそのままにしておきつつ)コンテンツアイテムの復号されたバージョンを一時的な場所に保存すること、および、一時的な保存場所から復号されたバージョンを開くこととを含む。別の例は、コンテンツアイテムを復号することと開くことの両方を行うアプリケーションに復号鍵を渡すことを含む。いくつかの実施形態では、元のファイルイベントが例示的な方法400のステップが実行されるまで一時停止される。これにより、クライアントデバイス102はオペレーティングシステムまたはイベント生成プログラムの余分な設定を必要とせずに、コンテンツアイテムをジャストインタイムで変更する(例えば、記憶媒体上のコンテンツアイテムを置換する)ことができる。この技法は本明細書で開示される複数の概念に適用することができ、例示的な方法400に限定されるべきではない。
いくつかの実施形態では、ステップ406および408がクライアントデバイス102上で実行される。例えば、セキュリティアプリケーションは、認証情報を検証することができる。いくつかの実施形態では、認証情報により復号鍵を直接生成する(例えば、認証情報のハッシュが鍵であってもよい)。
図5は、様々な実施形態に従う例示的な方法500を示す。例示的な方法500は、コンテンツアイテムのアクセス状態に基づいてコンテンツアイテムの提示を適応させるための従属的方法、またはステップ206の代替ステップとすることができる。例えば、別のクライアントデバイス102の別のユーザがコンテンツアイテムに現在アクセスしている場合、コンテンツアイテムはコンテンツアイテムにアクセスしようとしているユーザ(すなわち、そのトリガされた例示的な方法500)に対して「ロック」され、そのユーザがコンテンツアイテムを変更することを防止することができる。
クライアントデバイス102は、開始すると、コンテンツ管理システム106にコンテンツアイテムアクセス状態を要求することができる(ステップ502)。アクセス状態は、コンテンツアイテムがユーザ(例えば、ユーザアカウント)によって、現在開かれているか、変更されているか、または予約されているという指示を含むことができる。アクセス状態は、アクセス状態に起因する1以上のユーザの指示を含むことができる。例えば、ユーザXは、現在、コンテンツアイテムを視聴している。
次いで、コンテンツ管理システム106は、別のユーザが別のデバイス上でコンテンツアイテムに現在アクセスしているかどうかを判定することによって、コンテンツアイテムアクセス状態を判定することができる(ステップ504)。ステップ504における「別の装置」は、別のクライアントデバイス102であってもよい。いくつかの実施形態では、ステップ504はコンテンツ管理システム106上のアクセスログを読み取ることを含む。ステップ504は、コンテンツアイテムにアクセスしている可能性がある任意のクライアントデバイス102に問い合わせることを含むことができる。次いで、コンテンツ管理システム106は、コンテンツアイテムアクセス状態をクライアントデバイスに送信することができる(ステップ505)。
アクセス状態(ステップ506)が「フルアクセス」または同様のものである場合、クライアントデバイス102は、フルアクセスモードでコンテンツアイテムを開くことができる(ステップ510)。例えば、コンテンツアイテムには、読み取りおよび書き込み許可を割り当てることができる。アクセス状態(ステップ506)が「読み取り専用」または同様のものである場合、クライアントデバイス102は、読み取り専用モードでコンテンツアイテムを開くことができる(ステップ508)。例えば、コンテンツアイテムを保存する機能なしに、コンテンツアイテムを開くことができる。他のアクセス状態も考えられることを理解されたい。例えば、「チェックアウト」アクセス状態は、ユーザがある時間内にコンテンツアイテムを戻すことを要求することができる。
いくつかの実施形態では、コンテンツ管理システム106が例示的な方法500を使用して、コンテンツアイテムのファイルアクセス制限を決定することができる。例えば、ステップ504及び505は、コンテンツアイテムに対するファイルアクセス制限を決定することを含むことができる。これは、コンテンツアイテム、要求側ユーザ(例えば、クライアントデバイス102に関連するユーザアカウント)、クライアントデバイス詳細(例えば、クライアントデバイス102の識別子)、クライアントデバイス102のデバイスタイプ(例えば、電話、タブレット、またはラップトップ)、および/またはクライアントデバイス102のロケーション(例えば、地理的位置情報、IPアドレス、またはサブネット)を、コンテンツアイテムのアクセス制御リストと比較することを含むことができる。ファイルアクセス制限は、コンテンツアイテムに現在関連付けられている他のユーザの現在のアクティビティ状態を参照することによって(例えば、コンテンツアイテムが開いているかどうか、コンテンツアイテムに対する保存されていない変更を有しているかどうか等)、追加的にまたは代替的に決定することができる。次いで、コンテンツ管理システム106は、要求に対するファイルアクセス制限を決定することができる。クライアントデバイス102は、ファイルアクセス制限を実施することができる。ファイルアクセス制限は、コンテンツアイテムが読み取り専用、フル、時間制限、または他の制限されたアクセス許可を有するべきであることを示すことを含むことができる。いくつかの実施形態では、ファイルアクセス制限が(例えば、別のユーザアカウントが現在コンテンツアイテムにアクセスしている場合に)コンテンツ管理システム106に保存または同期されるコンテンツアイテムの能力を制限する。いくつかの実施形態では、ファイルアクセス制限がコンテンツアイテムの一部(例えば、文、段落、ページ、行、列、セル、セクションなど)に適用される。いくつかの実施形態では、クライアントデバイス102がファイルアクセス制限を実施せず、単に、ファイルアクセス制限を示す通知を提示するだけである。
図6は、様々な実施形態に従う例示的な方法600を示す。例示的な方法600は、ステップ206の従属的方法とすることができる。例示的な方法600はコンテンツアイテムを別の形態で開くことができるように、コンテンツアイテムの動的変換を容易にすることができる。クライアントデバイス102は、ユーザがコンテンツアイテムの代替バージョンまたはローカルバージョンを開くことを望むかどうかをユーザに促すことができる(ステップ602)。「ローカルバージョン」はファイルイベントに関連するコンテンツアイテムのバージョン(すなわち、本明細書で開示される方法が無視されなかった場合に開かれるコンテンツアイテムのバージョン)を意味することができる。「代替バージョン」は、ローカルバージョンから導出することができるコンテンツアイテムの代替表現を意味することができる。例えば、コンテンツアイテムのローカルバージョンは編集可能なテキストドキュメントとすることができ、代替バージョンはポータブルドキュメントフォーマット(例えば、「pdf」)、ピクチャ(例えば、「jpg」)とすることができる。いくつかの実施形態ではコンテンツアイテムの代替バージョンをローカルバージョンとは異なる形式とすることができる。例えば、ローカルコンテンツアイテムがテキストドキュメントである場合、代替バージョンはテキストドキュメントの音声読み上げとすることができる。コンテンツアイテムの代替バージョンは、ローカルバージョンと比較して、より多くのまたはより少ない情報を含むことができる。例えば、代替バージョンは、インラインコメントを含むか、または除外することができる。コンテンツアイテムのローカルバージョンおよびそれぞれの代替バージョンの他の例には以下が含まれる:縮小プログラムコード(ローカル)をフルフォームプログラムコード(代替)として開くことができ、フルドキュメント(ローカル)を要約(代替)として開くことができ、ムービーファイル(ローカル)を、異なるコンテンツフィルタ/解像度/オーディオトラック/サブタイトル/等を利用して開くことができる。(代替)、3D CADモデル(ローカル)はモデルのピクチャまたはビデオツアーとして開くことができ(代替)、プログラム(ローカル)は悪意のあるコードを防止するために保護されたサンドボックス環境で開くことができ(代替)、1つのフォーマット(ローカル)のドキュメントはウェブベースのエディタを使用して開くことができ(代替)、曲サンプル(ローカル)は、有料フルソングとして開くことができ(代替)、ローカルの草案文書(ローカル)は、文書の更新バージョンとして開くことができる(代替)。本明細書で開示されるローカルおよび代替の関係は逆にすることができる。すなわち、「ローカル」バージョンとして参照されるものは、「代替」バージョンとすることができ、逆もまた同様であることを理解されたい。
ユーザが代替バージョンを選択した場合、クライアントデバイス102は、コンテンツアイテムをコンテンツ管理システムに送信することができる(ステップ606)。いくつかの実施形態では、クライアントデバイス102が単にコンテンツアイテム識別子をコンテンツ管理システム106に送信することができる。
次いで、コンテンツ管理システム106は、コンテンツの代替バージョンを生成することができる(ステップ608)。いくつかの実施形態では、これはコンテンツアイテムを変更すること、またはコンテンツアイテムの代替バージョンを取り出すことを含むことができる。
次いで、コンテンツ管理システム106は、コンテンツアイテムの代替バージョンをクライアントデバイスに送信することができる(ステップ610)。いくつかの実施形態では、これはクライアントデバイス102上で提示するためのウェブページコードを送信することを含む。例えば、オリジナルバージョンはテキストドキュメントであってもよく、代替バージョンは、ローカルテキスト編集アプリケーションよりも多くのまたは少ない機能を有するテキストドキュメントのウェブプレゼンテーションであってもよい。
次に、クライアントデバイスは、コンテンツアイテムの代替バージョンを提示することができる(ステップ612)。これは、コンテンツアイテムの代替バージョンを含むウェブサイトをレンダリングすることを含むことができる。ステップ602において、ユーザがコンテンツアイテムのローカルバージョンを開くことを選択した場合、クライアントデバイスは、コンテンツアイテムを提示することができる(ステップ604)。いくつかの実施形態では、クライアントデバイス102がコンテンツアイテムのローカルバージョンとコンテンツアイテムの代替バージョンとを同時に提示することができる。
いくつかの実施形態では、「ローカル」バージョンはスタブコンテンツアイテムであり、「代替」バージョンは完全なコンテンツアイテムである。用語「スタブ(stub)」はプレースホルダのことであってもよく、当該プレースホルダはファイルブラウザ内の完全なコンテンツアイテムであるように見えるが、実際のコンテンツアイテムは他の場所に位置する。例えば、スタブは、たとえスタブがコンテンツアイテムのコンテンツ(すなわち、実体)の多くを欠いていても、同じ名前、拡張子、メタデータなどを有するファイルとすることができる。スタブはコンテンツアイテムの完全なバージョンであるように、クライアントデバイス102のファイルインターフェース内に現れることができる。クライアントデバイス102はスタブコンテンツアイテムのカーネルレベルイベントを検出し、コンテンツ管理システム106に完全なコンテンツアイテムを要求することができる。次いで、コンテンツ管理システム106はプレゼンテーションのために、完全なコンテンツアイテムをクライアントデバイス102に提供することができる。例えば、完全なバージョンは、ファイルシステム内のスタブを置き換えることができる。代替的に又は追加的に、完全なバージョンは一時的な場所に保存することができ、カーネルレベルファイルイベントは(例えば、コンテンツアイテムのパスを変更することによって)完全なバージョンを指すように変更することができる。コンテンツアイテムを提示する(オープンまたはロードすることを含む)ためのアプリケーションは、スタブが最初に識別されたにもかかわらず、フルバージョンをオープンすることができる。コンテンツアイテムの提示が終了すると(例えば、関連するアプリケーションがコンテンツアイテムを閉じるか、またはコンテンツアイテムを保存すると)、クライアントデバイス102はスタブコンテンツアイテムを更新し、必要であれば、完全なコンテンツアイテムの更新されたバージョンをコンテンツ管理システム106に送信することができる。
図7は、様々な実施形態による例示的なファイルイベントウィンドウ700を示す。ファイルブラウザ702からコンテンツアイテム(例えば、コンテンツアイテム704)が選択されると、ファイルイベントウィンドウ700を提示することができる。例えば、ファイルブラウザ702は、コンテンツアイテムにアクセスするための選択を受信すると、コンテンツアイテムのカーネルレベルファイルイベントをトリガすることができる。ファイルイベントウィンドウ700は、前述の方法のステップ206、306、402、および/または602で作成することができる。いくつかの実施形態では、ファイルイベントウィンドウ700は、コンテンツ管理システム106によって生成されたウェブページのレンダリングである。ファイルイベントウィンドウ700は、インタラクティブであってもよく、動的に更新されてもよい。
様々なカーネル・レベル・ファイル・イベントが、ファイルイベントウィンドウ700をトリガすることができることを理解されたい。例えば、オープン、(例えば、ネットワークロケーションからの)リクエスト、セーブ、クローズ、リリース、コミット(例えば、変更のコミット)、または関連するアイテムとのアクティビティの開始または完了をシグナリングするためのカーネルレベルファイルイベントは、ファイルイベントウィンドウ700をトリガすることができる。
図7では、ファイルイベントウィンドウ700がコンテンツアイテム704の履歴706、タスク708、およびオプション710を含むことができる。いくつかの実施形態では履歴706、タスク708、および/またはオプション710はコンテンツ管理システム106から生成され、さらに、または代替として、それらはコンテンツアイテム704のメタデータによって通知され得る。履歴706はファイル操作履歴(例えば、ファイルが作成、名付け、移動、共有されたとき)、ファイルコンテンツ履歴(例えば、コンテンツアイテム704に対して行われた変更および編集)、コメント履歴(例えば、コンテンツアイテム704に対してユーザが提出したコメント)、閲覧履歴などを含むことができる。
タスク708はファイルイベント要求に関連するユーザアカウント(例えば、クライアントデバイス102に関連するユーザアカウント)に割り当てられたタスクを含むことができる。タスク708は、他のユーザアカウントに割り当てられたタスクも含むことができる。いくつかの実施形態では、関連タスクのみが提示される。例えば、(例えば、ファイルイベントをトリガしたユーザによって)行われるべき次のタスクである。タスク708はユーザがタスクの状態(例えば、開始されていない、進行中、または完了)を変更することができるように、変更可能な要素を含むことができる。コンテンツ管理システム106はタスクが完了したかどうかを自動的に判定するために、コンテンツアイテムに対して行われた変更を分析することができる。例えば、タスクが変更履歴付きファイル内の編集をレビューすることである場合、コンテンツ管理システム106は、変更履歴のそれぞれが「受け入れられた」か、さもなくば承認されたことを検出することができる。いくつかの実施形態では、コンテンツ管理システム106は、タスクを完了したものとしてマークする命令を受信することができる。
オプション710は、コンテンツアイテムを開くためのオプションを含むことができる。例えば、他のユーザがコンテンツアイテムを開くことを防止することができる。別の例は、現ユーザがコンテンツアイテムを開いていることを、コンテンツアイテムに加入した他人に通知することを含む。選択可能なオプションは、コンテンツアイテムに関連するメッセージを含むチャットウィンドウを開くことができる。
ファイルイベントウィンドウ700は、コンテンツアイテムを開き続ける(ボタン712)、ウェブを介してコンテンツアイテムを開く(ボタン714)、またはコンテンツアイテムをキャンセルして開かない(ボタン716)ための選択可能なオプションを含むことができる。ボタン714は(例えば、例示的な方法600と同様に)コンテンツアイテムの代替バージョンを開くことができる。
図8は、暗号復号のために使用されるファイルイベントウィンドウ700を示す。例えば、クライアントデバイス102はユーザが暗号化されたコンテンツアイテムを開こうとするときに、ファイルイベントウィンドウ700を提示することができる。次に、ユーザは、自分の認証情報をログイン802に入力することができる。次いで、クライアントデバイス102はコンテンツアイテムを復号するために使用することができる復号鍵を返すことができるコンテンツ管理システム106に認証情報を送信することができ、あるいは、クライアントデバイス102が認証情報から復号を生成することができる。
ファイルイベントウィンドウ700は保存またはクローズ時に、ユーザがコンテンツを暗号化することを可能にすることができることを理解されたい。例えば、コンテンツアイテムの保存またはクローズは、カーネルレベルファイルイベントをトリガすることができる。保存時に、ファイルイベントウィンドウ700は、コンテンツアイテムを暗号化する能力をユーザに提供することができる。
いくつかの実施形態では、コンテンツアイテムがデジタル著作権管理(DRM)を使用して制御される。例えば、コンテンツアイテムは、鍵を使用して暗号化することができる。カーネル・レベル・ファイル・イベントはコンテンツアイテムをどのように開き、復号するかについての命令をコンピュータに指示することができる。命令はコンピュータをDRMサーバ(例えば、コンテンツ管理システム106または別のサーバ)に向けることができ、DRMサーバは、コンテンツアイテムを復号するための鍵を提供することができる。これは、カーネル・レベル・ファイル・イベントまたはコンピュータに関連するユーザアカウントを検証することを含むことができる。 いくつかの実施形態ではコンテンツアイテムにアクセスする(または開く)ための命令(例えば、DRMデータ)はDRMサーバから取り出される。いくつかの実施形態ではコンテンツアイテムはスタブであり、命令は完全なコンテンツアイテムが位置する場所にコンピュータを導く。新しい位置にあるコンテンツアイテムは、暗号化されていても、暗号化されていなくてもよい。
図9は、データ紛失防止のために使用されるファイルイベントウィンドウ700を示す。例えば、コンテンツアイテムは、機密情報を含むように識別することができる。これは、ジャストインタイムまたは前のタイムで起こることができる。コンテンツアイテムが機密情報を含む場合、編集されたバージョンをクライアントデバイス102にローカルに格納することができ、その一方でオリジナルバージョンをコンテンツ管理システム106に格納することができる。オリジナルバージョンを取り出すために、ユーザは自分の認証情報を提供することができ、その結果、オリジナルバージョンを取り出すことができる。いくつかの実施形態ではスタブコンテンツアイテムがクライアント102に格納され、ユーザが認証された後、コンテンツ管理システム106はコンテンツアイテム(またはコンテンツアイテムの適切に編集されたバージョン)をクライアントデバイス102に送信することができる。
いくつかの実施形態では、クライアントデバイス102がコンテンツアイテムが保存またはクローズされていることを検出することができる。保存またはクローズのカーネルレベルファイルイベントを検出した後、クライアントデバイス102またはコンテンツ管理システム106は、コンテンツアイテムがおそらく秘密情報を含むことを検出することができる。いくつかの実施形態では、コンテンツアイテムをコミット(例えば、保存)するために、ユーザは認証情報を提供しなければならない。
図10は、署名を取得するために使用されるファイルイベントウィンドウ700を示す。例えば、コンテンツアイテムを開くとき、ユーザは、コンテンツアイテムにアクセスするための特定の条項(または条件)に同意すること、またはコンテンツアイテムの受信を承認することを示す署名を提供することができる。例えば、ファイルイベントウィンドウ700は、エンドユーザライセンス契約、著作権通知、非開示契約などを含むことができる。ファイルイベントウィンドウ700はコンテンツアイテムが閉じられたときに提示することができ、ユーザは、コンテンツアイテムのコンテンツに同意したこと、またはそのコンテンツを承認したことを表すことができる。いくつかの実施形態では、ユーザがファイルイベントウィンドウに署名を適用することによって、ユーザ許可を提供することができる。
いくつかの実施形態では、クライアントデバイス102が関連するコンテンツアイテムを保存または閉じた後に、署名要求のためのファイルイベントウィンドウ700を提示することができる。そのような署名要求はコンテンツアイテムを許可するためのものであってもよいし、コンテンツアイテムの条項に同意するためのものであってもよい。例えば、マネージャは、コンテンツアイテム内の条項を有効(sign off)にすることができる。
クライアントデバイスは、ファイルイベントウィンドウ700によって提供される署名を、コンテンツアイテムのメタデータとして、またはコンテンツアイテムに関連する別個のコンテンツアイテムとして保存することができる。
図11は、コンテンツアイテムに関連する予算を追跡するために使用されるファイルイベントウィンドウ700を示す。法律専門家、会計、クリエイティブ・デザインなどの特定の専門家では、プロジェクトのために一定の時間または金額を予算に入れることができる。プロジェクトは例えば契約を作成すること、または絵を描くことなど、コンテンツアイテムに結び付けることができる。ファイルイベントウィンドウ700はコンテンツアイテムに費やされた時間/金額を示し、追跡するために使用することができる。例えば、コンテンツアイテムが開かれたときに、タイマを自動的に開始することができ、コンテンツアイテムが閉じられたときに、タイマを停止することができる。オプションは、コンテンツアイテムが開かれている間に費やされた時間を記録しないように提示することができる。
クライアントデバイス102はコンテンツアイテムが開かれ、保存され、または閉じられたというカーネルレベルファイルイベントを受信した後に、タイマウィンドウを提示することができる。いくつかの実施形態では、ファイルイベント命令がファイルイベントウィンドウ700に通知または提示することができるアプリケーションを指す。例えば、図11では、アプリケーションはタイムキーパアプリケーションであってもよい。他のアプリケーションが、APIまたは同様のものを介して、ファイルイベントウィンドウ700に通知または提示することができることを理解されたい。
図12は、映画の購入画面を表示するために使用されるファイルイベントウィンドウ700を示す。例えば、映画コンテンツアイテムはクライアントデバイス102上に常駐することができ、ユーザが映画を開こうとするとき、ファイルイベントウィンドウ700が提示されてユーザは映画を購入またはレンタルすることが可能になる。あるいは、スタブコンテンツアイテムをクライアントデバイス102上に配置することができる。ファイルイベントウィンドウ700は映画の様々なオプション、例えば、「HD」モード、「SD」モード、24時間レンタル、または予告編のみを提示することができる。選択を行った後、支払情報を提供することができ、コンテンツアイテム(例えば、映画)を選択された形式で開くことができる。コンテンツアイテムを開くオペレーティングシステムもアプリケーション(例えば、ムービー・プレーヤ)も、イベントウィンドウ700および本明細書で開示される手順を知覚する必要がないことを認識することが重要である。例えば、映画ファイルは本質的に空であり(例えば、スタブコンテンツアイテム)、予告編のみを含み、低解像度コピー等である「movie.mp4」であり得る。カーネルがコンテンツアイテムを開く命令を送ると、命令を傍受することができ、クライアントデバイスはファイルイベントウィンドウ700を提示することができ、次いで、適切なコンテンツアイテムをダウンロードすることができ、コンテンツアイテムを完全なものに置き換えることができ、コンテンツアイテムを開く命令を再開できる。したがって、コンテンツアイテムを開くアプリケーションは、この追加された機能に適応するように特別に構成される必要はない。
図13は、コンテンツアイテムのフォーマット選択オプションを提示するために使用されるファイルイベントウィンドウ700を示す。例えば、ユーザは、映画用のフォーマット、解像度、およびコンテンツフィルタリングを選択することができる。ファイルイベントウィンドウ700のいくつかのオプションは、自動充填することができる。いくつかの実施形態では、ファイルイベントウィンドウ700は提示されず、代わりに、クライアントデバイス102はユーザの嗜好、ユーザの許可、クライアントデバイス102の仕様などに基づいて、コンテンツアイテムの最適なバージョンを自動的に提供することができる。
図14は、コンテンツアイテムおよび関連アプリケーションの代替バージョンを提案するために使用されるファイルイベントウィンドウ700を示す。例えば、クライアントデバイス102は、コンテンツアイテムを開くための適切なソフトウェアを有していない場合がある。ファイルイベントウィンドウ700は、クライアントデバイス102上に存在するアプリケーションに対応する代替フォーマットを提案することができる。次いで、クライアントデバイス102またはコンテンツ管理システム106は、選択されたアプリケーションにより開くために、コンテンツアイテムを別のファイル(すなわち、別のファイルフォーマット)に変換することができる。いくつかの実施形態ではユーザがウェブインターフェースを介してコンテンツアイテムを開くために開くオプションを選択することができ、次いで、クライアントデバイス102はコンテンツアイテムをコンテンツ管理システム106に送信することができ、コンテンツ管理システム106はウェブベースのプレゼンテーションのためにコンテンツアイテムを変換することができる。次いで、クライアントデバイス102はコンテンツ管理システム106からウェブURLを受信し、ウェブブラウザを適切なURLに向けることができる。
図15は、コンテンツアイテムが保存されるときに変更を記録するために使用されるファイルイベントウィンドウ700を示す。例えば、クライアントデバイス102は、コンテンツアイテムが保存されると、イベントウィンドウ700を提示することができる。ユーザは、コメントボックス1202にコメントを提供することができる。コメントは、保存されている変更を記述することができる。クライアントデバイス102は他のイベントウィンドウ700にコメントを提示することができる(例えば、別のユーザがコンテンツアイテムを開くと、イベントウィンドウ700は、コメントボックス1202からのコメントを示すことができる)。コメントボックス1202からのコメントは、コンテンツ管理システム106と同期させることができる。図15では、イベントウィンドウ700が他の寄稿者に変更を通知すること、ドキュメントのバージョン番号を増分すること、および/または編集特権を別のユーザに渡すことを含むことができる保存オプション1204を提示することができる。編集特権を渡すことは、コンテンツアイテムを「チェックアウト」する形態とすることができる。編集特権が別のユーザに渡されると、そのユーザだけがコンテンツアイテムを変更することができる。
いくつかの実施形態では、アプリケーションがコンテンツアイテムを開いている間に、クライアントデバイス102はコンテンツアイテムの変更を検出することができる。例えば、ユーザはドキュメントの一部を編集することができ、クライアントデバイス102は、変更を検出することができる。次いで、クライアントデバイス102は、コメントボックス1202と同様のグラフィカルユーザインターフェースオブジェクトを提示して、行われたばかりの変更の要約または説明を要求することができる。いくつかの実施形態では、ユーザが特定の変更を行うことを許可されない(例えば、ユーザはコンテンツアイテムの特定の部分のみを変更することができ、および/または特定のタイプの変更のみを行うことができる)。次いで、クライアントデバイス102は、変更が許可されないことをユーザに警告することができる。クライアントデバイス102は変更を取り消し、変更が保存されるのを防止する(例えば、変更の保存を防止する、または変更の同期を防止する)ことができる。
コンテンツアイテムが開かれ、保存され、および/または閉じられるときに協調機会を提供することは、レガシーファイルおよびアプリケーションのための協調ワークフローを可能にすることができる。例えば、会社は現代の協調パラダイム(例えば、コメント、通知、タグなど)をサポートしない特定のレガシーアプリケーション、オペレーティングシステム、環境などを使用する必要があり得る。本明細書で開示される原理は、レガシーアプリケーションを破壊することなく、これらおよび他の協調的機能を可能にすることができる。重要なことはこれらの協調的機能をサポートするアプリケーションでさえ、これらの機能のための最適なプレゼンテーションフローを有さない場合があり、例えば、コメントおよびタグはアプリケーション内で見つけることが困難である場合があることである。コンテンツアイテムが開かれる前およびコンテンツアイテムが保存または閉じられた後に協調要素を提示することは、コンテンツアイテムまたはコンテンツアイテムにアクセスするアプリケーションからの気を散らすことなく、ユーザの注意を最大にすることができる。言い換えると、ファイルイベントウィンドウ700はファイルイベント遷移(例えば、開く、セーブ、または閉じる)において(いくつかの実施形態では)提示されるので、ユーザは、アプリケーション内ソリューションよりもファイルイベントウィンドウ700により注意を払うことになる。
図16は、コンテンツアイテムエクスポートオプションを提示するために使用されるファイルイベントウィンドウ700を示す。例えば、特定のコンテンツアイテムは別のフォーマットまたはプレゼンテーションにエクスポートされることから利益を得ることができ、ソフトウェアをコンパイルすることができ、3D画像をレンダリングすることができ、ビデオを符号化し、レンダリングすることができ、ドキュメントをポータブル形式で保存することができ、電子メールを送信することができ、ウェブサイトを公開すること等ができる。
図17Aおよび図17Bは、可能性のあるシステム実施形態の例を示す。より適切な実施形態は、本技術を実施する場合、当業者には明らかであろう。当業者はまた、他のシステム実施形態が可能であることを容易に理解するのであろう。
図17Aは従来のシステム・バス・コンピューティング・システム構成1700を示し、システムの構成要素は、バス1705を使用して互いに電気通信する。例示的なシステム1700は、処理ユニット(CPUまたはプロセッサ)1710と、読取専用メモリ(ROM)1720およびランダムアクセスメモリ(RAM)1725などのシステムメモリ1715を含む様々なシステム構成要素をプロセッサ1710に結合するシステムバス1705とを含む。システム1700は、プロセッサ1710に直接接続されるか、近接して接続されるか、またはプロセッサ1710の一部として統合される高速メモリのキャッシュを含むことができる。システム1700はプロセッサ1710による迅速なアクセスのために、メモリ1715および/または記憶装置1730からキャッシュ1712にデータをコピーすることができる。このようにして、キャッシュは、データを待つ間のプロセッサ1710の遅延を回避して性能向上を提供することができる。これらおよび他のモジュールは、様々なアクションを実行するようにプロセッサ1710を制御するか、または制御するように構成することができる。他のシステムメモリ1715も同様に使用可能である。メモリ1715は、異なる性能特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ1710は、任意の汎用プロセッサと、プロセッサ1710を制御するように構成された、記憶装置1730に格納されたモジュール1(1732)、モジュール2(1734)、およびモジュール3(1736)などのハードウェアモジュールまたはソフトウェアモジュールと、ソフトウェア命令が実際のプロセッサ設計に組み込まれた専用プロセッサとを含むことができる。プロセッサ1710は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称であっても非対称であってもよい。
コンピューティングデバイス1700とのユーザインタラクションを可能にするために、入力装置1745は、スピーチのためのマイク、ジェスチャまたはグラフィカル入力のためのタッチ感知面、キーボード、マウス、モーション入力、スピーチなど、任意の数の入力機構を表すことができる。出力装置1735は、当業者に知られている多数の出力機構のうちの1つ以上であってもよい。場合によっては、マルチモーダルシステムがユーザがコンピューティングデバイス1700と通信するために複数のタイプの入力を提供可能にすることができる。通信インタフェース1740は一般に、ユーザ入力およびシステム出力を支配および管理することができる。いかなる特定のハードウェア構成に対する動作にも制限はなく、したがって、ここでの基本的な特徴は、改良されたハードウェアまたはファームウェア構成が開発されるにつれて、それらに容易に置き換えることができる。
記憶装置1730は不揮発性メモリであり、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)1725、読取専用メモリ(ROM)1720、およびそれらのハイブリッドなど、コンピュータによってアクセス可能なデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体とすることができる。
記憶装置1730は、プロセッサ1710を制御するためのソフトウェアモジュール1732、1734、1736を含むことができる。他のハードウェアまたはソフトウェアモジュールも考えられる。ストレージデバイス1730は、システムバス1705に接続することができる。一態様では、特定の機能を実行するハードウェアモジュールがその機能を実行するために、プロセッサ1710、バス1705、表示部1735などの必要なハードウェアコンポーネントと関連してコンピュータ可読媒体に格納されたソフトウェアコンポーネントを含むことができる。
図17Bは説明した方法を実行し、グラフィカル・ユーザ・インターフェース(GUI)を生成し、表示する際に使用することができるチップセット構成を有するコンピュータシステム1750を示す。コンピュータシステム1750は、開示された技術を実施するために使用することができるコンピュータハードウェア、ソフトウェア、およびファームウェアの一例である。システム1750は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実行することができる任意の数の物理的および/または論理的に異なるリソースを表すプロセッサ1755を含むことができる。プロセッサ1755は、プロセッサ1755への入力およびプロセッサ1755からの出力を制御することができるチップセット1760と通信することができる。この例では、チップセット1760がディスプレイなどの出力デバイス1765に情報を出力し、たとえば、磁気媒体および半導体媒体を含むことができる記憶装置1770から情報を読み取り、記憶装置1770に情報を書き込むことができる。チップセット1760はRAM1775からデータを読み取り、RAM1775にデータを書き込むこともできる。様々なユーザインターフェースコンポーネント1785とインタフェースするためのブリッジ1780が、チップセット1760とインタフェースするために提供され得る。そのようなユーザインターフェースコンポーネント1785は、キーボード、マイク、タッチ検出および処理回路、マウスなどのポインティングデバイスを含むことができる。一般に、システム1750への入力は、様々なソース、機械生成、および/または人間生成のいずれかから来ることができる。
チップセット1760は、異なる物理インタフェースを有することができる1つ以上の通信インタフェース1790とインタフェースすることもできる。そのような通信インタフェースは、有線および無線ローカルエリアネットワーク、ブロードバンド無線ネットワーク、ならびにパーソナルエリアネットワークのためのインタフェースを含むことができる。本明細書で開示されるGUIを生成し、表示し、使用するための方法のいくつかのアプリケーションは、物理インタフェースを介して順序付けられたデータセットを受信すること、またはプロセッサ1755が記憶装置1770または1775に記憶されたデータを分析することによって機械自体によって生成されることを含むことができる。さらに、マシンはユーザインターフェースコンポーネント1785を介してユーザから入力を受け取り、プロセッサ1755を使用してこれらの入力を解釈することによって、ブラウジング機能などの適切な機能を実行することができる。
例示的なシステム1700および1750は1つ以上のプロセッサ1710を有することができ、または、より大きな処理能力を提供するためにネットワーク化されたコンピュータデバイスのグループまたはクラスタの一部であり得ることが理解されよう。
説明を明確にするために、いくつかの例では、本技術が装置、装置コンポーネント、ソフトウェアで実施される方法におけるステップまたはルーチン、またはハードウェアとソフトウェアの組合せを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
本明細書で説明されるステップ、動作、機能、またはプロセスのいずれも、ハードウェアおよびソフトウェアモジュールの組み合わせによって、単独で、または他のデバイスと組み合わせて、実行または実装され得る。一実施形態では、ソフトウェアモジュールがクライアントデバイスのメモリおよび/またはコンテンツ管理システムの1つまたは複数のサーバに常駐し、プロセッサがモジュールに関連するソフトウェアを実行するときに1つまたは複数の機能を実行するソフトウェアとすることができる。メモリは、非一時的なコンピュータ可読媒体とすることができる。
いくつかの実施形態ではコンピュータ可読記憶装置、媒体、およびメモリはビットストリームなどを含むケーブル信号または無線信号を含むことができる。しかし、言及される場合、非一時的なコンピュータ可読記憶媒体は、エネルギー、搬送波信号、電磁波、および信号自体などの媒体を明示的に除外する。
上述の例による方法は、記憶されているか、またはコンピュータ可読媒体から利用可能なコンピュータ実行可能命令を使用して実施することができる。そのような命令は例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに、特定の機能または機能のグループを実行させるか、さもなければ構成させる命令およびデータを含むことができる。使用されるコンピュータリソースの部分は、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、またはソースコードであってもよい。命令、使用される情報、および/または、説明される例に従った方法の間に生成される情報を格納するために利用されてもよいコンピュータ可読媒体の例は、磁気または光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク化された記憶装置などを含む。
これらの開示による方法を実装する装置はハードウェア、ファームウェア、および/またはソフトウェアを備えることができ、様々なフォームファクタのうちの任意のものをとることができる。そのようなフォームファクタの典型的な例には、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、パーソナルデジタルアシスタントなどが含まれる。本明細書で説明する機能は、周辺装置またはアドインカードで実施することもできる。そのような機能は、さらなる例として、異なるチップ間の回路基板上で、または単一のデバイス内で実行される異なるプロセス上で実装することもできる。
命令、当該命令を搬送するための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、これらの開示に記載された機能を提供するための手段である。
添付の特許請求の範囲内の態様を説明するために、様々な例および他の情報が使用されたが、当業者はこれらの例を使用して、様々な実装形態を導出することができるので、特許請求の範囲の限定はそのような例における特定の特徴または構成に基づいて暗示されるべきではない。さらに、いくつかの主題は構造的特徴および/または方法ステップの例に特有の言葉で説明されているが、添付の特許請求の範囲で定義される主題は必ずしもこれらの説明された特徴または動作に限定されないことを理解されたい。例えば、そのような機能は、本明細書で識別されたもの以外のコンポーネントにおいて、異なって分散されるか、または実行されることが可能である。むしろ、記載された特徴およびステップは、添付の特許請求の範囲内のシステムおよび方法の構成要素の例として開示される。

Claims (31)

  1. コンピュータ実施方法であって、
    ネットワーク化されたコンテンツ管理システムのクライアント側アプリケーションのカーネル拡張により、コンテンツアイテムについてカーネルレベルファイルイベントを検出することとであって、前記カーネルレベルファイルイベントは、ローカルファイルシステムへのインタフェースに由来し、前記クライアント側アプリケーション及びカーネル拡張はクライアントデバイス上で動作する、検出することと、
    前記カーネルレベルファイルイベントの検出に応じて、前記カーネル拡張により、前記コンテンツアイテムに対する命令を含むデータを取得することと、
    前記命令を実行することと、を含むコンピュータ実施方法。
  2. 請求項1に記載のコンピュータ実施方法であって、前記データは前記コンテンツアイテムとの関連で前記ローカルファイルシステムに格納されたメタデータである、コンピュータ実施方法。
  3. 請求項1に記載のコンピュータ実施方法であって、前記カーネルレベルファイルイベントはコンテンツアイテムアクセスイベントであって、前記ローカルファイルシステムへの前記インタフェースは前記ローカルファイルシステムへのファイルエクスプローラのグラフィカルユーザインタフェースである、コンピュータ実施方法。
  4. 請求項1に記載のコンピュータ実施方法であって、前記命令はネットワーク接続を介してサーバから取得可能な情報を表示する命令を含み、前記命令を実行することは、
    前記情報を表示することと、
    前記コンテンツアイテムを表示することと、を含むコンピュータ実施方法。
  5. 請求項4に記載のコンピュータ実施方法であって、
    前記情報を用いて、前記コンテンツアイテムを開くのに有効な選択可能なグラフィカルユーザインタフェース要素を表示することと、
    前記選択可能なグラフィカルユーザインタフェース要素の選択を受け付けることと、を更に含み、
    前記コンテンツアイテムを表示することは、前記選択可能なグラフィカルユーザインタフェース要素の選択を受け付けたことに応じて行われる、コンピュータ実施方法。
  6. 請求項5に記載のコンピュータ実施方法であって、前記情報は前記コンテンツアイテムと関連付けられたコメント、または、前記コンテンツアイテムと関連付けられたタスクの少なくとも1つを含む、コンピュータ実施方法。
  7. 請求項5に記載のコンピュータ実施方法であって、前記コンテンツアイテムにアクセスするための前記情報は条件を含み、前記選択可能なグラフィカルユーザインタフェース要素は前記条件の受諾を示す、コンピュータ実施方法。
  8. 請求項1に記載のコンピュータ実施方法であって、前記命令は、前記コンテンツアイテムに関連する協調データを取得するため、及び、前記協調データを表示するための命令を含む、コンピュータ実施方法。
  9. 請求項8に記載のコンピュータ実施方法であって、前記カーネルレベルファイルイベントは保存動作であって、前記命令はコメント提出インタフェースを提示するためのものであって、前記方法は、
    前記コメント提出インタフェースを介して、前記コンテンツアイテムに関連するコメントを受け取ることと、
    前記コメントを前記協調データと共に格納することと、を更に含む、コンピュータ実施方法。
  10. 請求項1に記載のコンピュータ実施方法であって、前記命令はファイルアクセス制限を含み、前記命令を実行することは前記ファイルアクセス制限を行使することを含む、コンピュータ実施方法。
  11. 請求項10に記載のコンピュータ実施方法であって、前記コンテンツアイテムは前記クライアント側アプリケーションを実行する前記クライアントデバイス上にローカルに格納され、前記コンテンツアイテムのコピーも前記コンテンツ管理システムにより格納され、
    前記ファイルアクセス制限は、遠隔ユーザが、前記クライアントデバイス上にローカルに格納されているコピー以外の前記コンテンツアイテムのコピーを編集していることの通知であり、前記ファイルアクセス制限は、前記クライアントデバイス上にローカルに格納されている前記コンテンツアイテムの前記コピーの少なくとも一部の編集を妨げる、コンピュータ実施方法。
  12. 請求項1に記載のコンピュータ実施方法であって、前記命令は、前記コンテンツアイテムの代替バージョンにアクセスするのに有効な選択可能なオプションを含むグラフィカルユーザインタフェース要素を提示するためのものである、コンピュータ実施方法。
  13. 請求項1に記載のコンピュータ実施方法であって、前記命令は、前記コンテンツアイテムに関連する協調データを取得するための命令を含み、前記協調データは前記コンテンツアイテムに関連付けられたコメントを含み、前記方法は、
    前記コンテンツアイテムに対する変更を検出することと、
    ユーザに前記変更を要約するコメントを提供することを促すことと、を更に含むコンピュータ実施方法。
  14. 請求項1に記載のコンピュータ実施方法であって、前記命令は、前記コンテンツアイテムに関連する協調データを取得するための命令を含み、前記協調データは前記コンテンツアイテムに関連付けられたタスクを含み、前記方法は、
    前記コンテンツアイテムに対してなされた変更を検出することと、
    前記変更に基づいて前記タスクが完了したことを判定することと、
    協調グラフィカルユーザインタフェースを前記タスクが完了したことを提示するように更新することと、を更に含む、コンピュータ実施方法。
  15. 請求項1に記載のコンピュータ実施方法であって、前記データはコンテンツアイテムアクセス命令を含み、前記コンテンツアイテムアクセス命令は、前記コンテンツアイテムを読取専用モードで開くための命令を含む、コンピュータ実施方法。
  16. 請求項1に記載のコンピュータ実施方法であって、前記データはコンテンツアイテムアクセス命令を含み、前記コンテンツアイテムアクセス命令は、変更制限を含み、前記方法は、
    前記コンテンツアイテムに対する変更を検出することと、
    前記コンテンツアイテムに対する前記変更が、前記変更制限により却下されるかを判定することと、
    前記コンテンツアイテムの保存を防止することと、を更に含む、コンピュータ実施方法。
  17. 請求項1に記載のコンピュータ実施方法であって、前記データは、前記コンテンツアイテムと共に格納されたデジタル著作権管理(DRM)データを含み、前記命令を実行することは、
    前記DRMデータに従い、コンテンツアイテムアクセス命令をダウンロードするためにDRMサーバと通信することと、
    前記コンテンツアイテムアクセス命令に従って前記コンテンツアイテムを開くことと、を含む、コンピュータ実施方法。
  18. 請求項17に記載のコンピュータ実施方法であって、前記コンテンツアイテムは前記クライアントデバイス上のオペレーティングシステムに完全なコンテンツアイテムとして出現する一方で、前記完全なコンテンツアイテムのプレースホルダであるスタブであって、前記完全なコンテンツアイテムは前記クライアントデバイスとネットワークにより接続されたコンテンツ管理システムに格納され、前記DRMデータは前記完全なコンテンツアイテムのアドレスへの参照を含む、コンピュータ実施方法。
  19. 請求項18に記載のコンピュータ実施方法であって、
    前記コンテンツアイテムアクセス命令に従って前記コンテンツアイテムを開くことであって、
    前記サーバから前記コンテンツアイテムを取得することと、
    前記クライアントデバイス上での前記コンテンツアイテムの前記スタブへのアクセスを妨げることと、を含む開くことを更に含む、コンピュータ実施方法。
  20. 請求項18に記載のコンピュータ実施方法であって、
    前記コンテンツアイテムアクセス命令に従って前記コンテンツアイテムを開くことであって、
    前記コンテンツアイテムへのアクセス権を確認するための認証情報を有効化することを含む、開くことを更に含む、コンピュータ実施方法。
  21. 請求項18に記載のコンピュータ実施方法であって、
    前記コンテンツアイテムアクセス命令に従って前記コンテンツアイテムを開くことであって、
    前記クライアントデバイスへの前記コンテンツアイテムのダウンロードが制限されている場合に、ウェブブラウザ内で前記コンテンツアイテムを開くことを含む、開くことを更に含む、コンピュータ実施方法。
  22. システムであって、
    ローカルファイルシステム、コンテンツ管理システムクライアントアプリケーション、及び、前記コンテンツ管理システムクライアントアプリケーションのカーネル拡張を含むクライアントデバイスを備え、前記クライアントデバイスは、
    コンテンツ管理システムクライアントアプリケーションの前記カーネル拡張により、コンテンツアイテムについてカーネルレベルファイルイベントを検出することとであって、前記カーネルレベルファイルイベントは、ローカルファイルシステムへのインタフェースに由来し、前記クライアントアプリケーション及びカーネル拡張はクライアントデバイス上で動作する、検出することと、
    前記カーネルレベルファイルイベントの検出に応じて、前記カーネル拡張により、前記コンテンツアイテムに対する命令を含むデータを取得することと、
    前記命令を実行することと、を実行するように構成された、システム。
  23. 請求項22に記載のシステムであって、前記命令は、前記コンテンツアイテムに関連する協調データを取得するため、及び、前記協調データを表示するための命令を含む、システム。
  24. 請求項23に記載のシステムであって、前記カーネルレベルファイルイベントは保存動作であって、前記命令はコメント提出インタフェースを提示するためのものであって、前記クライアントデバイスは、
    前記コメント提出インタフェースを介して、前記コンテンツアイテムに関連するコメントを受け取ることと、
    前記コメントを前記協調データと共に格納することと、を実行するように構成された、システム。
  25. 請求項22に記載のシステムであって、前記命令はファイルアクセス制限を含み、前記命令を実行することは前記ファイルアクセス制限を行使することを含む、システム。
  26. 請求項25に記載のシステムであって、
    コンテンツ管理システムサーバを備え、前記コンテンツアイテムは前記クライアントアプリケーションを実行する前記クライアントデバイス上の前記ローカルファイルシステム内にローカルに格納され、前記コンテンツアイテムのコピーも前記コンテンツ管理システムサーバにより格納され、
    前記ファイルアクセス制限は、遠隔ユーザが、前記クライアントデバイス上の前記ローカルファイルシステム内にローカルに格納されているコピー以外の前記コンテンツアイテムのコピーを編集していることの通知であり、前記ファイルアクセス制限は、前記クライアントデバイス上の前記ローカルファイルシステム内にローカルに格納されている前記コンテンツアイテムの前記コピーの少なくとも一部の編集を妨げる、システム。
  27. 請求項22に記載のシステムであって、前記命令は、前記コンテンツアイテムの代替バージョンにアクセスするのに有効な選択可能なオプションを含むグラフィカルユーザインタフェース要素を提示するためのものである、システム。
  28. 命令を格納した非一時的コンピュータ可読媒体であって、前記命令はクライアントデバイスに、
    ネットワーク化されたコンテンツ管理システムのクライアント側アプリケーションのカーネル拡張により、コンテンツアイテムについてカーネルレベルファイルイベントを検出することとであって、前記カーネルレベルファイルイベントは、ローカルファイルシステムへのインタフェースに由来し、前記クライアント側アプリケーション及びカーネル拡張はクライアントデバイス上で動作する、検出することと、
    前記カーネルレベルファイルイベントの検出に応じて、前記カーネル拡張により、前記コンテンツアイテムに対する命令を含むデータを取得することと、
    前記命令を実行することと、を実行させるのに有効である、非一時的コンピュータ可読媒体。
  29. 請求項28に記載の非一時的コンピュータ可読媒体であって、前記命令は、前記コンテンツアイテムに関連する協調データを取得するため、及び、前記協調データを表示するための命令を含む、非一時的コンピュータ可読媒体。
  30. 請求項28に記載の非一時的コンピュータ可読媒体であって、前記カーネルレベルファイルイベントは保存動作であって、前記命令はコメント提出インタフェースを提示するためのものであって、前記命令は前記クライアントデバイスに、
    前記コメント提出インタフェースを介して、前記コンテンツアイテムに関連するコメントを受け取ることと、
    前記コメントを協調データと共に格納することと、を実行させるのに有効である、システム。
  31. 請求項28に記載の非一時的コンピュータ可読媒体であって、前記命令はファイルアクセス制限を含み、前記命令を実行することは、前記ファイルアクセス制限を行使することを含み、前記コンテンツアイテムは前記クライアント側アプリケーションを実行する前記クライアントデバイス上にローカルに格納され、前記コンテンツアイテムのコピーも前記コンテンツ管理システムにより格納され、前記ファイルアクセス制限は、遠隔ユーザが、前記クライアントデバイス上にローカルに格納されているコピー以外の前記コンテンツアイテムのコピーを編集していることの通知であり、前記ファイルアクセス制限は、前記クライアントデバイス上にローカルに格納されている前記コンテンツアイテムの前記コピーの少なくとも一部の編集を妨げる、非一時的コンピュータ可読媒体。
JP2019512632A 2016-12-27 2017-11-02 カーネルイベントトリガ Active JP6876790B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201662439373P 2016-12-27 2016-12-27
US62/439,373 2016-12-27
US15/475,886 US10572317B2 (en) 2016-12-27 2017-03-31 Collaboration enhanced with kernel event triggers
US15/475,886 2017-03-31
US15/475,627 US10409653B2 (en) 2016-12-27 2017-03-31 Kernel event triggers
US15/476,059 2017-03-31
US15/476,059 US10579443B2 (en) 2016-12-27 2017-03-31 Kernel event triggers for content item security
US15/475,735 US10705889B2 (en) 2016-12-27 2017-03-31 Kernel event triggers
US15/475,735 2017-03-31
US15/475,627 2017-03-31
PCT/US2017/059730 WO2018125379A2 (en) 2016-12-27 2017-11-02 Kernel event triggers

Publications (2)

Publication Number Publication Date
JP2020501213A true JP2020501213A (ja) 2020-01-16
JP6876790B2 JP6876790B2 (ja) 2021-05-26

Family

ID=62629625

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019512632A Active JP6876790B2 (ja) 2016-12-27 2017-11-02 カーネルイベントトリガ
JP2019512633A Active JP6796194B2 (ja) 2016-12-27 2017-11-02 カーネルイベントトリガ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019512633A Active JP6796194B2 (ja) 2016-12-27 2017-11-02 カーネルイベントトリガ

Country Status (5)

Country Link
US (6) US10452456B2 (ja)
EP (2) EP3563237A2 (ja)
JP (2) JP6876790B2 (ja)
AU (2) AU2017387765B2 (ja)
WO (2) WO2018125379A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10809998B2 (en) 2016-02-12 2020-10-20 Nutanix, Inc. Virtualized file server splitting and merging
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US10878019B2 (en) * 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
US10147461B1 (en) * 2017-12-29 2018-12-04 Rovi Guides, Inc. Systems and methods for alerting users to differences between different media versions of a story
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
WO2020023065A1 (en) * 2018-07-23 2020-01-30 Google Llc Intelligent document notifications based on user comments
US10929814B2 (en) * 2019-05-02 2021-02-23 Microsoft Technology Licensing, Llc In-context display of out-of-context contact activity
US11277649B2 (en) * 2019-09-04 2022-03-15 At&T Intellectual Property I. L.P. Chunk-based filtering to optimize video streaming quality and data usage
US11768877B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Smart search capabilities in a process control system
US11768878B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Search results display in a process control system
US11080071B2 (en) * 2019-11-21 2021-08-03 International Business Machines Corporation Group editing software enhancement
US20210200641A1 (en) * 2019-12-31 2021-07-01 Nutanix, Inc. Parallel change file tracking in a distributed file server virtual machine (fsvm) architecture
US11720697B2 (en) * 2020-03-24 2023-08-08 The Boeing Company Methods for providing network access to technical data files
US11361075B1 (en) * 2021-06-18 2022-06-14 Citrix Systems, Inc. Image steganography detection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756827A (ja) * 1993-08-12 1995-03-03 Toshiba Corp グループ回覧システム
JP2004254193A (ja) * 2003-02-21 2004-09-09 Seiko Epson Corp ユーザ機器、サーバ、コンテンツ流通システム、コンテンツ流通方法、及びプログラム
JP2009015766A (ja) * 2007-07-09 2009-01-22 Nec Corp ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム
JP2012073934A (ja) * 2010-09-29 2012-04-12 Canon Electronics Inc 情報処理装置及びその制御方法、コンピュータプログラムならびにコンピュータ可読記憶媒体
US20130185348A1 (en) * 2012-01-17 2013-07-18 Microsoft Corporation Client application integration for workflows
JP2016520919A (ja) * 2013-04-30 2016-07-14 マイクロソフト テクノロジー ライセンシング,エルエルシー プレースホルダを用いるファイル管理
JP2017527055A (ja) * 2014-08-01 2017-09-14 モバイル・データ・ラブス,インコーポレーテッド 移動体デバイスの距離追跡

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1003873A (en) 1911-03-03 1911-09-19 Willis W Case Sr Burner.
JPS63204437A (ja) 1987-02-13 1988-08-24 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ロック・システム
US5175851A (en) 1989-05-15 1992-12-29 International Business Machines Corporation System and method for controlling client machine access to a portion of a file with a variable length
US6594688B2 (en) 1993-10-01 2003-07-15 Collaboration Properties, Inc. Dedicated echo canceler for a workstation
US5812398A (en) * 1996-06-10 1998-09-22 Sun Microsystems, Inc. Method and system for escrowed backup of hotelled world wide web sites
ATE262195T1 (de) 1996-06-18 2004-04-15 Ontrack Data International Inc Vorrichtung und verfahren zur fernen datenrückgewinnung
US5867160A (en) 1996-10-31 1999-02-02 International Business Machines Corporation System and method for task prioritization in computerized graphic interface environments
US6708221B1 (en) 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
JP2000250799A (ja) 1999-03-02 2000-09-14 Mitsubishi Electric Corp 複製ファイル管理システム
US7890405B1 (en) 2000-06-09 2011-02-15 Collaborate Solutions Inc. Method and system for enabling collaboration between advisors and clients
US7447754B2 (en) 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
CA2445576C (en) * 2001-04-27 2013-01-08 W. Quinn, Inc. Filter driver for identifying disk files by analysis of content
IES20020159A2 (en) 2002-03-01 2003-09-03 Baydon Solutions Ltd Content management system
GB0208897D0 (en) * 2002-04-18 2002-05-29 Merck Sharp & Dohme New method of treatment
US20040044774A1 (en) 2002-09-04 2004-03-04 Ruchi Mangalik System for providing content sharing and method therefor
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7089594B2 (en) 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
WO2005017697A2 (en) 2003-08-15 2005-02-24 Blackboard Inc. Content system and associated methods
US7792300B1 (en) * 2003-09-30 2010-09-07 Oracle America, Inc. Method and apparatus for re-encrypting data in a transaction-based secure storage system
US6886943B1 (en) 2003-10-24 2005-05-03 Jds Uniphase Corporation High-resolution projection display system
JP2006024735A (ja) * 2004-07-08 2006-01-26 Seiko Instruments Inc 半導体膜の結晶化方法、及び、表示装置の製造方法
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US9189756B2 (en) 2004-09-21 2015-11-17 International Business Machines Corporation Case management system and method for collaborative project teaming
US20060069605A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow association in a collaborative application
US8117559B2 (en) * 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
US20060150104A1 (en) 2004-12-31 2006-07-06 Luigi Lira Display of user selected digital artworks as embellishments of a graphical user interface
US8055724B2 (en) 2005-03-21 2011-11-08 Emc Corporation Selection of migration methods including partial read restore in distributed storage management
JP4388514B2 (ja) 2005-08-26 2009-12-24 愛三工業株式会社 燃料供給装置
US8150816B2 (en) 2005-12-29 2012-04-03 Nextlabs, Inc. Techniques of optimizing policies in an information management system
US20080005269A1 (en) 2006-06-29 2008-01-03 Knighton Mark S Method and apparatus to share high quality images in a teleconference
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US20090024674A1 (en) 2007-07-17 2009-01-22 Gridiron Software Inc. Automatic file versioning
US9166954B2 (en) 2008-02-29 2015-10-20 Adobe Systems Incorporated Document-authorized access to a shared workspace
US20120233205A1 (en) 2008-03-07 2012-09-13 Inware, Llc System and method for document management
US20120331395A2 (en) 2008-05-19 2012-12-27 Smart Internet Technology Crc Pty. Ltd. Systems and Methods for Collaborative Interaction
WO2009155368A1 (en) 2008-06-17 2009-12-23 Jostens, Inc. System and method for yearbook creation
US8121061B2 (en) 2008-06-26 2012-02-21 Microsoft Corporation Efficient file management through granular opportunistic locking
JP4377949B1 (ja) 2008-07-18 2009-12-02 株式会社東芝 コンテンツ管理装置及びコンテンツ管理方法
US8561097B2 (en) 2008-09-04 2013-10-15 Beezag Inc. Multimedia content viewing confirmation
US8782670B2 (en) 2009-04-10 2014-07-15 Open Invention Network, Llc System and method for application isolation
US7945589B1 (en) 2009-02-11 2011-05-17 Bsp Software Llc Integrated change management in a business intelligence environment
US20100241971A1 (en) * 2009-03-20 2010-09-23 Thomas Zuber System and method for interactively collaborating within a secure online social networking community
US8806331B2 (en) 2009-07-20 2014-08-12 Interactive Memories, Inc. System and methods for creating and editing photo-based projects on a digital network
US8387047B1 (en) 2009-08-03 2013-02-26 Symantec Corporation Method of virtualizing file extensions in a computer system by determining an association between applications in virtual environment and a file extension
US8489654B2 (en) * 2009-08-28 2013-07-16 Beijing Innovation Works Technology Company Limited Method and system for forming a virtual file system at a computing device
JP5578897B2 (ja) * 2010-03-17 2014-08-27 ニフティ株式会社 バックアッププログラム、方法及びコンピュータ
US9418356B2 (en) 2010-05-07 2016-08-16 Microsoft Technology Licensing, Llc Streamlined collaboration on document
JP5373723B2 (ja) 2010-09-08 2013-12-18 アズビル株式会社 共有ファイル管理システム、その制御方法、およびプログラム
US20120215816A1 (en) 2010-09-28 2012-08-23 Adam Kidron Content management platform apparatuses, methods and systems
US8817053B2 (en) 2010-09-30 2014-08-26 Apple Inc. Methods and systems for opening a file
US9031957B2 (en) 2010-10-08 2015-05-12 Salesforce.Com, Inc. Structured data in a business networking feed
US20120210252A1 (en) 2010-10-11 2012-08-16 Inna Fedoseyeva Methods and systems for using management of evaluation processes based on multiple observations of and data relating to persons performing a task to be evaluated
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US8892585B2 (en) * 2011-07-05 2014-11-18 Microsoft Corporation Metadata driven flexible user interface for business applications
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
US9317496B2 (en) 2011-07-12 2016-04-19 Inkling Systems, Inc. Workflow system and method for creating, distributing and publishing content
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US20150001301A1 (en) 2011-09-26 2015-01-01 Metrologic Instruments, Inc. Optical indicia reading terminal with combined illumination
US10007405B2 (en) 2011-12-29 2018-06-26 Brandon E. D'Amore Systems and methods of creative work collaborative systems
JP2013190884A (ja) * 2012-03-12 2013-09-26 Fujitsu Fip Corp ライセンス管理システム及びクライアント端末
US9590959B2 (en) * 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US9230096B2 (en) 2012-07-02 2016-01-05 Symantec Corporation System and method for data loss prevention in a virtualized environment
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US20140067865A1 (en) 2012-08-28 2014-03-06 Dropbox, Inc. Global link providing modification rights to a shared folder
US9075954B2 (en) 2012-08-29 2015-07-07 Dropbox, Inc. Requesting modification rights to a linked file set
US9288299B2 (en) 2012-09-14 2016-03-15 Dewmobile, Inc. Method and apparatus for file sharing in a network
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US8924443B2 (en) 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US9002815B2 (en) 2012-12-27 2015-04-07 Dropbox, Inc. Migrating content items
US20140195516A1 (en) 2013-01-09 2014-07-10 Dropbox, Inc. Systems and methods for presenting content items in a collections view
US9294485B2 (en) 2013-01-27 2016-03-22 Dropbox, Inc. Controlling access to shared content in an online content management system
US9111110B2 (en) 2013-02-09 2015-08-18 Dropbox, Inc. Retroactive shared content item links
US20140258968A1 (en) * 2013-03-05 2014-09-11 Research In Motion Limited Visual Representation Of Edits For Collaborative Application Development
US9256341B2 (en) * 2013-03-20 2016-02-09 Microsoft Technology Licensing, Llc Tracking changes in collaborative authoring environment
US9325571B2 (en) * 2013-05-28 2016-04-26 Dropbox, Inc. Access permissions for shared content
US9607278B2 (en) 2013-06-12 2017-03-28 Cloudon Ltd. Systems and methods for supporting social productivity using relevancy scoring
US9436807B2 (en) 2013-07-03 2016-09-06 Adobe Systems Incorporated Method and apparatus for providing digital rights management service in the cloud
US20150012616A1 (en) 2013-07-08 2015-01-08 Dropbox, Inc. Saving Third Party Content to a Content Management System
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US9525735B2 (en) 2013-10-30 2016-12-20 Futurewei Technologies, Inc. Lock elevation in a distributed file storage system
US20150127754A1 (en) 2013-11-04 2015-05-07 Photobucket Corporation Systems and methods for collecting media content
US9690910B2 (en) 2013-11-11 2017-06-27 Dropbox, Inc. Systems and methods for monitoring and applying statistical data related to shareable links associated with content items stored in an online content management service
AU2014363926A1 (en) 2013-12-11 2015-08-27 Intralinks, Inc. Customizable secure data exchange environment
US9423922B2 (en) 2013-12-24 2016-08-23 Dropbox, Inc. Systems and methods for creating shared virtual spaces
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US9489392B2 (en) 2014-01-24 2016-11-08 Ca, Inc. High availability data replication
US10212143B2 (en) 2014-01-31 2019-02-19 Dropbox, Inc. Authorizing an untrusted client device for access on a content management system
US9898520B2 (en) * 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
GB2530685A (en) * 2014-04-23 2016-03-30 Intralinks Inc Systems and methods of secure data exchange
WO2015187941A1 (en) 2014-06-05 2015-12-10 Reel, Inc. Apparatus and method for sharing content items among a plurality of mobile devices
GB2529259A (en) 2014-08-15 2016-02-17 Sharewell Ltd Apparatus, System and Method
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10452670B2 (en) * 2015-03-23 2019-10-22 Dropbox, Inc. Processing message attachments in shared folder backed integrated workspaces
US9510182B2 (en) 2015-03-31 2016-11-29 Airwatch Llc User onboarding for newly enrolled devices
US20160378545A1 (en) * 2015-05-10 2016-12-29 Apl Software Inc. Methods and architecture for enhanced computer performance
US20180039652A1 (en) * 2016-08-02 2018-02-08 Microsoft Technology Licensing, Llc Symbolic link based placeholders

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756827A (ja) * 1993-08-12 1995-03-03 Toshiba Corp グループ回覧システム
JP2004254193A (ja) * 2003-02-21 2004-09-09 Seiko Epson Corp ユーザ機器、サーバ、コンテンツ流通システム、コンテンツ流通方法、及びプログラム
JP2009015766A (ja) * 2007-07-09 2009-01-22 Nec Corp ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム
JP2012073934A (ja) * 2010-09-29 2012-04-12 Canon Electronics Inc 情報処理装置及びその制御方法、コンピュータプログラムならびにコンピュータ可読記憶媒体
US20130185348A1 (en) * 2012-01-17 2013-07-18 Microsoft Corporation Client application integration for workflows
JP2016520919A (ja) * 2013-04-30 2016-07-14 マイクロソフト テクノロジー ライセンシング,エルエルシー プレースホルダを用いるファイル管理
JP2017527055A (ja) * 2014-08-01 2017-09-14 モバイル・データ・ラブス,インコーポレーテッド 移動体デバイスの距離追跡

Also Published As

Publication number Publication date
WO2018125378A3 (en) 2018-08-09
US10409653B2 (en) 2019-09-10
US20180181723A1 (en) 2018-06-28
US20180181449A1 (en) 2018-06-28
US20180181587A1 (en) 2018-06-28
AU2017387766B2 (en) 2020-10-22
AU2017387766A1 (en) 2019-03-28
WO2018125379A2 (en) 2018-07-05
WO2018125378A2 (en) 2018-07-05
JP6796194B2 (ja) 2020-12-02
JP2020501214A (ja) 2020-01-16
EP3563237A2 (en) 2019-11-06
US11467891B2 (en) 2022-10-11
JP6876790B2 (ja) 2021-05-26
US20180181266A1 (en) 2018-06-28
US10452456B2 (en) 2019-10-22
US10579443B2 (en) 2020-03-03
WO2018125379A3 (en) 2018-08-09
EP3563238A2 (en) 2019-11-06
US10572317B2 (en) 2020-02-25
US20200125426A1 (en) 2020-04-23
US10705889B2 (en) 2020-07-07
AU2017387765A1 (en) 2019-03-28
US20180181448A1 (en) 2018-06-28
AU2017387765B2 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
US11467891B2 (en) Kernel event triggers for content item security
US10880287B2 (en) Out of box experience application API integration
US11372990B2 (en) Restricting access to content
US9716720B2 (en) Unregistered user account generation for content item sharing
US10380551B2 (en) Mixed collaboration teams
US9298439B2 (en) System and method for installing a client application using a light installer
US9973504B2 (en) Pre-authorizing a client application to access a user account on a content management system
US20180365390A1 (en) Controlling Use of Shared Content Items Based on Client Device
JP2019506643A (ja) 共有コンテンツの制御転送
US20230410053A1 (en) Discoverable collaboration teams
US9912651B2 (en) Authenticated server views
US10412586B2 (en) Limited-functionality accounts
JP6905084B2 (ja) コンテンツアイテムコレクションの管理

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190603

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201006

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210426

R150 Certificate of patent or registration of utility model

Ref document number: 6876790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE

Ref document number: 6876790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250