Email Thread Attachment Indexing via Hash Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing email systems incur high CPU utilization and large search index sizes due to the re-indexing of duplicate attachments in message threads, as each message in a thread is treated as a new object, leading to inefficient document indexing operations.

Innovation Solution

The system associates email messages with message threads using a thread identifier, indexing attachments only once per thread, and uses unique identifiers like hash codes to avoid re-indexing duplicates, allowing for efficient indexing and searching across all messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each message in a thread is treated as a new object for indexing, then search coverage is complete, but CPU utilization increases and search index size becomes large

Engineering Contradiction:
Improvesearch coverageVSAvoidCPU utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges duplicate attachments within the same message thread into a single indexed object. By detecting that attachments are duplicates through comparison with previously indexed attachments in the thread, the system combines them into one unique entry, thereby reducing CPU utilization and search index size while maintaining complete search coverage through the thread-level indexing structure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent discards redundant indexing operations for duplicate attachments by identifying them through thread context and attachment content comparison. Instead of processing each duplicate attachment separately, the system recovers the already-indexed attachment representation and reuses it, eliminating unnecessary CPU processing while preserving search functionality.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If each message in a thread is treated as a new object for indexing, then search index is updated completely, but search index size becomes large

Engineering Contradiction:
Improvesearch completenessVSAvoidsearch index size
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent merges duplicate attachments within the same message thread into a single indexed object. By detecting that attachments are duplicates through comparison with previously indexed attachments in the thread, the system combines them into one unique entry, thereby reducing search index size while maintaining complete search coverage through the thread-level indexing structure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the indexing process at the thread level rather than at the message level. By organizing attachments into thread-based groups and indexing them once per thread, the system creates a segmented structure that reduces redundancy while preserving the ability to search across all messages in the thread, thus reducing index size without sacrificing search completeness.

Inventive Principle:
Principle #1Segmentation

3Reliability

If duplicate attachments are re-indexed in each message, then search index is maintained up-to-date, but document index operations become redundant

Engineering Contradiction:
Improvesearch index freshnessVSAvoidindexing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary detection of duplicate attachments by comparing attachment content or identifiers against previously indexed attachments in the same thread before performing indexing operations. This preliminary action identifies duplicates in advance, allowing the system to skip redundant indexing operations while maintaining search index freshness by still processing new and modified attachments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent discards redundant indexing operations for duplicate attachments by identifying them through thread context and attachment content comparison. Instead of processing each duplicate attachment separately, the system recovers the already-indexed attachment representation and reuses it, eliminating unnecessary CPU processing while preserving search functionality.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS7672956B2Method and system for providing a search index for an electronic messaging system based on message threads
Publication Date: 2010.03.02 X CORP
  • US7672956B2 patent drawing
  • US7672956B2 patent drawing
  • US7672956B2 patent drawing

AI summary

When a message having at least one attachment is obtained for indexing, it is indexed as N+1 separate documents, where N is the number of attached documents. If the message is part of a message thread, then information regarding the last message in the thread is retrieved, and search index attachment meta data for the last message is extracted. A unique identifier is computed for the newly obtained attachments, and used to search for matches in the attachments for the last message in the thread. If there is a match, then the newly obtained attachment is not indexed, but the unique identifier of the previously indexed matching attachment is added to a body index document for the new message. A unique identifier associated with the new message is also added to a list of parent identifiers associated with the attachment.