Unified Rendering API Switching Client Server Web Apps
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If client-side rendering is used, then responsiveness and interactivity are improved, but resource constraints and performance limitations worsen
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.
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.
2Productivity
If server-side rendering is used, then handling large data volumes and user load is improved, but latency and response time worsen
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.
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.
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
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.
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.
Data Source
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.


