Multi-User Probabilistic Array for Shared Bloom Filter Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-user database systems, the need to use separate Bloom filters for each organization leads to performance issues due to increased resource utilization and false positive matches, as existing solutions do not efficiently manage item associations across multiple users.
Innovation Solution
Implementing a multi-user probabilistic array system that generates user-specific hash values and sets corresponding bits in an array, allowing for quick determination of item associations without unnecessary access to slow storage devices, by using multiple hash functions to minimize false positives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate Bloom filters are used for each organization, then item association checks can be performed for multiple users, but resource utilization increases and performance deteriorates
Solution Approach 1:
The patent combines multiple organization-specific Bloom filters into a single shared probabilistic array structure. Instead of maintaining separate bit arrays for each organization, the invention uses a unified array where each organization has its own set of hash functions that map to the same shared storage space, thereby reducing resource utilization while maintaining the ability to perform item association checks for multiple users simultaneously
Solution Approach 2:
The shared probabilistic array is designed to serve multiple organizations simultaneously with a single data structure. The array becomes a universal resource that can be queried by any organization using their specific hash functions, eliminating the need for separate dedicated structures for each user and improving overall system performance
2Adaptability or versatility
If separate Bloom filters are used for each organization, then item association checks can be performed for multiple users, but resource consumption increases
Solution Approach 1:
The patent merges multiple organization-specific Bloom filters into a single shared probabilistic array structure. Instead of maintaining separate bit arrays for each organization, the invention uses a unified array where each organization has its own set of hash functions that map to the same shared storage space, thereby reducing resource utilization while maintaining the ability to perform item association checks for multiple users simultaneously
Solution Approach 2:
The invention recovers shared storage space that would otherwise be wasted in separate Bloom filter implementations. By allowing multiple organizations to share the same array structure, the system eliminates redundant storage allocation and reduces overall memory consumption while maintaining the functional capability to perform organization-specific item association checks
3Quantity of substance
If more items are added to the set, then the Bloom filter can store more associations, but the probability of false positive matches increases
Solution Approach 1:
The patent applies local quality by allowing each organization to have its own customized hash functions that are optimized for their specific data patterns and false positive requirements. This enables each organization to tune their portion of the shared array to maintain lower false positive rates even as the total number of items across all organizations increases
Solution Approach 2:
The shared probabilistic array is effectively segmented into organization-specific logical sections through the use of distinct hash functions for each organization. While physically shared, the array operates as if segmented, with each organization's hash functions mapping items to specific regions or patterns within the shared space, thereby managing false positive rates independently for each organization
Data Source
AI summary
A system receives an association of first item with first system user, generates first hash value by applying first hash function associated with first system user to first item identifier associated with first item, and sets a bit corresponding to first hash value in array. The system receives an association of second item with second system user, generates second hash value by applying second hash function associated with second user to second item identifier associated with second item, and sets a bit corresponding to second hash value in array. The system receives a request to determine whether third item is associated with first system user, generates third hash value by applying first hash function to third item identifier associated with third item, and outputs message that third item is not associated with first user if a bit corresponding to third hash value is not set in array.


