Web Server Debugging via Logic Insight Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-user webserver environments, developers face challenges in debugging code while users are executing code in runtime mode, as the virtual machine can only operate in either debugging or runtime mode at a given time, affecting all users.

Innovation Solution

The implementation of logic insight injected code, which compiles business logic code to include debugging functionality, allowing it to be executed as a logic insight thread concurrently with runtime threads without affecting their execution, enabling real-time debugging without switching the virtual machine to debugging mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the virtual machine operates in debugging mode to allow developers to debug code, then debugging functionality is improved, but runtime execution for other users is affected and cannot proceed simultaneously

Engineering Contradiction:
Improvedebugging functionalityVSAvoidruntime execution
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the execution environment by creating separate thread types: runtime threads for user code execution and logic insight threads for debugging operations. These threads operate independently within the same virtual machine, allowing debugging activities to be isolated from runtime execution. The segmentation enables concurrent operation of both debugging and runtime modes without mutual interference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine is designed to perform multiple functions simultaneously by supporting both runtime threads and logic insight threads. The same virtual machine infrastructure handles both user code execution and developer debugging activities, making it universal in its capabilities. This multi-functionality resolves the contradiction by allowing the system to serve both runtime and debugging needs without requiring separate systems.

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

2Productivity

If the virtual machine operates in runtime mode to execute user code, then productivity is improved, but debugging functionality becomes unavailable for developers

Engineering Contradiction:
Improveruntime executionVSAvoiddebugging functionality
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces logic insight threads as intermediary elements that enable debugging functionality within the runtime mode. These special threads act as mediators between the developer's debugging requests and the virtual machine's runtime execution environment. The logic insight threads provide debugging capabilities without requiring the virtual machine to switch to debugging mode, thus maintaining runtime productivity while enabling debugging access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If debugging mode is activated for one user, then debugging functionality is improved, but other users must also use debugging mode and cannot execute code in runtime mode

Engineering Contradiction:
Improvedebugging functionalityVSAvoidmode flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments debugging operations into individual logic insight threads that are specific to each developer's needs. Each logic insight thread is associated with a particular developer's debugging activities and operates independently. This segmentation allows different users to have different operational modes simultaneously: some users can execute code in runtime mode while others perform debugging in logic insight mode, within the same virtual machine instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the operational mode for different threads based on user needs. The virtual machine can have multiple threads running in different modes concurrently: runtime threads for production execution and logic insight threads for debugging. This dynamic flexibility allows the system to adapt to varying requirements of different users simultaneously, resolving the contradiction between debugging functionality and mode flexibility.

Inventive Principle:
Principle #15Dynamics

4Productivity

If runtime threads are executed for multiple users, then productivity is improved, but the ability to provide debugging functionality to developers is reduced

Engineering Contradiction:
Improveconcurrent executionVSAvoiddebugging accessibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the thread execution model into two distinct categories: runtime threads for user code execution and logic insight threads for debugging operations. Both types of threads can execute concurrently in the same virtual machine. The logic insight threads are specifically designed to provide debugging functionality without interfering with the runtime threads. This segmentation enables developers to access debugging capabilities even when multiple users are executing code in runtime mode, resolving the contradiction between concurrent execution and debugging accessibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine achieves multi-functionality by supporting both runtime execution and debugging operations through different thread types. The same virtual machine infrastructure serves multiple purposes: executing user code in runtime threads and providing debugging services through logic insight threads. This universal design allows the system to maintain high productivity through concurrent runtime execution while simultaneously providing debugging accessibility to developers when needed.

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

Data Source

PatentUS9514026B2Debugging analysis in running multi-user systems
Publication Date: 2016.12.06 ORACLE INT CORP
  • US9514026B2 patent drawing
  • US9514026B2 patent drawing
  • US9514026B2 patent drawing

AI summary

Various arrangements for debugging logic being executed by a webserver is presented. A virtual machine of the webserver may execute runtime threads for a plurality of remote users. The web server may compile business logic code received from a developer computer system via a web-based interface into an logic insight injected code. The logic insight injected code may be compiled from the business logic code to include debugging functionality. The virtual machine of the webserver may execute the logic insight injected code concurrently with the runtime threads being executed for the plurality of remote users. The debugging functionality of the logic insight injected code being executed may not affect execution of the runtime threads for the plurality of users.