Dynamic Server-Side Image Sizing for Client Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web-based applications face challenges in displaying high-quality images across varying client device resolutions, leading to image fidelity degradation or wasted space due to fixed image sizing by servers, which does not account for different display sizes and configurations of client computing devices.

Innovation Solution

Calculating a target display resolution and passing it as an input parameter to the server for application content, allowing the server to render images optimally sized for the client device, with the web client application determining whether to scale or display images at their actual size, and recalculating the resolution if the available display area changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the server sends images sized for one fixed resolution, then the server processing is simple and fast, but the image fidelity degrades when displayed on devices with different resolutions

Engineering Contradiction:
Improveimage fidelityVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent implements dynamic image sizing where the server generates images at different resolutions based on the client device's screen resolution. The web client application dynamically determines the appropriate resolution parameter and requests images accordingly, allowing the system to adapt to varying display requirements while maintaining image fidelity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the resolution parameter of images based on the client device's display characteristics. The web client application determines the target display resolution and passes it as a parameter to the server, which then renders images at the optimal resolution, avoiding fidelity degradation from fixed-size images.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If the server renders images at multiple resolutions to accommodate all devices, then image fidelity is maintained across devices, but the server processing time and resource usage increase

Engineering Contradiction:
Improveimage fidelityVSAvoidserver processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent uses preliminary action by having the web client application determine the target display resolution before requesting images. This allows the server to prepare images at the specific resolution needed by the client device, avoiding the need to pre-render and store multiple resolution versions of each image on the server.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements parameter changes by passing the target display resolution as a parameter in the image request. The server uses this parameter to dynamically adjust the image rendering resolution, ensuring high fidelity images are generated only at the required resolution rather than maintaining multiple fixed resolution versions.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If the web client application performs client-side scaling of server-provided images, then the system is simple to implement, but image fidelity degrades due to scaling operations

Engineering Contradiction:
Improveimplementation simplicityVSAvoidimage fidelity
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by having the server render images at the correct resolution before transmission to the client. The web client application determines the target display resolution and communicates this to the server, which prepares the image at the optimal size, eliminating the need for subsequent client-side scaling operations that would degrade image fidelity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent inverts the traditional approach by having the server perform resolution-based image generation instead of the client scaling down server-provided images. This reversal of the processing sequence ensures images are created at the correct size from the outset, maintaining fidelity while keeping the system relatively simple.

Inventive Principle:
Principle #13The other way round (Inversion)

4Productivity

If the server provides fixed-size images, then server processing is efficient, but empty space is wasted or scroll bars appear on devices with different screen sizes

Engineering Contradiction:
Improveserver processing efficiencyVSAvoiddisplay area utilization
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent implements dynamics by making image sizes adaptive to the client device's display characteristics. The web client application determines the target display resolution and communicates this to the server, which dynamically adjusts image rendering sizes accordingly. This ensures images fill the available display area efficiently without creating empty space or requiring scroll bars.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses parameter changes by passing the target display resolution as a parameter to the server. The server uses this parameter to adjust image rendering dimensions, ensuring optimal utilization of the client device's display area while maintaining efficient server processing through parameter-based control rather than generating multiple fixed-size image versions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10564920B2Dynamic server-side image sizing for fidelity improvements
Publication Date: 2020.02.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10564920B2 patent drawing
  • US10564920B2 patent drawing
  • US10564920B2 patent drawing

AI summary

Dynamically-generated images sized according to a requesting web client application display resolution are provided. The client application may calculate a target display resolution and pass the target display resolution as an input parameter with a request to a server for application content. The server may use the desired size input parameter to determine an optimal image size for the target display resolution. The server may render the application content as one or more images to the optimal image size and send the rendered image(s) to the client application. A determination may be made by the client application to display the image(s) at the size received or to scale the server-provided image(s). If the available area in the client application pane changes, the client application may recalculate the target display resolution and issue a new request to the server with the new target display resolution as the desired size input parameter.