Unified Rendering API Switching Client Server Web Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in providing flexible visualization rendering options for web applications, particularly in the oilfield domain, where large volumes of data require efficient rendering on either client or server computing systems, depending on the specific needs of data interaction and user load.

Innovation Solution

A unified rendering API library and engine system that allows web applications to seamlessly switch between client-side and server-side rendering by using the same API calls, enabling developers to select the rendering system based on predefined criteria or instantiations, thus accommodating different visualization requirements and resource constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If client-side rendering is used, then responsiveness and interactivity are improved, but resource constraints and performance limitations worsen

Engineering Contradiction:
ImproveresponsivenessVSAvoidresource constraints
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects between client-side and server-side rendering based on runtime conditions such as user load, device capabilities, and visualization complexity. This dynamic adaptation allows the system to optimize for responsiveness when resources permit while accommodating resource constraints when necessary, resolving the contradiction between speed and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The unified rendering API allows changing the rendering location parameter (client vs. server) based on system conditions. By treating rendering location as a configurable parameter rather than a fixed decision, the system can adjust to different resource constraints while maintaining responsive performance where possible.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If server-side rendering is used, then handling large data volumes and user load is improved, but latency and response time worsen

Engineering Contradiction:
Improvedata processing capacityVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the rendering workload by dividing visualizations into different types and complexity levels. Complex, data-intensive visualizations are rendered on the server where processing capacity is abundant, while simpler visualizations are rendered on the client to reduce latency. This segmentation allows the system to handle large data volumes without universally incurring server-rendering latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines which rendering approach to use based on the specific visualization requirements, data volume, and user interaction patterns. By making this decision dynamic rather than static, the system can leverage server-side processing capacity for complex tasks while maintaining low latency for simpler operations.

Inventive Principle:
Principle #15Dynamics

3Reliability

If separate API libraries are used for client and server rendering, then rendering-specific optimization is improved, but system complexity and development difficulty worsen

Engineering Contradiction:
Improverendering optimizationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The unified rendering API library serves multiple functions by working with both client-side and server-side rendering engines through the same interface. This universal API maintains rendering-specific optimizations for each platform while presenting a consistent interface to developers, thereby reducing system complexity without sacrificing optimization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the client and server rendering APIs into a single unified interface. By combining these previously separate systems into one cohesive API, the patent reduces development complexity and maintenance burden while preserving the underlying optimization benefits of each rendering approach through abstraction.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11422874B2Visualization infrastructure for web applications
Publication Date: 2022.08.23 SCHLUMBERGER TECH CORP
  • US11422874B2 patent drawing
  • US11422874B2 patent drawing
  • US11422874B2 patent drawing

AI summary

Web application code includes a unified rendering application programming interface (API) library and unified rendering API calls. The unified rendering API calls comply with call definitions and are to library functions. The library functions are in both a server rendering library and a client rendering library. The call definitions are the same for using the server rendering library and the client rendering library. From a client computing device and a server computing device, a rendering system is identified for rendering a visualization to obtain an identified system. The rendering library matching the rendering system is linked to the web application code, where the rendering library is at least of the client rendering library or the server rendering library.