Dynamic Cloud Storage Proof of Retrievability via Block Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems for cloud storage lack flexibility and efficiency in dynamic updates, such as partial writes, inserting, or removing blocks, and existing dynamic proofs of retrievability incur significant computational overhead.

Innovation Solution

A method that divides information into chunks and blocks, computes tags using a random function and index function, allowing for efficient dynamic updates by shifting blocks and updating tags, enabling users to verify retrievability with minimal computational expense.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional cloud storage systems are used, then data storage is provided, but flexibility and efficiency in dynamic updates (partial writes, inserting, or removing blocks) are lacking

Engineering Contradiction:
Improveflexibility in dynamic updatesVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The information is divided into multiple chunks, and each chunk is further divided into multiple blocks. This segmentation allows independent manipulation of individual blocks without affecting the entire data structure, enabling flexible dynamic updates such as partial writes, insertions, and deletions while maintaining overall system integrity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If existing dynamic proofs of retrievability are implemented, then data integrity verification is enabled, but significant computational overhead is incurred

Engineering Contradiction:
Improvedata integrity verificationVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Tags for each block are pre-computed using a random function and index function during the initial data setup phase. These pre-computed tags are stored alongside the data blocks. During verification, the system only needs to perform simple tag comparisons rather than complex computational checks, significantly reducing the computational overhead while maintaining reliable data integrity verification.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If data is divided into chunks and blocks with computed tags, then efficient dynamic updates are enabled, but computational overhead for tag computation is introduced

Engineering Contradiction:
Improveefficiency of dynamic updatesVSAvoidcomputational time for tag computation
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The tags for each block are pre-computed and stored during the initial data ingestion phase. When dynamic updates occur, the system leverages these pre-computed tags and only performs minimal modifications or comparisons, rather than re-computing tags from scratch. This approach significantly reduces the computational time required for dynamic updates while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11722322B2Method for providing information to be stored and method for providing a proof of retrievability
Publication Date: 2023.08.08 NEC CORP
  • US11722322B2 patent drawing
  • US11722322B2 patent drawing
  • US11722322B2 patent drawing

AI summary

A method for storing information includes receiving information to be stored and an information tag from a user computing entity, and storing the information and the information tag. The information to be stored includes a chunk that is divided into a plurality of blocks each comprising one or more elements. The information tag comprises a plurality of tags each having been computed for one of the blocks, wherein the tag for the j-th block of the i-th chunk is based on: an output of a random function using as input: 1) an output of an index function mapping each index j to a certain value, and/or 2) a seed sampled for the i-th chunk; the j-th block; and a representation of a second secret comprising one or more random elements each associated with a respective one of the one or more elements of one of the blocks.