Distributed Search System RAM Caching for Disk Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information retrieval and knowledge-management systems face performance issues due to large data sets, leading to inefficient search engine performance, memory faults, and inconsistent data processing, which result in costly disk searches and resource wastage.

Innovation Solution

A distributed search system is implemented, where multiple search engines process search requests based on the data sets involved, utilizing network attached storage and message queuing to ensure data caching in RAM, thereby reducing disk searches and enhancing system resilience through dynamic resource allocation and failover mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data sets are stored in disk rather than RAM, then system memory capacity is improved, but search performance deteriorates due to costly disk searches

Engineering Contradiction:
Improvedata storage capacityVSAvoidsearch performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system segments the search service into multiple independent search engine instances that can be distributed across different servers. Each search engine instance maintains its own data set in RAM, allowing parallel processing of search requests without requiring all data to be accessible from a single memory space. This segmentation enables the system to handle larger data volumes while maintaining fast RAM-based access for each individual search engine.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If search service is bound to a single CPU, then system complexity is reduced, but reliability deteriorates when memory faults occur

Engineering Contradiction:
Improvesystem architecture simplicityVSAvoidsystem availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The search service is divided into multiple independent search engine instances that can run on different CPUs or servers. When a memory fault occurs on one CPU, only the affected search engine instance is impacted, while other instances continue to operate. This segmentation provides natural fault isolation and enables selective failover without bringing down the entire search service.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the operational parameters of search engines by allowing them to be dynamically allocated to different CPUs and servers based on availability. When a memory fault is detected, the system can migrate search engine instances to different physical hosts, changing the hardware parameters on which the search service operates. This enables continuous operation despite individual hardware failures.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If data sets are large enough to require disk storage, then storage capacity is improved, but search speed deteriorates due to disk-level processing

Engineering Contradiction:
Improvedata set sizeVSAvoidquery processing speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

Large data sets are divided into smaller segments that can be loaded into RAM by individual search engine instances. Each search engine processes a portion of the total data set, maintaining fast RAM-based access for its assigned segment. This segmentation allows the system to handle large overall data volumes while each individual search engine operates at high speed using only in-memory data.

Inventive Principle:
Principle #1Segmentation

4Quantity of substance

If search engines share server space, then resource utilization is improved, but data consistency deteriorates due to lack of dedicated caching

Engineering Contradiction:
Improveresource efficiencyVSAvoiddata processing consistency
Core Design Contradiction:
Quantity of substanceVSStability of the object's composition

Solution Approach 1:

When multiple search engines share server space, each search engine instance maintains its own dedicated cache and data segment in RAM. This segmentation ensures that each search engine has consistent, isolated access to its assigned data portion without interference from other search engines sharing the same physical server. The dedicated caching per instance maintains data processing consistency even in a shared environment.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8886629B2Distributed search methods, architectures, systems, and software
Publication Date: 2014.11.11 THOMSON REUTERS ENTERPRISE CENTRE GMBH
  • US8886629B2 patent drawing
  • US8886629B2 patent drawing
  • US8886629B2 patent drawing

AI summary

Systems, methods, and software for providing a distributed search function for online delivery platforms used in law firms and other enterprises are described. For example, one aspect of the systems, methods and software provides a plurality of data sets. The data sets may comprise indices into other sets of data. At least one search engine is associated with each data set. A system receiving a search request determines which search engines are used to process the search request based on the data sets involved in the search request. The search request is then forwarded to the identified search engines.