Object-Oriented API for MIDlet Data Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current J2ME MIDlets on mobile devices are limited in their ability to exchange data with other MIDlets or non-MIDlet applications due to security constraints and sandbox limitations, restricting the complexity and functionality of applications that can be created.

Innovation Solution

An object-oriented application program interface is introduced to enable input and output data communication between J2ME MIDlets in different MIDlet Suites and between MIDlets and non-MIDlet applications, allowing for the creation of more complex and interactive applications by allowing MIDlets to accept and provide data across different suites and applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If MIDlets are confined to sandbox security areas, then device security is improved, but data exchange capability between MIDlets and non-MIDlet applications deteriorates

Engineering Contradiction:
Improvedevice securityVSAvoiddata exchange capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an application manager as an intermediary component that mediates between MIDlets in sandboxes and non-MIDlet applications. The application manager receives data from MIDlets, manages the data exchange process, and delivers it to external applications, thereby enabling communication while maintaining sandbox security boundaries intact

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data exchange process into distinct components: data generation within the sandboxed MIDlet, data handoff to the application manager, and data delivery to external applications. This segmentation allows each component to operate within its security boundaries while achieving overall system functionality

Inventive Principle:
Principle #1Segmentation

2Reliability

If MIDlet Suites are kept separate and independent, then security boundaries are maintained, but application complexity and interactivity are limited

Engineering Contradiction:
Improvesecurity boundary integrityVSAvoidapplication complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal data exchange mechanism through the application manager that can handle multiple types of data and support various MIDlet-to-application communication scenarios. This universal interface enables complex application functionality while maintaining the same security boundaries

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

3Object-affected harmful factors

If Java virtual machine sandboxing is used, then malicious operations are prevented, but interaction between different MIDlet Suites is restricted

Engineering Contradiction:
Improvemalicious operations preventionVSAvoidinter-suite interaction
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

The application manager serves as a trusted intermediary that receives data from sandboxed MIDlets and delivers it to external applications. This mediator approach allows interaction between different MIDlet Suites and external applications while the sandbox continues to prevent malicious operations within the MIDlet code

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7568202B1Method and system for exchanging data between portable applications for mobile devices
Publication Date: 2009.07.28 SUN MICROSYSTEMS INC
  • US7568202B1 patent drawing
  • US7568202B1 patent drawing
  • US7568202B1 patent drawing

AI summary

A mobile information device may execute a Java MIDlet or a non-MIDlet application. The mobile information device may further include an object-oriented application program interface that allows one or more object-oriented object classes to allow input and output data to be communicated between Java MIDlets in different MIDlet Suites and between non-MIDlet applications.