Virtual Machine Ready State for Cloud Streaming Workloads

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

VSEngineering 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

Engineering Contradiction:
Improvestreaming application performanceVSAvoidresource allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

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

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

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidvirtual machine deployment time
Core Design Contradiction:
Loss of energyVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveresponse to workload changesVSAvoidvirtual machine management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9898324B2Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
Publication Date: 2018.02.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9898324B2 patent drawing
  • US9898324B2 patent drawing
  • US9898324B2 patent drawing

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.