Hosted Code Media Container Unpacking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing plug-in/platform model for media playback requires platform updates to support new media container formats and is limited by proprietary protocols, restricting content provider flexibility and requiring hard-coded unpacking logic.

Innovation Solution

Decoupling media content container downloading and unpacking from media stream processing by allowing untrusted application code to perform these operations, enabling support for proprietary container formats and flexible protocols through an API-based interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the platform hard codes unpacking logic for media container formats, then the platform can reliably parse and extract media streams from known container formats, but the platform cannot support new container formats without requiring platform updates

Engineering Contradiction:
Improvesupport for new container formatsVSAvoidplatform update requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the container unpacking functionality from the platform core and places it in hosted application code. The platform no longer contains hard-coded unpacking logic for specific container formats; instead, it provides a generic interface that allows external application code to perform the unpacking. This resolves the contradiction by removing the need for platform updates while maintaining reliable media stream extraction.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary interface layer between the platform and the container unpacking process. This interface allows the platform to communicate unpacking requirements to hosted application code without the platform needing to know the specific container format details. The intermediary enables flexible support for new formats while keeping the platform architecture simple and stable.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the platform limits protocols and transport mechanisms to those it knows, then the platform maintains security and control, but content providers cannot use proprietary or alternative protocols for content delivery

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidplatform security control
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent extracts protocol handling capabilities from the platform core and places them in hosted application code. The platform provides a generic interface for content delivery while allowing external code to implement support for various protocols including proprietary ones. This enables protocol flexibility without compromising platform security, as the platform maintains control over the interface while the flexibility is provided by external code.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables hosted application code to self-configure and implement support for different protocols and transport mechanisms. The application code can independently handle protocol-specific logic while using the platform's generic interface for media playback. This allows content providers to use their preferred protocols while the platform maintains its security model through the standardized interface.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If the platform provides a plug-in model with security limitations, then untrusted hosted code can be executed with restricted actions, but the hosted code cannot perform certain operations required for flexible content delivery

Engineering Contradiction:
Improvehosted code functionalityVSAvoidsecurity restrictions
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent uses an intermediary interface that mediates between the security requirements of the platform and the functionality needs of hosted code. The interface allows hosted code to perform content delivery operations while the platform maintains security control through the standardized communication protocol. This resolves the contradiction by enabling necessary functionality without directly compromising security restrictions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10244022B2Media streams from containers processed by hosted code
Publication Date: 2019.03.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10244022B2 patent drawing
  • US10244022B2 patent drawing
  • US10244022B2 patent drawing

AI summary

Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.