Dynamic Proxy Injection via Interface Blueprints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in using callbacks in distributed systems, particularly in mobile and communication devices, due to constraints on flash memory and security concerns, which limit the installation of native code and the dynamic loading of new clients that listen to callbacks from a native environment.

Innovation Solution

The method involves configuring a Platform with a Proxy Environment that allows proxies to be injected, enabling software components to invoke methods in remote components as if they were local, by including a stub with a proxy description that is dynamically transferred to the target environment, reducing the need for permanent installation of native proxies and minimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If native proxies are installed permanently in the terminal during production, then callback functionality is supported, but flash memory constraints are violated and security requirements are breached

Engineering Contradiction:
Improvecallback functionalityVSAvoidsecurity risks and memory constraints
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent transforms the static, permanent installation of native proxies into a dynamic, on-demand generation approach. Proxies are no longer fixed in the system but are created dynamically at runtime based on interface blueprints, allowing the system to adapt to different callback scenarios without permanent installations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The downloaded Java application performs the work of generating and installing its own proxies without requiring pre-installed native code. The application includes interface blueprints that enable it to self-generate the necessary proxy components during execution, eliminating the need for external native proxy installations.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If proxies are dynamically generated from interface blueprints, then memory usage is reduced and security is improved, but the complexity of dynamic proxy generation increases

Engineering Contradiction:
Improvememory usageVSAvoidproxy generation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extracts the interface definition information into separate interface blueprints that are included with the downloaded application. This separation allows the proxy generation logic to work with standardized blueprint data rather than hardcoding proxy implementations, reducing memory requirements while maintaining generality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the parameter representation from complete proxy implementations to compact interface blueprints containing only essential interface definitions. This parameter transformation reduces the amount of data that needs to be stored and transmitted while enabling dynamic reconstruction of proxies when needed.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If interface blueprints are included in downloaded applications, then adaptability to different platforms is improved, but the size of downloaded applications increases

Engineering Contradiction:
Improveplatform compatibilityVSAvoidapplication size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Instead of copying complete proxy implementations for each platform, the patent uses interface blueprints that serve as templates. These blueprints contain minimal interface definition data that can be copied and then dynamically instantiated into platform-specific proxies, dramatically reducing the amount of data that needs to be transferred while maintaining full adaptability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7917913B2Injecting proxy components using blueprints
Publication Date: 2011.03.29 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US7917913B2 patent drawing
  • US7917913B2 patent drawing
  • US7917913B2 patent drawing

AI summary

A software component deployed in a distributed system includes a stub that enables the component to be used remotely. The stub can include its own proxy (or at least a sufficient description of it) that is automatically and dynamically injected to the remote environment. Thus, native proxies do not need to be included in the platform initially, and do not need to be downloaded, since marshalling methods are generated at runtime based on a blueprint in the code of the application.