Runtime Experiment Control Service for Dynamic UI Configuration Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for experimenting with user interface configurations in online services require a new build and deployment of the service to change user interface configurations or experiment parameters, which is time-consuming and inefficient, especially when only minor adjustments are needed.

Innovation Solution

Implementing an experiment control service that allows online application services to dynamically select and switch between different user interface configurations in real-time based on experiment parameters, enabling runtime experimentation without the need for new builds or deployments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a new build and deployment is performed to change user interface configurations or experiment parameters, then the service can be updated with new configurations, but the process becomes time-consuming and inefficient

Engineering Contradiction:
Improveuser interface configuration accuracyVSAvoidexperimentation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system dynamically loads and switches between different user interface configurations at runtime without requiring service rebuilds or redeployments. The experiment control service can select from multiple pre-loaded configurations and switch between them based on experiment parameters, making the system adaptable and responsive to experimental needs in real-time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Multiple user interface configurations are pre-loaded into the deployment environment during the build process, but the specific configuration to be used is determined later at runtime. This allows the system to have all possible configurations ready in advance while deferring the selection decision to when the experiment actually needs to run, eliminating the need for time-consuming rebuilds.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple user interface configurations are coded and submitted to the build environment for experimentation, then runtime experimentation is enabled, but the build and deployment process becomes more complex and time-consuming

Engineering Contradiction:
Improveuser interface configuration flexibilityVSAvoidbuild and deployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system separates user interface configurations from the core service code, allowing configurations to be independently managed, loaded, and switched. Each configuration is treated as a separate, self-contained module that can be loaded into memory without affecting the core service, simplifying the build process while enabling multiple configurations to coexist.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An experiment control service acts as an intermediary between the deployed service and multiple user interface configurations. This mediator manages the loading, selection, and switching of configurations, shielding the core service from the complexity of handling multiple configurations and simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the ratio of users served different configurations needs to be changed during an experiment, then a new service instance with new parameters must be deployed, but this causes service interruption and loss of experimentation continuity

Engineering Contradiction:
Improveexperimentation speedVSAvoidservice continuity
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The experiment control service dynamically adjusts the ratio of users served different configurations at runtime without requiring service restarts or deployments. The system can modify experiment parameters on-the-fly, allowing researchers to change traffic distribution between configurations while the service continues to operate normally.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system maintains continuous service operation throughout the experimentation process. By loading all configurations in advance and using a runtime control service to manage switching and ratio adjustments, the system ensures that the service remains continuously available to users while experiments are conducted, eliminating interruptions caused by rebuilds or redeployments.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10063490B2Method and system of operating an online application service in a deployment environment to facilitate run-time experimentation with user interface configurations
Publication Date: 2018.08.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10063490B2 patent drawing
  • US10063490B2 patent drawing
  • US10063490B2 patent drawing

AI summary

Disclosed herein are systems, methods, and software for implementing runtime experiments with user interface configurations. In at least one implementation, an online application service receives access requests associated with various client applications attempting to access the online application service. In response to the access requests, the online application service communicates with an experiment control service to identify an experimental configuration in accordance with which to present a user interface to the online application service. The experiment control service selects the experimental configuration from various experimental configurations. The user interface is then presented in accordance with the experimental configuration identified for each of the client applications.