Runtime Software Version Routing for Multi-Tenant Cloud Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud-based computing systems face challenges in implementing beta testing for new software versions, as multiple customers share a common computing environment, making it difficult to dynamically route traffic to different software versions for testing and feedback purposes.

Innovation Solution

A computer system that dynamically maps traffic to different software versions at runtime by identifying tenants based on information in traffic packets or frames and injecting flags or bits into headers, allowing concurrent execution of multiple software versions and enabling feedback-driven release.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a new version of software is released to the entire customer base at the same time, then the software can be deployed quickly, but the testing quality and reliability are insufficient

Engineering Contradiction:
Improvesoftware deployment speedVSAvoidsoftware testing quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the customer base into different groups (beta testers, early adopters, general customers) and assigns different software versions to each segment. This allows simultaneous full-scale deployment while maintaining controlled testing through segmentation of the customer population.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically routes customer traffic to different software versions at runtime based on configuration. This dynamic routing enables flexible control over which customer group accesses which software version, allowing rapid deployment while maintaining testing quality through adaptable customer segmentation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If a new version of software is released to a selected subset of customers for beta testing, then the testing quality and reliability improve, but the deployment time and complexity increase

Engineering Contradiction:
Improvesoftware testing qualityVSAvoiddevelopment and testing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The dynamic runtime routing system allows beta testing configuration to be changed without code modifications or redeployment. Administrators can dynamically adjust which customers receive the beta version, enabling rapid iteration and feedback incorporation while maintaining testing quality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses configuration parameters (such as customer identifiers, hashing algorithms, or routing rules) to control software version distribution. By changing these parameters dynamically, the system can adjust beta testing participation without time-consuming code changes or full redeployment cycles.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If multiple different customers access a common computing environment with a common version of the software, then the system maintains simplicity and ease of operation, but it becomes difficult to implement beta testing with different software versions

Engineering Contradiction:
Improvesystem simplicityVSAvoidbeta testing capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer (routing mechanism or proxy) between customers and the software execution environment. This intermediary dynamically determines which software version to execute based on customer identity or configuration, maintaining a simple common computing environment while enabling versatile beta testing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The common computing environment is designed to be universal, supporting multiple software versions and customer types through a single infrastructure. The dynamic routing mechanism provides multi-functionality, allowing the same system to serve both stable production customers and beta testing customers without requiring separate environments.

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

Data Source

PatentUS12039326B2Cloud-based computer with runtime-mapped software versions
Publication Date: 2024.07.16 RUCKUS IP HOLDINGS LLC
  • US12039326B2 patent drawing
  • US12039326B2 patent drawing
  • US12039326B2 patent drawing

AI summary

A computer that dynamically maps traffic to different versions of software is described. During operation, the computer may receive first traffic from a first tenant and second traffic from a second tenant, where the first traffic and the second traffic are addressed to a common computing environment that supports multiple, different tenants. Then, the computer may identify the first tenant based at least in part on first information included in the first traffic, and may identify the second tenant based at least in part on second information included in the second traffic. Moreover, the computer may dynamically map the first traffic to a first version of software and the second traffic to a second version of the software, where the dynamic mapping occurs at runtime. Note that the computer may concurrently execute the first version of the software and the second version of the software.