Server-Side Script Translation for AJAX Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing server-side processing technologies face challenges in supporting client-side scripts, particularly in AJAX environments, where scripts dependent on specific browser events often fail to function correctly due to asynchronous requests, leading to performance issues and limited benefits for multiple users.

Innovation Solution

A method and system for server-side translation of client-side scripts that detects incompatibilities and rewrites scripts to manually invoke expected events, ensuring compatibility and correct execution in heterogeneous browser environments, including AJAX, by using a server-side processor to parse, translate, and cache scripts for delivery to clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If client-side scripts are rewritten manually to invoke expected events, then compatibility with AJAX environments is improved, but device complexity increases

Engineering Contradiction:
Improvecompatibility with AJAX environmentsVSAvoidcomplexity of script rewriting
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a server-side translation layer as an intermediary between legacy client-side scripts and AJAX environments. This mediator automatically rewrites scripts to manually invoke expected events (like onload handlers) without requiring changes to the original scripts or complex client-side modifications. The translation service handles the complexity centrally, making individual applications simpler while achieving broad compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If script processing is managed on the client-side, then custom application support is improved, but performance decreases

Engineering Contradiction:
Improvecustom application supportVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Instead of managing script processing on the client-side (the conventional approach), the patent inverts the architecture by implementing server-side script translation. The server translates legacy scripts into AJAX-compatible formats before delivery, eliminating the need for complex client-side processing while maintaining custom application support. This inversion moves the computational burden to the server, improving client-side performance.

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

3Reliability

If client-side rewriting is performed, then functionality for current user is improved, but loss of information occurs since server lacks awareness of improvements

Engineering Contradiction:
Improvefunctionality for current userVSAvoidserver awareness of improvements
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent implements a server-side translation service that maintains awareness of all script improvements and translations. When a script is translated to support AJAX environments, the server stores this translation information and applies it consistently across all users and sessions. This feedback mechanism ensures that improvements made for one user are automatically available to all subsequent users, eliminating the information loss that occurs with isolated client-side rewriting.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10324713B2Server-side translation for custom application support in client-side scripts
Publication Date: 2019.06.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10324713B2 patent drawing
  • US10324713B2 patent drawing
  • US10324713B2 patent drawing

AI summary

Embodiments of the present invention address deficiencies of the art in respect to server-side processing and provide a novel and non-obvious method, system and computer program product for performing server-side translation for custom application support in client-side scripts. In an embodiment of the invention, a method for supporting custom applications in client-side scripts can be provided. The method can include retrieving a client-side script, for execution in a client-environment and detecting an incompatibility of the retrieved client-side script resulting from a dependency of the client-side script upon an expected occurrence of an event in the client-environment. Thereafter, the retrieved script can be rewritten to manually invoke the expected event in the client-environment. Finally, the rewritten script can be compiled and cached, and the compiled and cached rewritten script can be delivered to the client-environment for execution therein.