Cloud File Versioning Heuristic Storage Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud computing systems face inefficiencies in managing and storing multiple versions of files, particularly in cloud-based environments, as they often store all versions of files, leading to significant memory usage and complexity, without effectively distinguishing between significant and minor changes.

Innovation Solution

A client-side synchronization engine and versioning API are implemented to automatically upload updated files to a cloud system, determining whether to store them as new versions or replace existing ones based on heuristic algorithms, preserving only significant or historical versions while discarding minor changes, thereby optimizing storage and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If all versions of files are stored in the cloud system, then complete version history is maintained, but memory usage increases significantly

Engineering Contradiction:
Improveversion historyVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The system changes the storage parameter from storing all versions to storing only significant versions by applying a threshold parameter (heuristic algorithm) that evaluates the importance of each version based on change magnitude, thereby reducing storage requirements while maintaining essential version history

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system extracts and stores only the significant versions of files in the cloud while discarding minor versions, separating the essential version history from redundant data, thus reducing memory usage while preserving important information

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of information

If all versions of files are stored in the cloud system, then complete version history is maintained, but system complexity increases

Engineering Contradiction:
Improveversion historyVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system simplifies the version management complexity by introducing a threshold parameter that automatically filters versions, transforming the complex task of managing all versions into a simpler process of identifying and storing only significant versions

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs self-service version filtering using heuristic algorithms that automatically determine which versions to store without requiring manual intervention or complex user configuration, thereby reducing operational complexity

Inventive Principle:
Principle #25Self-service

3Loss of information

If minor changes are stored as new versions, then complete change history is maintained, but storage resources are wasted

Engineering Contradiction:
Improvechange historyVSAvoidstorage resources
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The system applies a threshold parameter to distinguish between significant and minor changes, storing only versions that exceed the threshold and thereby reducing storage resource consumption while maintaining meaningful change history

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system extracts and stores only significant changes that meet the threshold criteria, separating valuable version history from wasted storage on minor revisions, thus optimizing storage resources

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9805051B2Synchronization and strategic storage of multiple versions of a file
Publication Date: 2017.10.31 SALESFORCE INC
  • US9805051B2 patent drawing
  • US9805051B2 patent drawing
  • US9805051B2 patent drawing

AI summary

Disclosed are some examples of systems, methods and storage media for synchronizing files between a user's computer and a remote system, and more specifically, to strategically storing updated versions of a file on the remote system. In some implementations, a system is capable of receiving a request including an updated version of a file. The system is additionally capable of identifying a version type of the updated version, identifying a current version of the file stored in one or more storage devices, and determining, based on the version type of the updated version, whether to store the updated version in the one or more storage devices as a new version or to replace the current version with the updated version. The system is further capable of storing the updated version in the one or more storage devices based on the determination.