Bootstrap Agent for Dynamic Virtual Machine Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current agent deployment systems for e-commerce applications require significant configuration changes, manual copying of files, and local storage, making them complex and intrusive, especially in large-scale distributed systems.

Innovation Solution

A method for dynamically injecting in-process agents into virtual machine-based applications using a bootstrap agent that connects to a remote management server, allowing for automated deployment of bytecode or native code binaries without altering the application configuration, and enabling access to application data and resources without inter-process or network overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If current agent deployment approaches are used for virtual machine based systems, then agents can be deployed to monitored applications, but significant configuration changes and manual file copying are required, increasing system complexity

Engineering Contradiction:
Improveagent deployment automationVSAvoidconfiguration management complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

A bootstrap agent is introduced as an intermediary component that automatically connects to a management server, retrieves in-process agent binaries, and installs them without requiring manual configuration changes or file copying. The bootstrap agent serves as a mediator between the management server and the target application, automating the entire deployment process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service deployment where the bootstrap agent automatically performs the deployment tasks without human intervention. The management server provides the in-process agent binaries through network connections, and the bootstrap agent autonomously handles the installation process, eliminating the need for manual configuration modifications.

Inventive Principle:
Principle #25Self-service

2Productivity

If multiple files are copied locally to servers for agent deployment, then agents can be installed, but the process becomes time-consuming and error-prone in large-scale systems

Engineering Contradiction:
Improvedeployment speedVSAvoidmanual file copying time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The manual mechanical process of copying multiple files locally is replaced with an automated network-based system. The management server transmits in-process agent binaries through network connections to the bootstrap agent, which then installs them automatically, eliminating manual file copying operations entirely.

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

Solution Approach 2:

The bootstrap agent serves multiple functions: it connects to the management server, retrieves agent binaries, verifies compatibility, and performs installation. This multi-functional approach consolidates what would otherwise require multiple separate manual operations into a single automated process.

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

3Ease of operation

If application configuration is altered for agent deployment, then agents can be deployed, but the application integrity and stability may be compromised

Engineering Contradiction:
Improveagent deployment easeVSAvoidapplication stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The deployment system is segmented into separate components: the bootstrap agent, the management server, and the in-process agents. This segmentation allows the deployment mechanism to be isolated from the application configuration, enabling agent installation without modifying the application's core configuration files or stability-critical settings.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bootstrap agent acts as an intermediary that handles all deployment-related operations externally to the application configuration. It communicates with the management server and installs agents through the virtual machine's existing interfaces, avoiding direct modification of application configuration files.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If agents are deployed in large-scale distributed systems with thousands of servers, then comprehensive monitoring is possible, but management and maintenance become highly complex

Engineering Contradiction:
Improvenumber of monitored applicationsVSAvoidsystem management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The management server provides universal functionality to manage agents across all servers in the distributed system. A single management server can serve thousands of servers by providing standardized interfaces and automated deployment mechanisms, eliminating the need for individual management of each server.

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

Solution Approach 2:

The bootstrap agents on each server perform self-service deployment operations by automatically connecting to the management server, retrieving appropriate agent binaries, and installing them locally. This eliminates the need for centralized manual management of each individual server, reducing overall system management complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8151277B2Method and system for dynamic remote injection of in-process agents into virtual machine based applications
Publication Date: 2012.04.03 DYNATRACE LLC
  • US8151277B2 patent drawing
  • US8151277B2 patent drawing
  • US8151277B2 patent drawing

AI summary

A method and system for dynamic and adaptive deployment of in-process agents to virtual machine based applications which may run on remote hosts is provided. A bootstrap agent is injected into the application, using standardized interfaces provided by virtual machine based systems like SUN MICROSYSTEMS' JAVA system or MICROSOFT's .NET system. The bootstrap agent establishes a network connection to a management server which provides binaries representing in-process agents in bytecode or native code format. The bootstrap agent sends data identifying its runtime environment to the management server, which determines the matching in-process agent binaries for the runtime environment of the connected agent and sends the selected binaries to the bootstrap agent. The bootstrap agent receives the binaries and installs them to its hosting virtual machine, according to their format (bytecode or native code).