Hosted Storage Locking via Version Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hosted storage systems face challenges in managing concurrent access to shared data objects, leading to potential data loss and conflicts due to race conditions, as multiple clients can modify the same resource simultaneously without proper version control.

Innovation Solution

Implementing a version indicator system that tracks changes to data objects, allowing only matching versions to be updated, and rejecting uploads with outdated versions to maintain data integrity and consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple clients can access and modify the same data object concurrently without version control, then ease of operation is improved, but data integrity deteriorates due to race conditions and potential data loss

Engineering Contradiction:
Improveconcurrent accessVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements feedback by comparing the version indicator in the upload request with the current version indicator stored in the system. This feedback mechanism allows the system to detect version mismatches and reject uploads that would cause data loss, thereby maintaining data integrity while allowing concurrent access.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by providing the version indicator to the client before the upload occurs. This allows the client to prepare the correct version indicator for the upload request in advance, ensuring that the upload can proceed only if no changes have been made to the data object since it was provided to the client.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If version control is implemented to prevent data loss, then data integrity is improved, but device complexity increases due to version tracking and comparison mechanisms

Engineering Contradiction:
Improvedata integrityVSAvoidversion control system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts the version indicator as a separate, independent element from the data object itself. This allows the version control mechanism to operate independently and simply by comparing indicator values, rather than requiring complex analysis of the actual data object changes, thereby reducing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses parameter changes by representing the version of the data object as a simple version indicator parameter. This parameter is incremented or updated when the data object changes, and the system only needs to compare these parameter values to detect conflicts, avoiding the need for complex data analysis.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the system rejects uploads with outdated versions to maintain data integrity, then data loss is prevented, but productivity decreases due to rejected uploads requiring manual intervention

Engineering Contradiction:
Improvedata integrityVSAvoidupload efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements self-service by automatically providing the current version indicator to the client and enabling the client to include it in the upload request. This automated process eliminates the need for manual version checking and intervention, allowing the system to handle version control transparently and maintain high upload efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2756413B1Hosted storage locking
Publication Date: 2020.11.04 GOOGLE LLC
  • EP2756413B1 patent drawingFigure 1
  • EP2756413B1 patent drawingFigure 2
  • EP2756413B1 patent drawingFigure 3

AI summary

A hosted storage system receives a request from a requester to access a hosted resource. The hosted resource includes a binary large object. The hosted storage system providing hosted storage to a plurality of clients that are coupled to the hosted storage system. A copy of the hosted resource is created. A copy message including the copy of the hosted resource is provided to the requester. The hosted resource is maintained in the hosted storage system while the requester modifies the copy of the hosted resource. A message is received from the requester. The messages include a modified copy of the hosted resource. It is determined that the hosted resource has not been modified since the copy of the hosted resource was created. The hosted resource is replaced with the modified copy of the hosted resource.