Automatic Cloud Application Porting via Bytecode Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

When deploying software applications to a cloud computing environment, existing technologies often require manual adaptation to align with the environment's features, which can be time-consuming and prone to security risks due to incompatible service usages, such as the use of JAVAMAIL, necessitating a method for automatic porting to ensure seamless deployment.

Innovation Solution

A system and method for automatic porting of software applications into a cloud computing environment, utilizing deployment logic to identify incompatible service usages and replacing them with cloud-supported services, such as REST-based e-mail services, through bytecode analysis and injection of handlers or extensions, allowing transparent modification without requiring developer intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual adaptation is used to align application service usages with cloud environment features, then compatibility and security are improved, but deployment time and complexity increase

Engineering Contradiction:
ImprovecompatibilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing bytecode analysis and automatic porting operations during the deployment phase rather than requiring manual pre-adaptation. The system proactively identifies incompatible service usages (like JAVAMAIL) and automatically replaces them with cloud-supported alternatives before the application runs, eliminating manual adaptation time while ensuring compatibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by enabling applications to automatically adapt themselves to the cloud environment without human intervention. The bytecode analysis engine automatically detects incompatible service calls and the porting engine automatically generates replacement code, allowing the application to self-correct its service usages to match cloud environment capabilities.

Inventive Principle:
Principle #25Self-service

2Object-affected harmful factors

If manual adaptation is performed to replace incompatible service usages, then security risks are reduced, but labor intensity and error potential increase

Engineering Contradiction:
Improvesecurity risksVSAvoiddeveloper effort
Core Design Contradiction:
Object-affected harmful factorsVSEase of operation

Solution Approach 1:

The patent replaces manual mechanical work (developer effort) with an automated computational system. The bytecode analysis engine and porting engine automatically perform the work of identifying and replacing incompatible service usages like JAVAMAIL, eliminating manual labor while maintaining security. This substitution reduces both developer effort and the potential for human error.

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

Solution Approach 2:

The system introduces an intermediary automated porting system between the application and the cloud environment. This intermediary analyzes the application's bytecode, identifies security risks from incompatible service usages, and automatically generates ported code that eliminates these risks without requiring direct manual intervention from developers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automatic porting is implemented to replace incompatible service usages, then deployment efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the complex porting process into distinct modular components: a bytecode analysis engine that identifies incompatible service usages, a porting engine that generates replacement code, and a deployment system that integrates the changes. This segmentation manages system complexity by organizing functions into separate, manageable modules while maintaining high deployment efficiency through their coordinated operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system achieves universality by creating a general-purpose automatic porting framework that can handle multiple types of incompatible service usages (JAVAMAIL, other legacy services) across different applications. The bytecode analysis engine and porting engine work universally with any Java application, reducing the need for application-specific manual adaptation processes and improving overall deployment efficiency.

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

Data Source

PatentUS10007515B2System and method for automatic porting of software applications into a cloud computing environment
Publication Date: 2018.06.26 ORACLE INT CORP
  • US10007515B2 patent drawing
  • US10007515B2 patent drawing
  • US10007515B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for automatic porting of software applications into a cloud computing environment (cloud environment, cloud). A cloud service enables software developers to deploy user applications to run within the cloud environment. When a user application is deployed to the environment, a deployment logic determines those aspects of the application, such as certain service usages, that may be incompatible with features provided by the environment, or that should use a particular cloud service, and automatically ports the application, including the use of one or more handlers or extensions, for use within the environment. For example, a user application may have been originally developed to use JAVAMAILâ„¢, which presents a security risk in a cloud environment. To minimize such risk, the application can instead be ported to use, for example, a REST-based e-mail service supported by the cloud environment.