Clustered Notification Delivery Using Leader Client Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing notification systems, such as short and long polling, are inefficient and do not scale well due to the maintenance of individual connections between client devices and server instances, leading to resource wastage and overload.
Innovation Solution
Client devices are clustered based on network proximity, with one leader client device per cluster maintaining a push communication session with the server, allowing notifications to be sent to the leader which then distributes them to intended recipients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If individual connections are maintained between each client device and server instance, then real-time notification delivery is achieved, but server resource consumption increases and scalability deteriorates
Solution Approach 1:
The system segments client devices into clusters, with each cluster managed by a designated leader client device. This segmentation allows the server to interact with cluster leaders rather than individual client devices, reducing the number of direct server-client connections while maintaining real-time notification capabilities within each cluster.
Solution Approach 2:
The leader client device acts as an intermediary between the server and other client devices in the cluster. Notifications are pushed to the leader, which then distributes them to cluster members, eliminating the need for the server to maintain individual connections with each client device while preserving real-time delivery.
2Reliability
If multiple client devices connect individually to the server, then each device receives notifications directly, but network resource consumption increases
Solution Approach 1:
The system merges multiple client device connections into a single connection per cluster through the leader device. This consolidation reduces the total number of active connections and network resources required, while the leader efficiently distributes notifications to all cluster members, maintaining delivery reliability.
3Productivity
If the server maintains direct connections with all client devices, then notification push capability is achieved, but device complexity and connection management overhead increase
Solution Approach 1:
The system segments the complex task of managing multiple client connections by assigning a single leader device per cluster to handle connection management. This segmentation simplifies server-side connection management while maintaining push notification capability through the leader intermediary.
Solution Approach 2:
The leader client device performs self-service by managing its own cluster's connections and notification distribution. This self-organization reduces the server's management overhead and complexity while preserving real-time push notification delivery to all cluster members.
Data Source
AI summary
A server device determines a notification for a specific client device. The server device determines a cluster of client devices to which the specific client device has been assigned based on network proximity such that the client devices of the cluster have network proximity to one another. The server device determines a leader client device of the cluster. The server device transmits the notification for the specific client device to the leader client device over a communication session between the server device and the leader client device. The leader client device transmits the notification to the specific client device.


