Storage Segment Server State Assembly Without Snapshot Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Database as a Service (DBaaS) systems face challenges in assembling a state of user data as of a particular point in time, especially when data is distributed across multiple storage segment servers that do not coordinate snapshot times, leading to complexities and dependencies on other servers' operational status.

Innovation Solution

The solution involves instantiating additional instances of storage segment servers to assume an initial state prior to the last snapshot, allowing them to reapply logged records up to a user-selected point in time, thereby assembling the user data independently without coordinating with other servers, simplifying snapshot logic and enhancing resilience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If storage segment servers coordinate snapshot times to assemble user data state, then data consistency is improved, but system complexity and dependency on other servers increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system divides the data storage and snapshot operations into independent segments, where each storage segment server operates autonomously on its own data portion without requiring coordination with other servers. This segmentation allows independent snapshot operations while maintaining overall data consistency through the use of log records for state assembly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by creating snapshots at independent times on each storage segment server and recording the state of logged records at those snapshot times. This preliminary capture of data states allows the system to later assemble a consistent point-in-time view without requiring real-time coordination during the assembly process.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If storage segment servers perform independent snapshots without coordination, then snapshot logic is simplified and resilience is enhanced, but data consistency becomes more challenging

Engineering Contradiction:
Improvesnapshot logic simplicityVSAvoiddata consistency
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The system introduces an intermediary mechanism in the form of log records that mediate between independent snapshot operations and the final assembled data state. Each storage segment server independently snapshots its data and records log states, and these intermediaries are later used to assemble a consistent point-in-time view without requiring the servers to coordinate their snapshot times.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If the system waits for all storage segment servers to be functional before assembling user data, then data completeness is improved, but recovery time increases

Engineering Contradiction:
Improvedata completenessVSAvoidrecovery time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system applies partial action by allowing the assembly of user data state to proceed with only the subset of storage segment servers that are currently functional. Instead of waiting for all servers, the system assembles data from available servers using their independent snapshots and log records, providing a point-in-time view even if some data portions are temporarily unavailable.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3854060B1Accessing prior storage segment server state
Publication Date: 2024.04.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3854060B1 patent drawingFigure 1
  • EP3854060B1 patent drawingFigure 2~3
  • EP3854060B1 patent drawingFigure 4

AI summary

Assembly of a state of user data as of a particular point in time in the context of the data being spread across multiple storage segment servers. Furthermore, the assembly occurs despite the storage segment servers not needing to coordinate a timing of any snapshots. Rather, the storage segment servers perform a snapshot of the portion of the data that it individually stores without having to coordinate with any other storage segment server. The particular point of time may be any arbitrary time, such as a time selected by a user.