Presence Server Timed Notification Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenotification delivery timeVSAvoidserver processing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvenotification delivery completenessVSAvoidserver processing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Speed

If presence state changes are processed in real-time, then immediate notification is provided, but queue backlog increases and processing time is delayed

Engineering Contradiction:
Improvenotification sending speedVSAvoidprocessing time
Core Design Contradiction:
SpeedVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8024403B2Top of hour presence and calendar state interaction
Publication Date: 2011.09.20 CISCO TECHNOLOGY INC
  • US8024403B2 patent drawing
  • US8024403B2 patent drawing
  • US8024403B2 patent drawing

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.