Granular Opportunistic Locking for File Caching Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current opportunistic locking mechanisms in client-server environments lack flexibility and granularity, leading to inefficient caching and increased network traffic due to rigid semantics and unnecessary oplock breaks, which disrupt data consistency and caching efficiency.

Innovation Solution

Implementing a method that allows clients to specify granular caching intentions using oplocks with identifiers, enabling read caching, write caching, and handle caching, and introducing an atomic oplock flag to manage oplock requests and prevent unnecessary breaks, thereby improving caching efficiency and data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If rigid opportunistic locking mechanisms are used to enforce distributed cache coherency, then data consistency is maintained, but caching efficiency decreases and network traffic increases due to frequent oplock breaks

Engineering Contradiction:
Improvedata consistencyVSAvoidcaching efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the monolithic opportunistic lock into multiple granular locks that can be independently managed. Instead of a single oplock covering the entire file or stream, the system divides it into smaller segments that can be locked independently, allowing partial caching without forcing full oplock breaks when only certain portions are modified.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic oplock management where the locking granularity and scope can adapt based on the specific operation being performed. The system dynamically adjusts which portions of data are locked and for how long, rather than using fixed rigid locking patterns, thereby reducing unnecessary oplock breaks while maintaining data consistency.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If fixed bundle oplock levels are provided to clients, then implementation simplicity is maintained, but flexibility and adaptability to specific usage patterns are reduced

Engineering Contradiction:
Improveoplock implementation simplicityVSAvoidcaching intention flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the monolithic opportunistic lock into multiple granular locks that can be independently managed. Instead of a single oplock covering the entire file or stream, the system divides it into smaller segments that can be locked independently, allowing partial caching without forcing full oplock breaks when only certain portions are modified.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters of oplock requests by introducing granular locking identifiers and scopes. Instead of fixed bundle levels, the system allows clients to specify different granularity levels and locking scopes based on their specific usage patterns, making the system adaptable to diverse caching intentions while maintaining a relatively simple implementation through standardized granular lock mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If clients cache file handles for reuse, then access efficiency is improved, but conflicts arise when multiple clients access the same file, requiring intrusive blocking mechanisms

Engineering Contradiction:
Improvefile handle access efficiencyVSAvoidclient access coordination
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the file handle caching mechanism into granular locks that can be held by different clients simultaneously for different portions of the file. This allows multiple clients to cache and reuse file handles without conflict, as long as they are operating on different segments, eliminating the need for intrusive blocking while maintaining access efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a granular lock management intermediary that coordinates between multiple clients caching file handles. This intermediary manages the granular locks and resolves conflicts automatically, allowing clients to reuse handles efficiently while the intermediary ensures proper coordination, reducing the burden on clients to manually manage access conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9654585B2Efficient file management through granular opportunistic locking
Publication Date: 2017.05.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9654585B2 patent drawing
  • US9654585B2 patent drawing
  • US9654585B2 patent drawing

AI summary

Improved methods and systems for granular opportunistic locking mechanisms (oplocks) are provided for increasing file caching efficiency. Oplocks can be specified with a combination of three possible granular caching intentions: read, write, and/or handle. An oplock can be specified with an identifier that indicates a client/specific caller to avoid breaking the original oplock due to an incompatibility from other requests of the same client. An atomic oplock flag is added to create operations that allow callers to request an atomic open with an oplock with a given file.