GUID Concurrency via Dual Mutex Locking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-user network-based content management environments, managing and sharing content items becomes complex due to the reliance on content item paths and names in hierarchical directory structures, which hinders efficient storage and access, especially when implementing sharing and increasing storage efficiency.

Innovation Solution

Assigning Globally Unique Identifiers (GUIDs) to each content item allows for unique identification and management, enabling flexible organizational structures, richer functionality for document editing and sharing, and implementing aliases or shortcuts, while ensuring data consistency and concurrency through locking mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If hierarchical directory structures with paths and names are used to manage content items, then content items can be organized and accessed in a structured manner, but the system becomes complex and less efficient when implementing sharing between user accounts and increasing storage efficiency

Engineering Contradiction:
ImproveContent item management and accessVSAvoidSystem complexity for sharing and storage
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system separates the identification function (GUID) from the location function (path). Each content item receives a unique GUID that remains constant, while paths become mere attributes that can change without affecting the item's identity or sharing capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

GUIDs serve as an intermediary identifier that decouples content items from their storage locations and user account structures. This intermediary enables efficient sharing by allowing references to content items without dependency on hierarchical path structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If content item paths and names in hierarchical directory structures are relied upon for identification, then content items can be located within a specific structure, but efficient storage and sharing between user accounts are hindered

Engineering Contradiction:
ImproveContent item identificationVSAvoidStorage efficiency and sharing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system divides identification (GUID) from location (path). The GUID provides reliable, location-independent identification while paths serve only as organizational attributes, enabling efficient storage and sharing operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a new dimension of identification (GUID) that operates independently from the traditional hierarchical path structure. This allows content items to be referenced and shared across different organizational structures without being constrained by path dependencies.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If GUIDs are assigned to content items for unique identification across locations, then storage efficiency and sharing capabilities are enhanced, but data consistency and concurrency issues may arise

Engineering Contradiction:
ImproveStorage efficiency and sharing capabilityVSAvoidData consistency and concurrency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system acquires mutex locks on GUIDs before performing operations that affect them. This preliminary locking action prevents concurrent modifications and ensures data consistency before any GUID-related operations occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback to client devices about the status of GUID operations and any conflicts that arise. This feedback mechanism allows for proper error handling and maintains data integrity in multi-user environments.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9613044B2Maintaining concurrency and consistency of globally unique identifiers
Publication Date: 2017.04.04 DROPBOX INC
  • US9613044B2 patent drawing
  • US9613044B2 patent drawing
  • US9613044B2 patent drawing

AI summary

Systems, methods, and computer-readable storage media for ensuring data consistency and concurrency for globally unique identifiers (GUIDs) and associated content items via locking. A content management system configured to practice the method can receive, from a client device, a request to perform a content item operation in a storage environment that affects a GUID. Then the content management system can acquire a first mutex for a namespace associated with the content item operation, such as an application-level lock, and acquire a second mutex for the GUID, such as a row-level lock in a database table. After acquiring the locks, the content management system can perform the content item operation according the request, and update the GUID based on the content item operation. Then the content management system can release the mutexes and provide a confirmation to the client device in response to the request.