Notification Filtering via Probabilistic Bloom Filters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices face inefficiencies in managing notification messages, leading to unnecessary wake-ups and battery drain due to the large size of whitelist and blacklist representations, which are transmitted uncompressed, causing substantial data transmission and storage burdens as the number of installed applications increases.
Innovation Solution
Mobile devices generate compacted representations of whitelists and blacklists using lossless compression algorithms or probabilistic representations like Bloom filters, which are then transmitted to couriers to determine whether to deliver or drop notification messages, reducing the need for unnecessary device wake-ups and conserving battery life.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If uncompressed whitelist and blacklist representations are transmitted to couriers, then notification message delivery accuracy is maintained, but data transmission size and storage burden increase substantially
Solution Approach 1:
The patent extracts only the essential information needed for notification filtering by creating probabilistic representations (Bloom filters) that capture the presence/absence of application identifiers without storing complete application metadata. This extraction reduces data size while maintaining filtering capability.
Solution Approach 2:
The patent transforms the representation format of whitelist and blacklist from uncompressed application identifier lists to compacted probabilistic structures. This parameter change in data organization enables space-efficient storage and transmission while preserving the core functionality of notification filtering.
2Productivity
If mobile devices wake up to process every notification message, then all notification messages are processed, but battery life is reduced due to frequent wake-ups
Solution Approach 1:
The patent performs preliminary filtering of notification messages at the courier level using compacted representations before messages reach the mobile device. This preliminary action prevents unnecessary wake-ups by dropping non-matching notifications early in the delivery chain, conserving device battery life.
Solution Approach 2:
The patent introduces compacted probabilistic representations as intermediaries between the notification service and the mobile device. These intermediaries enable the courier to perform preliminary filtering, acting as a mediator that reduces the burden on the mobile device processor and battery.
3Quantity of substance
If compacted representations are used to reduce data size, then transmission overhead is reduced, but representation accuracy may be compromised
Solution Approach 1:
The patent accepts a small probability of false positives in the compacted representation as a trade-off for significant space savings. The probabilistic nature of Bloom filters allows for compact storage while maintaining sufficient accuracy for the filtering application, where occasional false matches are acceptable.
Solution Approach 2:
The patent uses probabilistic representations that may occasionally indicate presence when absent (false positives) but never the reverse. This partial accuracy approach is sufficient for the notification filtering use case, where it is better to potentially deliver a few extra notifications than to miss important ones.
Data Source
AI summary
Mobile devices each maintain a whitelist of application identifiers corresponding to applications that the user(s) of that mobile device wants to receive notification messages for and a blacklist of application identifiers corresponding to applications that the user(s) of the mobile device does not want to receive notification messages for. Each mobile device transmits its representations of the whitelist and blacklist to a certain one of a plurality of couriers that controls transmission of notification messages for that mobile device. Each notification message includes a mobile device identifier and an application identifier. Each courier processes a given notification message for a mobile device (e.g., deliver to that mobile device, drop, report as uninstalled to the sender) based on the application identifier included in the mobile device and the representations of the whitelist and blacklist for that mobile device.


