Clustered Timer Services with Staggered Skew Replicas

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing timer services in networks face challenges in providing reliable and efficient recurring work processes, including single-point failures, dynamic capacity management, clustered client support, timely execution, and preventing leaks or loops of recurring tasks, while ensuring notifications are handled correctly.

Innovation Solution

A method and system for providing timer services in a network that involves configuring primary and backup replicas with staggered skew times across multiple nodes in a cluster, ensuring redundancy, dynamic capacity management, and preventing duplicate notifications through ordered lists and skew times, with mechanisms for handling node failures and updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single access point handles timer requests, then the system is simple to operate, but it creates a single point of failure reducing reliability

Engineering Contradiction:
Improvetimer service reliabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The timer service is segmented across multiple independent nodes in a cluster, where each node can independently handle timer requests. This segmentation eliminates the single point of failure by distributing the service functionality across multiple access points, thereby improving reliability while maintaining operational simplicity through standardized node behavior.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple timer service nodes are merged into a unified cluster that presents a single logical service interface to clients. The nodes work together as a coordinated system, sharing the load and providing mutual backup, which improves reliability while the unified interface maintains ease of operation.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If timer replicas are configured on multiple nodes with same skew time, then capacity is maximized, but duplicate notifications occur reducing service quality

Engineering Contradiction:
Improvenotification delivery reliabilityVSAvoidnotification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Asymmetric skew times are assigned to different timer replicas based on their node identifiers and positions in an ordered list. This asymmetry ensures that each replica has a unique execution time, preventing duplicate notifications while maintaining full capacity utilization across all nodes. The ordered list structure provides a deterministic way to assign unique skew values.

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

Each timer replica is configured with local quality characteristics specific to its node, including node-specific skew times derived from the ordered list. This local differentiation ensures that while all replicas contribute to capacity, each executes at a unique time, eliminating duplicates and improving overall service quality.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If skew time is increased to prevent duplicate notifications, then notification accuracy improves, but timer execution timeliness deteriorates

Engineering Contradiction:
Improvenotification timing precisionVSAvoidtimer execution delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Instead of applying a large uniform skew time to all replicas, the system applies partial skew times that are just sufficient to differentiate execution times. The skew is calculated as a small increment based on node position in the ordered list, providing just enough separation to prevent duplicates while minimizing overall execution delay.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The skew time parameter is dynamically adjusted based on the node's position in the ordered list rather than using a fixed value. Nodes earlier in the list receive smaller skew values, while later nodes receive progressively larger values, optimizing the balance between preventing duplicates and maintaining timeliness through parameter differentiation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11863636B2Timer services
Publication Date: 2024.01.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11863636B2 patent drawing
  • US11863636B2 patent drawing
  • US11863636B2 patent drawing

AI summary

Measures for providing timer services in a network including a cluster of nodes responsible for providing timer services to clients. At a given node in the cluster, a request to provide a timer is received from a client. Configuration of a primary replica of the requested timer on a first node in the cluster to pop after a first time has elapsed is initiated. A first timer replication message is transmitted to a second node in the cluster, the first timer replication message indicating that the second node should configure a first backup replica of the requested timer. A second timer replication message is transmitted to a third node in the cluster, the second timer replication message indicating that the third node should configure a second backup replica of the requested timer. Popping of the primary, first backup or second backup timer replicas includes initiating callback of a given client.