Configurable Dock Storage for Client-Specific Performance Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems apply uniform caching and tiering policies across all users, which can lead to suboptimal performance for clients with different storage requirements, such as transactional and analytic operations, resulting in unnecessary redundancy and reduced storage capacity.

Innovation Solution

A docking scheme that allows resource nodes to dynamically configure storage extensions based on client-specific profiles, using different storage media and policies to optimize performance for each client, such as enabling caching for transactional clients and read-ahead for analytic clients, while minimizing redundancy for clients that do not require it.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If uniform caching and tiering policies are applied across all users, then storage system simplicity is maintained, but storage performance for clients with different requirements deteriorates

Engineering Contradiction:
Improvestorage policy configurationVSAvoidstorage performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments storage policies into client-specific configurations, where each client can have customized caching and tiering policies based on their access patterns and requirements, rather than applying a single uniform policy to all clients

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic policy adjustment by monitoring client access patterns and automatically modifying caching and tiering configurations in real-time to optimize performance for each client's specific workload characteristics

Inventive Principle:
Principle #15Dynamics

2Reliability

If redundancy storage extension is configured for all clients, then data reliability is improved, but storage capacity is reduced due to unnecessary redundancy

Engineering Contradiction:
Improvedata redundancyVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies redundancy locally and selectively based on individual client requirements, where only clients who need data protection receive redundancy configurations, while clients who can tolerate data loss or have external backup solutions receive no redundancy, thereby preserving storage capacity

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the redundancy parameter dynamically for different clients and the same client at different times based on workload importance, allowing the system to adjust the level of redundancy from none to full depending on the specific needs of each storage operation

Inventive Principle:
Principle #35Parameter changes

3Speed

If caching policy is applied to all storage operations, then random read/write access speed is improved, but sequential read performance deteriorates due to cache flushing

Engineering Contradiction:
Improverandom access speedVSAvoidsequential read performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies caching partially and selectively, enabling caching only for clients and operations that require random read/write performance, while excluding sequential read operations from caching to prevent cache flushing and maintain optimal performance for both access patterns

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9898040B2Configurable dock storage
Publication Date: 2018.02.20 KODIAK DATA INC
  • US9898040B2 patent drawing
  • US9898040B2 patent drawing
  • US9898040B2 patent drawing

AI summary

A docking scheme enables storage systems to adapt different storage configurations to different clients. Dock configurations identify reconfigurable sets of storage extensions for executing storage operations in a resource node. The resource node receives storage requests from clients and identifies the dock configurations associated with the clients. The resource node then generates a set of storage operations that implement the storage extensions for the identified dock configuration and uses the storage operations to execute the storage requests. Different clients may thus access the same stored data through different docks resulting on different operations within the resource node with the aim of optimizing performance for all clients.