Token Server for Distributed Cache Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing geographically distributed cache systems face challenges in managing network partitions, particularly when operating in write-back mode, as they fail to ensure data consistency and availability, leading to issues with token revocation and stale data access across WAN links.

Innovation Solution

The introduction of new token families, such as Leased Write Tokens and Reducible Write Tokens, which allow for safe token revocation and data management during network partitions, enabling write-back caching while maintaining data consistency and allowing for the reading of stale data, along with the implementation of operating modes like Strict Clustered, Weak Clustered, and Quick Release to manage access and data synchronization across clusters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If write-back caching is implemented in geographically distributed cache systems, then caching efficiency is improved, but data consistency during network partitions deteriorates

Engineering Contradiction:
Improvecaching efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a token server as an intermediary between cache appliances and file servers. Tokens act as mediators that coordinate access to cached data, enabling write-back caching while maintaining consistency. The token server manages token distribution and revocation, ensuring that even during network partitions, data integrity is preserved through centralized token control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the state parameter of data by introducing different token types (read tokens, write tokens, leased write tokens) that modify access permissions. During network partitions, the system dynamically changes parameters by allowing or restricting token revocation based on partition detection, enabling write-back caching in normal operation while maintaining consistency during partitions.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If network partition handling is simplified, then system complexity is reduced, but data availability during partitions deteriorates

Engineering Contradiction:
Improvepartition management complexityVSAvoiddata availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system dynamically adapts its behavior based on network partition detection. When partitions are detected, the system dynamically changes token revocation policies and data access rules. This dynamic response allows the system to maintain data availability during partitions by preventing premature token revocation, while keeping the overall system design relatively simple through automated detection and response.

Inventive Principle:
Principle #15Dynamics

3Reliability

If token revocation is made unilateral and aggressive, then data integrity is improved, but system stability during partitions deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidsystem stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system applies preliminary anti-action by detecting network partitions before aggressive token revocation occurs. When partitions are detected, the system preemptively adjusts token revocation behavior to prevent instability. This preliminary detection and response mechanism allows aggressive token management to maintain data integrity while preventing system instability through early intervention.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS10042916B2System and method for storing data in clusters located remotely from each other
Publication Date: 2018.08.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10042916B2 patent drawing
  • US10042916B2 patent drawing
  • US10042916B2 patent drawing

AI summary

A system for storing data includes a plurality of clusters located remotely from each other in which the data is stored. Each cluster has a token server that controls access to the data with only one token server responsible for any piece of data. Each cluster has a plurality of Cache appliances. Each cluster has at least one backend file server in which the data is stored. The system includes a communication network through which the servers and appliances communicate with each other. A Cache Appliance cluster in which data is stored in back-end servers within each of a plurality of clusters located remotely from each other. A method for storing data.