Platform Independent Launchable Applications via Virtual Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional launchable applications are difficult to develop in a platform-independent manner, as they often require access to specific machine-dependent interfaces, limiting their cross-platform compatibility and necessitating individual development for each target platform.

Innovation Solution

The method involves combining a Virtual Machine with abstraction layers to create platform-independent launchable applications, allowing developers to write source code once for multiple platforms, with automatic generation of platform-specific executables and configuration files, enabling cross-platform execution through a cross-platform executable running on a virtual machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional launchable applications use platform-specific interfaces, then the application can access machine-dependent interfaces directly, but the application cannot run on multiple platforms and requires individual development for each platform

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a Virtual Machine as an intermediary layer between the platform-independent application code and the platform-specific hardware interfaces. The Virtual Machine provides a standardized interface that translates platform-independent commands into platform-specific operations, enabling the same application to run on multiple platforms without requiring platform-specific development for each target system

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal application interface through the Virtual Machine that can execute the same application code across different platforms. The Virtual Machine itself is designed to be multi-functional, supporting multiple target platforms while maintaining a consistent interface for the application, thereby achieving cross-platform compatibility without requiring separate development for each platform

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

2Reliability

If launchable applications are developed individually for each platform, then the application can be optimized for specific platform requirements, but the development time and code maintenance increase significantly

Engineering Contradiction:
Improveplatform-specific optimizationVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the system into two distinct parts: platform-independent application code and platform-specific Virtual Machine implementations. The application code remains unchanged across platforms, while each platform has its own Virtual Machine optimized for that platform's hardware characteristics. This segmentation allows the application to be developed once and then deployed to multiple platforms without requiring re-development for each platform

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses the concept of copying by creating platform-specific Virtual Machines that replicate the functionality needed for each target platform. Instead of copying the entire application for each platform, the same application is copied and executed through different Virtual Machine implementations, reducing development time while maintaining platform-specific optimizations

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If platform-specific executables are generated for each platform, then the application can leverage platform-specific features, but the code base becomes larger and more difficult to maintain

Engineering Contradiction:
Improveplatform feature utilizationVSAvoidcode base complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The Virtual Machine serves as an intermediary that handles the complexity of platform-specific feature access. The application code interacts with the Virtual Machine through a standardized interface, and the Virtual Machine translates these interactions into platform-specific operations. This keeps the code base small and manageable while still allowing utilization of platform-specific features through the Virtual Machine's platform-aware implementation

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7610577B1Method for developing platform independent launchable applications
Publication Date: 2009.10.27 ORACLE AMERICAN INC
  • US7610577B1 patent drawing
  • US7610577B1 patent drawing
  • US7610577B1 patent drawing

AI summary

A method, computer program product, and system for providing launchable application source code are presented. A determination is made regarding which target platforms a launchable application executable will be run on. Once the platforms have been determined, a cross platform executable is generated using the launchable application source code. Platform specific executables are also generated for each selected platform. The cross platform executable is then combined with the platform specific executable for the platform to provide the platform independent launchable application. The platform specific executable is launched by an Operating System as part of a system service, such as a screensaver, and calls the cross platform executable which is executed on a virtual machine running on the platform.