Self-Executable Activity Tree for Playlist Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional playlist execution engines are limited as they run externally and require frequent updates to manage sequential and parallel components, necessitating separate methods for each type of component and action, which complicates operations like seeking within video rendering applications.

Innovation Solution

A system that compiles a self-executable activity tree for each component in the playlist, parsing components to execute them in parallel or serially, and generating methods for actions like stop, run, pause, and seek, allowing synchronized operations within video rendering applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional playlist execution engines run externally and process each component separately, then the engine can manage playlist execution, but the engine requires frequent updates to incorporate new features and component types

Engineering Contradiction:
Improveability to execute new playlist featuresVSAvoidengine update frequency
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The playlist execution engine generates its own code dynamically based on the playlist structure. When a playlist is loaded, the engine automatically creates execution methods and activity trees for each component type (sequential containers, parallel containers, video segments, advertisements, etc.) without requiring external updates. This self-generating capability allows the engine to adapt to new playlist features immediately.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The engine transitions from a static, pre-programmed structure to a dynamic, self-generating structure. The code generation process creates runtime methods and activity trees that are specific to each playlist's component hierarchy, allowing the engine to adapt its behavior dynamically based on the actual playlist content rather than requiring updates for each new feature.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the playlist execution engine maintains separate methods for each component type and action, then it can handle diverse components, but the complexity of managing and updating these methods increases

Engineering Contradiction:
Improvesupport for multiple component typesVSAvoidmethod management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The engine implements a universal code generation framework that handles all component types (sequential containers, parallel containers, video segments, advertisements, banners, logos) through a single dynamic method generation process. The generateExecutionMethod function universally processes any component type by analyzing its hierarchy and generating appropriate execution logic, eliminating the need to maintain separate static methods for each component type.

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

Solution Approach 2:

The engine segments the playlist into hierarchical components (containers and media elements) and generates execution methods for each segment dynamically. This segmentation allows complex playlists to be broken down into manageable activity trees, where each component gets its own generated execution logic, simplifying the overall management of diverse components.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If seeking is performed on components running in parallel, then user control is improved, but synchronization of all parallel components to the same location becomes complex

Engineering Contradiction:
Improveuser seeking capabilityVSAvoidsynchronization complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The generated execution methods include synchronization feedback mechanisms that monitor the state of all parallel components during seeking operations. When a seek operation is initiated, the engine tracks the position changes across all parallel components and automatically adjusts their timing and playback state to maintain synchronization, providing user control while managing the complexity through automated feedback loops.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The engine introduces an intermediary synchronization layer between user seeking actions and parallel component execution. The generated activity trees include mediator functions that coordinate seek operations across multiple parallel components, translating a single user seek action into synchronized position adjustments for all components, thereby simplifying the interaction complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7996755B1Methods and apparatus for playlist execution engine
Publication Date: 2011.08.09 ADOBE INC
  • US7996755B1 patent drawing
  • US7996755B1 patent drawing
  • US7996755B1 patent drawing

AI summary

A system parses a playlist to extract at least one component within the playlist. The system compiles a self executable activity tree for at least one component. The self executable activity tree is capable of rendering at least one component within the playlist.