Distributed Contact Index Partitioning for Sub-Second Query Response

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face significant delays when searching or browsing large contact datasets, such as those exceeding 200 million items, due to inefficient data access methods.

Innovation Solution

A host service system with an index interface that processes contacts by domain, using key-value pairs and tables to quickly identify and retrieve contacts matching query criteria, allowing for fast response times by partitioning the index across multiple storage units and utilizing distributed database technology.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional searching methods are used on large contact datasets, then complete contact information can be retrieved, but the response time becomes extremely slow

Engineering Contradiction:
Improvecontact retrieval accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the large contact dataset by organizing contacts into hierarchical groups based on domain and attribute prefixes. The index structure divides contacts into multiple levels (domain level, attribute prefix level, and individual contact level), allowing the system to search only relevant segments rather than scanning the entire dataset. This segmentation enables fast retrieval by eliminating unnecessary search spaces while maintaining complete contact information accuracy.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the index is maintained in a single location, then data access is simple, but disk access becomes necessary causing slow response times

Engineering Contradiction:
Improveindex access simplicityVSAvoidresponse time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent transitions from a single-location index to a distributed multi-dimensional index structure. The index is partitioned across multiple servers or storage locations, with each location holding a portion of the contact data organized by domain and attribute prefixes. This dimensional distribution allows the system to access different index portions in parallel and eliminates the single-point bottleneck, achieving sub-second response times while maintaining operational simplicity through the standardized query interface.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Stability of the object's composition

If the contact dataset is stored in a centralized database, then data consistency is maintained, but search performance degrades with dataset size

Engineering Contradiction:
Improvedata consistencyVSAvoidsearch speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the centralized database into distributed index partitions while maintaining logical data consistency through the unified index structure. Each partition stores contacts for specific domains or attribute prefixes, and the hierarchical index organization ensures that queries can be routed to the correct partitions without scanning the entire dataset. This segmentation approach distributes the search workload across multiple nodes, maintaining data consistency through the structured index while achieving linear or sub-linear search performance scaling.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9047378B1Systems and methods for accessing a multi-organization collection of hosted contacts
Publication Date: 2015.06.02 GOOGLE LLC
  • US9047378B1 patent drawing
  • US9047378B1 patent drawing
  • US9047378B1 patent drawing

AI summary

A host service holds a collection of contacts for multiple organizations, or domains. The system maintains an index made of one or more tables. The index may be sorted across multiple machines. Each table contains a set of elements, and each element points to a subset of the contacts that share a common attribute. When the system receives query to return at least one of the contacts in the collection, the system accesses the index to identify a first element having a domain that matches the domain of the first query and an attribute that matches an attribute value of the query. In response, it returns the contacts to which the first element points.