Application Threads for Network Testing Script Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional network testing systems face performance limitations due to excessive resource consumption when executing a large number of threads, which restricts the number of test scripts that can be executed, especially when stressing devices under heavy network traffic conditions.
Innovation Solution
The use of application threads instead of traditional operating system threads, along with an I/O multiplexor and protocol engines, allows for more efficient execution of test scripts by reducing memory and processor requirements, enabling the concurrent execution of many more scripts to fully stress devices and maximize bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional operating system threads are used to execute test scripts, then the system can handle multiple test scenarios, but resource consumption (memory and processor) increases excessively
Solution Approach 1:
The patent segments the thread execution model by creating a master thread that manages multiple worker threads. Each worker thread is dedicated to executing specific test scripts, allowing the system to divide and conquer the resource management problem. This segmentation enables better control over memory and processor usage while maintaining the ability to execute multiple test scripts concurrently.
Solution Approach 2:
The master thread serves multiple functions: it coordinates worker threads, manages test script distribution, and handles result aggregation. This multi-functionality reduces the need for separate management threads for each test script, thereby reducing overall resource consumption while maintaining versatility in executing multiple test scenarios.
2Productivity
If more test scripts are executed concurrently to stress devices, then testing coverage improves, but system performance degrades due to resource limitations
Solution Approach 1:
The patent implements continuous test script execution through a coordinated master-worker thread architecture. The master thread continuously assigns test scripts to available worker threads, ensuring that testing coverage is maximized without idle time. This continuous action maintains high productivity while managing system resources efficiently through the structured thread pool.
Solution Approach 2:
The system employs a pool of worker threads that can be dynamically adjusted based on system capacity. Rather than creating threads for every possible test script simultaneously, the system activates only the necessary number of worker threads based on available resources, achieving partial action that balances productivity with system performance.
3Speed
If the number of threads is increased to handle more test scripts, then concurrent execution capability improves, but memory and processor requirements increase
Solution Approach 1:
The patent implements a dynamic thread pool where the number and state of worker threads can be adjusted based on system conditions. Threads can be created, suspended, or terminated dynamically to match the current testing workload and system capacity. This dynamic approach maintains high concurrent execution capability while adapting memory and processor requirements to actual needs rather than maintaining a fixed high thread count.
Data Source
AI summary
Simulating a large number of users is described. A method may include receiving a test script including a plurality of commands and invoking a script interpreter. An application thread may be launched to execute the test script. A protocol engine may be invoked for each of the commands in the test script such that each protocol engine has an associated command. Each protocol engine may execute its associated command. A system on which the method may be executed may include one or more chassis or computing devices having one or more network cards. The chassis and/or computing devices may be connected to one or more networks.


