Time-Based Animation Scheduling for Resource-Constrained Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer animation technologies face challenges in maintaining real-time quality of service due to resource constraints on devices like smartphones and personal computers, especially when dealing with complex animations and interactive systems with uncertain resource demands.
Innovation Solution
A time-based scheduling approach for computational processes that allocates resources deterministically, ensuring computations are performed at specified times regardless of event triggers, allowing for efficient resource allocation and reduced variations in resource requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If event-driven scheduling is used to ensure computations have required data, then data dependency is satisfied, but frame rate deteriorates when computations take longer than expected
Solution Approach 1:
The patent inverts the traditional event-driven approach by using time-driven scheduling with speculative execution. Instead of waiting for data to be ready before starting computations, the system starts computations at predetermined times and speculatively executes them, then validates results. This inversion allows the system to maintain steady frame rates while still ensuring data correctness through validation mechanisms.
Solution Approach 2:
The patent applies preliminary action by pre-calculating and scheduling computations at predetermined times before the actual frame rendering. The system prepares computation schedules in advance based on expected data availability, allowing computations to execute at optimal times without waiting for actual data readiness events, thus maintaining consistent frame rates while ensuring data dependency is met through the scheduling structure.
2Reliability
If resources are allocated to meet maximum expected load, then quality of service is maintained, but resource utilization efficiency deteriorates
Solution Approach 1:
The patent applies dynamics by making resource allocation adaptive rather than static. The time-driven scheduler dynamically adjusts computation execution based on actual data availability and system state at each time step. Resources are allocated to computations that are due to execute at current time, and the system can scale resource usage up or down based on actual demand, maintaining quality of service while improving resource utilization efficiency compared to always allocating for maximum load.
3Reliability
If computations are scheduled based on data availability, then correctness is ensured, but timing predictability deteriorates
Solution Approach 1:
The patent uses feedback mechanisms to validate speculative computations. The system executes computations at predetermined times with speculative assumptions about data availability, then uses feedback validation to check if the assumptions were correct. If validation fails, the system corrects the computations using actual data when available. This feedback loop ensures computation correctness while maintaining timing predictability because the validation and correction happen within the scheduled time framework.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of scheduling and performing computations for generating an interactive computer-generated animation on behalf of a client device to achieve a desired quality of service includes generating a computational configuration of computations that, when performed, produce the computer-generated animation with the desired quality of service. The configuration includes an identification of a first computation that outputs first data, a first start time for the first computation, and a first end time, where the first computation is to end before the first end time. The configuration also includes an identification of a second computation that depends on the first data, and a second start time for the second computation. The first computation is performed in response to an occurrence of the first start time and the second computation is performed in response to an occurrence of the second start time.