Session Override Context Object for Parallel Streaming Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for building and testing multiple end-to-end experiences of a product in parallel, such as components or subsystems of a globally deployed video streaming platform, face challenges in isolating issues and attributing them to responsible components or subsystems, as they often require complex configuration changes, hardcoding accounts or device identifiers, and are not scalable or sustainable.

Innovation Solution

A system that allows users to create privileged sessions with session overrides, enabling users to select among multiple configurations and switch between them easily, without the need for redeployment or separate environments, by using a context object with a session override to access different services and experiences, such as those in different regions or time zones, within the same physical environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If service specific flags and environment variables are used to configure multiple experiences simultaneously, then parallel experimentation is enabled, but configuration complexity and difficulty of switching between configurations increases

Engineering Contradiction:
Improveability to run multiple experiences in parallelVSAvoidconfiguration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (session context object with override payload) between the client and the service configuration. This intermediary carries configuration instructions through the session, allowing multiple experiences to be configured simultaneously without increasing overall system complexity. The override payload acts as a mediator that transports configuration data between components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the configuration system into distinct components: global feature flags, service-specific flags, and session-level overrides. This segmentation allows each layer to handle specific configuration needs independently, reducing the complexity of managing all configurations simultaneously while enabling parallel experimentation.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If accounts or device identifiers are hard coded to use alternate configurations, then multiple experiences can be supported, but scalability deteriorates and the solution becomes non-maintainable

Engineering Contradiction:
Improvesupport for multiple experiencesVSAvoidscalability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent transforms the static, hard-coded configuration approach into a dynamic system where configuration data is passed through session context objects. The override payload can be dynamically generated, modified, and applied at runtime based on session requirements, enabling scalable support for multiple experiences without hardcoding.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the configuration parameters from fixed, hard-coded values to dynamic parameters that can be modified through the session override mechanism. This allows the system to adapt to different experiences by changing configuration parameters at runtime rather than requiring separate hard-coded paths for each experience.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If configurations are tied to runtime instances, then service deployment is simplified, but the ability to switch between configurations becomes difficult requiring code changes

Engineering Contradiction:
Improvedeployment simplicityVSAvoidconfiguration switching ease
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The patent implements a nested configuration structure where session-level overrides are nested within the global feature flag system. The override payload is nested within the session context object, which itself is nested within the larger configuration hierarchy. This nesting allows configurations to be tied to runtime instances for deployment simplicity while enabling easy switching through nested override mechanisms.

Inventive Principle:
Principle #7Nested doll (Nesting)

4Quantity of substance

If experiences are sequenced partially across different development stages, then resource reuse is improved, but friction and complexity of simultaneous usage increases

Engineering Contradiction:
Improveenvironment reuseVSAvoidprocess complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent makes the session context object and override payload universal components that can be used across all development stages and experience types. The same mechanism supports integration testing, quality assurance, and development experiences simultaneously, eliminating the need for separate processes for each stage and reducing overall process complexity.

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

Data Source

PatentUS20230283614A1Simultaneous, session level experimentation and experiences deployment
Publication Date: 2023.09.07 WARNERMEDIA DIRECT LLC
  • US20230283614A1 patent drawing
  • US20230283614A1 patent drawing
  • US20230283614A1 patent drawing

AI summary

The described technology is generally directed towards a system that facilitates interaction with an environment (e.g., a streaming service provider's platform) in a way that allows users with appropriate privileges simultaneous, privileged session-level experiences and experimental interactions with the environment's components. Via a session override, the technology allows a user associated with an authorized role to select among multiple, simultaneously available configurations to receive a different experience for a privileged session from that of any other general user. A privileged user can switch configurations as desired for different per-session experiences. A session context object can contain the override payload for sending to services that respect the override, which allows the desired client user experience in the environment