Scripting Executor Service for Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for executing scripts on virtual machines are inefficient due to the need for repeated library loading and lack of native APIs for administrative operations, leading to increased execution time and complexity.
Innovation Solution
A method and system that utilize an executor service to load libraries once and establish a persistent connection to a virtual machine management center, allowing scripts to be executed remotely on multiple virtual machines with or without an agent available, using a command queue and secure message module for efficient and secure execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If scripts are executed on virtual machines using traditional methods with separate support stacks for compiled languages and run-time interpreters, then software applications can be developed with flexibility, but system complexity increases and execution efficiency decreases
Solution Approach 1:
The patent merges the support stacks for compiled languages and scripting languages into a unified execution environment. The script executor service integrates with the application support stack, allowing both Java/C++ applications and PowerShell/bash scripts to be executed through a common infrastructure, thereby reducing overall system complexity while maintaining versatility
Solution Approach 2:
The script executor service is designed to be universal, supporting multiple scripting languages (PowerShell, bash, and others) through a single service component. This multi-functional approach eliminates the need for separate support stacks for different scripting languages, reducing complexity while preserving adaptability
2Productivity
If libraries are loaded repeatedly for each script execution, then script execution can be performed, but execution time increases
Solution Approach 1:
The script executor service performs preliminary actions by loading required libraries once during service initialization rather than repeatedly for each script execution. This pre-loading approach caches the libraries in memory, allowing subsequent script executions to proceed without the overhead of repeated library loading, thereby reducing execution time while maintaining productivity
Solution Approach 2:
The service maintains continuous operation with libraries loaded in memory throughout its runtime, eliminating the need to repeatedly load and unload libraries for each script. This continuous state of readiness ensures that script executions can proceed efficiently without intermittent library loading delays
3Ease of operation
If firewall ports are opened for script execution on virtual machines, then remote script execution is enabled, but network security is compromised
Solution Approach 1:
The script executor service acts as an intermediary between the management system and virtual machines for script execution. Instead of opening firewall ports on virtual machines, the service receives scripts from the management system and executes them locally on target virtual machines through secure inter-process communication, thereby enabling remote execution without exposing virtual machines to external network threats
Data Source
AI summary
A method and system for executing scripts on virtual machines is provided. The system includes an executor service that accepts scripts, parameters, authentication information from another process that needs to invoke a script on a target virtual machine (or group of virtual machines). The executor service remains running even after a script has completed execution. The executor service accepts any number of scripts and places them in a command queue. Agents running on the target virtual machine(s) check-in with the executor service to receive scripts from the command queue. Also, the executor service may directly invoke a script using a persistent connection to a virtual machine management center.


