User Rank-Based Document Indexing for Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing indexing and searching systems for documents with access control lists (ACLs) face inefficiencies due to the need for large hit list intersections in disk-based indexing solutions, leading to increased index size and document write rates, and excessive search result merging in read fan-in approaches.
Innovation Solution
Implement a user rank-based indexing method where documents are partitioned into user and group partitions, with each document indexed by a selected indexing user based on hash values, allowing for efficient search results combination and optional document replication to optimize search behavior.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ACL tokens are added to documents for each authorized user, then search systems can identify user-specific documents, but the system must perform intersections of large hit lists which increases processing complexity and time
Solution Approach 1:
The patent segments the single large ACL token list into multiple smaller partition-specific ACL token lists. Each partition contains ACL tokens only for users who have access to documents in that partition, eliminating the need to process all ACL tokens for every search query and reducing the intersection operation scope.
Solution Approach 2:
The patent extracts and removes irrelevant ACL tokens from the search process by organizing them into partition-specific lists. Only the ACL tokens relevant to the current partition are processed during search, taking out the unnecessary computation of intersecting against all user ACL tokens.
2Productivity
If separate copies of documents are written to each user's partition (write fan-out), then search efficiency improves, but the index size and document write rate are greatly increased
Solution Approach 1:
The patent applies local quality by creating document copies only in partitions where they are needed (where users have access permissions), rather than universally replicating all documents to all partitions. This selective replication reduces the total number of document copies stored in the index.
Solution Approach 2:
The patent uses partial action by implementing selective document replication based on user access patterns and partition relevance. Instead of fully replicating all documents to all partitions (excessive action), the system replicates only the necessary subset of documents to the necessary subset of partitions.
3Productivity
If a single copy of each document is written to document owner's partition with ACL tokens (read fan-in), then document write efficiency improves, but searches must merge large numbers of result sets when users have many collaborators
Solution Approach 1:
The patent segments the monolithic result set merging process into smaller, partition-specific result sets. By organizing documents and their ACL tokens into partitions, the search process only needs to merge results within each partition rather than merging all results from all document owners, reducing the complexity of result set merging.
4Reliability
If documents are indexed in multiple partitions for better search coverage, then search completeness improves, but the number of indexers and index size increase
Solution Approach 1:
The patent applies local quality by indexing documents in multiple partitions only when necessary (when multiple users with different ACLs need access). The system intelligently determines the optimal partition placement based on user access patterns, avoiding unnecessary replication and maintaining a manageable number of indexers.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing a plurality of documents in computer-readable memory, each document of the plurality of documents having a corresponding access control list (ACL), each ACL defining a plurality of users that are authorized to access a respective document, generating an index based on the plurality of users, the index comprising a plurality of partitions, each partition corresponding to a user of the plurality of users, and, for each document of the plurality of documents: ranking the users of the plurality of users, selecting a user as an indexing user based on the ranking, and storing the document in a partition of the index, the partition corresponding to the indexing user.


