Distributed Application Discovery via Stream Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current distributed computing systems lack intuitive and effective administration and management tools for monitoring and managing distributed applications, particularly in cloud-computing facilities, due to the complexity of identifying and managing computational resources that comprise these applications.
Innovation Solution
The implementation of unsupervised machine-learning approaches and rule-based systems to discover distributed applications within distributed computing environments, using agents within virtual machines to collect and filter information, and stream processors to generate data representations of processes and communications connections, enabling periodic application discovery and identification of virtual machine tiers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If automated distributed-application deployment and management tools are used, then management operations can be performed at virtual machine and infrastructure levels, but the tools cannot provide application-level monitoring and management capabilities
Solution Approach 1:
The patent replaces manual identification methods with unsupervised machine-learning approaches and rule-based systems to automatically identify application components. The system uses algorithms to analyze communication patterns and process relationships, substituting mechanical/manual analysis with automated computational methods that can handle the complexity of distributed applications.
Solution Approach 2:
The patent introduces an intermediary application-discovery subsystem that bridges the gap between infrastructure-level tools and application-level management. This subsystem acts as a mediator that translates low-level virtual machine and process data into high-level application component information, enabling application-level management without directly modifying existing infrastructure tools.
2Measurement precision
If manual identification of computational resources is performed, then precise application component mapping can be achieved, but the process is labor-intensive and error-prone
Solution Approach 1:
The patent implements self-service through automated machine-learning algorithms that independently identify and map application components without human intervention. The system autonomously analyzes communication patterns, processes relationships, and generates application component mappings, eliminating the need for manual identification while maintaining high accuracy through iterative learning and validation.
Solution Approach 2:
The patent substitutes manual labor with automated computational systems including unsupervised machine-learning algorithms and rule-based systems. These automated systems continuously analyze system data, identify patterns, and update application component mappings without human intervention, dramatically reducing identification time while maintaining or improving accuracy compared to manual methods.
3Reliability
If existing management tools are used, then virtual machine and infrastructure resources can be monitored, but dynamic application components cannot be continuously tracked
Solution Approach 1:
The patent implements a universal application-discovery subsystem that can continuously track multiple distributed applications simultaneously, regardless of their dynamic nature. The system handles diverse application types and configurations through a unified approach, monitoring virtual machines, processes, and communication patterns across the entire infrastructure without requiring application-specific customization.
Solution Approach 2:
The patent introduces an intermediary discovery subsystem that sits between existing management tools and the distributed applications. This mediator continuously collects data from multiple sources including virtual machine metrics, process information, and communication patterns, then synthesizes this data into coherent application component models, enabling continuous tracking without overwhelming system complexity.
4Ease of operation
If application-level management tools are developed, then intuitive monitoring can be provided, but the underlying complexity of identifying computational resources remains
Solution Approach 1:
The patent replaces difficult manual identification processes with automated machine-learning algorithms and rule-based systems that handle the complexity of mapping computational resources to application components. These automated systems analyze communication patterns, process relationships, and system metrics to automatically generate accurate mappings, hiding the underlying complexity from users while providing intuitive application-level management interfaces.
Solution Approach 2:
The patent introduces an intermediary application-discovery subsystem that acts as a bridge between complex infrastructure data and simple application-level management interfaces. This mediator handles the difficult task of identifying and mapping computational resources behind the scenes, then presents simplified application component information through intuitive interfaces, shielding users from underlying complexity.
Data Source
AI summary
The current document is directed to automated methods and systems that employ unsupervised-machine-learning approaches as well as rule-based systems to discover distributed applications within distributed-computing environments. These automated methods and systems provide a basis for higher-level distributed-application administration and management tools and subsystems that provide distributed-application-level user interfaces and operations. In one implementation, the currently disclosed methods and systems employ agents within virtual machines that execute routines and programs and that together comprise a distributed application to continuously furnish information about the virtual machines to a pipeline of stream processors that collect and filter the information to provide for periodic application-discovery. The stream processors generate data representations of the processes currently running on the virtual machines and data representations of the communications connections between the virtual machines. An application-discovery subsystem periodically employs these data representations, and additional data derived from them, to identify the different distributed applications running within a distributed-computing facility and to identify tiers of virtual-machine nodes within each identified distributed application. This, in turn, allows the application-discovery subsystem to generate sets of delta changes for the discovered applications after each periodic application discovery.


