Permissions Cache for Secure File Search Indexing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Object-affected harmful factors
If the system filters search results based on permissions, then user privacy is protected, but search performance deteriorates
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.
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.
3Productivity
If the system maintains a permissions cache, then search performance is improved, but system complexity increases
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.
4Adaptability or versatility
If the system searches metadata across all applications, then search capability is improved, but data security is compromised
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.
Data Source
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.


