Single Thread Event Queue for Interactive Media
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Interactive media environments face challenges in managing real-time events due to limited processing power and resources, making it difficult to implement frame-accurate responses without overwhelming authors with thread management and synchronization issues.
Innovation Solution
All applications in the interactive media environment run on a single application thread, utilizing event queues to schedule workitems based on their begin and end times, ensuring that only committed workitems are processed, and new events are inserted at the end of the queue to maintain predictability and stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If real-time multithreaded programming is used to respond to users in real-time manner, then the responsiveness and frame-accuracy are improved, but the complexity of thread management and synchronization increases significantly
Solution Approach 1:
The patent merges multiple application threads into a single application thread that processes all events sequentially. This eliminates the complexity of thread management and synchronization while maintaining real-time responsiveness through a simplified single-threaded event queue architecture.
Solution Approach 2:
The patent segments the event processing into discrete work items that are queued and processed in order. Each work item represents a unit of work that can be processed independently, allowing the single thread to maintain frame-accurate timing without the overhead of multiple threads.
2Productivity
If multiple threads are used to process events simultaneously, then the processing power utilization is improved, but the synchronization issues and resource contention worsen
Solution Approach 1:
The patent combines multiple event processing threads into a single application thread, eliminating synchronization issues and resource contention. The single thread processes events sequentially in a predictable manner, ensuring reliability while maintaining adequate throughput for interactive media requirements.
3Manufacturing precision
If workitems are processed in strict chronological order, then the frame-accuracy and predictability are improved, but the responsiveness to high-priority events may be delayed
Solution Approach 1:
The patent uses begin time and end time markers on work items to pre-determine processing order. By marking work items with their intended execution window, the system ensures frame-accurate processing without needing to prioritize during execution, as the ordering is already established.
4Reliability
If all workitems are retained in the event queue, then the completeness of event handling is improved, but the memory consumption increases on resource-constrained devices
Solution Approach 1:
The patent implements automatic dropping of work items whose end times have been passed. This discards outdated events that are no longer relevant, freeing memory resources while maintaining completeness for all currently relevant events. One-shot events are preserved while repetitive events may be dropped if their time window has expired.
Data Source
AI summary
An arrangement is provided where all applications in an interactive media environment run on a single application thread in a media player. Event queues are utilized to schedule the application thread's processing of workitems corresponding to events that occur in the environment. Workitems include methods to be invoked when the workitem is processed and arguments for the method. Workitems further include a begin time and an end time and are ordered in the event queue first by begin time followed by the order in which they were inserted into the queue. The application thread marks workitems whose begin times corresponds to the current or previous time and then processes marked workitems from the queue in order. Such processing is committed so that once the application thread begins processing of a workitem it does not stop. Workitems are dropped from the event queue if their end times have been passed.


