Bloom Filter Unique User Invocation Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing online systems face challenges in efficiently determining unique user invocations for online features, especially in large-scale e-commerce and marketing campaigns, where brute force database approaches are time-consuming and inefficient.

Innovation Solution

The use of a Bloom filter to probabilistically determine unique user invocations by distributing a key to users and associating it with user actions, with negative activation indicating a unique invocation, providing a faster and more efficient method than traditional database processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If brute force database approaches are used to determine unique user invocations, then accuracy is maintained, but processing time and computational overhead increase significantly

Engineering Contradiction:
Improveaccuracy of unique user invocation determinationVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent employs a Bloom filter, which is a space-efficient, probabilistic data structure that uses minimal memory resources compared to traditional database approaches. The Bloom filter provides a fast, approximate solution for determining unique user invocations by using bitwise operations and hash functions, sacrificing some precision for dramatically improved speed and reduced computational overhead.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the fundamental approach from exact matching (database queries) to probabilistic matching (Bloom filter). By transforming the problem from determining exact uniqueness to estimating uniqueness with a configurable false positive rate, the system achieves faster processing while maintaining acceptable accuracy for large-scale online environments.

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If traditional database processing is used to track user actions, then complete information is captured, but computational overhead and system resource consumption increase

Engineering Contradiction:
Improvecompleteness of user action trackingVSAvoidsystem processing efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The Bloom filter uses a compact bitwise array structure that consumes minimal system resources compared to traditional database tables. Each user action is processed through fast bitwise operations rather than complex database queries, dramatically improving processing efficiency while capturing sufficient information for unique invocation determination.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent replaces the mechanical database query system with a probabilistic filtering mechanism. Instead of using traditional database indexing and searching, the system uses hash functions and bitwise operations to determine unique invocations, achieving much higher processing speeds with reduced computational overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If exact database queries are performed for each user action, then precise unique user identification is achieved, but system scalability is limited

Engineering Contradiction:
Improveprecision of user identificationVSAvoidsystem scalability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent transforms the user identification approach from exact matching to probabilistic estimation with configurable parameters. The Bloom filter allows the system to scale to millions of users by adjusting the false positive rate parameter, enabling the system to handle large-scale online environments while maintaining acceptable identification precision.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The Bloom filter's lightweight structure enables the system to scale efficiently by adding more users without proportionally increasing system resources. The probabilistic approach allows the system to handle large volumes of user actions with constant memory usage, dramatically improving scalability compared to traditional database methods.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10832279B2Aggregation of unique user invocations in an online environment
Publication Date: 2020.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10832279B2 patent drawing
  • US10832279B2 patent drawing
  • US10832279B2 patent drawing

AI summary

Methods and systems for determining a unique invocation of an online feature are disclosed. A key is distributed to multiple users. Upon performing a user action, the key is sent to a Bloom filter. If the output of the Bloom filter is a negative activation, the invocation is deemed to be unique. If the output of the Bloom filter is a positive activation, the invocation is deemed to be non-unique. For a large data set, the computational overhead of processing the key with the Bloom filter is significantly less than the brute force database approach. Thus, in large systems with many millions of users and possible user actions, disclosed embodiments allow assessment of a unique action in a timely manner.