Proxy Server In-Stream HTTP Modification for Browser Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Browser updates often require resources or servers to include updated code to comply with new rendering standards, leading to failures if not properly maintained, causing issues in rendering web pages.

Innovation Solution

A proxy system that modifies HTTP communications between agents and origin servers by applying in-stream modifications and cached content based on user-agent identifiers, using a proxy-process module within the web-server-process space, allowing for compliance with evolving protocol standards without external program calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If browser updates are implemented to comply with new rendering standards, then rendering compliance is improved, but the origin server and resources must be updated accordingly, increasing system complexity and maintenance burden

Engineering Contradiction:
Improverendering complianceVSAvoidsystem maintenance burden
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a proxy server as an intermediary component between the origin server and user agents. The proxy server intercepts HTTP communications, modifies requests and responses based on user-agent identifiers, and forwards them to the appropriate destinations. This mediator handles browser update compliance requirements without requiring modifications to the origin server or resources, thus resolving the contradiction by improving rendering compliance while maintaining system stability and reducing maintenance burden on the origin server

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the origin server is updated to comply with new browser standards, then compatibility with updated browsers is improved, but the stability of the origin server is compromised during updates

Engineering Contradiction:
Improvebrowser compatibilityVSAvoidorigin server stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent segments the system into three distinct components: the origin server, the proxy server, and user agents. The proxy server is specifically responsible for handling browser compatibility and adaptation, while the origin server maintains its stable, unchanged state. This segmentation allows the proxy layer to adapt to new browser standards without affecting the stability of the origin server, as each component has a dedicated function and the proxy acts as a buffer between updates and the core server

Inventive Principle:
Principle #1Segmentation

3Reliability

If code modifications are made to resources to comply with updated browsers, then rendering proper display is improved, but the risk of rendering failures increases if updates are not properly implemented

Engineering Contradiction:
Improverendering success rateVSAvoidrendering failure risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary action by having the proxy server pre-process HTTP requests and responses before they reach the origin server or user agents. The proxy server retrieves modification rules in advance, applies them to transform requests and responses, and handles all adaptation logic beforehand. This preliminary processing ensures that resources are served with appropriate modifications for different browsers without requiring actual code changes to the resources themselves, thereby improving rendering success while eliminating the risk of improper updates causing failures

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10749926B2Proxy for modifying HTTP messages to comply with browser
Publication Date: 2020.08.18 RIMINI STREET INC
  • US10749926B2 patent drawing
  • US10749926B2 patent drawing
  • US10749926B2 patent drawing

AI summary

A proxy server includes various components to modify HTTP communications between a client and a server. Generally, an HTTP request or response is received. The request or response is modified in-stream by a proxy-process module that is running within a web-server-process space.