Scripting Executor Service for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesoftware development flexibilityVSAvoidsupport stack complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #5Merging (Combining)

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

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

2Productivity

If libraries are loaded repeatedly for each script execution, then script execution can be performed, but execution time increases

Engineering Contradiction:
Improvescript execution throughputVSAvoidlibrary loading time
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #20Continuity of useful action

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

Engineering Contradiction:
Improveremote script execution capabilityVSAvoidnetwork security risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8904388B2Scripting language executor service for applications
Publication Date: 2014.12.02 EMC IP HLDG CO LLC
  • US8904388B2 patent drawing
  • US8904388B2 patent drawing
  • US8904388B2 patent drawing

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.