Synchronization Server for Selective Messenger Notifications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Instant messenger notification services face challenges due to high server loads, limiting their ability to provide notifications for events across various services, such as mail, blogs, and communities, as they require transmitting notification messages to all users, including both online and offline users, which increases packet load and is inefficient.
Innovation Solution
A messenger notification system utilizing a synchronization server that receives status change information from messenger users and selectively transmits notification messages only to online users, minimizing server load by using sockets for communication and maintaining an online user database to determine user availability, thereby reducing unnecessary message transmissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If notification messages are transmitted to all users (including offline users), then comprehensive notification coverage is achieved, but server load and packet transmission volume increase significantly
Solution Approach 1:
The system performs preliminary actions by maintaining an online user database that pre-stores status information of users before notification messages need to be sent. The synchronization server proactively synchronizes online status changes from the instant messenger service system to the online user database, so that when notification messages arrive, the system already has up-to-date information about which users are online, enabling selective transmission without scanning or querying all users.
Solution Approach 2:
The online user database acts as an intermediary between the instant messenger service system and the notification message transmission process. Instead of directly querying user status from the messenger system each time a notification needs to be sent, the synchronization server uses the pre-synchronized online user database to determine which users should receive notifications, reducing direct interactions and packet volume with the messenger system.
2Adaptability or versatility
If notification services are expanded to cover multiple services (mail, blogs, communities), then service versatility increases, but server load increases rapidly
Solution Approach 1:
The synchronization server and online user database constitute a universal notification infrastructure that can serve multiple different services (instant messenger, mail service, blog service, community service, etc.). Instead of each service maintaining its own notification system, they all utilize the same synchronization mechanism and online user database, allowing one system to perform multiple functions across diverse services, thereby reducing overall server load while expanding service coverage.
3Measurement precision
If online user status is continuously synchronized from messenger service system, then notification accuracy is improved, but communication frequency between systems increases
Solution Approach 1:
Instead of continuous real-time synchronization, the system uses periodic action by establishing socket connections that automatically transmit status change information when changes occur. The synchronization occurs event-driven based on actual status changes (login/logout) rather than continuous polling, maintaining high accuracy of online status information while reducing unnecessary communication frequency between the instant messenger service system and the synchronization server.
Data Source
AI summary
Provided are messenger notification system and method using a synchronization server. The system includes a messenger service system controlling transmission of instant messages of messenger users and monitoring and transmitting messenger users' status change information; at least one external service system monitoring whether a predetermined event occurs and creating a notification message indicating the occurrence of the event when the event occurs; and a synchronization server receiving the messenger users' status change information from the messenger service system, storing the received status change information in an online user database, determining whether a user to receive the notification message is online when receiving the notification message from the at least one external service system, transmitting the notification message to the messenger service system to send the notification message to the online user when the user is online.


