Autocomplete Suggestions in Multi-Tenant Database Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant cloud environments, efficiently searching large volumes of structured data across multiple catalogs is challenging due to data complexity and user permission constraints, making it difficult for users to find relevant information without advanced knowledge or permissions.

Innovation Solution

Implementing an autocomplete system that suggests search completions based on user input and context, utilizing a distributed database architecture with Lucene indexing and sharding, and incorporating user permissions to filter suggestions, ensuring only accessible data is presented to users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a multi-tenant architecture is used to store catalog data from multiple tenants, then data storage capacity and scalability are improved, but the complexity of searching across multiple catalogs simultaneously increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidsearch complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a search intermediary layer that sits between the user and the distributed catalog data. This intermediary receives user search queries, resolves them against the multi-tenant architecture, and coordinates searches across multiple catalogs. The intermediary handles the complexity of navigating between tenants and catalogs, presenting a simplified search interface to users while managing the underlying distributed data structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the search functionality into separate components: a search query processor, a tenant permission validator, and a catalog search coordinator. Each component handles a specific aspect of the search operation independently, allowing the system to manage complexity through modular processing stages rather than monolithic search logic.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If users are given access to search all catalogs, then search comprehensiveness is improved, but data security and user permission management deteriorate

Engineering Contradiction:
Improvesearch access scopeVSAvoiddata security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements preliminary permission validation before any search operation occurs. When a user initiates a search, the system first checks the user's authorization level and determines which catalogs and tenants they are permitted to access. This preliminary action filters the search scope before queries are executed, ensuring that even if users have broad theoretical access, their actual search results are restricted to authorized data only.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different search accessibility rules to different parts of the system based on user permissions. Instead of uniform access control, the system dynamically adjusts the search scope for each user based on their role, ensuring that sensitive data remains inaccessible to unauthorized users while maintaining comprehensive search capabilities for authorized users across appropriate catalogs.

Inventive Principle:
Principle #3Local quality

3Productivity

If autocomplete suggestions are provided across all catalogs, then search efficiency is improved, but the amount of processing and data retrieval required increases

Engineering Contradiction:
Improvesearch efficiencyVSAvoidprocessing power consumption
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The patent applies partial action by providing autocomplete suggestions only for the subset of catalogs that the user is permitted to access, rather than processing all catalogs. The system calculates the user's authorized scope once and uses this filtered scope for autocomplete operations, reducing the processing burden while maintaining efficient search assistance within the user's authorized boundaries.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary determination of user permissions and authorized catalog scope before generating autocomplete suggestions. This preliminary filtering ensures that the autocomplete algorithm only processes and retrieves suggestions from authorized catalogs, significantly reducing the processing power required compared to searching all catalogs while still providing comprehensive autocomplete within the user's access rights.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10134067B2Autocomplete of searches for data stored in multi-tenant architecture
Publication Date: 2018.11.20 ARIBA INC
  • US10134067B2 patent drawing
  • US10134067B2 patent drawing
  • US10134067B2 patent drawing

AI summary

In an example embodiment, identifications of user actions are received from a first user device, the user actions being actions related to identifying data from a multi-tenant database to view. A portion of a first search query is received from a first user device corresponding to a first tenant in a multi-tenant architecture. A list of permissions for the first user device is then obtained. A plurality of fields is retrieved from a multi-tenant database based on the portion of the first search query, the fields obtained from data stored by multiple different tenants in the multi-tenant database, the plurality of fields retrieved being limited to fields for which the first user device has permission to view. Then a plurality of autocomplete suggestions are identified from the plurality of retrieved fields, the identifying based on the user actions.