File Server Bandwidth Metering with Dynamic Pipeline Depth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
File servers are vulnerable to denial of service attacks and performance limitations due to static limits on outstanding operations, which restrict bandwidth utilization, especially in high latency connections.
Innovation Solution
A method of dynamically metering bandwidth allocation using credits, where the server adjusts the data allocation credit limit for clients based on available resources, client activity, and network conditions to allow a deeper pipeline depth when necessary, thereby preventing resource exhaustion and maximizing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a small static limit is enforced on the number of outstanding operations, then the server is protected from denial of service attacks, but performance is limited because a deep pipeline is necessary to fully utilize bandwidth
Solution Approach 1:
The patent implements dynamic adjustment of the pipeline depth limit based on server resource availability. Instead of a fixed static limit, the system continuously monitors server resource usage and adjusts the maximum number of outstanding operations accordingly. When resources are abundant, the limit increases to allow deeper pipelines and better bandwidth utilization; when resources are scarce, the limit decreases to prevent denial of service conditions.
Solution Approach 2:
The system changes the parameter of pipeline depth limit dynamically rather than keeping it constant. The limit is adjusted as a variable parameter based on real-time server state, transforming the approach from a fixed parameter security measure to a flexible parameter that adapts to changing conditions, thereby resolving the contradiction between security and performance.
2Productivity
If the pipeline depth is increased to fully utilize bandwidth, then performance improves, but the server becomes vulnerable to denial of service attacks
Solution Approach 1:
The system implements feedback mechanisms that monitor server resource usage and client pipeline depth. This feedback loop allows the server to detect when a client is attempting to exploit the system by maintaining excessive outstanding operations, and respond by adjusting the pipeline depth limit for that client, thereby preventing denial of service attacks while allowing high bandwidth utilization for legitimate clients.
Solution Approach 2:
The pipeline depth limit transitions from a static high value that creates vulnerability to a dynamic value that adapts to server conditions. The system can increase the limit when resources are available to maximize bandwidth utilization, and decrease it when resources are constrained to prevent abuse, thus resolving the vulnerability issue while maintaining performance.
3Reliability
If a static limit is enforced on outstanding operations, then resource exhaustion is prevented, but performance is limited due to inability to maintain deep pipeline
Solution Approach 1:
The system replaces the static limit with a dynamic limit that adjusts based on real-time server resource availability. This allows the server to prevent resource exhaustion by lowering the limit when resources are scarce, while simultaneously maintaining high performance by raising the limit when resources are abundant, thus resolving the contradiction between reliability and productivity.
Solution Approach 2:
The pipeline depth limit is transformed from a fixed parameter to a variable parameter that changes based on server state. This parameter change enables the system to adapt to different resource conditions, preventing exhaustion during low-resource periods while allowing deep pipelines during high-resource periods, thereby resolving the performance limitation.
Data Source
AI summary
A method of metering bandwidth allocation on a server using credits is disclosed. The method may receive a request for data from a client, respond to the request for data and determining if the request for data for the client exceeds a current data allocation credit limit for the client. Using the round trip time, the method may calculate a connection throughput for a client and may increase the current data allocation credit limit for the client if the server has resources to spare, the client is actively using the current pipeline depth allowed and network connection latency and bandwidth indicate a deeper pipeline is necessary for saturation. The method may decrease the current data allocation credit limit for the client if the server does not have resources to spare.


