Cloud Service Dependency Data Model Hierarchy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of deploying cloud-hosted services, particularly those with microservices architecture, is increased due to the need for individual configuration and dependency management of each microservice, leading to higher costs and reduced application availability and reliability.

Innovation Solution

A dependency data model hierarchy is used to centralize configuration and dependency information, allowing for agile deployment across different regions by defining how components interact and inherit configurations, with a repository providing configuration parameters to be filled by users or automated systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If microservices architecture is adopted to improve application scalability and flexibility, then application features can be released or updated without re-deploying the entire application, but deployment complexity increases significantly due to individual configuration and dependency management of each microservice

Engineering Contradiction:
Improveapplication scalabilityVSAvoiddeployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the monolithic application into multiple independent microservices, each implementing a specific task. This segmentation allows individual services to be deployed, updated, and scaled independently, improving application flexibility and scalability while reducing the risk of entire application failures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a service mesh as an intermediary layer that manages communication, configuration, and dependency resolution between microservices. This intermediary handles the complexity of inter-service interactions, allowing individual services to remain simple while the system as a whole achieves sophisticated coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If each microservice is individually configured and managed, then application features can be updated independently, but the human and financial cost of maintaining the system increases significantly

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidmaintenance cost
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a universal configuration management system that handles configuration for all microservices through a centralized approach. This system provides multi-functional capabilities including configuration storage, validation, propagation, and version control, reducing the repetitive manual configuration work across multiple services.

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

Solution Approach 2:

The patent performs preliminary configuration validation and dependency resolution before deployment. Configuration templates and schemas are established in advance, and the system automatically validates configurations and resolves dependencies prior to actual deployment, preventing errors and reducing iterative maintenance work.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If ad-hoc techniques are used for configuring and deploying microservices (spreadsheets, code comments), then implementation is simple, but application availability and reliability are significantly reduced

Engineering Contradiction:
Improveconfiguration simplicityVSAvoidapplication availability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements self-service configuration through automated configuration generation and propagation systems. The system automatically generates configurations from templates, validates them against schemas, propagates them to appropriate services, and manages version control, eliminating the need for manual ad-hoc configuration while maintaining simplicity through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms that automatically detect configuration errors, validation failures, and dependency issues before they affect production. The system provides real-time feedback on configuration status, alerts operators to potential problems, and enables rollback capabilities, significantly improving application reliability while maintaining ease of configuration.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11855844B2Cloud service component dependencies
Publication Date: 2023.12.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11855844B2 patent drawing
  • US11855844B2 patent drawing
  • US11855844B2 patent drawing

AI summary

Technologies are disclosed for improving the deployment of a cloud-hosted service. Before being deployed to a particular environment, a cloud-hosted service must be configured for that environment. Configuring a deployment includes determining which components to deploy, determining how to connect with external components, identifying onboarding procedures, etc. A dependency data model defines a hierarchy of components utilized by the cloud-hosted service. For each component in the hierarchy, configuration parameters define how to deploy that component. A list of configuration parameters that do not yet have values for a target environment may be generated and provided to a user. Values for these parameters may then be received. A configuration for the target environment is then generated based on the dependency data model and the received values. The dependency data model may inherit dependencies and configuration properties from ancestors in a hierarchy of dependency data models.