Remote Process Code Execution for Network Devices
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If code is developed and tested with actual production data, then code robustness is improved, but risk of undesirable operation in production increases
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.
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.
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
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.
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.
4Reliability
If code development follows conventional physical testing methods, then code correctness is verified, but productivity and deployment speed decrease
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.
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.
Data Source
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.


