Dynamic Application Portability Verification via Debugging Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity and cost of developing and deploying enterprise-level computer system applications are increased due to the need for scalability, high availability, and interoperability, with traditional portability verification tools requiring access to source code and modifications to application server code, making it difficult to ensure application portability across different platforms.

Innovation Solution

A system and method for dynamic verification of application portability using a debugging interface that allows a portability verification tool to determine non-portable behavior without modifying the application or application server code, generating reports on portability and code coverage without requiring cumbersome changes to the runtime environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional portability verification tools are used, then portability can be verified, but source code access and modifications to application server code are required

Engineering Contradiction:
Improveportability verification accuracyVSAvoidverification process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a portability verifier that acts as an intermediary component deployed within the application server runtime environment. This verifier monitors application execution dynamically and collects evidence about portability violations without requiring direct access to source code or modification of the application server code itself. The intermediary approach allows verification to occur at the runtime level, resolving the contradiction between verification accuracy and process complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the traditional mechanical approach of source code analysis and static verification with a dynamic runtime monitoring system. Instead of mechanically parsing source code files and checking for portability issues through compilation-time analysis, the system uses dynamic instrumentation and runtime event monitoring to detect portability violations as they occur during application execution. This substitution eliminates the need for source code access while maintaining verification capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If traditional portability verification tools are used, then portability can be checked, but application server code modifications are required

Engineering Contradiction:
Improveportability verification accuracyVSAvoidverification implementation ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The portability verifier is designed to be self-deploying within the application server environment. It automatically installs itself as a runtime component, configures its monitoring capabilities, and begins collecting portability evidence without requiring manual intervention or modification of the application server code. The system serves itself by leveraging existing runtime hooks and event mechanisms already present in the application server, eliminating the need for verification implementation ease to be compromised.

Inventive Principle:
Principle #25Self-service

3Reliability

If source code modifications are made for verification, then verification can be performed, but development time increases

Engineering Contradiction:
Improveportability verification accuracyVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs portability verification activities during the normal application execution and testing phases, rather than requiring separate verification steps that would extend the development timeline. By instrumenting the runtime environment in advance and continuously monitoring application behavior, the system captures portability evidence as part of regular testing operations. This preliminary action approach ensures verification occurs concurrently with development activities, eliminating additional time losses.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If application server code is modified for verification, then portability can be verified, but the application server must be restarted

Engineering Contradiction:
Improveportability verification accuracyVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The portability verifier operates dynamically within the running application server environment, monitoring application execution in real-time without requiring server restarts. The system leverages runtime event mechanisms, thread hooks, and process monitoring capabilities that function continuously during normal operation. This dynamic approach allows verification to occur while the application server remains operational, eliminating productivity losses associated with repeated restarts and maintaining high verification efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7774757B1Dynamic verification of application portability
Publication Date: 2010.08.10 ORACLE AMERICAN INC
  • US7774757B1 patent drawing
  • US7774757B1 patent drawing
  • US7774757B1 patent drawing

AI summary

A system and for dynamic verification of application portability may include an application server configured to support a debugging interface, an application deployed on the application server, and a portability verification tool. The portability verification tool may be configured to invoke the debugging interface during an execution of the application to determine whether the application violates one or more specified portability criteria during the execution.