Index Synchronization via Event Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional client-device search applications degrade performance by using batch processing, leading to slower device performance, outdated indexes, and inefficiencies in indexing articles across multiple devices, especially when users access articles on different client devices.

Innovation Solution

A method and system for synchronizing indexes by sending events from one client device to another, allowing both devices to index the same events and maintain a synchronized index, thereby improving search performance and efficiency across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If batch processing is used to index all articles, then the index is comprehensive, but the client device performance degrades significantly

Engineering Contradiction:
Improveindex completenessVSAvoiddevice performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the indexing process into two segments: (1) a comprehensive index built periodically through batch processing, and (2) a dynamic index continuously updated in the background through incremental processing. This segmentation allows the system to maintain index completeness while avoiding performance degradation during user operations, as the incremental updates occur independently without blocking the user interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary batch processing to create a comprehensive index structure in advance, then uses this pre-built structure as the foundation for continuous incremental updates. This preliminary action ensures that the index is always comprehensive while the incremental updates maintain performance by working within the established framework rather than rebuilding everything.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If batch processing occurs only periodically, then device performance is maintained, but the index becomes outdated

Engineering Contradiction:
Improvedevice performanceVSAvoidindex freshness
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements continuous indexing through incremental updates that run in the background between batch processing cycles. This continuous action ensures that new articles and modifications are captured and added to the index promptly, maintaining index freshness without requiring frequent full batch processing that would degrade device performance.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system combines periodic batch processing with continuous incremental updates. The periodic batch processing rebuilds the comprehensive index structure at scheduled intervals, while continuous incremental updates capture new articles and changes in real-time. This hybrid approach maintains both performance and index freshness.

Inventive Principle:
Principle #19Periodic action

3Reliability

If the entire index is copied from one computer to another, then index consistency is achieved, but client device resources are heavily consumed

Engineering Contradiction:
Improveindex consistencyVSAvoiddevice resource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential index data and structure from the source computer and transfers it to the target computer, rather than copying the entire index. This extraction approach maintains index consistency across devices while significantly reducing the amount of data transferred and the computational resources required on the target device.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The index synchronization process is segmented into transferring only the necessary components (index structure, metadata, and essential term mappings) rather than the complete index. This segmentation allows the target device to reconstruct its index efficiently using the transferred segments combined with its own incremental update data, reducing resource consumption.

Inventive Principle:
Principle #1Segmentation

4Reliability

If the entire index is copied from one computer to another, then index consistency is achieved, but user experience is affected

Engineering Contradiction:
Improveindex consistencyVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system extracts and transfers only the critical index components needed for consistency, allowing the target device to synchronize its index quickly without being blocked by a lengthy full copy operation. This maintains user experience by keeping the device responsive during synchronization, while still achieving index consistency across devices.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The necessary index data is prepared and extracted in advance on the source device before transfer begins. This preliminary preparation reduces the actual transfer time and minimizes the impact on user experience, as the heavy lifting of data preparation occurs beforehand rather than during the synchronization process that users are present for.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7581227B1Systems and methods of synchronizing indexes
Publication Date: 2009.08.25 GOOGLE LLC
  • US7581227B1 patent drawing
  • US7581227B1 patent drawing
  • US7581227B1 patent drawing

AI summary

Systems and methods that synchronize indexes are described. In one embodiment, a first index on a first client can be provided, wherein the first index comprises a plurality of terms associated with a plurality of events, the events comprising client activity associated with an article, and the first index can be synchronized with a second index or a second client by sending events from the first client to the second client, wherein the first and second indexes index the same events. In another embodiment, an event is retrieved from a first client, wherein the event comprises event data, the event is sent to a second client, the event is received by the second client as a new event, the new event comprising event data, a new event ID is associated with the new event, the new event ID is indexed, and the new event is stored.