Streaming Abstraction SDK for Smooth Protocol Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The implementation of smooth streaming technologies requires significant client-side development efforts due to intricate platform-specific details and complex protocol handling, which increases development time and complexity for developers.

Innovation Solution

A streaming abstraction system provides a consistent client software development kit (SDK) that abstracts platform-specific intricacies and protocol handling, offering an intermediate layer for managing smooth streaming protocol interactions and providing advanced features like advertising, analytics, and error handling, allowing developers to focus on application features while the system handles common interactions with the smooth streaming server and client platform runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If smooth streaming protocol handling is implemented directly by developers, then protocol functionality is achieved, but development time and complexity increase significantly

Engineering Contradiction:
Improveprotocol handling capabilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a streaming abstraction layer that acts as an intermediary between the smooth streaming protocol and the application developer. This abstraction layer handles all protocol-specific operations including manifest parsing, chunk assembly, codec synchronization, and adaptive bitrate selection, allowing developers to work with simplified APIs while the intermediary manages the complex protocol details underneath.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If smooth streaming protocol handling is implemented directly by developers, then protocol functionality is achieved, but client-side work and complexity increase

Engineering Contradiction:
Improveprotocol handling capabilityVSAvoidclient-side complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The streaming abstraction layer serves as a mediator that encapsulates all complex protocol handling logic. It manages manifest files, chunk assembly, codec synchronization, and adaptive streaming heuristics internally, exposing only simple playback control interfaces to developers. This reduces client-side complexity by hiding the intricate protocol details behind a clean abstraction boundary.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the smooth streaming system into distinct functional layers: the protocol abstraction layer handles manifest parsing and chunk management, the playback layer handles decoding and rendering, and the application layer handles user interface logic. This segmentation allows each layer to be developed and maintained independently, reducing overall system complexity for developers.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If each developer writes their own smooth streaming client, then platform-specific requirements are met, but development effort multiplies

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The streaming abstraction layer is designed as a universal component that can be integrated across multiple platforms and application types. It provides a single, consistent API for smooth streaming functionality that works across different runtime environments, eliminating the need for each developer to write platform-specific smooth streaming clients while maintaining broad compatibility.

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

Data Source

PatentUS8555163B2Smooth streaming client component
Publication Date: 2013.10.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8555163B2 patent drawing
  • US8555163B2 patent drawing
  • US8555163B2 patent drawing

AI summary

A streaming abstraction system is described herein that provides application developers a client software development kit (SDK) on top of which to build smooth streaming solutions. The system reduces development time considerably and abstracts platform specific intricacies and protocol handling on the client. In addition, the streaming abstraction system makes it possible to monetize streaming content with advanced features like advertising and analytics and provides advanced capabilities like multiple camera angles, diagnostics, and error handling. In some embodiments, the streaming abstraction system provides an intermediate layer that operates between an application and an underlying client media platform. The intermediate layer manages smooth streaming protocol handling as well as interactions with the platform-specific runtime.