Visibility Filtering in Social Messaging Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Social messaging platforms face challenges in efficiently managing visibility filtering across multiple services, leading to increased computational resources and engineering costs, as well as complexity in implementing and experimenting with new visibility rules.
Innovation Solution
The implementation of a visibility filtering system that applies rules at each service in the request path, using a local visibility library to evaluate rules and pass filtered data upstream, with a visibility service for experimentation, allowing for controlled testing of new or modified rules without affecting the overall architecture.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If visibility filtering rules are applied at each service in the request path, then data filtering efficiency is improved, but system complexity increases
Solution Approach 1:
The visibility filtering system is segmented into multiple independent visibility libraries, each deployed at different services along the request path. Each visibility library independently evaluates visibility rules for the data it processes, allowing filtering to occur at multiple stages without requiring a monolithic complex system. This segmentation enables parallel processing and reduces the complexity burden on any single service.
Solution Approach 2:
Visibility filtering is performed as early as possible in the request path, with each service applying filters to data before passing it upstream. This preliminary action prevents unnecessary data from traversing the entire system, reducing overall computational load. The visibility library at each service evaluates rules against locally available data and filters results before upstream transmission, implementing filtering at the optimal early stage.
2Manufacturing precision
If multiple visibility libraries are deployed across services, then filtering precision is improved, but engineering costs increase
Solution Approach 1:
The visibility library is designed as a universal, reusable component that can be deployed across multiple services. Each visibility library implements the same core functionality for evaluating visibility rules, ensuring consistent filtering precision across the system. This multi-functional deployment allows the same proven filtering logic to serve multiple purposes and services, reducing engineering costs through reuse rather than requiring custom filtering implementations at each service.
Solution Approach 2:
The visibility library is copied and deployed to multiple services along the request path. Each service receives an identical copy of the visibility library implementation, ensuring consistent filtering behavior and precision across all services. This copying approach maintains filtering precision while controlling engineering costs through standardized replication rather than custom development at each location.
3Reliability
If visibility rules are evaluated at each service stage, then data accuracy is improved, but computational resources increase
Solution Approach 1:
Each visibility library evaluates only the subset of visibility rules relevant to the specific data type and service stage, rather than evaluating all possible rules. This partial action approach maintains data accuracy by applying appropriate filters while reducing computational overhead by avoiding unnecessary rule evaluations. The visibility library selectively processes rules based on local context, achieving accurate filtering with reduced computational resource consumption.
4Adaptability or versatility
If a centralized visibility service is used for experimentation, then adaptability is improved, but system complexity increases
Solution Approach 1:
A centralized visibility service acts as an intermediary between the distributed visibility libraries and the experimentation framework. This mediator coordinates rule evaluations across services, manages experimental configurations, and aggregates results without requiring direct complex interactions between individual services. The intermediary simplifies the architecture by providing a single point of control for experimentation while maintaining the distributed filtering capability across services.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for visibility filtering. One of the methods includes receiving a request for particular data on a social messaging platform; passing the request to one or more services, wherein each service is configured to call to data sources or to additional services to collect the particular data according to a request path defined for a type of request; performing visibility filtering at each service upon obtaining responses to calls made by that service, wherein performing visibility filtering at a service comprises calling a local visibility library that evaluates one or more rules with respect to the obtained response data, and wherein the results of the visibility filtering are passed upstream along the request path until a last service obtains all filtered response data; and assembling a final response to the request based on the filtered response data.


