Concurrent Data Sketch Generation via Local Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data sketch technologies are not thread-safe and require synchronization, leading to inefficiencies in generating and querying data sketches, especially in multi-core platforms where queries cannot be served until the union operation is completed, and access to shared data requires costly memory fences.

Innovation Solution

The method involves generating a data sketch in a concurrent manner using multiple threads, where local sketches are propagated to a shared data structure while being built, allowing queries to be processed simultaneously, and reducing synchronization costs through efficient propagation and synchronization mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate data sketches are built from sub-data streams and merged via union operation, then data sketch generation can be parallelized, but queries cannot be served before the union operation is completed

Engineering Contradiction:
Improvedata sketch generation speedVSAvoidquery waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the data stream into multiple sub-data streams processed by different threads, each maintaining its own local data sketch. This segmentation allows parallel processing while enabling queries to be served on individual local sketches before the final union operation completes, thus resolving the contradiction between parallelization and query availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by building local data sketches in parallel during the data processing phase. These local sketches are prepared in advance and can independently serve queries before the final union operation is completed, eliminating the waiting time for query operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If synchronization is achieved via memory fences, then thread-safe access to shared data is ensured, but performance degrades due to costly synchronization operations

Engineering Contradiction:
Improvethread-safetyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the synchronization requirement from the data sketch access by allowing each thread to independently access and query its own local data sketch without synchronization. The union operation is performed separately, eliminating the need for costly memory fences during query operations while maintaining thread-safety for the shared data structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces local data sketches as intermediaries between threads and the shared data structure. Each thread operates on its own local sketch without direct access to shared data, eliminating synchronization requirements. The intermediary local sketches buffer the synchronization operations, improving processing efficiency while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If data sketch is built in epochs with predetermined time-periods, then generation and querying are simplified, but real-time query capability is limited

Engineering Contradiction:
Improvedata sketch implementation simplicityVSAvoidreal-time query response
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The patent makes the data sketch system dynamic by allowing queries to be served at any time from local data sketches during the epoch, rather than only after epoch completion. The system adapts to real-time query requirements while maintaining the epoch-based generation structure, thus improving real-time response speed without sacrificing implementation simplicity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent ensures continuous useful action by enabling query operations to proceed continuously on local data sketches during the epoch period, rather than being blocked until epoch completion. This continuity maintains real-time query capability while the data sketch generation continues in the background.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11468068B2Method and system for concurrent generation of data sketches
Publication Date: 2022.10.11 VERIZON PATENT & LICENSING INC
  • US11468068B2 patent drawing
  • US11468068B2 patent drawing
  • US11468068B2 patent drawing

AI summary

The present teaching relates to a method and system generating a data sketch. A plurality of local data sketches are generated, wherein for each local data sketch, it is determined whether a propagation condition is satisfied. In response to the condition being satisfied, the local data sketch is processed when a synchronization parameter satisfies a criterion. The synchronization parameter is set to a predetermined value to enable propagation of the local data sketch to the data sketch. Upon the local data sketch being propagated to the data sketch, the above steps are repeated.