Session Override Context Object for Parallel Streaming Testing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
Data Source
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


