Primary Instance Selection for Horizontal Service Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software-defined data centers (SDDCs), managing and licensing applications across multiple clouds is complex, especially with traditional licensing models that require separate keys for each deployment, leading to increased costs and complexity in multi-cloud environments.

Innovation Solution

A method is introduced to select a primary instance of a horizontally scaled service in a public cloud, where the primary instance performs exclusive tasks like tracking task status, and secondary instances defer these tasks to the primary instance, preventing data corruption and race conditions, and a keyless entitlement system allows users to subscribe to features without traditional licensing keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple instances of a horizontally scaled service concurrently track task status in a database, then the service can handle more requests in parallel, but data corruption and race conditions occur

Engineering Contradiction:
Improveparallel request handlingVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a primary instance as an intermediary that mediates all database operations for task status tracking. Instead of multiple instances directly accessing the database concurrently, all write operations are routed through the primary instance, which serializes access and prevents race conditions while allowing secondary instances to continue handling requests in parallel

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The service instances are segmented into primary and secondary roles with distinct responsibilities. The primary instance handles exclusive database operations for task status tracking, while secondary instances focus on request processing. This segmentation separates the conflicting operations (concurrent request handling vs. exclusive database access) into different instances

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If traditional licensing models are used with separate license keys for each deployment, then licensing control is maintained, but complexity and costs increase in multi-cloud environments

Engineering Contradiction:
Improvemulti-cloud deployment flexibilityVSAvoidlicensing management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal licensing model where a single license key can be used across multiple cloud environments (on-premises data center, public cloud, hybrid cloud). The licensing system is designed to be cloud-agnostic, allowing the same license to function universally across different deployment locations without requiring separate keys for each cloud provider

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

Solution Approach 2:

The patent extracts the cloud provider-specific constraints from the licensing model. By removing the dependency on specific cloud environments from the license key validation process, the system allows licenses to be portable and transferable across different clouds, simplifying multi-cloud management while maintaining licensing control

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20240020143A1Selecting a primary task executor for horizontally scaled services
Publication Date: 2024.01.18 VMWARE INC
  • US20240020143A1 patent drawing
  • US20240020143A1 patent drawing
  • US20240020143A1 patent drawing

AI summary

An example method of selecting a primary instance of a horizontally scaled service executing in a public cloud, comprising: querying, by a first instance of a plurality of instances of the horizontally scaled service, a database for a value of an identifier of a primary instance, the primary instance configured to perform an exclusive task, each of the plurality of instances other than the primary instance configured to defer the exclusive task to the primary instance; setting, by the first instance, the value of the identifier of the primary instance to a first identifier of the first instance in response to the value of the identifier of the primary instance being unset in the database; and updating data associated with the identifier of the primary instance in the database, by the first instance while performing the exclusive task, to the exclusion of each other instance of the plurality of instances.