Bloom Filter Compression for User Presence Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing interactions between users of different service versions in a network-accessible service is challenging, particularly in maintaining records of user versions and their interactions, which can lead to unwieldy server-side storage and maintenance issues, especially in systems with many users or complex interactions.

Innovation Solution

The strategy involves constructing bloom filter information and exception information to compress and accurately represent sets of items, allowing for probabilistic lookups and identifying false positives, which is applied in systems with multiple-point-of-presence-aware (MPOP-aware) devices and non-MPOP devices to coordinate interactions and select representative devices for content sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a server-side store maintains detailed records of user versions and interactions, then accurate tracking of user service versions is achieved, but storage size becomes large and maintenance becomes difficult

Engineering Contradiction:
Improveaccuracy of user version trackingVSAvoidstorage size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential information needed for version tracking into a compact data structure. Instead of storing complete user interaction records, the system extracts user identifiers and version information into a streamlined format that maintains accuracy while dramatically reducing storage requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional approach by having clients report their version information to the server rather than the server tracking and storing all client interactions. This reversal reduces server storage needs while maintaining accurate version tracking through periodic client-reported status updates.

Inventive Principle:
Principle #13The other way round (Inversion)

2Loss of information

If a server-side store maintains comprehensive interaction records for many users, then complete interaction history is preserved, but system complexity increases

Engineering Contradiction:
Improvecompleteness of interaction recordsVSAvoidmaintenance complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system extracts only the critical interaction data points needed for version management, discarding redundant detailed interaction logs. This extraction maintains the essential information needed for tracking while eliminating the complexity of managing comprehensive interaction histories.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements self-service mechanisms where clients automatically report their version status and interaction summaries to the server without requiring complex server-side tracking infrastructure. This reduces system complexity by distributing the tracking burden to the clients themselves.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If the service allows users to continue using previous versions, then user flexibility is improved, but record-keeping becomes unwieldy

Engineering Contradiction:
Improveuser version selection flexibilityVSAvoidrecord management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the user base by version usage, organizing users into distinct groups based on the service version they are running. This segmentation allows the system to manage multiple version groups efficiently without creating a single complex unified record structure, reducing overall management complexity while maintaining user flexibility.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8224940B2Strategies for compressing information using bloom filters
Publication Date: 2012.07.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8224940B2 patent drawing
  • US8224940B2 patent drawing
  • US8224940B2 patent drawing

AI summary

A strategy is described for constructing bloom filter information and exception information. The bloom filter information is constructed to express a set of items in a lossy compressed form. The exception information reveals occasions in which the bloom filter information erroneously indicates that a candidate item is a member of the set. The strategy can apply the bloom filter information and the exception information to select a representative device among a group of devices on which a user may maintain simultaneous presence.