Cached User Access Vector Injection for Document Search Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional document repository systems incur significant latency due to a two-stage process for accessing content, where all matching documents are initially retrieved before access control mechanisms are applied, leading to inefficient retrieval and potential timeouts.
Innovation Solution
Implementing a method that modifies user queries to include user access vectors, which specify authorized access control lists, allowing only accessible documents to be retrieved in a single stage, thereby reducing latency and eliminating the need for re-indexing upon user base changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a two-stage process is used to retrieve documents (first retrieving all matching documents, then applying access control), then access control can be applied to all documents, but significant latency is introduced and retrieval efficiency deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-computing and caching access control decisions before document retrieval. The system creates a mapping between users and accessible documents based on access control lists, allowing the retrieval process to directly query only relevant documents without first retrieving all matching documents and then filtering them. This pre-computed access control information is stored in a cache structure that enables O(1) lookup during retrieval operations.
Solution Approach 2:
The patent segments the document retrieval process into two independent phases: (1) access control evaluation, which is performed separately and cached, and (2) document retrieval, which uses the pre-computed access information to directly query only accessible documents. This segmentation allows each phase to be optimized independently and eliminates the sequential dependency that causes latency in the traditional two-stage process.
2Productivity
If access control mechanisms are applied after document retrieval, then all documents can be retrieved first, but the system becomes more complex and requires re-indexing upon user base changes
Solution Approach 1:
The patent introduces an intermediary structure (the cache mapping between users and accessible documents) that mediates between the document repository and the access control mechanism. This intermediary layer stores pre-computed access control information, allowing the system to answer access control questions quickly without querying the entire document repository or maintaining complex real-time access control checks during retrieval operations.
Solution Approach 2:
The patent creates a simplified copy of the access control relationship structure (user-to-accessible-documents mapping) that can be quickly queried during document retrieval. Instead of maintaining complex real-time access control checks throughout the retrieval process, the system uses this copied access control information structure to directly filter documents, reducing computational complexity while maintaining security.
3Loss of information
If all documents are retrieved in the first stage, then complete search results are obtained, but unnecessary documents are transferred and processed increasing resource consumption
Solution Approach 1:
The patent applies preliminary action by pre-determining which documents a user has access to before the actual retrieval process. The system builds a cache structure that maps users to their accessible documents based on access control lists, allowing the retrieval operation to directly query only the relevant subset of documents. This eliminates the need to retrieve and process all matching documents and then filter them, significantly reducing resource consumption while maintaining complete and accurate search results.
Data Source
AI summary
A method for servicing document search requests. The method includes receiving, by a document management service, a document search query from a requesting user, and injecting, into the document search query, a user access vector. The user access vector specifies, for the requesting user, access control lists that are associated with the requesting user. The method further includes identifying, in a document repository, documents that match the document search query with the injected user access vector. A matching document requires a match of terms in the search query with terms in the matching document, and a match of at least one access control list specified in the matching document and at least one of the access control lists specified in the user access vector.


