Dynamic CPU Cycle Allocation for Video Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods struggle to dynamically allocate CPU cycles for multimedia processing tasks in virtual machines, especially in real-time video stream processing, due to the complexity of interactions between CPU, memory, and other resources, which is challenging for virtual machines with flexible hardware and software configurations.

Innovation Solution

Implement a dynamic CPU cycle allocation system that periodically assesses the complexity of digital video streams and adjusts CPU cycles for encoding modules, allowing for temporary or permanent reallocation based on current processing demands, optimizing CPU usage across multiple virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU cycles are statically allocated to encoding modules in virtual machines, then resource allocation is simple and stable, but CPU utilization is suboptimal when video complexity varies over time

Engineering Contradiction:
ImproveCPU utilizationVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic CPU cycle allocation by periodically assessing video stream complexity and adjusting CPU cycle distribution to encoding modules based on current processing demands. This transforms the static resource allocation into a dynamic system that adapts to varying video complexity, thereby improving CPU utilization without requiring complex manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms by continuously monitoring video complexity metrics and using this information to adjust CPU cycle allocation. The periodic assessment of video stream characteristics provides feedback that drives reallocation decisions, enabling the system to respond to changing processing requirements while maintaining manageable complexity through automated control loops.

Inventive Principle:
Principle #23Feedback

2Productivity

If CPU cycles are dynamically reallocated based on video complexity, then processing efficiency improves, but system complexity increases due to assessment and reallocation mechanisms

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidallocation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs periodic assessment of video stream complexity at predetermined intervals rather than continuous monitoring. This periodic action approach maintains processing efficiency by regularly updating CPU allocations based on current video characteristics while avoiding the excessive system complexity and overhead that would result from continuous real-time assessment and reallocation.

Inventive Principle:
Principle #19Periodic action

3Loss of energy

If fixed transponder capacity is allocated to each digital video service, then resource allocation is simple and guaranteed, but resource utilization is wasted when video complexity fluctuates

Engineering Contradiction:
Improveresource wasteVSAvoidresource flexibility
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent transforms fixed transponder capacity allocation into a dynamic system that periodically adjusts resource distribution based on video complexity assessments. This enables the system to adapt resource allocation to actual processing needs, reducing resource waste during low-complexity periods while maintaining the ability to guarantee minimum resources when required, thereby simultaneously improving resource utilization and maintaining adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11601650B2Dynamic allocation of virtual and/or physical resources vis-a-vis virtual machines in video stream processing
Publication Date: 2023.03.07 HARMONIC INC
  • US11601650B2 patent drawing
  • US11601650B2 patent drawing
  • US11601650B2 patent drawing

AI summary

Dynamically allocating virtual or physical CPU cycles for use in processing a video stream. Video complexity information for two or more digital video streams actively being processed by one or more video encoders is determined at periodic intervals. Video complexity information describes the complexity of digital video carried by the digital video streams across a bounded number of consecutive digital frames which includes digital frames not yet processed by the one or more video encoders. A determination is made as to whether a number of CPU cycles allocated for processing a particular digital video stream should be adjusted based on the determined video complexity information. The number of CPU cycles allocated for processing the particular digital video stream may be dynamically adjusted by changing an amount of CPU cycles allocated to a virtual machine in which the stream is processed or by processing the stream in a different virtual machine.