Virtualization Service Domain Disaggregation for Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional server virtualization approaches face scalability limitations due to the overload of privileged virtual machines, which leads to diminished performance as demand for services increases, despite attempts to improve performance by adding resources.

Innovation Solution

The method involves disaggregating services among multiple service domains, maintaining a pool of partially initialized service domains, and selecting one to complete initialization and provide services to guest domains, with periodic replenishment to ensure availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If services are aggregated at the privileged virtual machine, then service availability is improved, but performance deteriorates due to overload

Engineering Contradiction:
Improveservice availabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments services from the privileged virtual machine by introducing unprivileged virtual machines that each provide specific services (networking, storage, graphics) to guest domains. This segmentation allows services to be distributed across multiple specialized virtual machines rather than consolidated in a single privileged machine, thereby improving performance while maintaining availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts service-providing functions from the privileged virtual machine and places them in separate unprivileged virtual machines. By taking out these service functions, the privileged machine is relieved of overload, improving its performance while services remain accessible to guest domains through the extracted service providers.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If additional processing or memory resources are added to the privileged virtual machine, then service capacity is improved, but scalability deteriorates due to diminishing returns

Engineering Contradiction:
Improveservice capacityVSAvoidscalability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

Instead of adding more resources to the privileged virtual machine, the patent segments service functions into separate unprivileged virtual machines. This allows linear scaling by adding more service-specific virtual machines as demand increases, avoiding the diminishing returns experienced when consolidating resources in a single machine.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If service domains are disaggregated among multiple domains, then scalability is improved, but system complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent employs a universal architecture where unprivileged virtual machines serve multiple purposes: they provide services to guest domains, can be dynamically created and destroyed, and can be allocated different resource configurations. This multi-functionality allows the system to achieve scalability through a standardized pattern rather than requiring complex customizations for each service scenario.

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

Data Source

PatentEP2992422B1Undifferentiated service domains
Publication Date: 2017.12.13 CITRIX SYSTEMS INC
  • EP2992422B1 patent drawingFigure 1
  • EP2992422B1 patent drawingFigure 2
  • EP2992422B1 patent drawingFigure 3

AI summary

Guest domains (virtual machines) may execute at a virtualization server. During execution, the guest domains may request various services to facilitate their operation. The virtualization server may disaggregate the services requested by the guest domains among various service domains. A service domain may be configured to provide one the services. The virtualization server may also maintain a pool of partially initialized service domains. When a guest domain requests a particular service, one of the partially initialized service domains may be selected from the pool, and the partially initialized service domain may complete initialization to become an initialized service domain. The initialized service domain may thus be configured to provide the service requested by a guest domain. The virtualization server may periodically replenish the pool of partially initialized service domains to ensure that a partially initialized service domain is available upon demand from one of the guest domains.