Virtual Machine Ready State for Cloud Streaming Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Streaming applications face inefficiencies due to varying workloads, leading to underutilization of resources during non-peak times and the need for constant hardware upgrades to meet peak demands, as traditional systems allocate resources permanently without flexibility.
Innovation Solution
A streams manager that monitors performance and automatically requests virtual machines from a cloud manager to provision additional resources during peak demand, modifying the flow graph to host application components in the cloud, and maintains virtual machines in a ready state for quick redeployment when no longer needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If permanent computer resources are allocated to assure streaming application performance during peak demand, then reliability is improved, but device complexity and resource utilization worsen due to idle resources during non-peak times
Solution Approach 1:
The system dynamically allocates virtual machine resources based on real-time workload monitoring. When workload exceeds thresholds, additional virtual machines are provisioned from the cloud; when workload decreases, virtual machines are deprovisioned. This dynamic approach replaces static permanent allocation with adaptive resource management.
Solution Approach 2:
The streaming application architecture is designed to operate across multiple environments - local host system and cloud-based virtual machines. The application can seamlessly migrate and scale across different physical infrastructures, making the system universally deployable and avoiding commitment to a single fixed hardware configuration.
2Loss of energy
If cloud virtual machines are deployed on-demand to meet peak demand, then resource utilization is improved, but loss of time increases due to the overhead of deploying new virtual machines
Solution Approach 1:
Virtual machine templates are pre-configured with the streaming application and its dependencies before deployment is needed. When scaling is required, these pre-configured templates can be rapidly instantiated rather than building virtual machines from scratch, significantly reducing deployment time while maintaining efficient resource utilization.
3Productivity
If virtual machines are quickly redeployed when no longer needed, then productivity is improved, but device complexity increases due to maintaining virtual machines in ready state
Solution Approach 1:
The system includes automated monitoring and management components that self-manage the virtual machine lifecycle. The monitoring component tracks workload metrics and automatically triggers provisioning or deprovisioning of virtual machines based on predefined thresholds, eliminating the need for manual intervention and reducing operational complexity.
Data Source
AI summary
A streams manager monitors performance of a streaming application, and when the performance needs to be improved, the streams manager automatically requests virtual machines from a cloud manager. The cloud manager provisions one or more virtual machines in a cloud with the specified streams infrastructure and streams application components. The streams manager then modifies the flow graph so one or more portions of the streaming application are hosted by the virtual machines in the cloud. When performance of the streaming application indicates a virtual machine is no longer needed, the virtual machine is maintained and placed in a ready state so it can be quickly used as needed in the future without the overhead of deploying a new virtual machine.


