Data Indexing in Group Communication Platforms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing group-based communication platforms face challenges in data indexing due to uneven data distribution across shards, leading to inefficient resource allocation, search performance issues, and data integrity problems, with existing solutions being costly, time-consuming, and prone to human errors.

Innovation Solution

Implementing a computer-implemented method that generates a new collection at a snapshot time point, synchronizes it with live collections, and redirects aliases, using document sharding and uniform placement to distribute data evenly, and rebuilding indexes regularly without human intervention, while utilizing MapReduce algorithms for processing big data sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is distributed across shards in existing group-based communication platforms, then data storage capacity is increased, but data distribution becomes uneven leading to inefficient resource allocation

Engineering Contradiction:
Improvedata storage capacityVSAvoidresource allocation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments data into fixed time-period collections (e.g., daily, hourly) with predetermined shard counts. Each collection is independently sharded with consistent segment counts, ensuring uniform data distribution across shards while maintaining scalable storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically creates new collections with fresh shards as time periods progress, automatically replacing old collections. This dynamic lifecycle management ensures continuous even distribution of data across active shards while allowing historical data to be archived or deleted according to retention policies.

Inventive Principle:
Principle #15Dynamics

2Reliability

If manual index rebuilding is performed, then data integrity can be maintained, but human errors and time consumption increase

Engineering Contradiction:
Improvedata integrityVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements automated index rebuilding through scheduled tasks that trigger collection merges and index regeneration without human intervention. The automated process eliminates manual errors while maintaining data integrity through consistent, repeatable operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements periodic index rebuilding at fixed intervals (e.g., daily, weekly) based on collection lifecycle management. This periodic automation ensures data integrity is maintained regularly without requiring continuous manual attention, reducing both time consumption and human error risks.

Inventive Principle:
Principle #19Periodic action

3Speed

If frequent index rebuilding is performed, then search performance is improved, but system resource usage and time loss increase

Engineering Contradiction:
Improvesearch performanceVSAvoidsystem resource usage
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The system performs index rebuilding periodically at optimized intervals rather than frequently or continuously. This periodic approach balances search performance requirements with resource conservation, rebuilding indexes only when necessary based on collection age and usage patterns.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs index rebuilding in advance during low-usage periods or as part of scheduled maintenance windows. By proactively rebuilding indexes before performance degradation occurs, the system maintains optimal search performance while minimizing disruption to active operations and reducing peak resource usage.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If data collections are not regularly archived or deleted, then data completeness is maintained, but storage costs and retrieval efficiency decrease

Engineering Contradiction:
Improvedata completenessVSAvoidretrieval efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements dynamic collection lifecycle management where collections automatically transition from active to archived status based on time-based criteria. Active collections within the retention period maintain full accessibility for complete data retrieval, while older collections are archived or deleted to optimize storage and improve retrieval efficiency for current operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments data into time-based collections that can be independently managed. This segmentation allows the system to maintain complete data across multiple archived collections while keeping active collections smaller and more efficient for current retrieval operations, balancing data completeness with retrieval performance.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11531645B2Method, apparatus and computer program product for improving data indexing in a group-based communication platform
Publication Date: 2022.12.20 SALESFORCE INC
  • US11531645B2 patent drawing
  • US11531645B2 patent drawing
  • US11531645B2 patent drawing

AI summary

Methods, apparatus and computer program product for improving data indexing in a group-based communication platform are described herein. The group-based communication platform having a computed collection and one or more live collections. The computer-implemented method includes generating a new collection, the new collection being generated at a snapshot time point; associating a collection manager with the new collection; retrieving a plurality of electronic messages from the computed collection and the one or more live collections; writing the plurality of electronic messages to the new collection, the writing being completed at a cut-over time point; synchronizing the new collection with the one or more live collections based on the plurality of electronic messages; and redirecting the read alias and the write alias from the computed collection to the new collection.