Cloud Object Versioning With Deduplication and Rollback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data deduplication processes are computationally intensive and resource-consuming, particularly for large datasets or resource-limited devices, and frequent data backup in enterprise systems burdens the system with time and resource constraints, while data replication over a Wide Area Network (WAN) or to the cloud is limited by bandwidth utilization.
Innovation Solution
A cloud object storage and versioning system (COSVS) with a deduplication layer using universally unique identifiers (UUIDs) and a packing layer that stores items based on threshold sizes, along with a client API layer for data management and rollback functionality in case of system failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data deduplication is performed to reduce storage space, then storage efficiency is improved, but computational overhead increases
Solution Approach 1:
The system segments data into fixed-size chunks and processes them independently through the deduplication pipeline. Each chunk is hashed and checked against existing data, allowing parallel processing and reducing computational overhead while maintaining storage efficiency.
Solution Approach 2:
The system performs preliminary hashing of data chunks before storage to create unique identifiers. This preliminary action enables rapid deduplication checks without requiring full data comparison, reducing computational overhead during the deduplication process.
2Reliability
If frequent backups are performed to ensure system recovery, then reliability is improved, but system resources are consumed
Solution Approach 1:
The system merges multiple backup operations into a single deduplication process. By combining backup with deduplication, the system achieves frequent backup capability while reducing overall resource consumption through shared processing infrastructure and data reduction.
Solution Approach 2:
The system creates lightweight copies of data represented as pointers or references rather than full data copies. This copying mechanism enables frequent backup operations with minimal resource consumption, as backup primarily involves metadata operations rather than data duplication.
3Reliability
If data is replicated over WAN to cloud storage, then data availability is improved, but bandwidth utilization is constrained
Solution Approach 1:
The system extracts only the unique portions of data for replication to cloud storage, leaving duplicate data locally. By extracting and transmitting only novel data chunks, the system improves data availability while minimizing bandwidth consumption during cloud replication.
4Quantity of substance
If deduplication processes are applied to large datasets to save storage space, then storage efficiency is improved, but processing time increases
Solution Approach 1:
The system divides large datasets into manageable chunks that can be processed in parallel. This segmentation enables efficient handling of large volumes of data through distributed processing, reducing overall processing time while maintaining storage efficiency.
Solution Approach 2:
The system replaces mechanical data comparison with cryptographic hashing operations. This substitution enables rapid identification of duplicate data through hash matching, significantly reducing processing time compared to traditional byte-by-byte comparison methods.
Data Source
AI summary
Systems and methods for cloud object storage and versioning are provided. In an example, a cloud object storage and versioning system (COSVS) coordinates insertion of metadata into a database and data into an object store in a compute infrastructure, the compute infrastructure including the database, the object store, a data source, and a client application interacting with the data source. The COSVS has an architecture comprising a client API layer confined to provide an interface to the client application to facilitate storing or restoring of items originally obtained from the data source, and query different versions of item content originally obtained from the data source; a deduplication layer to deduplicate item content and store items originally obtained from the data source devoid of external item metadata or semantic relations among items; and a packing layer confined to store and retrieve bytes of item or object content.


