Flow Control Mechanism for Multi-Tenant Data Stream Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current event management systems face challenges in managing high volumes of data streams with varying latency and throughput, leading to inefficiencies and resource-intensive processing, especially in real-time tracking and multi-tenant cloud environments, where minor inefficiencies can cause significant issues.

Innovation Solution

A flow control mechanism that monitors and synchronizes the throughput of data streams and sub-streams using a shared control channel, allowing for throttling or withholding of data flow to coordinate processing and synchronize related streams, thereby managing latency and optimizing resource usage without requiring large caches or storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data streams are processed asynchronously with varying throughput, then system scalability is improved, but synchronization difficulty increases

Engineering Contradiction:
Improvesystem scalabilityVSAvoidsynchronization difficulty
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a mediator component that receives data from multiple asynchronous data streams, buffers them temporarily, and releases them in a synchronized manner. This mediator acts as an intermediary layer that decouples the asynchronous production from synchronized consumption, allowing the system to maintain scalability while achieving synchronization without requiring complex coordination between all stream components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If real-time processing is implemented, then user experience is improved, but resource consumption increases

Engineering Contradiction:
Improvereal-time processing speedVSAvoidresource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic batching where data from multiple streams is collected over a defined time period and then processed together in synchronized batches. This periodic action allows the system to maintain real-time responsiveness by processing data frequently while avoiding continuous high-resource consumption by using efficient batch processing operations that can be optimized and parallelized.

Inventive Principle:
Principle #19Periodic action

3Manufacturing precision

If data buffering is increased to synchronize streams, then synchronization accuracy is improved, but memory usage increases

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidmemory usage
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent applies partial buffering where only the minimum necessary data is retained in memory to achieve synchronization, rather than buffering excessive amounts. The system uses selective buffering strategies that maintain synchronization accuracy by keeping only the critical data elements needed for coordination, releasing others promptly to minimize memory consumption while still achieving the required synchronization precision.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11500878B2Mechanism to synchronize, control, and merge data streams of disparate flow characteristics
Publication Date: 2022.11.15 SALESFORCE INC
  • US11500878B2 patent drawing
  • US11500878B2 patent drawing
  • US11500878B2 patent drawing

AI summary

A method and system manage synchronization of data streams in a multi-tenant system. The method includes tracking by a flow control mechanism a recent flow rate of at least one data stream, determining by the flow control mechanism whether the flow rate of the at least one data stream varies from at least one related data stream, and adjusting by the flow control mechanism a throughput of the at least one data stream to correlate with the at least one related data stream, in response to determining that the at least one data stream has varied from the at least one related data stream.