JSP Splitting Apparatus for Web Application Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for splitting application logic in web page creation, such as JSP and ASP, require manual labor and are inefficient, as they do not account for correctly executing fragments after splitting, leading to execution issues and increased overhead.

Innovation Solution

A program editing apparatus and method that automatically splits application logic by analyzing data and control dependencies, allowing for the creation of new program files that maintain functionality and minimize split portions, ensuring the split files perform the same actions as the original, using a user interface to specify split objects and determining accompanying portions for accurate splitting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If application logic is manually split by developers, then the split operation can be performed, but it requires a lot of labor and time

Engineering Contradiction:
Improveease of splitting application logicVSAvoidtime required for manual splitting
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The system performs automatic splitting of application logic by analyzing data and control dependencies within the program itself, eliminating the need for manual developer intervention. The apparatus autonomously identifies splittable portions and generates the necessary code modifications.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual process of splitting application logic with an automated computational system that uses dependency analysis algorithms to identify and execute the splitting operation programmatically.

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

2Extent of automation

If existing program slicing technology is used to mechanically create program slices, then the split operation can be automated, but the remaining fragment cannot be executed correctly without manual modification

Engineering Contradiction:
Improveautomation of split operationVSAvoidexecutability of remaining fragment
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The system analyzes data and control dependencies to determine the minimal set of statements that must be moved with the sliced portion to ensure correct execution. This feedback mechanism ensures that the remaining fragment maintains executability without requiring manual modification.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The apparatus performs preliminary dependency analysis before executing the split operation, identifying all statements that affect or are affected by the target slice. This preliminary action ensures that necessary modifications are prepared in advance to maintain correct execution of the remaining fragment.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If application logic is not split, then the code structure remains simple, but cache efficiency is lowered due to frequent changes invalidating the entire cached web page

Engineering Contradiction:
Improvesimplicity of code structureVSAvoidcache efficiency
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The patent divides the monolithic application logic into separate, independently executable fragments based on data and control dependencies. This segmentation allows individual fragments to be cached separately, so that changes in one fragment do not invalidate the cache for other unchanged fragments, thereby improving cache efficiency.

Inventive Principle:
Principle #1Segmentation

4Productivity

If application logic is split into multiple fragments, then cache efficiency and load sharing improve, but the complexity of determining what to split increases

Engineering Contradiction:
Improvecache efficiency and load sharing performanceVSAvoidcomplexity of split determination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces complex manual analysis with an automated dependency analysis system that systematically identifies splittable fragments by examining data and control dependencies, thereby reducing the perceived complexity while achieving optimal splitting.

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

Solution Approach 2:

The system changes the analysis parameters by focusing specifically on data and control dependencies rather than attempting to consider all possible factors, thereby simplifying the determination process while still achieving effective fragmentation for cache and load sharing optimization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7712079B2Program editing apparatus, program editing method, and program for splitting a program file
Publication Date: 2010.05.04 X CORP
  • US7712079B2 patent drawing
  • US7712079B2 patent drawing
  • US7712079B2 patent drawing

AI summary

A program editing apparatus includes a user interface control unit, a JSP analysis unit, and a split execution unit. The user interface control unit accepts an input of a split object instruction which specifies a portion to be split off from a JSP file to be processed. The JSP analysis unit determines an accompanying split portion which is split off together with the portion specified by the split object instruction. The split execution unit splits off the portion specified by the split object instruction and the accompanying split portion from the original JSP file. The JSP analysis unit analyzes dependence of variables and objects in the JSP file and splits off a copyable portion by copying. Thus, a program file after split is ensured to operate the same as the program file to be processed.