Streaming Content Delivery via User-Agent Parsing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The diverse range of mobile devices, media players, and protocols complicates the delivery of streaming content, often resulting in undelivered content and a poor user experience due to the need for manual selection of appropriate media files and protocols.

Innovation Solution

A server determines the type of requesting device and selects the appropriate media file and protocol, providing a multi-bitrate playlist to ensure efficient streaming by parsing user-agent strings and offering a single URL for access to media content, thereby eliminating the need for users to manually select formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single media file format is provided for all devices, then the server complexity is reduced, but the compatibility with diverse mobile devices and protocols deteriorates

Engineering Contradiction:
Improveserver complexityVSAvoidcompatibility with diverse devices
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The server dynamically changes the media file parameters (format, protocol, bitrate) based on the client device characteristics detected through user-agent string parsing. This allows the same server to serve multiple device types by adapting the delivery parameters rather than maintaining separate servers for each device type.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The server performs preliminary device identification and format selection before delivering the media content. By parsing the user-agent string and determining the appropriate format in advance, the server prepares the correct media file ready for immediate delivery, eliminating the need for client-side format selection.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the server provides multiple media file formats, then the compatibility with diverse devices is improved, but the device complexity and user selection burden increases

Engineering Contradiction:
Improvecompatibility with diverse devicesVSAvoiduser selection burden
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The server autonomously performs the task of selecting the appropriate media format by parsing device information from the user-agent string. This self-service approach eliminates the need for users to manually select formats, as the system automatically matches the device capabilities with the appropriate media delivery format.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The user-agent string acts as an intermediary that carries device identification information from the client to the server. This intermediary enables the server to automatically determine device type and select the appropriate format without requiring direct user input or complex client-side decision logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If manual format selection is required, then the user has control over the media file, but the ease of operation and user experience deteriorates

Engineering Contradiction:
Improveuser experienceVSAvoidautomatic format selection
Core Design Contradiction:
Ease of operationVSExtent of automation

Solution Approach 1:

The system provides self-service by automatically detecting device characteristics and selecting the appropriate media format without user intervention. This automation enhances ease of operation as users simply need to access the media content through a single URL without any format selection steps.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The server performs preliminary device identification and format selection before the user requests media content. By determining the appropriate format in advance based on user-agent parsing, the system prepares everything needed for seamless delivery, eliminating any manual selection steps from the user experience.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If device-specific media files are provided, then the reliability of content delivery is improved, but the loss of time for format determination increases

Engineering Contradiction:
Improvecontent delivery successVSAvoidformat determination time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The server performs device identification and format determination as a preliminary step in the content delivery process, using the user-agent string already present in the initial request. This preliminary action ensures the correct format is selected before media delivery begins, maintaining reliability while minimizing additional time overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The user-agent string serves as an intermediary that provides device information immediately available in the HTTP request headers. By extracting device type from this pre-existing intermediary data, the server avoids time-consuming device detection methods while ensuring accurate format selection for reliable delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10237322B2Streaming content delivery system and method
Publication Date: 2019.03.19 TATA COMMUNICATIONS AMERICA INC
  • US10237322B2 patent drawing
  • US10237322B2 patent drawing
  • US10237322B2 patent drawing

AI summary

A method of providing media content from a server to a client device, by providing a URL which allows access to media content by client the device, receiving a request from the client device for the media content corresponding to the single URL; determining an operating system of the client device requesting the media content; selecting a delivery protocol to stream to the client device based on the determined operating system; and providing said client device a streaming media file based on the selected delivery protocol, wherein the determination of the operating system of the client device includes parsing a user-agent string of the client device making the request.