Permissions Cache for Secure File Search Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems lack efficient methods for searching files and metadata across various applications while ensuring user privacy and optimizing search performance, particularly in managing permissions and indexing files effectively.

Innovation Solution

The system implements methods to manage data by creating a permissions cache, partitioning indexes based on file location and access permissions, and integrating this cache with search queries to filter results based on user-defined access rights, optimizing search performance and preserving data privacy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the system searches through all files and metadata without permission filtering, then search completeness is improved, but user privacy is compromised

Engineering Contradiction:
Improvesearch completenessVSAvoiduser privacy exposure
Core Design Contradiction:
Loss of informationVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary permission validation by creating a permissions cache that stores pre-computed access rights for users. Before executing a search, the system checks this cache to determine which files and metadata the user is authorized to access, filtering results accordingly. This preliminary action ensures privacy protection without compromising search completeness for authorized data.

Inventive Principle:
Principle #10Preliminary action

2Object-affected harmful factors

If the system filters search results based on permissions, then user privacy is protected, but search performance deteriorates

Engineering Contradiction:
Improveuser privacy protectionVSAvoidsearch performance
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The system pre-computes and stores permission information in a permissions cache before searches are executed. This cache contains pre-determined access rights for users across different files and metadata. During search operations, the system performs efficient lookups in this pre-built cache rather than evaluating permissions for each file individually, thus protecting privacy while maintaining search performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The permission validation process is segmented into two distinct phases: (1) pre-computation of permission caches during idle periods or system initialization, and (2) efficient lookup during actual search operations. This segmentation separates the computationally intensive permission analysis from the time-critical search execution, improving overall system performance.

Inventive Principle:
Principle #1Segmentation

3Productivity

If the system maintains a permissions cache, then search performance is improved, but system complexity increases

Engineering Contradiction:
Improvesearch performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates a simplified copy of permission information in the form of a permissions cache, which stores pre-computed access rights. This cache is a lightweight data structure that mirrors essential permission data without duplicating the entire file system hierarchy. The copy enables fast lookup operations while keeping the added complexity minimal and manageable.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If the system searches metadata across all applications, then search capability is improved, but data security is compromised

Engineering Contradiction:
Improvesearch capabilityVSAvoiddata security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary permission validation using the permissions cache before retrieving or displaying any metadata from applications. This pre-check ensures that only metadata the user is authorized to access is included in search results, maintaining data security while allowing comprehensive cross-application search capability for authorized data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9081872B2Methods and systems for managing permissions data and/or indexes
Publication Date: 2015.07.14 APPLE INC
  • US9081872B2 patent drawing
  • US9081872B2 patent drawing
  • US9081872B2 patent drawing

AI summary

Systems and methods for indexing and searching data, such as file contents and/or metadata. In one exemplary method, an index corresponding to files on a storage device is created. Index is partitioned into subindexes according to certain criteria, such as the location of files or exclusivity of access to files. Subindex contains the entire content of files or metadata describing files, in addition to identifiers leading back to files' physical storage. Index is maintained by moving files' index entries from one subindex to another as files change in relation to the partition criteria, such as changing location. Searching some subindexes, like one corresponding to files in a shared folder, is done with permission checking. Searches of certain other subindexes, like one corresponding to the home folder of the user searching, are done without permission checking the underlying files resulting in a performance improvement.