Data Allocation Engine for Distributed Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in optimizing user data allocation across heterogeneous servers and storage nodes due to varying user behaviors and hardware characteristics, making it difficult to ensure performance, reliability, and compliance with service policies, especially with dynamic changes in user patterns and hardware capacity.

Innovation Solution

A data engine analyzes user and system characteristics to generate a user assignment plan that balances user characteristics with hardware capabilities, using forecasting and optimization techniques to determine the best allocation and replication strategy across storage nodes, minimizing data movement and cost.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is distributed across heterogeneous storage nodes, then system capacity and performance are maximized, but allocation complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidallocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transforms the allocation problem from a complex combinatorial optimization into a solvable mathematical program by changing parameters: using forecasted future characteristics instead of current state, applying regularization to handle heterogeneity, and formulating as a convex optimization problem with objective function and constraints that can be efficiently solved

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs preliminary forecasting of user characteristics and storage node capacities before making allocation decisions. By predicting future states rather than reacting to current states, the system proactively optimizes allocations before changes occur, reducing the complexity of real-time decision-making

Inventive Principle:
Principle #10Preliminary action

2Reliability

If user data is replicated for reliability, then system reliability improves, but storage capacity utilization decreases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcapacity utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different replication factors to different storage nodes and user data based on local characteristics. Instead of uniform replication, the system determines optimal replication factors locally for each node-user pair by solving the optimization problem, allowing high-reliability data to be replicated more while low-reliability data uses minimal replication, thus balancing reliability requirements with capacity utilization

Inventive Principle:
Principle #3Local quality

3Productivity

If data reallocation is performed frequently to optimize performance, then system performance improves, but data movement cost increases

Engineering Contradiction:
Improvesystem performanceVSAvoiddata movement cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs allocations periodically at scheduled intervals rather than continuously or on every state change. This periodic approach allows the optimization engine to compute optimal allocations at discrete times, avoiding the excessive data movement that would result from continuous reallocation while still maintaining performance through regular optimization cycles

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The optimization framework serves multiple functions simultaneously: it determines allocation, calculates migration costs, forecasts future states, and evaluates performance metrics all within a single unified mathematical program. This multi-functionality reduces the need for separate optimization passes and associated data movements

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8380960B2Data allocation and replication across distributed storage system
Publication Date: 2013.02.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8380960B2 patent drawing
  • US8380960B2 patent drawing
  • US8380960B2 patent drawing

AI summary

In a distributed storage system such as those in a data center or web based service, user characteristics and characteristics of the hardware such as storage size and storage throughput impact the capacity and performance of the system. In such systems, an allocation is a mapping from the user to the physical storage devices where data/information pertaining to the user will be stored. Policies regarding quality of service and reliability including replication of user data/information may be provided by the entity managing the system. A policy may define an objective function which quantifies the value of a given allocation. Maximizing the value of the allocation will optimize the objective function. This optimization may include the dynamics in terms of changes in patterns of user characteristics and the cost of moving data/information between the physical devices to satisfy a particular allocation.