Proxy Server GUID Segmentation for SMB Lease Break Notifications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SMB coherency management, proxy servers may miss lease break notifications, leading to inconsistent file states due to multiple clients sharing the same lease key, resulting in only one connection receiving the notification, while others remain unaware, especially during disruptive events like process restarts.

Innovation Solution

Generating a new proxy-generated client GUID for each connection, allowing the server to send lease break notifications to both the original and proxy-generated GUIDs, ensuring all connections are informed of lease breaks and maintaining cache consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a proxy server caches data for multiple clients sharing the same lease key, then data serving efficiency is improved, but lease break notification delivery becomes unreliable as only one connection receives the notification

Engineering Contradiction:
Improvedata serving efficiencyVSAvoidlease break notification delivery
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the client identification by generating a unique proxy-generated client GUID for each connection through the proxy server. This segmentation allows the server to send lease break notifications to multiple distinct identifiers (original client GUID and proxy-generated GUIDs) associated with the same lease key, ensuring reliable notification delivery to all connections while maintaining the proxy's ability to serve multiple clients efficiently.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If the server sends lease break notifications to a single (Lease Key, Client GUID) tuple, then notification processing is simplified, but coherency is lost when multiple connections share the same lease key

Engineering Contradiction:
Improvenotification processing complexityVSAvoidfile coherency
Core Design Contradiction:
Device complexityVSStability of the object's composition

Solution Approach 1:

The patent creates a copy of the client identification by generating a proxy-generated client GUID for each connection. This copying mechanism allows the server to maintain simple notification processing by using standard (Lease Key, Client GUID) tuples, while simultaneously ensuring file coherency by sending notifications to multiple copied identifiers (original GUID and proxy-generated GUIDs) that all map to the same lease key.

Inventive Principle:
Principle #26Copying

3Ease of operation

If a client uses the same lease key across multiple connections, then connection management is simplified, but lease break notifications may be missed during disruptive events like process restarts

Engineering Contradiction:
Improveconnection managementVSAvoidlease break notification awareness
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent introduces an intermediary mechanism where the proxy server generates and manages additional client GUIDs for connections passing through it. This intermediary approach allows clients to maintain simplified connection management with a single lease key, while the proxy-generated GUIDs act as intermediaries to ensure lease break notifications are reliably delivered to all connections, preventing information loss during disruptive events.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9674283B2Method for solving coherency lock issues in proxy services
Publication Date: 2017.06.06 CISCO TECHNOLOGY INC
  • US9674283B2 patent drawing
  • US9674283B2 patent drawing
  • US9674283B2 patent drawing

AI summary

Methods and systems are provided for negotiating a session with a first server, wherein data within the session travels through at least a second server such as a proxy server; replacing a first client global unique identifier (GUID) with a second GUID generated by the second server; maintaining a GUID map table at the second server mapping the second GUID with the first GUID; requesting a plurality of leases on a file from the first server, wherein the each of the plurality of lease requests comprises a lease key and the second GUID, wherein the lease key is identical for each of the plurality of leases; providing caching services, wherein caching services are associated with a lease state corresponding to one of the plurality of leases; receiving an indication that a second client has made a lease request for the file; breaking the first lease upon receipt of the indication; and communicating a lease break notification to addresses associated with the second GUID.