Browser-Specific Renderer for Portal Page Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in optimizing both server and client-side rendering of web content within browser environments, particularly in supporting multiple programming models and exploiting each side's capabilities effectively.

Innovation Solution

A system that selects a renderer based on the client system's browser-specific environment, delivering browser-specific markup from portlets, and determines the rendering mode by analyzing client browser capabilities, switching between client-side and server-side aggregation to ensure optimal rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If server-side aggregation is used, then content aggregation and dynamic component execution are performed on the server, but client-side rendering optimization is limited

Engineering Contradiction:
Improveserver-side rendering efficiencyVSAvoidclient-side rendering optimization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically switches between server-side and client-side aggregation modes based on the detected browser environment. The renderer selects the appropriate aggregation mode (server-side for traditional browsers, client-side for rich web environments) to optimize performance for each specific client scenario, resolving the contradiction between server optimization and client adaptability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If client-side aggregation is used, then final aggregation is performed within the browser, but server-side rendering optimization is reduced

Engineering Contradiction:
Improveclient-side rendering optimizationVSAvoidserver-side rendering efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system dynamically switches between server-side and client-side aggregation modes based on the detected browser environment. The renderer selects the appropriate aggregation mode (server-side for traditional browsers, client-side for rich web environments) to optimize performance for each specific client scenario, resolving the contradiction between server optimization and client adaptability.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a single rendering model is used, then implementation is simplified, but support for multiple programming models becomes difficult

Engineering Contradiction:
Improverendering model implementationVSAvoidmulti-programming model support
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The renderer is designed as a universal component that supports multiple programming models (server-side aggregation with JSR286 portlets, client-side aggregation with iWidgets/Open Social widgets) within a single unified architecture. The renderer can adapt to different programming models based on the browser environment, eliminating the need for separate implementations while maintaining support for multiple models.

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

Solution Approach 2:

The renderer acts as an intermediary layer between the portal framework and the browser environment. It translates and adapts different programming models into a unified rendering interface, allowing the system to support multiple programming models without increasing overall complexity. The renderer mediates between the diverse programming models and the client browser, resolving the contradiction between simplicity and versatility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9143378B2Rendering components within different browser environments
Publication Date: 2015.09.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9143378B2 patent drawing
  • US9143378B2 patent drawing
  • US9143378B2 patent drawing

AI summary

Embodiments of the invention relate to rendering components within different browser environments. A request for a portal page is received from a client system. The portal page is aggregated by a computer and a renderer is selected based on a client system browser specific environment. A browser specific markup, provided by at least one portlet, is transmitted from the renderer to the client system.