Multi-Pool Load Balancer for Seamless Version Transitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Load-balancing systems face challenges in managing the deployment of machines from a staged state to a production state while maintaining both production and staged machines behind a single virtual internet protocol (VIP) address, without disrupting service and optimizing resource utilization.

Innovation Solution

Implementing a multi-pool framework where a load balancer evaluates request characteristics against a policy to route traffic to either a production pool or a staged pool of machines, allowing for simultaneous deployment of different service versions and seamless transition between them.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple direct endpoints are exposed as a single virtual endpoint for load balancing, then service availability and resource utilization are improved, but managing deployment transitions from staged to production state becomes complex

Engineering Contradiction:
Improveservice availabilityVSAvoiddeployment management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the machine pool into distinct production and staged groups, each with separate endpoints that can be independently managed. The load balancer maintains separate endpoint lists for production machines and staged machines, allowing independent deployment transitions without affecting the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load balancer acts as an intermediary between clients and machine pools, managing the complexity of deployment transitions. It evaluates request characteristics against policies to determine whether to route to production or staged pools, abstracting away the complexity from the deployment process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If staged machines are used for testing before production deployment, then service reliability is improved, but the deployment process requires additional infrastructure and management overhead

Engineering Contradiction:
Improveservice reliabilityVSAvoidinfrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges production and staged machine pools behind a single virtual endpoint, allowing both environments to coexist and share infrastructure resources. This reduces overall infrastructure complexity while maintaining the reliability benefits of staged testing.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically routes requests between production and staged pools based on real-time conditions and policy evaluations. The load balancer can adaptively adjust traffic distribution, promoting staged machines to production status seamlessly when testing succeeds.

Inventive Principle:
Principle #15Dynamics

3Productivity

If production machines are reallocated after deployment completion, then resource utilization is optimized, but service continuity must be maintained during transition

Engineering Contradiction:
Improveresource utilizationVSAvoidservice continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary testing on staged machines before promoting them to production status. This preliminary validation ensures that transitions are safe and maintain service continuity, allowing confident reallocation of old production machines without risking service disruption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load balancer maintains continuous service availability during deployment transitions by keeping both production and staged pools active and reachable through the virtual endpoint. Traffic is seamlessly redirected as machines transition between states, ensuring uninterrupted service.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10191757B2Seamless address reassignment via multi-tenant linkage
Publication Date: 2019.01.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10191757B2 patent drawing
  • US10191757B2 patent drawing
  • US10191757B2 patent drawing

AI summary

The technology described herein manages the deployment of a group of machines from a staged state to a production state, while maintaining both the production and staged machines behind a single virtual internet protocol (VIP) address. The machines may be deployed within one or more data centers. Requests for service addressed to the VIP can be sent by a load balancer to machines within a staged pool or a production pool. The load balancer can evaluate characteristics of the request against a policy to determine whether to communicate the request to a machine in the first or second pool.