Message Thread Identification via Centralized Data Store

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electronic messaging systems face challenges in managing and identifying threads of related messages, especially when messages are received out of order or at different times, leading to difficulties in grouping and accessing messages efficiently.

Innovation Solution

A data store is used to associate thread identifiers with message identifiers, allowing for the identification and management of message threads by storing thread IDs for each message, ensuring that related messages are consistently grouped and stored effectively, even when received out of order or at different times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If messages are stored and processed without centralized thread management, then client devices have autonomy, but computing resources are overwhelmed and threading consistency deteriorates

Engineering Contradiction:
Improvethreading consistencyVSAvoidcomputational burden
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a message service as an intermediary between message providers and client devices. This service maintains a data store with thread identifiers that maps message identifiers to thread identifiers, enabling centralized thread management while offloading computational complexity from client devices. The intermediary resolves threading consistency issues by providing a unified view of message relationships without requiring each client to independently process and store thread information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If thread information is maintained locally on each client device, then access speed is fast, but storage and computational resources are consumed

Engineering Contradiction:
Improvemessage access speedVSAvoidstorage resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The message service data store serves multiple functions: it maintains thread identifier mappings, provides threading information to multiple clients simultaneously, and enables consistent message grouping across different devices. By centralizing this information, the system eliminates redundant local storage of thread data on each client device while maintaining fast access through efficient data retrieval from the centralized store.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If messages are grouped into threads using distributed algorithms, then autonomy is maintained, but processing time increases

Engineering Contradiction:
Improvesystem autonomyVSAvoidthread identification time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The message service performs preliminary thread identification and maintains thread identifier mappings in advance, before clients need to access or display messages. When messages are received or stored, the service proactively determines thread relationships and caches this information in the data store. This preliminary action eliminates the need for clients to perform time-consuming threading algorithms at the moment of message access.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9253133B2Message thread identification and management
Publication Date: 2016.02.02 DROPBOX INC
  • US9253133B2 patent drawing
  • US9253133B2 patent drawing
  • US9253133B2 patent drawing

AI summary

Systems and methods for identifying threads of related messages. A computer can associate messages with threads by storing a thread identifier (thread ID) identifying a thread and associating the thread ID with a message identifier (message ID) of each known message that belongs to the thread. The computer can inspect a message to determine whether the message identifies a reference message. Before assigning a thread ID to the message or a reference message, the computer can determine whether a message ID for either message is stored in association with a thread ID. If a thread ID is stored for a message ID of either message, the computer can assign the thread ID to message IDs of other reference messages. If a thread ID is not stored for a message ID of either message or is different for either message, store a common thread ID in association with both messages.