Staggered Timer Mechanism for Browser Throttling Compensation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content playback systems experience delays and disruptions due to browser throttling, leading to stuttering, pauses, and skipping of content, especially when the browser window is inactive, as they limit the number of timer events to conserve resources.

Innovation Solution

Modifying the content server code to start multiple timers in a staggered fashion, corresponding to the desired frame rate, to ensure continuous playback of audio or video content, regardless of the browser's active state, by implementing a content delivery mechanism that breaks content into chunks and using protocols like HTTP Live Streaming (HLS) or Real Time Messaging Protocol (RTMP).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the browser limits the number of timer events to conserve resources when the browsing window is inactive, then resource consumption is reduced, but content playback continuity is disrupted causing stuttering and pauses

Engineering Contradiction:
Improvebrowser resource consumptionVSAvoidcontent playback continuity
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-loading content chunks into a buffer before playback is needed. The content server divides content into multiple chunks and transmits them ahead of time, so that when the browser becomes active again, buffered content is available for continuous playback without interruption, thus resolving the contradiction between resource conservation during inactivity and playback continuity upon activation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies segmentation by dividing the content delivery process into discrete chunks that are transmitted separately. Each chunk can be buffered independently, allowing the system to manage resource consumption in manageable units while ensuring that sufficient content is pre-loaded to maintain playback continuity, thus resolving the contradiction between resource usage and playback reliability

Inventive Principle:
Principle #1Segmentation

2Productivity

If the browser throttles scripts running in inactive windows to conserve processing power, then processing efficiency is improved, but playback smoothness deteriorates causing skipping and disruptions

Engineering Contradiction:
Improvebrowser processing efficiencyVSAvoidplayback smoothness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by pre-processing and buffering content chunks on the server side before the browser needs to play them. This allows the browser to throttle script execution during inactive periods without impacting playback quality, as the content is already prepared and buffered, thus resolving the contradiction between processing efficiency and playback smoothness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary buffering mechanism between the content server and the browser player. This buffer acts as a mediator that decouples the server's content delivery from the browser's playback requirements, allowing the browser to throttle processing during inactivity while the buffer ensures smooth playback continues, thus resolving the contradiction between productivity and reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If content is transmitted in chunks using streaming protocols, then transmission efficiency is improved, but playback continuity is compromised when transmission delay exceeds playback speed

Engineering Contradiction:
Improvecontent transmission efficiencyVSAvoidplayback continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by transmitting multiple content chunks in advance and buffering them before playback begins. The content server sends chunks ahead of the playback schedule, building up a buffer that can sustain playback even when transmission delays occur, thus resolving the contradiction between transmission efficiency and playback continuity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements beforehand cushioning by pre-loading excess content into the buffer beyond what is immediately needed for playback. This creates a cushion or safety margin that protects against transmission delays, network variations, and processing bottlenecks, ensuring playback continuity is maintained even when transmission speed fluctuates, thus resolving the contradiction between transmission productivity and playback reliability

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10326704B2Enabling continuous content playback
Publication Date: 2019.06.18 AMAZON TECH INC
  • US10326704B2 patent drawing
  • US10326704B2 patent drawing
  • US10326704B2 patent drawing

AI summary

To provide the continuous playback of content, a content server may provide code to a requesting device that causes the requesting device to play streaming content delivered in chunks or other portions without disruption in playback. The requesting device may execute the code by a browser or other application, which may cause the requesting device to determine whether a data buffer is empty or nearly empty and request additional content from a streaming server if the data buffer is empty or nearly empty. The process may be repeated a number of times each second for the duration of the playback of the content in order to enable continuous playback of the content regardless of any throttling of the code execution or content playback attempted to be imposed by a browser or other application.