Presence Server Timed Notification Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Presence servers experience performance spikes due to a high volume of simultaneous presence state change notifications, often resulting in delayed notifications to watchers as many changes occur at critical times like the top of the hour, leading to inefficiencies in processing and timely information delivery.
Innovation Solution
Generating and sending NOTIFY messages prior to critical times for scheduled presence state changes using a timed presence mechanism, allowing presence documents to be provided to watchers before the changes occur, thereby reducing the real-time message load and improving server efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If presence state change notifications are sent in real-time at critical times, then timely information delivery to watchers is improved, but server performance spikes and processing efficiency deteriorates
Solution Approach 1:
The system performs preliminary actions by generating and queuing presence state change notifications before critical times. The presence server identifies critical times in advance and pre-generates notifications, placing them in a queue to be sent at appropriate times, thereby avoiding the performance spike of real-time processing while ensuring timely delivery.
2Reliability
If a high volume of notifications are processed simultaneously at critical times, then complete information delivery is achieved, but server performance spikes and causes delays
Solution Approach 1:
The system segments the notification processing into discrete time intervals. By dividing the critical time period into segments and processing notifications in batches rather than all at once, the server maintains processing speed while ensuring complete information delivery to all watchers.
Solution Approach 2:
Notifications are pre-generated and queued before critical times, allowing the server to process them in controlled batches rather than handling all notifications simultaneously at the critical moment, thus avoiding performance spikes while maintaining delivery completeness.
3Speed
If presence state changes are processed in real-time, then immediate notification is provided, but queue backlog increases and processing time is delayed
Solution Approach 1:
The presence server performs preliminary actions by identifying critical times in advance and pre-generating notifications. This allows the server to send notifications at the optimal time without creating a backlog, as the notifications are prepared beforehand and can be sent efficiently when needed.
Data Source
AI summary
In one embodiment, a method includes identifying a critical time when a current presence state associated with a first client is scheduled to change to a timed presence state. The method also includes generating a first presence document before the critical time, and providing the first presence document to at least a second client. The first presence document has an indication of the current presence state and the timed presence state, and is provided to the second client before the critical time.


