Client-Side RPC Stubs for Offloading Sensitive Web Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As Web applications shift processing from servers to clients, developers face challenges in implementing functionality that requires sensitive information and performance optimization, as sensitive information should not be downloaded or executed on end-user devices.

Innovation Solution

A system and method for offloading execution of client-side Web application functions to a server, where client-side scripting language files are modified to include remote procedure call (RPC) stubs, allowing sensitive functions to be executed on the server while maintaining user privacy and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If client-side scripting language files are downloaded to end-user devices for execution, then Web application functionality can be executed locally with reduced server load, but sensitive information becomes accessible on end-user devices creating security risks

Engineering Contradiction:
ImproveWeb application execution efficiencyVSAvoidSecurity risk from sensitive information exposure
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the Web application into two distinct parts: client-side scripting language files containing sensitive information and RPC stubs containing only function signatures. The sensitive source code remains on the server while only the stubs are downloaded to client devices, allowing local execution without exposing sensitive information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the sensitive source code elements from the client-side scripting language files and retains them exclusively on the server. Only the essential function signatures and RPC stubs are extracted and deployed to client devices, separating the sensitive core logic from the executable client code.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of energy

If sensitive functions are executed on end-user devices, then processing can be distributed to reduce server load, but performance may degrade due to limited client computing resources

Engineering Contradiction:
ImproveServer processing loadVSAvoidExecution performance of sensitive functions
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent divides computational tasks into two categories: non-sensitive functions that can be executed locally on client devices to reduce server load, and sensitive functions that remain on the server where they can be executed with full computing resources, thereby optimizing both energy distribution and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces RPC stubs as intermediaries between client devices and the server. These stubs enable local invocation of server-side functions, allowing clients to trigger sensitive function execution on the server without directly accessing or executing the sensitive code, thus maintaining performance while enabling distributed processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Object-affected harmful factors

If client-side scripting language files are modified to include RPC stubs, then sensitive information can be protected from client access, but development complexity increases due to the need for file modification and server compilation

Engineering Contradiction:
ImproveProtection of sensitive informationVSAvoidDevelopment process complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent performs preliminary modification of client-side scripting language files during the deployment phase, replacing sensitive source code with RPC stubs before distribution to clients. The server compiles and prepares the modified files in advance, so that once deployed, clients receive pre-processed files that inherently protect sensitive information without requiring complex runtime protection mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified copies of the original client-side scripting language files, replacing the full source code with lightweight RPC stubs that contain only function signatures and invocation logic. These copied files are deployed to clients, maintaining the original file structure and syntax while removing sensitive information, thus minimizing development complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9485332B2Offloading execution of a portion of a client-side web application to a server
Publication Date: 2016.11.01 SENCHA
  • US9485332B2 patent drawing
  • US9485332B2 patent drawing
  • US9485332B2 patent drawing

AI summary

Offloading execution of a portion of a client-side Web application to a server. In one embodiment, for example, a computer-implemented includes identifying a function to-be-offloaded in a client-side scripting language file; generating an offloaded function based on the function to-be-offloaded; replacing, in the scripting language file, the body of the function to-be-offloaded with client RPC stub which, when executed by an end-user computing device as a result of a call to the function to-be-offloaded, causes one or more arguments passed into the function to-be-offloaded to be marshalled and sent to a server in one or more network messages.