Automated Client Code Specialization for J2ME-J2EE Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in enabling efficient end-to-end communication between resource-constrained J2ME clients and J2EE servers, particularly due to limitations in network bandwidth, latency, and the need for manual optimization of client code, which is labor-intensive and not scalable for low-processing devices.

Innovation Solution

A method and system that utilize a template-driven code generator to automatically create optimized client and server code, employing a mediator as a gateway to translate protocols, minimizing client code and network bandwidth, and distributing computation between the client and server, while allowing seamless access to J2EE services from J2ME clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SOAP protocol is used for J2ME client to access J2EE services, then service accessibility is improved, but memory footprint and network bandwidth consumption increase

Engineering Contradiction:
Improveservice accessibilityVSAvoidmemory footprint
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes unnecessary components from the SOAP protocol implementation for J2ME clients. Specifically, it eliminates the need for XML parsing libraries and heavy SOAP message handling code by implementing a streamlined protocol that only includes essential messaging capabilities, thereby reducing memory footprint from 34KB to under 10KB while maintaining service accessibility

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by customizing the protocol implementation specifically for resource-constrained J2ME environments rather than using a generic SOAP implementation. The client code is optimized with only the necessary messaging functions required for J2EE service access, excluding unnecessary features like complex XML validation and transformation capabilities

Inventive Principle:
Principle #3Local quality

2Productivity

If manual code optimization is performed for different mobile devices, then client code efficiency is improved, but development time and labor costs increase

Engineering Contradiction:
Improveclient code efficiencyVSAvoiddevelopment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements self-service through automated code generation tools that produce optimized J2ME client code based on service requirements. The system automatically analyzes service interfaces, generates appropriate protocol messages, and creates device-specific optimized code without requiring manual intervention for each device type, thereby maintaining high code efficiency while eliminating repetitive manual optimization work

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by pre-generating optimized client code templates for different device categories during the service deployment phase. These pre-optimized templates are then automatically selected and instantiated based on the target device characteristics, eliminating the need for manual code adjustment during deployment and reducing development time

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If comprehensive protocol support is implemented in J2ME client, then service compatibility is improved, but processing power and memory requirements increase

Engineering Contradiction:
Improveservice compatibilityVSAvoidprocessing power
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential protocol elements needed for J2EE service access in J2ME environments. It removes complex protocol features such as XML namespaces, schemas, and advanced message patterns, retaining only the core request-response messaging capability. This extraction reduces processing requirements while maintaining compatibility with standard J2EE services

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional approach by having the server-side mediator handle protocol complexity rather than the client. The J2ME client uses a simplified protocol, while the mediator on the server side translates these simple messages into full SOAP/XML messages for J2EE services, thereby protecting resource-constrained clients from processing heavy protocol overhead

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

4Loss of energy

If network traffic is minimized for thin clients, then bandwidth consumption is reduced, but communication flexibility decreases

Engineering Contradiction:
Improvenetwork bandwidthVSAvoidcommunication flexibility
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent merges multiple communication requests into single network transactions where possible. The protocol supports batching multiple service calls in one message and consolidating responses, thereby reducing total network traffic while maintaining the ability to handle diverse service types. The mediator coordinates these merged requests to ensure all necessary services are accessed efficiently

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8775649B2Optimizing client code through automated server specialization
Publication Date: 2014.07.08 SUN MICROSYSTEMS INC
  • US8775649B2 patent drawing
  • US8775649B2 patent drawing
  • US8775649B2 patent drawing

AI summary

Improved end-to-end server-client communication is achieved, wherein a thin client requests services from a server using a condensed optimized protocol. A mediator is provided on the server, which translates encoded messages from the client into standard web service request formats. Results are re-encoded at the server and returned to the client. A code generator is provided to automatically create optimized and specialized client and server code using templates, in which the code is optimized according to the characteristics of the client and the specified services. Grouped messages are supported. Bandwidth consumption is reduced by the technique, which increases the performance of resource-constrained clients, such as small wireless devices.