Client-Side Service Redirection for Deduplicated Filesystem Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches to distributing network traffic across servers in a cluster with a distributed deduplicated filesystem do not account for the unique characteristics and challenges posed by such systems, leading to inefficiencies and potential service overload.
Innovation Solution
A client-side library that communicates with a filesystem redirector proxy service to generate a prioritized list of access object services, considering availability, resource utilization, and current client requests, to redirect operations to the most suitable service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If typical approaches to distributing incoming network traffic across multiple servers are used, then traffic distribution is achieved, but service overload and inefficiency occur due to not recognizing unique characteristics of distributed deduplicated filesystems
Solution Approach 1:
The patent implements feature-specific redirection where different services are selected based on the specific operation type (e.g., backup, restore, clone). The filesystem redirector analyzes the operation characteristics and routes to specialized services optimized for each operation type, rather than using uniform round-robin distribution. This local quality approach ensures that each operation type is handled by the most appropriate service, improving efficiency and preventing overload on any single service.
Solution Approach 2:
The system dynamically selects services based on real-time conditions including operation type, service availability, and current system state. The redirector makes adaptive decisions rather than using static distribution algorithms, allowing the system to respond to changing conditions and prevent service overload by redirecting traffic away from overloaded services.
2Speed
If a single preferred service is selected for each operation, then response time is reduced, but service overload may occur if conditions change
Solution Approach 1:
The filesystem redirector performs preliminary evaluation of multiple candidate services before selecting the preferred service for each operation. It assesses service suitability based on operation type and current system state, then selects the most appropriate service in advance. This preliminary action ensures fast response times while the system monitors conditions to prevent overload.
Solution Approach 2:
The system implements feedback mechanisms where the redirector continuously monitors service performance and availability. Based on feedback about service state and operation outcomes, the redirector adjusts its service selection decisions, switching from a single preferred service model to a prioritized list approach that can dynamically select alternative services to prevent overload.
3Ease of operation
If the filesystem redirector makes all service selection decisions, then centralized control is maintained, but client-side adaptability is reduced
Solution Approach 1:
The filesystem redirector acts as an intermediary between the client and the data protection services. It receives client requests, evaluates multiple candidate services based on operation type and system state, and selects the most appropriate service from a prioritized list. This intermediary approach maintains centralized control for service management while providing adaptability in service selection based on real-time conditions.
Data Source
AI summary
A client-side library receives a request from an application on a client for an operation offered by a data protection system having a deduplication filesystem. A request is issued to the filesystem for a list of services that are available to handle the request from the application. The client-side library receives the list of services, including an indication of a preferred service for the operation as determined by the filesystem. A check is made as to whether the preferred service satisfies a set of conditions. If the preferred service satisfies each condition, the application is redirected to the preferred service. If the preferred service does not satisfy each condition, other services in the list are iterated over to find a service that does satisfy each condition.


