File Server Bandwidth Metering with Dynamic Pipeline Depth

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprotection from denial of service attacksVSAvoidbandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the pipeline depth is increased to fully utilize bandwidth, then performance improves, but the server becomes vulnerable to denial of service attacks

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidvulnerability to denial of service attacks
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveprevention of resource exhaustionVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7872975B2File server pipelining with denial of service mitigation
Publication Date: 2011.01.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7872975B2 patent drawing
  • US7872975B2 patent drawing
  • US7872975B2 patent drawing

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.