Per-tenant deduplication via tenant identifier hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data deduplication techniques in multi-tenant storage systems face security issues and resource inefficiencies, as they often intermingle data across tenants, potentially exposing sensitive information and requiring redundant infrastructure for each tenant, leading to increased costs and resource drains.

Innovation Solution

Implementing per-tenant data deduplication by incorporating a tenant identifier into the hashing process, which generates a tenant hash value that prevents deduplication across tenants, allowing secure storage of data for each tenant on the same storage array without duplicating data structures or software components, thus reducing overhead and improving infrastructure management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If conventional data deduplication techniques are used in multi-tenant storage systems, then storage efficiency is improved through elimination of redundant data, but security issues arise due to potential exposure of sensitive information across tenants

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsecurity risk
Core Design Contradiction:
Loss of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent segments the deduplication process by tenant, creating separate deduplication contexts for each tenant. The storage system is divided into multiple isolated deduplication spaces, where each tenant's data is deduplicated only within their own tenant context, preventing cross-tenant data exposure while maintaining storage efficiency benefits.

Inventive Principle:
Principle #1Segmentation

2Object-affected harmful factors

If separate infrastructure is provided for each tenant to ensure security, then security is improved, but device complexity and costs increase due to redundant infrastructure

Engineering Contradiction:
ImprovesecurityVSAvoidinfrastructure complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent merges multiple tenants' storage infrastructure into a single shared system while maintaining logical separation through tenant identifiers. The physical storage resources, processing units, and management systems are combined into one infrastructure that serves all tenants, reducing complexity and costs while security is maintained through logical isolation mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The storage system is designed with universal components that serve multiple tenants simultaneously. A single deduplication engine, storage array, and management system handle data for multiple tenants by dynamically switching contexts based on tenant identifiers, making the infrastructure multi-functional and eliminating the need for tenant-specific duplicate systems.

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

3Object-affected harmful factors

If separate infrastructure is provided for each tenant, then security is improved, but resource efficiency decreases due to redundant resources

Engineering Contradiction:
ImprovesecurityVSAvoidresource efficiency
Core Design Contradiction:
Object-affected harmful factorsVSLoss of energy

Solution Approach 1:

The patent combines computational resources, storage capacity, and processing power into a shared pool that serves all tenants. By merging rather than duplicating infrastructure, the system eliminates redundant resource consumption while maintaining security through logical separation, thereby improving overall resource efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10678754B1Per-tenant deduplication for shared storage
Publication Date: 2020.06.09 PURE STORAGE INC
  • US10678754B1 patent drawing
  • US10678754B1 patent drawing
  • US10678754B1 patent drawing

AI summary

A storage controller coupled to a multi-tenant storage array receives a request from a client device to write a data block to a volume resident on the storage array, wherein the client device is associated with a tenant of the storage array. The storage controller determines a tenant identifier associated with the tenant, generates a hash value for the data block based at least in part on the data block and the tenant identifier, and performs at least one data deduplication operation on the data block using the hash value by determining whether the hash value matches with any of the plurality of previous hash values that are identified in a deduplication map. Responsive to determining that the hash value does not match with any of the plurality of previous hash values that are identified in the deduplication map, the hash value is stored in the deduplication map.