Document Revision Access Control via Permission Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems struggle to control access to cached revisions of documents without violating permissions, especially when advanced operating systems use dynamic mechanisms like Access Control Lists (ACLs) and kernel plugins, which cannot be cached.

Innovation Solution

A system that uses a multi-user permissions and ownership model to control access to document revisions, where only the owner of a document at the time of the revision can access past revisions, and for the most-recent revision, it defers to existing file system permissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If previous revisions of files are cached to enable access to historical data, then access to document revisions is improved, but permission control integrity deteriorates because dynamic permission mechanisms cannot be cached

Engineering Contradiction:
Improveaccess to document revisionsVSAvoidpermission control integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments permission control into two distinct parts: (1) cached permission snapshots associated with each document revision that can be stored and retrieved efficiently, and (2) dynamic permission mechanisms (ACLs, kernel plugins) that remain uncached and operate in real-time. This segmentation allows revision access to be fast while maintaining permission integrity through the uncached dynamic checks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary permission evaluation by capturing permission states at the time of each revision creation and storing them as snapshots. This preliminary action creates a frozen record of who had access when, which can then be efficiently queried without requiring real-time permission system access, thus improving access speed while maintaining integrity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If dynamic permission mechanisms like ACLs and kernel plugins are used to control access, then permission control accuracy is improved, but access speed deteriorates because these mechanisms cannot be cached and must be evaluated in real-time

Engineering Contradiction:
Improvepermission control accuracyVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts the permission evaluation function from the dynamic permission mechanisms and implements it separately as cacheable permission snapshots. By taking out this function, the system can cache the results for fast retrieval while the original dynamic permission mechanisms (ACLs, kernel plugins) continue to operate independently to maintain accuracy when needed.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If permission snapshots are cached for previous revisions, then access speed to revisions is improved, but permission control flexibility deteriorates because cached permissions cannot adapt to real-time permission changes

Engineering Contradiction:
Improverevision access speedVSAvoidpermission control flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system implements dynamics by maintaining both static cached permission snapshots for fast access and dynamic real-time permission mechanisms that can adapt to changing conditions. The cached snapshots provide stable, fast access for historical revisions, while the dynamic mechanisms continue to adapt to real-time permission changes, ensuring both speed and flexibility coexist.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8407249B1Handling document revision history information in the presence of a multi-user permissions model
Publication Date: 2013.03.26 GOOGLE LLC
  • US8407249B1 patent drawing
  • US8407249B1 patent drawing
  • US8407249B1 patent drawing

AI summary

One embodiment of the present invention provides a system that controls accesses to revisions of documents in the presence of a multi-user permissions and ownership model. During operation, the system receives a request to on behalf of a user to access a revision of a document. If the request is directed to a most-recent revision of an existing document, the system uses the multi-user permissions and ownership model to control access to the revision. Otherwise, if the request is directed to a previous revision of the document, the system grants access to the revision only if the user was the owner of the document at the time of the revision.