Adaptive Network Response Buffering for Web Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web servers lack mechanisms to adapt response buffering behavior to changing run-time characteristics of content, leading to inappropriate buffering behaviors that can violate transfer requirements or fail to utilize buffering for content types that benefit from it.

Innovation Solution

A system that maps content requests to handlers configured to serve the content, accesses buffering behavior data to determine altered response buffering behavior as exceptions to default settings, and transfers content accordingly, allowing for dynamic management of buffering based on content type, application, and runtime conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If response buffering is used to improve server performance and network bandwidth efficiency, then server performance is improved, but streaming applications and content types that cannot be buffered are adversely affected

Engineering Contradiction:
Improveserver performanceVSAvoidcompatibility with streaming applications
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts buffering behavior based on runtime characteristics of the response. The Web server monitors response size and other runtime parameters during content generation, and automatically switches between buffering and streaming modes without requiring application-specific configuration. This dynamic adaptation allows the same server to optimize for both buffered content types (improving server performance) and streaming content types (maintaining compatibility).

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the buffering parameter (buffer size or buffering enabled/disabled) based on the runtime characteristics of the response. When a response exceeds a threshold size or exhibits streaming characteristics, the server modifies the buffering parameter to enable streaming behavior. This parameter adaptation resolves the contradiction by allowing buffering for small responses (improving performance) while switching to streaming for large responses (maintaining versatility).

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If response buffering is configured based on prior configuration and typical characteristics, then default buffering behavior is established, but the server cannot adapt to changed run-time characteristics leading to inappropriate buffering behavior

Engineering Contradiction:
Improveconfiguration simplicityVSAvoidadaptation to runtime characteristics
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements feedback by monitoring runtime characteristics of the response during content generation. The Web server observes response size, content type, and generation speed, and uses this feedback to automatically adjust buffering behavior. This feedback mechanism allows the server to adapt to changing conditions without requiring complex configuration, resolving the contradiction between ease of operation and adaptability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The Web server performs self-service by automatically determining the appropriate buffering strategy based on the characteristics of the content being generated. Instead of requiring external configuration for each content type, the server autonomously decides whether to buffer or stream based on runtime parameters. This self-service capability maintains configuration simplicity while achieving adaptability to different content types and conditions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2011029B1Managing network response buffering behavior
Publication Date: 2019.05.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2011029B1 patent drawingFigure 1
  • EP2011029B1 patent drawingFigure 2
  • EP2011029B1 patent drawingFigure 3

AI summary

The present invention extends to methods, systems, and computer program products for managing network response buffering behavior. A computer system receives a request for content from a client. The computer system has a default response buffering behavior used when transferring content. The computer system maps the request to a handler configured to serve the requested content. The computer system accesses buffering behavior data for the handler. The computer system determines that the requested content is to be transferred in accordance with altered response buffering behavior based at least on the buffering behavior data. The altered response buffering behavior corresponds to the requested content as an exception to the default response buffering. The computer system accesses a portion of the requested content from the handler. The computer system transfers the portion of requested content to the client in accordance with the altered response buffer behavior.