Metadata Proxy Server for Asynchronous RPC Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing client agent and metadata server (MDS) architecture incurs significant latency due to the roundtrip communication required for file system requests, particularly in geographically separated setups, which affects the performance of metadata operations like create, rename, delete, and query file attributes during backup and restore processes.

Innovation Solution

The introduction of a metadata proxy server that forwards remote procedure calls (RPCs) from the client agent to an RPC client, which then sends them to the MDS asynchronously, allowing the client agent to respond instantly and reducing the perceived latency by short-circuiting the roundtrip communication path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a client agent and metadata server architecture is used for file system operations, then data backup and restore functionality is provided, but significant latency is incurred due to roundtrip communication between geographically separated components

Engineering Contradiction:
Improvedata backup and restore functionalityVSAvoidperceived latency for metadata operations
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

An MDS proxy is introduced as an intermediary component that receives RPCs from the client agent and forwards them to the MDS. The proxy acts as a local representative that can immediately acknowledge receipt of requests to the client agent, while the actual MDS processing occurs asynchronously in the background. This intermediary architecture allows the client agent to perceive low latency (instant acknowledgment) while still maintaining reliable communication with the remote MDS for data backup and restore operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If synchronous roundtrip communication is used between client agent and MDS, then correctness in file system operations is maintained, but performance of metadata operations deteriorates due to waiting for remote responses

Engineering Contradiction:
Improvecorrectness in file system operationsVSAvoidperformance of metadata operations
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The MDS proxy performs preliminary action by immediately acknowledging receipt of RPCs from the client agent before the actual MDS processing is complete. The proxy sends an instant acknowledgment to the client agent, allowing it to proceed with operations without waiting for the remote MDS response. The actual metadata operations are then performed asynchronously in the background, maintaining correctness while improving performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically switches between synchronous and asynchronous communication modes. The MDS proxy provides synchronous-like behavior (instant acknowledgment) to the client agent while using asynchronous communication with the actual MDS. This dynamic approach allows the system to adapt to the different requirements of client responsiveness and remote processing reliability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10853155B2Forwarding metadata proxy server for asynchronous metadata operations
Publication Date: 2020.12.01 EMC IP HLDG CO LLC
  • US10853155B2 patent drawing
  • US10853155B2 patent drawing

AI summary

In one example, a method is performed by a client agent and includes receiving a metadata request from an application, generating a remote procedure call (RPC) that identifies metadata requested by the application, transmitting the RPC to a metadata server (MDS) proxy, receiving, from the MDS proxy, an acknowledgement that the RPC has been received and logged, receiving metadata identified in the RPC, and providing the metadata to the application.