Remote Process Code Execution for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development and testing of computer code for network devices is resource-intensive and time-consuming, often resulting in unsupported devices or only supported for older versions, due to the challenges of testing with actual production data and detecting undesirable operations in downstream systems.

Innovation Solution

A system that allows executable code to be provided to a remote data processing device, enabling the execution of process code with input data from a production environment, while also allowing creation, modification, and testing of code in a development environment, with the ability to selectively route input data and suppress output, facilitating real-time testing with actual or test data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code is developed and tested physically with network devices in production environment, then code reliability is improved, but development time and resource consumption increase significantly

Engineering Contradiction:
Improvecode reliabilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a virtual copy of the network device that replicates its data processing behavior. This virtual device allows code to be tested with actual production data patterns without requiring physical access to the production network device, thereby reducing development time while maintaining testing accuracy.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a data processing device that acts as an intermediary between the production environment and the development/testing environment. This intermediary captures production data and makes it available for testing code against virtual devices, eliminating the need to physically connect test equipment to production devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If code is developed and tested with actual production data, then code robustness is improved, but risk of undesirable operation in production increases

Engineering Contradiction:
Improvecode robustnessVSAvoidrisk of undesirable operation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

By creating virtual copies of network devices, the patent enables testing with real production data patterns in an isolated environment. This allows robustness validation without exposing the actual production system to potential harmful effects of untested code changes.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs code testing and validation in advance using virtual devices before deploying code to production. This preliminary action identifies and corrects potential issues before they can cause undesirable operation in the live production environment.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If physical test apparatus is connected to production network devices, then code testing accuracy is improved, but device complexity and resource requirements increase

Engineering Contradiction:
Improvetesting accuracyVSAvoidtest apparatus complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces complex physical test apparatus with a virtual device that replicates the network device's data processing behavior. This virtual copy maintains testing accuracy while eliminating the need for complicated physical test equipment and connections.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent substitutes mechanical/physical test connections with data-based virtual testing. Instead of physically connecting test apparatus to production devices, the system uses data capture and virtualization to achieve the same testing objectives with reduced complexity.

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

4Reliability

If code development follows conventional physical testing methods, then code correctness is verified, but productivity and deployment speed decrease

Engineering Contradiction:
Improvecode correctnessVSAvoiddeployment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The virtual device copy enables parallel testing and development activities without blocking production operations. Multiple code versions can be tested simultaneously against the same production data patterns, accelerating development iterations while maintaining correctness verification.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent enables continuous code development and testing by using virtual devices that can operate independently of production device availability. Code testing can proceed continuously without interrupting production operations, thereby improving productivity while maintaining verification quality.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10171584B2Systems, methods, and devices for providing process code to remote devices
Publication Date: 2019.01.01 MARTELLO TECH CORP
  • US10171584B2 patent drawing
  • US10171584B2 patent drawing
  • US10171584B2 patent drawing

AI summary

A data processing device, such as a monitoring agent, runs process code to process input data captured from a data source of a production environment, such as managed network devices. The process code can be created on or modified at a terminal of a development environment remote from the data processing device. The input data can be routed to the development environment to test the process code with actual data. The development environment can also provide test data to the process code to test edge cases and other situations. The output of the process code running in the development environment can be routed to the data processing device for output to downstream systems as if generated by the data processing device. Once the process code is operating satisfactorily at the development environment, the process code can be transmitted to the data processing device for execution in the production environment.