Per Component Schedulers for Video Analysis Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing volume of video data from sources like stores and camera feeds poses challenges in efficient analysis, particularly due to bandwidth issues and the need for scalable, real-time processing solutions that can handle large-scale, distributed, and highly available platforms for tasks like object detection and recognition.

Innovation Solution

A web services provider offering video analysis as a service with a global, per-component scheduler, elastic infrastructure, and microservices approach for scalable video recognition capabilities, including object detection, tracking, and content moderation, utilizing pre-trained ML models and supporting both streaming and batch-oriented inputs with features like parallel processing and failure tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If video data is processed in real-time across large-scale distributed platforms, then analysis speed and responsiveness are improved, but bandwidth consumption and system complexity increase

Engineering Contradiction:
Improvevideo analysis speedVSAvoidbandwidth consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system segments video data processing into multiple distributed workers that independently process different portions of video streams. Each worker handles specific video segments or processing tasks, allowing parallel processing across the distributed platform while reducing individual bandwidth requirements and enabling scalable real-time analysis.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more processing components are added to handle increasing video volume, then analysis capability and throughput are improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvevideo analysis throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges scheduling functionality into a unified global scheduler that coordinates all processing components. This central scheduling mechanism consolidates the complexity of managing multiple workers, allowing them to be added dynamically without proportionally increasing coordination overhead. The global scheduler manages task distribution, load balancing, and resource allocation across all components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system implements dynamic scaling where processing workers can be added or removed based on workload demands. The global scheduler dynamically adjusts task distribution to available resources, enabling the system to handle varying video volumes efficiently without requiring fixed complex coordination structures for all possible component configurations.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If distributed processing is implemented to handle large video volumes, then scalability and processing capacity are improved, but coordination overhead and scheduling complexity increase

Engineering Contradiction:
ImprovescalabilityVSAvoidscheduling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The global scheduler implements universal scheduling logic that handles multiple types of processing tasks, worker coordination, resource allocation, and load balancing through a single unified mechanism. This multi-functional approach allows the same scheduling infrastructure to support scaling to any number of workers without requiring specialized coordination logic for each scenario.

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

Data Source

PatentUS11475921B1Per component schedulers making global scheduling decision
Publication Date: 2022.10.18 AMAZON TECH INC
  • US11475921B1 patent drawing
  • US11475921B1 patent drawing
  • US11475921B1 patent drawing

AI summary

Techniques for analyzing stored video upon a request are described. For example, a method of receiving a first application programming interface (API) request to analyze a stored video, the API request to include a location of the stored video and at least one analysis action to perform on the stored video; scheduling a job for the first API request using a global scheduler, the global scheduler to schedule, based at least in part on available bandwidth of processing components including a segmenter, a chunk processor, and a reducer, at least one job queue associated at least one of the processing components; accessing the location of the stored video to retrieve the stored video; segmenting the accessed video into chunks; processing each chunk with a chunk processor to perform the at least one analysis action, each chunk processor to utilize at least one machine learning model in performing the at least one analysis action; joining the results of the processing of each chunk to generate a final result; storing the final result; and providing the final result to a requestor in response to a second API request is described.