Parallel Code Execution Engine for Safe Runtime Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In open development environments, untested code modules from inexperienced coders can destabilize production systems, and existing validation methods delay contributions by requiring manual review and lack real-time feedback on code performance.

Innovation Solution

A system that instantiates a duplicate execution engine to run new code modules in parallel with trusted modules, monitoring performance and stability, and merging results to ensure safe integration without impacting the production engine until the new module is proven stable.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If untested code modules from inexperienced coders are allowed to run directly in production systems, then code contribution speed and developer productivity improve, but system stability and reliability deteriorate

Engineering Contradiction:
Improvecode contribution speedVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the production environment into two distinct execution contexts: a protected sandbox environment for untested code and a production environment for verified code. This segmentation allows inexperienced coders to contribute code rapidly while isolating potential stability issues to the sandbox environment, preventing them from affecting overall system stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A code execution management system acts as an intermediary between code submission and production deployment. This intermediary automatically validates code syntax, monitors execution in the sandbox environment, and only promotes code to production after verifying it meets stability criteria, thus maintaining both productivity and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual review and validation processes are implemented for code modules, then system reliability improves, but code integration time and productivity deteriorate

Engineering Contradiction:
Improvecode validation accuracyVSAvoidcode integration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements self-service validation where the code execution management system automatically performs syntax validation, executes code in sandbox environments, and monitors performance metrics without requiring manual reviewer intervention. This automated self-validation process maintains high reliability while minimizing code integration time.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary validation actions automatically upon code submission, including syntax checking and sandbox execution. By completing validation steps before production deployment, the system ensures reliability without adding manual review delays, as the validation occurs automatically in the background.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If code modules are executed in a protected sandbox environment, then system stability is maintained, but real-time feedback and performance monitoring capabilities are reduced

Engineering Contradiction:
Improveproduction system stabilityVSAvoidcode performance context
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system implements feedback mechanisms that monitor code execution in sandbox environments and automatically report performance metrics, stability issues, and validation results. This feedback loop provides real-time information about code performance while maintaining sandbox isolation, allowing the system to maintain stability without losing performance context.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system merges the sandbox environment with the production environment through a unified code execution management system. This allows code to be executed and monitored in both environments, combining the stability benefits of sandbox isolation with the performance monitoring capabilities of production execution once code is verified.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If multiple code modules are executed in parallel, then processing efficiency and productivity improve, but system complexity and difficulty of monitoring increase

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidexecution environment complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments parallel code execution into isolated sandbox instances, each running independently with its own resource allocation. This segmentation enables multiple code modules to execute in parallel while maintaining manageable complexity through clear boundaries and independent execution contexts for each sandbox instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The code execution management system provides universal functionality that handles multiple parallel executions, resource allocation, and monitoring through a single unified interface. This multi-functional system manages the complexity of parallel execution internally while presenting a simplified interface to users.

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

Data Source

PatentUS10509715B2Automatic classification and parallel processing of untested code in a protected runtime environment
Publication Date: 2019.12.17 CISCO TECHNOLOGY INC
  • US10509715B2 patent drawing
  • US10509715B2 patent drawing
  • US10509715B2 patent drawing

AI summary

A system is provided to run new code modules safely in a duplicative, protected environment without affecting the code modules that are already trusted to be on the system. The system receives a new code module that validates operational data of a computing device, and instantiates a new, parallel execution engine to run the new code module on the operational data in parallel with another execution engine running the trusted/verified code modules that also validate the same operational data. The new engine runs the new code module with the operational data to produce new code module results. The production engine runs the trusted/verified code modules with the operational data to produce verified code module results. The new code module results are combined with the verified code module results to produce combined results describing the operational status of the computing device.